blob: 33d7d314247cd314d835fca543e0320ad7077bfe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
/* "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 */
#define NET_IDLE_CHR 0 /* null (renders as a space) */
#define J_CHR 0x4a /* COLOR1 J */
#define P_CHR 0x50 /* COLOR1 P */
#define Q_CHR 0x51 /* COLOR1 Q */
#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) {
/* 3.7 sec is just what The_Doctor__ ordered! */
OS.cdtmv5 = (hz / 10) * 37;
}
void ind_net_rx(void) {
*ind_net_status = NET_RX_CHR;
}
void ind_net_tx(void) {
*ind_net_status = NET_TX_CHR;
}
void ind_net_down(void) {
*ind_net_status = NET_ERR_CHR;
}
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_act(M_CHR);
}
void ind_act_chantext(void) {
ind_act(CHAN_CHR);
}
void ind_act_join(void) {
ind_act(J_CHR);
}
void ind_act_part(void) {
ind_act(P_CHR);
}
void ind_act_quit(void) {
ind_act(Q_CHR);
}
void ind_check_timer(void) {
if(!OS.cdtmv5)
ind_net_status[1] = 0;
}
|