(svn r1888) The landscape template sprites are ordinary sprites, treating them as non-sprites resulted in yet another endianess issue. This fixes the problem introduced in r1855
authortron
Fri, 18 Feb 2005 21:20:55 +0000
changeset 1384 06ef4fb5bb1a
parent 1383 ea1505a974f9
child 1385 324d3d06a930
(svn r1888) The landscape template sprites are ordinary sprites, treating them as non-sprites resulted in yet another endianess issue. This fixes the problem introduced in r1855
landscape.c
--- a/landscape.c	Fri Feb 18 08:49:04 2005 +0000
+++ b/landscape.c	Fri Feb 18 21:20:55 2005 +0000
@@ -474,12 +474,13 @@
 	uint y;
 	uint w;
 	uint h;
+	const Sprite* template;
 	const byte *p;
 	byte *tile;
 	byte direction;
 
 	r = Random();
-	p = GetNonSprite((((r >> 24) * _genterrain_tbl_1[type]) >> 8) + _genterrain_tbl_2[type] + 4845);
+	template = GetSprite((((r >> 24) * _genterrain_tbl_1[type]) >> 8) + _genterrain_tbl_2[type] + 4845);
 
 	x = r & MapMaxX();
 	y = (r >> MapLogX()) & MapMaxY();
@@ -490,13 +491,13 @@
 
 	direction = (r >> 22) & 3;
 	if (direction & 1) {
-		w = p[1];
-		h = p[2];
+		w = template->height;
+		h = template->width;
 	} else {
-		w = p[2];
-		h = p[1];
+		w = template->width;
+		h = template->height;
 	}
-	p += 8;
+	p = template->data;
 
 	if (flag & 4) {
 		uint xw = x * MapSizeY();