From a1be306df70fa39ffbd3fee1055a104c86f44a30 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Tue, 14 May 2024 09:42:44 -0400 Subject: [PATCH] Implement/match LegoPathBoundary ctor/dtor (#919) * Implement/match LegoPathBoundary ctor/dtor * Add missing BETA annotation --- .../lego/legoomni/include/legopathboundary.h | 21 +++++++++++++++++++ .../legoomni/src/paths/legopathboundary.cpp | 14 +++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legopathboundary.h b/LEGO1/lego/legoomni/include/legopathboundary.h index 7d300feb..ba548d4f 100644 --- a/LEGO1/lego/legoomni/include/legopathboundary.h +++ b/LEGO1/lego/legoomni/include/legopathboundary.h @@ -98,6 +98,27 @@ class LegoPathBoundary : public LegoWEGEdge { // TEMPLATE: LEGO1 0x1004a7a0 // _Construct +// TEMPLATE: LEGO1 0x10056c20 +// _Tree >::_Kfn,LegoAnimPresenterSetCompare,allocator >::~_Tree >::_Kfn,LegoAnimPresenterSetCompare,allocator >::iterator::_Inc + +// TEMPLATE: LEGO1 0x10056d30 +// _Tree >::_Kfn,LegoAnimPresenterSetCompare,allocator >::erase + +// TEMPLATE: LEGO1 0x10057180 +// _Tree >::_Kfn,LegoAnimPresenterSetCompare,allocator >::_Erase + +// TEMPLATE: LEGO1 0x100571c0 +// set >::~set > + +// TEMPLATE: LEGO1 0x10057210 +// Set::~Set + +// TEMPLATE: LEGO1 0x100573e0 +// _Tree >::_Kfn,LegoPathActorSetCompare,allocator >::begin + // GLOBAL: LEGO1 0x100f11a4 // _Tree >::_Kfn,LegoPathActorSetCompare,allocator >::_Nil diff --git a/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp b/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp index 25df258f..0ed91f6f 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp @@ -5,19 +5,25 @@ DECOMP_SIZE_ASSERT(LegoPathBoundary, 0x74) -// STUB: LEGO1 0x10056a70 +// FUNCTION: LEGO1 0x10056a70 +// FUNCTION: BETA10 0x100b1360 LegoPathBoundary::LegoPathBoundary() { - // TODO } -// STUB: LEGO1 0x10057260 +// FUNCTION: LEGO1 0x10057260 +// FUNCTION: BETA10 0x100b140d LegoPathBoundary::~LegoPathBoundary() { - // TODO + for (LegoPathActorSet::iterator it = m_actors.begin(); !(it == m_actors.end()); it++) { + (*it)->SetBoundary(NULL); + } + + m_actors.erase(m_actors.begin(), m_actors.end()); } // FUNCTION: LEGO1 0x100573f0 +// FUNCTION: BETA10 0x100b1536 MxResult LegoPathBoundary::AddActor(LegoPathActor* p_actor) { m_actors.insert(p_actor);