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/ChibiYoshiEatData.h>
4#include <actor/EatData.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
12class BirikyuDrcTouchCB : public ActorCollisionDrcTouchCallback // vtbl Address: 0x1005CD9C
13{
14public:
15 // Address: 0x022CF75C
16 bool ccSetTouchNormal(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
17 // Address: 0x022CF7E8
18 void ccOnTouch(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
19};
20static_assert(sizeof(BirikyuDrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
21
22class AnimModel;
23
24class Birikyu : public Enemy // vtbl Address: 0x1005CDF4
25{
26public:
27 // Address: 0x1005CC30
29
30public:
31 Birikyu(const ActorCreateParam& param)
32 : Enemy(param)
33 , _18fc(0)
34 , _1900(0.0f)
37 , mBoyoMgr(this)
38 , mTouchTimer(0)
39 , mIsTouchDone(false)
40 {
41 }
42
43 virtual ~Birikyu()
44 {
45 }
46
47protected:
48 // Address: 0x022CE4B0
49 Result create() override;
50 // Address: 0x022CE7C8
52 // Address: 0x022CE9B4
53 bool draw() override;
54 // Address: 0x022D00E8
55 Result doDelete() override;
56
57public:
58 // Address: 0x022CF414
60
61 // Address: 0x022CE9E8
62 void vsPlayerHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
63 // Address: 0x022CED00
64 void vsYoshiHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
65
66 // Address: 0x022D0100
67 bool hitCallback_WireNet(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
68 // Address: 0x022D00F0
69 bool hitCallback_HipAttk(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
70 // Address: 0x022CEBDC
71 bool hitCallback_PenguinSlide(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
72 // Address: 0x022D00F8
73 bool hitCallback_Cannon(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
74 // Address: 0x022CEB74
75 bool hitCallback_Fire(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
76
77 // StateID_DieFall Address: 0x101FEFFC
78 // initializeState_DieFall Address: 0x022CF174
79 // executeState_DieFall Address: 0x022CF39C
80 // finalizeState_DieFall Address: 0x022D0110
81 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(Birikyu, DieFall)
82
83protected:
84 // Address: Deleted
85 virtual void vf4E4();
86 // Address: 0x022CF4C8
87 virtual void initializeCc_();
88
89 // Address: 0x022CE794
90 void calcMdl_();
91
92public:
93 // StateID_Wait Address: 0x101FEF88
94 // initializeState_Wait Address: 0x022CEDC4
95 // executeState_Wait Address: 0x022CEECC
96 // finalizeState_Wait Address: 0x022D0108
97 DECLARE_STATE_ID(Birikyu, Wait)
98 // StateID_Attack Address: 0x101FEFA8
99 // initializeState_Attack Address: 0x022CEF04
100 // executeState_Attack Address: 0x022CEFB0
101 // finalizeState_Attack Address: 0x022D010C
103 // StateID_Touch Address: 0x101FEFC8
104 // initializeState_Touch Address: 0x022CF028
105 // executeState_Touch Address: 0x022CF0D0
106 // finalizeState_Touch Address: 0x022CF168
108
109protected:
119 u8 _1994; // bool?
125 u8 _1ae9[0x1AF0 - 0x1AE9];
126};
127static_assert(sizeof(Birikyu) == 0x1AF0);
Definition AnimModel.h:19
Definition Birikyu.h:13
void ccOnTouch(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
bool ccSetTouchNormal(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
Definition Birikyu.h:25
void vsYoshiHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
s32 mAttackTimer
Definition Birikyu.h:113
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void initializeCc_()
EnemyBoyoMgr mBoyoMgr
Definition Birikyu.h:122
ChibiYoshiEatData mChibiYoshiEatData
Definition Birikyu.h:117
void calcMdl_()
bool hitCallback_WireNet(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
Birikyu(const ActorCreateParam &param)
Definition Birikyu.h:31
virtual ~Birikyu()
Definition Birikyu.h:43
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
Result doDelete() override
Main deletion callback for the actor.
BirikyuDrcTouchCB mDrcTouchCallback
Definition Birikyu.h:121
void vsPlayerHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool mIsTouchDone
Definition Birikyu.h:124
ActorCollisionCheck mCollisionCheck2
Definition Birikyu.h:120
u32 _18fc
Definition Birikyu.h:114
static const ActorCreateInfo cActorCreateInfo
Definition Birikyu.h:28
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:125
EatData mEatData
Definition Birikyu.h:116
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:111
s32 mTouchTimer
Definition Birikyu.h:123
Result create() override
Main initialization/setup callback for the actor.
u8 _1994
Definition Birikyu.h:119
Light mLight
Definition Birikyu.h:118
EffectObj mEffect
Definition Birikyu.h:112
f32 _1900
Definition Birikyu.h:115