//////////////////////////
//////////////////////////
/// CLIENT CONFIG FILE ///
//////////////////////////
//////////////////////////


// If you set this variable to 1, your client.cfg will be overwritten when you quit the client. 
// You will loose all the comments and identation in this file.
SaveConfig = 1;

///////////////////
// WINDOW CONFIG //
///////////////////

Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1"  & "Direct3D" or "2"
                 // "Auto" will choose the best suited driver depending on hardware
FullScreen = 1;
Width      = 1024;
Height     = 768;
PositionX  = 0;
PositionY  = 0;
Frequency  = 60;
Depth      = 32;
Sleep      = -1;
ProcessPriority	= 0;	// -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time
Contrast   = 0.0;		// -1.0 ~ 1.0
Luminosity = 0.0;		// -1.0 ~ 1.0
Gamma      = 0.0;		// -1.0 ~ 1.0
Contrast_min	= -1.0;
Luminosity_min	= -1.0;
Gamma_min	= -1.0;
Contrast_max	= 1.0;
Luminosity_max	= 1.0;
Gamma_max	= 1.0;


/////////////
// NETWORK //
/////////////

Application = { "ryzom_open", "./client_ryzom_r.exe", "./" };
BackgroundDownloader = 0;
PatchServer = "";
PatchWanted = 0;
SignUpURL = "";
StartupHost = "shard.ryzomcore.org:40916";
StartupPage = "/login/r2_login.php";
InstallStatsUrl = "http://open.ryzom.com:50000/stats/stats.php";
CreateAccountURL = "http://shard.ryzomcore.org/ams/?page=register";
EditAccountURL = "http://shard.ryzomcore.org/ams/?page=settings";
ConditionsTermsURL = "http://www.gnu.org/licenses/agpl-3.0.html";
ForgetPwdURL = "http://shard.ryzomcore.org/ams/?page=forgot_password";
LoginSupportURL = "https://plus.google.com/u/0/communities/103798956862568269036";
InstallWebPage = "";


////////////////
// INTERFACES //
////////////////

// the language to use as in ISO 639-2
LanguageCode = "en";		// english

XMLInputFile = "input_config_v3.xml";

XMLLoginInterfaceFiles = { 
	"login_config.xml", 
	"login_widgets.xml", 
	"login_main.xml",
	"login_keys.xml",
};

XMLOutGameInterfaceFiles = { 
	"out_v2_config.xml", 
	"out_v2_widgets.xml", 
	"out_v2_connect.xml",
	"out_v2_intro.xml",
	"out_v2_select.xml",
	"out_v2_appear.xml",
	"out_v2_location.xml",	
	"out_v2_crash.xml",
	"out_v2_hierarchy.xml",
	"out_v2_keys.xml",
};

TexturesInterface     = "texture_interfaces_v3";
TexturesInterfaceDXTC = "texture_interfaces_dxtc";


// The ligo primitive class file
LigoPrimitiveClass = "world_editor_classes.xml";

VerboseLog = 1;

///////////
// MOUSE //
///////////
HardwareCursor		= 1;

CursorSpeed			= 1.0;			// In pixels per mickey
CursorSpeed_min		= 0.5;
CursorSpeed_max		= 2.0;

CursorAcceleration		= 40;		// Threshold in mickey
CursorAcceleration_min	= 20;
CursorAcceleration_max	= 80;

FreeLookSpeed		= 0.004;		// In radian per mickey
FreeLookSpeed_min	= 0.0001;
FreeLookSpeed_max	= 0.01;

FreeLookAcceleration		= 40;	// Threshold in mickey
FreeLookAcceleration_min	= 20;
FreeLookAcceleration_max	= 80;

FreeLookInverted			= 0;
AutomaticCamera      		= 0;
DblClickMode			= 1;
AutoEquipTool			= 1;

///////////////////
// RENDER CONFIG //
///////////////////

// NB: thoses variables configure also the InGameConfigurator:
// _min and _max define the bounds
// _step defines the step (NB: take care of _min and _max!!)
// _ps0 is the LOW preset, _ps1 is the MEDIUM preset, _ps2 is the NORMAL Preset, and _ps3 is the HIGH one


// *** LANDSCAPE
LandscapeTileNear       = 50.000000;
LandscapeTileNear_min   = 20.000000;
LandscapeTileNear_max   = 100.000000;
LandscapeTileNear_step  = 10.0;
LandscapeTileNear_ps0   = 20.0;
LandscapeTileNear_ps1   = 40.0;
LandscapeTileNear_ps2   = 50.0;
LandscapeTileNear_ps3   = 80.0;

