Files
st/include/MapObject/MapObjectBombFlower.hpp
T
Alessevan 473e1e102b Decompiling BOMB (#140)
* 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
2026-08-23 21:06:08 +02:00

69 lines
1.9 KiB
C++

#pragma once
#include "Actor/ActorItemFlower.hpp"
#include "Actor/ActorUnkSCCN.hpp"
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "MapObjectPot_Base.hpp"
#include "MapObject_10_Pot.hpp"
#include "global.h"
#include "types.h"
enum MapObjBombFlowerState_ {
MapObjBombFlowerState_0 = 0,
MapObjBombFlowerState_1 = 1,
MapObjBombFlowerState_2 = 2,
MapObjBombFlowerState_3 = 3,
MapObjBombFlowerState_4 = 4,
MapObjBombFlowerState_5 = 5,
MapObjBombFlowerState_6 = 6,
MapObjBombFlowerState_Max
};
class MapObjectBombFlower : public MapObjectPot_Base {
public:
/* 00 (base) */
/* 48 */ ModelRender_ov031_0211578c mUnk_48;
/* A8 */ STRUCT_PAD(0xA8, 0xB0);
/* BC */ fx32 mUnk_B0;
/* BC */ fx32 mUnk_B4;
/* B8 */ volatile u16 mUnk_B8;
/* BA */ u16 mUnk_BA;
/* BC */ bool mUnk_BC;
/* C0 */ MapObject_10_Pot mUnk_C0;
MapObjectBombFlower();
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 28 */ virtual unk32 vfunc_28() override;
/* 38 */ virtual void vfunc_38() override;
/* 44 */ virtual bool SetState(MapObjState state, unk32) override;
/* 48 */ virtual void vfunc_48() override;
/* 50 */ virtual void vfunc_50(ActorRef *param1, MapObjectPot_Base *thisx) override;
/* 58 */ virtual void vfunc_58();
bool IsInternalTimerOut() {
if (this->mUnk_B8 < this->mUnk_BA) {
++this->mUnk_B8;
return false;
}
return true;
}
void func_ov031_02102728(unk32 param1);
};
class MapObjectProfileBombFlower : public MapObjectProfile_Derived2 {
public:
/* 00 (base) */
MapObjectProfileBombFlower();
/* 0C */ virtual MapObject *Create();
static MapObjectProfileBombFlower *GetProfile();
};