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
71
72
73
74
75
76
77
78
79
80
81
|
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
-
-
+
+
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
|
} else if (c == -127) {
int n = *p++;
n |= *p++ << 8;
n |= *p++ << 16;
return n | (*p++ << 24);
} else
return c;
};
}
void
sendstring(const char *t, uchar *&p)
sendstring(OFString *t_, uchar *&p)
{
@autoreleasepool {
const char *t = t_.UTF8String;
while (*t)
putint(p, *t++);
putint(p, 0);
while (*t)
putint(p, *t++);
putint(p, 0);
};
const char *modenames[] = {
"SP",
"DMSP",
"ffa/default",
"coopedit",
"ffa/duel",
"teamplay",
"instagib",
"instagib team",
"efficiency",
"efficiency team",
"insta arena",
"insta clan arena",
"tactics arena",
"tactics clan arena",
}
}
static const OFString *modenames[] = {
@"SP",
@"DMSP",
@"ffa/default",
@"coopedit",
@"ffa/duel",
@"teamplay",
@"instagib",
@"instagib team",
@"efficiency",
@"efficiency team",
@"insta arena",
@"insta clan arena",
@"tactics arena",
@"tactics clan arena",
};
const char *
OFString *
modestr(int n)
{
return (n >= -2 && n < 12) ? modenames[n + 2] : "unknown";
return (n >= -2 && n < 12) ? modenames[n + 2] : @"unknown";
};
}
char msgsizesl[] = // size inclusive message token, 0 for variable or
// not-checked sizes
{SV_INITS2C, 4, SV_INITC2S, 0, SV_POS, 12, SV_TEXT, 0, SV_SOUND, 2, SV_CDIS,
2, SV_EDITH, 7, SV_EDITT, 7, SV_EDITS, 6, SV_EDITD, 6, SV_EDITE, 6,
SV_DIED, 2, SV_DAMAGE, 4, SV_SHOT, 8, SV_FRAGS, 2, SV_MAPCHANGE, 0,
SV_ITEMSPAWN, 2, SV_ITEMPICKUP, 3, SV_DENIED, 2, SV_PING, 2, SV_PONG, 2,
|
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
-
+
-
+
-
+
|
if (*p == msg)
return p[1];
return -1;
};
// sending of maps between clients
string copyname;
static OFString *copyname;
int copysize;
uchar *copydata = NULL;
void
sendmaps(int n, string mapname, int mapsize, uchar *mapdata)
sendmaps(int n, OFString *mapname, int mapsize, uchar *mapdata)
{
if (mapsize <= 0 || mapsize > 256 * 256)
return;
strcpy_s(copyname, mapname);
copyname = mapname;
copysize = mapsize;
if (copydata)
free(copydata);
copydata = (uchar *)alloc(mapsize);
memcpy(copydata, mapdata, mapsize);
}
|
185
186
187
188
189
190
191
192
193
194
195
|
188
189
190
191
192
193
194
195
196
197
198
|
-
+
|
default:
printf("WARNING: unknown commandline option\n");
};
};
if (enet_initialize() < 0)
fatal(@"Unable to initialise network module");
initserver(true, uprate, sdesc, ip, master, @(passwd), maxcl);
initserver(true, uprate, @(sdesc), @(ip), @(master), @(passwd), maxcl);
return 0;
}
#endif
|