mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
implement LegoOmni::FindByEntityIdOrAtomId (#435)
* push changes * Match and add annotations * Fix annotations --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -28,6 +28,19 @@ public:
|
||||
}; // vtable+0x14
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d75b8
|
||||
// class MxListCursor<LegoWorld *>
|
||||
|
||||
// VTABLE: LEGO1 0x100d7588
|
||||
// class MxPtrListCursor<LegoWorld>
|
||||
|
||||
// VTABLE: LEGO1 0x100d75a0
|
||||
// SIZE 0x10
|
||||
class LegoWorldListCursor : public MxPtrListCursor<LegoWorld> {
|
||||
public:
|
||||
LegoWorldListCursor(LegoWorldList* p_list) : MxPtrListCursor<LegoWorld>(p_list){};
|
||||
};
|
||||
|
||||
// TEMPLATE: LEGO1 0x100598f0
|
||||
// MxCollection<LegoWorld *>::Compare
|
||||
|
||||
@@ -52,4 +65,16 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x10059be0
|
||||
// MxPtrList<LegoWorld>::`scalar deleting destructor'
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1003e870
|
||||
// LegoWorldListCursor::`scalar deleting destructor'
|
||||
|
||||
// FUNCTION: LEGO1 0x1003e8e0
|
||||
// MxPtrListCursor<LegoWorld>::~MxPtrListCursor<LegoWorld>
|
||||
|
||||
// FUNCTION: LEGO1 0x1003ea10
|
||||
// MxListCursor<LegoWorld *>::~MxListCursor<LegoWorld *>
|
||||
|
||||
// FUNCTION: LEGO1 0x1003ea60
|
||||
// LegoWorldListCursor::~LegoWorldListCursor
|
||||
|
||||
#endif // LEGOWORLDLIST_H
|
||||
|
@@ -23,6 +23,7 @@
|
||||
#include "mxtransitionmanager.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(LegoWorldList, 0x18);
|
||||
DECOMP_SIZE_ASSERT(LegoWorldListCursor, 0x10);
|
||||
|
||||
// GLOBAL: LEGO1 0x100f451c
|
||||
MxAtomId* g_copterScript = NULL;
|
||||
@@ -597,10 +598,20 @@ void LegoOmni::RemoveWorld(const MxAtomId&, MxLong)
|
||||
// TODO
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1005b0c0
|
||||
// FUNCTION: LEGO1 0x1005b0c0
|
||||
LegoEntity* LegoOmni::FindByEntityIdOrAtomId(const MxAtomId& p_atom, MxS32 p_entityid)
|
||||
{
|
||||
// TODO
|
||||
if (m_worldList) {
|
||||
LegoWorld* world;
|
||||
LegoWorldListCursor cursor(m_worldList);
|
||||
|
||||
while (cursor.Next(world)) {
|
||||
if ((p_entityid == -1 || world->GetEntityId() == p_entityid) &&
|
||||
(!p_atom.GetInternal() || world->GetAtom() == p_atom))
|
||||
return world;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user