File: AnimState.h

package info (click to toggle)
jazz2-native 3.5.0-1
  • links: PTS, VCS
  • area: contrib
  • in suites:
  • size: 16,836 kB
  • sloc: cpp: 172,557; xml: 113; python: 36; makefile: 5; sh: 2
file content (99 lines) | stat: -rw-r--r-- 2,473 bytes parent folder | download | duplicates (2)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#pragma once

#include "../Main.h"

namespace Jazz2
{
	/** @brief Well-known animation state */
	enum class AnimState
	{
		// Bits 0, 1: Horizontal speed (none, low, med, high)
		Idle = 0x00000000,
		Walk = 0x00000001,
		Run = 0x00000002,
		Dash = 0x00000003,

		// Bits 2, 3: Vertical speed (none, upwards, downwards, suspended)
		VIdle = 0x00000000,
		Jump = 0x00000004,
		Fall = 0x00000008,
		Hook = 0x0000000c,

		// Bit 4: Shoot
		Shoot = 0x00000010,

		// Bits 5-9: Multiple special stances that cannot occur together
		// but still have unique bits due to complications in determining
		// the current actor state
		Crouch = 0x00000020,
		Lookup = 0x00000040,
		Dizzy = 0x00000080,
		Buttstomp = 0x00000100,
		Uppercut = 0x00000200,
		Airboard = 0x00000400,
		Hurt = 0x00000800,
		Swim = 0x00001000,
		Copter = 0x00002000,
		Push = 0x00004000,
		Swing = 0x00008000,

		Freefall = 0x00010000,
		Lift = 0x00020000,
		Spring = 0x0040000,

		// 30th bit: Transition range
		TransitionRunToIdle = 0x40000000,
		TransitionRunToDash = 0x40000001,
		TransitionFallToIdle = 0x40000002,
		TransitionIdleToJump = 0x40000003,
		TransitionShootToIdle = 0x40000004,
		TransitionHookShootToHook = 0x40000005,
		TransitionCopterShootToCopter = 0x40000006,
		TransitionUppercutA = 0x40000007,
		TransitionUppercutB = 0x40000008,
		TransitionUppercutEnd = 0x40000009,
		TransitionButtstompStart = 0x4000000A,
		TransitionPoleH = 0x4000000B,
		TransitionPoleV = 0x4000000C,
		TransitionPoleHSlow = 0x4000000D,
		TransitionPoleVSlow = 0x4000000E,
		TransitionDeath = 0x4000000F,
		TransitionTurn = 0x40000010,
		//0x40000011
		//0x40000012
		TransitionWarpIn = 0x40000013,
		TransitionWarpOut = 0x40000014,
		//0x40000015
		TransitionEndOfLevel = 0x40000016,

		TransitionWarpInFreefall = 0x40000017,
		TransitionWarpOutFreefall = 0x40000018,

		TransitionIdleBored = 0x40000019,

		TransitionDashToIdle = 0x40000020,
		TransitionIdleToShoot = 0x40000021,
		TransitionButtstompEnd = 0x40000022,

		TransitionLiftStart = 0x40000023,
		TransitionLiftEnd = 0x40000024,

		TransitionLedge = 0x40000025,
		TransitionLedgeClimb = 0x40000026,

		TransitionFallShootToFall = 0x40000030,

		TransitionFromFrog = 0x40000040,

		// Aliases for common object states overlapping player states
		Activated = 0x00000020,
		TransitionActivate = 0x4F000000,
		TransitionAttack = 0x4F000001,
		TransitionAttackEnd = 0x4F000002,

		Uninitialized = -1,
		Default = 0
	};

	DEATH_ENUM_FLAGS(AnimState);
}