#ifndef __WClientMod_Defines_h__
#define __WClientMod_Defines_h__

#include "../../Shared/MOS/Classes/GameWorld/Client/WClient_Core.h"
#include "../../Shared/MOS/Classes/GameWorld/WPackets.h"


#define MAX_ANALOGCHANNELS 4

enum
{
	CONTROL_GUI_PREV = CONTROL_LAST,		// 1 char window ID
	CONTROL_GUI_NEXT,						// 1 char window ID

	CONTROL_ADDITEM,
	CONTROL_SUMMON,							// n chars string
	CONTROL_MENUTRIGGER,					// 1 char ID
#ifndef M_RTM
	CONTROL_ACTIVATEITEM,					// n chars string
	CONTROL_SETAPPROACHITEM,
	CONTROL_DEBUGIMPULSE,					// 32 bit impusle + n chars target
#endif
	CONTROL_DEBUGMSG,
	CONTROL_SETNAME,
	CONTROL_SETNAME_PLAYERID,
	CONTROL_SETDARKLINGNAME,
	CONTROL_JOINGAME,
	CONTROL_JOINTEAM,
	CONTROL_SELECTDIALOGUECHOICE,
	CONTROL_SELECTTELEPHONECHOICE,
	CONTROL_DIALTELEPHONENUMBER,
	
	CONTROL_LAST_MOD,
	CONTROL_SELECTITEM,

	CONTROL_UPDATE_CD_AUTOAIMVAL,
};

enum
{
	CMD_NOCLIP = 32,
	CMD_PHYSLOG,
	CMD_GODMODE,
	CMD_GIVEALL,
	CMD_NOCLIP2,
	CMD_WEAPON,
	CMD_NEXTWEAPON,
	CMD_PREVWEAPON,
	CMD_NEXTITEM,
	CMD_PREVITEM,
	CMD_SELFSUMMON,
	CMD_KILL,
	CMD_SKIPINGAMECUTSCENE,
	CMD_ENDDIALOGUE,
	CMD_CLOSECLIENTWINDOW,
	CMD_TOGGLENIGHTVISION,
	CMD_CYCLECAMERA,
	CMD_SHOWCONTROLLER,
	CMD_TOGGLEAIMASSISTANCE,
	CMD_LOADLASTSAVE,
	CMD_HELPBUTTON,
	CMD_TOGGLEDARKLINGHUMAN,
	CMD_TOGGLEWEAPONZOOM,
	CMD_GIVE_DARKNESSLEVEL1,
	CMD_GIVE_DARKNESSLEVEL2,
	CMD_GIVE_DARKNESSLEVEL3,
	CMD_GIVE_DARKNESSLEVEL4,
	CMD_GIVE_DARKNESSLEVEL5,
	CMD_GIVE_DEMONARMLEVEL1,
	CMD_GIVE_DEMONARMLEVEL2,

	CMD_PATHTEST			= 101,
	CMD_GIVEORDER			= 102,
	CMD_SETPATHDESTINATION	= 103,
	CMD_PAUSEBOT			= 104,
	CMD_RELEASEALLBOTS		= 105,
	CMD_AIDEBUG				= 106,
	CMD_SETTESTCOORDINATES	= 107,
	CMD_SETAGDEBUGFLAGS		= 108,
	CMD_DEBUG_RENDERTEST	= 109,
	CMD_DEBUG_FOV			= 110,
	CMD_DEBUG_SCALE			= 111,
	CMD_DUMPAUTOVARLOG		= 112,
	CMD_NOCLIPSPEED			= 113,

	//Note: Don't exceed 255
};
enum
{
	CONTROLBITS_PRIMARY			= M_Bit(0),
	CONTROLBITS_SECONDARY		= M_Bit(1),
	CONTROLBITS_JUMP			= M_Bit(2),
	CONTROLBITS_CROUCH			= M_Bit(3),

	CONTROLBITS_BUTTON0			= M_Bit(4),
	CONTROLBITS_BUTTON1			= M_Bit(5),
	CONTROLBITS_BUTTON2			= M_Bit(6),
	CONTROLBITS_BUTTON3			= M_Bit(7),

	CONTROLBITS_DPAD_UP			= M_Bit(8),
	CONTROLBITS_DPAD_DOWN		= M_Bit(9),
	CONTROLBITS_DPAD_LEFT		= M_Bit(10),
	CONTROLBITS_DPAD_RIGHT		= M_Bit(11),

	CONTROLBITS_BUTTON4			= M_Bit(12),
	CONTROLBITS_BUTTON5			= M_Bit(13),

	CONTROLBITS_AIMASSISTANCE	= M_Bit(14),
};

enum
{
	ADC_OP_GT = 1,
	ADC_OP_LT = 2,
};

enum
{
	WPACKET_PLAYSONG = WPACKET_LAST,
	WPACKET_RELEASECONTROLS,

	WPACKET_LASTMOD,
};

enum
{
	CXR_MODEL_CAMFX_VISIONSENABLED	= M_Bit(0),		// VisionsEnabled on/off 
	CXR_MODEL_CAMFX_CREEPINGDARK	= M_Bit(1),		// CreepingDark on/off
	CXR_MODEL_CAMFX_DARKNESSVISION	= M_Bit(2),		// DarknessVision on/off
	CXR_MODEL_CAMFX_OTHERWORLD		= M_Bit(3),		// OtherWorld on/off
	CXR_MODEL_CAMFX_RETINADOTS		= M_Bit(4),		// RetinaDots on/off
	CXR_MODEL_CAMFX_MASK			= (CXR_MODEL_CAMFX_CREEPINGDARK | CXR_MODEL_CAMFX_DARKNESSVISION | CXR_MODEL_CAMFX_OTHERWORLD),
};



#endif // __WClientMod_Defines_h__
