aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/indic8.c30
-rw-r--r--src/indic8.h2
-rw-r--r--src/irc.c1
3 files changed, 27 insertions, 6 deletions
diff --git a/src/indic8.c b/src/indic8.c
index efe4d88..0558a4d 100644
--- a/src/indic8.c
+++ b/src/indic8.c
@@ -1,7 +1,10 @@
/* "indicators" */
+#include <atari.h>
#include "addrs.h"
+extern char hz;
+
#define NET_TX_CHR 0x5c /* COLOR1 up-arrow */
#define NET_RX_CHR 0x5d /* COLOR1 down-arrow */
#define NET_ERR_CHR 0xe1 /* COLOR3 exclamation mark */
@@ -10,11 +13,16 @@
#define J_CHR 0x4a /* COLOR1 J */
#define P_CHR 0x50 /* COLOR1 P */
#define Q_CHR 0x51 /* COLOR1 Q */
-#define M_CHR 0xcd /* COLOR3 M */
+#define M_CHR 0x4d /* COLOR1 M */
#define CHAN_CHR 0x63 /* COLOR1 # */
char *ind_net_status; /* initialized in screen.c, scr_init() */
+static void ind_start_timer(void) {
+ // OS.cdtmv5 = hz * 3;
+ OS.cdtmv5 = 150;
+}
+
void ind_net_rx(void) {
*ind_net_status = NET_RX_CHR;
}
@@ -31,22 +39,32 @@ void ind_net_idle(void) {
*ind_net_status = NET_IDLE_CHR;
}
+static void ind_act(char c) {
+ ind_net_status[1] = c;
+ ind_start_timer();
+}
+
void ind_act_pm(void) {
- ind_net_status[1] = M_CHR;
+ ind_act(M_CHR);
}
void ind_act_chantext(void) {
- ind_net_status[1] = CHAN_CHR;
+ ind_act(CHAN_CHR);
}
void ind_act_join(void) {
- ind_net_status[1] = J_CHR;
+ ind_act(J_CHR);
}
void ind_act_part(void) {
- ind_net_status[1] = P_CHR;
+ ind_act(P_CHR);
}
void ind_act_quit(void) {
- ind_net_status[1] = Q_CHR;
+ ind_act(Q_CHR);
+}
+
+void ind_check_timer(void) {
+ if(!OS.cdtmv5)
+ ind_net_status[1] = 0;
}
diff --git a/src/indic8.h b/src/indic8.h
index 4600363..4a28d41 100644
--- a/src/indic8.h
+++ b/src/indic8.h
@@ -11,6 +11,8 @@ void ind_act_join(void);
void ind_act_part(void);
void ind_act_quit(void);
+void ind_check_timer(void);
+
/*
void ind_clear(void);
*/
diff --git a/src/irc.c b/src/irc.c
index 1b1e635..d34fe8d 100644
--- a/src/irc.c
+++ b/src/irc.c
@@ -965,6 +965,7 @@ static void keystroke(void) {
void irc_loop(void) {
hide_motd = conf->hide_motd;
while(1) {
+ ind_check_timer();
if(conf->atract_away) {
if(!irc_away && (OS.atract & 0x80)) {
irc_away = 1;