mirror of
https://github.com/zeldaret/st
synced 2026-08-24 15:26:58 -04:00
473e1e102b
* feat: begin decompiling * feat: some progress * fix: forgot to change symbol * feat: increase matching * fix: function params not updated * feat: more matching * fix: noo more errors oon local help * fix: match back UnkStruct_PlayerGet_74.data * feat: little progress * fix: SWBM.data regression * feat: up jp version * feat: update matching * refactor: rename UnkBOMB to Bomb * feat: decompiling part of MapObjectUnkBMFL * feat: destroy MapObjectPot's vfunc_24 for the good of all * fix: revert wrong symbol * feat: updating jp symbols * feat: eur advancements * feat: weird stuff * feat: fix build issue * feat: rename BMFL to BombFlower * feat: catchup jp .data * feat: improve BombFlower * feat: improve bomb matching * style: cleanup * style: cleanup v2 * fix: mapobjectpot_base .data * feat: better match for mapobjectpot_base * style: use deg_to_rad macro * style: cleaner variable definition * doc: better comment * fix: build
90 lines
2.3 KiB
C++
90 lines
2.3 KiB
C++
#pragma once
|
|
|
|
#include "Actor/Actor.hpp"
|
|
#include "Actor/ActorProfile.hpp"
|
|
#include "Player/PlayerGet.hpp"
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
class ActorUnkSWBM;
|
|
enum ActorUnkSWBMState_ {
|
|
ActorUnkSWBMState_0 = 0,
|
|
ActorUnkSWBMState_1 = 1,
|
|
ActorUnkSWBMState_2 = 2,
|
|
ActorUnkSWBMState_Max
|
|
};
|
|
|
|
class ActorUnkSWBM_94 : public UnkStruct_ov031_Items_00_Base {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 04 */
|
|
|
|
// data_ov031_02113148
|
|
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override;
|
|
/* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 *param2, unk32 param3) override;
|
|
};
|
|
|
|
class ActorUnkSWBM_98 : public UnkStruct_ov031_Items_01 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 2C */ ActorUnkSWBM *mUnk_2C;
|
|
/* 30 */
|
|
|
|
ActorUnkSWBM_98(ActorUnkSWBM *param1) :
|
|
mUnk_2C(param1) {}
|
|
|
|
// data_ov031_0211312c
|
|
/* 0C */ virtual bool vfunc_0C(Actor *param1, VecFx32 *vector) override;
|
|
/* 10 */ virtual void vfunc_10(Actor *actor) override;
|
|
};
|
|
|
|
class ActorUnkSWBM_C8 : public UnkStruct_PlayerGet_74_base {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 04 */ STRUCT_PAD(0x04, 0x14);
|
|
/* 14 */ ActorUnkSWBM *mUnk_14;
|
|
/* 18 */
|
|
|
|
ActorUnkSWBM_C8(ActorUnkSWBM *param1) :
|
|
mUnk_14(param1) {}
|
|
|
|
// data_ov031_02113110
|
|
/* 00 */ virtual void vfunc_00(unk32 param1, unk32 param2) override;
|
|
};
|
|
|
|
class ActorUnkSWBM : public Actor {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 094 */ ActorUnkSWBM_94 mUnk_094;
|
|
/* 098 */ ActorUnkSWBM_98 mUnk_098;
|
|
/* 0C8 */ ActorUnkSWBM_C8 mUnk_0C8;
|
|
/* 0E0 */ unk16 mUnk_0E0;
|
|
/* 0E4 */ VecFx32 mUnk_0E4[0x3];
|
|
/* 108 */ unk16 mUnk_108;
|
|
/* 10A */ unk16 mUnk_10A;
|
|
/* 10C */
|
|
|
|
ActorUnkSWBM();
|
|
|
|
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
|
|
/* 20 */ virtual void vfunc_20() override;
|
|
/* 24 */ virtual void vfunc_24() override;
|
|
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
|
|
|
|
void func_ov031_020e6d48();
|
|
void func_ov031_020e6d80(unk32 param1);
|
|
void func_ov031_020e6e84(ActorState state);
|
|
static void func_ov031_020e718c(VecFx32 *param0, Mat3p *param1, s32 param2, s16 param3, u16 param4, s16 param5);
|
|
};
|
|
|
|
class ActorProfileUnkSWBM : public ActorProfile {
|
|
public:
|
|
/* 00 (base) */
|
|
|
|
ActorProfileUnkSWBM();
|
|
|
|
/* 0C */ virtual Actor *Create();
|
|
|
|
static ActorProfileUnkSWBM *GetProfile();
|
|
};
|