mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
Implement LegoWorldPresenter::VTable0x60 (#442)
* LegoWorldPresenter::VTable0x60 * Update infocenter.cpp * Minor adjustments --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "mxactionnotificationparam.h"
|
||||
#include "mxautolocker.h"
|
||||
#include "mxdsactionlist.h"
|
||||
#include "mxdsmediaaction.h"
|
||||
#include "mxdsmultiaction.h"
|
||||
#include "mxnotificationmanager.h"
|
||||
#include "mxobjectfactory.h"
|
||||
@@ -145,9 +146,27 @@ void LegoWorldPresenter::StartingTickle()
|
||||
ProgressTickleState(TickleState_Streaming);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10067a70
|
||||
// FUNCTION: LEGO1 0x10067a70
|
||||
void LegoWorldPresenter::VTable0x60(MxPresenter* p_presenter)
|
||||
{
|
||||
MxCompositePresenter::VTable0x60(p_presenter);
|
||||
MxDSAction* action = p_presenter->GetAction();
|
||||
|
||||
if (action->GetDuration() != -1 && (action->GetFlags() & MxDSAction::Flag_Looping) == 0) {
|
||||
if (!action->IsA("MxDSMediaAction")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (((MxDSMediaAction*) action)->GetSustainTime() != -1) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!p_presenter->IsA("LegoAnimPresenter") && !p_presenter->IsA("MxControlPresenter") &&
|
||||
!p_presenter->IsA("MxCompositePresenter")) {
|
||||
p_presenter->SendToCompositePresenter(Lego());
|
||||
((LegoWorld*) m_entity)->VTable0x58(p_presenter);
|
||||
}
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10067b00
|
||||
|
Reference in New Issue
Block a user