(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
authortron
Fri, 30 Sep 2005 08:57:12 +0000
changeset 2473 bbc4e805214d
parent 2472 60c843b7ea28
child 2474 3242eca6d637
(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
unmovable_cmd.c
--- a/player_gui.c	Thu Sep 29 20:20:34 2005 +0000
+++ b/player_gui.c	Fri Sep 30 08:57:12 2005 +0000
@@ -634,9 +634,7 @@
 		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;
 	}
--- a/unmovable_cmd.c	Thu Sep 29 20:20:34 2005 +0000
+++ b/unmovable_cmd.c	Fri Sep 30 08:57:12 2005 +0000
@@ -60,7 +60,7 @@
 
 /** 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 @@
 	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) {