//////////////////////////
/// 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 = 0;
Width      = 0;
Height     = 0;
PositionX  = 0;
PositionY  = 0;
Frequency  = 0;
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 = { "Lirria", "./client_ryzom_r.exe", "./" };
BackgroundDownloader = 0;
PatchWanted = 1;
PatchUrl = "http://lirria.khaganat.net:43435";
RingReleaseNotePath = "http://lirria.khaganat.net/patch/index.php";
StartupHost = "lirria.khaganat.net:40916";
StartupPage = "/login/r2_login.php";
InstallStatsUrl = "http://lirria.khaganat.net:50000/stats/stats.php";

CreateAccountURL = "http://lirria.khaganat.net/ams/?page=register";
EditAccountURL   = "http://lirria.khaganat.net/";
ForgetPwdURL     = "http://lirria.khaganat.net/ams/index.php?page=forgot_password";
//FreeTrialURL     = "https://lirria.khaganat.net/";
LoginSupportURL  = "http://www.khaganat.net/irc";
ConditionsTermsURL = "khaganat.net/wikhan/fr:charte";



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

// the language to use as in ISO 639-2
LanguageCode = "fr";                // 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    = {
        "interface_game_khaganat"
 };
 TexturesLoginInterface    = {
         "interface_login_khaganat"
 };
 TexturesOutGameInterface    = {
         "interface_outgame_khaganat"
 };

// 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;
FreeLookTablet                = 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   = 5.000000;
LandscapeTileNear_max   = 200.000000;
LandscapeTileNear_step  = 10.0;
LandscapeTileNear_ps0   = 5.0;
LandscapeTileNear_ps1   = 40.0;
LandscapeTileNear_ps2   = 50.0;
LandscapeTileNear_ps3   = 120.0;

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

Vision            = 500.000000;
Vision_min        = 100.000000;
Vision_max        = 1500.000000;
Vision_step       = 100.000000;
Vision_ps0        = 100.0;
Vision_ps1        = 400.0;
Vision_ps2        = 500.0;
Vision_ps3        = 1000.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        = 1000;
FxNbMaxPoly_max        = 50000;
FxNbMaxPoly_step       = 1000;
FxNbMaxPoly_ps0        = 1000;
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;

FXAA            = 1;
FXAA_ps0        = 0;
FXAA_ps1        = 1;
FXAA_ps2        = 1;
FXAA_ps3        = 1;

AnisotropicFilter        = 0;

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

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

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


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

NbMaxSkeletonNotCLod            = 125;
NbMaxSkeletonNotCLod_min        = 5;
NbMaxSkeletonNotCLod_max        = 400;
NbMaxSkeletonNotCLod_step       = 5;
NbMaxSkeletonNotCLod_ps0        = 5;
NbMaxSkeletonNotCLod_ps1        = 20;
NbMaxSkeletonNotCLod_ps2        = 125;
NbMaxSkeletonNotCLod_ps3        = 255;

CharacterFarClip            = 200.0;
CharacterFarClip_min        = 25.0;
CharacterFarClip_max        = 1000.0;
CharacterFarClip_step       = 10.0;
CharacterFarClip_ps0        = 25.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          = 1;
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                 = 250.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", "data", "patch", "examples", };
DataPath = { "data" };
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", "uiEon", "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",
        "uiEon", "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", "uiEon", "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",
        "uiEon", "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",
	"appzone.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",
	"ryzhome_toolbar.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 khanat 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=https://khaganat.net/wikhan/fr:error",
        "en=https://khaganat.net/wikhan/fr:error",
        "wk=https://khaganat.net/wikhan/fr:error",
        "de=https://khaganat.net/wikhan/fr:error",
        "es=https://khaganat.net/wikhan/fr:error",
        "ru=https://khaganat.net/wikhan/fr:error"
};

WebIgMainDomain      = "app.lirria.khaganat.net";
WebIgTrustedDomains  = {
    "api.lirria.khaganat.net", "app.lirria.khaganat.net", "lirria.khaganat.net", "www.khaganat.net"
};
//PatchletUrl          = "";

SelectedSlot = 0;

BuildName = "RELEASE_HEAD";