annotate pingstats.c @ 3:5a977ccbc7a9 default tip

Empty changelog
author darius
date Sat, 06 Dec 1997 05:41:29 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
1 /* $Id: pingstats.c,v 1.1.1.1 1997/12/06 05:41:29 darius Exp $ */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
2
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
3 /*
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
4 * pingstats.c (mostly taken from stats.c)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
5 */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
6 #include "copyright.h"
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
7
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
8 #include <stdio.h>
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
9 #include <math.h>
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
10 #include "Wlib.h"
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
11 #include "defs.h"
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
12 #include "struct.h"
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
13 #include "data.h"
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
14 #include "proto.h"
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
15
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
16 #define MIN(a,b) (((a) < (b)) ? (a) : (b))
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
17
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
18 #define BX_OFF() ((textWidth + 1) * W_Textwidth + S_IBORDER)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
19 #define BY_OFF(line) ((line) * (W_Textheight + S_IBORDER) + S_IBORDER)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
20 #define TX_OFF(len) ((textWidth - len) * W_Textwidth + S_IBORDER)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
21 #define TY_OFF(line) BY_OFF(line)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
22
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
23 /* right side labels */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
24 #define TEXT_WIDTH (5*W_Textwidth + 2*STAT_BORDER)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
25 #define STAT_WIDTH (260 + TEXT_WIDTH)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
26 #define STAT_HEIGHT BY_OFF(NUM_SLIDERS)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
27 #define STAT_BORDER 2
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
28 #define S_IBORDER 5
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
29 #define STAT_X 422
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
30 #define STAT_Y 13
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
31
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
32 #define SL_WID \
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
33 (STAT_WIDTH -TEXT_WIDTH - 2 * S_IBORDER - (textWidth + 1) * W_Textwidth)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
34 #define SL_HEI (W_Textheight)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
35
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
36 #define NUM_ELS(a) (sizeof (a) / sizeof (*(a)))
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
37 #define NUM_SLIDERS NUM_ELS(sliders)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
38
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
39 typedef struct slider {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
40 char *label;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
41 int min, max;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
42 int green, yellow;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
43 int label_length;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
44 int diff;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
45 int *var;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
46 int lastVal;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
47 } SLIDER;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
48
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
49 typedef struct record {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
50 int *data;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
51 int last_value;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
52 } RECORD;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
53
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
54 static SLIDER sliders[] = {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
55 {"round trip time", 0, 500, 100, 200},
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
56 {"average r.t. time", 0, 500, 100, 200},
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
57 {"lag (st. dev.)", 0, 100, 20, 50},
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
58 {"%pack in loss", 0, 50, 10, 20},
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
59 {"%pack out loss", 0, 50, 10, 20},
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
60 {"tot %pack loss in", 0, 50, 5, 10},
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
61 {"tot %pack loss out", 0, 50, 5, 10},
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
62 };
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
63
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
64 static int textWidth = 0;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
65 static int initialized = 0;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
66
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
67 /* prototypes */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
68 static void box P((int filled, int x, int y, int wid, int hei, W_Color color));
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
69 static void text P((int value, int y));
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
70
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
71 /* externals from ping.c (didn't feel like cluttering up data.c with them) */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
72 extern int ping_iloss_sc; /* inc % loss 0--100, server to client */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
73 extern int ping_iloss_cs; /* inc % loss 0--100, client to server */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
74 extern int ping_tloss_sc; /* total % loss 0--100, server to client */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
75 extern int ping_tloss_cs; /* total % loss 0--100, client to server */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
76 extern int ping_lag; /* delay in ms of last ping */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
77 extern int ping_av; /* average rt */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
78 extern int ping_sd; /* standard deviation */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
79
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
80 int
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
81 pStatsHeight()
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
82 {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
83 return STAT_HEIGHT;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
84 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
85
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
86 int
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
87 pStatsWidth()
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
88 {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
89 return STAT_WIDTH;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
90 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
91
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
92 void
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
93 initPStats()
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
94 {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
95 int i;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
96
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
97 if (initialized)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
98 return;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
99 initialized = 1;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
100 sliders[0].var = (int *) &ping_lag;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
101 sliders[1].var = (int *) &ping_av;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
102 sliders[2].var = (int *) &ping_sd;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
103 sliders[3].var = (int *) &ping_iloss_sc;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
104 sliders[4].var = (int *) &ping_iloss_cs;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
105 sliders[5].var = (int *) &ping_tloss_sc;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
106 sliders[6].var = (int *) &ping_tloss_cs;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
107
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
108 /* adjust */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
109 if (ping_av > 0) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
110 sliders[0].max = MAX(ping_av * 2, 200);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
111 sliders[1].max = MAX(ping_av * 2, 200);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
112 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
113 for (i = 0; i < NUM_SLIDERS; i++) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
114 sliders[i].label_length = strlen(sliders[i].label);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
115 textWidth = MAX(textWidth, sliders[i].label_length);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
116 sliders[i].diff = sliders[i].max - sliders[i].min;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
117 sliders[i].lastVal = 0;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
118 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
119 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
120
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
121 void
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
122 redrawPStats()
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
123 {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
124 int i;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
125
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
126 W_ClearWindow(pStats);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
127 initPStats();
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
128 for (i = 0; i < NUM_SLIDERS; i++) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
129 sliders[i].lastVal = 0;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
130 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
131 for (i = 0; i < NUM_SLIDERS; i++) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
132 W_WriteText(pStats, TX_OFF(sliders[i].label_length), TY_OFF(i),
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
133 textColor, sliders[i].label, sliders[i].label_length,
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
134 W_RegularFont);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
135 box(0, BX_OFF() - 1, BY_OFF(i) - 1, SL_WID + 2, SL_HEI + 2, borderColor);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
136 sliders[i].lastVal = 0;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
137 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
138 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
139
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
140 void
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
141 updatePStats()
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
142 {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
143 int i, value, diff, old_x, new_x;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
144 W_Color color;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
145 SLIDER *s;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
146
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
147 /* do the average and standard deviation calculations */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
148 initPStats();
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
149
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
150 for (i = 0; i < NUM_SLIDERS; i++) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
151 s = &sliders[i];
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
152 value = *(s->var);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
153 /* update decimal values at the right */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
154 text(*(s->var), BY_OFF(i));
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
155
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
156 if (value < s->min)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
157 value = s->min;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
158 else if (value > s->max)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
159 value = s->max;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
160 if (value == s->lastVal)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
161 continue;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
162 diff = value - s->lastVal;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
163 if (diff < 0) { /* bar decreasing */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
164 old_x = s->lastVal * SL_WID / s->diff;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
165 new_x = value * SL_WID / s->diff;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
166 box(1, BX_OFF() + new_x, BY_OFF(i), old_x - new_x, SL_HEI, backColor);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
167
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
168 if (s->lastVal > s->green && value <= s->green)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
169 box(1, BX_OFF(), BY_OFF(i), new_x, SL_HEI, gColor);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
170 else if (s->lastVal > s->yellow && value <= s->yellow)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
171 box(1, BX_OFF(), BY_OFF(i), new_x, SL_HEI, yColor);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
172 } else { /* bar increasing */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
173 if (s->lastVal <= s->yellow && value > s->yellow) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
174 color = rColor;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
175 s->lastVal = 0;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
176 } else if (s->lastVal <= s->green && value > s->green) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
177 color = yColor;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
178 s->lastVal = 0;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
179 } else if (value > s->yellow)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
180 color = rColor;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
181 else if (value > s->green)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
182 color = yColor;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
183 else
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
184 color = gColor;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
185
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
186 old_x = s->lastVal * SL_WID / s->diff;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
187 new_x = value * SL_WID / s->diff;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
188 box(1, BX_OFF() + old_x, BY_OFF(i), new_x - old_x, SL_HEI, color);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
189 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
190 s->lastVal = value;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
191 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
192 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
193
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
194 static
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
195 void
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
196 box(filled, x, y, wid, hei, color)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
197 int filled, x, y, wid, hei;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
198 W_Color color;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
199 {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
200 if (wid == 0)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
201 return;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
202
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
203 if (filled) {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
204 /* XFIX */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
205 W_FillArea(pStats, x, y, wid + 1, hei + 1, color);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
206 return;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
207 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
208 W_MakeLine(pStats, x, y, x + wid, y, color);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
209 W_MakeLine(pStats, x + wid, y, x + wid, y + hei, color);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
210 W_MakeLine(pStats, x + wid, y + hei, x, y + hei, color);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
211 W_MakeLine(pStats, x, y + hei, x, y, color);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
212 }
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
213
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
214 static
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
215 void
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
216 text(value, y)
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
217 int value, y;
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
218 {
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
219 char buf[6];
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
220 sprintf(buf, "(%3d)", value); /* fix */
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
221
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
222 W_WriteText(pStats, STAT_WIDTH - TEXT_WIDTH, y, textColor,
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
223 buf, 5, W_RegularFont);
5a977ccbc7a9 Empty changelog
darius
parents:
diff changeset
224 }