summaryrefslogtreecommitdiff
path: root/src/boss.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/boss.h')
-rw-r--r--src/boss.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/boss.h b/src/boss.h
new file mode 100644
index 0000000..784c5fa
--- /dev/null
+++ b/src/boss.h
@@ -0,0 +1,48 @@
+#ifndef __PLAYER_H
+#define __PLAYER_H
+
+#include <common.h>
+#include <game.h>
+#include <g3dhax.h>
+#include <stage.h>
+#include <sfx.h>
+
+extern "C" void *PlaySound(dStageActor_c *, int soundID);
+extern "C" void *PlaySoundAsync(dStageActor_c *, int soundID);
+
+extern "C" bool SpawnEffect(const char*, int, Vec*, S16Vec*, Vec*);
+
+extern "C" dStageActor_c* GetSpecificPlayerActor(int number);
+extern "C" dStageActor_c *CreateActor(u16 classID, int settings, Vec pos, char rot, char layer);
+
+extern "C" u32 GenerateRandomNumber(int max);
+extern "C" u8 dSprite_c__getXDirectionOfFurthestPlayerRelativeToVEC3(dEn_c *, Vec pos);
+extern "C" char usedForDeterminingStatePress_or_playerCollision(dEn_c* t, ActivePhysics *apThis, ActivePhysics *apOther, int unk1);
+
+extern "C" void *StopBGMMusic();
+extern "C" void *StartBGMMusic();
+
+extern "C" void *MakeMarioEnterDemoMode();
+extern "C" void *MakeMarioExitDemoMode();
+extern "C" void *UpdateGameMgr();
+
+
+class daBoss : public dEn_c {
+public:
+ u32 timer;
+ char dying;
+};
+
+
+// Functions
+void DamagePlayer(dEn_c* actor, ActivePhysics *apThis, ActivePhysics *apOther);
+void SetupKameck(daBoss* actor, daKameckDemo *Kameck);
+void CleanupKameck(daBoss* actor, daKameckDemo *Kameck);
+bool GrowBoss(daBoss* actor, daKameckDemo *Kameck, float initialScale, float endScale, float yPosModifier, int timer);
+void OutroSetup(daBoss* actor);
+bool ShrinkBoss(daBoss *actor, Vec *pos, float scale, int timer);
+void BossExplode(daBoss* actor, Vec *pos);
+void PlayerVictoryCries(daBoss* actor);
+
+#endif
+