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
8// vtbl Address: 0x100945D4
10{
11public:
12 // Address: 0x023E8F9C
13 bool ccSetTouchNormal(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
14 // Address: 0x023E8FA4
15 void ccOnTouch(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
16};
17static_assert(sizeof(MechaKoopaDrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
18
19class AnimModel;
20class ModelResource;
21
22// vtbl Address: 0x10094064
23class MechaKoopa : public CarryEnemy
24{
25 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101EAB30
26 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EAB34
27 SEAD_RTTI_OVERRIDE(MechaKoopa, CarryEnemy)
28
29public:
30 // Address: 0x10093DD4
32
33public:
34 // Address: 0x023E8A00
35 MechaKoopa(const ActorCreateParameter& param);
36
37protected:
38 // Address: 0x023E92E0
39 Result create() override;
40 // Address: 0x023E95CC
42 // Address: 0x023E9768
43 bool draw() override;
44
45 // Address: 0x023EA184
47
48public:
49 // Address: 0x023EB8C8
51 // Address: 0x023EA364
52 void waterSplashEffect(const sead::Vector3f&) override;
53 // Address: 0x023EA378
54 void yoganSplashEffect(const sead::Vector3f&) override;
55 // Address: 0x023EA38C
56 void poisonSplashEffect(const sead::Vector3f&) override;
57
58 // Address: 0x023EA3A0
60 // Address: 0x023EA058
62 // Address: 0x023EA104
64 // Address: 0x023EBAF4
66 // Address: 0x023E9E90
67 bool etcDamageCheck(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
68 // Address: 0x023E99FC
69 void vsEnemyHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
70 // Address: 0x023E9DD4
71 bool hitCallback_Spin(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
72 // Address: 0x023E9B8C
73 bool hitCallback_HipAttk(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
74 // Address: 0x023E9D6C
75 bool hitCallback_Fire(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
76
77 // StateID_DieFall Address: 0x10204D70
78 // initializeState_DieFall Address: 0x023EAEF0
79 // executeState_DieFall Address: 0x023EAF28
80 // finalizeState_DieFall Address: 0x023EAF64
81 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(MechaKoopa, DieFall)
82
83 // Address: 0x023E979C
85 // Address: 0x023E98C4
86 void reactSpinFumiProc(Actor*) override;
87 // Address: 0x023E98D4
88 void playerHitCheck_Awake(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
89 // Address: 0x023E9990
90 void playerHitCheck_Sleep(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
91 // Address: 0x023EA000
92 void playerHitCheck_Sleep_Base(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
93 // Address: 0x023EA4B0
94 void setPutOnChangeState(Actor* player) override;
95 // Address: 0x023EA4C8
96 void setThrowChangeState(Actor* player, bool hard) override;
97
98 // StateID_Carry Address: 0x10204D4C
99 // initializeState_Carry Address: 0x023EA834
100 // executeState_Carry Address: 0x023EA8A0
101 // finalizeState_Carry Address: 0x023EA99C
102 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(MechaKoopa, Carry)
103 // StateID_Sleep Address: 0x10204D28
104 // initializeState_Sleep Address: 0x023EA78C
105 // executeState_Sleep Address: 0x023EA7B4
106 // finalizeState_Sleep Address: 0x023EA824
108
109 // StateID_Walk Address: 0x10204C94
110 // initializeState_Walk Address: 0x023EA4E0
111 // executeState_Walk Address: 0x023EA56C
112 // finalizeState_Walk Address: 0x023EBAF8
114 // StateID_Turn Address: 0x10204CB4
115 // initializeState_Turn Address: 0x023EA6C8
116 // executeState_Turn Address: 0x023EA6E4
117 // finalizeState_Turn Address: 0x023EBAFC
119 // StateID_Kick Address: 0x10204CD4
120 // initializeState_Kick Address: 0x023EA9DC
121 // executeState_Kick Address: 0x023EAC0C
122 // finalizeState_Kick Address: 0x023EAD6C
124 // StateID_Recover Address: 0x10204CF4
125 // initializeState_Recover Address: 0x023EADC4
126 // executeState_Recover Address: 0x023EAE54
127 // finalizeState_Recover Address: 0x023EAEE0
129
130protected:
141};
142static_assert(sizeof(MechaKoopa) == 0x18F8);
Definition AnimModel.h:19
Definition MechaKoopa.h:10
bool ccSetTouchNormal(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
void ccOnTouch(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
Definition MechaKoopa.h:24
u32 mDownTimer
Definition MechaKoopa.h:134
Result create() override
Main initialization/setup callback for the actor.
void reactSpinFumiProc(Actor *) override
void setIceAnm() override
u32 mCurrentAnim
Definition MechaKoopa.h:135
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:137
void playerHitCheck_Sleep_Base(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
u8 _18cc
Definition MechaKoopa.h:136
AnimModel * mAnimModel
Definition MechaKoopa.h:132
void playerHitCheck_Awake(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool etcDamageCheck(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
MechaKoopaDrcTouchCB mDrcTouchCallback
Definition MechaKoopa.h:138
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:140
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
u32 mNextTurnTimer
Definition MechaKoopa.h:133
EnemyBoyoMgr mBoyoMgr
Definition MechaKoopa.h:139
void blockHitInit_() override
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
MechaKoopa(const ActorCreateParameter &param)
Definition ModelResource.h:14