/*********************************************************************//**
*	\brief Game variables definition.
*	Zde jsou definice vsech ingame promennych
*
*	\author Michal Jirous
*	\date 23.9.2008
*	\file ctrl_vars_definition.h
**********************************************************************/


#ifndef __VARIABLES_DEFINITION_H__
#define __VARIABLES_DEFINITION_H__

namespace vardef
{
	const bool DEVELOPER_ONLY	 = 0;
	const bool PUBLIC			 = 1;


	static const char* SENSITIVITY_NAME				= "sensitivity";
	const float SENSITIVITY_DEFAULT					= 5.0f;
	const float SENSITIVITY_MIN						= 1.0f;
	const float SENSITIVITY_MAX						= 20.0f;
	const bool SENSITIVITY_DEVELOPER_STATUS			= PUBLIC;

	static const char* MAX_DISTANCE_NAME			= "maxdistance";
	const float MAX_DISTANCE_DEFAULT				= 4096.0f;
	const float MAX_DISTANCE_MIN					= 512.0f;
	const float MAX_DISTANCE_MAX					= 10000.0f;
	const bool MAX_DISTANCE_DEVELOPER_STATUS		= PUBLIC;

	static const char* DEFAULT_FOV_NAME				= "default_fov";
	const int DEFAULT_FOV_DEFAULT					= 90;
	const int DEFAULT_FOV_MIN						= 45;
	const int DEFAULT_FOV_MAX						= 130;
	const bool DEFAULT_DEVELOPER_STATUS				= PUBLIC;

	static const char* OCTREE_MIN_RANGE_NAME		= "octree_min_range";
	const int OCTREE_MIN_RANGE_DEFAULT				= 32;
	const int OCTREE_MIN_RANGE_MIN					= 16;
	const int OCTREE_MIN_RANGE_MAX					= 2048;
	const bool OCTREE_MIN_RANGE_DEVELOPER_STATUS	= PUBLIC;

	static const char* GRAVITY_NAME					= "sv_gravity";
	const float GRAVITY_DEFAULT						= 20.0f;
	const float GRAVITY_MIN							= 0.0f;
	const float GRAVITY_MAX							= 2000.0f;
	const bool GRAVITY_DEVELOPER_STATUS				= DEVELOPER_ONLY;

	static const char* USE_DISTANCE_NAME			= "sv_usedistance";
	const float USE_DISTANCE_DEFAULT				= 64.0f;
	const float USE_DISTANCE_MIN					= 32.0f;
	const float USE_DISTANCE_MAX					= 512.0f;
	const bool USE_DISTANCE_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* FRICTION_NAME				= "sv_friction";
	const float FRICTION_DEFAULT					= 0.2f;
	//default min, max, developer status

	static const char* REVERSE_MOUSE_H_NAME			= "reverse_mouse_h";
	const int REVERSE_MOUSE_H_DEFAULT				= 0;
	const bool REVERSE_MOUSE_H_DEVELOPER_STATUS		= PUBLIC;
	//default min, max
	
	static const char* REVERSE_MOUSE_V_NAME			= "reverse_mouse_v";
	const int REVERSE_MOUSE_V_DEFAULT				= 0;
	const bool REVERSE_MOUSE_V_DEVELOPER_STATUS		= PUBLIC;
	//default min, max

	static const char* MAXSPEED_NAME				= "sv_maxspeed";
	const float MAXSPEED_DEFAULT					= 50.0f;
	const float MAXSPEED_MIN						= 1.0f;
	const float MAXSPEED_MAX						= 10000.0f;
	const bool MAXSPEED_DEVELOPER_STATUS			= DEVELOPER_ONLY;

	static const char* NAME_NAME					= "name";
	static const char* NAME_DEFAULT					= "Unnamed";
	const bool NAME_DEVELOPER_STATUS				= PUBLIC;
	const size_t NAME_MAXLENGHT						= 30;

