summaryrefslogtreecommitdiff
path: root/src/koopatlas/player.h
blob: 1fa07b5d4da2b84209a10634f6f99f629d178aeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef __KOOPATLAS_PLAYER_H
#define __KOOPATLAS_PLAYER_H

#include "koopatlas/core.h"
#include "poweruphax.h"
#include <playerAnim.h>


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;

		bool spinning;
		s16 targetRotY;

		void setTargetRotY(s16 value) {
			targetRotY = value;
			spinning = false;
		}
		void setSpinning() {
			spinning = true;
		}

		mHeapAllocator_c allocator;
		m3d::anmTexPat_c pats[4];
		void bindPats();

		void startAnimation(int id, float frame, float unk, float updateRate);

		static daWMPlayer_c *build();
		static daWMPlayer_c *instance;
};

#endif