Add missing annotations, STUB LegoPathBoundary

This commit is contained in:
Christian Semmler 2024-03-26 13:37:08 -04:00
parent b781d1b6b8
commit 528d647b79
5 changed files with 20 additions and 7 deletions

View File

@ -9,11 +9,15 @@ struct LegoPathBoundaryComparator {
MxBool operator()(const undefined*, const undefined*) const { return 0; } MxBool operator()(const undefined*, const undefined*) const { return 0; }
}; };
// VTABLE: LEGO1 0x100d8618
// SIZE 0x74 // SIZE 0x74
class LegoPathBoundary : public LegoWEGEdge { class LegoPathBoundary : public LegoWEGEdge {
public: public:
LegoPathBoundary(); LegoPathBoundary();
// STUB: LEGO1 0x10047a80
// LegoPathBoundary::`scalar deleting destructor'
private: private:
map<undefined*, undefined*, LegoPathBoundaryComparator> m_unk0x54; // 0x54 map<undefined*, undefined*, LegoPathBoundaryComparator> m_unk0x54; // 0x54
map<undefined*, undefined*, LegoPathBoundaryComparator> m_unk0x64; // 0x64 map<undefined*, undefined*, LegoPathBoundaryComparator> m_unk0x64; // 0x64

View File

@ -136,6 +136,7 @@ MxResult LegoAnimActor::FUN_1001c360(float p_und, Matrix4& p_transform)
MxResult LegoAnimActor::FUN_1001c450(LegoAnim* p_animTreePtr, float p_unk0x00, LegoROI** p_roiMap, MxU32 p_numROIs) MxResult LegoAnimActor::FUN_1001c450(LegoAnim* p_animTreePtr, float p_unk0x00, LegoROI** p_roiMap, MxU32 p_numROIs)
{ {
LegoAnimActorStruct* laas = new LegoAnimActorStruct(p_unk0x00, p_animTreePtr, p_roiMap, p_numROIs); LegoAnimActorStruct* laas = new LegoAnimActorStruct(p_unk0x00, p_animTreePtr, p_roiMap, p_numROIs);
for (vector<LegoAnimActorStruct*>::iterator it = m_animMaps.begin(); it != m_animMaps.end(); it++) { for (vector<LegoAnimActorStruct*>::iterator it = m_animMaps.begin(); it != m_animMaps.end(); it++) {
if (p_unk0x00 < (*it)->m_unk0x00) { if (p_unk0x00 < (*it)->m_unk0x00) {
m_animMaps.insert(it, laas); m_animMaps.insert(it, laas);
@ -143,6 +144,7 @@ MxResult LegoAnimActor::FUN_1001c450(LegoAnim* p_animTreePtr, float p_unk0x00, L
return SUCCESS; return SUCCESS;
} }
} }
m_animMaps.push_back(laas); m_animMaps.push_back(laas);
SetWorldSpeed(m_worldSpeed); SetWorldSpeed(m_worldSpeed);
return SUCCESS; return SUCCESS;
@ -154,6 +156,7 @@ void LegoAnimActor::ClearMaps()
for (MxU32 i = 0; i < m_animMaps.size(); i++) { for (MxU32 i = 0; i < m_animMaps.size(); i++) {
delete m_animMaps[i]; delete m_animMaps[i];
} }
m_animMaps.clear(); m_animMaps.clear();
m_curAnim = -1; m_curAnim = -1;
} }
@ -189,19 +192,25 @@ void LegoAnimActor::SetWorldSpeed(MxFloat p_worldSpeed)
void LegoAnimActor::ParseAction(char* p_extra) void LegoAnimActor::ParseAction(char* p_extra)
{ {
LegoPathActor::ParseAction(p_extra); LegoPathActor::ParseAction(p_extra);
LegoWorld* world = CurrentWorld(); LegoWorld* world = CurrentWorld();
char value[0x100]; char value[256];
if (world) { if (world) {
if (KeyValueStringParse(value, g_strANIMATION, p_extra)) { if (KeyValueStringParse(value, g_strANIMATION, p_extra)) {
char* token = strtok(value, g_parseExtraTokens); char* token = strtok(value, g_parseExtraTokens);
while (token) { while (token) {
LegoAnimPresenter* p = (LegoAnimPresenter*) world->Find("LegoAnimPresenter", token); LegoAnimPresenter* presenter = (LegoAnimPresenter*) world->Find("LegoAnimPresenter", token);
if (p) {
if (presenter != NULL) {
token = strtok(NULL, g_parseExtraTokens); token = strtok(NULL, g_parseExtraTokens);
if (token) { if (token) {
p->FUN_1006d680(this, atof(token)); presenter->FUN_1006d680(this, atof(token));
} }
} }
token = strtok(NULL, g_parseExtraTokens); token = strtok(NULL, g_parseExtraTokens);
} }
} }

View File

@ -4,7 +4,7 @@
DECOMP_SIZE_ASSERT(LegoPathBoundary, 0x74) DECOMP_SIZE_ASSERT(LegoPathBoundary, 0x74)
// FUNCTION: LEGO1 0x10056a70 // STUB: LEGO1 0x10056a70
LegoPathBoundary::LegoPathBoundary() LegoPathBoundary::LegoPathBoundary()
{ {
} }

View File

@ -408,7 +408,7 @@ LegoResult LegoROI::FUN_100a8da0(LegoTreeNode* p_node, const Matrix4& p_matrix,
} }
// STUB: LEGO1 0x100a8e80 // STUB: LEGO1 0x100a8e80
void LegoROI::FUN_100a8e80(LegoTreeNode*, Matrix4&, LegoS32, LegoROI**) void LegoROI::FUN_100a8e80(LegoTreeNode*, Matrix4&, LegoTime, LegoROI**)
{ {
// TODO // TODO
} }

View File

@ -32,7 +32,7 @@ class LegoROI : public ViewROI {
); );
LegoROI* FUN_100a8ce0(const LegoChar* p_name, LegoROI* p_roi); LegoROI* FUN_100a8ce0(const LegoChar* p_name, LegoROI* p_roi);
LegoResult FUN_100a8da0(LegoTreeNode* p_node, const Matrix4& p_matrix, LegoTime p_time, LegoROI* p_roi); LegoResult FUN_100a8da0(LegoTreeNode* p_node, const Matrix4& p_matrix, LegoTime p_time, LegoROI* p_roi);
static void FUN_100a8e80(LegoTreeNode*, Matrix4&, LegoS32, LegoROI**); static void FUN_100a8e80(LegoTreeNode*, Matrix4&, LegoTime, LegoROI**);
LegoResult SetFrame(LegoAnim* p_anim, LegoTime p_time); LegoResult SetFrame(LegoAnim* p_anim, LegoTime p_time);
LegoResult FUN_100a9170(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha); LegoResult FUN_100a9170(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha);
LegoResult FUN_100a9210(LegoTextureInfo* p_textureInfo); LegoResult FUN_100a9210(LegoTextureInfo* p_textureInfo);