summaryrefslogtreecommitdiff
path: root/include/daEnDosun_c.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/daEnDosun_c.h')
-rw-r--r--include/daEnDosun_c.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/include/daEnDosun_c.h b/include/daEnDosun_c.h
new file mode 100644
index 0000000..49acabe
--- /dev/null
+++ b/include/daEnDosun_c.h
@@ -0,0 +1,74 @@
+#ifndef __DOSUN_H
+#define __DOSUN_H
+
+#include <daEnemy_c.h>
+
+/* All Addresses NTSCv2 */
+
+class daEnDosun_c : public daEnemy_c {
+public:
+ //vtable // 80ae8268
+ //ctor - Normal // 809f5ad0
+ //ctor - Big // 809f5b60
+ int onCreate(); // 809f5bf0
+ int onDelete(); // 809f5fd0
+ int onExecute(); // 809f5e50
+ int onDraw(); // 809f5ea0
+ //~daEnBigDosun_c(); // 809f7140
+ void kill(); // 809f7110
+ void killedByLevelClear(); // 809f6810
+ void collisionCat3_StarPower(ActivePhysics* apThis, ActivePhysics *apOther); // 809f6050
+ void _vf108(ActivePhysics* apThis, ActivePhysics* apOther); // 809f5fe0
+ void collisionCatD_GroundPound(ActivePhysics* apThis, ActivePhysics* apOther); // 809f7130
+ void _vf110(ActivePhysics* apThis, ActivePhysics* apOther); // 809f6090
+ void collisionCat7_WMWaggleWater(ActivePhysics* apThis, ActivePhysics* apOther); // 809f7120
+ void collisionCat9_RollingObject(ActivePhysics* apThis, ActivePhysics* apOther); // 809f70a0
+ void collisionCat1_Fireball_E_Explosion(ActivePhysics* apThis, ActivePhysics* apOther); // 809f70e0
+ bool collisionCat2_IceBall_15_YoshiIce(ActivePhysics* apThis, ActivePhysics* apOther); // 809f70b0
+ void _vf144(int something); // 809f6120
+ //State Functions
+ void DieFall_Begin(); // 809f6e00
+ void DieFall_Execute(); // 809f6f10
+ void DieFall_End(); // 809f6f00
+ void Ice_Begin(); // 809f7020
+ void Ice_Execute(); // 809f7090
+ void Ice_End(); // 809f7080
+ bool CreateIceActors(); // 809f6260
+
+ mHeapAllocator_c allocator; // _524
+ nw4r::g3d::ResFile resFile; // _540
+ m3d::mdl_c bodyModel; // _544
+ m3d::anmVis_c anmVis; // _584
+ //u8 collision_struct[4]; // _5BC
+ u32 collision_struct; // _5BC
+ u32 _5C0, _5C4, _5C8;
+ float posXrelated_1; // _5CC
+ u32 bigOrSmall; // _5D0 0=small,1=big
+ u32 holdsFromSettings; // _5D4
+ u16 puruMoveCounter; // _5D8
+ u16 _5DA;
+ u32 countdownTimer; // _5DC
+ u32 anotherCounter; // _5E0
+ float posXrelated_2; // _5E4
+ float posYrelated_1; // _5E8
+ u32 _5EC;
+
+ /* don't have params yet */
+ void setupBodyModel(); // 809f63f0
+ void s_809F6530(); // 809f6530
+ void spawnEffects(); // 809f66a0
+
+ USING_STATES(daEnDosun_c);
+ REF_NINTENDO_STATE(UpWait);
+ REF_NINTENDO_STATE(DownMoveWait);
+ REF_NINTENDO_STATE(PuruMove);
+ REF_NINTENDO_STATE(DownMove_Kameck);
+ REF_NINTENDO_STATE(DownMove);
+ REF_NINTENDO_STATE(DownWait);
+ REF_NINTENDO_STATE(UpMove);
+ REF_NINTENDO_STATE(DieFall);
+ REF_NINTENDO_STATE(Ice);
+};
+
+#endif
+