mirror of
https://github.com/zeldaret/st
synced 2026-08-02 00:23:57 -04:00
Decompile overlay 112 (PlayerSceneChange) (#38)
* fix scratch upload? * start overlay 112 * comment format thing * build fixes 1 * name cs index * started vfunc_0c and vfunc_10 * added scratch links * config changes * fix build issues * first wave of broken matches * second wave of broken matches * fix build issue * third wave of broken matches * forth wave of broken matches
This commit is contained in:
@@ -14,7 +14,8 @@ naming scheme:
|
||||
- b_xxx: "B" for "Boss" -> dungeon boss area
|
||||
- f_xxx: "F" for "Field" -> normal gameplay area (also known as a "land" area)
|
||||
*/
|
||||
enum SceneIndex {
|
||||
typedef u32 SceneIndex;
|
||||
enum SceneIndex_ {
|
||||
/* 0 */ SceneIndex_test_trn = 0x00, //
|
||||
/* 1 */ SceneIndex_test_trn2 = 0x01, //
|
||||
/* 2 */ SceneIndex_test_pre = 0x02, //
|
||||
@@ -158,14 +159,14 @@ struct UnkStruct_func_01ffd400 {
|
||||
};
|
||||
|
||||
struct UnkStruct_SceneChange1 {
|
||||
/* 00 */ unk32 nextSceneIndex;
|
||||
/* 00 */ unk32 mNextSceneIndex;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ unk8 mUnk_0A;
|
||||
/* 0B */ unk8 mUnk_0B;
|
||||
/* 0A */ u8 mRoomIndex;
|
||||
/* 0B */ unk8 mSpawnIndex;
|
||||
/* 0C */ unk8 mUnk_0C;
|
||||
/* 0D */ unk8 mUnk_0D;
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
/* 0E */ unk8 mCutsceneIndex;
|
||||
/* 0F */ unk8 mUnk_0F;
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 11 */ unk8 mUnk_11;
|
||||
@@ -174,14 +175,15 @@ struct UnkStruct_SceneChange1 {
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_SceneChange1() {
|
||||
this->nextSceneIndex = SceneIndex_Max;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mUnk_0A = 0xFF;
|
||||
this->mUnk_0B = 0;
|
||||
this->mNextSceneIndex = SceneIndex_Max;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mRoomIndex = 0xFF; // this changes when you enter a house, it's not clear if it has another purpose yet
|
||||
this->mSpawnIndex = 0; // changing this then saving will change your spawn location after opening the save again
|
||||
// (not the area)
|
||||
this->mUnk_0C = 0;
|
||||
this->mUnk_0D = 0;
|
||||
this->mUnk_0E = 0x2B;
|
||||
this->mCutsceneIndex = 0x2B; // array length of `data_ov000_020af780`
|
||||
this->mUnk_0F = 0;
|
||||
this->mUnk_10 = 0;
|
||||
}
|
||||
@@ -194,8 +196,7 @@ public:
|
||||
/* 78 */ UnkStruct_SceneChange1 mUnk_78;
|
||||
/* 8C */ unk32 mNextSceneIndex;
|
||||
/* 90 */ STRUCT_PAD(0x90, 0xB4);
|
||||
/* B4 */ unk32
|
||||
mSpawnTransitionType; // the behavior of Link when entering a new scene (walk from the entrance, stay still etc)
|
||||
/* B4 */ unk32 mSpawnTransitionType; // the behavior of Link when entering a new scene
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4 : public SysObject {
|
||||
@@ -208,15 +209,8 @@ public:
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
/* 0F */ unk8 mUnk_0F;
|
||||
/* 10 */ unk32 *mUnk_10;
|
||||
/* 14 */ unk32 mSavedSceneIndex;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ unk8 mUnk_1C;
|
||||
/* 1D */ unk8 mUnk_1D;
|
||||
/* 1E */ unk8 mSavedHouseIndex; // this changes when you enter a house, it's not clear if it has another purpose yet
|
||||
/* 1F */ unk8 mSavedSpawnIndex; // changing this then saving will change your spawn location after opening the save again
|
||||
// (not the area)
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ STRUCT_PAD(0x24, 0x54);
|
||||
/* 14 */ UnkStruct_SceneChange1 mUnk_14;
|
||||
/* 32 */ STRUCT_PAD(0x28, 0x54);
|
||||
/* 54 */ void *mUnk_54; // vtable
|
||||
/* 58 */ UnkStruct_WarpUnk1 *mpWarpUnk1;
|
||||
/* 5C */ unk32 mUnk_5C;
|
||||
@@ -259,6 +253,10 @@ public:
|
||||
void func_ov000_020708d8(unk32 param1);
|
||||
void func_ov000_02070938(unk32 param1);
|
||||
void func_ov000_02070a4c(unk32 param1);
|
||||
unk32 func_ov000_02070554();
|
||||
unk16 *func_ov000_02070538();
|
||||
bool func_ov000_02070a9c(UnkStruct_SceneChange1 *param1);
|
||||
bool func_ov000_02072154(UnkStruct_SceneChange1 *param1, unk32 param2);
|
||||
|
||||
void func_ov017_020bb994(void *param1);
|
||||
void func_ov017_020bb994(unk32 param1);
|
||||
|
||||
@@ -13,6 +13,7 @@ public:
|
||||
unk32 func_ov000_020732fc(unk32 param1);
|
||||
unk32 func_ov000_020732dc(unk32 param1);
|
||||
unk32 func_ov000_02073470(void *param1, unk32 param2);
|
||||
unk32 func_ov000_02073388(void *param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09b8 *data_027e09b8;
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
|
||||
class UnkStruct_027e0cd8_0c {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
@@ -79,6 +81,7 @@ public:
|
||||
/* 2c */ virtual void vfunc_2c();
|
||||
|
||||
unk32 func_ov000_02080a44();
|
||||
bool func_ov000_02080658(unk32 param1, UnkStruct_SceneChange1 *param2);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8 {
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0cdc {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e0cdc();
|
||||
~UnkStruct_027e0cdc();
|
||||
|
||||
unk32 func_ov000_02082a28(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0cdc *data_027e0cdc;
|
||||
@@ -8,14 +8,42 @@ public:
|
||||
void func_ov031_02103878();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce8_00 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x38);
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3C */ STRUCT_PAD(0x3C, 0xCC);
|
||||
/* CC */ unk32 mUnk_CC;
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C();
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2C */ virtual void vfunc_2C();
|
||||
/* 30 */ virtual ~UnkStruct_027e0ce8_00();
|
||||
/* 38 */ virtual void vfunc_38() = 0;
|
||||
/* 3C */ virtual void vfunc_3C() = 0;
|
||||
|
||||
void func_ov000_0209d6ac(Vec3p *param1);
|
||||
void func_ov034_02121d84();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce8 {
|
||||
public:
|
||||
/* 00 */ void *mUnk_00; // pointer to polygon list?
|
||||
/* 04 */ void *mUnk_04; // pointer to the end of that list
|
||||
/* 00 */ UnkStruct_027e0ce8_00 *mUnk_00; // pointer to polygon list?
|
||||
/* 04 */ UnkStruct_027e0ce8_00 *mUnk_04; // pointer to the end of that list
|
||||
/* 08 */ UnkStruct_func_01fff520_ret **mUnk_08;
|
||||
|
||||
UnkStruct_func_01fff520_ret **func_01fff520(UnkStruct_ov000_020b34c4 *param1, void *);
|
||||
unk32 func_01fff498(UnkStruct_ov000_0208f820_04 param1);
|
||||
UnkStruct_027e0ce8_00 *func_01fff498(unk32 param1, unk32 param2);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0ce8 *data_027e0ce8;
|
||||
|
||||
@@ -25,6 +25,8 @@ public:
|
||||
|
||||
class UnkStruct_PlayerGet_64 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_PlayerGet_64(unk32 *param1, unk32 param2);
|
||||
~UnkStruct_PlayerGet_64();
|
||||
|
||||
@@ -37,15 +39,27 @@ public:
|
||||
/* 38 */ UnkStruct_PlayerGet_64 mUnk_38;
|
||||
/* 3c */ unk32 mUnk_3c;
|
||||
/* 40 */ u16 mUnk_40;
|
||||
|
||||
void func_ov093_0216f76c(Vec3p *param1, unk32 param2);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_28 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x54];
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x38);
|
||||
/* 38 */ UnkStruct_PlayerGet_64 mUnk_38;
|
||||
/* 3C */ unk32 mUnk_3C;
|
||||
/* 40 */ u16 mUnk_40;
|
||||
/* 42 */ STRUCT_PAD(0x42, 0x48);
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 48 */ unk32 mUnk_4C;
|
||||
/* 48 */ unk32 mUnk_50;
|
||||
/* 54 */ ItemManager *pItemManager;
|
||||
/* 58 */ unk8 mUnk_58[0x98 - 0x58];
|
||||
/* 58 */ STRUCT_PAD(0x58, 0x94);
|
||||
/* 94 */ unk32 mUnk_94;
|
||||
/* 98 */ UnkStruct_ov000_0208f820_28_98 *mUnk_98;
|
||||
|
||||
void func_ov000_0208cf20(unk32 param1, unk32 param2);
|
||||
void func_ov000_0208d12c();
|
||||
void func_ov058_02152a24();
|
||||
};
|
||||
|
||||
@@ -56,8 +70,18 @@ public:
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk8 mUnk_14[0x58 - 0x14];
|
||||
/* 14 */ unk16 mUnk_14;
|
||||
/* 16 */ unk16 mUnk_16;
|
||||
/* 18 */ STRUCT_PAD(0x18, 0x26);
|
||||
/* 26 */ unk16 mUnk_26;
|
||||
/* 28 */ STRUCT_PAD(0x28, 0x58);
|
||||
/* 58 */ unk16 mUnk_58;
|
||||
/* 5A */ STRUCT_PAD(0x5A, 0x9C);
|
||||
/* 9C */ unk32 mUnk_9C;
|
||||
/* A0 */ STRUCT_PAD(0xA0, 0x148);
|
||||
/* 148 */ u32 mUnk_148;
|
||||
/* 14C */ unk32 mUnk_14C;
|
||||
/* 150 */ unk32 mUnk_150;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_30_10 {
|
||||
@@ -77,7 +101,9 @@ public:
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk8 mUnk_28[0x70 - 0x28];
|
||||
/* 28 */ STRUCT_PAD(0x28, 0x68);
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 6C */ unk32 mUnk_6C;
|
||||
/* 70 */ u32 mUnk_70;
|
||||
|
||||
void func_ov000_020921e4(unk32 param1);
|
||||
@@ -85,23 +111,10 @@ public:
|
||||
void func_ov000_02093a04();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_38 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_3c {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_40 {
|
||||
public:
|
||||
/* 00 */ unk16 mUnk_00;
|
||||
/* 00 */ u16 mUnk_00;
|
||||
/* 00 */ s16 mUnk_02;
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_vfunc_0c_param1 {
|
||||
@@ -110,9 +123,7 @@ public:
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 10 */ Vec3p mUnk_10;
|
||||
/* 1c */ ItemId mUnk_1c;
|
||||
};
|
||||
|
||||
@@ -121,6 +132,17 @@ public:
|
||||
/* 00 */ unk8 mUnk_00[0x24];
|
||||
/* 24 */ unk8 mUnk_24;
|
||||
/* 25 */ unk8 mUnk_25;
|
||||
/* 26 */ STRUCT_PAD(0x26, 0x78);
|
||||
/* 78 */ void **mUnk_78;
|
||||
/* 7C */ STRUCT_PAD(0x7C, 0x94);
|
||||
/* 94 */ unk32 mUnk_94;
|
||||
/* 98 */ unk32 mUnk_98;
|
||||
/* 9C */ unk32 mUnk_9C;
|
||||
/* A0 */ STRUCT_PAD(0xA0, 0xFE);
|
||||
/* FE */ unk8 mUnk_FE;
|
||||
/* FF */ unk8 mUnk_FF;
|
||||
/* 100 */ unk32 mUnk_100;
|
||||
/* 104 */ u16 mUnk_104;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_04 {
|
||||
@@ -141,7 +163,7 @@ public:
|
||||
UnkStruct_ov000_0208f820_04() {}
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820 : public SysObject {
|
||||
class UnkStruct_ov000_0208f820 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ UnkStruct_ov000_0208f820_04 mUnk_04;
|
||||
@@ -157,20 +179,23 @@ public:
|
||||
/* 2c */ UnkStruct_ov000_0208f820_2c *mUnk_2c;
|
||||
/* 30 */ UnkStruct_ov000_0208f820_30 *mUnk_30;
|
||||
/* 34 */ Vec3p *mUnk_34;
|
||||
/* 38 */ UnkStruct_ov000_0208f820_38 *mUnk_38;
|
||||
/* 3c */ UnkStruct_ov000_0208f820_3c *mUnk_3c;
|
||||
/* 38 */ Vec3p *mUnk_38;
|
||||
/* 3c */ Vec3p *mUnk_3C;
|
||||
/* 40 */ UnkStruct_ov000_0208f820_40 *mUnk_40;
|
||||
/* 44 */ unk32 *mUnk_44;
|
||||
/* 48 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual ~UnkStruct_ov000_0208f820();
|
||||
/* 0c */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1);
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1);
|
||||
/* 0c */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) = 0;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2) = 0;
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3);
|
||||
/* 1c */ virtual void vfunc_1c();
|
||||
/* 1c */ virtual bool vfunc_1c(Vec3p *param1);
|
||||
/* 20 */
|
||||
|
||||
UnkStruct_ov000_0208f820();
|
||||
|
||||
bool func_ov000_020914b0(unk32 param1, Vec3p *param2, unk32 param3);
|
||||
bool func_ov000_02091e68(unk32 param1);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user