New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
Birikyu.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ChibiEatCallback.h>
4#include <actor/EatCallback.h>
5#include <actor/Profile.h>
6#include <collision/ActorCollisionDrcTouchCallback.h>
7#include <effect/EffectObj.h>
8#include <enemy/Enemy.h>
9#include <enemy/EnemyBoyoMgr.h>
10#include <graphics/Light.h>
11
12// vtbl Address: 0x1005CD9C
14{
15public:
16 // Address: 0x022CF75C
17 bool ccSetTouchNormal(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
18 // Address: 0x022CF7E8
19 void ccOnTouch(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
20};
21static_assert(sizeof(BirikyuDrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
22
23class AnimModel;
24
25// vtbl Address: 0x1005CDF4
26class Birikyu : public Enemy
27{
28public:
29 // Address: 0x1005CC30
31
32public:
33 Birikyu(const ActorCreateParameter& param)
34 : Enemy(param)
35 , _18fc(0)
36 , _1900(0.0f)
39 , mBoyoMgr(this)
40 , mTouchTimer(0)
41 , mIsTouchDone(false)
42 {
43 }
44
45 virtual ~Birikyu()
46 {
47 }
48
49protected:
50 // Address: 0x022CE4B0
51 Result create() override;
52 // Address: 0x022CE7C8
54 // Address: 0x022CE9B4
55 bool draw() override;
56 // Address: 0x022D00E8
57 Result doDelete() override;
58
59public:
60 // Address: 0x022CF414
62
63 // Address: 0x022CE9E8
64 void vsPlayerHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
65 // Address: 0x022CED00
66 void vsYoshiHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
67
68 // Address: 0x022D0100
69 bool hitCallback_WireNet(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
70 // Address: 0x022D00F0
71 bool hitCallback_HipAttk(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
72 // Address: 0x022CEBDC
73 bool hitCallback_PenguinSlide(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
74 // Address: 0x022D00F8
75 bool hitCallback_Cannon(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
76 // Address: 0x022CEB74
77 bool hitCallback_Fire(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
78
79 // StateID_DieFall Address: 0x101FEFFC
80 // initializeState_DieFall Address: 0x022CF174
81 // executeState_DieFall Address: 0x022CF39C
82 // finalizeState_DieFall Address: 0x022D0110
83 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(Birikyu, DieFall)
84
85protected:
86 // Address: Deleted
87 virtual void vf4E4();
88 // Address: 0x022CF4C8
89 virtual void initializeCc_();
90
91 // Address: 0x022CE794
92 void calcMdl_();
93
94public:
95 // StateID_Wait Address: 0x101FEF88
96 // initializeState_Wait Address: 0x022CEDC4
97 // executeState_Wait Address: 0x022CEECC
98 // finalizeState_Wait Address: 0x022D0108
99 DECLARE_STATE_ID(Birikyu, Wait)
100 // StateID_Attack Address: 0x101FEFA8
101 // initializeState_Attack Address: 0x022CEF04
102 // executeState_Attack Address: 0x022CEFB0
103 // finalizeState_Attack Address: 0x022D010C
105 // StateID_Touch Address: 0x101FEFC8
106 // initializeState_Touch Address: 0x022CF028
107 // executeState_Touch Address: 0x022CF0D0
108 // finalizeState_Touch Address: 0x022CF168
110
111protected:
121 u8 _1994; // bool?
127 u8 _1ae9[0x1AF0 - 0x1AE9];
128};
129static_assert(sizeof(Birikyu) == 0x1AF0);
Definition AnimModel.h:19
Definition Birikyu.h:14
void ccOnTouch(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
bool ccSetTouchNormal(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
Definition Birikyu.h:27
void vsYoshiHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
s32 mAttackTimer
Definition Birikyu.h:115
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
Birikyu(const ActorCreateParameter &param)
Definition Birikyu.h:33
virtual void initializeCc_()
EnemyBoyoMgr mBoyoMgr
Definition Birikyu.h:124
EatCallback mEatData
Definition Birikyu.h:118
void calcMdl_()
bool hitCallback_WireNet(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual ~Birikyu()
Definition Birikyu.h:45
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
Result doDelete() override
BirikyuDrcTouchCB mDrcTouchCallback
Definition Birikyu.h:123
void vsPlayerHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool mIsTouchDone
Definition Birikyu.h:126
ActorCollisionCheck mCollisionCheck2
Definition Birikyu.h:122
u32 _18fc
Definition Birikyu.h:116
bool hitCallback_Cannon(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool hitCallback_Fire(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool createIceActor() override
Callback for spawning ice blocks when frozen by an ice flower.
u8 _1ae9[0x1AF0 - 0x1AE9]
Definition Birikyu.h:127
bool hitCallback_PenguinSlide(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
sead::Vector3f mEffectPos
Definition Birikyu.h:113
ChibiEatCallback mChibiYoshiEatData
Definition Birikyu.h:119
s32 mTouchTimer
Definition Birikyu.h:125
Result create() override
Main initialization/setup callback for the actor.
static const ActorData cActorCreateInfo
Definition Birikyu.h:30
u8 _1994
Definition Birikyu.h:121
Light mLight
Definition Birikyu.h:120
EffectObj mEffect
Definition Birikyu.h:114
f32 _1900
Definition Birikyu.h:117