From d6961c024628c5d9c706e0842306a27846dc754f Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Sat, 10 Nov 2012 11:42:03 +0100 Subject: [PATCH] Issue #219: made all unimplemented filters return false --- apps/openmw/mwdialogue/dialoguemanagerimp.cpp | 2 +- apps/openmw/mwdialogue/filter.cpp | 4 ++++ apps/openmw/mwdialogue/selectwrapper.cpp | 3 ++- apps/openmw/mwdialogue/selectwrapper.hpp | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/openmw/mwdialogue/dialoguemanagerimp.cpp b/apps/openmw/mwdialogue/dialoguemanagerimp.cpp index 4cc3daf3f..a9e564078 100644 --- a/apps/openmw/mwdialogue/dialoguemanagerimp.cpp +++ b/apps/openmw/mwdialogue/dialoguemanagerimp.cpp @@ -168,7 +168,7 @@ namespace MWDialogue } } - return false; + return true; } bool DialogueManager::isMatching (const MWWorld::Ptr& actor, diff --git a/apps/openmw/mwdialogue/filter.cpp b/apps/openmw/mwdialogue/filter.cpp index 6ef13a9fa..10bcfd8aa 100644 --- a/apps/openmw/mwdialogue/filter.cpp +++ b/apps/openmw/mwdialogue/filter.cpp @@ -243,6 +243,10 @@ bool MWDialogue::Filter::getSelectStructBoolean (const SelectWrapper& select) co switch (select.getFunction()) { + case SelectWrapper::Function_False: + + return false; + case SelectWrapper::Function_Id: return select.getName()==toLower (MWWorld::Class::get (mActor).getId (mActor)); diff --git a/apps/openmw/mwdialogue/selectwrapper.cpp b/apps/openmw/mwdialogue/selectwrapper.cpp index 42626fd49..d70e88e8b 100644 --- a/apps/openmw/mwdialogue/selectwrapper.cpp +++ b/apps/openmw/mwdialogue/selectwrapper.cpp @@ -69,7 +69,7 @@ MWDialogue::SelectWrapper::Function MWDialogue::SelectWrapper::decodeFunction() case 67: case 68: case 69: case 70: return Function_AiSetting; } - return Function_None; + return Function_False; } MWDialogue::SelectWrapper::SelectWrapper (const ESM::DialInfo::SelectStruct& select) : mSelect (select) {} @@ -136,6 +136,7 @@ MWDialogue::SelectWrapper::Type MWDialogue::SelectWrapper::getType() const static const Function booleanFunctions[] = { + Function_False, Function_Id, Function_Faction, Function_Class, Function_Race, Function_Cell, Function_SameFaction, Function_PcCommonDisease, Function_PcBlightDisease, Function_PcCorprus, diff --git a/apps/openmw/mwdialogue/selectwrapper.hpp b/apps/openmw/mwdialogue/selectwrapper.hpp index ee5d29cca..3ff55eb61 100644 --- a/apps/openmw/mwdialogue/selectwrapper.hpp +++ b/apps/openmw/mwdialogue/selectwrapper.hpp @@ -13,7 +13,7 @@ namespace MWDialogue enum Function { - Function_None, + Function_None, Function_False, Function_Journal, Function_Item, Function_Dead,