// NB: threshold is inverted ULandscape::setThreshold(), to be more intelligible
LandscapeThreshold      = 1000.0;
LandscapeThreshold_min  = 100.0;    // Low quality => 0.01 threshold
LandscapeThreshold_max  = 2000.0;   // High quality => 0.0005 threshold
LandscapeThreshold_step = 100.0;
LandscapeThreshold_ps0  = 100.0;
LandscapeThreshold_ps1  = 500.0;
LandscapeThreshold_ps2  = 1000.0;
LandscapeThreshold_ps3  = 2000.0;

Vision		= 500.000000;
Vision_min	= 200.000000;
Vision_max	= 800.000000;
Vision_step	= 100.000000;
Vision_ps0	= 200.0;
Vision_ps1	= 400.0;
Vision_ps2	= 500.0;
Vision_ps3	= 800.0;

MicroVeget      = 1;	// Enable/Disable MicroVeget.
MicroVeget_ps0	= 0;
MicroVeget_ps1	= 1;
MicroVeget_ps2	= 1;
MicroVeget_ps3	= 1;

MicroVegetDensity		= 80.0;
MicroVegetDensity_min	= 10.0;
MicroVegetDensity_max	= 100.0;
MicroVegetDensity_step	= 10.0;
MicroVegetDensity_ps0	= 10.0;	// not used since disabled!
MicroVegetDensity_ps1	= 30.0;
MicroVegetDensity_ps2	= 80.0;
MicroVegetDensity_ps3	= 100.0;


// *** FX
FxNbMaxPoly		= 20000;
FxNbMaxPoly_min	= 2000;
FxNbMaxPoly_max	= 50000;
FxNbMaxPoly_step= 2000;
FxNbMaxPoly_ps0	= 2000;
FxNbMaxPoly_ps1	= 10000;
FxNbMaxPoly_ps2	= 20000;
FxNbMaxPoly_ps3	= 50000;

Cloud = 1;
Cloud_ps0	= 0	;
Cloud_ps1	= 1	;
Cloud_ps2	= 1	;
Cloud_ps3	= 1	;

CloudQuality		= 160.0;
CloudQuality_min	= 80.0;
CloudQuality_max	= 320.0;
CloudQuality_step	= 20.0;
CloudQuality_ps0	= 80.0;	// not used since disabled!
CloudQuality_ps1	= 80.0;
CloudQuality_ps2	= 160.0;
CloudQuality_ps3	= 320.0;

CloudUpdate		= 1;
CloudUpdate_min	= 1;
CloudUpdate_max	= 8;
CloudUpdate_step= 1;
CloudUpdate_ps0	= 1;	// not used since disabled!
CloudUpdate_ps1	= 1;
CloudUpdate_ps2	= 1;
CloudUpdate_ps3	= 3;

Shadows     = 1;
Shadows_ps0	= 0;
Shadows_ps1	= 1;
Shadows_ps2	= 1;
Shadows_ps3	= 1;

Bloom = 0;
Bloom_ps0	= 0;
Bloom_ps1	= 1;
Bloom_ps2	= 1;
Bloom_ps3	= 1;

SquareBloom = 1;
SquareBloom_ps0	= 0;
SquareBloom_ps1	= 1;
SquareBloom_ps2	= 1;
SquareBloom_ps3	= 1;

DensityBloom = 255.0;
DensityBloom_min	= 0.0;
DensityBloom_max	= 255.0;
DensityBloom_step	= 1.0;
DensityBloom_ps0	= 255.0;
DensityBloom_ps1	= 255.0;
DensityBloom_ps2	= 255.0;
DensityBloom_ps3	= 255.0;


// *** CHARACTERS
SkinNbMaxPoly		= 100000;
SkinNbMaxPoly_min	= 5000;
SkinNbMaxPoly_max	= 250000;
SkinNbMaxPoly_step	= 5000;
SkinNbMaxPoly_ps0	= 10000;
SkinNbMaxPoly_ps1	= 70000;
SkinNbMaxPoly_ps2	= 100000;
SkinNbMaxPoly_ps3	= 200000;

NbMaxSkeletonNotCLod		= 125;
NbMaxSkeletonNotCLod_min	= 5;
NbMaxSkeletonNotCLod_max	= 255;
NbMaxSkeletonNotCLod_step	= 5;
NbMaxSkeletonNotCLod_ps0	= 10;
NbMaxSkeletonNotCLod_ps1	= 50;
NbMaxSkeletonNotCLod_ps2	= 125;
NbMaxSkeletonNotCLod_ps3	= 255;

