summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorglx <glx@openttd.org>2007-10-29 23:29:06 +0000
committerglx <glx@openttd.org>2007-10-29 23:29:06 +0000
commit3d150b623070d35db3cd9cb179118e207874b2e2 (patch)
tree6046645b9b68dded00d5d17f521b23ab307af06f
parent3722b834efb6969259ba22cc19b1651e7d40f6da (diff)
downloadopenttd-3d150b623070d35db3cd9cb179118e207874b2e2.tar.xz
(svn r11356) -Fix (r11305): funding industries in MP game was causing desync
-rw-r--r--src/industry_cmd.cpp4
-rw-r--r--src/industry_gui.cpp2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp
index edce756fc..a7067702b 100644
--- a/src/industry_cmd.cpp
+++ b/src/industry_cmd.cpp
@@ -1570,7 +1570,7 @@ static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, uint
* @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 tile, uint32 flags, uint32 p1, uint32 p2)
} 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
index ae317dff6..329b288eb 100644
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -315,7 +315,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
_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 */