	static const char* ACCELERATION_NAME			= "sv_acceleration";
	const float ACCELERATION_DEFAULT				= 30.0f;
	const float ACCELERATION_MIN					= 0.0f;
	const float ACCELERATION_MAX					= 10000.0f;
	const bool ACCELERATION_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* JUMPHEIGHT_NAME				= "sv_jumpheight";
	const float JUMPHEIGHT_DEFAULT				= 200.0f;
	const float JUMPHEIGHT_MIN					= 0.0f;
	const float JUMPHEIGHT_MAX					= 1000.0f;
	const bool JUMPHEIGHT_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* HUD_HEALTH_WIN_X			= "HUD_health_win_x";
	const float HUD_HEALTH_WIN_X_DEFAULT		= 0.0f;
	const float HUD_HEALTH_WIN_X_MIN			= 0.0f;
	const float HUD_HEALTH_WIN_X_MAX			= 1.0f;
	const bool HUD_HEALTH_WIN_X_STATUS			= PUBLIC;

	static const char* HUD_HEALTH_WIN_Y			= "HUD_health_win_y";
	const float HUD_HEALTH_WIN_Y_DEFAULT		= 0.0f;
	const float HUD_HEALTH_WIN_Y_MIN			= 0.0f;
	const float HUD_HEALTH_WIN_Y_MAX			= 1.0f;
	const bool HUD_HEALTH_WIN_Y_STATUS			= PUBLIC;

	static const char* HUD_OXYGEN_WIN_X			= "HUD_oxygen_win_x";
	const float HUD_OXYGEN_WIN_X_DEFAULT		= 0.1f;
	const float HUD_OXYGEN_WIN_X_MIN			= 0.0f;
	const float HUD_OXYGEN_WIN_X_MAX			= 1.0f;
	const bool HUD_OXYGEN_WIN_X_STATUS			= PUBLIC;


	static const char* HUD_OXYGEN_WIN_Y			= "HUD_oxygen_win_y";
	const float HUD_OXYGEN_WIN_Y_DEFAULT		= 0.0f;
	const float HUD_OXYGEN_WIN_Y_MIN			= 0.0f;
	const float HUD_OXYGEN_WIN_Y_MAX			= 1.0f;
	const bool HUD_OXYGEN_WIN_Y_STATUS			= PUBLIC;

	static const char* FALLDAMAGE_NAME				= "sv_falldamage";
	const float FALLDAMAGE_DEFAULT					= 2.0f;
	const float FALLDAMAGE_MIN						= 0.0f;
	const float FALLDAMAGE_MAX						= 100.0f;
	const bool FALLDAMAGE_DEVELOPER_STATUS			= DEVELOPER_ONLY;

	static const char* HUD_CROSSHAIR_WIN_Y			= "HUD_crosshair_win_y";
	const float HUD_CROSSHAIR_WIN_Y_DEFAULT		= 0.5f;
	const float HUD_CROSSHAIR_WIN_Y_MIN			= 0.0f;
	const float HUD_CROSSHAIR_WIN_Y_MAX			= 1.0f;
	const bool HUD_CROSSHAIR_WIN_Y_STATUS			= PUBLIC;

	static const char* HUD_CROSSHAIR_WIN_X			= "HUD_crosshair_win_x";
	const float HUD_CROSSHAIR_WIN_X_DEFAULT		= 0.5f;
	const float HUD_CROSSHAIR_WIN_X_MIN			= 0.0f;
	const float HUD_CROSSHAIR_WIN_X_MAX			= 1.0f;
	const bool HUD_CROSSHAIR_WIN_X_STATUS			= PUBLIC;

