New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
MechaKoopa.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/Profile.h>
4#include <collision/ActorCollisionDrcTouchCallback.h>
5#include <enemy/CarryEnemy.h>
6#include <enemy/EnemyBoyoMgr.h>
7
8class MechaKoopaDrcTouchCB : public ActorCollisionDrcTouchCallback // vtbl Address: 0x100945D4
9{
10public:
11 // Address: 0x023E8F9C
12 bool ccSetTouchNormal(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
13 // Address: 0x023E8FA4
14 void ccOnTouch(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
15};
16static_assert(sizeof(MechaKoopaDrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
17
18class AnimModel;
19class ModelResource;
20
21class MechaKoopa : public CarryEnemy // vtbl Address: 0x10094064
22{
23 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101EAB30
24 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EAB34
25 SEAD_RTTI_OVERRIDE(MechaKoopa, CarryEnemy)
26
27public:
28 // Address: 0x10093DD4
30
31public:
32 // Address: 0x023E8A00
33 MechaKoopa(const ActorCreateParam& param);
34
35protected:
36 // Address: 0x023E92E0
37 Result create() override;
38 // Address: 0x023E95CC
40 // Address: 0x023E9768
41 bool draw() override;
42
43 // Address: 0x023EA184
45
46public:
47 // Address: 0x023EB8C8
49 // Address: 0x023EA364
50 void waterSplashEffect(const sead::Vector3f&) override;
51 // Address: 0x023EA378
52 void yoganSplashEffect(const sead::Vector3f&) override;
53 // Address: 0x023EA38C
54 void poisonSplashEffect(const sead::Vector3f&) override;
55
56 // Address: 0x023EA3A0
58 // Address: 0x023EA058
60 // Address: 0x023EA104
62 // Address: 0x023EBAF4
64 // Address: 0x023E9E90
65 bool etcDamageCheck(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
66 // Address: 0x023E99FC
67 void vsEnemyHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
68 // Address: 0x023E9DD4
69 bool hitCallback_Spin(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
70 // Address: 0x023E9B8C
71 bool hitCallback_HipAttk(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
72 // Address: 0x023E9D6C
73 bool hitCallback_Fire(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
74
75 // StateID_DieFall Address: 0x10204D70
76 // initializeState_DieFall Address: 0x023EAEF0
77 // executeState_DieFall Address: 0x023EAF28
78 // finalizeState_DieFall Address: 0x023EAF64
79 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(MechaKoopa, DieFall)
80
81 // Address: 0x023E979C
83 // Address: 0x023E98C4
84 void reactSpinFumiProc(Actor*) override;
85 // Address: 0x023E98D4
86 void playerHitCheck_Awake(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
87 // Address: 0x023E9990
88 void playerHitCheck_Sleep(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
89 // Address: 0x023EA000
90 void playerHitCheck_Sleep_Base(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
91 // Address: 0x023EA4B0
92 void setPutOnChangeState(Actor* player) override;
93 // Address: 0x023EA4C8
94 void setThrowChangeState(Actor* player, bool hard) override;
95
96 // StateID_Carry Address: 0x10204D4C
97 // initializeState_Carry Address: 0x023EA834
98 // executeState_Carry Address: 0x023EA8A0
99 // finalizeState_Carry Address: 0x023EA99C
100 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(MechaKoopa, Carry)
101 // StateID_Sleep Address: 0x10204D28
102 // initializeState_Sleep Address: 0x023EA78C
103 // executeState_Sleep Address: 0x023EA7B4
104 // finalizeState_Sleep Address: 0x023EA824
106
107 // StateID_Walk Address: 0x10204C94
108 // initializeState_Walk Address: 0x023EA4E0
109 // executeState_Walk Address: 0x023EA56C
110 // finalizeState_Walk Address: 0x023EBAF8
112 // StateID_Turn Address: 0x10204CB4
113 // initializeState_Turn Address: 0x023EA6C8
114 // executeState_Turn Address: 0x023EA6E4
115 // finalizeState_Turn Address: 0x023EBAFC
117 // StateID_Kick Address: 0x10204CD4
118 // initializeState_Kick Address: 0x023EA9DC
119 // executeState_Kick Address: 0x023EAC0C
120 // finalizeState_Kick Address: 0x023EAD6C
122 // StateID_Recover Address: 0x10204CF4
123 // initializeState_Recover Address: 0x023EADC4
124 // executeState_Recover Address: 0x023EAE54
125 // finalizeState_Recover Address: 0x023EAEE0
127
128protected:
139};
140static_assert(sizeof(MechaKoopa) == 0x18F8);
Definition AnimModel.h:19
Definition MechaKoopa.h:9
bool ccSetTouchNormal(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
void ccOnTouch(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
Definition MechaKoopa.h:22
u32 mDownTimer
Definition MechaKoopa.h:132
Result create() override
Main initialization/setup callback for the actor.
void reactSpinFumiProc(Actor *) override
void setIceAnm() override
u32 mCurrentAnim
Definition MechaKoopa.h:133
bool createIceActor() override
Callback for spawning ice blocks when frozen by an ice flower.
bool isSpinLiftUpEnable() override
void poisonSplashEffect(const sead::Vector3f &) override
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
void waterSplashEffect(const sead::Vector3f &) override
void vsEnemyHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void setThrowChangeState(Actor *player, bool hard) override
bool vf18C() override
void playerHitCheck_Sleep(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
u8 _18cd
Definition MechaKoopa.h:135
void playerHitCheck_Sleep_Base(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
u8 _18cc
Definition MechaKoopa.h:134
AnimModel * mAnimModel
Definition MechaKoopa.h:130
void playerHitCheck_Awake(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool etcDamageCheck(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
MechaKoopaDrcTouchCB mDrcTouchCallback
Definition MechaKoopa.h:136
bool hitCallback_Spin(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void yoganSplashEffect(const sead::Vector3f &) override
void setPutOnChangeState(Actor *player) override
void calcMdl_Base() override
bool hitCallback_Fire(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
f32 _18f4
Definition MechaKoopa.h:138
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
u32 mNextTurnTimer
Definition MechaKoopa.h:131
EnemyBoyoMgr mBoyoMgr
Definition MechaKoopa.h:137
void blockHitInit_() override
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
MechaKoopa(const ActorCreateParam &param)
Definition ModelResource.h:13