diff options
author | truebrain <truebrain@openttd.org> | 2009-01-13 01:51:39 +0000 |
---|---|---|
committer | truebrain <truebrain@openttd.org> | 2009-01-13 01:51:39 +0000 |
commit | 08591d864394d034f951348784a9f3bf8eb48cee (patch) | |
tree | fba61dfebcfbb1d44714c9bfb651077ef9ab9463 /src | |
parent | 75b8afc136f66bd1425cbc739a662e3bf13a85f4 (diff) | |
download | openttd-08591d864394d034f951348784a9f3bf8eb48cee.tar.xz |
(svn r15047) -Fix [NoAI]: AICONFIG_BOOLEAN (in AddSetting) doesn't require (or even allow) a min/max setting .. it is always 0/1 (Yexo)
Diffstat (limited to 'src')
-rw-r--r-- | src/ai/ai_info.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index 0b2539bba..9f9d6d5f3 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -206,6 +206,7 @@ SQInteger AIInfo::AddSetting(HSQUIRRELVM vm) { AIConfigItem config; memset(&config, 0, sizeof(config)); + config.max_value = 1; int items = 0; /* Read the table, and find all properties we care about */ @@ -277,9 +278,10 @@ SQInteger AIInfo::AddSetting(HSQUIRRELVM vm) sq_pop(vm, 1); /* Make sure all properties are defined */ - if (items != 0x1FF) { + uint mask = (config.flags & AICONFIG_BOOLEAN) ? 0x1F3 : 0x1FF; + if (items != mask) { char error[1024]; - snprintf(error, sizeof(error), "please define all properties of a setting"); + snprintf(error, sizeof(error), "please define all properties of a setting (min/max not allowed for booleans)"); this->engine->ThrowError(error); return SQ_ERROR; } |