mirror of
https://github.com/zeldaret/st
synced 2026-06-15 06:30:54 -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:
@@ -81,7 +81,7 @@ public:
|
||||
/* 04 */ Vec3p mPos;
|
||||
/* 10 */ Vec3p mPrevPos;
|
||||
/* 1c */ Vec3p mVel;
|
||||
/* 28 */ u16 mAngle;
|
||||
/* 28 */ s16 mAngle;
|
||||
/* 2a */ unk16 mUnk_2a;
|
||||
/* 2c */ unk32 mUnk_2c; // gravity?
|
||||
/* 30 */ Cylinder *mUnk_30;
|
||||
|
||||
@@ -42,6 +42,7 @@ public:
|
||||
~ActorManager();
|
||||
|
||||
ActorUnk_ov000_020a8bb0 *func_01fff3b4(unk32 param1);
|
||||
Actor **func_01fff350(void *param1, Actor **ppActorTable);
|
||||
|
||||
void func_ov000_02096e44(int index);
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ public:
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ Vec2s mUnk_1C;
|
||||
/* 1C */ VEC2S mUnk_1C;
|
||||
/* 20 */ volatile unk32 mUnk_20;
|
||||
};
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ public:
|
||||
|
||||
/* 04 */ virtual ~PlayerGet() override;
|
||||
/* 0c */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1) override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2) override;
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
|
||||
PlayerGet();
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "versions.h"
|
||||
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
|
||||
#include "nitro/math.h"
|
||||
|
||||
class PlayerSceneChange : public UnkStruct_ov000_0208f820 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ UnkStruct_SceneChange1 mUnk_54;
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 6C */ s32 mUnk_6C;
|
||||
/* 70 */ volatile Vec3p mUnk_70;
|
||||
/* 7C */ unk32 mUnk_7C;
|
||||
/* 80 */ volatile Vec3p mUnk_80;
|
||||
/* 8C */ unk32 mUnk_8C;
|
||||
/* 90 */ volatile u32 mUnk_90;
|
||||
/* 94 */ u16 mUnk_94[2];
|
||||
/* 98 */ unk32 mUnk_98;
|
||||
/* 9C */ Vec3p mUnk_9C;
|
||||
/* A8 */ unk16 mUnk_A8;
|
||||
/* AA */ unk16 mUnk_AA;
|
||||
/* AC */ bool mUnk_AC;
|
||||
/* AD */ bool mUnk_AD;
|
||||
/* AE */ s16 mUnk_AE;
|
||||
|
||||
PlayerSceneChange();
|
||||
|
||||
s16 func_ov112_02184bbc(s16 param1);
|
||||
|
||||
/* 04 */ virtual ~PlayerSceneChange() override;
|
||||
/* 0C */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2) override;
|
||||
/* 1C */ virtual bool vfunc_1c(Vec3p *param1) override;
|
||||
};
|
||||
|
||||
class PlayerSceneChange2 : public UnkStruct_ov000_0208f820 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ Vec3p mUnk_54;
|
||||
/* 54 */ Vec3p mUnk_60;
|
||||
|
||||
PlayerSceneChange2();
|
||||
|
||||
/* 04 */ virtual ~PlayerSceneChange2() override;
|
||||
/* 0C */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2) override;
|
||||
};
|
||||
@@ -52,22 +52,6 @@ struct Random {
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
Vec2us &NextPos(u16 xMax, u16 yMax) {
|
||||
Vec2us pos;
|
||||
|
||||
pos.x = this->Next32(0, xMax);
|
||||
pos.y = this->Next32(0, yMax);
|
||||
|
||||
return pos;
|
||||
}
|
||||
#else
|
||||
const Vec2us NextPos(u16 xMax, u16 yMax) {
|
||||
const Vec2us pos = {(u16) this->Next32(0, xMax), (u16) this->Next32(0, yMax)};
|
||||
return pos;
|
||||
}
|
||||
#endif
|
||||
|
||||
void Init();
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
+66
-19
@@ -29,15 +29,26 @@ typedef s16 q4;
|
||||
#define SIN(n) (gSinCosTable[2 * ((n) >> 4)])
|
||||
#define COS(n) (gSinCosTable[2 * ((n) >> 4) + 1])
|
||||
|
||||
#define SIN2(table, n) ((table)[2 * ((n) >> 4)])
|
||||
#define COS2(table, n) ((table)[2 * ((n) >> 4) + 1])
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
struct Vec2b {
|
||||
/* 0 */ u8 x;
|
||||
/* 1 */ u8 y;
|
||||
/* 2 */
|
||||
union Vec2b {
|
||||
struct {
|
||||
/* 0 */ u8 x;
|
||||
/* 1 */ u8 y;
|
||||
/* 2 */
|
||||
};
|
||||
u8 coords[2];
|
||||
|
||||
void operator=(const Vec2b &from) {
|
||||
this->x = from.x;
|
||||
this->y = from.y;
|
||||
}
|
||||
|
||||
Vec2b() {}
|
||||
Vec2b(u8 X, u8 Y) {
|
||||
@@ -51,6 +62,11 @@ struct Vec2s {
|
||||
/* 2 */ s16 y;
|
||||
/* 4 */
|
||||
|
||||
void operator=(const Vec2s &from) {
|
||||
this->x = from.x;
|
||||
this->y = from.y;
|
||||
}
|
||||
|
||||
Vec2s() {}
|
||||
Vec2s(s16 X, s16 Y) {
|
||||
x = X;
|
||||
@@ -63,6 +79,11 @@ struct Vec2us {
|
||||
/* 2 */ u16 y;
|
||||
/* 4 */
|
||||
|
||||
void operator=(const Vec2us &from) {
|
||||
this->x = from.x;
|
||||
this->y = from.y;
|
||||
}
|
||||
|
||||
Vec2us() {}
|
||||
Vec2us(u16 X, u16 Y) {
|
||||
x = X;
|
||||
@@ -70,10 +91,18 @@ struct Vec2us {
|
||||
}
|
||||
};
|
||||
|
||||
struct Vec2p {
|
||||
/* 0 */ q20 x;
|
||||
/* 4 */ q20 y;
|
||||
/* 8 */
|
||||
union Vec2p {
|
||||
struct {
|
||||
/* 0 */ q20 x;
|
||||
/* 4 */ q20 y;
|
||||
/* 8 */
|
||||
};
|
||||
q20 coords[2];
|
||||
|
||||
void operator=(const Vec2p &from) {
|
||||
this->x = from.x;
|
||||
this->y = from.y;
|
||||
}
|
||||
|
||||
Vec2p() {}
|
||||
Vec2p(q20 X, q20 Y) {
|
||||
@@ -82,11 +111,19 @@ struct Vec2p {
|
||||
}
|
||||
};
|
||||
|
||||
struct Vec3p {
|
||||
/* 0 */ q20 x;
|
||||
/* 4 */ q20 y;
|
||||
/* 8 */ q20 z;
|
||||
/* c */
|
||||
union Vec3p {
|
||||
struct {
|
||||
q20 x;
|
||||
q20 y;
|
||||
q20 z;
|
||||
};
|
||||
q20 coords[3];
|
||||
|
||||
void operator=(const Vec3p &from) {
|
||||
this->x = from.x;
|
||||
this->y = from.y;
|
||||
this->z = from.z;
|
||||
}
|
||||
|
||||
Vec3p() {}
|
||||
Vec3p(q20 X, q20 Y, q20 Z) {
|
||||
@@ -96,12 +133,22 @@ struct Vec3p {
|
||||
}
|
||||
};
|
||||
|
||||
struct Vec4p {
|
||||
/* 00 */ q20 x;
|
||||
/* 04 */ q20 y;
|
||||
/* 08 */ q20 z;
|
||||
/* 0c */ q20 w;
|
||||
/* 10 */
|
||||
union Vec4p {
|
||||
struct {
|
||||
/* 00 */ q20 x;
|
||||
/* 04 */ q20 y;
|
||||
/* 08 */ q20 z;
|
||||
/* 0c */ q20 w;
|
||||
/* 10 */
|
||||
};
|
||||
q20 coords[4];
|
||||
|
||||
void operator=(const Vec4p &from) {
|
||||
this->x = from.x;
|
||||
this->y = from.y;
|
||||
this->z = from.z;
|
||||
this->w = from.w;
|
||||
}
|
||||
|
||||
Vec4p() {}
|
||||
Vec4p(q20 X, q20 Y, q20 Z, q20 W) {
|
||||
|
||||
Reference in New Issue
Block a user