diff options
author | rubidium <rubidium@openttd.org> | 2006-12-11 12:37:57 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2006-12-11 12:37:57 +0000 |
commit | 8d2c82bc2af1c970a8d21757f237c4b0d1f76d52 (patch) | |
tree | 21f3834054dd0957e7d27b7d7fc5f153e35bf8bb | |
parent | c3d65805e7017361a668f6edf9bb62bdd59fd630 (diff) | |
download | openttd-8d2c82bc2af1c970a8d21757f237c4b0d1f76d52.tar.xz |
(svn r7477) -Fix (7451): Allocate(Industry|Town) get called twice when trying to build an industry/town via a command, thus incrementing the number of towns/industries twice when created via a command.
-rw-r--r-- | industry_cmd.c | 3 | ||||
-rw-r--r-- | town_cmd.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/industry_cmd.c b/industry_cmd.c index e360cad95..ccec97c55 100644 --- a/industry_cmd.c +++ b/industry_cmd.c @@ -1362,8 +1362,6 @@ static Industry *AllocateIndustry(void) if (IsValidIndustry(i)) continue; - _total_industries++; - memset(i, 0, sizeof(*i)); i->index = index; @@ -1380,6 +1378,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind uint32 r; int j; + _total_industries++; i->xy = tile; i->width = i->height = 0; i->type = type; diff --git a/town_cmd.c b/town_cmd.c index 98a563e89..99a821083 100644 --- a/town_cmd.c +++ b/town_cmd.c @@ -915,6 +915,7 @@ static void DoCreateTown(Town *t, TileIndex tile, uint32 townnameparts, uint siz i = t->index; memset(t, 0, sizeof(Town)); t->index = i; + _total_towns++; t->xy = tile; t->num_houses = 0; @@ -984,8 +985,6 @@ static Town *AllocateTown(void) if (!IsValidTown(t)) { TownID index = t->index; - _total_towns++; - memset(t, 0, sizeof(Town)); t->index = index; |