mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r7631) -Fix (r1): some pointer arithmetic gave the number of entries instead of the number of bytes to move when removing the animated state from a tile. This caused desyncs between Little and Big Endian machines. Thanks to pv2b for helping me in locating the bug and to Darkvater for figuring out that the arithmetic returned the number of entries instead of bytes.
This commit is contained in:
parent
dcc88094ab
commit
5e1005c592
@ -324,7 +324,7 @@ void DeleteAnimatedTile(TileIndex tile)
|
||||
for (ti = _animated_tile_list; ti != endof(_animated_tile_list); ti++) {
|
||||
if (tile == *ti) {
|
||||
/* remove the hole */
|
||||
memmove(ti, ti + 1, endof(_animated_tile_list) - 1 - ti);
|
||||
memmove(ti, ti + 1, (lastof(_animated_tile_list) - ti) * sizeof(_animated_tile_list[0]));
|
||||
/* and clear last item */
|
||||
endof(_animated_tile_list)[-1] = 0;
|
||||
MarkTileDirtyByTile(tile);
|
||||
|
Loading…
Reference in New Issue
Block a user