From c9d20bfd4774c9dc44f30a2a0e855f5b8d0a47d8 Mon Sep 17 00:00:00 2001 From: truebrain Date: Tue, 13 Jan 2009 01:51:39 +0000 Subject: (svn r15047) -Fix [NoAI]: AICONFIG_BOOLEAN (in AddSetting) doesn't require (or even allow) a min/max setting .. it is always 0/1 (Yexo) --- src/ai/ai_info.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3-70-g09d2