mirror of
https://github.com/isledecomp/isle.git
synced 2025-02-16 19:50:15 -05:00
Finish some missing methods (#448)
* Finish some missing methods * Minor style updates/fixes --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
240ca5570d
commit
b25239f22d
8 changed files with 66 additions and 8 deletions
|
@ -58,9 +58,7 @@ void LegoEntity::Destroy(MxBool p_fromDestructor)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
VideoManager()->Get3DManager()->GetLego3DView()->Remove(*m_roi);
|
VideoManager()->Get3DManager()->GetLego3DView()->Remove(*m_roi);
|
||||||
|
delete m_roi;
|
||||||
if (m_roi)
|
|
||||||
delete m_roi;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,11 +42,12 @@ public:
|
||||||
|
|
||||||
inline MxBool GetUnk0xc4() const { return m_unk0xc4; }
|
inline MxBool GetUnk0xc4() const { return m_unk0xc4; }
|
||||||
|
|
||||||
void FUN_100c7f40(MxDSStreamingAction* p_streamingaction);
|
|
||||||
void FUN_100c8670(MxDSStreamingAction* p_streamingAction);
|
|
||||||
void InsertToList74(MxDSBuffer* p_buffer);
|
|
||||||
void FUN_100c7cb0(MxDSStreamingAction* p_action);
|
|
||||||
MxResult FUN_100c7890(MxDSStreamingAction* p_action);
|
MxResult FUN_100c7890(MxDSStreamingAction* p_action);
|
||||||
|
void FUN_100c7cb0(MxDSStreamingAction* p_action);
|
||||||
|
void FUN_100c7f40(MxDSStreamingAction* p_streamingaction);
|
||||||
|
void FUN_100c8120(MxDSAction* p_action);
|
||||||
|
void InsertToList74(MxDSBuffer* p_buffer);
|
||||||
|
void FUN_100c8670(MxDSStreamingAction* p_streamingAction);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MxStreamListMxDSAction m_list0x64; // 0x64
|
MxStreamListMxDSAction m_list0x64; // 0x64
|
||||||
|
@ -87,4 +88,7 @@ private:
|
||||||
// TEMPLATE: LEGO1 0x100c74e0
|
// TEMPLATE: LEGO1 0x100c74e0
|
||||||
// List<MxDSBuffer *>::~List<MxDSBuffer *>
|
// List<MxDSBuffer *>::~List<MxDSBuffer *>
|
||||||
|
|
||||||
|
// TEMPLATE: LEGO1 0x100c7ef0
|
||||||
|
// list<MxNextActionDataStart *>::insert
|
||||||
|
|
||||||
#endif // MXDISKSTREAMCONTROLLER_H
|
#endif // MXDISKSTREAMCONTROLLER_H
|
||||||
|
|
|
@ -28,8 +28,13 @@ public:
|
||||||
return !strcmp(p_name, MxDSMediaAction::ClassName()) || MxDSAction::IsA(p_name);
|
return !strcmp(p_name, MxDSMediaAction::ClassName()) || MxDSAction::IsA(p_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SYNTHETIC: LEGO1 0x100c8cd0
|
||||||
|
// MxDSMediaAction::`scalar deleting destructor'
|
||||||
|
|
||||||
|
virtual undefined4 VTable0x14(); // vtable+14;
|
||||||
virtual MxU32 GetSizeOnDisk() override; // vtable+18;
|
virtual MxU32 GetSizeOnDisk() override; // vtable+18;
|
||||||
virtual void Deserialize(MxU8** p_source, MxS16 p_unk0x24) override; // vtable+1c;
|
virtual void Deserialize(MxU8** p_source, MxS16 p_unk0x24) override; // vtable+1c;
|
||||||
|
virtual MxDSAction* Clone() override; // vtable+2c;
|
||||||
|
|
||||||
void CopyMediaSrcPath(const char* p_mediaSrcPath);
|
void CopyMediaSrcPath(const char* p_mediaSrcPath);
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,15 @@ public:
|
||||||
return !strcmp(p_name, MxDSParallelAction::ClassName()) || MxDSMultiAction::IsA(p_name);
|
return !strcmp(p_name, MxDSParallelAction::ClassName()) || MxDSMultiAction::IsA(p_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SYNTHETIC: LEGO1 0x100cb020
|
||||||
|
// MxDSParallelAction::`scalar deleting destructor'
|
||||||
|
|
||||||
virtual MxLong GetDuration() override; // vtable+24;
|
virtual MxLong GetDuration() override; // vtable+24;
|
||||||
virtual MxDSAction* Clone() override; // vtable+2c;
|
|
||||||
|
// FUNCTION: LEGO1 0x100caef0
|
||||||
|
virtual void SetDuration(MxLong p_duration) override { m_duration = p_duration; } // vtable+0x28
|
||||||
|
|
||||||
|
virtual MxDSAction* Clone() override; // vtable+2c;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MXDSPARALLELACTION_H
|
#endif // MXDSPARALLELACTION_H
|
||||||
|
|
|
@ -100,6 +100,7 @@ public:
|
||||||
|
|
||||||
MxBool FUN_100b9b30(MxDSObject& p_dsObject);
|
MxBool FUN_100b9b30(MxDSObject& p_dsObject);
|
||||||
MxStreamController* GetOpenStream(const char* p_name);
|
MxStreamController* GetOpenStream(const char* p_name);
|
||||||
|
void FUN_100b98f0(MxDSAction* p_action);
|
||||||
MxResult AddStreamControllerToOpenList(MxStreamController* p_stream);
|
MxResult AddStreamControllerToOpenList(MxStreamController* p_stream);
|
||||||
MxResult FUN_100b99b0(MxDSAction* p_action);
|
MxResult FUN_100b99b0(MxDSAction* p_action);
|
||||||
MxResult DeleteObject(MxDSAction* p_dsAction);
|
MxResult DeleteObject(MxDSAction* p_dsAction);
|
||||||
|
|
|
@ -47,6 +47,17 @@ MxDSMediaAction& MxDSMediaAction::operator=(MxDSMediaAction& p_dsMediaAction)
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x100c8df0
|
||||||
|
MxDSAction* MxDSMediaAction::Clone()
|
||||||
|
{
|
||||||
|
MxDSMediaAction* clone = new MxDSMediaAction();
|
||||||
|
|
||||||
|
if (clone)
|
||||||
|
*clone = *this;
|
||||||
|
|
||||||
|
return clone;
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100c8e80
|
// FUNCTION: LEGO1 0x100c8e80
|
||||||
void MxDSMediaAction::CopyMediaSrcPath(const char* p_mediaSrcPath)
|
void MxDSMediaAction::CopyMediaSrcPath(const char* p_mediaSrcPath)
|
||||||
{
|
{
|
||||||
|
@ -64,6 +75,12 @@ void MxDSMediaAction::CopyMediaSrcPath(const char* p_mediaSrcPath)
|
||||||
this->m_mediaSrcPath = NULL;
|
this->m_mediaSrcPath = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x100c8f00
|
||||||
|
undefined4 MxDSMediaAction::VTable0x14()
|
||||||
|
{
|
||||||
|
return MxDSAction::VTable0x14();
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100c8f10
|
// FUNCTION: LEGO1 0x100c8f10
|
||||||
MxU32 MxDSMediaAction::GetSizeOnDisk()
|
MxU32 MxDSMediaAction::GetSizeOnDisk()
|
||||||
{
|
{
|
||||||
|
|
|
@ -301,6 +301,23 @@ MxResult MxDiskStreamController::VTable0x20(MxDSAction* p_action)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x100c8120
|
||||||
|
void MxDiskStreamController::FUN_100c8120(MxDSAction* p_action)
|
||||||
|
{
|
||||||
|
VTable0x30(p_action);
|
||||||
|
|
||||||
|
if (m_provider) {
|
||||||
|
m_provider->VTable0x20(p_action);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (TRUE) {
|
||||||
|
MxDSAction* found = m_unk0x54.Find(p_action, TRUE);
|
||||||
|
if (!found)
|
||||||
|
break;
|
||||||
|
delete found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100c8160
|
// FUNCTION: LEGO1 0x100c8160
|
||||||
MxResult MxDiskStreamController::VTable0x24(MxDSAction* p_action)
|
MxResult MxDiskStreamController::VTable0x24(MxDSAction* p_action)
|
||||||
{
|
{
|
||||||
|
|
|
@ -121,6 +121,15 @@ MxStreamController* MxStreamer::GetOpenStream(const char* p_name)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x100b98f0
|
||||||
|
void MxStreamer::FUN_100b98f0(MxDSAction* p_action)
|
||||||
|
{
|
||||||
|
MxStreamController* controller = GetOpenStream(p_action->GetAtomId().GetInternal());
|
||||||
|
if (controller && controller->IsA("MxDiskStreamController")) {
|
||||||
|
((MxDiskStreamController*) controller)->FUN_100c8120(p_action);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100b9930
|
// FUNCTION: LEGO1 0x100b9930
|
||||||
MxResult MxStreamer::AddStreamControllerToOpenList(MxStreamController* p_stream)
|
MxResult MxStreamer::AddStreamControllerToOpenList(MxStreamController* p_stream)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue