mirror of
https://github.com/zeldaret/st
synced 2026-10-09 13:56:17 -04:00
Decompile overlay 102 (CourseExecLand) (#150)
* fix extra cflags not being used * decomp overlay 102 + mlck "ok" * fix build and match issues * type func_01fff350 param1 * add changes report (based on dtk-template) * docs * changes_fmt implicits * fix regressions * cleanup * ninja format * CourseExecLand.cpp -> UnkStruct_027e0ce0_40_102.cpp
This commit is contained in:
@@ -111,7 +111,7 @@ void Actor_Derived1::func_ov000_020a8e9c(VecFx32 *param1) {
|
||||
}
|
||||
|
||||
void Actor_Derived1::vfunc_B0() {
|
||||
if (data_027e09b8->func_01ffd420() == 0) {
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
ActorUnk_vfunc_B0 auStack_60;
|
||||
auStack_60.mpActor = this;
|
||||
auStack_60.mUnk_0C = this->mUnk_5C.mUnk_20;
|
||||
@@ -144,7 +144,7 @@ void Actor_Derived1::vfunc_94() {
|
||||
}
|
||||
|
||||
void Actor_Derived1::vfunc_60() {
|
||||
if (data_027e09b8->func_01ffd420() == 0) {
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
if (this->vfunc_64()) {
|
||||
this->vfunc_B0();
|
||||
this->func_ov000_020a9200();
|
||||
|
||||
@@ -30,7 +30,7 @@ MapObjectProfileMiniBlocks::MapObjectProfileMiniBlocks() :
|
||||
}
|
||||
|
||||
MapObjectMiniBlocks::MapObjectMiniBlocks() {
|
||||
this->mUnk_48 = 1;
|
||||
this->mUnk_40.mUnk_08 = 1;
|
||||
}
|
||||
|
||||
bool MapObjectMiniBlocks::vfunc_00(void) {
|
||||
|
||||
@@ -4,11 +4,10 @@
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a0.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
|
||||
#include <nitro/mi.h>
|
||||
|
||||
extern unk32 data_ov000_020b3000;
|
||||
|
||||
Inventory::Inventory() {
|
||||
this->mEquippedItem = ItemFlag_None;
|
||||
this->mForcedItem = ItemFlag_None;
|
||||
@@ -125,14 +124,9 @@ void Inventory::func_ov001_020bba54() {
|
||||
}
|
||||
|
||||
void Inventory::func_ov001_020bba6c() {
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
} uStack_18;
|
||||
uStack_18.ptr = &data_ov000_020b3000;
|
||||
uStack_18.actorId = ActorId_TearLight;
|
||||
|
||||
UnkStruct_ov000_020b3000 uStack_18(ActorId_TearLight);
|
||||
Actor **ppActor = gpActorManager->func_01fff350(&uStack_18, gpActorManager->mActorTable);
|
||||
|
||||
while (ppActor != gpActorManager->mUnk_08) {
|
||||
UNSET_FLAG((*ppActor)->mFlags, ActorFlag_Alive);
|
||||
(*ppActor)->func_ov000_020984f0();
|
||||
|
||||
@@ -8,18 +8,18 @@ UnkStruct_027e09bc *UnkStruct_027e09bc::Create() {
|
||||
}
|
||||
|
||||
UnkStruct_027e09bc::UnkStruct_027e09bc() {
|
||||
this->mUnk_04 = NULL;
|
||||
this->mUnk_08 = 0;
|
||||
this->mUnk_0C = NULL;
|
||||
this->mUnk_10 = NULL;
|
||||
this->mUnk_04[0] = NULL;
|
||||
this->mUnk_04[1] = NULL;
|
||||
this->mUnk_04[2] = NULL;
|
||||
this->mUnk_04[3] = NULL;
|
||||
this->mUnk_14[0] = NULL;
|
||||
this->mUnk_14[1] = NULL;
|
||||
this->mUnk_14[2] = NULL;
|
||||
this->mUnk_14[3] = NULL;
|
||||
|
||||
if (data_027e09a4->IsSceneModeAdventure()) {
|
||||
this->mUnk_0C = new(HeapIndex_1) UnkStruct_027e09bc_0C(0);
|
||||
this->mUnk_10 = new(HeapIndex_1) UnkStruct_027e09bc_0C(1);
|
||||
this->mUnk_04[2] = new(HeapIndex_1) UnkStruct_027e09bc_0C(0);
|
||||
this->mUnk_04[3] = new(HeapIndex_1) UnkStruct_027e09bc_0C(1);
|
||||
this->func_ov000_020771b8(0x00);
|
||||
this->func_ov000_020771b8(0x01);
|
||||
} else if (data_027e09a4->IsSceneModeBattle()) {
|
||||
@@ -27,20 +27,20 @@ UnkStruct_027e09bc::UnkStruct_027e09bc() {
|
||||
this->mUnk_14[1] = new(HeapIndex_1) UnkStruct_027e09bc_0C(1);
|
||||
this->mUnk_14[2] = new(HeapIndex_1) UnkStruct_027e09bc_0C(2);
|
||||
this->mUnk_14[3] = new(HeapIndex_1) UnkStruct_027e09bc_0C(3);
|
||||
this->mUnk_04 = this->mUnk_14[data_ov020_020e8544->vfunc_20()];
|
||||
this->mUnk_04[0] = this->mUnk_14[data_ov020_020e8544->vfunc_20()];
|
||||
}
|
||||
}
|
||||
|
||||
UnkStruct_027e09bc::~UnkStruct_027e09bc() {
|
||||
delete this->mUnk_0C;
|
||||
delete this->mUnk_10;
|
||||
delete this->mUnk_04[2];
|
||||
delete this->mUnk_04[3];
|
||||
delete this->mUnk_14[0];
|
||||
delete this->mUnk_14[1];
|
||||
delete this->mUnk_14[2];
|
||||
delete this->mUnk_14[3];
|
||||
|
||||
this->mUnk_0C = NULL;
|
||||
this->mUnk_10 = NULL;
|
||||
this->mUnk_04[2] = NULL;
|
||||
this->mUnk_04[3] = NULL;
|
||||
this->mUnk_14[0] = NULL;
|
||||
this->mUnk_14[1] = NULL;
|
||||
this->mUnk_14[2] = NULL;
|
||||
@@ -51,17 +51,17 @@ void UnkStruct_027e09bc::func_ov001_020bab5c() {
|
||||
switch ((s32) data_027e09a4->CurrentSceneIndex()) {
|
||||
case SceneIndex_b_sand:
|
||||
case SceneIndex_tekiya09:
|
||||
data_027e09bc->mUnk_10->mUnk_264 = 0x7B;
|
||||
data_027e09bc->mUnk_04[3]->mUnk_264 = 0x7B;
|
||||
break;
|
||||
case SceneIndex_b_last2:
|
||||
data_027e09bc->mUnk_10->mUnk_264 = 0x00;
|
||||
data_027e09bc->mUnk_04[3]->mUnk_264 = 0x00;
|
||||
break;
|
||||
case SceneIndex_b_last22:
|
||||
data_027e09bc->mUnk_10->mUnk_264 = 0x00;
|
||||
data_027e09bc->mUnk_04[3]->mUnk_264 = 0x00;
|
||||
break;
|
||||
default:
|
||||
if (data_027e09a4->IsSceneModeAdventure()) {
|
||||
data_027e09bc->mUnk_10->func_ov000_02078cec();
|
||||
data_027e09bc->mUnk_04[3]->func_ov000_02078cec();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -69,22 +69,22 @@ void UnkStruct_027e09bc::func_ov001_020bab5c() {
|
||||
|
||||
void UnkStruct_027e09bc::func_ov001_020babc8() {
|
||||
if (data_027e09a4->IsSceneModeAdventure()) {
|
||||
this->mUnk_0C->func_ov000_02078ba4();
|
||||
this->mUnk_10->func_ov000_02078ba4();
|
||||
this->mUnk_04[2]->func_ov000_02078ba4();
|
||||
this->mUnk_04[3]->func_ov000_02078ba4();
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e09bc::func_ov001_020babe8() {
|
||||
if (data_027e09a4->IsSceneModeAdventure()) {
|
||||
this->mUnk_0C->mUnk_280 = 0;
|
||||
this->mUnk_10->mUnk_280 = 0;
|
||||
this->mUnk_04[2]->mUnk_280 = 0;
|
||||
this->mUnk_04[3]->mUnk_280 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e09bc::func_ov001_020bac08() {
|
||||
if (data_027e09a4->IsSceneModeAdventure()) {
|
||||
this->mUnk_0C->mUnk_280 = 0;
|
||||
this->mUnk_10->mUnk_280 = 0;
|
||||
this->mUnk_04[2]->mUnk_280 = 0;
|
||||
this->mUnk_04[3]->mUnk_280 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
#include "Unknown/UnkStruct_ov024_020d8660.hpp"
|
||||
|
||||
#include <nitro/mi.h>
|
||||
@@ -11,8 +12,6 @@
|
||||
extern "C" bool func_ov000_0208e874(const u8 *, int, int, int);
|
||||
extern "C" const char *func_ov000_0208e830(int);
|
||||
|
||||
extern unk32 data_ov000_020b3000;
|
||||
|
||||
UnkStruct_027e0ce0_1C::UnkStruct_027e0ce0_1C() {
|
||||
this->mUnk_D4 = NULL;
|
||||
this->mUnk_D8 = NULL;
|
||||
@@ -353,13 +352,7 @@ void PlayerLinkActor_A0::func_ov001_020bd388(bool param1, bool param2) {
|
||||
|
||||
if (data_ov000_020aa88c[temp_r0].mUnk_04) {
|
||||
if (temp_r0 == 0x33) {
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
} local_18;
|
||||
local_18.ptr = &data_ov000_020b3000;
|
||||
local_18.actorId = ActorId_Beedle;
|
||||
|
||||
UnkStruct_ov000_020b3000 local_18(ActorId_Beedle);
|
||||
Actor **pBeedle = gpActorManager->func_01fff350(&local_18, gpActorManager->mActorTable);
|
||||
|
||||
if (0) {
|
||||
|
||||
@@ -35,7 +35,7 @@ void UnkStruct_027e0ce0_40_Base::func_ov001_020bc0e0(bool param1) {
|
||||
}
|
||||
|
||||
if (this->mUnk_078 != NULL) {
|
||||
this->mUnk_078->mUnk_00 = 0;
|
||||
*(u32 *) &this->mUnk_078->mUnk_00 = 0;
|
||||
}
|
||||
|
||||
this->mUnk_094.mUnk_5C = 0;
|
||||
|
||||
@@ -16,7 +16,7 @@ FileSelectManager_160::FileSelectManager_160(GameModeManagerBase_104 *param1, Fi
|
||||
|
||||
FileSelectManager_160::~FileSelectManager_160() {}
|
||||
|
||||
void FileSelectManager_160::vfunc_08(unk32 param1) {
|
||||
void FileSelectManager_160::vfunc2_08(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
this->mUnk_0C = 0;
|
||||
this->mUnk_10->func_ov019_020cb6e8();
|
||||
@@ -24,7 +24,7 @@ void FileSelectManager_160::vfunc_08(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_160::vfunc_0C(unk32 param1) {
|
||||
void FileSelectManager_160::vfunc2_0C(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
switch (this->mUnk_0C) {
|
||||
case 0:
|
||||
@@ -42,9 +42,9 @@ void FileSelectManager_160::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_160::vfunc_14(unk32 param1) {}
|
||||
void FileSelectManager_160::vfunc2_14(unk32 param1) {}
|
||||
|
||||
void FileSelectManager_160::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void FileSelectManager_160::vfunc_54(unk32 param1, unk32 param2) {
|
||||
data_0204999c.func_02013014();
|
||||
data_0204999c.mUnk_60 = 0xD6D8;
|
||||
data_0204a088->func_ov000_02061248();
|
||||
@@ -56,13 +56,13 @@ void FileSelectManager_160::vfunc_10(unk32 param1, unk32 param2) {
|
||||
data_0204999c.func_02013070();
|
||||
}
|
||||
|
||||
void FileSelectManager_160::vfunc_18(unk32 param1) {
|
||||
void FileSelectManager_160::vfunc2_18(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
this->mUnk_0C = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_160::vfunc_1C(unk32 param1) {
|
||||
void FileSelectManager_160::vfunc_5C(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
switch (this->mUnk_0C) {
|
||||
case 0:
|
||||
@@ -80,7 +80,7 @@ void FileSelectManager_160::vfunc_1C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_160::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void FileSelectManager_160::vfunc_58(unk32 param1, unk32 param2) {
|
||||
data_0204999c.func_02013014();
|
||||
data_0204999c.mUnk_60 = 0xD6D8;
|
||||
this->mUnk_14 = NULL;
|
||||
@@ -99,6 +99,6 @@ void FileSelectManager_160::vfunc_20(unk32 param1, unk32 param2) {
|
||||
data_0204999c.func_02013070();
|
||||
}
|
||||
|
||||
void FileSelectManager_160::vfunc_24() {
|
||||
void FileSelectManager_160::vfunc_60() {
|
||||
data_0204a110.func_0201967c(0, 0, 1, 0, 3);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ FileSelectManager_164::~FileSelectManager_164() {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_164::vfunc_08(unk32 param1) {
|
||||
void FileSelectManager_164::vfunc2_08(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
this->mUnk_0C = 0;
|
||||
this->mUnk_10->func_ov019_020cb6e8();
|
||||
@@ -25,7 +25,7 @@ void FileSelectManager_164::vfunc_08(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_164::vfunc_0C(unk32 param1) {
|
||||
void FileSelectManager_164::vfunc2_0C(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
switch (this->mUnk_0C) {
|
||||
case 0:
|
||||
@@ -43,9 +43,9 @@ void FileSelectManager_164::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_164::vfunc_14(unk32 param1) {}
|
||||
void FileSelectManager_164::vfunc2_14(unk32 param1) {}
|
||||
|
||||
void FileSelectManager_164::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void FileSelectManager_164::vfunc_54(unk32 param1, unk32 param2) {
|
||||
data_0204999c.func_02013014();
|
||||
data_0204999c.mUnk_60 = 0xD6D8;
|
||||
data_ov000_020b50c0.func_ov000_0206a758();
|
||||
@@ -61,7 +61,7 @@ void FileSelectManager_164::vfunc_10(unk32 param1, unk32 param2) {
|
||||
data_0204999c.func_02013070();
|
||||
}
|
||||
|
||||
void FileSelectManager_164::vfunc_18(unk32 param1) {
|
||||
void FileSelectManager_164::vfunc2_18(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
this->mUnk_0C = 1;
|
||||
gpFSOptionsManager->func_ov019_020cc85c(2);
|
||||
@@ -69,7 +69,7 @@ void FileSelectManager_164::vfunc_18(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_164::vfunc_1C(unk32 param1) {
|
||||
void FileSelectManager_164::vfunc_5C(unk32 param1) {
|
||||
if (param1 == 0) {
|
||||
switch (this->mUnk_0C) {
|
||||
case 1:
|
||||
@@ -89,7 +89,7 @@ void FileSelectManager_164::vfunc_1C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileSelectManager_164::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void FileSelectManager_164::vfunc_58(unk32 param1, unk32 param2) {
|
||||
data_0204999c.func_02013014();
|
||||
data_0204999c.mUnk_60 = 0xD6D8;
|
||||
FileSelectManager_164::func_ov019_020d02f4();
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b504c.hpp"
|
||||
|
||||
extern unk32 data_ov000_020b3000;
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkOBPC);
|
||||
|
||||
Actor *ActorProfileUnkOBPC::Create() {
|
||||
@@ -131,15 +130,8 @@ bool ActorUnkOBPC::func_ov024_020d7154(void) {
|
||||
}
|
||||
break;
|
||||
case 2: {
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
} sp8;
|
||||
|
||||
sp8.ptr = &data_ov000_020b3000;
|
||||
sp8.actorId = ActorId_KEYB;
|
||||
pActorMgr = gpActorManager;
|
||||
|
||||
pActorMgr = gpActorManager;
|
||||
UnkStruct_ov000_020b3000 sp8(ActorId_KEYB);
|
||||
Actor **ppActor = pActorMgr->func_01fff350(&sp8, pActorMgr->mActorTable);
|
||||
|
||||
if (ppActor == pActorMgr->mUnk_08) {
|
||||
@@ -150,15 +142,8 @@ bool ActorUnkOBPC::func_ov024_020d7154(void) {
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
} sp0;
|
||||
|
||||
sp0.ptr = &data_ov000_020b3000;
|
||||
sp0.actorId = ActorId_KEYT;
|
||||
pActorMgr = gpActorManager;
|
||||
|
||||
pActorMgr = gpActorManager;
|
||||
UnkStruct_ov000_020b3000 sp0(ActorId_KEYT);
|
||||
Actor **ppActor = pActorMgr->func_01fff350(&sp0, pActorMgr->mActorTable);
|
||||
|
||||
if (ppActor == pActorMgr->mUnk_08) {
|
||||
|
||||
@@ -4,14 +4,13 @@
|
||||
#include "Unknown/UnkStruct_0204a110.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov024_020d8660.hpp"
|
||||
#include "versions.h"
|
||||
|
||||
#include <nitro/gx.h>
|
||||
|
||||
extern unk32 data_ov000_020b3000;
|
||||
|
||||
UnkStruct_ov024_020d8660 *data_ov024_020d8660 = NULL;
|
||||
|
||||
void UnkStruct_ov024_020d8660::func_ov024_020c4a8c(UnkActorSystem1 *param1) {
|
||||
@@ -36,7 +35,7 @@ UnkStruct_ov024_020d8660::UnkStruct_ov024_020d8660() {
|
||||
|
||||
void UnkStruct_ov024_020d8660::func_ov024_020c4b4c(unk32 param1) {
|
||||
if (this->mUnk_00 != NULL) {
|
||||
if (data_027e09b8->func_01ffd420() == 0) {
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
this->mUnk_00->vfunc_10(param1);
|
||||
} else {
|
||||
this->mUnk_00->vfunc_14(param1);
|
||||
@@ -55,13 +54,7 @@ void UnkStruct_ov024_020d8660::func_ov024_020c4ba0() {
|
||||
}
|
||||
|
||||
if (this->mActorId != 0) {
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
} uStack_68;
|
||||
uStack_68.actorId = this->mActorId;
|
||||
uStack_68.ptr = &data_ov000_020b3000;
|
||||
|
||||
UnkStruct_ov000_020b3000 uStack_68(this->mActorId);
|
||||
Actor **ppActor = gpActorManager->func_01fff350(&uStack_68, gpActorManager->mActorTable);
|
||||
Actor *pActor = NULL;
|
||||
|
||||
|
||||
@@ -276,7 +276,7 @@ void AdventureModeManager::vfunc_24() {
|
||||
data_027e0998->func_ov000_02061764();
|
||||
|
||||
if (data_ov000_020b4f70 != NULL && data_027e09b8 != NULL) {
|
||||
if (data_027e09b8->func_01ffd420() == 0) {
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
data_ov000_020b4f70->func_ov000_02066370();
|
||||
}
|
||||
}
|
||||
@@ -364,12 +364,13 @@ void AdventureModeManager::vfunc_24() {
|
||||
if (CHECK_BUTTON_COMBO(this->mButtons.press, PAD_BUTTON_SELECT)) {
|
||||
if (this->func_ov024_020c60f4()) {
|
||||
switch (data_0204a088->mUnk_00) {
|
||||
case 1:
|
||||
case 1: {
|
||||
stack_ov000_02073578 stack;
|
||||
stack.unk_08 = 0x05;
|
||||
data_027e09b8->func_ov000_02073578(&stack, 1);
|
||||
data_ov000_020b5214.func_ov000_0206db44(0x37);
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
data_0204a088->func_ov000_020611fc(5);
|
||||
data_ov000_020b5214.func_ov000_0206db44(0x37);
|
||||
@@ -457,7 +458,7 @@ bool AdventureModeManager::func_ov024_020c5dac() {
|
||||
}
|
||||
|
||||
bool AdventureModeManager::func_ov024_020c5ecc() {
|
||||
if (data_ov026_02138d10->func_ov026_020e13f4() != 0 && data_027e09b8->func_01ffd420() == 0 &&
|
||||
if (data_ov026_02138d10->func_ov026_020e13f4() != 0 && !data_027e09b8->func_01ffd420() &&
|
||||
func_ov024_020d5304(data_027e09a4->mUnk_00.sceneIndex) &&
|
||||
(data_ov024_020d8660 == NULL || data_ov024_020d8660->mUnk_00 == NULL) && this->func_ov024_020c6a20() != 0 &&
|
||||
data_ov026_0213f590.func_ov026_020f7cc0() == 0) {
|
||||
|
||||
@@ -35,7 +35,7 @@ AdventureModeManager_160::AdventureModeManager_160(GameModeManagerBase_104 *para
|
||||
|
||||
AdventureModeManager_160::~AdventureModeManager_160() {}
|
||||
|
||||
void AdventureModeManager_160::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_160::vfunc2_08(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
case 6:
|
||||
@@ -60,7 +60,7 @@ void AdventureModeManager_160::vfunc_08(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_160::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_160::vfunc2_0C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
case 5:
|
||||
@@ -128,13 +128,13 @@ void AdventureModeManager_160::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_160::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_160::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if ((param1 == 5 || param1 == 8) && param2 == 2) {
|
||||
this->func_ov024_020c7d4c(param1);
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_160::vfunc_14(unk32 param1) {
|
||||
void AdventureModeManager_160::vfunc2_14(unk32 param1) {
|
||||
if (param1 == 10) {
|
||||
this->mUnk_14->mUnk_1C = 1;
|
||||
this->mUnk_70.mUnk_25 = true;
|
||||
@@ -170,7 +170,7 @@ void AdventureModeManager_160::func_ov024_020c7d4c(unk32 param1) {
|
||||
G2S_SetBG2Priority(1);
|
||||
}
|
||||
|
||||
void AdventureModeManager_160::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_160::vfunc2_18(unk32 param1) {
|
||||
this->mUnk_14 = NULL;
|
||||
|
||||
switch (param1) {
|
||||
@@ -206,7 +206,7 @@ void AdventureModeManager_160::vfunc_18(unk32 param1) {
|
||||
data_ov000_020b504c.func_ov000_02067e60(0, 1);
|
||||
}
|
||||
|
||||
void AdventureModeManager_160::vfunc_1C(unk32 param1) {
|
||||
void AdventureModeManager_160::vfunc_5C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
case 7:
|
||||
@@ -324,7 +324,7 @@ void AdventureModeManager_160::vfunc_1C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_160::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_160::vfunc_58(unk32 param1, unk32 param2) {
|
||||
if (param1 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -361,7 +361,7 @@ void AdventureModeManager_160::vfunc_20(unk32 param1, unk32 param2) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_160::vfunc_24() {}
|
||||
void AdventureModeManager_160::vfunc_60() {}
|
||||
|
||||
void AdventureModeManager_160::func_ov024_020c83bc() {
|
||||
data_0204a110.mUnk_DC0.func_0201dd58(6, 3);
|
||||
|
||||
@@ -24,14 +24,14 @@ AdventureModeManager_170::AdventureModeManager_170(GameModeManagerBase_104 *para
|
||||
|
||||
AdventureModeManager_170::~AdventureModeManager_170() {}
|
||||
|
||||
void AdventureModeManager_170::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_170::vfunc2_08(unk32 param1) {
|
||||
if (param1 == 1) {
|
||||
this->mUnk_14.func_0201bb84(0x3C, 2, 0x3C);
|
||||
data_0204e5f8.func_0201b9a8(&this->mUnk_14);
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_170::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_170::vfunc2_0C(unk32 param1) {
|
||||
if (param1 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -50,7 +50,7 @@ void AdventureModeManager_170::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_170::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_170::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (data_0204a110.mUnk_008 == 1) {
|
||||
data_0204a110.mUnk_DFE = true;
|
||||
}
|
||||
@@ -72,11 +72,11 @@ void AdventureModeManager_170::vfunc_10(unk32 param1, unk32 param2) {
|
||||
data_ov000_020b5214.func_ov000_0206d83c(0x0A);
|
||||
}
|
||||
|
||||
void AdventureModeManager_170::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_170::vfunc2_18(unk32 param1) {
|
||||
this->mUnk_0C = 0;
|
||||
}
|
||||
|
||||
void AdventureModeManager_170::vfunc_24() {
|
||||
void AdventureModeManager_170::vfunc_60() {
|
||||
data_0204e5f8.mUnk_38 = true;
|
||||
data_0204a088->mUnk_120 = -1;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ AdventureModeManager_174::AdventureModeManager_174(GameModeManagerBase_104 *para
|
||||
data_0204a088->func_ov000_020611dc(this, 5);
|
||||
}
|
||||
|
||||
void AdventureModeManager_174::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_174::vfunc2_08(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
case 6:
|
||||
@@ -40,7 +40,7 @@ void AdventureModeManager_174::vfunc_08(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_174::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_174::vfunc2_0C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
case 6:
|
||||
@@ -65,7 +65,7 @@ void AdventureModeManager_174::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_174::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_174::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (param2 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -104,7 +104,7 @@ void AdventureModeManager_174::vfunc_10(unk32 param1, unk32 param2) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_174::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_174::vfunc2_18(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
this->mUnk_10.func_0201bb84(0x14, 2, 0x14);
|
||||
@@ -124,7 +124,7 @@ void AdventureModeManager_174::vfunc_18(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_174::vfunc_1C(unk32 param1) {
|
||||
void AdventureModeManager_174::vfunc_5C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
case 2:
|
||||
@@ -140,7 +140,7 @@ void AdventureModeManager_174::vfunc_1C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_174::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_174::vfunc_58(unk32 param1, unk32 param2) {
|
||||
if (param2 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -174,7 +174,7 @@ void AdventureModeManager_174::vfunc_20(unk32 param1, unk32 param2) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_174::vfunc_24() {}
|
||||
void AdventureModeManager_174::vfunc_60() {}
|
||||
|
||||
THUMB_END
|
||||
|
||||
|
||||
@@ -12,14 +12,14 @@ AdventureModeManager_178::AdventureModeManager_178(GameModeManagerBase_104 *para
|
||||
data_0204a088->func_ov000_020611dc(this, 0x0D);
|
||||
}
|
||||
|
||||
void AdventureModeManager_178::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_178::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (param2 == 1) {
|
||||
data_0204a088->func_ov000_02061248();
|
||||
this->mUnk_B8 = func_ov004_020b697c(&this->mUnk_0C, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_178::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_178::vfunc_58(unk32 param1, unk32 param2) {
|
||||
if (param2 == 1) {
|
||||
this->mUnk_B8 = 0;
|
||||
data_0204a088->func_ov000_02061248();
|
||||
|
||||
@@ -7,27 +7,27 @@ THUMB_BEGIN
|
||||
AdventureModeManager_178_Base::AdventureModeManager_178_Base(GameModeManagerBase_104 *param1) :
|
||||
AdventureModeManager_174_Base(param1) {}
|
||||
|
||||
void AdventureModeManager_178_Base::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_178_Base::vfunc2_08(unk32 param1) {
|
||||
if (param1 == 1 || param1 == 5) {
|
||||
this->mUnk_10.func_0201bb84(0x14, 2, 0x14);
|
||||
data_0204e5f8.func_0201b9a8(&this->mUnk_10);
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_178_Base::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_178_Base::vfunc2_0C(unk32 param1) {
|
||||
if (this->mUnk_10.mUnk_0D == this->mUnk_10.mUnk_10) {
|
||||
data_0204a088->func_ov000_02061230();
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_178_Base::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_178_Base::vfunc2_18(unk32 param1) {
|
||||
if (param1 == 1 || param1 == 5) {
|
||||
this->mUnk_10.func_0201bb84(0x14, 2, 0x14);
|
||||
data_0204e5f8.func_0201b9a8(&this->mUnk_10);
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_178_Base::vfunc_1C(unk32 param1) {
|
||||
void AdventureModeManager_178_Base::vfunc_5C(unk32 param1) {
|
||||
if (this->mUnk_10.mUnk_0D == this->mUnk_10.mUnk_10) {
|
||||
data_0204a088->func_ov000_02061230();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ AdventureModeManager_180::AdventureModeManager_180(GameModeManagerBase_104 *para
|
||||
|
||||
AdventureModeManager_180::~AdventureModeManager_180() {}
|
||||
|
||||
void AdventureModeManager_180::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_180::vfunc2_08(unk32 param1) {
|
||||
this->mUnk_0C = 1;
|
||||
|
||||
switch (param1) {
|
||||
@@ -48,7 +48,7 @@ void AdventureModeManager_180::vfunc_08(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_180::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_180::vfunc2_0C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 5:
|
||||
if (this->mUnk_18.mUnk_0D == this->mUnk_18.mUnk_10) {
|
||||
@@ -85,7 +85,7 @@ void AdventureModeManager_180::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
|
||||
#pragma opt_dead_assignments off
|
||||
void AdventureModeManager_180::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_180::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (param2 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -121,7 +121,7 @@ void AdventureModeManager_180::func_ov024_020c9430(unk32 param1, unk32 param2) {
|
||||
this->mUnk_10 = func_ov014_020b6520(&this->mUnk_14, param1, param2);
|
||||
}
|
||||
|
||||
void AdventureModeManager_180::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_180::vfunc2_18(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 5:
|
||||
this->mUnk_18.func_0201bb84(0x10, 2, 0x10);
|
||||
@@ -135,7 +135,7 @@ void AdventureModeManager_180::vfunc_18(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_180::vfunc_1C(unk32 param1) {
|
||||
void AdventureModeManager_180::vfunc_5C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 5:
|
||||
if (this->mUnk_18.mUnk_0D == this->mUnk_18.mUnk_10) {
|
||||
@@ -165,7 +165,7 @@ void AdventureModeManager_180::vfunc_1C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_180::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_180::vfunc_58(unk32 param1, unk32 param2) {
|
||||
if (param2 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -200,7 +200,7 @@ void AdventureModeManager_180::vfunc_20(unk32 param1, unk32 param2) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_180::vfunc_24() {}
|
||||
void AdventureModeManager_180::vfunc_60() {}
|
||||
|
||||
void AdventureModeManager_180::func_ov024_020c957c() {
|
||||
data_0204a110.mUnk_DA8.func_0201ced8();
|
||||
|
||||
@@ -25,13 +25,13 @@ AdventureModeManager_184::AdventureModeManager_184(GameModeManagerBase_104 *para
|
||||
|
||||
AdventureModeManager_184::~AdventureModeManager_184() {}
|
||||
|
||||
void AdventureModeManager_184::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_184::vfunc2_08(unk32 param1) {
|
||||
if (!data_027e09a4->IsTrain()) {
|
||||
this->func_ov024_020c979c(param1);
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_184::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_184::vfunc2_0C(unk32 param1) {
|
||||
if (this->mUnk_10 == NULL && this->mUnk_18 && data_0204a110.func_02019548()) {
|
||||
this->mUnk_18 = false;
|
||||
|
||||
@@ -64,11 +64,11 @@ void AdventureModeManager_184::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_184::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_184::vfunc_54(unk32 param1, unk32 param2) {
|
||||
this->func_ov024_020c979c(param1);
|
||||
}
|
||||
|
||||
void AdventureModeManager_184::vfunc_14(unk32 param1) {}
|
||||
void AdventureModeManager_184::vfunc2_14(unk32 param1) {}
|
||||
|
||||
void AdventureModeManager_184::func_ov024_020c979c(unk32 param1) {
|
||||
this->mUnk_18 = true;
|
||||
@@ -94,7 +94,7 @@ void AdventureModeManager_184::func_ov024_020c979c(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_184::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_184::vfunc2_18(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
this->mUnk_10->func_ov010_020b7054();
|
||||
@@ -119,7 +119,7 @@ void AdventureModeManager_184::vfunc_18(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_184::vfunc_1C(unk32 param1) {
|
||||
void AdventureModeManager_184::vfunc_5C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
if (this->mUnk_10 != NULL && this->mUnk_10->vfunc_20()) {
|
||||
@@ -139,7 +139,7 @@ void AdventureModeManager_184::vfunc_1C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_184::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_184::vfunc_58(unk32 param1, unk32 param2) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
this->mUnk_10 = NULL;
|
||||
@@ -158,7 +158,7 @@ void AdventureModeManager_184::vfunc_20(unk32 param1, unk32 param2) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_184::vfunc_24() {
|
||||
void AdventureModeManager_184::vfunc_60() {
|
||||
this->mUnk_10 = NULL;
|
||||
this->mUnk_14 = NULL;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ AdventureModeManager_18C::AdventureModeManager_18C(GameModeManagerBase_104 *para
|
||||
|
||||
AdventureModeManager_18C::~AdventureModeManager_18C() {}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_18C::vfunc2_08(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
this->func_ov024_020ca034();
|
||||
@@ -62,7 +62,7 @@ void AdventureModeManager_18C::vfunc_08(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_18C::vfunc2_0C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 6:
|
||||
switch (this->mUnk_54) {
|
||||
@@ -112,7 +112,7 @@ void AdventureModeManager_18C::vfunc_0C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_18C::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (param2 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -205,12 +205,12 @@ void AdventureModeManager_18C::func_ov024_020c9c6c() {
|
||||
G2S_SetBG3Priority(2);
|
||||
}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_14(unk32 param1) {
|
||||
void AdventureModeManager_18C::vfunc2_14(unk32 param1) {
|
||||
this->mUnk_10->func_ov011_020b88ac();
|
||||
this->mUnk_54 = 3;
|
||||
}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_18C::vfunc2_18(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
data_ov000_020b5214.func_ov000_0206db44(0x44);
|
||||
@@ -243,7 +243,7 @@ void AdventureModeManager_18C::vfunc_18(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_1C(unk32 param1) {
|
||||
void AdventureModeManager_18C::vfunc_5C(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 1:
|
||||
switch (this->mUnk_54) {
|
||||
@@ -282,7 +282,7 @@ void AdventureModeManager_18C::vfunc_1C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_18C::vfunc_58(unk32 param1, unk32 param2) {
|
||||
if (param2 != 1) {
|
||||
return;
|
||||
}
|
||||
@@ -346,7 +346,7 @@ void AdventureModeManager_18C::vfunc_20(unk32 param1, unk32 param2) {
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 7: {
|
||||
this->mUnk_44 = data_0204a110.mUnk_DC0.mUnk_08->func_0201ec30();
|
||||
|
||||
Vec2s auStack_14;
|
||||
@@ -362,6 +362,7 @@ void AdventureModeManager_18C::vfunc_20(unk32 param1, unk32 param2) {
|
||||
GetAdventureModeManager()->func_ov024_020c53e8();
|
||||
GetAdventureModeManager()->func_ov024_020c6770(temp_r6, temp_r7, 0, 4);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
GetAdventureModeManager()->func_ov024_020c555c(3);
|
||||
GetAdventureModeManager()->func_ov024_020c53e8();
|
||||
@@ -381,7 +382,7 @@ void AdventureModeManager_18C::vfunc_20(unk32 param1, unk32 param2) {
|
||||
func_02019b3c();
|
||||
}
|
||||
|
||||
void AdventureModeManager_18C::vfunc_24() {
|
||||
void AdventureModeManager_18C::vfunc_60() {
|
||||
this->mUnk_10 = NULL;
|
||||
this->mUnk_3A = false;
|
||||
}
|
||||
|
||||
@@ -25,19 +25,19 @@ AdventureModeManager_190::AdventureModeManager_190(GameModeManagerBase_104 *para
|
||||
data_0204a088->func_ov000_020611dc(this, 0x15);
|
||||
}
|
||||
|
||||
void AdventureModeManager_190::vfunc_08(unk32 param1) {
|
||||
void AdventureModeManager_190::vfunc2_08(unk32 param1) {
|
||||
if (param1 == 1) {
|
||||
this->func_ov024_020ca21c();
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_190::vfunc_0C(unk32 param1) {
|
||||
void AdventureModeManager_190::vfunc2_0C(unk32 param1) {
|
||||
if (param1 == 1 && this->mUnk_14.mUnk_0D == this->mUnk_14.mUnk_10) {
|
||||
data_0204a088->func_ov000_02061230();
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_190::vfunc_10(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_190::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (param1 == 1) {
|
||||
data_0204a088->func_ov000_02061248();
|
||||
this->mUnk_10 = func_ov011_020b8e54(&this->mUnk_0C, this->mUnk_60);
|
||||
@@ -45,19 +45,19 @@ void AdventureModeManager_190::vfunc_10(unk32 param1, unk32 param2) {
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_190::vfunc_18(unk32 param1) {
|
||||
void AdventureModeManager_190::vfunc2_18(unk32 param1) {
|
||||
if (param1 == 1) {
|
||||
this->func_ov024_020ca21c();
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_190::vfunc_1C(unk32 param1) {
|
||||
void AdventureModeManager_190::vfunc_5C(unk32 param1) {
|
||||
if (param1 == 1 && this->mUnk_14.mUnk_0D == this->mUnk_14.mUnk_10) {
|
||||
data_0204a088->func_ov000_02061230();
|
||||
}
|
||||
}
|
||||
|
||||
void AdventureModeManager_190::vfunc_20(unk32 param1, unk32 param2) {
|
||||
void AdventureModeManager_190::vfunc_58(unk32 param1, unk32 param2) {
|
||||
if (param1 == 1) {
|
||||
this->mUnk_10 = NULL;
|
||||
data_0204a088->func_ov000_02061248();
|
||||
|
||||
@@ -120,9 +120,9 @@ void UnkTrainSystem1::func_ov024_020d562c(const VecFx32 *param1, fx32 param2) {
|
||||
sp44.z = new_var5;
|
||||
|
||||
#if IS_JP
|
||||
UnkStruct_027e09bc_0C *temp_r8_2 = data_027e09bc->mUnk_04;
|
||||
UnkStruct_027e09bc_0C *temp_r8_2 = data_027e09bc->mUnk_04[0];
|
||||
#else
|
||||
UnkStruct_027e09bc_0C *temp_r8_2 = data_027e09bc->mUnk_0C;
|
||||
UnkStruct_027e09bc_0C *temp_r8_2 = data_027e09bc->mUnk_04[2];
|
||||
#endif
|
||||
|
||||
temp_r1_3.x = temp_r8_2->mUnk_034.x;
|
||||
|
||||
@@ -57,7 +57,7 @@ void UnkTrainSystem2::func_ov024_020d5990() {
|
||||
}
|
||||
}
|
||||
|
||||
if (data_027e09b8->func_01ffd420() == 0) {
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
if (gpCargoManager->mUnk_18 <= 0) {
|
||||
this->mUnk_64 = 0;
|
||||
this->mUnk_66 = 0;
|
||||
|
||||
@@ -59,7 +59,7 @@ bool ActorBlast::vfunc_18(unk32 param1) {
|
||||
this->mUnk_F0 = FLOAT_TO_FX32(1.0f);
|
||||
}
|
||||
|
||||
data_027e09bc->mUnk_0C->func_ov000_0207a1e0(0x6);
|
||||
data_027e09bc->mUnk_04[2]->func_ov000_0207a1e0(0x6);
|
||||
|
||||
if (this->mUnk_5C.mParams[0] != 0x0) {
|
||||
data_027e0cec->func_ov000_0209feac(0x812, &this->mPos, 0x2, 0x0, 0x0);
|
||||
|
||||
@@ -30,8 +30,7 @@ ActorProfileItemBoomerang::ActorProfileItemBoomerang() :
|
||||
|
||||
// non-matching
|
||||
ActorItemBoomerang::ActorItemBoomerang() :
|
||||
mUnk_94(data_027e0ce0->mUnk_1C->func_ov000_0208ed30(0x0, 0x1, ItemManager::func_ov000_020a8974(0x1)->mUnk_10)),
|
||||
mUnk_9C(true),
|
||||
mUnk_94(data_027e0ce0->mUnk_1C->func_ov000_0208ed30(0x0, 0x1, ItemManager::func_ov000_020a8974(0x1)->mUnk_10), true),
|
||||
mUnk_11C(this),
|
||||
mUnk_12C(),
|
||||
mUnk_138(0x0),
|
||||
|
||||
@@ -93,8 +93,7 @@ void ActorRollingStone_D4::vfunc_10(Actor *param1) {
|
||||
|
||||
// non-matching
|
||||
ActorRollingStone::ActorRollingStone() :
|
||||
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileRollingStone)->mUnk_3C.mUnk_50)),
|
||||
mUnk_9C(0x1),
|
||||
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileRollingStone)->mUnk_3C.mUnk_50), true),
|
||||
mUnk_AC(this),
|
||||
mUnk_D4(this),
|
||||
mUnk_10C(data_027e0130),
|
||||
|
||||
@@ -393,7 +393,7 @@ void ActorRupee::func_ov031_020e94d4() {
|
||||
void ActorRupee::func_ov031_020e951c() {
|
||||
ItemId itemId;
|
||||
|
||||
if (data_027e09b8->func_01ffd420() != 0) {
|
||||
if (data_027e09b8->func_01ffd420()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ ActorProfileShotArrow::ActorProfileShotArrow() :
|
||||
}
|
||||
|
||||
ActorShotArrow::ActorShotArrow() :
|
||||
mUnk_9C(true),
|
||||
mUnk_94(true),
|
||||
mUnk_A0(GetModelFromProfile3(func_ov031_020f1404(), data_ov031_02110b5c)),
|
||||
mUnk_100(&this->mUnk_120, GetModelFromProfile3(func_ov031_020f1404(), data_ov031_02110b5c),
|
||||
func_ov031_020f1404()->func_ov000_02058a84(0, data_ov031_02110b08)),
|
||||
@@ -560,7 +560,7 @@ void ActorShotArrow::vfunc_2C(unk32 param1) {
|
||||
VecFx32_Copy(&this->mPos, &stack.mUnk_E4);
|
||||
stack.mUnk_F0 = 0x2000;
|
||||
|
||||
if (!data_027e09bc->mUnk_04->func_01ffd640(&stack.mUnk_E4)) {
|
||||
if (!data_027e09bc->mUnk_04[0]->func_01ffd640(&stack.mUnk_E4)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,11 +7,25 @@
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b52e8.hpp"
|
||||
#include "nitro/math.h"
|
||||
|
||||
extern "C" unk32 data_ov031_02110bec[];
|
||||
extern "C" unk32 data_ov031_02112ad4;
|
||||
|
||||
struct UnkStruct_ov031_02114d28 {
|
||||
/* 00 */ u32 mUnk_00;
|
||||
/* 04 */ u32 mUnk_04;
|
||||
/* 08 */ u32 mUnk_08;
|
||||
|
||||
UnkStruct_ov031_02114d28() {
|
||||
this->mUnk_00 = 0x10002;
|
||||
this->mUnk_08 = 0x10006;
|
||||
this->mUnk_04 = 0x10009;
|
||||
}
|
||||
};
|
||||
static const UnkStruct_ov031_02114d28 data_ov031_02114d28;
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkMLCK);
|
||||
|
||||
@@ -22,19 +36,11 @@ Actor *ActorProfileUnkMLCK::Create() {
|
||||
ActorProfileUnkMLCK::ActorProfileUnkMLCK() :
|
||||
ActorProfile(ActorId_MLCK) {}
|
||||
|
||||
// non-matching
|
||||
ActorUnkMLCK::ActorUnkMLCK() :
|
||||
mUnk_B4(mUnk_A0),
|
||||
mUnk_BC(0x4),
|
||||
mUnk_C0(0x0),
|
||||
mUnk_C2(0x0),
|
||||
mUnk_C4(NULL),
|
||||
mUnk_C8(0x0),
|
||||
mUnk_CC(-1),
|
||||
mUnk_D0(0x0),
|
||||
mUnk_D2(0x0),
|
||||
mUnk_D4(0x0),
|
||||
mUnk_D6(0x0),
|
||||
mUnk_D8(this),
|
||||
mUnk_E4(this),
|
||||
mUnk_F0(false),
|
||||
@@ -46,28 +52,20 @@ ActorUnkMLCK::ActorUnkMLCK() :
|
||||
bool ActorUnkMLCK::vfunc_18(unk32 param1) {
|
||||
this->mUnk_B8 = this->mUnk_5C.mParams[0];
|
||||
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
unk32 param;
|
||||
} local_9c;
|
||||
local_9c.actorId = ActorId_MLCK;
|
||||
local_9c.param = this->mUnk_5C.mParams[0];
|
||||
local_9c.ptr = &data_ov031_02112ad4;
|
||||
UnkStruct_ov031_02112ad4 local_9c(ActorId_MLCK, this->mUnk_5C.mParams[0]);
|
||||
Actor **lppActor = gpActorManager->func_01fff350(&local_9c, gpActorManager->mActorTable);
|
||||
|
||||
if (gpActorManager->mUnk_08 != lppActor) {
|
||||
return false;
|
||||
}
|
||||
void *param = this;
|
||||
if (param != NULL) {
|
||||
param = &this->mUnk_94;
|
||||
}
|
||||
data_0204a088->func_ov000_020611dc(param, 0x9);
|
||||
|
||||
data_0204a088->func_ov000_020611dc(this, 0x09);
|
||||
|
||||
bool var1 = true;
|
||||
if (!((u16) gpMiscAdvManager->mSongs & (1 << this->mUnk_B8))) {
|
||||
var1 = false;
|
||||
}
|
||||
|
||||
bool var2;
|
||||
if (var1 == false) {
|
||||
var2 = false;
|
||||
@@ -86,33 +84,30 @@ void ActorUnkMLCK::vfunc_64(unk32 param1) {
|
||||
this->mUnk_BC = param1;
|
||||
this->mUnk_C2 = 0xFFFF;
|
||||
this->mUnk_C0 = 0x0;
|
||||
if (param1 != 0x1) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->mUnk_F1 = false;
|
||||
this->mUnk_C4 = data_ov000_020b52e8.func_ov000_0206f980(this->mUnk_B8);
|
||||
this->mUnk_C4->func_ov031_020fb184();
|
||||
if (param1 == 0x1) {
|
||||
this->mUnk_F1 = false;
|
||||
this->mUnk_C4.mUnk_00 = data_ov000_020b52e8.func_ov000_0206f980(this->mUnk_B8);
|
||||
this->mUnk_C4.func_ov031_020fb184();
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (param2 == 0) {
|
||||
return;
|
||||
if (param2 != 0) {
|
||||
this->vfunc_64(0x1);
|
||||
}
|
||||
this->vfunc_64(0x1);
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_58() {
|
||||
void ActorUnkMLCK::vfunc_58(unk32 param1, unk32 param2) {
|
||||
this->mUnk_F0 = true;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_5C() {
|
||||
if (!this->mUnk_F1 || !this->mUnk_F0) {
|
||||
return;
|
||||
void ActorUnkMLCK::vfunc_5C(unk32 param1) {
|
||||
if (this->mUnk_F1 && this->mUnk_F0) {
|
||||
data_027e0d34->func_ov031_020d994c();
|
||||
data_ov000_020b51b8.func_ov000_0206d274(data_ov031_02110bec[this->mUnk_B8]);
|
||||
this->mUnk_F0 = false;
|
||||
}
|
||||
data_027e0d34->func_ov031_020d994c();
|
||||
data_ov000_020b51b8.func_ov000_0206d274(data_ov031_02110bec[this->mUnk_B8]);
|
||||
this->mUnk_F0 = false;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_60() {
|
||||
@@ -123,14 +118,15 @@ void ActorUnkMLCK::vfunc_68() {
|
||||
if (data_0204a088->mUnk_04 != -1 || data_0204a088->mUnk_08 != -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->mUnk_F2) {
|
||||
data_ov000_020b51b8.func_ov000_0206d274(0x83);
|
||||
GetAdventureModeManager()->func_ov024_020c6d04()->mUnk_C4 = 0x1;
|
||||
GetAdventureModeManager()->func_ov024_020c6d10();
|
||||
this->vfunc_64(0x2);
|
||||
return;
|
||||
} else {
|
||||
this->vfunc_6C();
|
||||
}
|
||||
this->vfunc_6C();
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::func_ov031_020faeb0() {}
|
||||
@@ -139,72 +135,67 @@ void ActorUnkMLCK::vfunc_6C() {
|
||||
if (this->mUnk_5C.mUnk_1A[0] != 0x0) {
|
||||
this->func_ov000_02098a88(0x0, 0x1);
|
||||
}
|
||||
for (ActorUnkMLCK_B4 *ptr = this->mUnk_A0; ptr != this->mUnk_B4; ++ptr) {
|
||||
ptr->mUnk_00->vfunc_00();
|
||||
|
||||
for (ActorUnkMLCK_A0 **ptr = this->mUnk_A0; ptr != this->mUnk_B4; ptr++) {
|
||||
(*ptr)->vfunc_00();
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_70() {
|
||||
if (this->mUnk_5C.mUnk_1A[0] == 0x0) {
|
||||
return;
|
||||
if (this->mUnk_5C.mUnk_1A[0] != 0x0) {
|
||||
this->func_ov000_02098a88(0x0, 0x0);
|
||||
}
|
||||
this->func_ov000_02098a88(0x0, 0x0);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkMLCK::func_ov031_020faf24() {
|
||||
UnkStackStruct1 stack;
|
||||
if (this->mUnk_C0 != 0xF) {
|
||||
return;
|
||||
}
|
||||
if (!this->mUnk_F2) {
|
||||
|
||||
if (this->mUnk_F2 == 0) {
|
||||
return;
|
||||
}
|
||||
bool var1 = this->func_ov031_020fb204(this->mUnk_B8);
|
||||
bool var9 = true;
|
||||
bool var = data_0204a088->func_ov000_020611fc(0x1);
|
||||
|
||||
bool temp_r7 = this->func_ov031_020fb204(this->mUnk_B8);
|
||||
data_0204a088->func_ov000_020611fc(1);
|
||||
GetAdventureModeManager()->func_ov024_020c6d10();
|
||||
|
||||
func_ov000_02072fd0(&stack);
|
||||
UnkStackStruct1 sp0;
|
||||
func_ov000_02072fd0(&sp0);
|
||||
sp0.mUnk_00 = 1;
|
||||
sp0.mUnk_3A = 0;
|
||||
sp0.mUnk_3B = 0;
|
||||
|
||||
stack.mUnk_00 = 0x1;
|
||||
stack.mUnk_3A = 0x0;
|
||||
stack.mUnk_3B = 0x0;
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0), &sp0.mUnk_0C);
|
||||
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &stack.mUnk_0C);
|
||||
this->mUnk_F4 = data_027e09b8->func_ov000_02073388(&sp0, 0);
|
||||
this->mUnk_D8.mUnk_04b = true;
|
||||
this->mUnk_D8.mUnk_05 = temp_r7;
|
||||
|
||||
this->mUnk_F4 = data_027e09b8->func_ov000_02073388(&stack, 0x0);
|
||||
u16 temp_r8 = this->mUnk_B8 + 0x28;
|
||||
ActorUnk_vfunc_B0 sp8C;
|
||||
sp8C.mUnk_00 = true;
|
||||
sp8C.mUnk_0C = temp_r8 | 0x10000;
|
||||
sp8C.mUnk_14 = 0;
|
||||
sp8C.mUnk_32 = 0;
|
||||
|
||||
this->mUnk_D8.mUnk_04 = true;
|
||||
this->mUnk_D8.mUnk_05 = var1;
|
||||
ActorUnk_vfunc_B0 actor = ActorUnk_vfunc_B0();
|
||||
actor.mUnk_0C = (u16) (this->mUnk_B8 + 0x28) | 0x10000;
|
||||
actor.mUnk_00 = 0x1;
|
||||
actor.mUnk_14 = 0x0;
|
||||
actor.mUnk_32 = 0x0;
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0), &sp8C.mUnk_34);
|
||||
sp8C.mUnk_04 = &this->mUnk_D8;
|
||||
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &actor.mUnk_34);
|
||||
actor.mUnk_04 = &this->mUnk_D8;
|
||||
data_027e09b8->func_ov000_02073470(&sp8C, 0);
|
||||
|
||||
data_027e09b8->func_ov000_02073470(&actor, 0x0);
|
||||
if (temp_r7 == 0) {
|
||||
this->mUnk_E4.mUnk_04b = 0;
|
||||
this->mUnk_E4.mUnk_05 = temp_r7 == 0;
|
||||
|
||||
if (!var) {
|
||||
if (var) {
|
||||
var9 = false;
|
||||
}
|
||||
this->mUnk_E4.mUnk_04 = false;
|
||||
this->mUnk_E4.mUnk_05 = var9;
|
||||
ActorUnk_vfunc_B0 actor2 = ActorUnk_vfunc_B0();
|
||||
actor2.mUnk_00 = 0x1;
|
||||
actor2.mUnk_0C = (u16) (this->mUnk_B8 + 0x88) | 0x10000;
|
||||
actor2.mUnk_14 = 0x0;
|
||||
actor2.mUnk_32 = 0x0;
|
||||
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &actor2.mUnk_34);
|
||||
actor2.mUnk_04 = &this->mUnk_E4;
|
||||
|
||||
data_027e09b8->func_ov000_02073470(&actor2, 0x0);
|
||||
ActorUnk_vfunc_B0 sp40;
|
||||
sp40.mUnk_00 = true;
|
||||
sp40.mUnk_0C = (u16) (this->mUnk_B8 + 0x88) | 0x10000;
|
||||
sp40.mUnk_14 = 0;
|
||||
sp40.mUnk_32 = 0;
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0), &sp40.mUnk_34);
|
||||
sp40.mUnk_04 = &this->mUnk_E4;
|
||||
data_027e09b8->func_ov000_02073470(&sp40, 0);
|
||||
}
|
||||
|
||||
this->mUnk_F0 = false;
|
||||
@@ -219,46 +210,47 @@ void ActorUnkMLCK::func_ov031_020fb11c() {
|
||||
this->vfunc_6C();
|
||||
data_027e0d34->func_ov031_020d996c();
|
||||
this->vfunc_64(0x0);
|
||||
for (ActorUnkMLCK_B4 *ptr = this->mUnk_A0; ptr != this->mUnk_B4; ++ptr) {
|
||||
ptr->mUnk_00->vfunc_08();
|
||||
|
||||
for (ActorUnkMLCK_A0 **ptr = this->mUnk_A0; ptr != this->mUnk_B4; ptr++) {
|
||||
(*ptr)->vfunc_08();
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkMLCK_B4_00::func_ov031_020fb184() {
|
||||
this->mUnk_04 = 0x0;
|
||||
void ActorUnkMLCK_C4::func_ov031_020fb184() {
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = -1;
|
||||
this->mUnk_0E = 0xFFFF;
|
||||
this->mUnk_0C = 0x0;
|
||||
this->mUnk_12 = 0xFFFF;
|
||||
this->mUnk_10 = 0x0;
|
||||
this->mUnk_0E = -1;
|
||||
this->mUnk_0C = 0;
|
||||
this->mUnk_12 = -1;
|
||||
this->mUnk_10 = 0;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK_D8::vfunc2_00() {
|
||||
if (!this->mUnk_04b) {
|
||||
return;
|
||||
if (this->mUnk_04b) {
|
||||
this->mUnk_08->func_ov031_020fb104();
|
||||
}
|
||||
this->mUnk_08->func_ov031_020fb104();
|
||||
}
|
||||
|
||||
void ActorUnkMLCK_D8::vfunc2_04() {
|
||||
if (!this->mUnk_05) {
|
||||
return;
|
||||
if (this->mUnk_05) {
|
||||
this->mUnk_08->func_ov031_020fb11c();
|
||||
}
|
||||
this->mUnk_08->func_ov031_020fb11c();
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::func_ov031_020fb1e8(ActorUnkMLCK_B4_00 *param1) {
|
||||
void ActorUnkMLCK::func_ov031_020fb1e8(ActorUnkMLCK_A0 *param1) {
|
||||
if (this->mUnk_B4 != NULL) {
|
||||
this->mUnk_B4->mUnk_00 = param1;
|
||||
*this->mUnk_B4 = param1;
|
||||
}
|
||||
++this->mUnk_B4;
|
||||
|
||||
this->mUnk_B4++;
|
||||
}
|
||||
|
||||
bool ActorUnkMLCK::func_ov031_020fb204(unk32 param1) {
|
||||
for (ActorUnkMLCK_B4 *ptr = this->mUnk_A0; ptr != this->mUnk_B4; ++ptr) {
|
||||
if (ptr->mUnk_00->vfunc_04()) {
|
||||
for (ActorUnkMLCK_A0 **ptr = this->mUnk_A0; ptr != this->mUnk_B4; ptr++) {
|
||||
if ((*ptr)->vfunc_04()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ bool ActorUnkRMTG::vfunc_18(unk32 param1) {
|
||||
}
|
||||
|
||||
void ActorUnkRMTG::vfunc_1C() {
|
||||
UnkStruct_027e09bc_0C *data = data_027e09bc->mUnk_0C;
|
||||
UnkStruct_027e09bc_0C *data = data_027e09bc->mUnk_04[2];
|
||||
data->func_ov000_0207834c(&this->mPos, func_ov000_02077590(0x7), 0x0);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@ ActorProfileUnkROCK::ActorProfileUnkROCK() :
|
||||
}
|
||||
|
||||
ActorUnkROCK::ActorUnkROCK() :
|
||||
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkROCK)->mUnk_3C.mUnk_50)),
|
||||
mUnk_9C(true) {
|
||||
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkROCK)->mUnk_3C.mUnk_50), true) {
|
||||
this->mUnk_44 = 0x1F;
|
||||
this->mUnk_4A[1] = 0x02;
|
||||
}
|
||||
|
||||
@@ -50,8 +50,7 @@ ActorProfileUnkTGTZ::ActorProfileUnkTGTZ() :
|
||||
// non-matching
|
||||
ActorUnkTGTZ::ActorUnkTGTZ() :
|
||||
#if IS_JP
|
||||
mUnk_094(NULL),
|
||||
mUnk_09C(true),
|
||||
mUnk_094(NULL, true),
|
||||
#else
|
||||
mUnk_094(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkTGTZ)->mUnk_3C.mUnk_50), 0xC, &this->mUnk_100),
|
||||
#endif
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d8c.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov024_020d8660.hpp"
|
||||
|
||||
@@ -156,11 +157,12 @@ ActorUnkZLSL::ActorUnkZLSL() :
|
||||
|
||||
void func_ov031_020ea100() {}
|
||||
|
||||
bool UnkStruct_ov031_0211361c::func_ov031_020ea0b4(Actor *param1) {
|
||||
if (param1 != NULL && param1->GetActorId() == ActorId_RAT0 && param1->mState == ActorUnkRAT0State_0 &&
|
||||
param1->mUnk_5C.mParams[1] == 0x1) {
|
||||
bool UnkStruct_ov031_0211361c::vfunc_00(Actor *pActor) {
|
||||
if (pActor != NULL && pActor->GetActorId() == ActorId_RAT0 && pActor->mState == ActorUnkRAT0State_0 &&
|
||||
pActor->mUnk_5C.mParams[1] == 0x1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
THUMB_END
|
||||
@@ -990,7 +992,7 @@ unk32 ActorUnkZLSL::func_ov031_020ec54c() {
|
||||
}
|
||||
|
||||
void ActorUnkZLSL::vfunc_B0() {
|
||||
if (data_027e09b8->func_01ffd420() != 0x0) {
|
||||
if (data_027e09b8->func_01ffd420()) {
|
||||
return;
|
||||
}
|
||||
ActorUnk_vfunc_B0 stack = ActorUnk_vfunc_B0();
|
||||
@@ -1277,7 +1279,7 @@ void ActorUnkZLSL::func_ov031_020ed4e4(unk32 param1, unk32 param2) {
|
||||
if (data_027e09b8->func_ov000_020732ec(this->mUnk_28C8) == 0x0) {
|
||||
return;
|
||||
}
|
||||
data_027e09bc->mUnk_0C->func_ov000_02078834(&this->mUnk_28F4, &this->mUnk_28E8, param2, param1);
|
||||
data_027e09bc->mUnk_04[2]->func_ov000_02078834(&this->mUnk_28F4, &this->mUnk_28E8, param2, param1);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
@@ -1414,7 +1416,6 @@ unk32 ActorUnkZLSL::vfunc_80(unk32 param1, unk32 param2) {
|
||||
|
||||
bool ActorUnkZLSL::func_ov031_020ee724() {
|
||||
UnkStruct_ov031_0211361c stack;
|
||||
|
||||
Actor **actor = gpActorManager->func_01fff350(&stack, gpActorManager->mActorTable);
|
||||
return *actor != NULL;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ MapObjectProfileDoorClick::MapObjectProfileDoorClick() :
|
||||
}
|
||||
|
||||
MapObjectDoorClick::MapObjectDoorClick() :
|
||||
mUnk_9C(1),
|
||||
mUnk_94(true),
|
||||
mUnk_A0(0) {
|
||||
this->mUnk_8F = true;
|
||||
SET_FLAG(this->mFlags, MapObjFlag_9);
|
||||
|
||||
@@ -36,8 +36,7 @@ MapObjectProfileDoorDangerSpawn::MapObjectProfileDoorDangerSpawn() :
|
||||
}
|
||||
|
||||
MapObjectDoorDangerSpawn::MapObjectDoorDangerSpawn() :
|
||||
mUnk_94(GetModelFromProfile<MapObjectProfileDoorDangerSpawn>()),
|
||||
mUnk_9C(1),
|
||||
mUnk_94(GetModelFromProfile<MapObjectProfileDoorDangerSpawn>(), true),
|
||||
mUnk_A0(0),
|
||||
mUnk_A1(false),
|
||||
mUnk_A2(false),
|
||||
@@ -124,7 +123,7 @@ void MapObjectDoorDangerSpawn::vfunc_04(void) {
|
||||
ptr->func_ov000_020803ec(this->mUnk_20.mParams[0]);
|
||||
this->vfunc_5C(MapObjDoorDangerSpawnState_0, 0);
|
||||
|
||||
UnkStruct_027e09bc_0C *uVar5 = data_027e09bc->mUnk_0C;
|
||||
UnkStruct_027e09bc_0C *uVar5 = data_027e09bc->mUnk_04[2];
|
||||
MapObjectDoorDangerSpawn::func_ov031_020fe5fc(&auStack_20, this);
|
||||
|
||||
uVar5->func_ov000_0207834c(&auStack_20, (unk32) func_ov000_02077590(0), 0);
|
||||
@@ -141,7 +140,7 @@ void MapObjectDoorDangerSpawn::vfunc2_08(void) {
|
||||
this->MapObjectDoorBase::vfunc2_08();
|
||||
|
||||
if (this->mUnk_A2) {
|
||||
data_027e09bc->mUnk_0C->func_ov000_02078230(0);
|
||||
data_027e09bc->mUnk_04[2]->func_ov000_02078230(0);
|
||||
}
|
||||
|
||||
data_ov000_020b51b8.func_ov000_0206c96c(data_ov031_02110c00[this->mUnk_20.mParams[3]]);
|
||||
@@ -178,7 +177,7 @@ void MapObjectDoorDangerSpawn::vfunc_08(void) {
|
||||
sp3C = *temp_r0_3;
|
||||
((unk16 *) sp3C.data)[3] = this->mAngle;
|
||||
|
||||
UnkStruct_027e09bc_0C *temp_r5 = data_027e09bc->mUnk_0C;
|
||||
UnkStruct_027e09bc_0C *temp_r5 = data_027e09bc->mUnk_04[2];
|
||||
|
||||
this->func_ov031_020fe5fc(&sp10, this);
|
||||
temp_r5->func_ov000_02078764(&sp10, &sp3C, 0);
|
||||
@@ -192,7 +191,7 @@ void MapObjectDoorDangerSpawn::vfunc_08(void) {
|
||||
|
||||
sp1C = *temp_r0_3;
|
||||
|
||||
UnkStruct_027e09bc_0C *temp_r7_2 = data_027e09bc->mUnk_0C;
|
||||
UnkStruct_027e09bc_0C *temp_r7_2 = data_027e09bc->mUnk_04[2];
|
||||
this->func_ov031_020fe5fc(&sp4, this);
|
||||
temp_r7_2->func_ov000_02078764(&sp4, &sp1C, 0);
|
||||
}
|
||||
|
||||
@@ -24,8 +24,7 @@ MapObjectProfileDoorKey::MapObjectProfileDoorKey() :
|
||||
}
|
||||
|
||||
MapObjectDoorKey::MapObjectDoorKey() :
|
||||
mUnk_94(GetModelFromProfile<MapObjectProfileDoorKey>()),
|
||||
mUnk_9C(1),
|
||||
mUnk_94(GetModelFromProfile<MapObjectProfileDoorKey>(), true),
|
||||
mUnk_A0(0),
|
||||
mUnk_A4(false) {
|
||||
this->mUnk_8F = true;
|
||||
|
||||
@@ -14,7 +14,7 @@ MapObjectProfileUnkSAND::MapObjectProfileUnkSAND() :
|
||||
|
||||
void MapObjectUnkSAND::func_ov031_0210acd4(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210ad64(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210ae00(void) {}
|
||||
unk32 MapObjectUnkSAND::func_ov031_0210ae00(Vec2bCpp param1, void *param2) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210ae90(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210af50(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b018(void) {}
|
||||
@@ -22,7 +22,7 @@ void MapObjectUnkSAND::func_ov031_0210b028(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b0ac(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b0e4(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b144(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b17c(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b17c(MapObjectUnkSAND_40 *param1, unk32 param2) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b1ec(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b2cc(void) {}
|
||||
void MapObjectUnkSAND::func_ov031_0210b32c(void) {}
|
||||
|
||||
@@ -21,8 +21,7 @@ MapObjectProfileUnkSKDI::MapObjectProfileUnkSKDI() :
|
||||
}
|
||||
|
||||
MapObjectUnkSKDI::MapObjectUnkSKDI() :
|
||||
mUnk_040(GetModelFromProfile<MapObjectProfileUnkSKDI>()),
|
||||
mUnk_048(0x1),
|
||||
mUnk_040(GetModelFromProfile<MapObjectProfileUnkSKDI>(), true),
|
||||
mUnk_07C(0x0),
|
||||
mUnk_080(-0x1),
|
||||
mUnk_084(0x0),
|
||||
@@ -198,7 +197,7 @@ void MapObjectUnkSKDI::func_ov031_0210643c(unk32 param1) {
|
||||
this->mUnk_0FA = 0x0;
|
||||
this->mUnk_0F8 = 0x0;
|
||||
}
|
||||
if (data_027e09b8->func_01ffd420() != 0) {
|
||||
if (data_027e09b8->func_01ffd420()) {
|
||||
return;
|
||||
}
|
||||
if (this->mUnk_0F8 < this->mUnk_0FA) {
|
||||
|
||||
@@ -54,8 +54,7 @@ MapObjectProfileUnkSTAT::MapObjectProfileUnkSTAT() :
|
||||
}
|
||||
|
||||
MapObjectUnkSTAT::MapObjectUnkSTAT() :
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE(MapObjectProfileUnkSTAT)->mUnk_20.mUnk_50)),
|
||||
mUnk_48(1),
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE(MapObjectProfileUnkSTAT)->mUnk_20.mUnk_50), true),
|
||||
mUnk_4C(4),
|
||||
mUnk_50(-1),
|
||||
mUnk_54(0x8000),
|
||||
|
||||
@@ -16,12 +16,12 @@ MapObjectUnkPTFL::MapObjectUnkPTFL() {}
|
||||
|
||||
void MapObjectUnkPTFL::func_ov070_0214ba34(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bb78(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bbd0(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bbd0(MapObjectUnkPTFLState state, bool param2) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bd48(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bd90(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bf58(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bf5c(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bf6c(void) {}
|
||||
bool MapObjectUnkPTFL::func_ov070_0214bf5c(void) {}
|
||||
bool MapObjectUnkPTFL::func_ov070_0214bf6c(void) {}
|
||||
void MapObjectUnkPTFL::func_ov070_0214bfbc(void) {}
|
||||
|
||||
MapObjectUnkPTFL::~MapObjectUnkPTFL() {}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Player/PlayerLink.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
|
||||
extern unk32 data_ov000_020b3000;
|
||||
|
||||
PlayerLinkActor_A0_1C::PlayerLinkActor_A0_1C(unk32 param1) {
|
||||
PlayerLinkActor_A0_1C::PlayerLinkActor_A0_1C(UnkStruct_027e0ce0_40 *param1) {
|
||||
this->mUnk_00 = param1;
|
||||
this->mUnk_04 = 0x00;
|
||||
this->mUnk_06 = false;
|
||||
@@ -14,13 +13,7 @@ void PlayerLinkActor_A0_1C::func_ov101_02183290() {
|
||||
this->mUnk_06 = false;
|
||||
this->mUnk_0C.Reset();
|
||||
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
} local_14;
|
||||
local_14.ptr = &data_ov000_020b3000;
|
||||
local_14.actorId = ActorId_IWTS;
|
||||
|
||||
UnkStruct_ov000_020b3000 local_14(ActorId_IWTS);
|
||||
Actor **ppActor = gpActorManager->func_01fff350(&local_14, gpActorManager->mActorTable);
|
||||
|
||||
// why is this a loop
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Actor/ActorUnkMLCK.hpp"
|
||||
#include "MainGame/MiscAdvManager.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cf0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51c0.hpp"
|
||||
#include "nitro/types.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/math.h>
|
||||
|
||||
struct UnkStruct_ov102_02184a10 {
|
||||
/* 00 */ u32 mUnk_00;
|
||||
/* 04 */ u32 mUnk_04;
|
||||
/* 08 */ u32 mUnk_08;
|
||||
|
||||
UnkStruct_ov102_02184a10() {
|
||||
this->mUnk_08 = 0x10002;
|
||||
this->mUnk_04 = 0x10006;
|
||||
this->mUnk_00 = 0x10009;
|
||||
}
|
||||
};
|
||||
static const UnkStruct_ov102_02184a10 data_ov102_02184a10;
|
||||
|
||||
void ActorUnkMLCK::vfunc_20() {
|
||||
this->vfunc_70();
|
||||
|
||||
this->mUnk_F2 = gpMiscAdvManager->mSongs & (1 << this->mUnk_B8) ? 1 : 0;
|
||||
|
||||
if (!this->mUnk_F3) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (this->mUnk_BC) {
|
||||
case 1:
|
||||
if (data_027e0cf0 != NULL && this->mUnk_C4.func_ov102_021847e8(data_027e0cf0->mUnk_0B, data_027e0cf0->mUnk_10)) {
|
||||
UnkStruct_ov102_02184a24 sp0(ActorId_MLCK);
|
||||
|
||||
if (gpActorManager->mUnk_08 == gpActorManager->func_01fff350(&sp0, gpActorManager->mActorTable)) {
|
||||
this->vfunc_68();
|
||||
this->mUnk_C4.func_ov031_020fb184();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
this->func_ov031_020faf24();
|
||||
break;
|
||||
}
|
||||
|
||||
if (data_ov000_020b51b8.IsUnk08_2()) {
|
||||
data_ov000_020b51c8.func_02002f04();
|
||||
}
|
||||
|
||||
if (this->mUnk_F4 != -1) {
|
||||
if (!data_ov000_020b51b8.IsUnk08_2() && data_027e09b8->func_ov000_020732fc(this->mUnk_F4) != 0) {
|
||||
this->mUnk_F4 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mUnk_C0 < this->mUnk_C2) {
|
||||
(*(volatile u16 *) &this->mUnk_C0)++;
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_24() {
|
||||
this->vfunc_20();
|
||||
}
|
||||
|
||||
bool ActorUnkMLCK_C4::func_ov102_021847e8(unk32 param1, unk32 param2) {
|
||||
if (param1 != 0) {
|
||||
if (this->mUnk_04 > 0 && param2 == this->mUnk_00->unk_14[this->mUnk_04 - 1]) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (param2 == this->mUnk_00->unk_14[this->mUnk_04]) {
|
||||
this->mUnk_04++;
|
||||
} else {
|
||||
this->func_ov031_020fb184();
|
||||
}
|
||||
} else if (this->mUnk_04 == this->mUnk_00->unk_02) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool UnkStruct_ov102_02184a24::vfunc_00(Actor *pActor) {
|
||||
if (pActor != NULL && pActor->GetActorId() == this->mActorId) {
|
||||
BOOL var_r1 = ((ActorUnkMLCK *) pActor)->mUnk_BC == 0 || ((ActorUnkMLCK *) pActor)->mUnk_BC == 1;
|
||||
return !var_r1;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,321 @@
|
||||
#include "MapObject/MapObjectUnkPTFL.hpp"
|
||||
#include "Unknown/UnkStruct_027e0208.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "nns/g3d/sbc.h"
|
||||
|
||||
extern "C" void func_01ff9318(void *, unk32, unk32);
|
||||
extern "C" fx32 func_01ffb464(fx32);
|
||||
|
||||
static unk32 data_ov102_02184980[] = {
|
||||
0x1FF00000, 0x0007FC00, 0x000001FF, 0x20000000, 0x00080000, 0x00000200, 0x16A5A800, 0x00000000, 0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
static u16 data_ov102_021849a8[] = {
|
||||
0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0xF800, 0x0800, 0xF800, 0x0800, 0x0800, 0xF800, 0xF800, 0xF800,
|
||||
0x0800, 0x0800, 0xF800, 0x0800, 0xF800, 0xF800, 0xF800, 0x0800, 0xF800, 0xF800, 0xF800, 0x1000, 0x1000,
|
||||
0x0800, 0x1000, 0x1000, 0xF800, 0x1000, 0x0000, 0x0800, 0x1000, 0x0000, 0xF800, 0x0000, 0x1000, 0x0800,
|
||||
0x0000, 0x1000, 0xF800, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0xF800, 0x0000, 0x0800, 0x0000, 0x0000,
|
||||
};
|
||||
|
||||
void func_ov102_02183c14(s32 param1) {
|
||||
u32 sp0[2];
|
||||
|
||||
sp0[0] = data_ov102_021849a8[param1 * 3] | (data_ov102_021849a8[param1 * 3 + 1] << 0x10);
|
||||
sp0[1] = data_ov102_021849a8[param1 * 3 + 2];
|
||||
|
||||
PushGeometryCommand(0x23, sp0, 2);
|
||||
}
|
||||
|
||||
void func_ov102_02183c6c(s32 param0) {
|
||||
u32 sp0 = data_ov102_02184980[param0];
|
||||
PushGeometryCommand(0x21, &sp0, 1);
|
||||
}
|
||||
|
||||
void func_ov102_02183c94(s32 param0, s32 param1, s32 param2, s32 param3, s32 param4, u16 param5, u16 param6, u16 param7,
|
||||
u16 param8, s32 param9) {
|
||||
u32 spC;
|
||||
u32 sp8;
|
||||
u32 sp4;
|
||||
u32 sp0;
|
||||
|
||||
func_ov102_02183c6c(param4);
|
||||
|
||||
s16 x2 = param8 * 16;
|
||||
s16 y2 = (param7 + param9) * 16;
|
||||
|
||||
spC = ((u16) x2 << 16) | (u16) y2;
|
||||
PushGeometryCommand(0x22, &spC, 1);
|
||||
func_ov102_02183c14(param0);
|
||||
|
||||
s16 x1 = param6 * 16;
|
||||
|
||||
sp8 = ((u16) x1 << 16) | (u16) y2;
|
||||
PushGeometryCommand(0x22, &sp8, 1);
|
||||
func_ov102_02183c14(param1);
|
||||
|
||||
s16 y1 = (param5 + param9) * 16;
|
||||
|
||||
sp4 = ((u16) x1 << 16) | (u16) y1;
|
||||
PushGeometryCommand(0x22, &sp4, 1);
|
||||
func_ov102_02183c14(param2);
|
||||
|
||||
sp0 = ((u16) x2 << 16) | (u16) y1;
|
||||
PushGeometryCommand(0x22, &sp0, 1);
|
||||
func_ov102_02183c14(param3);
|
||||
}
|
||||
|
||||
void func_ov102_02183da4(s32 param0, s32 param1, s32 param2, s32 param3, s32 param4, u16 param5, u16 param6, u16 param7,
|
||||
u16 param8, s32 param9) {
|
||||
func_ov102_02183c94(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9);
|
||||
}
|
||||
|
||||
void MapObjectUnkPTFL::vfunc_08() {
|
||||
switch (this->mState) {
|
||||
case MapObjectUnkPTFLState_0:
|
||||
this->mUnk_48--;
|
||||
|
||||
if (this->mUnk_48 > 0) {
|
||||
func_01ff9318(&this->mUnk_54, 0, func_01ffb464(this->mUnk_48 << 0xC));
|
||||
}
|
||||
|
||||
if (this->mUnk_48 <= 0) {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_1, false);
|
||||
}
|
||||
break;
|
||||
case MapObjectUnkPTFLState_1:
|
||||
switch (this->mUnk_20.mParams[0]) {
|
||||
case 0:
|
||||
if (!this->func_ov070_0214bf6c()) {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_2, false);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (this->func_ov070_0214bf5c()) {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_2, false);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case MapObjectUnkPTFLState_2:
|
||||
func_01ff9318(&this->mUnk_54, 0x3C72, 0x333);
|
||||
|
||||
if (this->mUnk_54 == 0x3C72) {
|
||||
if (this->mUnk_5B == 1) {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_4, false);
|
||||
} else {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_3, false);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MapObjectUnkPTFLState_3:
|
||||
switch (this->mUnk_20.mParams[0]) {
|
||||
case 0:
|
||||
if (this->func_ov070_0214bf6c()) {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_0, false);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (!this->func_ov070_0214bf5c()) {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_0, false);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (this->mUnk_56 >= this->mUnk_58) {
|
||||
this->func_ov070_0214bbd0(MapObjectUnkPTFLState_0, false);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case MapObjectUnkPTFLState_4:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (this->mUnk_56 < this->mUnk_58) {
|
||||
this->mUnk_56++;
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkPTFL::vfunc_0C() {
|
||||
this->vfunc_08();
|
||||
}
|
||||
|
||||
void MapObjectUnkPTFL::vfunc_14() {
|
||||
Mat4p sp44;
|
||||
VecFx32 sp38;
|
||||
VecFx32 sp2C;
|
||||
VecFx32 sp20;
|
||||
u32 sp1C;
|
||||
u32 sp18;
|
||||
u32 sp14;
|
||||
u32 sp10;
|
||||
u32 spC;
|
||||
u32 sp8;
|
||||
u32 sp4;
|
||||
u32 sp0;
|
||||
s32 temp_r4;
|
||||
s32 var_r5;
|
||||
s32 var_r7;
|
||||
|
||||
PushGeometryCommand(0x11, NULL, 0);
|
||||
|
||||
sp1C = data_027e0208.mUnk_094;
|
||||
PushGeometryCommand(0x30, &sp1C, 1);
|
||||
|
||||
sp18 = 0;
|
||||
PushGeometryCommand(0x31, &sp18, 1);
|
||||
|
||||
sp14 = 0x1F8081;
|
||||
PushGeometryCommand(0x29, &sp14, 1);
|
||||
|
||||
sp10 = 3;
|
||||
PushGeometryCommand(0x10, &sp10, 1);
|
||||
|
||||
PushGeometryCommand(0x15, NULL, 0);
|
||||
|
||||
sp2C.x = this->mUnk_5A << 0xB;
|
||||
sp2C.y = INT_TO_FX32(this->mUnk_5A);
|
||||
sp2C.z = 0x1000;
|
||||
PushGeometryCommand(0x1B, &sp2C, 3);
|
||||
|
||||
Mat4p_InitIdentity(&sp44);
|
||||
sp44.zColumn.z = 0x10000;
|
||||
sp44.wColumn.w = 0x10000;
|
||||
PushGeometryCommand(0x18, &sp44, 0x10);
|
||||
spC = 2;
|
||||
PushGeometryCommand(0x10, &spC, 1);
|
||||
temp_r4 = this->mUnk_40;
|
||||
|
||||
var_r7 = (this->mUnk_5C ? 3 : 0);
|
||||
|
||||
sp8 = 0 | 0x40030000 | ((u16) temp_r4 & ~0xE0000000) | (((u32) (temp_r4 & 0x1C000000) >> 0x1A) << 0x1A) |
|
||||
(((u32) (temp_r4 & 0x03800000) >> 0x17) << 0x17) | (((u32) (temp_r4 & 0x20000000) >> 0x1D) << 0x1D) |
|
||||
(((u32) (temp_r4 & 0x00700000) >> 0x14) << 0x14) | (var_r7 << 0x12);
|
||||
|
||||
PushGeometryCommand(0x2A, &sp8, 1);
|
||||
|
||||
sp4 = (u32) ((u32) (this->mUnk_44 << 0x11) >> 0xD) >> (4 - (((u32) (this->mUnk_40 & 0x1C000000) >> 0x1A) == 2 ? 1 : 0));
|
||||
PushGeometryCommand(0x2B, &sp4, 1);
|
||||
|
||||
sp38 = this->mPos;
|
||||
sp20.x = sp38.x;
|
||||
sp20.y = sp38.y;
|
||||
sp20.z = sp38.z;
|
||||
PushGeometryCommand(0x1C, &sp20, 3);
|
||||
|
||||
this->func_ov102_0218419c();
|
||||
this->func_ov102_021843b4();
|
||||
|
||||
sp0 = 1;
|
||||
PushGeometryCommand(0x12, &sp0, 1);
|
||||
}
|
||||
|
||||
void MapObjectUnkPTFL::func_ov102_0218419c() {
|
||||
VecFx32 sp68;
|
||||
VecFx32 sp5C;
|
||||
VecFx32 sp50;
|
||||
VecFx32 sp44;
|
||||
Mat3p sp20;
|
||||
u32 sp1C;
|
||||
u32 sp18;
|
||||
s32 temp_r0_3;
|
||||
s32 temp_r1_3;
|
||||
s32 temp_r7;
|
||||
|
||||
PushGeometryCommand(0x11, NULL, 0);
|
||||
|
||||
if (this->mState == 1) {
|
||||
sp68.x = (this->mUnk_5A << 0xB) + 0x52;
|
||||
sp68.y = FLOAT_TO_FX32(0.0f);
|
||||
sp68.z = FLOAT_TO_FX32(0.0f);
|
||||
PushGeometryCommand(0x1C, &sp68, 3);
|
||||
|
||||
temp_r0_3 = INT_TO_FX32(this->mUnk_5A);
|
||||
sp5C.x = MUL_FX32(temp_r0_3, FLOAT_TO_FX32(0.54f));
|
||||
sp5C.y = FLOAT_TO_FX32(1.0f);
|
||||
sp5C.z = MUL_FX32(temp_r0_3, FLOAT_TO_FX32(1.04f));
|
||||
PushGeometryCommand(0x1B, &sp5C, 3);
|
||||
} else {
|
||||
sp50.x = this->mUnk_5A << 0xB;
|
||||
sp50.y = FLOAT_TO_FX32(0.0f);
|
||||
sp50.z = FLOAT_TO_FX32(0.0f);
|
||||
PushGeometryCommand(0x1C, &sp50, 3);
|
||||
|
||||
temp_r7 = INT_TO_FX32(this->mUnk_5A);
|
||||
sp44.x = MUL_FX32(temp_r7, FLOAT_TO_FX32(0.5f));
|
||||
sp44.y = FLOAT_TO_FX32(1.0f);
|
||||
sp44.z = MUL_FX32(temp_r7, FLOAT_TO_FX32(1.0f));
|
||||
PushGeometryCommand(0x1B, &sp44, 3);
|
||||
}
|
||||
|
||||
temp_r1_3 = (u16) (this->mUnk_54 - 0x8000);
|
||||
Mat3p_InitZRotation(&sp20, SIN(temp_r1_3), COS(temp_r1_3));
|
||||
|
||||
PushGeometryCommand(0x1A, &sp20, 9);
|
||||
|
||||
sp1C = 1;
|
||||
PushGeometryCommand(0x40, &sp1C, 1);
|
||||
|
||||
func_ov102_02183da4(0xB, 0xA, 0xE, 0xF, 4, 0, 0, 0x20, 0x20, 0x20);
|
||||
|
||||
PushGeometryCommand(0x41, NULL, 0);
|
||||
|
||||
sp18 = 1;
|
||||
PushGeometryCommand(0x12, &sp18, 1);
|
||||
}
|
||||
|
||||
void MapObjectUnkPTFL::func_ov102_021843b4() {
|
||||
VecFx32 sp68;
|
||||
VecFx32 sp5C;
|
||||
VecFx32 sp50;
|
||||
VecFx32 sp44;
|
||||
Mat3p sp20;
|
||||
u32 sp1C;
|
||||
u32 sp18;
|
||||
s32 temp_r0_3;
|
||||
s32 temp_r7;
|
||||
|
||||
PushGeometryCommand(0x11, NULL, 0);
|
||||
|
||||
if (this->mState == 1) {
|
||||
sp68.x = (-this->mUnk_5A << 0xB) - 0x52;
|
||||
sp68.y = FLOAT_TO_FX32(0.0f);
|
||||
sp68.z = FLOAT_TO_FX32(0.0f);
|
||||
PushGeometryCommand(0x1C, &sp68, 3);
|
||||
|
||||
temp_r0_3 = INT_TO_FX32(this->mUnk_5A);
|
||||
sp5C.x = MUL_FX32(temp_r0_3, FLOAT_TO_FX32(0.54f));
|
||||
sp5C.y = FLOAT_TO_FX32(1.0f);
|
||||
sp5C.z = MUL_FX32(temp_r0_3, FLOAT_TO_FX32(1.04f));
|
||||
PushGeometryCommand(0x1B, &sp5C, 3);
|
||||
} else {
|
||||
sp50.x = -this->mUnk_5A << 0xB;
|
||||
sp50.y = FLOAT_TO_FX32(0.0f);
|
||||
sp50.z = FLOAT_TO_FX32(0.0f);
|
||||
PushGeometryCommand(0x1C, &sp50, 3);
|
||||
|
||||
temp_r7 = INT_TO_FX32(this->mUnk_5A);
|
||||
sp44.x = MUL_FX32(temp_r7, FLOAT_TO_FX32(0.5f));
|
||||
sp44.y = FLOAT_TO_FX32(1.0f);
|
||||
sp44.z = MUL_FX32(temp_r7, FLOAT_TO_FX32(1.0f));
|
||||
PushGeometryCommand(0x1B, &sp44, 3);
|
||||
}
|
||||
|
||||
Mat3p_InitZRotation(&sp20, -SIN(this->mUnk_54), COS(this->mUnk_54));
|
||||
|
||||
PushGeometryCommand(0x1A, &sp20, 9);
|
||||
|
||||
sp1C = 1;
|
||||
PushGeometryCommand(0x40, &sp1C, 1);
|
||||
|
||||
func_ov102_02183da4(0xF, 0xE, 0xA, 0xB, 1, 0, 0, 0x20, 0x20, 0);
|
||||
|
||||
PushGeometryCommand(0x41, NULL, 0);
|
||||
|
||||
sp18 = 1;
|
||||
PushGeometryCommand(0x12, &sp18, 1);
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
#include "MapObject/MapObjectUnkSAND.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e09c0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
|
||||
extern "C" void func_01ff91b8(unk16 *, fx32, fx32);
|
||||
extern unk32 data_ov031_02115fe0;
|
||||
extern MapObject_10 data_ov031_02118ac8[];
|
||||
extern MapObject_10 data_ov031_02118aec;
|
||||
extern MapObject_10 data_ov031_02118aa4;
|
||||
|
||||
struct UnkStruct_ov031_021189d0 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x70);
|
||||
/* 70 */ BMDSectionModel *unk_70;
|
||||
};
|
||||
extern UnkStruct_ov031_021189d0 data_ov031_021189d0;
|
||||
|
||||
struct UnkStruct_ov102_021848b0 {
|
||||
/* 00 */ u16 unk_00; // index for data_ov102_021848f0
|
||||
/* 02 */ s16 unk_02;
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
static const UnkStruct_ov102_021848b0 data_ov102_021848b0[] = {
|
||||
{5, 0x0000}, {4, 0x0000}, {4, 0x4000}, {3, 0x0000}, {4, 0x8000}, {2, 0x4000}, {3, 0x4000}, {1, 0x4000},
|
||||
{4, 0xC000}, {3, 0xC000}, {2, 0x0000}, {1, 0x0000}, {3, 0x8000}, {1, 0xC000}, {1, 0x8000}, {0, 0x0000},
|
||||
};
|
||||
|
||||
static const char data_ov102_021848f0[][16] = {
|
||||
"s0", "s1", "s2", "s3", "s4", "s5",
|
||||
};
|
||||
|
||||
void MapObjectUnkSAND_40::func_ov102_021835c4(VecFx32 *param1) {
|
||||
switch (this->mUnk_00) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
if (this->mUnk_04 <= 0) {
|
||||
MapObjectUnkSAND::func_ov031_0210b17c(this, 5);
|
||||
return;
|
||||
}
|
||||
|
||||
func_01ff91b8(&this->mUnk_02, 0x1333, 0x2000 / (this->mUnk_04 + 1));
|
||||
this->mUnk_04--;
|
||||
break;
|
||||
case 5:
|
||||
if (this->mUnk_04 <= 0) {
|
||||
MapObjectUnkSAND::func_ov031_0210b17c(this, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
this->mUnk_04--;
|
||||
break;
|
||||
case 6:
|
||||
if (this->mUnk_04 <= 0) {
|
||||
MapObjectUnkSAND::func_ov031_0210b17c(this, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
func_01ff91b8(&this->mUnk_02, 0, 0x2000 / (this->mUnk_04 + 1));
|
||||
this->mUnk_04--;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (this->mUnk_01 != this->mUnk_00) {
|
||||
switch (this->mUnk_00) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
if (this->mUnk_01 != 5) {
|
||||
data_027e0cec->func_ov000_0209feac(0x8B5, param1, 4, 0, 0);
|
||||
data_027e09a8->func_ov000_02071b30(0x183, param1, 0);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
data_027e0cec->func_ov000_0209feac(0x8B6, param1, 4, 0, 0);
|
||||
data_027e0cec->func_ov000_0209feac(0x8B7, param1, 4, 0, 0);
|
||||
data_027e09a8->func_ov000_02071b30(0x184, param1, 0);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
this->mUnk_01 = this->mUnk_00;
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkSAND_40::func_ov102_021837a8(Vec2bCpp param1, VecFx32 *param2) {
|
||||
Vec2bCpp spC[4];
|
||||
s32 sp8;
|
||||
UnkAngleStruct sp6;
|
||||
s32 var_r3;
|
||||
u16 var_r6;
|
||||
fx32 temp_r7;
|
||||
s32 var_r8;
|
||||
UnkStruct_027e0cd8_0C_Base *temp_r9;
|
||||
|
||||
var_r6 = 0;
|
||||
|
||||
spC[0].x = 0;
|
||||
spC[0].y = 0;
|
||||
|
||||
spC[1].x = 0;
|
||||
spC[1].y = 0;
|
||||
|
||||
spC[2].x = 0;
|
||||
spC[2].y = 0;
|
||||
|
||||
spC[3].x = 0;
|
||||
spC[3].y = 0;
|
||||
|
||||
for (var_r3 = 0; var_r3 < ARRAY_LEN(spC); var_r3++) {
|
||||
#if __MWERKS__
|
||||
spC[var_r3].data = param1.data;
|
||||
#else
|
||||
spC[var_r3].x = param1.x;
|
||||
spC[var_r3].y = param1.y;
|
||||
#endif
|
||||
}
|
||||
|
||||
spC[0].y++;
|
||||
spC[1].x++;
|
||||
spC[2].y--;
|
||||
spC[3].x--;
|
||||
|
||||
temp_r9 = data_027e0cd8->mUnk_0C;
|
||||
temp_r7 = temp_r9->func_01ffedf4(¶m1);
|
||||
|
||||
for (var_r8 = 0; var_r8 < ARRAY_LEN(spC); var_r8++) {
|
||||
if (temp_r7 == temp_r9->func_01ffedf4(&spC[var_r8])) {
|
||||
if (MapObjectUnkSAND::func_ov031_0210ae00(spC[var_r8], &sp8) != 0 && sp8 == this->mUnk_02) {
|
||||
var_r6 |= 1 << var_r8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const UnkStruct_ov102_021848b0 *ptr = &data_ov102_021848b0[var_r6];
|
||||
UnkSystem6_Derived2 sp14(
|
||||
G3d_GetUnkPtr(data_ov031_021189d0.unk_70, data_ov102_021848f0[data_ov102_021848b0[var_r6].unk_00]), true);
|
||||
sp6.angle_signed = ptr->unk_02;
|
||||
sp14.func_01ffc6d4(sp6, param2);
|
||||
}
|
||||
|
||||
void MapObjectUnkSAND::vfunc_08() {
|
||||
VecFx32 sp0;
|
||||
MapObjState temp_r0_3;
|
||||
s32 var_r6;
|
||||
s32 var_r8;
|
||||
s32 var_r9;
|
||||
|
||||
sp0 = this->mPos;
|
||||
sp0.y = this->mUnk_4C;
|
||||
|
||||
var_r8 = 1;
|
||||
var_r9 = 1;
|
||||
|
||||
for (var_r6 = 0; var_r6 < ARRAY_LEN(this->mUnk_40); var_r6++) {
|
||||
this->mUnk_40[var_r6].func_ov102_021835c4(&sp0);
|
||||
sp0.x += 0x1000;
|
||||
|
||||
var_r8 = (var_r8 & (this->mUnk_40[var_r6].mUnk_00 != 0 ? 1 : 0)) ? 1 : 0;
|
||||
var_r9 = (var_r9 & (this->mUnk_40[var_r6].mUnk_00 == 0 ? 1 : 0)) ? 1 : 0;
|
||||
}
|
||||
|
||||
if (var_r9 != 0) {
|
||||
this->Kill();
|
||||
return;
|
||||
}
|
||||
|
||||
temp_r0_3 = this->mState;
|
||||
this->mUnk_10 = NULL;
|
||||
this->mState = MapObjectUnkSANDState_0;
|
||||
|
||||
if (var_r8 != 0) {
|
||||
this->mPos.y = this->mUnk_4C + this->mUnk_40[0].mUnk_02;
|
||||
|
||||
if (this->mUnk_40[0].mUnk_02 == this->mUnk_40[1].mUnk_02) {
|
||||
this->mUnk_10 = &data_ov031_02118aa4;
|
||||
} else {
|
||||
this->mUnk_10 = &data_ov031_02118ac8[0];
|
||||
|
||||
this->mUnk_60.x = this->mPos.x;
|
||||
this->mUnk_60.z = this->mPos.z;
|
||||
this->mUnk_60.y = this->mUnk_4C + this->mUnk_40[1].mUnk_02;
|
||||
|
||||
this->mUnk_50.mUnk_0C = &data_ov031_02118aec;
|
||||
this->mState = MapObjectUnkSANDState_1;
|
||||
}
|
||||
} else {
|
||||
for (s32 var_r1_2 = 0; var_r1_2 < ARRAY_LEN(this->mUnk_40); var_r1_2++) {
|
||||
if (this->mUnk_40[var_r1_2].mUnk_00 != 0) {
|
||||
this->mPos.y = this->mUnk_4C + this->mUnk_40[var_r1_2].mUnk_02;
|
||||
this->mUnk_10 = &data_ov031_02118ac8[var_r1_2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (temp_r0_3 != this->mState) {
|
||||
if (this->mState == MapObjectUnkSANDState_1) {
|
||||
data_027e09c0->func_ov000_0207e240(&this->mUnk_50);
|
||||
} else {
|
||||
data_027e09c0->func_ov000_0207e254(&this->mUnk_50);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkSAND::vfunc_0C() {
|
||||
if (data_ov031_02115fe0 >= 0 && data_027e09b8->func_ov000_020732ec(data_ov031_02115fe0) != 0) {
|
||||
this->vfunc_08();
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkSAND::vfunc_14() {
|
||||
VecFx32 sp4 = this->mPos;
|
||||
Vec2bCpp sp0 = this->mUnk_3A;
|
||||
|
||||
for (int var_r7 = 0; var_r7 < ARRAY_LEN(this->mUnk_40); var_r7++) {
|
||||
if (this->mUnk_40[var_r7].mUnk_00 != 0) {
|
||||
sp4.y = this->mUnk_4C + this->mUnk_40[var_r7].mUnk_02;
|
||||
this->mUnk_40[var_r7].func_ov102_021837a8(sp0, &sp4);
|
||||
}
|
||||
|
||||
sp0.x++;
|
||||
sp4.x += 0x1000;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/UnkStruct_027e09c0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
|
||||
void UnkStruct_027e0cd8_0C::vfunc_0C() {
|
||||
this->UnkStruct_027e0cd8_0C_Base::vfunc_0C();
|
||||
|
||||
for (int var_r7 = 0; var_r7 < this->mUnk_1D4; var_r7++) {
|
||||
for (int var_r8 = 0; var_r8 < ARRAY_LEN(this->mUnk_170[0]); var_r8++) {
|
||||
if (this->mUnk_170[var_r7][var_r8] != NULL) {
|
||||
this->mUnk_170[var_r7][var_r8]->mUnk_00.func_01ffc3b4();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C::func_ov102_02184628() {
|
||||
if (this->mUnk_110 == 7) {
|
||||
this->mUnk_098->func_ov047_0213055c();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,423 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Actor/ActorUnkIWTS.hpp"
|
||||
#include "Player/PlayerActorBase.hpp"
|
||||
#include "Unknown/UnkStruct_027e0954.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e09bc.hpp"
|
||||
#include "Unknown/UnkStruct_027e09c0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5214.hpp"
|
||||
|
||||
extern "C" void func_01ffaf74(VecFx32 *, Mat4x3p *, VecFx32 *);
|
||||
extern "C" unk32 func_01ffb6a8(unk32, unk32);
|
||||
extern "C" void func_ov095_0217aa88(void *, unk16 *, unk32, UnkAngleStruct);
|
||||
extern "C" void func_ov095_0217aaa8(void *, unk16 *, unk32);
|
||||
extern "C" void func_ov031_020dcea4(void *, UnkStruct_027e0ce0_40_Base_78 *, UnkAngleStruct);
|
||||
extern "C" void func_ov000_0205d65c(void *, VecFx32 *, VecFx32 *, UnkAngleStruct);
|
||||
extern Vec2s data_ov031_02112b54;
|
||||
|
||||
void PlayerActorBase_74::func_ov102_02182c20(unk32 param1, Mat4x3p *param2) {
|
||||
this->mUnk_04[param1].x = this->mUnk_1C[param1].x;
|
||||
this->mUnk_04[param1].y = this->mUnk_1C[param1].y;
|
||||
this->mUnk_04[param1].z = this->mUnk_1C[param1].z;
|
||||
|
||||
VecFx32 sp0;
|
||||
VecFx32_Init(FLOAT_TO_FX32(0.15f), FLOAT_TO_FX32(0.05f), FLOAT_TO_FX32(0.0f), &sp0);
|
||||
func_01ffaf74(&sp0, param2, &this->mUnk_1C[param1]);
|
||||
}
|
||||
|
||||
bool PlayerActorBase_74::UnknownInline1(u32 index, VecFx32 *pVec) {
|
||||
s32 temp_r0_3;
|
||||
s32 temp_r2_4;
|
||||
s32 temp_r3_3;
|
||||
|
||||
if (this->mUnk_1C[index].y <= this->mUnk_04[index].y) {
|
||||
return false;
|
||||
}
|
||||
|
||||
temp_r0_3 = data_027e0cd8->mUnk_0C->vfunc_28(&this->mUnk_1C[index], 1, 0) + 0xF6;
|
||||
|
||||
if (temp_r0_3 >= this->mUnk_1C[index].y + 0x800) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this->mUnk_04[index].y <= temp_r0_3 + 0xF6) {
|
||||
pVec->x = this->mUnk_04[index].x;
|
||||
pVec->y = this->mUnk_04[index].y;
|
||||
pVec->z = this->mUnk_04[index].z;
|
||||
|
||||
pVec->y = temp_r0_3;
|
||||
|
||||
if (this->mUnk_1C[index].y > temp_r0_3 + 0xF6) {
|
||||
return true;
|
||||
}
|
||||
|
||||
temp_r3_3 = this->mUnk_1C[index].x - this->mUnk_04[index].x;
|
||||
temp_r2_4 = this->mUnk_1C[index].z - this->mUnk_04[index].z;
|
||||
|
||||
if (ABS2(temp_r3_3) >= 0x7FFF || ABS2(temp_r2_4) >= 0x7FFF) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ROUND_FX32(temp_r3_3 * temp_r3_3) + ROUND_FX32(temp_r2_4 * temp_r2_4) > 0x45) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void PlayerActorBase_74::func_ov102_02182c84(bool param1, unk32 param2, UnkAngleStruct param3, Mat4x3p *param4,
|
||||
Mat4x3p *param5) {
|
||||
func_ov102_02182c20(0, param4);
|
||||
func_ov102_02182c20(1, param5);
|
||||
|
||||
if (this->mUnk_00 != 0) {
|
||||
this->mUnk_00--;
|
||||
return;
|
||||
}
|
||||
|
||||
if (param1) {
|
||||
for (u32 var_r7 = 0; var_r7 < ARRAY_LEN(this->mUnk_04); var_r7++) {
|
||||
VecFx32 sp4;
|
||||
if (this->UnknownInline1(var_r7, &sp4)) {
|
||||
sp4.y += param2;
|
||||
data_027e0cec->func_ov000_0209ff4c(0x85F, &sp4, param3, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0ce0_40_108::func_ov102_02182e54(unk32 param1, unk32 param2, unk32 param3) {
|
||||
Vec2s sp6;
|
||||
|
||||
if (!data_027e09bc->mUnk_04[param1]->func_01ffd43c(&sp6, param2, 1)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (sp6.x < -24 || sp6.x >= 280) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (sp6.y < -24 || sp6.y >= 216) {
|
||||
return;
|
||||
}
|
||||
|
||||
sp6.x -= data_ov031_02112b54.x / 2;
|
||||
sp6.y -= data_ov031_02112b54.y / 2;
|
||||
|
||||
if (this->mUnk_40 == &this->mUnk_10) {
|
||||
data_027e0954->mUnk_00[1].mUnk_04.Prepend(this);
|
||||
}
|
||||
|
||||
if (this->UnknownInline1()) {
|
||||
return;
|
||||
}
|
||||
|
||||
UnkStruct_027e0ce0_40_108_10 sp0;
|
||||
UnkStruct_027e0ce0_40_108_10 *ptr = &sp0;
|
||||
ptr->mUnk_00 = sp6;
|
||||
ptr->mUnk_04 = param3;
|
||||
|
||||
UnkStruct_027e0ce0_40_108_10 *temp_r3 = this->mUnk_40;
|
||||
if (temp_r3 != NULL) {
|
||||
temp_r3->mUnk_00 = ptr->mUnk_00;
|
||||
temp_r3->mUnk_04 = ptr->mUnk_04;
|
||||
}
|
||||
|
||||
this->mUnk_40++;
|
||||
}
|
||||
|
||||
void UnkStruct_ItemManager_20::func_ov102_02182fa8(unk32 param1, unk32 param2) {
|
||||
this->mUnk_00->func_ov031_020dbc80(param1, param2);
|
||||
this->mUnk_04->func_ov031_020db4f0(param1, param2);
|
||||
this->mUnk_08->func_ov031_020db704(param1, param2);
|
||||
this->mUnk_0C->func_ov031_020db958(param1, param2);
|
||||
this->mUnk_14.func_ov031_020db7f4();
|
||||
}
|
||||
|
||||
void UnkStruct_ItemManager_20::func_ov102_02182ffc(unk32 param1) {
|
||||
if (!data_027e09b8->func_01ffd420()) {
|
||||
this->mUnk_04->func_ov031_020db528(param1);
|
||||
}
|
||||
|
||||
this->mUnk_0C->func_ov031_020dba3c(param1);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0ce0_40::func_ov102_0218303c(unk32 param1, ItemManager *pItemMgr) {
|
||||
s32 temp_r2;
|
||||
bool var_r1;
|
||||
UnkStruct_027e0ce0_40_150 *temp_r1;
|
||||
|
||||
temp_r2 = this->func_ov017_020bcde8(param1, pItemMgr);
|
||||
|
||||
if (pItemMgr != NULL) {
|
||||
pItemMgr->func_ov017_020bd2a0(param1, temp_r2);
|
||||
}
|
||||
|
||||
temp_r1 = this->mUnk_150;
|
||||
if (temp_r1 != NULL) {
|
||||
temp_r1->mUnk_00 = false;
|
||||
temp_r1->mUnk_01 = false;
|
||||
}
|
||||
|
||||
this->mPlayer.func_ov017_020bd788(param1);
|
||||
|
||||
if (this->mUnk_328 != NULL) {
|
||||
this->mUnk_328->func_ov093_0216d5b8(param1);
|
||||
|
||||
UnkStruct_027e0ce0_40_328 *ptr = this->mUnk_328;
|
||||
if (ptr->mUnk_0CC) {
|
||||
this->func_ov093_02168220();
|
||||
this->mPlayer.func_ov093_0216ce24(&ptr->mUnk_0D0);
|
||||
this->mUnk_328->func_ov093_0216f71c(&ptr->mUnk_0DC);
|
||||
ptr->mUnk_0CC = false;
|
||||
}
|
||||
}
|
||||
|
||||
var_r1 = false;
|
||||
if (this->mUnk_14C != 0) {
|
||||
var_r1 = this->mUnk_14C->func_ov092_021689e8(param1, this, &this->mPlayer, this->mUnk_328);
|
||||
}
|
||||
|
||||
if (var_r1) {
|
||||
SET_FLAG2(this->mUnk_104, UnkFlags3_7);
|
||||
} else {
|
||||
UNSET_FLAG2(this->mUnk_104, UnkFlags3_7);
|
||||
}
|
||||
|
||||
if (this->mIsSceneTowerInsideStairs) {
|
||||
data_ov000_020b51b8.func_ov000_0206bdd4(&this->mPlayer);
|
||||
data_ov000_020b5214.func_ov000_0206ed1c(&this->mPlayer);
|
||||
}
|
||||
|
||||
if (this->mIsSceneTowerOutsideStairs) {
|
||||
data_ov000_020b5214.func_ov000_0206edd8(&this->mPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0ce0_40::func_ov102_02183180(unk32 param1, bool param2) {
|
||||
this->mPlayer.func_ov017_020bdcf4();
|
||||
|
||||
if (this->mUnk_328 != NULL) {
|
||||
this->mUnk_328->func_ov093_0216de30(param1, param2);
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0ce0_40::func_ov102_021831b4(unk32 param1) {
|
||||
this->mUnk_07C.func_ov017_020be434();
|
||||
this->mPlayer.func_ov017_020bdd84(param1, 0);
|
||||
|
||||
if (this->mUnk_328 != NULL) {
|
||||
this->mUnk_328->func_ov093_0216dec8(param1);
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0ce0_40::func_ov102_021831f0(unk32 param1) {
|
||||
this->mPlayer.func_ov017_020bdf48(param1, 1, 0, 0);
|
||||
|
||||
if (this->mUnk_328 != NULL) {
|
||||
this->mUnk_328->func_ov093_0216e1a4(param1);
|
||||
}
|
||||
|
||||
if (this->mUnk_14C != NULL) {
|
||||
this->mUnk_14C->func_ov093_02168e24(param1);
|
||||
}
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/d1Vky
|
||||
void UnkStruct_027e0ce0_40_Base_74::func_ov102_0218323c(UnkStruct_027e0ce0_40_Base_14 *param1, s32 param2) {
|
||||
s16 temp_r11;
|
||||
s16 var_r3;
|
||||
s32 temp_r10;
|
||||
s32 var_r0_2;
|
||||
s32 var_r1_3;
|
||||
s32 var_r2;
|
||||
s32 var_r2_2;
|
||||
s32 var_r3_2;
|
||||
s32 var_ip;
|
||||
s32 var_lr;
|
||||
s32 var_r5;
|
||||
s32 var_r6;
|
||||
s32 var_r7;
|
||||
s32 temp_r8_2;
|
||||
s16 temp_r8;
|
||||
u32 var_r9;
|
||||
Vec2s *ptr;
|
||||
s16 y;
|
||||
s16 x;
|
||||
|
||||
if (param2 == 0 || param1->mUnk_40 <= 0 || this->mUnk_58 != -1) {
|
||||
this->mUnk_00[this->mUnk_54] = 0x00;
|
||||
|
||||
ptr = &this->mUnk_1C[this->mUnk_54];
|
||||
ptr->x = 0x80;
|
||||
y = 0x60;
|
||||
} else {
|
||||
var_r3 = param1->mUnk_44 - param1->mUnk_42;
|
||||
this->mUnk_00[this->mUnk_54] = CLAMP(var_r3, -0x2AAB, 0x2AAB);
|
||||
|
||||
x = param1->mTouchControl.mTouchPosLast.x;
|
||||
ptr = &this->mUnk_1C[this->mUnk_54];
|
||||
this->mUnk_1C[this->mUnk_54].x = x;
|
||||
y = param1->mTouchControl.mTouchPosLast.y;
|
||||
}
|
||||
|
||||
ptr->y = y;
|
||||
|
||||
this->mUnk_54 = func_01ffb6a8(this->mUnk_54 + 1, 0xE);
|
||||
|
||||
var_r2 = 0;
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mUnk_00); i++) {
|
||||
var_r2 += this->mUnk_00[i];
|
||||
}
|
||||
|
||||
if (var_r2 < -0xD555) {
|
||||
var_r7 = 0x05;
|
||||
} else if (var_r2 > 0xD555) {
|
||||
var_r7 = 0x06;
|
||||
} else {
|
||||
var_r7 = -0xD555 >> 0x10;
|
||||
goto do_set;
|
||||
}
|
||||
|
||||
var_r6 = 0x80;
|
||||
var_r5 = 0x80;
|
||||
var_lr = 0x60;
|
||||
var_ip = 0x60;
|
||||
var_r3_2 = 0xE0;
|
||||
var_r2_2 = 0xE0;
|
||||
var_r1_3 = 0x20;
|
||||
var_r0_2 = 0x20;
|
||||
|
||||
for (var_r9 = 0; var_r9 < ARRAY_LEN(this->mUnk_1C); var_r9++) {
|
||||
temp_r8 = this->mUnk_1C[var_r9].x;
|
||||
|
||||
if (temp_r8 < var_r6) {
|
||||
var_r6 = temp_r8;
|
||||
} else if (temp_r8 > var_r5) {
|
||||
var_r5 = temp_r8;
|
||||
}
|
||||
|
||||
temp_r11 = this->mUnk_1C[var_r9].y;
|
||||
if (temp_r11 < var_lr) {
|
||||
var_lr = temp_r11;
|
||||
} else if (temp_r11 > var_ip) {
|
||||
var_ip = temp_r11;
|
||||
}
|
||||
|
||||
temp_r10 = temp_r8 + temp_r11;
|
||||
temp_r8_2 = temp_r8 - temp_r11;
|
||||
|
||||
if (temp_r10 < var_r3_2) {
|
||||
var_r3_2 = temp_r10;
|
||||
} else if (temp_r10 > var_r2_2) {
|
||||
var_r2_2 = temp_r10;
|
||||
}
|
||||
|
||||
if (temp_r8_2 < var_r1_3) {
|
||||
var_r1_3 = temp_r8_2;
|
||||
} else if (temp_r8_2 > var_r0_2) {
|
||||
var_r0_2 = temp_r8_2;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_r5 - var_r6 < 0x32 || var_ip - var_lr < 0x32 || var_r2_2 - var_r3_2 < 0x46 || var_r0_2 - var_r1_3 < 0x46) {
|
||||
var_r7 = -1;
|
||||
}
|
||||
|
||||
do_set:
|
||||
this->mUnk_58 = var_r7;
|
||||
}
|
||||
|
||||
static inline bool UnknownInline2(PlayerLinkActor_A0_1C *param2, VecFx32 *param4, UnkAngleStruct *param5) {
|
||||
if (param2->mUnk_0C != 0) {
|
||||
Actor *temp_r0_2 = gpActorManager->func_01fff3b4(param2->mUnk_0C);
|
||||
|
||||
if (temp_r0_2 != NULL && temp_r0_2->GetActorId() == ActorId_IWTS) {
|
||||
s16 sp0;
|
||||
func_ov000_0205d65c(&sp0, param4, &((ActorUnkIWTS *) temp_r0_2)->mUnk_22F8, *param5);
|
||||
param5->angle = sp0;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/jzXAd
|
||||
void func_ov102_02183414(s16 *param1, PlayerLinkActor_A0_1C *param2, bool param3, VecFx32 *param4, UnkAngleStruct param5,
|
||||
s32 param6) {
|
||||
s16 sp6;
|
||||
s16 sp4;
|
||||
s16 sp2;
|
||||
s16 var_r0_2;
|
||||
s32 var_r1_3;
|
||||
s32 var_r2;
|
||||
s32 var_r3;
|
||||
UnkStruct_027e0ce0_40_Base_78 *temp_r4;
|
||||
u16 temp_r6;
|
||||
u16 var_r0;
|
||||
u16 *temp_r1;
|
||||
u16 *temp_r1_2;
|
||||
u16 *temp_r2;
|
||||
bool var_r5;
|
||||
|
||||
STACK_PAD(0x10);
|
||||
|
||||
var_r5 = false;
|
||||
|
||||
if (param3) {
|
||||
if (param2->mUnk_00->Unk78HasValue()) {
|
||||
if (!UnknownInline2(param2, param4, ¶m5)) {
|
||||
temp_r4 = param2->mUnk_00->mUnk_078;
|
||||
var_r5 = true;
|
||||
var_r1_3 = 0;
|
||||
|
||||
if (temp_r4 != NULL) {
|
||||
temp_r6 = temp_r4->mUnk_00;
|
||||
var_r2 = 0;
|
||||
|
||||
var_r3 = 1;
|
||||
if (temp_r6 != 0x100 && temp_r6 != 0x101) {
|
||||
var_r3 = 0;
|
||||
}
|
||||
|
||||
if (var_r3 != 0) {
|
||||
if (temp_r6 == 0x101) {
|
||||
var_r0 = 0;
|
||||
} else {
|
||||
var_r0 = temp_r4->mUnk_02;
|
||||
}
|
||||
|
||||
if (var_r0 == 1) {
|
||||
var_r2 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_r2 != 0) {
|
||||
var_r1_3 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_r1_3 != 0) {
|
||||
if (!param2->mUnk_06) {
|
||||
func_ov095_0217aa88(&sp6, ¶m2->mUnk_04, param6, param5);
|
||||
param5.angle = sp6;
|
||||
} else {
|
||||
func_ov095_0217aaa8(&sp4, ¶m2->mUnk_04, param6);
|
||||
param5.angle = sp4;
|
||||
}
|
||||
} else {
|
||||
func_ov031_020dcea4(&sp2, *(UnkStruct_027e0ce0_40_Base_78 **) ¶m2->mUnk_00->mUnk_078, param5);
|
||||
param5.angle = sp2 + 0x4000;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
param2->mUnk_06 = var_r5;
|
||||
*param1 = param5.angle_signed;
|
||||
}
|
||||
@@ -619,7 +619,7 @@ void PlayerGet::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) {
|
||||
}
|
||||
}
|
||||
|
||||
UnkStruct_027e09bc_0C *uVar11 = data_027e09bc->mUnk_0C;
|
||||
UnkStruct_027e09bc_0C *uVar11 = data_027e09bc->mUnk_04[2];
|
||||
uVar11->func_ov000_0207834c(this->mUnk_34, func_ov000_02077590(4), 0);
|
||||
|
||||
UnkStruct_PlayerGet_48 *pUnk_48 = this->mUnk_48;
|
||||
@@ -930,7 +930,7 @@ void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
|
||||
}
|
||||
|
||||
if (!temp_r6) {
|
||||
data_027e09bc->mUnk_0C->func_ov000_02078230(0);
|
||||
data_027e09bc->mUnk_04[2]->func_ov000_02078230(0);
|
||||
}
|
||||
|
||||
if (data_027e09b8->func_ov000_020732fc(this->mUnk_54.mUnk_08) != 0) {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cdc.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b3000.hpp"
|
||||
|
||||
#include "math.hpp"
|
||||
|
||||
@@ -71,7 +72,6 @@ extern fx16 data_0203feb0[];
|
||||
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, VecFx32 *);
|
||||
extern "C" void func_01ff9638(VecFx32 *, s16);
|
||||
extern "C" void func_01ff9770(VecFx32 *);
|
||||
extern unk32 data_ov000_020b3000;
|
||||
extern "C" bool func_ov000_02080998(VecFx32 *);
|
||||
extern "C" void func_01ff930c(UnkStruct_ov000_0208f820_40 *, unk16, unk32);
|
||||
|
||||
@@ -323,12 +323,7 @@ void PlayerSceneChange::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) {
|
||||
}
|
||||
|
||||
if ((this->mUnk_24->mUnk_104 & 0x10) || this->mUnk_28->pItemManager->GetTearsAmount() == MAX_TEARS_OF_LIGHT) {
|
||||
struct {
|
||||
unk32 actorId;
|
||||
void *ptr;
|
||||
} local_9c;
|
||||
local_9c.ptr = &data_ov000_020b3000;
|
||||
local_9c.actorId = ActorId_RPMT;
|
||||
UnkStruct_ov000_020b3000 local_9c(ActorId_RPMT);
|
||||
Actor **ppAVar12 = gpActorManager->func_01fff350(&local_9c, gpActorManager->mActorTable);
|
||||
|
||||
if (ppAVar12 == gpActorManager->mUnk_08) {
|
||||
|
||||
Reference in New Issue
Block a user