New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ChikuwaBlockBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorState.h>
4#include <collision/ActorLineBgCollision.h>
5#include <graphics/AnimModel.h>
6#include <state/FStateVirtualID.h>
7
8/**
9 * @brief Base class for Chikuwa (Donut) blocks.
10 * @details Used by both the Donut Block and the Kamek Floor Block.
11 * @note Does not override RTTI.
12 * @par @c vtable Address: 0x1010A30C
13 */
15{
16public:
17 // Address: 0x02747DE4
18 ChikuwaBlockBase(const ActorCreateParameter& param);
19 // Address: 0x02748EC4
21
22protected:
23 // Address: 0x02747F84
24 bool draw() override;
25
26protected:
27 virtual void reset1();
28 virtual void reset2();
29
30 // StateID_Step Address: 0x102216C8
31 // initializeState_Step Address: 0x027484F0
32 // executeState_Step Address: 0x02748504
33 // finalizeState_Step Address: 0x02748E5C
34 DECLARE_STATE_VIRTUAL_ID_BASE(ChikuwaBlockBase, Step)
35 // StateID_Falling Address: 0x102216EC
36 // initializeState_Falling Address: 0x02748630
37 // executeState_Falling Address: 0x02748640
38 // finalizeState_Falling Address: 0x02748E60
40 // StateID_Cooldown Address: 0x10221710
41 // initializeState_Cooldown Address: 0x027486E8
42 // executeState_Cooldown Address: 0x027486F4
43 // finalizeState_Cooldown Address: 0x02748E64
45 // StateID_Respawn Address: 0x10221734
46 // initializeState_Respawn Address: 0x02748E68
47 // executeState_Respawn Address: 0x02748784
48 // finalizeState_Respawn Address: 0x02748E6C
50
51 // Address: 0x027480C0
53 // Address: 0x0274849C
54 void init();
55 // Address: 0x02748204
56 void updateModel(f32 offsetY);
57 // Address: 0x0274830C
58 void resetStep();
59 // Address: 0x02748354
60 bool hasContact();
61
62 // Address: 0x02747FB4
63 static void callbackFoot(BgCollision* bc_self, ActorBgCollisionCheck* cc_other);
64
65protected:
81};
82static_assert(sizeof(ChikuwaBlockBase) == 0x19C8, "ChikuwaBlockBase size mismatch");
Base class for Chikuwa (Donut) blocks.
Definition ChikuwaBlockBase.h:15
TexturePatternAnimation * mTexAnim
Definition ChikuwaBlockBase.h:68
f32 mRespawnScale
Definition ChikuwaBlockBase.h:76
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
ChikuwaBlockBase(const ActorCreateParameter &param)
s8 mSteppingPlayerIDs[4]
Definition ChikuwaBlockBase.h:69
u16 mRespawnDelayTimer
Definition ChikuwaBlockBase.h:77
u8 _19c4[4]
Definition ChikuwaBlockBase.h:80
AnimModel * mModel
Definition ChikuwaBlockBase.h:67
u32 mShakeAngleZ
Definition ChikuwaBlockBase.h:72
ActorLineBgCollision mCollider
Definition ChikuwaBlockBase.h:66
static void callbackFoot(BgCollision *bc_self, ActorBgCollisionCheck *cc_other)
void updateModel(f32 offsetY)
bool mYoshiStepping
Definition ChikuwaBlockBase.h:79
u16 mFallDelayTimer
Definition ChikuwaBlockBase.h:75
u32 mShakeDelayTimer
Definition ChikuwaBlockBase.h:74
virtual void reset2()
virtual void reset1()
bool mBgRestored
Definition ChikuwaBlockBase.h:78
~ChikuwaBlockBase() override
Definition ChikuwaBlockBase.h:20
u32 mStepHoldCounter
Definition ChikuwaBlockBase.h:73
u32 mShakeXOffset
Definition ChikuwaBlockBase.h:71
sead::Vector3f mSpawnPos
Definition ChikuwaBlockBase.h:70