

#ifndef _RANGES_H_
#define _RANGES_H_


// BP: Mrs Tweedy hanging from plane animation ranges
#define MRSTWEEDY_HANGING	(0)
#define MRSTWEEDY_THROWING	(1)
#define MRSTWEEDY_BOUNCING	(2)
#define MRSTWEEDY_HITBYEGG	(3)

// BP: MANNEQUIN animation ranges
#define TWEEDY_COLLIDE		(0)
#define TWEEDY_WALK			(1)
#define TWEEDY_WAVEARMS		(2)
#define TWEEDY_OPENDOOR		(3)
#define TWEEDY_FALLOVER		(6)
#define TWEEDY_IDLE			(7)


// CPW: GINGER animation ranges
#define GINGER_WALK			(0)
#define GINGER_RUN			(1)
#define GINGER_CREEP		(2)
#define GINGER_STRAFEIDLE	(3)
#define GINGER_STRAFERIGHT	(4)
#define GINGER_STRAFELEFT	(5)
#define GINGER_JUMP			(6)
#define GINGER_JUMPLAND		(7)
#define GINGER_DOUBLEJUMP	(8)
#define GINGER_FLAP			(9)
#define GINGER_CRAWL		(10)
#define GINGER_IDLESTILL	(11)
#define GINGER_IDLETAPFOOT	(12)
#define GINGER_IDLESCRATCH	(13)
#define GINGER_LOOKRIGHT	(14)
#define GINGER_LOOKLEFT		(15)
#define GINGER_PUSHRIGHT	(16)
#define GINGER_PUSHBUTTON	(17)
#define GINGER_PICKUPLOW	(18)
#define GINGER_PICKUPMEDIUM	(19)
#define GINGER_FALL			(20)
#define GINGER_LAND			(21)
#define GINGER_LEVERDOWN	(22)
#define GINGER_LEVERUP		(23)
#define GINGER_BOBDOWN		(24)
#define GINGER_STANDUP		(25)

#define	GINGER_TALK_GENERIC		(26)
#define	GINGER_TALK_PLEADING	(27)
#define	GINGER_TALK_POINTING	(28)
#define	GINGER_TALK_PASSIONATE	(29)

#define	GINGER_LISTEN_NORMAL	(30)
#define GINGER_LISTEN_AGREEING	(31)

#define	GINGER_DISAPPOINTED		(32)
#define	GINGER_PLEASED			(33)
#define	GINGER_TALKING_DISAPPOINTED (34)
#define	GINGER_RUNNING_PANIC		(35)
#define	GINGER_THROWING		(36)

#define ROCKY_COGHURT		(44)
#define ROCKY_COGDIE		(45)

#define WELLY_HIDE			(26)
#define WELLY_UNHIDE		(27)

#define RAT_CLINGTOROPE		(46)

#define GINGER_IDLEBASE		GINGER_IDLESTILL
#define GINGER_IDLENUM		(5)

/*
#define GINGER_JUMPLAUNCH	(7)
#define GINGER_LIFT			(8)
#define GINGER_JUMPFLAP		(9)
#define GINGER_JUMPLAND		(10)
#define GINGER_BOBDOWN		(11)
#define GINGER_CRAWL		(12)
#define GINGER_IDLE1		(13)
#define GINGER_IDLE2		(14)
#define GINGER_IDLE3		(15)
#define GINGER_SPROUTTHROW	(16)
#define GINGER_PICKUP		(17)
#define GINGER_PULLLEVER	(18)
#define GINGER_PUSHLEVER	(19)
#define GINGER_PUSH			(20)
#define GINGER_DIG			(21)
*/


// CPW: Neil's all new DOG animations

