New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ItemBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorState.h>
4#include <state/FStateVirtualID.h>
5#include <graphics/AnimModel.h>
6#include <actor/EatData.h>
7#include <collision/BgCollisionCheckHitResult.h>
8
9class Yoshi;
10
12{
13 SEAD_RTTI_OVERRIDE(ItemBase, ActorMultiState)
14
15protected:
30
31public:
32 ItemBase(const ActorCreateParam& param);
33 virtual ~ItemBase();
34
35 // Address: 0x025176EC
36 bool draw() override;
37
38 void setPlayerNo(s8 ID) override;
40 void setCarryFall(Actor*, s32) override;
42 void setSpinLiftUpActor(Actor* player) override;
43 // Address: 0x02517BD0
45 // Address: 0x02517C20
46 void waterSplashEffect(const sead::Vector3f& pos) override;
47 // Address: 0x02517D5C
48 void yoganSplashEffect(const sead::Vector3f& pos) override;
49 // Address: 0x02517E18
50 void yoganWaveSplashEffect(const sead::Vector3f& pos) override;
51 // Address: 0x02517ED4
52 void poisonSplashEffect(const sead::Vector3f& pos) override;
54
55 void setWaterFunsui_(bool enable) override;
57 void endFunsui_(f32 speed_y) override;
58 bool isFunsui_() const override;
60 // Address: 0x0251771C
61 void setQuake_(QuakeType type) override;
62
63 bool setTouchDrcDamage_(const sead::Vector3f& pos) override;
64 void setFunsuiPos_(sead::Vector2f dst) override;
65 void setFunsuiSpeedY_(f32 speed) override;
66 bool smokeDamageEnable_Yogan_(f32 surface_pos_y) override;
67 bool smokeDamageEnable_Poison_(f32 surface_pos_y) override;
68 void changeState(const StateID& state_id) override;
69
70 virtual void vf18C(); // nullsub
71 virtual void playBlockReleaseUpAnim(); // nullsub
72 virtual void playBlockReleaseDownAnim(); // nullsub
73 virtual void playIdleAnim(); // nullsub
74 virtual void playFloatAnim(); // nullsub
75 virtual void vf1B4(); // nullsub
76 // Address: 0x0251784C
77 virtual void initHitboxes();
78 virtual u32 vf1C4(); // Player collision
79 // Address: 0x025178C0
80 virtual void vf1CC();
81 // Address: 0x02517908
82 virtual void vf1D4();
83 // Address: 0x02517950
84 virtual void vf1DC();
85 // Address: 0x02517A40
86 virtual void vf1E4();
87 // Address: 0x02517A84
88 virtual void vf1EC();
89 // Address: 0x02517B3C
90 virtual void vf1F4();
91 virtual void vf1FC(); // nullsub
92 // Address: 0x02517B4C
93 virtual u32 vf204();
94
101
113
114 // Address: 0x02518470
116 // Address: 0x02519130
118 // Address: 0x02517F90
119 void init();
120 // Address: 0x02518A4C
122 // Address: 0x02518F94
124 // Address: 0x025183AC
126 // Address: 0x025196E8
127 u32 trySetPlayerPowerUp(void*, u32 PowerUp, u32);
128
129 // Address: 0x02519580
130 bool handleCollectResponse(u32, u32 Player);
131
133
134protected:
138 u8 _17e8[0x1800 - 0x17E8];
146 u8 _181c[0x1827 - 0x181C];
149 u8 _1829[0x1830 - 0x1829];
151 u8 _1834[0x1858 - 0x1834];
158 u8 _1860[0x1864 - 0x1860];
160 u8 _1888[0x188C - 0x1888];
161 u8 mScaler[0x20];
164 u8 _19e4[0x1A00 - 0x19E4];
165 u8 mEffect[0x68];
166 u8 _1a6c[0x1A7E - 0x1A6C];
171};
172
173static_assert(sizeof(ItemBase) == 0x1A90);
Definition ItemBase.h:12
AnimModel * mItemModel
Definition ItemBase.h:139
bool setTouchDrcDamage_(const sead::Vector3f &pos) override
u16 _185c
Definition ItemBase.h:155
bool smokeDamageEnable_Poison_(f32 surface_pos_y) override
void spawnMethod()
sead::Vector3f mPos
Definition ItemBase.h:136
Animation * mItemAnim
Definition ItemBase.h:140
virtual void vf1F4()
u8 _185e
Definition ItemBase.h:156
bool mParentIsFlyingQBlockSpawner
Definition ItemBase.h:167
u32 mUnkPlayerID
Definition ItemBase.h:145
virtual ~ItemBase()
u16 _1858
Definition ItemBase.h:152
void setQuake_(QuakeType type) override
u32 mAnimIDX
Definition ItemBase.h:143
void waterSplashEffect(const sead::Vector3f &pos) override
void * mCallbackTable
Definition ItemBase.h:170
void endFunsui_(f32 speed_y) override
ActorCollisionCheck mACollider2
Definition ItemBase.h:162
u8 _1829[0x1830 - 0x1829]
Definition ItemBase.h:149
virtual void playBlockReleaseUpAnim()
virtual u32 vf204()
virtual u32 vf1C4()
void beginFunsui_() override
virtual void initHitboxes()
u8 mScaler[0x20]
Definition ItemBase.h:161
u8 _185B
Definition ItemBase.h:154
virtual void vf1DC()
void updateModel()
Yoshi * getEatenByYoshi() const
ItemType mItemType
Definition ItemBase.h:141
bool isSpinLiftUpEnable() override
bool mOnCreateCalled
Definition ItemBase.h:147
void setFunsuiSpeedY_(f32 speed) override
void allEnemyDeathEffSet() override
ActorBgCollisionCheck * getBgCheck() override
sead::Vector3f mEffectPos
Definition ItemBase.h:137
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
u8 _1860[0x1864 - 0x1860]
Definition ItemBase.h:158
s8 mYoshiEatenPlayerID
Definition ItemBase.h:153
void setWaterFunsui_(bool enable) override
u8 mEffect[0x68]
Definition ItemBase.h:165
void poisonSplashEffect(const sead::Vector3f &pos) override
void setCarryFall(Actor *, s32) override
virtual void vf1B4()
virtual void playFloatAnim()
bool mCollidedWithGiantWiggler
Definition ItemBase.h:157
virtual void vf1E4()
EatData mEatData
Definition ItemBase.h:159
u8 _17e8[0x1800 - 0x17E8]
Definition ItemBase.h:138
u32 _180c
Definition ItemBase.h:142
bool isFunsui_() const override
u8 _181c[0x1827 - 0x181C]
Definition ItemBase.h:146
u32 _1814
Definition ItemBase.h:144
virtual void vf1D4()
virtual void playIdleAnim()
bool handleCollectResponse(u32, u32 Player)
bool smokeDamageEnable_Yogan_(f32 surface_pos_y) override
virtual void vf18C()
sead::Vector2f _17c8
Definition ItemBase.h:135
bool mCollidedWithLog
Definition ItemBase.h:148
void setLogAndWigglerColToFalse()
u8 _1a6c[0x1A7E - 0x1A6C]
Definition ItemBase.h:166
u8 _1a7f
Definition ItemBase.h:168
void spawnDustParticles()
BgCollisionCheckHitResult mAirWaterHitRes
Definition ItemBase.h:163
void setSpinLiftUpActor(Actor *player) override
s32 mCollidingPlayerID
Definition ItemBase.h:150
void setPlayerNo(s8 ID) override
DECLARE_STATE_VIRTUAL_ID_BASE(ItemBase, ItemBaseState12)
u8 _1888[0x188C - 0x1888]
Definition ItemBase.h:160
virtual void vf1EC()
u32 trySetPlayerPowerUp(void *, u32 PowerUp, u32)
u8 _19e4[0x1A00 - 0x19E4]
Definition ItemBase.h:164
u8 _1834[0x1858 - 0x1834]
Definition ItemBase.h:151
void init()
sead::Vector3f _1a80
Definition ItemBase.h:169
void setFunsuiPos_(sead::Vector2f dst) override
void changeState(const StateID &state_id) override
void yoganSplashEffect(const sead::Vector3f &pos) override
void blockHitInit_() override
void yoganWaveSplashEffect(const sead::Vector3f &pos) override
ItemBase(const ActorCreateParam &param)
virtual void vf1FC()
virtual void playBlockReleaseDownAnim()
void despawnRelated()
DECLARE_STATE_ID(ItemBase, BlockReleaseUp)
virtual void vf1CC()
bool isQuakeEnable_() override
Determines whether setQuake_() should be called.
Definition Yoshi.h:7