diff --git a/code/ryzom/client/client_default.cfg b/code/ryzom/client/client_default.cfg
index 114e72d5a..66e8081be 100644
--- a/code/ryzom/client/client_default.cfg
+++ b/code/ryzom/client/client_default.cfg
@@ -1,575 +1,584 @@
-//////////////////////////
-//////////////////////////
-/// 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 = 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 = { "ryzom_live", "./client_ryzom_r.exe", "./" };
-BackgroundDownloader = 0;
-PatchServer = "http://dl.ryzom.com/patch_live";
-StartupHost = "shard.ryzom.com:40916";
-StartupPage = "/login/r2_login.php";
-
-ConditionsTermsURL = "http://app.ryzom.com/app_forum/index.php?page=topic/view/21885/1&post148782=en#1";
-LoginSupportURL = "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=en#1";
-
-
-////////////////
-// 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",
-};
-
-// 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;
-
-FXAA = 1;
-FXAA_ps0 = 0;
-FXAA_ps1 = 1;
-FXAA_ps2 = 1;
-FXAA_ps3 = 1;
-
-AnisotropicFilter = 0;
-
-Bloom = 1;
-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 = 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 = 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",
- "es=http://forums.ryzom.com/forum/showthread.php?t=29129",
- "ru=http://forums.ryzom.com/forum/showthread.php?t=29129"
-};
-
-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";
+//////////////////////////
+/// 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 = "http://lirria.khaganat.net/";
+LoginSupportURL = "http://lirria.khaganat.net/";
+ConditionsTermsURL = "khaganat.net/wikhan/fr:charte";
+
+
+
+////////////////
+// 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",
+};
+
+// 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;
+
+FXAA = 1;
+FXAA_ps0 = 0;
+FXAA_ps1 = 1;
+FXAA_ps2 = 1;
+FXAA_ps3 = 1;
+
+AnisotropicFilter = 0;
+
+Bloom = 1;
+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 = 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 = 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", "examples", "data/patch_lirria.bnp", "data/fonts", "data/gamedev.bnp" };
+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",
+ "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://www.khaganat.net/forum/index.php/board,31.0.html",
+ "en=http://www.khaganat.net/forum/index.php/board,31.0.html",
+ "wk=http://www.khaganat.net/forum/index.php/board,31.0.html",
+ "de=http://www.khaganat.net/forum/index.php/board,31.0.html",
+ "es=http://www.khaganat.net/forum/index.php/board,31.0.html",
+ "ru=http://www.khaganat.net/forum/index.php/board,31.0.html"
+};
+
+WebIgMainDomain = "app.khaganat.net";
+WebIgTrustedDomains = {
+ "api.khaganat.net", "app.khaganat.net", "lirria.khaganat.net"
+};
+//PatchletUrl = "";
+
+SelectedSlot = 0;
+
+BuildName = "RELEASE_HEAD";
diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml b/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml
index 8696de32a..5fb009adf 100644
--- a/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml
+++ b/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml
@@ -77,70 +77,51 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -166,7 +147,7 @@
-
+
@@ -191,84 +172,150 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -295,239 +342,101 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/hierarchy.xml b/code/ryzom/client/data/gamedev/interfaces_v3/hierarchy.xml
index 737db5c59..9499119ee 100644
--- a/code/ryzom/client/data/gamedev/interfaces_v3/hierarchy.xml
+++ b/code/ryzom/client/data/gamedev/interfaces_v3/hierarchy.xml
@@ -110,15 +110,15 @@
-
-
-
-
+
-
-
+
+
+
-
+
+
+
diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/macros.xml b/code/ryzom/client/data/gamedev/interfaces_v3/macros.xml
index 65d6394d7..bbc7ffade 100644
--- a/code/ryzom/client/data/gamedev/interfaces_v3/macros.xml
+++ b/code/ryzom/client/data/gamedev/interfaces_v3/macros.xml
@@ -207,17 +207,15 @@
-
-
+
+
+
-
-
-
-
-
-
+
+
+
@@ -648,6 +646,7 @@
+
diff --git a/code/ryzom/client/macosx/khanat.icns b/code/ryzom/client/macosx/khanat.icns
new file mode 100644
index 000000000..fafeddeb2
Binary files /dev/null and b/code/ryzom/client/macosx/khanat.icns differ
diff --git a/code/ryzom/client/macosx/ryzom.icns b/code/ryzom/client/macosx/ryzom.icns
deleted file mode 100644
index 45e7bace1..000000000
Binary files a/code/ryzom/client/macosx/ryzom.icns and /dev/null differ
diff --git a/code/ryzom/client/src/CMakeLists.txt b/code/ryzom/client/src/CMakeLists.txt
index e989ffa04..bb94560a5 100644
--- a/code/ryzom/client/src/CMakeLists.txt
+++ b/code/ryzom/client/src/CMakeLists.txt
@@ -51,11 +51,11 @@ IF(WITH_RYZOM_CLIENT)
# on Mac, create a .App Bundle
if(APPLE)
- SET(MACOSX_BUNDLE_INFO_STRING "Ryzom")
- SET(MACOSX_BUNDLE_ICON_FILE "ryzom.icns")
- SET(MACOSX_BUNDLE_GUI_IDENTIFIER "com.winchgate.Ryzom")
+ SET(MACOSX_BUNDLE_INFO_STRING "Khanat")
+ SET(MACOSX_BUNDLE_ICON_FILE "khanat.icns")
+ SET(MACOSX_BUNDLE_GUI_IDENTIFIER "com.khaganat.khanat")
SET(MACOSX_BUNDLE_LONG_VERSION_STRING ${RYZOM_VERSION})
- SET(MACOSX_BUNDLE_BUNDLE_NAME "Ryzom")
+ SET(MACOSX_BUNDLE_BUNDLE_NAME "Khanat")
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING ${RYZOM_VERSION})
SET(MACOSX_BUNDLE_BUNDLE_VERSION "1.0")
SET(MACOSX_BUNDLE_COPYRIGHT ${COPYRIGHT})
@@ -72,7 +72,7 @@ IF(WITH_RYZOM_CLIENT)
SET_TARGET_PROPERTIES(ryzom_client PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${MAC_RESOURCES_DIR}/Info.plist)
ADD_CUSTOM_COMMAND(TARGET ryzom_client PRE_BUILD COMMAND mkdir -p ${RYZOM_RESOURCES_DIR})
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp ARGS -p ${MAC_RESOURCES_DIR}/PkgInfo ${RYZOM_CONTENTS_DIR})
- ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp ARGS -p ${MAC_RESOURCES_DIR}/ryzom.icns ${RYZOM_RESOURCES_DIR})
+ ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp ARGS -p ${MAC_RESOURCES_DIR}/khanat.icns ${RYZOM_RESOURCES_DIR})
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp ARGS -p ${CMAKE_SOURCE_DIR}/ryzom/client/client_default.cfg ${RYZOM_RESOURCES_DIR})
# remove any present installscript_osx.vdf before signing
diff --git a/code/ryzom/client/src/client.cpp b/code/ryzom/client/src/client.cpp
index eabb1511c..3b33613bf 100644
--- a/code/ryzom/client/src/client.cpp
+++ b/code/ryzom/client/src/client.cpp
@@ -203,7 +203,7 @@ int main(int argc, char **argv)
// if client_default.cfg is not in current directory, use application default directory
if (!CFile::isExists("client_default.cfg"))
{
- std::string currentPath = CPath::getApplicationDirectory("Ryzom");
+ std::string currentPath = CPath::getApplicationDirectory("Khanat");
// append config ID to directory
if (Args.haveArg("c"))
diff --git a/code/ryzom/client/src/client.rc b/code/ryzom/client/src/client.rc
index d4fa4d8c4..1bf537a1f 100644
--- a/code/ryzom/client/src/client.rc
+++ b/code/ryzom/client/src/client.rc
@@ -55,7 +55,7 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
-IDI_MAIN_ICON ICON DISCARDABLE "ryzom.ico"
+IDI_MAIN_ICON ICON DISCARDABLE "khanat.ico"
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
@@ -86,10 +86,10 @@ END
IDD_CRASH_INFORMATION DIALOG DISCARDABLE 0, 0, 186, 301
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
-CAPTION "Ryzom information"
+CAPTION "Khanat information"
FONT 8, "MS Sans Serif"
BEGIN
- LTEXT "Ryzom has detected that the last game session has not quit properly. You have experienced :",
+ LTEXT "Khanat has detected that the last game session has not quit properly. You have experienced :",
IDC_STATIC,7,7,172,27
PUSHBUTTON "A computer freeze.",FROZEN,7,38,172,29
PUSHBUTTON "A computer self reboot.",REBOOTED,7,70,172,29
@@ -182,14 +182,14 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "FileDescription", "Ryzom client"
+ VALUE "FileDescription", "Khanat client"
VALUE "FileVersion", RYZOM_VERSION
VALUE "LegalCopyright", COPYRIGHT
#if defined(FINAL_VERSION) && (FINAL_VERSION == 1)
#ifdef _DEBUG
- VALUE "OriginalFilename", "ryzom_client_d.exe"
+ VALUE "OriginalFilename", "khanat_client_d.exe"
#else
- VALUE "OriginalFilename", "ryzom_client_r.exe"
+ VALUE "OriginalFilename", "khanat_client_r.exe"
#endif
#else
#ifdef _DEBUG
diff --git a/code/ryzom/client/src/commands.cpp b/code/ryzom/client/src/commands.cpp
index f958869f5..512679758 100644
--- a/code/ryzom/client/src/commands.cpp
+++ b/code/ryzom/client/src/commands.cpp
@@ -5752,7 +5752,74 @@ NLMISC_COMMAND(em, "emote command", "")
return false;
}
+NLMISC_COMMAND(me, "emote command", "")
+{
+ if (args.size() < 1) return false;
+ CInterfaceManager *pIM = CInterfaceManager::getInstance();
+ if( pIM )
+ {
+ string emotePhrase;
+ if( args.size() > 0 )
+ {
+ emotePhrase = args[0];
+ }
+ for(uint i = 1; i < args.size(); ++i )
+ {
+ emotePhrase += " ";
+ emotePhrase += args[i];
+ }
+ CAHManager::getInstance()->runActionHandler("emote", NULL, "nb=0|behav=255|custom_phrase="+emotePhrase);
+ return true;
+ }
+ return false;
+}
+
+NLMISC_COMMAND(emote, "emote command", "")
+{
+ if (args.size() < 1) return false;
+
+ CInterfaceManager *pIM = CInterfaceManager::getInstance();
+ if( pIM )
+ {
+ string emotePhrase;
+ if( args.size() > 0 )
+ {
+ emotePhrase = args[0];
+ }
+ for(uint i = 1; i < args.size(); ++i )
+ {
+ emotePhrase += " ";
+ emotePhrase += args[i];
+ }
+ CAHManager::getInstance()->runActionHandler("emote", NULL, "nb=0|behav=255|custom_phrase="+emotePhrase);
+ return true;
+ }
+ return false;
+}
+
+NLMISC_COMMAND(m, "emote command", "")
+{
+ if (args.size() < 1) return false;
+
+ CInterfaceManager *pIM = CInterfaceManager::getInstance();
+ if( pIM )
+ {
+ string emotePhrase;
+ if( args.size() > 0 )
+ {
+ emotePhrase = args[0];
+ }
+ for(uint i = 1; i < args.size(); ++i )
+ {
+ emotePhrase += " ";
+ emotePhrase += args[i];
+ }
+ CAHManager::getInstance()->runActionHandler("emote", NULL, "nb=0|behav=255|custom_phrase="+emotePhrase);
+ return true;
+ }
+ return false;
+}
NLMISC_COMMAND(guildmotd, "Set or see the guild message of the day","")
@@ -5798,3 +5865,11 @@ NLMISC_COMMAND(time, "Shows information about the current time", "")
CInterfaceManager::getInstance()->displaySystemInfo(msg, "AROUND");
return true;
}
+
+NLMISC_COMMAND(easteregg_siela1915_khanat, "Miscellaneous", "")
+{
+ string stext = "Siela1915 blesses you...";
+ ucstring ucstext = ucstring(stext);
+ CInterfaceManager::getInstance()->displaySystemInfo(ucstext, "AROUND");
+ return true;
+}
diff --git a/code/ryzom/client/src/interface_v3/guild_manager.cpp b/code/ryzom/client/src/interface_v3/guild_manager.cpp
index a22c8dbc5..8d1257fd1 100644
--- a/code/ryzom/client/src/interface_v3/guild_manager.cpp
+++ b/code/ryzom/client/src/interface_v3/guild_manager.cpp
@@ -874,12 +874,15 @@ class CAHGuildSheetOpen : public IActionHandler
{
CRyzomTime rt;
rt.updateRyzomClock(rGuildMembers[i].EnterDate);
- ucstring str = toString("%04d", rt.getRyzomYear()) + " ";
- str += CI18N::get("uiJenaYear") + " : ";
- str += CI18N::get("uiAtysianCycle") + " ";
- str += toString("%01d", rt.getRyzomCycle()+1) +", ";
- str += CI18N::get("ui"+MONTH::toString( (MONTH::EMonth)rt.getRyzomMonthInCurrentCycle() )) + ", ";
- str += toString("%02d", rt.getRyzomDayOfMonth()+1);
+ ucstring str = toString("%03d", (sint)RT.getRyzomWeek()) + " ";
+ str += CI18N::get("ui"+WEEKDAY::toString( (WEEKDAY::EWeekDay)RT.getRyzomDayOfWeek() )) + " - ";
+ ucstring year = CI18N::get("uiYear");
+ if (year.length() == 0) {
+ str += toString("%04d", RT.getRyzomYear()) + " - ";
+ } else {
+ str += year + " - ";
+ }
+ str += CI18N::get("uiEon");
pViewEnterDate->setText(str);
}
diff --git a/code/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp b/code/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp
index 61fe71958..486ecdf01 100644
--- a/code/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp
+++ b/code/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp
@@ -221,12 +221,16 @@ static DECLARE_INTERFACE_USER_FCT(getDateText)
CRyzomTime rt;
string strRes;
- strRes= NLMISC::toString(rt.getRyzomDayOfMonth()+1); // Start at 1
+ strRes= NLMISC::toString((uint32)rt.getRyzomDayOfWeek()+1); // Start at 1
strRes+= " / ";
- strRes+= NLMISC::toString(rt.getRyzomMonth()+1); // Start at 1 for january
+ strRes+= NLMISC::toString(rt.getRyzomWeek()+1); // Start at 1 for january
strRes+= " / ";
- strRes+= NLMISC::toString(rt.getRyzomYear());
-
+ ucstring year = CI18N::get("uiYear");
+ if (year.length() == 0) {
+ strRes += toString("%04d", RT.getRyzomYear());
+ } else {
+ strRes += year.toUtf8();
+ }
result.setString (strRes);
return true;
}
diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp
index 08137e140..9b21fb14c 100644
--- a/code/ryzom/client/src/interface_v3/interface_manager.cpp
+++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp
@@ -1477,12 +1477,23 @@ void CInterfaceManager::updateFrameEvents()
// literal version
// str = CI18N::get("uiDate");
- str += toString("%02d", (sint)RT.getRyzomTime()) + CI18N::get("uiMissionTimerHour") + " - ";
+ /* str += toString("%02d", (sint)RT.getRyzomTime()) + CI18N::get("uiMissionTimerHour") + " - ";
str += CI18N::get("ui"+WEEKDAY::toString( (WEEKDAY::EWeekDay)RT.getRyzomDayOfWeek() )) + ", ";
str += CI18N::get("ui"+MONTH::toString( (MONTH::EMonth)RT.getRyzomMonthInCurrentCycle() )) + " ";
str += toString("%02d", RT.getRyzomDayOfMonth()+1) + ", ";
str += CI18N::get("uiAtysianCycle" + toString(RT.getRyzomCycle()+1) + "Ordinal") + " " + CI18N::get("uiAtysianCycle") + " ";
- str += toString("%04d", RT.getRyzomYear());
+ str += toString("%04d", RT.getRyzomYear());*/
+
+ str += toString("%02d", (sint)RT.getRyzomTime()) + CI18N::get("uiMissionTimerHour") + " - ";
+ str += toString("%d", (sint)RT.getRyzomWeek()) + " ";
+ str += CI18N::get("ui"+WEEKDAY::toString( (WEEKDAY::EWeekDay)RT.getRyzomDayOfWeek() )) + " - ";
+ ucstring year = CI18N::get("uiYear");
+ if (year.length() == 0) {
+ str += toString("%04d", RT.getRyzomYear()) + " - ";
+ } else {
+ str += year + " - ";
+ }
+ str += CI18N::get("uiEon");
pVT = dynamic_cast(CWidgetManager::getInstance()->getElementFromId("ui:interface:map:content:map_content:time"));
if (pVT != NULL)
diff --git a/code/ryzom/client/src/khanat.ico b/code/ryzom/client/src/khanat.ico
new file mode 100644
index 000000000..fbb20a5ad
Binary files /dev/null and b/code/ryzom/client/src/khanat.ico differ
diff --git a/code/ryzom/client/src/ryzom.ico b/code/ryzom/client/src/ryzom.ico
deleted file mode 100644
index f2c7e8424..000000000
Binary files a/code/ryzom/client/src/ryzom.ico and /dev/null differ
diff --git a/code/ryzom/client/src/ryzom_small.ico b/code/ryzom/client/src/ryzom_small.ico
deleted file mode 100644
index ae1ec5f44..000000000
Binary files a/code/ryzom/client/src/ryzom_small.ico and /dev/null differ
diff --git a/code/ryzom/client/src/splash_screen.bmp b/code/ryzom/client/src/splash_screen.bmp
index b2bee524d..f3836eaf0 100644
Binary files a/code/ryzom/client/src/splash_screen.bmp and b/code/ryzom/client/src/splash_screen.bmp differ
diff --git a/code/ryzom/client/src/user_agent.cpp b/code/ryzom/client/src/user_agent.cpp
index 7ba2b4e38..a57135dd8 100644
--- a/code/ryzom/client/src/user_agent.cpp
+++ b/code/ryzom/client/src/user_agent.cpp
@@ -44,7 +44,7 @@
#endif
#ifndef RYZOM_CLIENT_ICON
-#define RYZOM_CLIENT_ICON "ryzom_client"
+#define RYZOM_CLIENT_ICON "khanat_client"
#endif
std::string getUserAgent()
diff --git a/code/ryzom/client/unix/CMakeLists.txt b/code/ryzom/client/unix/CMakeLists.txt
index ee7179c07..2bcd7ab84 100644
--- a/code/ryzom/client/unix/CMakeLists.txt
+++ b/code/ryzom/client/unix/CMakeLists.txt
@@ -2,15 +2,15 @@ IF(WITH_UNIX_STRUCTURE)
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/ryzom_client.desktop.in" "${CMAKE_CURRENT_BINARY_DIR}/ryzom_client.desktop")
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/ryzom_client.desktop" DESTINATION share/applications)
- INSTALL(FILES ryzom_client.png DESTINATION share/pixmaps)
+ INSTALL(FILES khanat_client.png DESTINATION share/pixmaps)
INSTALL(FILES ryzom_client.xpm DESTINATION share/pixmaps)
- INSTALL(FILES ryzom_16x16.png DESTINATION share/icons/hicolor/16x16/apps RENAME ${RYZOM_CLIENT_ICON}.png)
- INSTALL(FILES ryzom_22x22.png DESTINATION share/icons/hicolor/22x22/apps RENAME ${RYZOM_CLIENT_ICON}.png)
- INSTALL(FILES ryzom_24x24.png DESTINATION share/icons/hicolor/24x24/apps RENAME ${RYZOM_CLIENT_ICON}.png)
- INSTALL(FILES ryzom_32x32.png DESTINATION share/icons/hicolor/32x32/apps RENAME ${RYZOM_CLIENT_ICON}.png)
- INSTALL(FILES ryzom_48x48.png DESTINATION share/icons/hicolor/48x48/apps RENAME ${RYZOM_CLIENT_ICON}.png)
- INSTALL(FILES ryzom_128x128.png DESTINATION share/icons/hicolor/128x128/apps RENAME ${RYZOM_CLIENT_ICON}.png)
+ INSTALL(FILES khanat_16x16.png DESTINATION share/icons/hicolor/16x16/apps RENAME ${RYZOM_CLIENT_ICON}.png)
+ INSTALL(FILES khanat_22x22.png DESTINATION share/icons/hicolor/22x22/apps RENAME ${RYZOM_CLIENT_ICON}.png)
+ INSTALL(FILES khanat_24x24.png DESTINATION share/icons/hicolor/24x24/apps RENAME ${RYZOM_CLIENT_ICON}.png)
+ INSTALL(FILES khanat_32x32.png DESTINATION share/icons/hicolor/32x32/apps RENAME ${RYZOM_CLIENT_ICON}.png)
+ INSTALL(FILES khanat_48x48.png DESTINATION share/icons/hicolor/48x48/apps RENAME ${RYZOM_CLIENT_ICON}.png)
+ INSTALL(FILES khanat_128x128.png DESTINATION share/icons/hicolor/128x128/apps RENAME ${RYZOM_CLIENT_ICON}.png)
ELSE()
# in case of local client, only copy 48x48 icon
- INSTALL(FILES ryzom_48x48.png DESTINATION ${RYZOM_ETC_PREFIX} RENAME ${RYZOM_CLIENT_ICON}.png)
+ INSTALL(FILES khanat_48x48.png DESTINATION ${RYZOM_ETC_PREFIX} RENAME ${RYZOM_CLIENT_ICON}.png)
ENDIF()
diff --git a/code/ryzom/client/unix/khanat_128x128.png b/code/ryzom/client/unix/khanat_128x128.png
new file mode 100644
index 000000000..b3a682194
Binary files /dev/null and b/code/ryzom/client/unix/khanat_128x128.png differ
diff --git a/code/ryzom/client/unix/khanat_16x16.png b/code/ryzom/client/unix/khanat_16x16.png
new file mode 100644
index 000000000..e20affb32
Binary files /dev/null and b/code/ryzom/client/unix/khanat_16x16.png differ
diff --git a/code/ryzom/client/unix/khanat_22x22.png b/code/ryzom/client/unix/khanat_22x22.png
new file mode 100644
index 000000000..b46b0dc3f
Binary files /dev/null and b/code/ryzom/client/unix/khanat_22x22.png differ
diff --git a/code/ryzom/client/unix/khanat_24x24.png b/code/ryzom/client/unix/khanat_24x24.png
new file mode 100644
index 000000000..5dba76dad
Binary files /dev/null and b/code/ryzom/client/unix/khanat_24x24.png differ
diff --git a/code/ryzom/client/unix/khanat_256x256.png b/code/ryzom/client/unix/khanat_256x256.png
new file mode 100644
index 000000000..97647d961
Binary files /dev/null and b/code/ryzom/client/unix/khanat_256x256.png differ
diff --git a/code/ryzom/client/unix/khanat_32x32.png b/code/ryzom/client/unix/khanat_32x32.png
new file mode 100644
index 000000000..42716b532
Binary files /dev/null and b/code/ryzom/client/unix/khanat_32x32.png differ
diff --git a/code/ryzom/client/unix/khanat_48x48.png b/code/ryzom/client/unix/khanat_48x48.png
new file mode 100644
index 000000000..19159e140
Binary files /dev/null and b/code/ryzom/client/unix/khanat_48x48.png differ
diff --git a/code/ryzom/client/unix/khanat_64x64.png b/code/ryzom/client/unix/khanat_64x64.png
new file mode 100644
index 000000000..67dec3e2d
Binary files /dev/null and b/code/ryzom/client/unix/khanat_64x64.png differ
diff --git a/code/ryzom/client/unix/khanat_client.png b/code/ryzom/client/unix/khanat_client.png
new file mode 100644
index 000000000..19159e140
Binary files /dev/null and b/code/ryzom/client/unix/khanat_client.png differ
diff --git a/code/ryzom/client/unix/khanat_logo_color.png b/code/ryzom/client/unix/khanat_logo_color.png
new file mode 100644
index 000000000..edb9b0e72
Binary files /dev/null and b/code/ryzom/client/unix/khanat_logo_color.png differ
diff --git a/code/ryzom/client/unix/ryzom_client.desktop.in b/code/ryzom/client/unix/ryzom_client.desktop.in
index b42aee5bf..e7bcceb14 100644
--- a/code/ryzom/client/unix/ryzom_client.desktop.in
+++ b/code/ryzom/client/unix/ryzom_client.desktop.in
@@ -1,11 +1,11 @@
[Desktop Entry]
-Version=1.0
-Name=Ryzom
+Version=0.1
+Name=Khanat
Name[ru]=Ризом
Type=Application
GenericName=Game client
-Comment=Ryzom client
-Comment[fr_FR]=Client Ryzom
+Comment=Khanat client
+Comment[fr_FR]=Client Khanat
TryExec=${RYZOM_GAMES_PREFIX}/ryzom_client
Exec=${RYZOM_GAMES_PREFIX}/ryzom_client
Icon=${RYZOM_CLIENT_ICON}
diff --git a/code/ryzom/common/src/game_share/time_weather_season/time_and_season.cpp b/code/ryzom/common/src/game_share/time_weather_season/time_and_season.cpp
index a24c8a9dd..fe06f069c 100644
--- a/code/ryzom/common/src/game_share/time_weather_season/time_and_season.cpp
+++ b/code/ryzom/common/src/game_share/time_weather_season/time_and_season.cpp
@@ -59,12 +59,10 @@ namespace MONTH
namespace WEEKDAY
{
NL_BEGIN_STRING_CONVERSION_TABLE (EWeekDay)
- NL_STRING_CONVERSION_TABLE_ENTRY(Prima)
- NL_STRING_CONVERSION_TABLE_ENTRY(Dua)
- NL_STRING_CONVERSION_TABLE_ENTRY(Tria)
- NL_STRING_CONVERSION_TABLE_ENTRY(Quarta)
- NL_STRING_CONVERSION_TABLE_ENTRY(Quinteth)
- NL_STRING_CONVERSION_TABLE_ENTRY(Holeth)
+ NL_STRING_CONVERSION_TABLE_ENTRY(Pavdei)
+ NL_STRING_CONVERSION_TABLE_ENTRY(Reldei)
+ NL_STRING_CONVERSION_TABLE_ENTRY(Cibdei)
+ NL_STRING_CONVERSION_TABLE_ENTRY(Vondei)
NL_STRING_CONVERSION_TABLE_ENTRY(UNKNOWN)
NL_END_STRING_CONVERSION_TABLE(EWeekDay, ConversionType, UNKNOWN)
diff --git a/code/ryzom/common/src/game_share/time_weather_season/time_and_season.h b/code/ryzom/common/src/game_share/time_weather_season/time_and_season.h
index bf08129e8..7534fd4a1 100644
--- a/code/ryzom/common/src/game_share/time_weather_season/time_and_season.h
+++ b/code/ryzom/common/src/game_share/time_weather_season/time_and_season.h
@@ -21,20 +21,18 @@
#include "nel/misc/types_nl.h"
-const uint RYZOM_HOURS_IN_TICKS = 1800;
+const uint RYZOM_HOURS_IN_TICKS = 9000;
const uint RYZOM_DAY_IN_HOUR = 24;
const uint RYZOM_DAY_IN_TICKS = RYZOM_HOURS_IN_TICKS * RYZOM_DAY_IN_HOUR;
const uint RYZOM_SEASON_IN_DAY = 90;
-const uint RYZOM_MONTH_IN_DAY = 30;
-const uint RYZOM_YEAR_IN_MONTH = 48;
-const uint RYZOM_WEEK_IN_DAY = 6;
-const uint RYZOM_YEAR_IN_DAY = RYZOM_MONTH_IN_DAY*RYZOM_YEAR_IN_MONTH;
-const uint RYZOM_CYCLE_IN_MONTH = 12;
+const uint RYZOM_YEAR_IN_WEEK = 120;
+const uint RYZOM_WEEK_IN_DAY = 4;
+const uint RYZOM_YEAR_IN_DAY = RYZOM_WEEK_IN_DAY*RYZOM_YEAR_IN_WEEK;
-const uint RYZOM_START_YEAR = 2570-2;
-const uint RYZOM_START_SPRING = 61;
-const uint RYZOM_START_DAY = 1111111;
-const uint RYZOM_START_HOUR = 9;
+const uint RYZOM_START_YEAR = 0;
+const uint RYZOM_START_SPRING = 0;
+const uint RYZOM_START_DAY = 0;
+const uint RYZOM_START_HOUR = 0;
#include "../season.h"
#include "static_light_cycle.h"
@@ -82,13 +80,11 @@ namespace WEEKDAY
// Week day
enum EWeekDay
{
- Prima = 0,
- Dua,
- Tria,
- Quarta,
- Quinteth,
- Holeth,
-
+ Pavdei = 0,
+ Reldei,
+ Cibdei,
+ Vondei,
+
UNKNOWN,
NUM_WEEKDAY = UNKNOWN
};
@@ -136,15 +132,14 @@ public:
_RyzomDay = 0;
_RyzomTime = 0;
_TickOffset = 0;
- _RyzomTime = 0;
}
// Update ryzom clock when tick occurs, local time must be given if localUpdateRyzomClock() and getLocalRyzomTime() is used
void updateRyzomClock( uint32 gameCyle, double localTime = 0 )
{
float time = ( gameCyle + _TickOffset ) / float(RYZOM_HOURS_IN_TICKS);
- _RyzomDay = (uint32) ( time / 24.0f ) - RYZOM_START_SPRING;
- _RyzomTime = (float) fmod( time, 24.0f );
+ _RyzomDay = (uint32) ( time / RYZOM_DAY_IN_HOUR ) - RYZOM_START_SPRING;
+ _RyzomTime = (float) fmod( time, RYZOM_DAY_IN_HOUR );
_LocalTime = localTime;
}
@@ -167,21 +162,9 @@ public:
// get Season
static inline ESeason getSeasonByDay(uint32 day) { return (ESeason) ( ( ( day % RYZOM_YEAR_IN_DAY ) / RYZOM_SEASON_IN_DAY ) % (EGSPD::CSeason::Invalid) ); }
- // get ryzom month
- inline uint getRyzomMonth() const { return ( _RyzomDay % RYZOM_YEAR_IN_DAY ) / RYZOM_MONTH_IN_DAY ; }
-
- // get ryzom month in cycle
- inline MONTH::EMonth getRyzomMonthInCurrentCycle() const { return (MONTH::EMonth) ( getRyzomMonth() % RYZOM_CYCLE_IN_MONTH ); }
-
- // get ryzom cycle
- inline uint32 getRyzomCycle() const { return getRyzomMonth() / RYZOM_CYCLE_IN_MONTH; }
-
// get ryzom day of week
inline WEEKDAY::EWeekDay getRyzomDayOfWeek() const { return (WEEKDAY::EWeekDay) ( _RyzomDay % RYZOM_WEEK_IN_DAY ); }
- // get ryzom day of month
- inline uint32 getRyzomDayOfMonth() const { return ( _RyzomDay % RYZOM_MONTH_IN_DAY ); }
-
// get ryzom day of season
inline uint32 getRyzomDayOfSeason() const { return ( _RyzomDay % RYZOM_SEASON_IN_DAY ); }
diff --git a/code/ryzom/server/src/ai_service/ai_place.cpp b/code/ryzom/server/src/ai_service/ai_place.cpp
index e000fc4d5..4db05d0c4 100644
--- a/code/ryzom/server/src/ai_service/ai_place.cpp
+++ b/code/ryzom/server/src/ai_service/ai_place.cpp
@@ -127,7 +127,6 @@ bool CFaunaGenericPlace::getActive() const
std::vector dayIntervals;
NLMISC::explode(_DayInterval, std::string(","), dayIntervals, true);
std::string season = EGSPD::CSeason::toString(rt.getRyzomSeason());
- std::string month = MONTH::toString((MONTH::EMonth) rt.getRyzomMonth());
std::string weekday = WEEKDAY::toString((WEEKDAY::EWeekDay) rt.getRyzomDay());
bool found = false;
for (uint k = 0; k < dayIntervals.size(); ++k)
@@ -147,15 +146,6 @@ bool CFaunaGenericPlace::getActive() const
{
goodToken = true;
}
- if (NLMISC::nlstricmp(dayIntervals[k], month) == 0)
- {
- found = true;
- break;
- }
- if (MONTH::toMonth(dayIntervals[k]) != MONTH::UNKNOWN)
- {
- goodToken = true;
- }
if (NLMISC::nlstricmp(dayIntervals[k], weekday) == 0)
{
found = true;
diff --git a/code/ryzom/server/src/ai_service/commands.cpp b/code/ryzom/server/src/ai_service/commands.cpp
index f44380cc3..c190b4351 100644
--- a/code/ryzom/server/src/ai_service/commands.cpp
+++ b/code/ryzom/server/src/ai_service/commands.cpp
@@ -3063,17 +3063,21 @@ static void displayTime(const CRyzomTime &rt, NLMISC::CLog &log)
std::string result;
result = NLMISC::toString("hh:mm = %d:%d; ", (int) floorf(rt.getRyzomTime()) , (int) floorf(60.f * fmodf(rt.getRyzomTime(), 1.f)));
log.displayNL(result.c_str());
- uint32 month = rt.getRyzomMonth();
- MONTH::EMonth monthInCycle = rt.getRyzomMonthInCurrentCycle();
- std::string monthName = MONTH::toString((MONTH::EMonth) monthInCycle);
- uint32 dayOfMonth = rt.getRyzomDayOfMonth();
- std::string dayName = WEEKDAY::toString((WEEKDAY::EWeekDay) rt.getRyzomDayOfWeek());
- result = NLMISC::toString("mm:dd:yy = %d:%d:%d (%s:%s)",
- (int) (month + 1),
- (int) (dayOfMonth + 1),
- (int) rt.getRyzomYear(),
- monthName.c_str(),
- dayName.c_str());
+ std::string week = toString("%03d", rt.getRyzomWeek());
+ std::string dayName = CI18N::get("ui"+WEEKDAY::toString((WEEKDAY::EWeekDay) rt.getRyzomDayOfWeek())).toUtf8();
+ std::string year;
+ std::string eon = CI18N::get("uiEon").toUtf8();
+ ucstring yearBool = CI18N::get("uiYear");
+ if (yearBool.length() == 0) {
+ year = toString("%04d", rt.getRyzomYear());
+ } else {
+ year = yearBool.toUtf8();
+ }
+ result = NLMISC::toString("week:day:year:eon = %s:%s:%s:%s",
+ week,
+ dayName,
+ year,
+ eon);
log.displayNL(result.c_str());
log.displayNL("day of year = %d/%d", (int) (rt.getRyzomDayOfYear() + 1), (int) RYZOM_YEAR_IN_DAY);
log.displayNL("season = %d/4 (%s)", (int) rt.getRyzomSeason() + 1, EGSPD::CSeason::toString(rt.getRyzomSeason()).c_str());
diff --git a/code/ryzom/server/src/ai_service/generic_logic_action.cpp b/code/ryzom/server/src/ai_service/generic_logic_action.cpp
index 0b0e254b7..8d56ac7d0 100644
--- a/code/ryzom/server/src/ai_service/generic_logic_action.cpp
+++ b/code/ryzom/server/src/ai_service/generic_logic_action.cpp
@@ -830,11 +830,11 @@ public:
break;
case tm_monthday:
{
- uint32 dom = CTimeInterface::getRyzomTime().getRyzomDayOfMonth();
+ /*uint32 dom = CTimeInterface::getRyzomTime().getRyzomDayOfMonth();
while (dom < _DayNumber)
dom += RYZOM_MONTH_IN_DAY;
- _Min = _Max = timeTicks + dom * RYZOM_DAY_IN_TICKS;
+ _Min = _Max = timeTicks + dom * RYZOM_DAY_IN_TICKS;*/
}
break;
case tm_seasonday:
diff --git a/code/ryzom/server/src/ai_service/nf_grp.cpp b/code/ryzom/server/src/ai_service/nf_grp.cpp
index fde5a557c..a14eca493 100644
--- a/code/ryzom/server/src/ai_service/nf_grp.cpp
+++ b/code/ryzom/server/src/ai_service/nf_grp.cpp
@@ -3364,17 +3364,21 @@ void getRyzomDateStr__s(CStateInstance* entity, CScriptStack& stack)
const CRyzomTime &rt = CTimeInterface::getRyzomTime();
result = NLMISC::toString("%d:%d:00", (int) floorf(rt.getRyzomTime()) , (int) floorf(60.f * fmodf(rt.getRyzomTime(), 1.f)));
- uint32 month = rt.getRyzomMonth();
- MONTH::EMonth monthInCycle = rt.getRyzomMonthInCurrentCycle();
- std::string monthName = MONTH::toString((MONTH::EMonth) monthInCycle);
- uint32 dayOfMonth = rt.getRyzomDayOfMonth();
- std::string dayName = WEEKDAY::toString((WEEKDAY::EWeekDay) rt.getRyzomDayOfWeek());
- result += NLMISC::toString(" / %s %d %s(%d) %d",
- dayName.c_str(),
- (int) (dayOfMonth + 1),
- monthName.c_str(),
- (int) (month + 1),
- (int) rt.getRyzomYear());
+ std::string week = toString("%03d", rt.getRyzomWeek());
+ std::string dayName = CI18N::get("ui"+WEEKDAY::toString((WEEKDAY::EWeekDay) rt.getRyzomDayOfWeek())).toUtf8();
+ std::string year;
+ std::string eon = CI18N::get("uiEon").toUtf8();
+ ucstring yearBool = CI18N::get("uiYear");
+ if (yearBool.length() == 0) {
+ year = toString("%04d", rt.getRyzomYear());
+ } else {
+ year = yearBool.toUtf8();
+ }
+ result += NLMISC::toString(" / %s %s - %s - %s",
+ week,
+ dayName,
+ year,
+ eon);
stack.push( result );
}
diff --git a/code/ryzom/tools/client/client_patcher/main.cpp b/code/ryzom/tools/client/client_patcher/main.cpp
index 004e3d861..486c1f04e 100644
--- a/code/ryzom/tools/client/client_patcher/main.cpp
+++ b/code/ryzom/tools/client/client_patcher/main.cpp
@@ -159,7 +159,7 @@ int main(int argc, char *argv[])
// if client.cfg is not in current directory, use client.cfg from user directory
if (!CFile::isExists(config))
- config = CPath::getApplicationDirectory("Ryzom") + config;
+ config = CPath::getApplicationDirectory("Khanat") + config;
// if client.cfg is not in current directory, use client_default.cfg
if (!CFile::isExists(config))