From 0181327f2d84f8f3a04a450559046fb8374a0b2b Mon Sep 17 00:00:00 2001 From: tron Date: Fri, 30 Sep 2005 08:57:12 +0000 Subject: [PATCH] (svn r2999) Do not pass if the HQ gets built for the first time or gets relocated as parameter - the command function has to check this anyway --- player_gui.c | 4 +--- unmovable_cmd.c | 14 +++----------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/player_gui.c b/player_gui.c index 5d9918daef..e9867d2344 100644 --- a/player_gui.c +++ b/player_gui.c @@ -634,9 +634,7 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e) break; case WE_PLACE_OBJ: { - /* You cannot destroy a HQ, only relocate it. So build_HQ is called, just with different flags */ - TileIndex tile = GetPlayer(w->window_number)->location_of_house; - if (DoCommandP(e->place.tile, (tile == 0) ? 0 : 1 | w->window_number, 0, NULL, CMD_BUILD_COMPANY_HQ | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_7071_CAN_T_BUILD_COMPANY_HEADQUARTERS))) + if (DoCommandP(e->place.tile, 0, 0, NULL, CMD_BUILD_COMPANY_HQ | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_7071_CAN_T_BUILD_COMPANY_HEADQUARTERS))) ResetObjectToPlace(); break; } diff --git a/unmovable_cmd.c b/unmovable_cmd.c index 1df55d7645..2a5abe3cab 100644 --- a/unmovable_cmd.c +++ b/unmovable_cmd.c @@ -60,7 +60,7 @@ int32 DestroyCompanyHQ(TileIndex tile, uint32 flags) /** Build or relocate the HQ. This depends if the HQ is already built or not * @param x,y the coordinates where the HQ will be built or relocated to - * @param p1 relocate HQ (set to some value, usually 1 or true) + * @param p1 unused * @param p2 unused */ extern int32 CheckFlatLandBelow(TileIndex tile, uint w, uint h, uint flags, uint invalid_dirs, int *); @@ -75,18 +75,10 @@ int32 CmdBuildCompanyHQ(int x, int y, uint32 flags, uint32 p1, uint32 p2) cost = CheckFlatLandBelow(tile, 2, 2, flags, 0, NULL); if (CmdFailed(cost)) return CMD_ERROR; - if (p1) { /* Moving HQ */ - int32 ret; - - if (p->location_of_house == 0) return CMD_ERROR; - - ret = DestroyCompanyHQ(p->location_of_house, flags); - + if (p->location_of_house != 0) { /* Moving HQ */ + int32 ret = DestroyCompanyHQ(p->location_of_house, flags); if (CmdFailed(ret)) return CMD_ERROR; - cost += ret; - } else { /* Building new HQ */ - if (p->location_of_house != 0) return CMD_ERROR; } if (flags & DC_EXEC) {