#define DOG_STATIC			(0)
#define DOG_WALK			(1)
#define DOG_RUN				(2)
#define DOG_RUNANDBARK		(3)
#define DOG_SLEEP			(4)
#define DOG_WAKE			(5)
#define DOG_GETUPFROMSLEEP	(6)
#define DOG_TURNLEFT		(7)
#define DOG_SIT				(8)
#define DOG_DOWN			(9)
#define DOG_DOWNTOSLEEP		(10)
#define DOG_JUMP			(11)
#define DOG_SITANDLOOK		(12)
#define DOG_GETUPFROMSIT	(13)
#define DOG_SKIDLEFT		(14)
#define DOG_SKIDRIGHT		(15)
#define DOG_POINT			(16)
#define DOG_CHASELEFT		(17)
#define DOG_WALKANDSNIFF	(18)
#define DOG_SNIFFAROUND		(19)
#define DOG_NUDGE			(20)
#define DOG_GRRR			(21)
#define DOG_STATICATTACK	(22)
#define DOG_HEADSHAKE		(23)
#define DOG_EARSCRATCH		(24)
#define DOG_WEE				(25)
#define DOG_POUNCEATTWEEDY	(26)
#define DOG_POUNCEATCHICKEN	(27)
#define DOG_TURNRIGHT		(28)
#define DOG_CHASERIGHT		(29)
#define DOG_LIEANDYAWN		(30)
#define DOG_STANDANDYAWN	(31)
#define DOG_SITANDGROWL		(32)
#define DOG_PUTFOOTONBONE	(33)
#define DOG_FOOTONBONE		(34)
#define DOG_STOP			(35)
#define DOG_STATICBREATHING	(36)
#define DOG_FASTGETUP		(37)


// CPW: push buttons & levers

#define PUSHBUTTON_STATIC	(0)
#define PUSHBUTTON_IN		(1)
#define PUSHBUTTON_OUT		(2)


// CPW: ACTION MAN test ranges

#define AM_RUN			(0)
#define AM_WALK			(1)
#define AM_STAND		(2)
#define AM_BOTHGUNS		(3)
#define AM_JUMP			(4)
#define AM_LEFTGUNS		(5)
#define AM_RIGHTGUNS	(6)
#define AM_DOUBLEJUMP	(7)
#define AM_BOTHBIGGUNS	(8)
#define AM_BACKFLIP		(9)
#define AM_KNOCKEDOUT	(10)
#define AM_WALKBACK		(11)
#define AM_LOCKEDRUN	(12)
#define AM_RECOIL		(13)
#define AM_BREATHE		(14)
#define AM_BREATHE2START	(15)
#define AM_BREATHE2		(16)
#define AM_BREATHE2END	(17)
#define AM_GETHIT1		(18)
#define AM_GETHIT2		(19)
#define AM_CHANGEWEPR	(20)
#define AM_CHANGEWEPL	(21)
#define AM_CHANGEWEPUR	(22)
#define AM_CHANGEWEPUL	(23)
#define AM_DEFEATSITUP	(24)
#define AM_DEFEATBREATHE	(25)
#define AM_DEFEATEND	(26)
#define AM_DEFEATCONTINUE	(27)
#define AM_BREATHE3		(28)




// Drone Chicken Animations
enum
{
	DRONE_STATIC,
	DRONE_WALK,
	DRONE_RUN,
	DRONE_JUMP,
	DRONE_UPWARDS,
	DRONE_TOP_OF_JUMP,
	DRONE_DOWN_FLAPPING,
	DRONE_LAND_IN_SHUTE,
	DRONE_WAVE_CYCLE,
	DRONE_FIRE_OUT_OF_SHUTE,
	DRONE_SHUTE_TO_AIR,
	DRONE_MID_AIR_CYCLE,
	DRONE_SPLAT_ON_WALL,
	DRONE_DRIP_DOWN_WALL,
	DRONE_FALL_ON_BACK,
	DRONE_GET_UP,
	DRONE_STAGGER_LEFT,
	DRONE_STAGGER_FORWARDS,
	DRONE_STAGGER_RIGHT,
	DRONE_RUN_OFF_SCREAMING,
	DRONE_LAND_ON_SEESAW,
	DRONE_SEESAW_GULP,
	DRONE_SEESAW_COVER_EYES,
	DRONE_SEESAW_FIRE,
	DRONE_STAND_BREATHE,
	DRONE_LOOKAROUND,
	DRONE_TIP_TOE,
	DRONE_PECK_CYCLE,
	DRONE_JUMP_CYCLE,
	DRONE_TO_YOU,
	DRONE_TO_ME,
	DRONE_STRETCH_ARMS_CYCLE,

