From 04d47de5d68cccae617f31b55aebfc4de11252cb Mon Sep 17 00:00:00 2001 From: lolbot-iichan Date: Mon, 27 Aug 2018 01:02:17 +0300 Subject: WINTERMUTE: Add FoxTail item methods FoxTail have flexible cursor settings system that require things like toggling visability of inventory items. --- engines/wintermute/ad/ad_game.cpp | 13 +++++++++++++ engines/wintermute/ad/ad_item.cpp | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp index dff0216c10..a6730feecd 100644 --- a/engines/wintermute/ad/ad_game.cpp +++ b/engines/wintermute/ad/ad_game.cpp @@ -873,6 +873,19 @@ bool AdGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, return STATUS_OK; } +#ifdef ENABLE_FOXTAIL + ////////////////////////////////////////////////////////////////////////// + // [FoxTail] SetInventoryBoxHideSelected + // Used while changing cursor type at some included script + // Return value is never used + ////////////////////////////////////////////////////////////////////////// + else if (strcmp(name, "SetInventoryBoxHideSelected") == 0) { + stack->correctParams(1); + _inventoryBox->_hideSelected = stack->pop()->getBool(false); + stack->pushNULL(); + return STATUS_OK; + } +#endif else { return BaseGame::scCallMethod(script, stack, thisStack, name); diff --git a/engines/wintermute/ad/ad_item.cpp b/engines/wintermute/ad/ad_item.cpp index b414fbdadf..cebc6980d9 100644 --- a/engines/wintermute/ad/ad_item.cpp +++ b/engines/wintermute/ad/ad_item.cpp @@ -535,6 +535,23 @@ bool AdItem::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, return STATUS_OK; } +#ifdef ENABLE_FOXTAIL + ////////////////////////////////////////////////////////////////////////// + // [FoxTail] RemoveNormalCursor + // Used while changing cursor type at some included script + // Return value is never used + ////////////////////////////////////////////////////////////////////////// + else if (strcmp(name, "RemoveNormalCursor") == 0) { + stack->correctParams(0); + + delete _cursorNormal; + _cursorNormal = nullptr; + + stack->pushNULL(); + return STATUS_OK; + } +#endif + ////////////////////////////////////////////////////////////////////////// // GetNormalCursor ////////////////////////////////////////////////////////////////////////// @@ -584,6 +601,23 @@ bool AdItem::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, return STATUS_OK; } +#ifdef ENABLE_FOXTAIL + ////////////////////////////////////////////////////////////////////////// + // [FoxTail] RemoveHoverCursor + // Used while changing cursor type at some included script + // Return value is never used + ////////////////////////////////////////////////////////////////////////// + else if (strcmp(name, "RemoveHoverCursor") == 0) { + stack->correctParams(0); + + delete _cursorHover; + _cursorHover = nullptr; + + stack->pushNULL(); + return STATUS_OK; + } +#endif + ////////////////////////////////////////////////////////////////////////// // GetHoverCursor ////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3