Decompiling some actors and objects of overlay 031 (#123)

* feat: decompiling skdo

* feat: update

* fix: match back .data of doors

* feat: fully decompiled SWCH for eur missing bss for JP

* feat: increase matching code

* feat: decompile most part of SCCN

* feat: update

* feat: progress sccn jap data

* feat: progress decompiling

* fix: build issues

* feat: increase matching

* refactor: rename BLST to Blast

* feat: increase grss

* refactor: rename unkgrss to grass

* refactor: rename id

* refactor: change to fx32

* feat: complete RMTG actor

* refactor: use ARRAY_LENGTH macro
This commit is contained in:
Alessevan
2026-08-02 08:09:49 -04:00
committed by GitHub
parent f1c7b3cc72
commit f90c7cd531
107 changed files with 2023 additions and 924 deletions
+1
View File
@@ -219,6 +219,7 @@ public:
unk32 func_ov000_020984c8();
void func_ov000_020984d0();
void func_ov000_020984f0();
unk32 func_ov000_0209867c(unk32 param1);
u32 func_ov000_02098800(bool param1);
bool func_ov000_02098838();
unk32 func_ov000_02098910(UnkStruct_ov031_Items_00 *param1, unk32 param2);
+64
View File
@@ -0,0 +1,64 @@
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "global.h"
#include "types.h"
class ActorBlast;
class ActorBlast_E8 : public UnkStruct_ov031_Items_00_Base {
public:
/* 00 (base) */
/* 04 */ ActorBlast *mUnk_04;
/* 08 */
ActorBlast_E8(ActorBlast *param1) :
mUnk_04(param1) {}
// data_ov031_02112d4c
/* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2) override;
};
class ActorBlast : public Actor {
public:
/* 00 (base) */
/* 94 */ fx32 mUnk_94;
/* 98 */ volatile u16 mUnk_98;
/* 9A */ u16 mUnk_9A;
/* 9C */ UnkStruct_ov031_Items_01 mUnk_9C;
/* C8 */ Cylinder mUnk_C8;
/* D8 */ Cylinder mUnk_D8;
/* E8 */ ActorBlast_E8 mUnk_E8;
/* F0 */ fx32 mUnk_F0;
/* F4 */ fx32 mUnk_F4;
/* F8 */
ActorBlast();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
bool IsInternalTimerOut() {
if (this->mUnk_98 < this->mUnk_9A) {
++this->mUnk_98;
return false;
}
return true;
}
fx32 func_ov031_020e3b94();
void func_ov031_020e3b9c(unk16 param1, unk16 param2);
};
class ActorProfileBlast : public ActorProfile {
public:
/* 00 (base) */
ActorProfileBlast();
/* 0C */ virtual Actor *Create();
static ActorProfileBlast *GetProfile();
};
+4 -4
View File
@@ -11,7 +11,7 @@ DEFINE_ACTOR_TYPE('AJNP', AJNP)
DEFINE_ACTOR_TYPE('AJSP', AJSP)
DEFINE_ACTOR_TYPE('AJTM', AJTM)
DEFINE_ACTOR_TYPE('ALEV', ALEV)
DEFINE_ACTOR_TYPE('AROW', AROW)
DEFINE_ACTOR_TYPE('AROW', ShotArrow)
DEFINE_ACTOR_TYPE('ASBA', ASBA)
DEFINE_ACTOR_TYPE('ASYU', ASYU)
DEFINE_ACTOR_TYPE('ATTG', ATTG)
@@ -34,7 +34,7 @@ DEFINE_ACTOR_TYPE('BLBL', BLBL)
DEFINE_ACTOR_TYPE('BLBR', BLBR)
DEFINE_ACTOR_TYPE('BLJF', BLJF)
DEFINE_ACTOR_TYPE('BLON', BLON)
DEFINE_ACTOR_TYPE('BLST', BLST)
DEFINE_ACTOR_TYPE('BLST', Blast)
DEFINE_ACTOR_TYPE('BMHN', BMHN)
DEFINE_ACTOR_TYPE('BMOC', BMOC)
DEFINE_ACTOR_TYPE('BOMB', BOMB)
@@ -184,7 +184,7 @@ DEFINE_ACTOR_TYPE('ICBB', ICBB)
DEFINE_ACTOR_TYPE('ICBS', ICBS)
DEFINE_ACTOR_TYPE('ITBM', ITBM)
DEFINE_ACTOR_TYPE('ITSC', ITSC)
DEFINE_ACTOR_TYPE('ITTD', ITTD)
DEFINE_ACTOR_TYPE('ITTD', ItemTornado)
DEFINE_ACTOR_TYPE('ITWP', ITWP)
DEFINE_ACTOR_TYPE('IWTS', IWTS)
DEFINE_ACTOR_TYPE('JOLN', JOLN)
@@ -318,7 +318,7 @@ DEFINE_ACTOR_TYPE('RCFO', RCFO)
DEFINE_ACTOR_TYPE('RCHU', RCHU)
DEFINE_ACTOR_TYPE('RCMS', RCMS)
DEFINE_ACTOR_TYPE('RCSG', RCSG)
DEFINE_ACTOR_TYPE('RLST', RLST)
DEFINE_ACTOR_TYPE('RLST', RollingStone)
DEFINE_ACTOR_TYPE('RMA0', RMA0)
DEFINE_ACTOR_TYPE('RMA1', RMA1)
DEFINE_ACTOR_TYPE('RMA2', RMA2)
-49
View File
@@ -1,49 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "global.h"
#include "types.h"
class ActorUnkBLST_C4 : public Actor_C4 {
public:
ActorUnkBLST_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkBLST : public Actor {
public:
/* 00 (base) */
/* 94 */
ActorUnkBLST();
/* 4C */ virtual ~ActorUnkBLST() override;
void func_ov031_020e351c(void);
void func_ov031_020e373c(void);
void func_ov031_020e3750(void);
void func_ov031_020e39c4(void);
void func_ov031_020e3b44(void);
void func_ov031_020e3b94(void);
void func_ov031_020e3b9c(void);
void func_ov031_020e3c60(void);
};
class ActorProfileUnkBLST : public ActorProfile {
public:
/* 00 (base) */
ActorProfileUnkBLST();
~ActorProfileUnkBLST();
/* 0C */ virtual Actor *Create();
static ActorProfileUnkBLST *GetProfile();
};
+12
View File
@@ -7,6 +7,18 @@
#include "global.h"
#include "types.h"
class ActorUnkBOMB_unk : public UnkStruct_PlayerGet_ec {
public:
/* 00 (base) */
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
ActorUnkBOMB_unk(); // ActorUnkBOMB::func_ov031_020e33ac()
// ActorUnkBOMB::func_ov031_020e17f4() dtor ?
};
class ActorUnkBOMB_C4 : public Actor_C4 {
public:
ActorUnkBOMB_C4(Actor *param1);
+5 -19
View File
@@ -1,5 +1,3 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
@@ -7,28 +5,17 @@
#include "global.h"
#include "types.h"
class ActorUnkRMTG_C4 : public Actor_C4 {
public:
ActorUnkRMTG_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkRMTG : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ ModelRender mUnk_94;
/* F4 */
ActorUnkRMTG();
/* 4C */ virtual ~ActorUnkRMTG() override;
void func_ov031_020ef8a0(void);
void func_ov031_020ef958(void);
void func_ov031_020ef990(void);
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
};
class ActorProfileUnkRMTG : public ActorProfile_Derived1 {
@@ -36,7 +23,6 @@ public:
/* 00 (base) */
ActorProfileUnkRMTG();
~ActorProfileUnkRMTG();
/* 0C */ virtual Actor *Create();
+16 -13
View File
@@ -1,32 +1,36 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "MapObject/MapObject.hpp"
#include "global.h"
#include "types.h"
class ActorUnkSCCN_C4 : public Actor_C4 {
class ActorUnkSCCN_B8 {
public:
ActorUnkSCCN_C4(Actor *param1);
/* 00 (vtable) */
/* 04 */ ActorRef mUnk_04;
/* 08 */ VecFx32 *mUnk_08;
/* 0C */ MapObject_10 *mUnk_0C;
/* 10 */
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
ActorUnkSCCN_B8(); // func_ov000_0207ec88 set all fields to 0
// data_ov000_020b287c
/* 00 */ virtual ~ActorUnkSCCN_B8(); // func_ov000_0207eca8 & func_ov000_0207ecd8
/* 08 */ virtual void vfunc_08(); // func_ov000_0207ed84
};
class ActorUnkSCCN : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ MapObject_10 mUnk_94;
/* B8 */ ActorUnkSCCN_B8 mUnk_B8;
/* C8 */
ActorUnkSCCN();
/* 4C */ virtual ~ActorUnkSCCN() override;
void func_ov031_020efaa0(void);
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
};
class ActorProfileUnkSCCN : public ActorProfile {
@@ -34,7 +38,6 @@ public:
/* 00 (base) */
ActorProfileUnkSCCN();
~ActorProfileUnkSCCN();
/* 0C */ virtual Actor *Create();
+18 -17
View File
@@ -1,36 +1,38 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "Map/MapObjectId.hpp"
#include "MapObject/MapObjectUnkSKDI.hpp"
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
#include "global.h"
#include "types.h"
class ActorUnkSKDO_C4 : public Actor_C4 {
class ActorUnkSKDO_ov031_02115ce8 : public UnkStruct_ov000_020b34c4 {
public:
ActorUnkSKDO_C4(Actor *param1);
/* 00 (base) */
/* 18 */
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
ActorUnkSKDO_ov031_02115ce8(MapObjectId mapObjId) :
UnkStruct_ov000_020b34c4(mapObjId) {}
// data_ov031_02115ce8
virtual bool vfunc_00(MapObject *param1);
};
class ActorUnkSKDO : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ unk32 mUnk_94;
/* 98 */ MapObjectUnkSKDI *mUnk_98;
/* 9C */
ActorUnkSKDO();
/* 4C */ virtual ~ActorUnkSKDO() override;
void func_ov031_02106de0(void);
void func_ov031_02106de8(void);
void func_ov031_02106e58(void);
void func_ov031_02106e90(void);
void func_ov031_02106e98(void);
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 54 */ virtual void vfunc_54(unk32 param1);
};
class ActorProfileUnkSKDO : public ActorProfile {
@@ -38,7 +40,6 @@ public:
/* 00 (base) */
ActorProfileUnkSKDO();
~ActorProfileUnkSKDO();
/* 0C */ virtual Actor *Create();
+6 -19
View File
@@ -1,5 +1,3 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
@@ -7,28 +5,18 @@
#include "global.h"
#include "types.h"
class ActorUnkSWCH_C4 : public Actor_C4 {
public:
ActorUnkSWCH_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkSWCH : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ unk32 mUnk_94;
/* 98 */ Actor_9C mUnk_98;
/* B0 */
ActorUnkSWCH();
/* 4C */ virtual ~ActorUnkSWCH() override;
void func_ov031_020f7b0c(void);
void func_ov031_020f7b20(void);
void func_ov031_020f7b88(void);
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
};
class ActorProfileUnkSWCH : public ActorProfile {
@@ -36,7 +24,6 @@ public:
/* 00 (base) */
ActorProfileUnkSWCH();
~ActorProfileUnkSWCH();
/* 0C */ virtual Actor *Create();
+51 -19
View File
@@ -1,38 +1,71 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "MapObject/MapObjectDoorBase.hpp"
#include "global.h"
#include "types.h"
class ActorUnkTLKT_C4 : public Actor_C4 {
public:
ActorUnkTLKT_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
enum ActorUnkTLKTState_ {
ActorUnkTLKTState_0 = 0,
ActorUnkTLKTState_1 = 1,
ActorUnkTLKTState_2 = 2,
ActorUnkTLKTState_3 = 3,
ActorUnkTLKTState_4 = 4,
ActorUnkTLKTState_MAX
};
class ActorUnkTLKT : public Actor {
class ActorUnkTLKT_Base : public Actor {
public:
/* 00 (base) */
/* 94 */
ActorUnkTLKT_Base(); // func_ov031_020e3da0
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020e3e18
/* 1C */ virtual void vfunc_1C() override; // func_ov031_020e3e44
/* 20 */ virtual void vfunc_20() override; // func_ov031_020e3e84
/* 24 */ virtual void vfunc_24() override; // func_ov031_020e3ed8
// /* 4C */ virtual ~ActorUnkTLKT_Base() override; // func_ov031_020e40a8 & func_ov031_020e40bc
/* 54 */ virtual void vfunc_54(); // func_ov031_020e3f50
/* 58 */ virtual void vfunc_58(); // func_ov031_020e4074
/* 5C */ virtual void vfunc_5C(); // func_ov031_020e4078
/* 60 */ virtual void vfunc_60(ActorState state); // func_ov031_020e407c
void func_ov031_020e3e6c();
};
class ActorUnkTLKT_9C : public MapObject_UnkStruct1 {
public:
/* 00 (base) */
/* 08 */
ActorUnkTLKT_9C() {
this->mUnk_04 = 0xFFFFFFFF;
}
// data_ov031_02112eec
/* 00 */ virtual void vfunc2_00() override;
};
class ActorUnkTLKT : public ActorUnkTLKT_Base {
public:
/* 00 (base) */
/* 94 */ STRUCT_PAD(0x94, 0x9C);
/* 9C */ ActorUnkTLKT_9C mUnk_9C;
/* A4 */
ActorUnkTLKT();
/* 24 */ virtual void vfunc_24() override; // func_ov031_020e41ec
/* 4C */ virtual ~ActorUnkTLKT() override;
/* 58 */ virtual void vfunc_58() override; // func_ov031_020e4238
/* 60 */ virtual void vfunc_60(ActorState state) override; // func_ov031_020e4320
/* 64 */ virtual void vfunc_64(); // func_ov031_020e42ac
/* 68 */ virtual void vfunc_68(); // func_ov031_020e42f0
void func_ov031_020e41ec(void);
void func_ov031_020e4238(void);
void func_ov031_020e4274(void);
void func_ov031_020e42ac(void);
void func_ov031_020e42f0(void);
void func_ov031_020e4320(void);
void func_ov031_020e4514(void);
void func_ov031_020e4274();
void func_ov031_020e4514();
};
class ActorProfileUnkTLKT : public ActorProfile {
@@ -40,7 +73,6 @@ public:
/* 00 (base) */
ActorProfileUnkTLKT();
~ActorProfileUnkTLKT();
/* 0C */ virtual Actor *Create();
+2 -2
View File
@@ -83,7 +83,7 @@ DEFINE_MAP_OBJECT_TYPE('GATE', GATE)
DEFINE_MAP_OBJECT_TYPE('GBDR', GBDR)
DEFINE_MAP_OBJECT_TYPE('GELG', GELG)
DEFINE_MAP_OBJECT_TYPE('GRSG', GRSG)
DEFINE_MAP_OBJECT_TYPE('GRSS', GRSS)
DEFINE_MAP_OBJECT_TYPE('GRSS', Grass)
DEFINE_MAP_OBJECT_TYPE('GRSV', GRSV)
DEFINE_MAP_OBJECT_TYPE('GSST', GSST)
DEFINE_MAP_OBJECT_TYPE('GTAT', GTAT)
@@ -239,7 +239,7 @@ DEFINE_MAP_OBJECT_TYPE('TRTS', TRTS)
DEFINE_MAP_OBJECT_TYPE('TRWA', TRWA)
DEFINE_MAP_OBJECT_TYPE('TRWS', TRWS)
DEFINE_MAP_OBJECT_TYPE('TSGM', TSGM)
DEFINE_MAP_OBJECT_TYPE('TSUB', TSUB)
DEFINE_MAP_OBJECT_TYPE('TSUB', Pot)
DEFINE_MAP_OBJECT_TYPE('TWGS', TWGS)
DEFINE_MAP_OBJECT_TYPE('TWPC', TWPC)
DEFINE_MAP_OBJECT_TYPE('TWPG', TWPG)
+6 -3
View File
@@ -112,13 +112,16 @@ public:
static void func_ov000_0209c7ac(MapObjectId mapObjId);
};
typedef s16 MapObjState;
#define MapObjState_None -1
class MapObject {
public:
/* 00 (vtable) */
/* 04 */ VecFx32 mPos;
/* 10 */ MapObject_10 *mUnk_10;
/* 14 */ s16 mUnk_14;
/* 16 */ s16 mUnk_16;
/* 16 */ MapObjState mState;
/* 18 */ unk8 mUnk_18[2]; // related to Link walking to the map object when touched
/* 1A */ unk8 mUnk_1A;
/* 1B */ unk8 mUnk_1B;
@@ -165,7 +168,7 @@ public:
MapObject();
MapObjectId GetMapObjectId();
void func_01fff590(unk32 param2);
unk32 func_01fff590(unk32 param2);
bool func_ov000_0209d114();
bool func_ov000_0209d12c();
@@ -174,7 +177,7 @@ public:
bool func_ov000_0209d29c(unk32 param1);
void func_ov000_0209d2c4(unk32 param1, bool param2);
void func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2bCpp *param3);
void func_ov000_0209d3b4(unk32 param1, fx32 size);
unk32 func_ov000_0209d3b4(unk32 param1, fx32 size);
void func_ov000_0209d434(s8 *param1, UnkStruct_ov019_020d24c8_28_258_00 *param2, unk32 param3);
void func_ov000_0209d518(VecFx32 *param1, unk32 param2, unk32 param3, u8 param4);
void func_ov000_0209d5c8(ActorRef ref);
+13
View File
@@ -27,6 +27,19 @@ public:
void func_ov031_0210306c(void);
};
enum MapObjectChestBaseState {
MapObjChestBaseState_0 = 0,
MapObjChestBaseState_1 = 1,
MapObjChestBaseState_2 = 2,
MapObjChestBaseState_3 = 3,
MapObjChestBaseState_4 = 4,
MapObjChestBaseState_5 = 5,
MapObjChestBaseState_6 = 6,
MapObjChestBaseState_7 = 7,
MapObjChestBaseState_8 = 8,
MapObjChestBaseState_MAX
};
class MapObjectChestBase : public MapObject {
public:
/* 000 (base) */
+20 -7
View File
@@ -6,13 +6,10 @@
class MapObject_UnkStruct1 {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_44;
/* 08 */ unk16 mUnk_48;
/* 0A */ s16 mUnk_4A;
/* 0C */ VecFx32 mUnk_4C;
/* 18 */
/* 04 */ unk32 mUnk_04;
/* 08 */
MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4
// MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4
// data_ov000_020b2290
/* 00 */ virtual void vfunc2_00();
@@ -24,6 +21,9 @@ public:
class MapObject_UnkStruct1_Derived1 : public MapObject_UnkStruct1 {
public:
/* 00 (base) */
/* 08 */ unk16 mUnk_48;
/* 0A */ s16 mUnk_4A;
/* 0C */ VecFx32 mUnk_4C;
/* 18 */ bool mUnk_58;
/* 19 */ unk8 mUnk_59;
/* 1A */ s16 mUnk_5A;
@@ -46,6 +46,19 @@ public:
/* 08 */ virtual void vfunc2_08() override;
};
enum MapObjectDoorBaseState {
MapObjDoorBaseState_0 = 0,
MapObjDoorBaseState_1 = 1,
MapObjDoorBaseState_2 = 2,
MapObjDoorBaseState_3 = 3,
MapObjDoorBaseState_4 = 4,
MapObjDoorBaseState_5 = 5,
MapObjDoorBaseState_6 = 6,
MapObjDoorBaseState_7 = 7,
MapObjDoorBaseState_8 = 8,
MapObjDoorBaseState_MAX
};
class MapObjectDoorBase : public MapObject, public MapObject_UnkStruct1_Derived2 {
public:
/* 00 (base MapObject) */
@@ -102,7 +115,7 @@ public:
/* 50 */ virtual void vfunc_50();
/* 54 */ virtual void vfunc_54();
/* 58 */ virtual void vfunc_58();
/* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2);
/* 5C */ virtual void vfunc_5C(MapObjState state, unk32 param2);
/* 60 */ virtual void vfunc_60();
/* 64 */ virtual bool vfunc_64();
/* 68 */ virtual bool vfunc_68();
+14 -1
View File
@@ -17,6 +17,19 @@ public:
static MapObjectProfileDoorClick *GetProfile();
};
enum MapObjDoorClickState_ {
MapObjDoorClickState_0 = 0,
MapObjDoorClickState_1 = 1,
MapObjDoorClickState_2 = 2,
MapObjDoorClickState_3 = 3,
MapObjDoorClickState_4 = 4,
MapObjDoorClickState_5 = 5,
MapObjDoorClickState_6 = 6,
MapObjDoorClickState_7 = 7,
MapObjDoorClickState_8 = 8,
MapObjDoorClickState_MAX,
};
class MapObjectDoorClick : public MapObjectDoorBase {
public:
/* 00 (base) */
@@ -42,7 +55,7 @@ public:
/* 44 */ virtual void vfunc_44() override;
/* 48 */ virtual void vfunc_48() override;
/* 4C */ virtual void vfunc_4C() override;
/* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2) override;
/* 5C */ virtual void vfunc_5C(MapObjState state, unk32 param2) override;
/* 64 */ virtual bool vfunc_64() override;
/* 68 */ virtual bool vfunc_68() override;
/* 6C */ virtual bool vfunc_6C() override;
+23 -3
View File
@@ -1,13 +1,20 @@
#pragma once
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectDoorBase.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "Player/PlayerGet.hpp"
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
#include "global.h"
#include "types.h"
class MapObjectDoorDangerSpawn_ov031_02116e24 : public UnkStruct_ov000_020b34c4 {
public:
MapObjectDoorDangerSpawn_ov031_02116e24(MapObjectId mapObjectId) :
UnkStruct_ov000_020b34c4(mapObjectId) {}
bool vfunc_00(MapObject *param1) override;
};
class MapObjectProfileDoorDangerSpawn : public MapObjectProfile_Derived2 {
public:
/* 00 (base) */
@@ -20,6 +27,19 @@ public:
static MapObjectProfileDoorDangerSpawn *GetProfile();
};
enum MapObjDoorDangerSpawnState_ {
MapObjDoorDangerSpawnState_0 = 0,
MapObjDoorDangerSpawnState_1 = 1,
MapObjDoorDangerSpawnState_2 = 2,
MapObjDoorDangerSpawnState_3 = 3,
MapObjDoorDangerSpawnState_4 = 4,
MapObjDoorDangerSpawnState_5 = 5,
MapObjDoorDangerSpawnState_6 = 6,
MapObjDoorDangerSpawnState_7 = 7,
MapObjDoorDangerSpawnState_8 = 8,
MapObjDoorDangerSpawnState_MAX
};
class MapObjectDoorDangerSpawn : public MapObjectDoorBase {
public:
/* 00 (base) */
@@ -57,7 +77,7 @@ public:
/* 44 */ virtual void vfunc_44() override;
/* 48 */ virtual void vfunc_48() override;
/* 4C */ virtual void vfunc_4C() override;
/* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2) override;
/* 5C */ virtual void vfunc_5C(MapObjState state, unk32 param2) override;
/* 64 */ virtual bool vfunc_64() override;
/* 68 */ virtual bool vfunc_68() override;
/* 6C */ virtual bool vfunc_6C() override;
+14 -1
View File
@@ -6,6 +6,19 @@
#include "global.h"
#include "types.h"
enum MapObjDoorKeyState_ {
MapObjDoorKeyState_0 = 0,
MapObjDoorKeyState_1 = 1,
MapObjDoorKeyState_2 = 2,
MapObjDoorKeyState_3 = 3,
MapObjDoorKeyState_4 = 4,
MapObjDoorKeyState_5 = 5,
MapObjDoorKeyState_6 = 6,
MapObjDoorKeyState_7 = 7,
MapObjDoorKeyState_8 = 8,
MapObjDoorKeyState_MAX
};
class MapObjectDoorKey : public MapObjectDoorBase {
public:
/* 00 (base) */
@@ -33,7 +46,7 @@ public:
/* 44 */ virtual void vfunc_44() override;
/* 48 */ virtual void vfunc_48() override;
/* 4C */ virtual void vfunc_4C() override;
/* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2) override;
/* 5C */ virtual void vfunc_5C(MapObjState state, unk32 param2) override;
/* 64 */ virtual bool vfunc_64() override;
/* 68 */ virtual bool vfunc_68() override;
/* 6C */ virtual bool vfunc_6C() override;
+10
View File
@@ -8,6 +8,16 @@
#include "types.h"
#include "versions.h"
enum MapObjDoorSwitchState_ {
MapObjDoorSwitchState_0 = 0,
MapObjDoorSwitchState_1 = 1,
MapObjDoorSwitchState_2 = 2,
MapObjDoorSwitchState_3 = 3,
MapObjDoorSwitchState_4 = 4,
MapObjDoorSwitchState_5 = 5,
MapObjDoorSwitchState_MAX,
};
class MapObjectDoorSwitch : public MapObjectDoorBase {
public:
/* 000 (base) */
+54
View File
@@ -0,0 +1,54 @@
#pragma once
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "global.h"
#include "types.h"
enum MapObjGrassState_ {
MapObjGrassState_0,
MapObjGrassState_1,
MapObjGrassState_2,
MapObjGrassState_3,
MapObjGrassState_MAX
};
class MapObjectGrass : public MapObject {
public:
/* 00 (base) */
/* 40 */ VecFx32 mUnk_40[2];
/* 58 */ u16 mUnk_58;
/* 5C */ fx32 mUnk_5C;
/* 60 */ unk16 mUnk_60;
/* 62 */ unk16 mUnk_62;
/* 64 */ unk32 mUnk_64;
/* 68 */
MapObjectGrass();
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 38 */ virtual bool vfunc_38(MapObjState state, unk32 param2);
/* 3C */ virtual void vfunc_3C(VecFx32 *param1);
bool func_ov031_021016b4();
bool func_ov031_02101778();
void func_ov031_021018a4(unk16 param1);
unk32 func_ov031_02101950();
void func_ov031_02101968(unk32 param1);
void func_ov031_02101978(unk32 param1, VecFx32 *param2);
};
class MapObjectProfileGrass : public MapObjectProfile_Derived2 {
public:
/* 00 (base) */
/* D4 */ MapObject_10 mUnk_D4;
MapObjectProfileGrass();
/* 0C */ virtual MapObject *Create();
static MapObjectProfileGrass *GetProfile();
};
+9 -1
View File
@@ -24,6 +24,14 @@ public:
void func_ov000_0209dde0(void);
};
enum MapObjSwitchStepState_ {
MapObjSwitchStepState_0 = 0,
MapObjSwitchStepState_1 = 1,
MapObjSwitchStepState_2 = 2,
MapObjSwitchStepState_3 = 3,
MapObjSwitchStepState_MAX
};
class MapObjectSwitchStep : public MapObject {
public:
/* 00 (base) */
@@ -49,7 +57,7 @@ public:
void func_ov000_0209dda4(void);
void func_ov000_0209e11c(unk32 param1, unk32 param2);
void func_ov000_0209e11c(MapObjState state, unk32 param2);
void func_ov000_0209e38c(void);
};
-44
View File
@@ -1,44 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "global.h"
#include "types.h"
class MapObjectUnkGRSS : public MapObject {
public:
/* 00 (base) */
/* 40 */
MapObjectUnkGRSS();
/* 30 */ virtual ~MapObjectUnkGRSS() override;
void func_ov031_021010e0(void);
void func_ov031_02101170(void);
void func_ov031_0210148c(void);
void func_ov031_02101504(void);
void func_ov031_02101578(void);
void func_ov031_021016b4(void);
void func_ov031_0210173c(void);
void func_ov031_02101778(void);
void func_ov031_021017ec(void);
void func_ov031_021018a4(void);
void func_ov031_02101950(void);
void func_ov031_02101968(void);
void func_ov031_02101978(void);
};
class MapObjectProfileUnkGRSS : public MapObjectProfile {
public:
/* 00 (base) */
MapObjectProfileUnkGRSS();
~MapObjectProfileUnkGRSS();
/* 0C */ virtual MapObject *Create();
static MapObjectProfileUnkGRSS *GetProfile();
};
+49 -22
View File
@@ -1,44 +1,71 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/ActorUnkBOMB.hpp"
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "Unknown/UnkStruct_ov031_Items.hpp"
#include "global.h"
#include "types.h"
enum MapObjUnkSKDIState_ {
MapObjUnkSKDIState_0 = 0,
MapObjUnkSKDIState_1 = 1,
MapObjUnkSKDIState_2 = 2,
MapObjUnkSKDIState_3 = 3,
MapObjUnkSKDIState_MAX
};
class MapObjectUnkSKDI : public MapObject {
public:
/* 00 (base) */
/* 40 */
/* 000 (base) */
/* 040 */ UnkSystem6_Derived2 mUnk_040;
/* 048 */ unk8 mUnk_048;
/* 049 */ STRUCT_PAD(0x049, 0x04C);
/* 04C */ ActorUnkBOMB_unk mUnk_04C[0x4];
/* 07C */ unk32 mUnk_07C;
/* 080 */ unk32 mUnk_080;
/* 084 */ u16 mUnk_084;
/* 086 */ u8 mUnk_086;
/* 087 */ u8 mUnk_087;
/* 088 */ u8 mUnk_088;
/* 089 */ unk8 mUnk_089;
/* 080 */ STRUCT_PAD(0x08A, 0x08C);
/* 08C */ UnkStruct_ov031_Items_02 mUnk_08C;
/* 0A8 */ STRUCT_PAD(0x098, 0x0BC);
/* 0BC */ unk32 mUnk_0BC;
/* 0C0 */ STRUCT_PAD(0x0C0, 0x0D4);
/* 0D4 */ MapObject_10 mUnk_0D4;
/* 0F8 */ volatile u16 mUnk_0F8;
/* 0FA */ u16 mUnk_0FA;
/* 0FC */ unk32 mUnk_0FC;
/* 100 */
MapObjectUnkSKDI();
/* 30 */ virtual ~MapObjectUnkSKDI() override;
/* 00 */ virtual bool vfunc_00() override;
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 38 */ virtual unk32 vfunc_38();
/* 3C */ virtual unk32 vfunc_3C();
/* 40 */ virtual s16 vfunc_40();
void func_ov031_02106190(void);
void func_ov031_021061dc(void);
void func_ov031_02106224(void);
void func_ov031_021062ec(void);
void func_ov031_021063cc(void);
void func_ov031_021063dc(void);
void func_ov031_0210643c(void);
void func_ov031_02106678(void);
void func_ov031_02106a70(void);
void func_ov031_02106a84(void);
void func_ov031_02106c78(void);
void func_ov031_02106c98(void);
void func_ov031_02106ca0(void);
void func_ov031_02106ca8(void);
void func_ov031_02106cb0(void);
void func_ov031_02106190();
void func_ov031_021061dc();
void func_ov031_0210643c(unk32 param1);
void func_ov031_02106a70();
void func_ov031_02106678(MapObjState state, unk32 param2);
void func_ov031_02106cb0(unk32 param1);
};
class MapObjectProfileUnkSKDI : public MapObjectProfile {
class MapObjectProfileUnkSKDI : public MapObjectProfile_Derived2 {
public:
/* 00 (base) */
/* D4 */
MapObjectProfileUnkSKDI();
~MapObjectProfileUnkSKDI();
/* 0C */ virtual MapObject *Create();
+1 -1
View File
@@ -8,7 +8,7 @@ public:
// overlay 0
void func_ov000_020713bc();
void func_ov000_020716dc(unk32 param1);
void func_ov000_02071b30(unk32 param1, VecFx32 *pPos, unk32 param3);
u16 func_ov000_02071b30(unk32 param1, VecFx32 *pPos, unk32 param3);
void func_ov000_02071d34(void *param1, unk32 param2, VecFx32 *pPos, unk32 param4);
void func_ov000_02071eac(VecFx32 *pPos);
+1
View File
@@ -33,6 +33,7 @@ public:
bool func_ov000_02078764(VecFx32 *param1, void *param2, unk32 param3);
void func_ov000_02078ba4();
void func_ov000_02078cec();
void func_ov000_0207a1e0(unk32 param1);
};
class UnkStruct_027e09bc_24 : public UnkStruct_0204a060_Base {
+2
View File
@@ -2,6 +2,7 @@
#include "Actor/ActorRef.hpp"
#include "Actor/ActorShotArrow.hpp"
#include "Actor/ActorUnkSCCN.hpp"
#include "Unknown/UnkFileSystem.hpp"
#include "global.h"
#include "types.h"
@@ -68,6 +69,7 @@ public:
// overlay 0
void func_ov000_0207da40();
void func_ov000_0207de98(ActorRef param1, UnkStruct_ov000_0207de98 *param2, Actor_38 *param3);
void func_ov000_0207e240(ActorUnkSCCN_B8 *param1);
void func_ov000_0207e58c(ActorRef param1, unk32 param2, u8 param3, UnkStruct_ov031_Items_01 *param4);
bool func_ov000_0207e458(unk32 param1, unk32 param2, VecFx32 *param3, unk32 param4, VecFx32 *param5, ActorRef param6);
+16 -2
View File
@@ -181,6 +181,18 @@ enum UnkFlags2_ {
UnkFlags2_Max = 12,
};
class UnkStruct_func_ov000_02080620 {
public:
/* 00 (vtable) */
/* 04 */ STRUCT_PAD(0x04, 0x14);
/* 14 */ VecFx32 mUnk_14;
/* 20 */ VecFx32 mUnk_20;
/* 2C */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual bool vfunc_04();
};
class UnkStruct_027e0cd8_0C_Base {
public:
/* 000 (vtable) */
@@ -258,13 +270,15 @@ public:
fx32 func_01ffedf4(Vec2bCpp *pPos);
// overlay 0
unk32 func_ov000_02080180(void *param1);
unk32 func_ov000_02080180(Vec2bCpp *param1);
void func_ov000_020801b0(Vec2bCpp *param1, unk32 param2, unk32 param3);
bool func_ov000_0208217c(VecFx32 *param1, unk32 param2);
bool func_ov000_020802ec(u16 param1, VecFx32 *param2);
void func_ov000_020803ec(u16 param1);
void func_ov000_0208053c(u16 param1);
UnkStruct_func_ov000_02080620 *func_ov000_02080620();
bool func_ov000_02080658(unk32 param1, EntranceInfo *param2);
void func_ov000_020808f4(void *param1, void *param2, u8 param3);
void func_ov000_020808f4(void *param1, Vec2bCpp *param2, u8 param3);
unk32 func_ov000_02080a44();
void func_ov000_02080a5c(VecFx32 *param1);
void func_ov000_02080a78(VecFx32 *param1);
+1
View File
@@ -79,6 +79,7 @@ public:
void func_ov000_020a00d4(UnkStruct_PlayerGet_ec *param1, unk32 param2, unk32 param3, unk32 param4, VecFx32 *param5,
unk32 param6);
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
void func_ov000_020a0140(UnkSystem7 *param1, VecFx32 *param2);
void func_ov000_020a0220(void *param1, void *param2);
// overlay 1
+1
View File
@@ -20,6 +20,7 @@ public:
static void Destroy();
// overlay 31
bool func_ov031_020d9758();
bool func_ov031_020d97e4();
bool func_ov031_020d97f4();
void func_ov031_020d9844();
+11 -8
View File
@@ -2,16 +2,19 @@
#include "types.h"
//! TODO: this is probably all fake to match func_01fff520
typedef bool (**UnkStruct_ov000_020b34c4_Callback)(void *, void *);
class UnkStruct_ov000_020b34c4 {
public:
/* 08 */ unk32 mUnk_08;
/* 08 */ unk32 mUnk_0C;
/* 00 */ UnkStruct_ov000_020b34c4_Callback *mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 00 (vtable) */
/* 04 */ MapObjectId mUnk_04;
/* 08 */ VecFx32 mUnk_08;
/* 14 */ fx32 mUnk_14;
/* 18 */
UnkStruct_ov000_020b34c4();
UnkStruct_ov000_020b34c4(MapObjectId mapObjId) :
mUnk_04(mapObjId) {}
virtual bool vfunc_00(MapObject *param1);
};
extern UnkStruct_ov000_020b34c4 data_ov000_020b34c4;
+26 -5
View File
@@ -1,7 +1,19 @@
#pragma once
#include "UnkStruct_027e0ce0.hpp"
class UnkStruct_ov031_Items_00 : public UnkStruct_027e0ce0_38_Base {
class Actor;
class UnkStruct_ov031_Items_00_Base : public UnkStruct_027e0ce0_38_Base {
public:
/* 00 (vtable) */
/* 04 */
UnkStruct_ov031_Items_00_Base() {}
/* 00 */ virtual ~UnkStruct_ov031_Items_00_Base();
};
class UnkStruct_ov031_Items_00 : public UnkStruct_ov031_Items_00_Base {
public:
/* 00 (vtable) */
/* 04 */
@@ -9,15 +21,26 @@ public:
UnkStruct_ov031_Items_00();
// data_ov000_020b30d0
/* 00 */ virtual ~UnkStruct_ov031_Items_00();
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override; // func_ov000_020982d8
};
class UnkStruct_ov031_Items_01 {
class UnkStruct_ov031_Items_01_Base {
public:
/* 00 (vtable) */
/* 04 */ ActorRef mUnk_04;
/* 08 */ unk16 mUnk_08;
/* 0C */
UnkStruct_ov031_Items_01_Base() :
mUnk_04(0x0),
mUnk_08(0x0) {}
/* 00 */ virtual ~UnkStruct_ov031_Items_01_Base();
};
class UnkStruct_ov031_Items_01 : public UnkStruct_ov031_Items_01_Base {
public:
/* 00 (vtable) */
/* 08 */ unk16 mUnk_0A;
/* 0C */ Cylinder mUnk_0C;
/* 1C */ unk32 mUnk_1C;
@@ -27,8 +50,6 @@ public:
/* 2C */
UnkStruct_ov031_Items_01() {
this->mUnk_04 = 0;
this->mUnk_08 = 0;
this->mUnk_0C.Init(FLOAT_TO_FX32(0.0f));
this->mUnk_1C = 0;
this->mUnk_20 = 0;