mirror of
https://github.com/zeldaret/st
synced 2026-09-02 01:43:15 -04:00
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:
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user