#ifndef __KOOPATLAS_PLAYER_H #define __KOOPATLAS_PLAYER_H #include "koopatlas/core.h" #include "poweruphax.h" #include class daWMPlayer_c : public dActor_c { public: dPlayerModelHandler_c *modelHandler; int onCreate(); int onDelete(); int onExecute(); int onDraw(); int currentAnim; float currentFrame; float currentUnk; float currentUpdateRate; bool hasEffect; const char *effectName; bool hasSound; bool step; int soundName; int timer; float jumpOffset; mEf::es2 effect; dHammerSuitRenderer_c hammerSuit; void startAnimation(int id, float frame, float unk, float updateRate); static daWMPlayer_c *build(); static daWMPlayer_c *instance; struct state_s { Vec pos, scale; S16Vec rot; const char *repeatedEffect, *nowEffect; int repeatedSound, nowSound; int anim; float animFrame, animUnk, animUpdateRate; float jumpOffset; }; bool stateHistoryBuilt; static const int SUBPLAYER_DISTANCE = 15; static const int STATE_COUNT = (SUBPLAYER_DISTANCE * 3) + 1; state_s stateHistory[STATE_COUNT]; int nextNowSound; const char *nextNowEffect; }; #endif