Files
st/include/Actor/ActorFleeingSpinut.hpp
T
Alessevan 44499db695 Decompiling Fleeing Spinut (#148)
* feat: decompiling green spinut

* feat: some progress

* refactor: rename MKUR to GreenSpinut and ActorId_KURI to ActorId_Spinut

* feat: better symbols

* feat: update matching

* fix: change MKUR for eur1 & usa

* feat: up eur1

* feat: up usa

* fix: usa

* feat: up jp data

* feat: improve matching

* feat: improve overall matching

* feat: add comments on KURI's states

* refactor: rename to FleeingSpinut

* feat: relocate function to ModelRenderBase

* refactor: rename last GreenSpinut

* refactor: rename field

* fix: forgot to rename symbol :clown:
2026-08-31 22:22:42 +02:00

120 lines
4.0 KiB
C++

#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorProfile_ov000_020b3018.hpp"
#include "ActorSpinut.hpp"
#include "global.h"
#include "types.h"
enum ActorFleeingSpinutState_ {
ActorFleeingSpinutState_0 = 0,
ActorFleeingSpinutState_1 = 1,
ActorFleeingSpinutState_2 = 2,
ActorFleeingSpinutState_3 = 3,
ActorFleeingSpinutState_4 = 4,
ActorFleeingSpinutState_5 = 5,
ActorFleeingSpinutState_6 = 6,
ActorFleeingSpinutState_Max
};
class ActorFleeingSpinut_1EC {
public:
/* 00 */ u8 mUnk_00;
/* 04 */ UnkStruct_027e0960_TableEntry_04 *mUnk_04;
/* 08 */ UnkStruct_027e0960_TableEntry_04 *mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1C */ VecFx32 mUnk_1C;
/* 28 */ u16 mUnk_28;
/* 2C */ unk32 mUnk_2C;
/* 30 */
ActorFleeingSpinut_1EC();
void func_ov032_0211cc48(VecFx32 *param1);
UnkStruct_027e0960_TableEntry_04 *func_ov032_0211cd20(VecFx32 *param1);
u16 *func_ov032_0211cd60(VecFx32 *param1, s16 *param2, VecFx32 *param3, unk32 param4, unk32 param5, unk32 param6);
void func_ov032_0211cf74();
void func_ov032_0211cfac(unk32 param1);
void func_ov032_0211d028();
bool func_ov032_0211d040(VecFx32 *param1);
void func_ov032_0211d08c(VecFx32 *param1);
bool func_ov032_0211d2e4(UnkStruct_027e0960_TableEntry_04_Base *param1);
UnkStruct_027e0960_TableEntry_04 *func_ov032_0211d384(VecFx32 *param1);
unk32 func_ov032_0211d568(VecFx32 *param1, UnkStruct_027e0960_TableEntry_04_Base *param2,
UnkStruct_027e0960_TableEntry_04_Base *param3);
bool func_ov032_0211d674(VecFx32 *param1, UnkStruct_027e0960_TableEntry_04_Base *param2);
bool func_ov032_0211d6d8(VecFx32 *param1, UnkStruct_027e0960_TableEntry_04_Base *param2, unk32 param3);
void func_ov032_0211d7e8(VecFx32 *param1);
void func_ov032_0211d80c();
void func_ov032_0211d830(UnkStruct_027e0960_TableEntry_04 *param1);
void func_ov032_0211d910();
bool func_ov032_0211d920(VecFx32 *param1);
bool func_ov032_0211d864(VecFx32 *param1);
bool func_ov032_0211da0c(unk32 param1, VecFx32 *param2);
};
class ActorFleeingSpinut : public Actor_Derived2 {
public:
/* 000 (base) */
/* 0AE */ STRUCT_PAD(0x0AE, 0x0B0);
/* 0B0 */ ModelRender_ov000_020b1a1c mUnk_0B0;
/* 110 */ ActorSpinut_110 mUnk_110;
/* 1A0 */ STRUCT_PAD(0x1A0, 0x1BC);
/* 1BC */ ActorState mPrevState;
/* 1BE */ unk16 mUnk_1BE;
/* 1C0 */ Actor_9C mUnk_1C0;
/* 1E0 */ Actor_Derived1_94 mUnk_1E0;
/* 1EC */ ActorFleeingSpinut_1EC mUnk_1EC;
/* 21C */ fx32 mUnk_21C;
/* 220 */ unk32 mUnk_220;
/* 224 */ bool mUnk_224;
ActorFleeingSpinut();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorFleeingSpinut() override;
void SetState(ActorState state);
bool func_ov032_0211be04();
void func_ov032_0211be30();
void func_ov032_0211bea8();
void func_ov032_0211bf84();
void func_ov032_0211bffc();
void func_ov032_0211c07c();
void func_ov032_0211c108();
void func_ov032_0211c2c4();
void func_ov032_0211c340();
void func_ov032_0211c444();
void func_ov032_0211c4d4();
void func_ov032_0211c53c();
void func_ov032_0211c5cc();
void func_ov032_0211c73c();
void func_ov032_0211c7bc();
bool func_ov032_0211c938();
bool func_ov032_0211c9d8();
bool func_ov032_0211ca20();
bool func_ov032_0211ca6c();
bool func_ov032_0211cab8(unk32 param1, unk32 param2);
void func_ov032_0211cb2c();
};
class ActorProfileFleeingSpinut : public ActorProfile_ov000_020b3018 {
public:
/* 00 (base) */
/* 3C */ STRUCT_PAD(0x3C, 0x44);
/* 44 */
ActorProfileFleeingSpinut();
/* 0C */ virtual Actor *Create();
static ActorProfileFleeingSpinut *GetProfile();
};