CharacterFarClip		= 200.0;
CharacterFarClip_min	= 50.0;
CharacterFarClip_max	= 500.0;
CharacterFarClip_step	= 10.0;
CharacterFarClip_ps0	= 50.0;
CharacterFarClip_ps1	= 100.0;
CharacterFarClip_ps2	= 200.0;
CharacterFarClip_ps3	= 500.0;

EnableRacialAnimation	= 1;

// *** MISC
// This is the actual aspect ratio of your screen (no relation with the resolution!!). Set 1.7777 if you got a 16/9 screen for instance
ScreenAspectRatio	= 0.0;
ForceDXTC           = 1;	// Enable/Disable DXTC.
DivideTextureSizeBy2= 0;	// Divide texture size
DisableVtxProgram   = 0;	// Disable Hardware Vertex Program.
DisableVtxAGP       = 0;	// Disable Hardware Vertex AGP.
DisableTextureShdr  = 0;	// Disable Hardware Texture Shader.
HDEntityTexture     = 0;
HDTextureInstalled  = 1;
WaitVBL             = 0;	// 0 or 1 to wait Vertical Sync.

//////////////////
// GAME OPTIONS //
//////////////////
SelectWithRClick	= 1;
DisplayWeapons		= 1;
RotKeySpeedMax		= 2.0;
RotKeySpeedMax_min	= 1.0;
RotKeySpeedMax_max	= 4.0;
RotKeySpeedMin		= 1.0;
RotKeySpeedMin_min	= 0.5;
RotKeySpeedMin_max	= 2.0;
RotAccel			= 3.0;
FollowOnAtk			= 0;
AtkOnSelect			= 0;
ZCPacsPrim			= "gen_bt_col_ext.pacs_prim";

/////////////////
// PREFERENCES //
/////////////////
FPV					= 0;	// FPV(First Person View) : default is false (Third Person View).
CameraHeight		= 2.2;	// Camera Height (in meter) from the ground (for the Third Person View).
CameraDistance		= 3.0;	// Camera Distance(in meter) from the user (for the Third Person View).
CameraDistStep		= 1.0;
CameraDistMin		= 1.0;
CameraDistMax		= 25.0;
CameraAccel			= 5.0;
CameraSpeedMin		= 2.0;
CameraSpeedMax		= 100.0;
CameraResetSpeed	= 10.0;		// Speed in radian/s

//////////////////
// SOUND CONFIG //
//////////////////
SoundForceSoftwareBuffer= 1;
SoundOn = 1;
UseEax = 0;

MaxTrack = 32;
MaxTrack_min = 4;
MaxTrack_max = 32;
MaxTrack_step = 4;

// This is the volume for "InGame" sound FXs
SoundSFXVolume = 1.0;
SoundSFXVolume_min = 0.0;
SoundSFXVolume_max = 1.0;
SoundSFXVolume_step = 0.001;

// This is volume for "InGame" music. Does not affect the MP3 player
SoundGameMusicVolume = 0.5;
SoundGameMusicVolume_min = 0.0;
SoundGameMusicVolume_max = 1.0;
SoundGameMusicVolume_step = 0.001;

// MISC
PreDataPath = { "user", "patch", "data", "examples" };
NeedComputeVS = 0;

NegFiltersDebug = {"Update DB", "Reading:", "Read Value :", "impulseCallBack", "CLIMPD:", "LNET" };
NegFiltersInfo = { "CLIMPD:", "CPath::lookup" , "LNET" };
NegFiltersWarning = { "'basics.Equipment Slot'.", "_usercolor.tga", "PACS" };

// Big screen shot
ScreenShotWidth		 = 0;
ScreenShotHeight	 = 0;
ScreenShotFullDetail = 1; // 1 to switch full detail mode for characters (both standard & big screenshots)