	DRONE_FLAP,
	DRONE_RUN_FLAPPING,
	DRONE_STAR_JUMP,
	DRONE_PRESS_UPS,
	DRONE_CHEERING_CYCLE,
	DRONE_NO_NO_CYCLE,
	DRONE_NICK_THING_CYCLE,

	DRONE_SNEAK,
	DRONE_STAND_SCREAM_CYCLE,

	DRONE_CARDS_SCRATCH_CHIN,
	DRONE_CARDS_ONE_HAND,
	DRONE_CARDS_TWO_HANDS,
	DRONE_CRANKIN,
	DRONE_LAND_ON_FRONT,
	DRONE_GET_UP_OFF_FRONT,
	DRONE_LAND_ON_HEAD,
	DRONE_ON_BACK,
	DRONE_ON_FRONT,
	DRONE_ON_HEAD,
	DRONE_STAND_ON_CRATE,
};

// Mattress Animations for seesaw sub game

enum
{
	MATTRESS_RUN_AROUND,
	MATTRESS_MISS,
	MATTRESS_BOUNCE,
};

enum
{
	CRANKER_CRANK,
	CRANKER_IDLE,
	CRANKER_BREATHE,
};

enum
{
	CATAPULT_DOWN,
	CATAPULT_UP,
	CATAPULT_FIRE,
	CATAPULT_UPQUICK,
};

enum
{										  
	CATAPULT_FLOATER_BOB,
	CATAPULT_FLOATER_LAND,
	CATAPULT_FLOATER_NEWLAND,

};


enum
{
	FW_FLAPS_OPEN,
	FW_FLAPS_CLOSE,
	FW_FLAPS_CLOSE_IDLE,
	FW_FLAPS_OPEN_IDLE,
};


// Animations for engine sub game chars

enum	// cog bike anims
{
	COG_LEAN_BACK,
	COG_LOOK_ROUND,
	COG_LOOK_ROUND_NOD,
	COG_START_PEDALING,
	COG_PEDAL_SLOW,
	COG_SIT_BACK_SLOW,	// sit back from slow pedal
	COG_BREATH_CYCLE,
	COG_FAST_PEDAL,
	COG_FAST_BREATH,
	COG_SIT_BACK_FAST
};

enum	// pumper anims
{
	PUMP_BREATH,
	PUMP_IDLE_LOOK_RIGHT,
	PUMP_IDLE_LOOK_LEFT,
	PUMP_SLOW_PUMP,
	PUMP_FAST_PUMP,
	PUMP_FAST_BREATH
};

enum	// oiler anims
{
	OILER_BREATH,
	OILER_IDLE_TAP_FOOT,
	OILER_IDLE_CHECK_WATCH,			// err someone tell Neil that chickens don't have watches
	OILER_OIL1,
	OILER_OIL2,
	OILER_HEAVY_BREATH,
	OILER_IDLE_LOOK_RIGHT,
	OILER_IDLE_LOOK_LEFT
};

enum	// rocky tub anims
{
	RELAX_IDLE,			// 0
	RELAX_STRETCH,		// 1
	RELAX_SCRATCH,		// 2
	GET_UP,	// ???		// 3
	ANNOYED_LOOKROUND,	// 4
	ANNOYED_TAP,		// 5
	ANNOYED_SHRUG,		// 6
	ROCKY_FAILED,		// 7
	ROCKY_FAILED_CYCLE	// 8
};


enum  // construction subgame chicken anims
{
	CON_BREATH,
	CON_TAP_FOOT,
	CON_LOOKAROUND,
	CON_GOTO_WORK,
	CON_WORK,
	CON_STOP_WORK,
	CON_READY,
};