	static const char* POINTING_DISTANCE_NAME			= "sv_pointingdist";
	const float POINTING_DISTANCE_DEFAULT				= 64.0f;
	const float POINTING_DISTANCE_MIN					= 32.0f;
	const float POINTING_DISTANCE_MAX					= 512.0f;
	const bool POINTING_DISTANCE_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* AMMO_9MM_NAME				= "ammo_9mm_max_value";
	const int AMMO_9MM_DEFAULT						= 200;
	const int AMMO_9MM_MIN						= 0;
	const int AMMO_9MM_MAX						= 10000;
	const bool AMMO_9MM_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* WEAPON_9MMPISTOL_MAX_NAME	= "weapon_9mmpistol_max_ammo";
	const int WEAPON_9MMPISTOL_MAX_DEFAULT					= 20;
	const int WEAPON_9MMPISTOL_MAX_MIN						= 0;
	const int WEAPON_9MMPISTOL_MAX_MAX						= 10000;
	const bool WEAPON_9MMPISTOL_MAX_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* HUD_AMMO_WIN_X			= "HUD_ammo_win_x";
	const float HUD_AMMO_WIN_X_DEFAULT		= 1.0f;
	const float HUD_AMMO_WIN_X_MIN			= 0.0f;
	const float HUD_AMMO_WIN_X_MAX			= 1.0f;
	const bool HUD_AMMO_WIN_X_STATUS			= PUBLIC;

	static const char* HUD_AMMO_WIN_Y			= "HUD_ammo_win_y";
	const float HUD_AMMO_WIN_Y_DEFAULT		= 0.0f;
	const float HUD_AMMO_WIN_Y_MIN			= 0.0f;
	const float HUD_AMMO_WIN_Y_MAX			= 1.0f;
	const bool HUD_AMMO_WIN_Y_STATUS			= PUBLIC;

	static const char* WEAPON_MP5_MAX_NAME	= "weapon_mp5_max_ammo";
	const int WEAPON_MP5_MAX_DEFAULT					= 50;
	const int WEAPON_MP5_MAX_MIN						= 0;
	const int WEAPON_MP5_MAX_MAX						= 10000;
	const bool WEAPON_MP5_MAX_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* WEAPON_KNIFE_DMG_NAME	= "wpn_dmg_knife";
	const int WEAPON_KNIFE_DMG_DEFAULT					= 10;
	const int WEAPON_KNIFE_DMG_MIN						= 0;
	const int WEAPON_KNIFE_DMG_MAX						= 10000;
	const bool WEAPON_KNIFE_DMG_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* WEAPON_9MMPISTOL_DMG_NAME	= "wpn_dmg_9mmpistol";
	const int WEAPON_9MMPISTOL_DMG_DEFAULT					= 20;
	const int WEAPON_9MMPISTOL_DMG_MIN						= 0;
	const int WEAPON_9MMPISTOL_DMG_MAX						= 10000;
	const bool WEAPON_9MMPISTOL_DMG_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* WEAPON_MP5_DMG_NAME	= "wpn_dmg_mp5";
	const int WEAPON_MP5_DMG_DEFAULT					= 20;
	const int WEAPON_MP5_DMG_MIN						= 0;
	const int WEAPON_MP5_DMG_MAX						= 10000;
	const bool WEAPON_MP5_DMG_DEVELOPER_STATUS		= DEVELOPER_ONLY;

	static const char* HUD_ENERGY_WIN_Y			= "HUD_ENERGY_win_y";
	const float HUD_ENERGY_WIN_Y_DEFAULT		= 0.0f;
	const float HUD_ENERGY_WIN_Y_MIN			= 0.0f;
	const float HUD_ENERGY_WIN_Y_MAX			= 1.0f;
	const bool HUD_ENERGY_WIN_Y_STATUS			= PUBLIC;

	static const char* HUD_ENERGY_WIN_X			= "HUD_ENERGY_win_x";
	const float HUD_ENERGY_WIN_X_DEFAULT		= 0.0f;
	const float HUD_ENERGY_WIN_X_MIN			= 0.0f;
	const float HUD_ENERGY_WIN_X_MAX			= 1.0f;
	const bool HUD_ENERGY_WIN_X_STATUS			= PUBLIC;