// Read : "ID", "R G B A MODE [FX]"
SystemInfoColors = 
{  
// OLD STUFF Here for compatibility
"RG", "0   0   0   255 normal",	// Black to see when there is an error
"BC", "0   0   0   255 normal", // Black to see when there is an error
"JA", "0   0   0   255 normal", // Black to see when there is an error
"BL", "0   0   0   255 normal", // Black to see when there is an error
"VE", "0   0   0   255 normal", // Black to see when there is an error
"VI", "0   0   0   255 normal", // Black to see when there is an error

// NEW System Info Categories
"SYS",	"255 255 255 255 normal",	// Default system messages
"BC",	"255 255 255 255 centeraround",	// Broadcast messages
"TAGBC",	"255 255 255 255 centeraround", // Taged broadcast messages : color should remain white as some word are tagged
"XP",	"255 255 64  255 over",		// XP Gain
"SP",	"255 255 64  255 over",		// SP Gain
"TTL",	"255 255 64  255 over",		// Title
"TSK",	"255 255 255 255 over",		// Task
"ZON",	"255 255 255 255 center",	// Zone
"DG",	"255 0   0   255 normal",	// Damage to me
"DMG",	"255 0   0   255 normal",	// Damage to me
"DGP",	"200 0   0   255 normal",	// Damage to me from player
"DGM",	"255 128 64  255 normal",	// Damage from me
"MIS",	"150 150 150 255 normal",	// The opponent misses
"MISM",	"255 255 255 255 normal",	// I miss
"ITM",	"0   200 0   255 over",		// Item
"ITMO",	"170 170 255 255 overonly",	// Item other in group
"ITMF",	"220 0   220 255 over",		// Item failed
"SPL",	"50  50  250 255 normal",	// Spell to me
"SPLM",	"50  150 250 255 normal",	// Spell from me
"EMT",	"255 150 150 255 normal",	// Emote
"MTD",	"255 255 0   255 over",		// Message Of The Day
"FORLD","64  255 64  255 overonly",	// Forage Locate Deposit
"CHK",	"255 120 60  255 center",	// Tous ce qui ne remplit pas une condition
"CHKCB","255 255  0  255 center",	// Tous ce qui ne remplit pas une condition en combat (trop loin, cible invalide, pas assez de mana, etc.)
"PVPTM","255 120 60  255 overonly",	// PVP timer
"THM",	"255 255 64  255 over misc_levelup.ps",	// Thema finished
"AMB",	"255 255 64  255 center",	// Ambiance
"ISE",	"192 208 255 255 normal",	// Item special effect
"ISE2",	"192 208 255 255 center",	// Item special effect with center text (for effects without flying text)
"OSM",	"128 160 255 255 center",	// Outpost state message
"AROUND","255 255 0 255 around",	// Only in around channel
"R2_INVITE","0 255 0 255 around",	// Ring invitation
};

PrintfCommands       = {
	"52", "15", "55 55 0 255", "28", "uiChapterV", "624", 
	"428", "0 0 0 255", "18", "", "624", "378", 
	"0 0 0 255", "14", "", "644", "278", "0 0 0 255", 
	"18", "", "52", "17", "255 255 255 255", "28", 
	"uiChapterV", "622", "430", "255 255 255 255", "18", "", 
	"622", "380", "255 255 255 255", "14", "", "642", 
	"280", "255 255 255 255", "18", ""
};

PrintfCommandsFreeTrial = {
	"52", "15", "55 55 0 255", "28", "uiChapterV", "624", 
	"428", "0 0 0 255", "18", "", "624", "378", 
	"0 0 0 255", "14", "", "644", "278", "0 0 0 255", 
	"18", "", "52", "17", "255 255 255 255", "28", 
	"uiChapterV", "622", "430", "255 255 255 255", "18", "", 
	"622", "380", "255 255 255 255", "14", "", "642", 
	"280", "255 255 255 255", "18", ""
};

DisplayMissingAnimFile = 0;

LoadingStringCount = 54;


// Some R2 parameters ...

R2Mode 		     = 1;
R2EDEnabled          = 1;
R2EDExtendedDebug	 = 0;
R2EDLightPalette	 = 0;
R2ClientGw           = "r2linux01";
LoadLuaDebugger = 0;
CheckR2ScenarioMD5 = 1;
LevelDesignEnabled     = 0;

DmCameraDistMax        = 25;
DmRun                  = 20;
DmWalk                 = 6;

R2EDReloadFiles      = {
	"r2ed.xml",
	"r2_basic_bricks.lua",
	"r2_components.lua",
	"r2_core.lua",
	"r2_features_default.lua",
	"r2_features_fauna.lua", 
	"r2_features_npc_groups.lua",
	"r2_palette.lua",
	"r2_scenario.lua",
	"r2_ui.lua" 
};

