Cube  Diff

Differences From Artifact [4981361189]:

To Artifact [04f91a12de]:


258
259
260
261
262
263
264
265

266
267

268
269

270
271
272
273
274
275
276
258
259
260
261
262
263
264

265
266

267
268

269
270
271
272
273
274
275
276







-
+

-
+

-
+







	if (!f) {
		conoutf(@"could not read map %s", cgzname);
		return;
	}
	gzread(f, &hdr, sizeof(header) - sizeof(int) * 16);
	endianswap(&hdr.version, sizeof(int), 4);
	if (strncmp(hdr.head, "CUBE", 4) != 0)
		fatal("while reading map: header malformatted");
		fatal(@"while reading map: header malformatted");
	if (hdr.version > MAPVERSION)
		fatal("this map requires a newer version of cube");
		fatal(@"this map requires a newer version of cube");
	if (sfactor < SMALLEST_FACTOR || sfactor > LARGEST_FACTOR)
		fatal("illegal map size");
		fatal(@"illegal map size");
	if (hdr.version >= 4) {
		gzread(f, &hdr.waterlevel, sizeof(int) * 16);
		endianswap(&hdr.waterlevel, sizeof(int), 16);
	} else {
		hdr.waterlevel = -100000;
	}
	ents.setsize(0);
325
326
327
328
329
330
331

332
333


334
335
336
337
338
339
340
325
326
327
328
329
330
331
332


333
334
335
336
337
338
339
340
341







+
-
-
+
+







			s->tag = 0;
			s->floor = 0;
			s->ceil = 16;
			break;
		}
		default: {
			if (type < 0 || type >= MAXTYPE) {
				OFString *t = [OFString
				sprintf_sd(t)("%d @ %d", type, k);
				fatal("while reading map: type out of range: ",
				    stringWithFormat:@"%d @ %d", type, k];
				fatal(@"while reading map: type out of range: ",
				    t);
			}
			s->type = type;
			s->floor = gzgetc(f);
			s->ceil = gzgetc(f);
			if (s->floor >= s->ceil)
				s->floor = s->ceil - 1; // for pre 12_13