#ifndef __PLAYER_H #define __PLAYER_H #include #include #include #include #include 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; u32 damage; daKameckDemo *Kameck; }; // 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