Cube  Diff

Differences From Artifact [9a3fdd3f13]:

To Artifact [34361918f4]:


16
17
18
19
20
21
22
23

24
25
26
27
28
29
30
16
17
18
19
20
21
22

23
24
25
26
27
28
29
30







-
+







		*p++ = n >> 8;
	} else {
		*p++ = 0x81;
		*p++ = n;
		*p++ = n >> 8;
		*p++ = n >> 16;
		*p++ = n >> 24;
	};
	}
}

int
getint(uchar *&p)
{
	int c = *((char *)p);
	p++;
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
85
86
87








88
89
90
91
92
93
94
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
85
86
87
88
89
90
91
92
93







-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+







-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+







		while (*t)
			putint(p, *t++);
		putint(p, 0);
	}
}

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",
	@"SP",
	@"DMSP",
	@"ffa/default",
	@"coopedit",
	@"ffa/duel",
	@"teamplay",
	@"instagib",
	@"instagib team",
	@"efficiency",
	@"efficiency team",
	@"insta arena",
	@"insta clan arena",
	@"tactics arena",
	@"tactics clan arena",
};

OFString *
modestr(int n)
{
	return (n >= -2 && n < 12) ? modenames[n + 2] : @"unknown";
}

char msgsizesl[] = // size inclusive message token, 0 for variable or
// size inclusive message token, 0 for variable or not-checked sizes
                   // 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,
        SV_CLIENTPING, 2, SV_GAMEMODE, 2, SV_TIMEUP, 2, SV_EDITENT, 10,
        SV_MAPRELOAD, 2, SV_ITEMACC, 2, SV_SENDMAP, 0, SV_RECVMAP, 1,
        SV_SERVMSG, 0, SV_ITEMLIST, 0, SV_EXT, 0, -1};
char msgsizesl[] = { 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, SV_CLIENTPING, 2, SV_GAMEMODE, 2,
	SV_TIMEUP, 2, SV_EDITENT, 10, SV_MAPRELOAD, 2, SV_ITEMACC, 2,
	SV_SENDMAP, 0, SV_RECVMAP, 1, SV_SERVMSG, 0, SV_ITEMLIST, 0, SV_EXT, 0,
	-1 };

char
msgsizelookup(int msg)
{
	for (char *p = msgsizesl; *p >= 0; p += 2)
		if (*p == msg)
			return p[1];
183
184
185
186
187
188
189
190
191


192
193
194
195
196
197
198
182
183
184
185
186
187
188


189
190
191
192
193
194
195
196
197







-
-
+
+







				passwd = a;
				break;
			case 'c':
				maxcl = atoi(a);
				break;
			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);
	return 0;
}
#endif