Cube  Diff

Differences From Artifact [7cdeba7547]:

To Artifact [98a7979cee]:


249
250
251
252
253
254
255

256

257
258
259
260
261
262
263
249
250
251
252
253
254
255
256

257
258
259
260
261
262
263
264







+
-
+







			if (cn < 0 || cn >= clients.count ||
			    clients[cn].type == ST_EMPTY) {
				disconnect_client(sender, @"client num");
				return;
			}
			int size = msgsizelookup(type);
			assert(size != -1);
			for (int i = 0; i < size - 2; i++)
			loopi(size - 2) getint(&p);
				getint(&p);
			break;
		}

		case SV_SENDMAP: {
			sgetstr();
			int mapsize = getint(&p);
			sendmaps(sender, @(text), mapsize, p);
276
277
278
279
280
281
282

283

284
285
286
287
288
289
290
277
278
279
280
281
282
283
284

285
286
287
288
289
290
291
292







+
-
+








		default: {
			int size = msgsizelookup(type);
			if (size == -1) {
				disconnect_client(sender, @"tag type");
				return;
			}
			for (int i = 0; i < size - 1; i++)
			loopi(size - 1) getint(&p);
				getint(&p);
		}
		}
	}

	if (p > end) {
		disconnect_client(sender, @"end of packet");
		return;
542
543
544
545
546
547
548

549

550
551
552
553
554
555
556
544
545
546
547
548
549
550
551

552
553
554
555
556
557
558
559







+
-
+







		ENetAddress address = { ENET_HOST_ANY, CUBE_SERVER_PORT };
		if (ip.length > 0 &&
		    enet_address_set_host(&address, ip.UTF8String) < 0)
			printf("WARNING: server ip not resolved");
		serverhost = enet_host_create(&address, MAXCLIENTS, 0, uprate);
		if (!serverhost)
			fatal(@"could not create server host\n");
		for (int i = 0; i < MAXCLIENTS; i++)
		loopi(MAXCLIENTS) serverhost->peers[i].data = (void *)-1;
			serverhost->peers[i].data = (void *)-1;
	}

	resetserverifempty();

	// do not return, this becomes main loop
	if (isdedicated) {
#ifdef _WIN32