mirror of
https://github.com/zeldaret/ph
synced 2026-06-14 22:18:55 -04:00
Delink character actor base classes and shop keeper actors (#152)
* Delink .text for ActorItemSeller, ActorBeedle, ActorTetra * Delink .text for ActorCharacterBase, ActorCharacter, ActorGenericCharacter * Define classes ActorCharacterBase, ActorCharacter, ActorGenericCharacter * Don't define `override` macro during intellisense/clangd * Define symbols for ActorCharacter, ActorCharacterBase, ActorGenericCharacter * Define classes and symbols for ActorItemSeller, ActorBeedle, ActorTetra * Fix duplicate symbol
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
#pragma once
|
||||
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "global.h"
|
||||
#include "nds/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020c5c2c.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020d18f4.hpp"
|
||||
|
||||
class ActorCharacterBase : public Actor {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 158 */ UnkStruct_ov000_020d18f4 mUnk_158;
|
||||
/* 1b4 */ unk32 mUnk_1b4;
|
||||
/* 1b8 */ unk32 mUnk_1b8;
|
||||
/* 1bc */ unk32 mUnk_1bc;
|
||||
/* 1c0 */ unk8 mUnk_1c0;
|
||||
/* 1c1 */ unk8 mUnk_1c1;
|
||||
/* 1c2 */ unk8 mUnk_1c2;
|
||||
/* 1c3 */ unk8 mUnk_1c3;
|
||||
/* 1c4 */
|
||||
|
||||
/* 00 */ virtual ~ActorCharacterBase() override;
|
||||
/* 08 */ virtual bool Init() override;
|
||||
/* 14 */ virtual void vfunc_14(u32 param1) override;
|
||||
/* 18 */ virtual void vfunc_18(u32 param1) override;
|
||||
/* 68 */ virtual void vfunc_68() override;
|
||||
/* 80 */ virtual void vfunc_80() override;
|
||||
/* 84 */ virtual void vfunc_84() override;
|
||||
/* b4 */ virtual void vfunc_b4();
|
||||
/* b8 */ virtual void vfunc_b8();
|
||||
/* bc */ virtual bool vfunc_bc();
|
||||
/* c0 */ virtual bool vfunc_c0();
|
||||
/* c4 */ virtual void vfunc_c4() = 0;
|
||||
/* c8 */ virtual void vfunc_c8();
|
||||
/* cc */ virtual void vfunc_cc();
|
||||
/* d0 */ virtual void vfunc_d0();
|
||||
/* d4 */ virtual unk32 vfunc_d4();
|
||||
/* d8 */ virtual unk32 vfunc_d8();
|
||||
/* dc */ virtual unk32 vfunc_dc();
|
||||
/* e0 */ virtual unk32 vfunc_e0();
|
||||
/* e4 */ virtual unk32 vfunc_e4();
|
||||
/* e8 */ virtual void vfunc_e8();
|
||||
/* ec */
|
||||
|
||||
ActorCharacterBase();
|
||||
};
|
||||
|
||||
struct ActorCharacter_1c4 {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */
|
||||
};
|
||||
|
||||
class ActorCharacterModel : public ModelRender {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 5c */ unk32 mUnk_5c;
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk16 mUnk_64;
|
||||
/* 66 */ unk16 mUnk_66;
|
||||
/* 68 */ unk16 mUnk_68;
|
||||
/* 6a */ unk16 mUnk_6a;
|
||||
/* 6c */ unk16 mUnk_6c;
|
||||
/* 6e */ unk16 mUnk_6e;
|
||||
/* 70 */ unk32 mUnk_70;
|
||||
/* 74 */ unk32 mUnk_74;
|
||||
/* 78 */ Vec3p mUnk_78;
|
||||
/* 84 */ unk32 mUnk_84;
|
||||
/* 88 */ unk32 mUnk_88;
|
||||
/* 8c */ unk8 mUnk_8c;
|
||||
/* 8d */ unk8 mUnk_8d;
|
||||
/* 8e */ unk8 mUnk_8e;
|
||||
/* 8f */ unk8 mUnk_8f;
|
||||
/* 90 */
|
||||
|
||||
/* 00 */ virtual ~ActorCharacterModel() override;
|
||||
/* 3c */ virtual void vfunc_3c(ModelRenderCommandsData *renderData) override;
|
||||
/* 40 */
|
||||
|
||||
ActorCharacterModel();
|
||||
};
|
||||
|
||||
class ActorCharacter_288 : public UnkStruct_ov000_020c0c08 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 24 */ UnkStruct_ov000_020c0c08_04 *mUnk_24;
|
||||
/* 28 */ PAD(0x28, 0x80);
|
||||
/* 80 */
|
||||
|
||||
ActorCharacter_288();
|
||||
};
|
||||
|
||||
struct ActorCharacter_430 {
|
||||
/* 00 */ PAD(0x00, 0x18);
|
||||
/* 18 */
|
||||
};
|
||||
|
||||
class ActorCharacter : public ActorCharacterBase {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 1c4 */ ActorCharacter_1c4 mUnk_1c4;
|
||||
/* 1d8 */ UnkStruct_ov000_020c5c2c mUnk_1d8;
|
||||
/* 1f8 */ ActorCharacterModel mUnk_1f8;
|
||||
/* 288 */ ActorCharacter_288 mUnk_288[2];
|
||||
/* 388 */ ActorCharacter_288 mUnk_388;
|
||||
/* 408 */ unk32 mUnk_408;
|
||||
/* 40c */ unk32 mUnk_40c;
|
||||
/* 410 */ unk32 mUnk_410;
|
||||
/* 414 */ unk32 mUnk_414;
|
||||
/* 418 */ unk32 mUnk_418;
|
||||
/* 41c */ unk32 mUnk_41c;
|
||||
/* 420 */ unk32 mUnk_420;
|
||||
/* 424 */ unk32 mUnk_424;
|
||||
/* 428 */ unk32 mUnk_428;
|
||||
/* 428 */ PAD(0x42c, 0x42e);
|
||||
/* 42e */ unk8 mUnk_42e;
|
||||
/* 42f */ unk8 mUnk_42f;
|
||||
/* 430 */ ActorCharacter_430 mUnk_430;
|
||||
/* 448 */ unk32 mUnk_448;
|
||||
/* 44c */ PAD(0x44c, 0x454);
|
||||
/* 454 */ unk32 mUnk_454;
|
||||
/* 458 */ unk32 mUnk_458;
|
||||
/* 44c */ PAD(0x45c, 0x460);
|
||||
/* 460 */ unk32 mUnk_460;
|
||||
/* 464 */ unk32 mUnk_464;
|
||||
/* 468 */ unk8 mUnk_468;
|
||||
/* 469 */ unk8 mUnk_469;
|
||||
/* 46a */ PAD(0x46a, 0x46c);
|
||||
/* 46c */ unk32 mUnk_46c[1];
|
||||
/* 470 */
|
||||
|
||||
/* 00 */ virtual ~ActorCharacter() override;
|
||||
/* 08 */ virtual bool Init() override;
|
||||
/* 20 */ virtual void vfunc_20(bool param1) override;
|
||||
/* 40 */ virtual bool IsHitboxTouched(bool param1) override;
|
||||
/* 68 */ virtual void vfunc_68() override;
|
||||
/* 74 */ virtual void vfunc_74() override;
|
||||
/* 78 */ virtual bool vfunc_78() override;
|
||||
/* 7c */ virtual void vfunc_7c() override;
|
||||
/* 80 */ virtual void vfunc_80() override;
|
||||
/* 84 */ virtual void vfunc_84() override;
|
||||
/* 90 */ virtual bool vfunc_90() override;
|
||||
/* 94 */ virtual void vfunc_94() override;
|
||||
/* 98 */ virtual bool vfunc_98() override;
|
||||
/* 9c */ virtual bool vfunc_9c() override;
|
||||
/* c8 */ virtual void vfunc_c8() override;
|
||||
/* cc */ virtual void vfunc_cc() override;
|
||||
/* d0 */ virtual void vfunc_d0() override;
|
||||
/* ec */ virtual void vfunc_ec(unk32 param1);
|
||||
/* f0 */ virtual void vfunc_f0(unk32 param1);
|
||||
/* f4 */
|
||||
|
||||
ActorCharacter();
|
||||
|
||||
void func_ov014_02144d94();
|
||||
void func_ov014_02144dec();
|
||||
void func_ov014_02144e14();
|
||||
void func_ov014_02144e28();
|
||||
void func_ov014_02144e3c();
|
||||
void func_ov014_02144e58();
|
||||
void func_ov014_02144e74();
|
||||
|
||||
void func_ov014_02145178();
|
||||
void func_ov014_021451f0(unk32 *param1);
|
||||
void func_ov014_02145258();
|
||||
unk32 func_ov014_021452b0();
|
||||
unk32 func_ov014_02145318();
|
||||
void func_ov014_021453f4();
|
||||
void func_ov014_02145414();
|
||||
void func_ov014_0214548c();
|
||||
void func_ov014_02145508();
|
||||
void func_ov014_0214552c();
|
||||
void func_ov014_0214591c();
|
||||
};
|
||||
|
||||
class ActorGenericCharacter : public ActorCharacter {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 470 */ PAD(0x470, 0x474);
|
||||
/* 474 */ ActorGenericCharacter *mUnk_474;
|
||||
/* 478 */ void *mUnk_478;
|
||||
/* 47c */ unk32 mUnk_47c;
|
||||
/* 480 */ PAD(0x480, 0x484);
|
||||
/* 484 */ unk32 mUnk_484;
|
||||
/* 488 */ unk32 mUnk_488;
|
||||
/* 48c */ unk32 mUnk_48c;
|
||||
/* 490 */ unk8 mUnk_490;
|
||||
/* 491 */ PAD(0x491, 0x492);
|
||||
/* 492 */ unk16 mUnk_492;
|
||||
/* 494 */ unk16 mUnk_494;
|
||||
/* 496 */ unk16 mUnk_496;
|
||||
/* 498 */ unk16 mUnk_498;
|
||||
/* 49a */ PAD(0x49a, 0x49c);
|
||||
/* 49c */
|
||||
|
||||
/* 00 */ virtual ~ActorGenericCharacter() override;
|
||||
/* 08 */ virtual bool Init() override;
|
||||
/* 68 */ virtual void vfunc_68() override;
|
||||
/* 80 */ virtual void vfunc_80() override;
|
||||
/* 84 */ virtual void vfunc_84() override;
|
||||
/* c0 */ virtual bool vfunc_c0() override;
|
||||
/* c4 */ virtual void vfunc_c4() override;
|
||||
/* f4 */ virtual void vfunc_f4() = 0;
|
||||
/* f8 */ virtual void vfunc_f8();
|
||||
/* fc */
|
||||
|
||||
ActorGenericCharacter();
|
||||
|
||||
void func_ov014_02147940();
|
||||
void func_ov014_02147950();
|
||||
|
||||
void func_ov014_02147ae8();
|
||||
bool func_ov014_02147b18();
|
||||
void func_ov014_02147ba0();
|
||||
bool func_ov014_02147bb0();
|
||||
unk32 func_ov014_02147bd8();
|
||||
void func_ov014_02147c00();
|
||||
|
||||
void func_ov014_02147c98();
|
||||
void func_ov014_02147ce8(unk32 param1);
|
||||
void func_ov014_02147d44(unk32 param1);
|
||||
|
||||
void func_ov014_02147dfc();
|
||||
void func_ov014_02147e1c();
|
||||
void func_ov014_02147e64();
|
||||
void func_ov014_02147ebc();
|
||||
|
||||
void func_ov014_02147ee4();
|
||||
void func_ov014_02147fbc();
|
||||
void func_ov014_02147fcc();
|
||||
void func_ov014_021480dc();
|
||||
void func_ov014_02148130();
|
||||
void func_ov014_0214813c();
|
||||
void func_ov014_02148168();
|
||||
void func_ov014_02148198();
|
||||
void func_ov014_021481cc();
|
||||
void func_ov014_021481fc();
|
||||
};
|
||||
@@ -0,0 +1,130 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/ActorType.hpp"
|
||||
#include "Actor/Character/ActorCharacter.hpp"
|
||||
|
||||
class ActorItemSellerBase : public ActorCharacter {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 470 */ unk32 mUnk_470;
|
||||
/* 474 */
|
||||
|
||||
/* 000 */ virtual ~ActorItemSellerBase() override;
|
||||
/* 008 */ virtual bool Init() override;
|
||||
/* 020 */ virtual void vfunc_20(bool param1) override;
|
||||
/* 03c */ virtual bool CollidesWithLink() override;
|
||||
/* 040 */ virtual bool IsHitboxTouched(bool param1) override;
|
||||
/* 068 */ virtual void vfunc_68() override;
|
||||
/* 08c */ virtual bool vfunc_8c() override;
|
||||
/* 0c0 */ virtual bool vfunc_c0() override;
|
||||
/* 0c4 */ virtual void vfunc_c4() override;
|
||||
/* 0d4 */ virtual unk32 vfunc_d4() override;
|
||||
/* 0f4 */ virtual void vfunc_f4() = 0;
|
||||
/* 0f8 */ virtual void vfunc_f8() = 0;
|
||||
/* 0fc */ virtual void vfunc_fc() = 0;
|
||||
/* 100 */ virtual void vfunc_100() = 0;
|
||||
/* 104 */ virtual void vfunc_104() = 0;
|
||||
/* 108 */ virtual void vfunc_108() = 0;
|
||||
/* 10c */ virtual void vfunc_10c() = 0;
|
||||
/* 110 */ virtual void vfunc_110() = 0;
|
||||
/* 114 */ virtual void vfunc_114() = 0;
|
||||
/* 118 */ virtual void vfunc_118() = 0;
|
||||
/* 11c */ virtual void vfunc_11c();
|
||||
/* 120 */
|
||||
|
||||
ActorItemSellerBase();
|
||||
|
||||
void func_ov031_0217d588();
|
||||
void func_ov031_0217d5c0();
|
||||
void func_ov031_0217d5c4();
|
||||
void func_ov031_0217d5e8();
|
||||
void func_ov031_0217d610();
|
||||
void func_ov031_0217d62c();
|
||||
void func_ov031_0217d638();
|
||||
void func_ov031_0217d6ac();
|
||||
void func_ov031_0217d6d0();
|
||||
void func_ov031_0217d760();
|
||||
void func_ov031_0217d784();
|
||||
void func_ov031_0217d7ac();
|
||||
void func_ov031_0217d830();
|
||||
void func_ov031_0217d858();
|
||||
void func_ov031_0217d890();
|
||||
void func_ov031_0217d8d0();
|
||||
void func_ov031_0217d8dc();
|
||||
void func_ov031_0217d93c();
|
||||
void func_ov031_0217d974();
|
||||
|
||||
void func_ov031_0217da20(unk32 param1);
|
||||
};
|
||||
|
||||
class ActorItemSeller : public ActorItemSellerBase {
|
||||
/* 000 (base) */
|
||||
/* 474 */
|
||||
|
||||
/* 000 */ virtual ~ActorItemSeller() override;
|
||||
/* 008 */ virtual bool Init() override;
|
||||
/* 0d4 */ virtual unk32 vfunc_d4() override;
|
||||
/* 0f4 */ virtual void vfunc_f4() override;
|
||||
/* 0f8 */ virtual void vfunc_f8() override;
|
||||
/* 0fc */ virtual void vfunc_fc() override;
|
||||
/* 100 */ virtual void vfunc_100() override;
|
||||
/* 104 */ virtual void vfunc_104() override;
|
||||
/* 108 */ virtual void vfunc_108() override;
|
||||
/* 10c */ virtual void vfunc_10c() override;
|
||||
/* 110 */ virtual void vfunc_110() override;
|
||||
/* 114 */ virtual void vfunc_114() override;
|
||||
/* 118 */ virtual void vfunc_118() override;
|
||||
/* 120 */
|
||||
};
|
||||
|
||||
namespace ActorItemSeller1 {
|
||||
extern ActorType gType;
|
||||
ActorItemSeller *Create();
|
||||
} // namespace ActorItemSeller1
|
||||
|
||||
namespace ActorItemSeller2 {
|
||||
extern ActorType gType;
|
||||
ActorItemSeller *Create();
|
||||
} // namespace ActorItemSeller2
|
||||
|
||||
namespace ActorItemSeller3 {
|
||||
extern ActorType gType;
|
||||
ActorItemSeller *Create();
|
||||
} // namespace ActorItemSeller3
|
||||
|
||||
class ActorBeedle : public ActorItemSellerBase {
|
||||
public:
|
||||
static ActorType gType;
|
||||
|
||||
/* 000 (base) */
|
||||
/* 474 */
|
||||
|
||||
/* 000 */ virtual ~ActorBeedle() override;
|
||||
/* 008 */ virtual bool Init() override;
|
||||
/* 06c */ virtual bool vfunc_6c() override;
|
||||
/* 070 */ virtual bool vfunc_70() override;
|
||||
/* 0c4 */ virtual void vfunc_c4() override;
|
||||
/* 0d4 */ virtual unk32 vfunc_d4() override;
|
||||
/* 0d8 */ virtual unk32 vfunc_d8() override;
|
||||
/* 0dc */ virtual unk32 vfunc_dc() override;
|
||||
/* 0e0 */ virtual unk32 vfunc_e0() override;
|
||||
/* 0f4 */ virtual void vfunc_f4() override;
|
||||
/* 0f8 */ virtual void vfunc_f8() override;
|
||||
/* 0fc */ virtual void vfunc_fc() override;
|
||||
/* 100 */ virtual void vfunc_100() override;
|
||||
/* 104 */ virtual void vfunc_104() override;
|
||||
/* 108 */ virtual void vfunc_108() override;
|
||||
/* 10c */ virtual void vfunc_10c() override;
|
||||
/* 110 */ virtual void vfunc_110() override;
|
||||
/* 114 */ virtual void vfunc_114() override;
|
||||
/* 118 */ virtual void vfunc_118() override;
|
||||
/* 11c */ virtual void vfunc_11c() override;
|
||||
|
||||
static ActorBeedle *Create();
|
||||
|
||||
static unk32 func_ov031_021812e4(unk32 param1);
|
||||
static void func_ov031_0218132c(unk32 param1);
|
||||
};
|
||||
@@ -0,0 +1,56 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/ActorType.hpp"
|
||||
#include "Actor/Character/ActorCharacter.hpp"
|
||||
|
||||
struct ActorTetra_4cc {
|
||||
/* 000 */ PAD(0x000, 0x9c0);
|
||||
/* 9c0 */
|
||||
};
|
||||
|
||||
struct ActorTetra_4b0 {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ ActorTetra_4cc *mUnk_0c;
|
||||
/* 10 */ ActorTetra_4cc *mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14; // always sizeof(ActorTetra_4cc)?
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */
|
||||
|
||||
inline ActorTetra_4b0(ActorTetra_4cc *unk_0c, ActorTetra_4cc *unk_10, unk32 size) :
|
||||
mUnk_00(0),
|
||||
mUnk_04(0),
|
||||
mUnk_0c(unk_0c),
|
||||
mUnk_10(unk_10),
|
||||
mUnk_14(size) {}
|
||||
|
||||
void func_ov031_02181610(unk32 param1, unk32 param2, unk32 param3, unk32 param4, u16 param5);
|
||||
void func_ov031_02181798();
|
||||
};
|
||||
|
||||
class ActorTetra : public ActorGenericCharacter {
|
||||
public:
|
||||
static ActorType gType;
|
||||
|
||||
/* 0000 (base) */
|
||||
/* 049c */ PAD(0x49c, 0x4b0);
|
||||
/* 04b0 */ ActorTetra_4b0 mUnk_4b0;
|
||||
/* 04cc */ ActorTetra_4cc mUnk_4cc;
|
||||
/* 0e8c */ ActorTetra_4cc mUnk_e8c;
|
||||
/* 184c */
|
||||
|
||||
/* 00 */ virtual ~ActorTetra() override;
|
||||
/* 20 */ virtual void vfunc_20(bool param1) override;
|
||||
/* c4 */ virtual void vfunc_c4() override;
|
||||
/* f4 */ virtual void vfunc_f4() override;
|
||||
/* f8 */ virtual void vfunc_f8() override;
|
||||
/* fc */
|
||||
|
||||
static ActorTetra *Create();
|
||||
inline ActorTetra() :
|
||||
mUnk_4b0(&mUnk_4cc, &mUnk_e8c, sizeof(mUnk_4cc)) {}
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_ov000_020c5c2c {
|
||||
PAD(0x00, 0x20);
|
||||
};
|
||||
+4
-4
@@ -5,15 +5,15 @@
|
||||
#define ARRAY_LEN(arr) (s32)(sizeof(arr) / sizeof(*arr))
|
||||
|
||||
// Prevent the IDE from reporting errors that the compiler/linker won't report
|
||||
#ifdef __INTELLISENSE__
|
||||
#if defined(__INTELLISENSE__) || (__clang__)
|
||||
#else
|
||||
// `override` was added in C++11 before the DS, so we only use the keyword to indicate overriden functions
|
||||
#define override
|
||||
#endif
|
||||
|
||||
#define ARM _Pragma("thumb off")
|
||||
#define THUMB _Pragma("thumb on")
|
||||
|
||||
// `override` was added in C++11 before the DS, so we only use the keyword to indicate overriden functions
|
||||
#define override
|
||||
|
||||
// Puts variables in the DTCM module by using #pragma section dtcm begin|end
|
||||
#pragma define_section dtcm ".dtcm" \
|
||||
".dtcm"
|
||||
|
||||
Reference in New Issue
Block a user