# HG changeset patch # User glx # Date 2007-10-29 23:29:06 # Node ID a2c6f8da57ac9b04082aab87db4bb6127fb11c85 # Parent 7b5af263f275205c1f8a575798523647d0587547 (svn r11356) -Fix (r11305): funding industries in MP game was causing desync diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1570,7 +1570,7 @@ static Industry *CreateNewIndustryHelper * @param tile tile where industry is built * @param flags of operations to conduct * @param p1 industry type see build_industry.h and see industry.h - * @param p2 unused + * @param p2 first layout to try * @return index of the newly create industry, or CMD_ERROR if it failed */ CommandCost CmdBuildIndustry(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) @@ -1618,7 +1618,7 @@ CommandCost CmdBuildIndustry(TileIndex t } else { int count = indspec->num_table; const IndustryTileTable * const *itt = indspec->table; - int num = RandomRange(count); + int num = clamp(p2, 0, count - 1); _error_message = STR_0239_SITE_UNSUITABLE; do { diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -315,7 +315,7 @@ static void BuildDynamicIndustryWndProc( _ignore_restrictions = false; _generating_world = false; } else { - success = DoCommandP(e->we.place.tile, WP(w, fnd_d).select, 0, NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY)); + success = DoCommandP(e->we.place.tile, WP(w, fnd_d).select, InteractiveRandomRange(indsp->num_table), NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY)); } /* If an industry has been built, just reset the cursor and the system */