From 5e6923e9369a5a531d9b64da45fcfcc91f7687de Mon Sep 17 00:00:00 2001 From: Darkvater Date: Wed, 11 May 2005 00:00:27 +0000 Subject: (svn r2290) - CodeChange: protect the next batch of commands. This brings us to a total of 61, which is 53% :) - CodeChange: To correctly accept engine-prototypes, the best-player checking has been moved to its own function, I hope it functions the same as before. - CodeChange: Added symbolic types of PlayerID, OrderID and EngineID. For engines also added GetEngine() and IsEngineIndex(), similar to the other such functions. - CodeChange: To correctly build industries, some tables have been moved to build_industry.h. The only way to find out currently if an industry is valid in a climate is by looping all industries and checking if it matches. Also to comply with the patch setting build_rawmaterial_industries, it is assumed that these industries do not accept any cargo of any type. This can and probably should changed in the future to some flag in their struct. Also use _opt_ptr instead of _opt. - CodeChange: implemented the HQ checking code inspired by MarkR2 in "[ 1190944 ] Many commands not checked for security". Unfortunately it is impossible to prevent only deleting a HQ by a modified client atm. - CodeChange: For insert order and modify order their parameters are implicitely truncated to 8 bits, instead of the 16 bits said in the comments. --- player_gui.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'player_gui.c') diff --git a/player_gui.c b/player_gui.c index fa5b94ca6..e527af1ec 100644 --- a/player_gui.c +++ b/player_gui.c @@ -626,9 +626,9 @@ 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 + /* You cannot destroy a HQ, only relocate it. So build_HQ is called, just with different flags */ TileIndex tile = DEREF_PLAYER(w->window_number)->location_of_house; - if (DoCommandP(e->place.tile, (tile == 0) ? 0 : (1 << 16) | 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, (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))) ResetObjectToPlace(); break; } -- cgit v1.2.3-54-g00ecf