# HG changeset patch # User darkvater # Date 2004-08-10 14:33:37 # Node ID e0ae611b04b0cc139e811ce858104942b6d7e8b4 # Parent 9221be5739702b450ecb18537074ebd0dd1a4b22 (svn r4) -Fix [996025] _local_player fixes. Fixes wrong memory access (TrueLight) diff --git a/misc_gui.c b/misc_gui.c --- a/misc_gui.c +++ b/misc_gui.c @@ -135,16 +135,16 @@ static void Place_LandInfo(uint tile) lid.tile = tile; lid.town = ClosestTownFromTile(tile, _patches.dist_local_authority); - if (_local_player == 255) { - lid.costclear = 0; - } else { + if (_local_player >= MAX_PLAYERS) + p = DEREF_PLAYER(0); + else p = DEREF_PLAYER(_local_player); - old_money = p->money64; - p->money64 = p->player_money = 0x7fffffff; - lid.costclear = DoCommandByTile(tile, 0, 0, 0, CMD_LANDSCAPE_CLEAR); - p->money64 = old_money; - UpdatePlayerMoney32(p); - } + + old_money = p->money64; + p->money64 = p->player_money = 0x7fffffff; + lid.costclear = DoCommandByTile(tile, 0, 0, 0, CMD_LANDSCAPE_CLEAR); + p->money64 = old_money; + UpdatePlayerMoney32(p); GetAcceptedCargo(tile, &lid.ac); GetTileDesc(tile, &lid.td);