mirror of
https://github.com/zeldaret/st
synced 2026-08-25 15:45:52 -04:00
Decompiling SWSW (#144)
* feat: init decompiling * feat: increase matching * feat: better matching * feat: match up jp * fix: used ifdef instand of if * doc: more explicit comment Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * style: add brackets for switch cases which define variables --------- Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "MapObject/MapObjectUnkSWSW.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -19,8 +20,19 @@ public:
|
||||
|
||||
class ActorUnkNSSW : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
/* 000 (base) */
|
||||
/* 094 */ STRUCT_PAD(0x094, 0x0BC);
|
||||
/* 0BC */ unk32 mUnk_0BC;
|
||||
/* 0C0 */ STRUCT_PAD(0x0C0, 0x184);
|
||||
#if IS_JP
|
||||
/* 184 */ STRUCT_PAD(0x184, 0x190);
|
||||
/* 190 */ MapObjectUnkSWSW *mUnk_184_eur;
|
||||
/* 194 */ MapObjectUnkSWSW *mUnk_188_eur;
|
||||
#else
|
||||
/* 184 */ MapObjectUnkSWSW *mUnk_184_eur;
|
||||
/* 188 */ MapObjectUnkSWSW *mUnk_188_eur;
|
||||
#endif
|
||||
/* 18C */
|
||||
|
||||
ActorUnkNSSW();
|
||||
|
||||
@@ -42,7 +54,7 @@ public:
|
||||
void func_ov032_02120b7c(void);
|
||||
void func_ov032_02120bc0(void);
|
||||
void func_ov032_02120bfc(void);
|
||||
void func_ov032_02120c64(void);
|
||||
void func_ov032_02120c64(MapObjectUnkSWSW *param1);
|
||||
void func_ov032_02120cf0(void);
|
||||
void func_ov032_02120d24(void);
|
||||
void func_ov032_02120d60(void);
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
@@ -7,38 +5,91 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectUnkSWSW : public MapObject {
|
||||
class ActorUnkNSSW;
|
||||
|
||||
class MapObjectUnkSWSW_40 : public ModelRender {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk32 mUnk_64;
|
||||
/* 68 */ unk16 mUnk_68;
|
||||
/* 6A */ unk16 mUnk_6A;
|
||||
/* 6C */
|
||||
|
||||
MapObjectUnkSWSW_40(G3d_Model *pModel);
|
||||
|
||||
// data_ov032_021227ac
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
||||
|
||||
void func_ov032_021210a0(fx32 param1);
|
||||
};
|
||||
|
||||
class MapObjectUnkSWSW : public MapObject {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 040 */ MapObjectUnkSWSW_40 mUnk_040;
|
||||
/* 0AC */ UnkSystem5 mUnk_0AC;
|
||||
/* 0CC */ unk32 mUnk_0CC;
|
||||
/* 0E0 */ STRUCT_PAD(0xD0, 0xEC);
|
||||
/* 0EC */ VecFx32 mUnk_0EC;
|
||||
/* 0F8 */ ActorUnkNSSW *mUnk_0F8;
|
||||
/* 0FC */ unk32 mUnk_0FC;
|
||||
/* 100 */ volatile u16 mUnk_100;
|
||||
/* 102 */ u16 mUnk_102;
|
||||
/* 104 */ u8 mUnk_104;
|
||||
/* 105 */ u8 mUnk_105;
|
||||
/* 106 */ STRUCT_PAD(0x106, 0x108);
|
||||
/* 108 */ fx32 mUnk_108;
|
||||
/* 10C */ unk16 mUnk_10C;
|
||||
/* 10E */ volatile u16 mUnk_10E;
|
||||
/* 110 */ u16 mUnk_110;
|
||||
/* 114 */ ActorUnkNSSW *mUnk_114;
|
||||
/* 118 */
|
||||
|
||||
MapObjectUnkSWSW();
|
||||
|
||||
/* 30 */ virtual ~MapObjectUnkSWSW() override;
|
||||
bool IsInternalTimerOut() {
|
||||
if (this->mUnk_100 < this->mUnk_102) {
|
||||
++this->mUnk_100;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void func_ov032_02120f78(void);
|
||||
void func_ov032_02120fe4(void);
|
||||
void func_ov032_021210a0(void);
|
||||
void func_ov032_021211c8(void);
|
||||
void func_ov032_021211dc(void);
|
||||
void func_ov032_0212141c(void);
|
||||
void func_ov032_021218d0(void);
|
||||
void func_ov032_02121b48(void);
|
||||
void func_ov032_02121b90(void);
|
||||
void func_ov032_02121c18(void);
|
||||
void func_ov032_02121d70(void);
|
||||
void func_ov032_02121dc8(void);
|
||||
void func_ov032_02121e94(void);
|
||||
/* 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 void vfunc_38();
|
||||
/* 3C */ virtual void vfunc_3C(unk32 param1);
|
||||
|
||||
void func_ov032_02121b90();
|
||||
ActorUnkNSSW *func_ov032_02121dc8(VecFx32 *param1);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSWSW : public MapObjectProfile {
|
||||
class MapObject_10_SWSW : public MapObject_10 {
|
||||
public:
|
||||
// data_ov032_02122784
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSWSW_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObject_10_SWSW mUnk_D4;
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkSWSW_Base(MapObjectId id) :
|
||||
MapObjectProfile_Derived2(id, id) {}
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSWSW : public MapObjectProfileUnkSWSW_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkSWSW();
|
||||
~MapObjectProfileUnkSWSW();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
/* 00 */ virtual MapObject *Create();
|
||||
|
||||
static MapObjectProfileUnkSWSW *GetProfile();
|
||||
};
|
||||
|
||||
@@ -23,7 +23,8 @@ typedef void (*UnkSystem4_UnkCallback)(void *, unk32);
|
||||
class UnkSystem4_vfunc_1C_B4 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ STRUCT_PAD(0x04, 0x4C);
|
||||
/* 00 */ STRUCT_PAD(0x04, 0x28);
|
||||
/* 28 */ Mat3p mUnk_28;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
@@ -56,6 +57,9 @@ public:
|
||||
/* 18 */ virtual void vfunc_18(VecFx32 *param1) = 0;
|
||||
/* 1C */
|
||||
|
||||
void func_01ffc6d4(UnkAngleStruct angleStruct, VecFx32 *pos);
|
||||
|
||||
void func_ov000_02057cb0();
|
||||
unk32 func_ov000_02057f18(const void *param1);
|
||||
unk32 func_ov000_02057f40(const void *param1);
|
||||
const G3d_Model_14 *func_ov000_02057ee0() const;
|
||||
@@ -118,8 +122,6 @@ public:
|
||||
// data_ov000_020b1968
|
||||
/* 00 */ virtual ~UnkSystem6_Derived2() {}
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
|
||||
void func_01ffc6d4(UnkAngleStruct angleStruct, VecFx32 *pos);
|
||||
};
|
||||
|
||||
class ModelRender_ov000_020b198c : public ModelRenderBase {
|
||||
|
||||
Reference in New Issue
Block a user