	static const char* DETAIL_DISTANCE_NAME			= "detail_distance";
	const float DETAIL_DISTANCE_DEFAULT				= 768.0f;
	const float DETAIL_DISTANCE_MIN					= 128.0f;
	const float DETAIL_DISTANCE_MAX					= 10000.0f;
	const bool DETAIL_DISTANCE_DEVELOPER_STATUS		= PUBLIC;

	static const char* HUD_TARGETS_WIN_X			= "HUD_TARGETS_win_x";
	const float HUD_TARGETS_WIN_X_DEFAULT		= 0.0f;
	const float HUD_TARGETS_WIN_X_MIN			= 0.0f;
	const float HUD_TARGETS_WIN_X_MAX			= 1.0f;
	const bool HUD_TARGETS_WIN_X_STATUS			= PUBLIC;

	static const char* HUD_TARGETS_WIN_Y			= "HUD_TARGETS_win_y";
	const float HUD_TARGETS_WIN_Y_DEFAULT		= 0.0f;
	const float HUD_TARGETS_WIN_Y_MIN			= 0.0f;
	const float HUD_TARGETS_WIN_Y_MAX			= 1.0f;
	const bool HUD_TARGETS_WIN_Y_STATUS			= PUBLIC;

	static const char* HUD_GAMETIME_WIN_X			= "HUD_GAMETIME_win_x";
	const float HUD_GAMETIME_WIN_X_DEFAULT		= 0.5f;
	const float HUD_GAMETIME_WIN_X_MIN			= 0.0f;
	const float HUD_GAMETIME_WIN_X_MAX			= 1.0f;
	const bool HUD_GAMETIME_WIN_X_STATUS			= PUBLIC;

	static const char* HUD_GAMETIME_WIN_Y			= "HUD_GAMETIME_win_y";
	const float HUD_GAMETIME_WIN_Y_DEFAULT		= 0.0f;
	const float HUD_GAMETIME_WIN_Y_MIN			= 0.0f;
	const float HUD_GAMETIME_WIN_Y_MAX			= 1.0f;
	const bool HUD_GAMETIME_WIN_Y_STATUS			= PUBLIC;

	static const char* HUD_LEVEL_REPORT_WIN_X			= "HUD_LEVEL_REPORT_win_x";
	const float HUD_LEVEL_REPORT_WIN_X_DEFAULT		= 0.5f;
	const float HUD_LEVEL_REPORT_WIN_X_MIN			= 0.0f;
	const float HUD_LEVEL_REPORT_WIN_X_MAX			= 1.0f;
	const bool HUD_LEVEL_REPORT_WIN_X_STATUS			= PUBLIC;

	static const char* HUD_LEVEL_REPORT_WIN_Y			= "HUD_LEVEL_REPORT_win_y";
	const float HUD_LEVEL_REPORT_WIN_Y_DEFAULT		= 0.5f;
	const float HUD_LEVEL_REPORT_WIN_Y_MIN			= 0.0f;
	const float HUD_LEVEL_REPORT_WIN_Y_MAX			= 1.0f;
	const bool HUD_LEVEL_REPORT_WIN_Y_STATUS			= PUBLIC;


	static const char* HUD_FPS_WIN_X			= "HUD_fps_win_x";
	const float HUD_FPS_WIN_X_DEFAULT		= 0.0f;
	const float HUD_FPS_WIN_X_MIN			= 0.0f;
	const float HUD_FPS_WIN_X_MAX			= 1.0f;
	const bool HUD_FPS_WIN_X_STATUS			= PUBLIC;

	static const char* HUD_FPS_WIN_Y			= "HUD_fps_win_y";
	const float HUD_FPS_WIN_Y_DEFAULT		= 0.3f;
	const float HUD_FPS_WIN_Y_MIN			= 0.0f;
	const float HUD_FPS_WIN_Y_MAX			= 1.0f;
	const bool HUD_FPS_WIN_Y_STATUS			= PUBLIC;
};

#endif