enum // construction subgame mr tweedy anims
{
	CON_MRTWEEDY_IDLE_BREATHE,
	CON_MRTWEEDY_IDLE,
	CON_MRTWEEDY_IDLE_SCRATCH,
	CON_MRTWEEDY_IDLE_SIGH,
	CON_MRTWEEDY_IDLE_SCRATCH_HEAD,
	CON_MRTWEEDY_GET_SAW,
	CON_MRTWEEDY_SAW,
	CON_MRTWEEDY_SAW_HUH,
	CON_MRTWEEDY_SAW_SEES_CHICKS,
	CON_MRTWEEDY_OI_BUGGERS,
	CON_MRTWEEDY_GET_HAMMER,
	CON_MRTWEEDY_HAMMER,
	CON_MRTWEEDY_HAMMER_HUH,
	CON_MRTWEEDY_HAMMER_SEES_CHICKS,
	CON_MRTWEEDY_GET_SPANNER,
	CON_MRTWEEDY_SPANNER,
	CON_MRTWEEDY_SPANNER_HUH,
	CON_MRTWEEDY_SPANNER_SEES_CHICKS,
	CON_MRTWEEDY_IDLE_SPECIAL,
	CON_MRTWEEDY_SAW_PUTDOWN,
	CON_MRTWEEDY_HAMMER_PUTDOWN,
	CON_MRTWEEDY_SPANNER_PUTDOWN,
};


enum // construction subgame chick anims
{
	CON_CHICK_WALK,
	CON_CHICK_CIRCLE,
	CON_CHICK_CROSS,
	CON_CHICK_SQUARE,
	CON_CHICK_HIDE,
};




enum // wingmaking chicken anims - wingmaker1/2 ands BABS  those marked // not used for subgame - (FMA)
{
	WING_TALK,
	WING_TALK_YES,
	WING_TALK_NO,
	WING_TURN_MAKE,
	WING_MAKE,
	WING_MAKE_DISCARD,
	WING_TURN_GIVE,//
	WING_BREATHE,
	WING_TURN_RIGHT,//
	WING_TURN_LEFT,//
	WING_IDLE_UMMM,
	WING_IDLE_SCRATCH_HEAD,
	WING_TURN_ROUND_WITH_SOMETHING,
	WING_GIVE,
	WING_TAKE,//
	WING_TURN_TO_MAKE,//
	WING_OVER_THERE,//
	WING_LISTEN_HUH,//
	WING_LISTEN_YEAH,//
	WING_LISTEN_3,//
	WING_LOOK_AROUND,
};



#define FOWLER_BRONZE_OFFSET  0
#define FOWLER_SILVER_OFFSET  6
#define FOWLER_GOLD_OFFSET    12
#define FOWLER_FAIL_OFFSET    18

enum
{
	FOWLER_ARRIVE,
	FOWLER_TALK1,
	FOWLER_TALK2,
	FOWLER_TALK3,
	FOWLER_TALK4,
	FOWLER_AWARD,
};





// Most of these won't be used..
#define DEVICE_DOWN_HALF	(0)
#define DEVICE_UP_HALF	   	(1)
#define DEVICE_DOWN			(2)
#define DEVICE_UP			(3)
#define DEVICE_DOWN_CONST	(4)
#define DEVICE_UP_CONST		(5)




/*
			{ "walk", 1, 47 },
			{ "u turn", 55, 88 },
			{ "idle ponder", 101, 221 },
			{ "searching", 222, 342 },
			{ "scowl", 343, 386 },
			{ "quick look right", 397, 437 },
			{ "quick look left", 438, 478 },

*/

// Moved to nme_mrst to avoid fighting
/*
enum
{
	ANIM_MRST_WALK,
//	ANIM_MRST_UTURN,
	ANIM_MRST_PONDER,
	ANIM_MRST_SEARCH,
	ANIM_MRST_SCOWL,
	ANIM_MRST_LOOKRIGHT,
	ANIM_MRST_LOOKLEFT,
	ANIM_MRST_STOP,
};
*/




#endif

