summaryrefslogtreecommitdiff
path: root/src/goal.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2012-01-21 12:03:55 +0000
committerrubidium <rubidium@openttd.org>2012-01-21 12:03:55 +0000
commit9f162e7115031cb42f80db399d63774f479c4125 (patch)
tree42ece87142f91c22e55202c1bb4dcdd986554e56 /src/goal.cpp
parent70c7fbd90eb0ace75d759725ba4d0085283f152c (diff)
downloadopenttd-9f162e7115031cb42f80db399d63774f479c4125.tar.xz
(svn r23827) -Feature [FS#4992]: [NoGo] Allow to chose the goal question window's title from a (small) set of options
Diffstat (limited to 'src/goal.cpp')
-rw-r--r--src/goal.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/goal.cpp b/src/goal.cpp
index 5659af20f..cc28bce73 100644
--- a/src/goal.cpp
+++ b/src/goal.cpp
@@ -130,14 +130,17 @@ CommandCost CmdGoalQuestion(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
{
uint16 uniqueid = (GoalType)GB(p1, 0, 16);
CompanyID company = (CompanyID)GB(p1, 16, 8);
+ byte type = GB(p1, 24, 8);
if (_current_company != OWNER_DEITY) return CMD_ERROR;
if (StrEmpty(text)) return CMD_ERROR;
if (company != INVALID_COMPANY && !Company::IsValidID(company)) return CMD_ERROR;
if (CountBits(p2) < 1 || CountBits(p2) > 3) return CMD_ERROR;
+ if (p2 >= (1 << GOAL_QUESTION_BUTTON_COUNT)) return CMD_ERROR;
+ if (type >= GOAL_QUESTION_TYPE_COUNT) return CMD_ERROR;
if (flags & DC_EXEC) {
- if (company == _local_company || (company == INVALID_COMPANY && Company::IsValidID(_local_company))) ShowGoalQuestion(uniqueid, p2, text);
+ if (company == _local_company || (company == INVALID_COMPANY && Company::IsValidID(_local_company))) ShowGoalQuestion(uniqueid, type, p2, text);
}
return CommandCost();