diff options
Diffstat (limited to 'include/Actor')
| -rw-r--r-- | include/Actor/Character/ActorCharacter.hpp | 245 | ||||
| -rw-r--r-- | include/Actor/Character/ActorItemSeller.hpp | 130 | ||||
| -rw-r--r-- | include/Actor/Character/ActorTetra.hpp | 56 |
3 files changed, 431 insertions, 0 deletions
diff --git a/include/Actor/Character/ActorCharacter.hpp b/include/Actor/Character/ActorCharacter.hpp new file mode 100644 index 00000000..f2248628 --- /dev/null +++ b/include/Actor/Character/ActorCharacter.hpp @@ -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(); +}; diff --git a/include/Actor/Character/ActorItemSeller.hpp b/include/Actor/Character/ActorItemSeller.hpp new file mode 100644 index 00000000..b2e2db97 --- /dev/null +++ b/include/Actor/Character/ActorItemSeller.hpp @@ -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); +}; diff --git a/include/Actor/Character/ActorTetra.hpp b/include/Actor/Character/ActorTetra.hpp new file mode 100644 index 00000000..529fe126 --- /dev/null +++ b/include/Actor/Character/ActorTetra.hpp @@ -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)) {} +}; |
