mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 08:41:16 +00:00
slowly making progress on SkateBoard::VTable0xcc (broken decomp)
This commit is contained in:
parent
ea68494d6a
commit
7ceaa6f819
@ -96,7 +96,7 @@ class LegoAnimationManager : public MxCore {
|
||||
void FUN_100629b0(MxU32, MxBool);
|
||||
void FUN_10063270(LegoROIList*, LegoAnimPresenter*);
|
||||
void FUN_10063780(LegoROIList* p_list);
|
||||
void FUN_10064670(MxBool);
|
||||
void FUN_10064670(undefined4);
|
||||
void FUN_10064740(MxBool);
|
||||
|
||||
static void configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig);
|
||||
|
||||
@ -68,18 +68,16 @@ void SkateBoard::VTable0xe4()
|
||||
ControlManager()->Unregister(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// FUNCTION: LEGO1 0x100100e0
|
||||
MxU32 SkateBoard::VTable0xcc()
|
||||
{
|
||||
Act1State* state = (Act1State*)GameState()->GetState("Act1State");
|
||||
Act1State* state = (Act1State*) GameState()->GetState("Act1State");
|
||||
if (FUN_1003ef60() && state->GetUnknown18() != 3) {
|
||||
return 1;
|
||||
}
|
||||
FUN_10015820(TRUE, 0);
|
||||
|
||||
((Isle*)GetWorld())->SetDestLocation(LegoGameState::Area::e_skateboard);
|
||||
((Isle*) GetWorld())->SetDestLocation(LegoGameState::Area::e_skateboard);
|
||||
TransitionManager()->StartTransition(MxTransitionManager::TransitionType::e_mosaic, 0x32, FALSE, TRUE);
|
||||
if (GameState()->GetActorId() != CurrentActor()->GetActorId()) {
|
||||
if (!CurrentActor()->IsA("SkateBoard")) {
|
||||
@ -93,9 +91,11 @@ MxU32 SkateBoard::VTable0xcc()
|
||||
}
|
||||
FUN_10010270(this->m_unk0x160);
|
||||
// TODO: If this is correct, then the signature of the AnimationManager calls are wrong.
|
||||
MxBool puVar11 = (MxBool) 0xf4;
|
||||
AnimationManager()->FUN_10064670(puVar11);
|
||||
AnimationManager()->FUN_10064670(puVar11);
|
||||
float data[3];
|
||||
Vector3 vec = Vector3(data);
|
||||
// MxBool puVar11 = (MxBool) 0xf4;
|
||||
AnimationManager()->FUN_10064670((int)&vec);
|
||||
AnimationManager()->FUN_10064670((int)&vec);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -124,9 +124,9 @@ void SkateBoard::FUN_10010270(undefined4 param_1)
|
||||
}
|
||||
if (pMVar3 = this->m_world->Find(*g_isleScript, IsleScript::c_SkatePizza_Bitmap)) {
|
||||
// I have no idea what this is. Need a call with vtable offset 0x54 and (likely) no argument.
|
||||
((LegoWorld*)pMVar3)->VTable0x54();
|
||||
|
||||
} else {
|
||||
((LegoWorld*) pMVar3)->VTable0x54();
|
||||
}
|
||||
else {
|
||||
if (this->m_unk0x160 != '\0') {
|
||||
NotificationManager()->Send(this, MxNotificationParam(c_notificationType0, NULL));
|
||||
}
|
||||
|
||||
@ -852,7 +852,7 @@ void LegoAnimationManager::FUN_10063aa0()
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10064670
|
||||
void LegoAnimationManager::FUN_10064670(MxBool)
|
||||
void LegoAnimationManager::FUN_10064670(undefined4)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
@ -82,11 +82,11 @@ class Matrix4 {
|
||||
} // vtable+0x30
|
||||
|
||||
// FUNCTION: LEGO1 0x100024a0
|
||||
virtual void SetTranslation(const float* p_x, const float* p_y, const float* p_z)
|
||||
virtual void SetTranslation(const float &p_x, const float &p_y, const float &p_z)
|
||||
{
|
||||
m_data[3][0] = *p_x;
|
||||
m_data[3][1] = *p_y;
|
||||
m_data[3][2] = *p_z;
|
||||
m_data[3][0] = p_x;
|
||||
m_data[3][1] = p_y;
|
||||
m_data[3][2] = p_z;
|
||||
} // vtable+0x34
|
||||
|
||||
// FUNCTION: LEGO1 0x100024d0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user