mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-26 09:38:14 -05:00
Implement/match MxOmni::ActionSourceEquals (#462)
This commit is contained in:
parent
ee7241f73d
commit
1c4f772a82
2 changed files with 19 additions and 6 deletions
|
@ -57,7 +57,7 @@ class MxOmni : public MxCore {
|
||||||
virtual MxBool IsTimerRunning() { return m_timerRunning; }; // vtable+40
|
virtual MxBool IsTimerRunning() { return m_timerRunning; }; // vtable+40
|
||||||
|
|
||||||
static void SetInstance(MxOmni* p_instance);
|
static void SetInstance(MxOmni* p_instance);
|
||||||
static MxBool FUN_100b06b0(MxDSAction* p_action, const char* p_name);
|
static MxBool ActionSourceEquals(MxDSAction* p_action, const char* p_name);
|
||||||
|
|
||||||
HWND GetWindowHandle() const { return this->m_windowHandle; }
|
HWND GetWindowHandle() const { return this->m_windowHandle; }
|
||||||
MxObjectFactory* GetObjectFactory() const { return this->m_objectFactory; }
|
MxObjectFactory* GetObjectFactory() const { return this->m_objectFactory; }
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include "mxactionnotificationparam.h"
|
#include "mxactionnotificationparam.h"
|
||||||
#include "mxatomidcounter.h"
|
#include "mxatomidcounter.h"
|
||||||
#include "mxautolocker.h"
|
#include "mxautolocker.h"
|
||||||
|
#include "mxdsmultiaction.h"
|
||||||
#include "mxeventmanager.h"
|
#include "mxeventmanager.h"
|
||||||
#include "mxmusicmanager.h"
|
#include "mxmusicmanager.h"
|
||||||
#include "mxnotificationmanager.h"
|
#include "mxnotificationmanager.h"
|
||||||
|
@ -377,11 +378,23 @@ void MxOmni::DestroyInstance()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100b06b0
|
// FUNCTION: LEGO1 0x100b06b0
|
||||||
MxBool MxOmni::FUN_100b06b0(MxDSAction* p_action, const char* p_name)
|
MxBool MxOmni::ActionSourceEquals(MxDSAction* p_action, const char* p_name)
|
||||||
{
|
{
|
||||||
// TODO
|
if (!strcmp(p_action->GetSourceName(), p_name))
|
||||||
return FAILURE;
|
return TRUE;
|
||||||
|
|
||||||
|
if (p_action->IsA("MxDSMultiAction")) {
|
||||||
|
MxDSActionListCursor cursor(((MxDSMultiAction*) p_action)->GetActionList());
|
||||||
|
MxDSAction* action;
|
||||||
|
|
||||||
|
while (cursor.Next(action)) {
|
||||||
|
if (ActionSourceEquals(action, p_name))
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100b07f0
|
// FUNCTION: LEGO1 0x100b07f0
|
||||||
|
@ -404,7 +417,7 @@ MxLong MxOmni::HandleActionEnd(MxParam& p_param)
|
||||||
if (controller != NULL) {
|
if (controller != NULL) {
|
||||||
action = controller->GetUnk0x54().Find(action, FALSE);
|
action = controller->GetUnk0x54().Find(action, FALSE);
|
||||||
if (action) {
|
if (action) {
|
||||||
if (FUN_100b06b0(action, "LegoLoopingAnimPresenter") == FALSE) {
|
if (ActionSourceEquals(action, "LegoLoopingAnimPresenter") == FALSE) {
|
||||||
delete controller->GetUnk0x54().Find(action, TRUE);
|
delete controller->GetUnk0x54().Find(action, TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue