Cube  Diff

Differences From Artifact [b2c8903da8]:

To Artifact [e5f6cbf888]:


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