mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(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
This commit is contained in:
parent
eff3252095
commit
b973ad1df9
13
landscape.c
13
landscape.c
@ -474,12 +474,13 @@ static void GenerateTerrain(int type, int flag)
|
||||
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 @@ static void GenerateTerrain(int type, int flag)
|
||||
|
||||
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();
|
||||
|
Loading…
Reference in New Issue
Block a user