XMLInterfaceFiles    = {
	"config.xml",
	"widgets.xml",
	"webig_widgets.xml",
	"player.xml",
	"inventory.xml",
	"interaction.xml",
	"phrase.xml",
	"harvest.xml",
	"macros.xml",
	"info_player.xml",
	"outpost.xml",
	"guild.xml",
	"taskbar.xml",
	"game_config.xml",
	"game_context_menu.xml",
	"player_trade.xml",
	"bot_chat_v4.xml",
	"compass.xml",
	"map.xml",
	"hierarchy.xml",
	"reset.xml",
	"actions.xml",
	"help.xml",
	"encyclopedia.xml",
	"commands.xml",
	"commands2.xml",
	"ring_access_point_filter.xml",
	"ring_window.xml",
	"bg_downloader.xml"
};

XMLR2EDInterfaceFiles =
{      
	"r2ed.xml",
	"r2_triggers.xml",
	"r2_logic_entities.xml",
	"r2ed_acts.xml",
	"r2ed_scenario.xml",
	"r2ed_connect.xml"
}; 

FogDistAndDepthLookupBias = 20; // bias for lookup of fog distance and depth


// Hardware cursor textures 
// These will be extracted from the corresponding packed ui .tga files when they are loaded
// * 
// * individual .tga files for hardware cursor bitmap not looked for, and not supported yet
HardwareCursors =
{
	"curs_can_pan.tga",
	"curs_can_pan_dup.tga",
	"curs_create.tga",
	"curs_create_multi.tga",
	"curs_create_vertex_invalid.tga",
	"curs_default.tga",
	"curs_dup.tga",
	"curs_L.tga",
	"curs_M.tga",
	"curs_pan.tga",
	"curs_pan_dup.tga",
	"curs_pick.tga",
	"curs_pick_dup.tga",
	"curs_R.tga",
	"curs_resize_BL_TR.tga",
	"curs_resize_BR_TL.tga",
	"curs_resize_LR.tga",
	"curs_resize_TB.tga",
	"curs_rotate.tga",
	"curs_scale.tga",
	"curs_stop.tga",
	"text_cursor.tga",
	"r2_hand_can_pan.tga",
	"r2_hand_pan.tga",
	"r2ed_tool_can_pick.tga",
	"r2ed_tool_can_rotate.tga",
	"r2ed_tool_pick.tga",
	"r2ed_tool_rotate.tga",
	"r2ed_tool_rotating.tga"
};

Loading_BG			= "new_loading_bg.tga";			// Default name for the loading background file.
Launch_BG			= "new_launcher_bg.tga";			// Default name for the launch background file.
TeleportKami_BG		= "new_teleport_kami_bg.tga";
TeleportKaravan_BG	= "new_teleport_caravan_bg.tga";
Elevator_BG			= "new_elevator_bg.tga";		// Default name for the loading background file.
ResurectKami_BG		= "new_resurect_kami_bg.tga";
ResurectKaravan_BG	= "new_resurect_caravane_bg.tga";
End_BG				= "end_bg.tga";				// Default name for the last background file.

ScenarioSavePath = "./my_scenarios/";

// list ofpredefined keyset
// name will be looked up in the translation file by searching 'uiCP_KeysetName_"  + id
// tooltip will be looked up in the translation file by searching 'uiCP_KeysetTooltip_"  + id
// 'bi.' stands for built-in
// note : we add a dot in the name to be sure that there cannot be a conflict with character keyset name
BuiltInKeySets =
{
	"",	   // default ryzom keyboard layout
	"bi.zqsd", // european keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is french or belgian)
	"bi.wasd",  // english keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is not french nor belgian)
	"bi.wow_alike" // 'world of warcraft' like keyboard style. (NB : not available for ring)
};

// "Newbie Training", "Story Telling", "Mistery", "Hack & Slash", "Guild Training", "Other"
ScenarioTypes = {"so_newbie_training","so_story_telling","so_mistery","so_hack_slash","so_guild_training","so_other"};

ScenarioLanguages = {"fr","de","en","other_lang"};

// Map each language to a forum help page
HelpPages = 
{
	"fr=http://forums.ryzom.com/forum/showthread.php?t=29130",
	"en=http://forums.ryzom.com/forum/showthread.php?t=29129",
	"wk=http://forums.ryzom.com/forum/showthread.php?t=29129",
	"de=http://forums.ryzom.com/forum/showthread.php?t=29131"
};

WebIgMainDomain      = "app.ryzom.com";
WebIgTrustedDomains  = {
	"api.ryzom.com", "app.ryzom.com" 
};
PatchletUrl          = "http://app.ryzom.com/app_patchlet/index.php?patch=preload";

SelectedSlot = 0;

BuildName = "RELEASE_HEAD";