diff --git a/resource/common/locale/English.json b/resource/common/locale/English.json index e18dea0..4263028 100644 --- a/resource/common/locale/English.json +++ b/resource/common/locale/English.json @@ -1,127 +1,239 @@ { - "Animation": { - "AddAnimation": "Add animation", - "AddParticle": "Add particle", - "AnimationRemoved": "Animation removed", - "AnimationTab": "Animation##TABBAR", - "AnimName": "Anim name", - "CustomAnimsOnly": "You can only remove custom animations", - "CustomParticlesOnly": "You can only remove custom particles", - "CutsceneRunning": "Another cutscene is running", - "CutsceneTab": "Cutscene##TABBAR", - "FightingStyle": "Fighting style", - "FightingStyleSet": "Fighting style set", - "IFPName": "IFP name", - "InvisiblePlayer": "Invisible player", - "LoopCheckbox": "Loop", - "LoopCheckboxText": "Keep playing the animation on repeat", - "NoTarget": "No player target found. Aim a ped with a weapon to select it for animation player.", - "ParticleName": "Particle name", - "ParticleRemoved": "Particle removed", - "ParticleTab": "Particle##TABBAR", - "PedAnim": "Ped anim", - "PedAnimText": "Play animation on other peds.\nSelect with weapon target.", - "RemoveAll": "Remove all", - "RemoveLatest": "Remove latest", - "SecondaryCheckbox": "Secondary", - "SecondaryCheckboxText": "Player can move while playing the animation", - "StopAnimation": "Stop Animation", - "StopCutscene": "Stop cutscene", - "Styles": "Styles", - "WalkingStyle": "Walking style", - "WalkingStyleSet": "Walking style set" - }, - "Main": { - "TranslationLanguage": "English", - "TranslationLanguageDisclaimer": "Translated to English by Grinch_", - "TranslatorName": "Grinch_" - }, - "Menu": { - "About": "About", - "Author": "Author", - "BugDisclaimer": "If you find bugs or have suggestions, let me know on discord.", - "Build": "Build", - "CheckUpdate": "Check update", - "Commands": "Commands", - "Config": "Config", - "CopyrightDisclaimer": "Copyright Grinch_ 2019-2022. All rights reserved.", - "Credits": "Credits", - "DiscordServer": "Discord server", - "FixVehKey": "Fix current vehicle", - "FlipVehKey": "Flip current vehicle", - "FreecamKey": "Toggle freecam", - "GitHubRepo": "GitHub repo", - "GodModeKey": "Toggle god mode", - "Hotkeys": "Hotkeys", - "Language": "Language", - "LanguageChangeFailed": "Failed to change language!", - "Name": "Name", - "NoBG": "No background", - "OpenCMDKey": "Open/ close command window", - "OpenCMDUsing": "Open or close command window using %s", - "OpenMenuKey": "Open/ close cheat menu", - "Overlay": "Overlay", - "Position": "Position", - "QuickSSKey": "Quick screenshot", - "QuickTPKey": "Toogle quick teleport", - "QuickVehSpawnerCMD": "Quick vehicle spawner", - "QuickVehSpawnerCMDText": "Spawn vehicles by typing their model names.\nExample: veh (veh_name)", - "QuickWepSpawnerCMD": "Quick weapon spawner", - "QuickWepSpawnerCMDText": "Spawn weapons by typing their model names.\nExample: wep (wep_name)", - "ResetConfig": "Reset config", - "ResetConfigMSG": "Config has been reset. Restart the game for it to take effect.", - "ResetSize": "Reset sonfig", - "SetHealthCMD": "Set health", - "SetHealthCMDText": "Set player health.\nExample: hp (health).", - "SetTimeCMD": "Set time", - "SetTimeCMDText": "Set current game time.\nExample: time (hour) (minute).\n", - "SetTimeCMDText2": "Writing something like 'time 12' would be interpreted as 'time 12 12'", - "ShowCoords": "Show coordinates", - "ShowCPU": "Show CPU usage", - "ShowFPS": "Show FPS", - "ShowLocation": "Show location", - "ShowRAM": "Show RAM usage", - "ShowVehHealth": "Show veh health", - "ShowVehSpeed": "Show veh speed", - "SkinChangerKey": "Activate aim skin changer", - "TeleportCMD": "Teleport", - "TeleportCMDText": "Teleports player to specified coordinates.\nExample: tp x y z", - "TextColor": "Text color", - "Usage": "Usage", - "UsageText": "Left-click selects hotkey.\nLeft clicking outside deselects.\nRight click disables hotkey.", - "VehEngineKey": "Toggle vehicle engine", - "VehStartKey": "Vehicle instant start", - "VehStopKey": "Vehicle instant start", - "Version": "Version" - }, - "Teleport": { - "AddLocation": "Add location", - "Coordinates": "Coordinates", - "CustomLocationRemoveOnly": "You can only remove custom location", - "InsertCoord": "Insert coordinates", - "InvalidCoord": "Invalid coordinates", - "InvalidLocation": "Invalid location", - "Location": "Location", - "LocationHint": "Groove Street", - "LocationRemoved": "Location removed", - "QuickTeleport": "Quick teleport", - "QuickTeleportHint": "Teleport to the location of your radar\ntarget blip using ", - "TargetBlipText": "Target blip not found. You need to place it on the map first", - "TeleportCenter": "Teleport to center", - "TeleportMarker": "Teleport to marker", - "TeleportToCoord": "Teleport to coordinates" - }, - "Window": { - "AddNew": "Add new", - "AnimationPage": "Animation", - "GamePage": "Game", - "MenuPage": "Menu", - "PedPage": "Ped", - "PlayerPage": "Player", - "Search": "Search", - "TeleportPage": "Teleport", - "VehiclePage": "Vehicle", - "VisualPage": "Visual", - "WeaponPage": "Weapon" - } - } \ No newline at end of file + "Animation": { + "AddAnimation": "Add animation", + "AddParticle": "Add particle", + "AnimationRemoved": "Animation removed", + "AnimationTab": "Animation##TABBAR", + "AnimName": "Anim name", + "CustomAnimsOnly": "You can only remove custom animations", + "CustomParticlesOnly": "You can only remove custom particles", + "CutsceneRunning": "Another cutscene is running", + "CutsceneTab": "Cutscene##TABBAR", + "FightingStyle": "Fighting style", + "FightingStyleSet": "Fighting style set", + "IFPName": "IFP name", + "InvisiblePlayer": "Invisible player", + "LoopCheckbox": "Loop", + "LoopCheckboxText": "Keep playing the animation on repeat", + "NoTarget": "No player target found. Aim a ped with a weapon to select it for animation player.", + "ParticleName": "Particle name", + "ParticleRemoved": "Particle removed", + "ParticleTab": "Particle##TABBAR", + "PedAnim": "Ped anim", + "PedAnimText": "Play animation on other peds.\nSelect with weapon target.", + "RemoveAll": "Remove all", + "RemoveLatest": "Remove latest", + "SecondaryCheckbox": "Secondary", + "SecondaryCheckboxText": "Player can move while playing the animation", + "StopAnimation": "Stop Animation", + "StopCutscene": "Stop cutscene", + "Styles": "Styles", + "WalkingStyle": "Walking style", + "WalkingStyleSet": "Walking style set" + }, + "Main": { + "TranslationLanguage": "English", + "TranslationLanguageDisclaimer": "Translated to English by Grinch_", + "TranslatorName": "Grinch_" + }, + "Menu": { + "About": "About", + "Author": "Author", + "BugDisclaimer": "If you find bugs or have suggestions, let me know on discord.", + "Build": "Build", + "CheckUpdate": "Check update", + "Commands": "Commands", + "Config": "Config", + "CopyrightDisclaimer": "Copyright Grinch_ 2019-2022. All rights reserved.", + "Credits": "Credits", + "DiscordServer": "Discord server", + "FixVehKey": "Fix current vehicle", + "FlipVehKey": "Flip current vehicle", + "FreecamKey": "Toggle freecam", + "GitHubRepo": "GitHub repo", + "GodModeKey": "Toggle god mode", + "Hotkeys": "Hotkeys", + "Language": "Language", + "LanguageChangeFailed": "Failed to change language!", + "Name": "Name", + "NoBG": "No background", + "OpenCMDKey": "Open/ close command window", + "OpenCMDUsing": "Open or close command window using %s", + "OpenMenuKey": "Open/ close cheat menu", + "Overlay": "Overlay", + "Position": "Position", + "QuickSSKey": "Quick screenshot", + "QuickTPKey": "Toogle quick teleport", + "QuickVehSpawnerCMD": "Quick vehicle spawner", + "QuickVehSpawnerCMDText": "Spawn vehicles by typing their model names.\nExample: veh (veh_name)", + "QuickWepSpawnerCMD": "Quick weapon spawner", + "QuickWepSpawnerCMDText": "Spawn weapons by typing their model names.\nExample: wep (wep_name)", + "ResetConfig": "Reset config", + "ResetConfigMSG": "Config has been reset. Restart the game for it to take effect.", + "ResetSize": "Reset sonfig", + "SetHealthCMD": "Set health", + "SetHealthCMDText": "Set player health.\nExample: hp (health).", + "SetTimeCMD": "Set time", + "SetTimeCMDText": "Set current game time.\nExample: time (hour) (minute).\n", + "SetTimeCMDText2": "Writing something like 'time 12' would be interpreted as 'time 12 12'", + "ShowCoords": "Show coordinates", + "ShowCPU": "Show CPU usage", + "ShowFPS": "Show FPS", + "ShowLocation": "Show location", + "ShowRAM": "Show RAM usage", + "ShowVehHealth": "Show veh health", + "ShowVehSpeed": "Show veh speed", + "SkinChangerKey": "Activate aim skin changer", + "TeleportCMD": "Teleport", + "TeleportCMDText": "Teleports player to specified coordinates.\nExample: tp x y z", + "TextColor": "Text color", + "Usage": "Usage", + "UsageText": "Left-click selects hotkey.\nLeft clicking outside deselects.\nRight click disables hotkey.", + "VehEngineKey": "Toggle vehicle engine", + "VehStartKey": "Vehicle instant start", + "VehStopKey": "Vehicle instant start", + "Version": "Version" + }, + "Teleport": { + "AddLocation": "Add location", + "Coordinates": "Coordinates", + "CustomLocationRemoveOnly": "You can only remove custom location", + "InsertCoord": "Insert coordinates", + "InvalidCoord": "Invalid coordinates", + "InvalidLocation": "Invalid location", + "Location": "Location", + "LocationHint": "Groove Street", + "LocationRemoved": "Location removed", + "QuickTeleport": "Quick teleport", + "QuickTeleportHint": "Teleport to the location of your radar\ntarget blip using ", + "TargetBlipText": "Target blip not found. You need to place it on the map first", + "TeleportCenter": "Teleport to center", + "TeleportMarker": "Teleport to marker", + "TeleportToCoord": "Teleport to coordinates" + }, + "Visual": { + "Ambient": "Ambient", + "AmbientBl": "Ambient bl", + "AmbientObj": "Ambient object", + "AmbientObjBl": "Ambient object bl", + "ArmourbarColor": "Armour bar color", + "ArmourbarPosX": "Armour bar X", + "ArmourbarPosY": "Armour bar Y", + "ArmourBorder": "Armour border", + "ArmourPercentage": "Armour percentage", + "Blur": "Blur", + "BoldBorder": "Bold border", + "BreathbarColor": "Breath bar color", + "BreathbarPosX": "Breath bar X", + "BreathbarPosY": "Breath bar Y", + "BreathBorder": "Breath border", + "BreathPercentage": "Breath percentage", + "ClockColor": "Clock color", + "ClockPosX": "Clock X", + "ClockPosY": "Clock Y", + "CloudAlpha": "Cloud alpha", + "CloudsBottom": "Clouds bottom", + "CloudsLow": "Clouds low", + "CloudsTop": "Clouds top", + "ColorsTab": "Colors", + "CurrentWeather": "Current weather", + "DefaultBorder": "Default border", + "DefaultOutline": "Default outline", + "DefaultStyle": "Default Style", + "DirectionalLight": "Directional light", + "DirectionalMult": "Directional mult", + "DisableHydrant": "Disable hydrant splash", + "DrawMenuTitle": "Draw menu title border color", + "FarClip": "Far clip", + "FileGenerated": "File generated", + "FluffyClouds": "Fluffy clouds", + "FogStart": "Fog start", + "FreezeGameTime": "Freeze game time", + "GenerateFile": "Generate timecyc file", + "GrayRadar": "Gray radar", + "GreenScanlines": "Green scanlines", + "HealthbarColor": "Health bar color", + "HealthbarPosX": "Health bar X", + "HealthbarPosY": "Health bar Y", + "HealthBorder": "Health border", + "HealthPercentage": "Health percentage", + "HideAreaNames": "Hide area names", + "HideHud": "Hide HUD", + "HideRadar": "Hide radar", + "HideVehNames ": "Hide vehicle names", + "HideWantedLevel": "Hide wanted level", + "Hour": "Hour", + "IncompatibleMods": "Incompatible mods", + "IncompatibleModsText": "1. vHud\n2. GTA 5 Hud\n3. MobileHud\n\nAnd others that change HUD drastically", + "InvisibleWater": "Invisible water", + "LightBrightness": "Light on ground brightness", + "LightIntensity": "High light min intensity", + "LightShadowStrength": "Light shadow strength", + "LockWeather": "Lock weather", + "Minute": "Minute", + "MoneyColor": "Money color", + "MoneyFontOutline": "Money font outline", + "MoneyFontStyle": "Money font style", + "MoneyPosX": "Money X", + "MoneyPosY": "Money Y", + "NextWeather": "Next weather", + "NoBorder": "No border", + "NoOutline": "No outline", + "NoWater": "No water", + "PoleShadowStrength": "Pole shadow strength", + "PostFX1": "PostFX 1", + "PostFX2": "PostFX 2", + "RadarHeight": "Radar height", + "RadarPosX": "Radar posX", + "RadarPosY": "Radar posY", + "RadarWidth": "Radar width", + "RadarZoom": "Radar zoom", + "RadioStationColor": "Radio station color", + "ResetTimecyc": "Reset timecyc", + "ShadowStrength": "Shadow strength", + "ShowHud": "Show HUD", + "ShowRadar": "Show radar", + "SkyBottom": "Sky bottom", + "SkyTop": "Sky top", + "SpriteBrightness": "Sprite brightness", + "SpriteSize": "Sprite size", + "Style1": "Style 1", + "Style2": "Style 2", + "SunCore": "Sun core", + "SunCorona": "Sun corona", + "SunSize": "Sun size", + "SyncTimeEnabled": "Sync system time is enabled.\n(Game/Sync system time)", + "ThinOutline": "Thin outline", + "Timecyc24hTab": "Timecyc 24h", + "TimecycReset": "Timecyc reset", + "TimecycTab": "Timecyc", + "TreeShadowStrength": "Tree shadow strength", + "UnfogMap": "Unfog map", + "UnfogMapText": "Removes fog from Main Menu Map", + "WantedAmmoPosX": "Wanted ammo posX", + "WantedAmmoPosY": "Wanted ammo posY", + "WantedPosX": "Wanted posX", + "WantedPosY": "Wanted posY", + "WantedStarBorder": "Wanted star border", + "Water": "Water", + "WaterFogAlpha": "Water fog alpha", + "WeaponIconPosX": "Weapon icon posX", + "WeaponIconPosY": "Weapon icon posY", + "WhiteScanlines": "White scanlines" + }, + "Window": { + "AddNew": "Add new", + "AnimationPage": "Animation", + "CheckboxTab": "Checkboxes", + "GamePage": "Game", + "MenuPage": "Menu", + "MenusTab": "Menus", + "PedPage": "Ped", + "PlayerPage": "Player", + "Search": "Search", + "TeleportPage": "Teleport", + "VehiclePage": "Vehicle", + "VisualPage": "Visual", + "WeaponPage": "Weapon" + } +} \ No newline at end of file diff --git a/src/visual.cpp b/src/visual.cpp index 79d19ef..32e065f 100644 --- a/src/visual.cpp +++ b/src/visual.cpp @@ -350,17 +350,17 @@ void Visual::ShowPage() { if (ImGui::BeginTabBar("Visual", ImGuiTabBarFlags_NoTooltip + ImGuiTabBarFlags_FittingPolicyScroll)) { - if (ImGui::BeginTabItem("Checkboxes")) + if (ImGui::BeginTabItem(TEXT("Window.CheckboxTab"))) { ImGui::Spacing(); ImGui::Columns(2, nullptr, false); #ifdef GTASA - Ui::CheckboxAddress("Armour border", 0x589123); - Ui::CheckboxAddress("Armour percentage", 0x589125); - Ui::CheckboxAddress("Breath border", 0x589207); - Ui::CheckboxAddress("Breath percentage", 0x589209); - if (Ui::CheckboxWithHint("Disable hydrant splash", &m_bDisableHydrant)) + Ui::CheckboxAddress(TEXT("Visual.ArmourBorder"), 0x589123); + Ui::CheckboxAddress(TEXT("Visual.ArmourPercentage"), 0x589125); + Ui::CheckboxAddress(TEXT("Visual.BreathBorder"), 0x589207); + Ui::CheckboxAddress(TEXT("Visual.BreathPercentage"), 0x589209); + if (Ui::CheckboxWithHint(TEXT("Visual.DisableHydrant"), &m_bDisableHydrant)) { if (m_bDisableHydrant) { @@ -372,24 +372,24 @@ void Visual::ShowPage() plugin::patch::SetRaw(0x4A0D70, (char*)"\xE9\x94\x3F\xF6\xFF", 5); } } - Ui::CheckboxAddress("Gray radar", 0xA444A4); - Ui::CheckboxAddress("Health border", 0x589353); - Ui::CheckboxAddress("Health percentage", 0x589355); - if (Ui::CheckboxWithHint("Hide area names", &CHud::bScriptDontDisplayAreaName)) + Ui::CheckboxAddress(TEXT("Visual.GrayRadar"), 0xA444A4); + Ui::CheckboxAddress(TEXT("Visual.HealthBorder"), 0x589353); + Ui::CheckboxAddress(TEXT("Visual.HealthPercentage"), 0x589355); + if (Ui::CheckboxWithHint(TEXT("Visual.HideAreaNames"), &CHud::bScriptDontDisplayAreaName)) { Command(!CHud::bScriptDontDisplayAreaName); } ImGui::NextColumn(); - if (Ui::CheckboxWithHint("Hide veh names", &CHud::bScriptDontDisplayVehicleName)) + if (Ui::CheckboxWithHint(TEXT("Visual.HideVehNames"), &CHud::bScriptDontDisplayVehicleName)) { Command(!CHud::bScriptDontDisplayVehicleName); } - Ui::CheckboxAddressEx("Hide wanted level", 0x58DD1B, 0x90, 1); + Ui::CheckboxAddressEx(TEXT("Visual.HideWantedLevel"), 0x58DD1B, 0x90, 1); - if (Ui::CheckboxWithHint("Invisible water", &m_bInvisibleWater)) + if (Ui::CheckboxWithHint(TEXT("Visual.InvisibleWater"), &m_bInvisibleWater)) { if (!m_bNoWater) { @@ -407,8 +407,8 @@ void Visual::ShowPage() } } } - Ui::CheckboxWithHint("Lock weather", &m_bLockWeather); - if (Ui::CheckboxWithHint("No water", &m_bNoWater)) + Ui::CheckboxWithHint(TEXT("Visual.LockWeather"), &m_bLockWeather); + if (Ui::CheckboxWithHint(TEXT("Visual.NoWater"), &m_bNoWater)) { if (m_bNoWater) { @@ -431,25 +431,25 @@ void Visual::ShowPage() } bool radar_state = (patch::Get(0xBA676C) != 2); - if (Ui::CheckboxWithHint("Show radar", &radar_state)) + if (Ui::CheckboxWithHint(TEXT("Visual.ShowRadar"), &radar_state)) { patch::Set(0xBA676C, radar_state == true ? 0 : 2); } - Ui::CheckboxAddress("Show hud", 0xBA6769); - Ui::CheckboxAddressEx("Unfog map", 0xBA372C, 0x50, 0x0, "Removes fog from Main Menu Map"); + Ui::CheckboxAddress(TEXT("Visual.ShowHud"), 0xBA6769); + Ui::CheckboxAddressEx(TEXT("Visual.UnfogMap"), 0xBA372C, 0x50, 0x0, TEXT("Visual.UnforMapText")); #elif GTAVC - Ui::CheckboxAddress("Hide radar", 0xA10AB6); - Ui::CheckboxWithHint("Lock weather", &m_bLockWeather); - Ui::CheckboxAddress("Show hud", 0x86963A); + Ui::CheckboxAddress(TEXT("Visual.HideRadar"), 0xA10AB6); + Ui::CheckboxWithHint(TEXT("Visual.Lockweather"), &m_bLockWeather); + Ui::CheckboxAddress(TEXT("Visual.ShowHud"), 0x86963A); ImGui::NextColumn(); - Ui::CheckboxAddress("Green scanlines", 0xA10B69); - Ui::CheckboxAddress("White scanlines", 0xA10B68); + Ui::CheckboxAddress(TEXT("Visual.GreenScanlines"), 0xA10B69); + Ui::CheckboxAddress(TEXT("Visual.WhiteScanlines"), 0xA10B68); #else static bool hideHud, hideRadar; - if (Ui::CheckboxWithHint("Hide hud", &hideHud)) + if (Ui::CheckboxWithHint(TEXT("Visual.HideHud"), &hideHud)) { if (hideHud) { @@ -460,7 +460,7 @@ void Visual::ShowPage() patch::SetRaw(0x48E420, (char*)"\xE8\x7B\x6E\x07\x00", 5); } } - if (Ui::CheckboxWithHint("Hide radar", &hideRadar)) + if (Ui::CheckboxWithHint(TEXT("Visual.HideRadar"), &hideRadar)) { if (hideHud) { @@ -471,12 +471,12 @@ void Visual::ShowPage() patch::SetRaw(0x50838D, (char*)"\xE8\x6E\xBE\xF9\xFF", 5); } } - Ui::CheckboxWithHint("Lock weather", &m_bLockWeather); + Ui::CheckboxWithHint(TEXT("Visual.LockWeather"), &m_bLockWeather); #endif ImGui::Columns(1); ImGui::EndTabItem(); } - if (ImGui::BeginTabItem("Menus")) + if (ImGui::BeginTabItem(TEXT("Window.MenusTab"))) { #ifdef GTASA static bool init_patches = false; @@ -551,50 +551,56 @@ void Visual::ShowPage() #ifdef GTASA ImGui::Spacing(); ImGui::SameLine(); - ImGui::TextWrapped("Incompatible mods"); - Ui::ShowTooltip("1. vHud\n2. GTA 5 Hud\n3. MobileHud\n\nAnd others that change HUD drastically"); + ImGui::TextWrapped(TEXT("Visual.IncompatibleMods")); + Ui::ShowTooltip(TEXT("Visual.IncompatibleModsText")); ImGui::Spacing(); - Ui::ColorPickerAddress("Armourbar color", *(int*)0x5890FC, ImVec4(225, 225, 225, 255)); - Ui::EditAddress("Armourbar posX", 0x866B78, -999, 94, 999); - Ui::EditAddress("Armourbar posY", 0x862D38, -999, 48, 999); - Ui::ColorPickerAddress("Breathbar color", *(int*)0x5891EB, ImVec4(172, 203, 241, 255)); - Ui::EditAddress("Breathbar posX", *(int*)0x58F11F, -999, 94, 999); - Ui::EditAddress("Breathbar posY", *(int*)0x58F100, -999, 62, 999); - Ui::ColorPickerAddress("Clock color", *(int*)0x58EBD1, ImVec4(255, 255, 255, 255)); - Ui::EditAddress("Clock posX", *(int*)0x58EC16, -999, 32, 999); - Ui::EditAddress("Clock posY", *(int*)0x58EC04, -999, 22, 999); - Ui::ColorPickerAddress("Healthbar color", *(int*)0x589331, ImVec4(180, 25, 29, 255)); - Ui::EditAddress("Healthbar posX", 0x86535C, -999, 141, 999); - Ui::EditAddress("Healthbar posY", 0x866CA8, -999, 77, 999); - Ui::ColorPickerAddress("Draw menu title border color", 0xBAB240, ImVec4(0, 0, 0, 255)); - Ui::ColorPickerAddress("Money color", 0xBAB230, ImVec4(54, 104, 44, 255)); - Ui::EditAddress("Money posX", *(int*)0x58F5FC, -999, 32, 999); - Ui::EditAddress("Money posY", 0x866C88, -999, 89, 999); + Ui::ColorPickerAddress(TEXT("Visual.ArmourbarColor"), *(int*)0x5890FC, ImVec4(225, 225, 225, 255)); + Ui::EditAddress(TEXT("Visual.ArmourbarPosX"), 0x866B78, -999, 94, 999); + Ui::EditAddress(TEXT("Visual.ArmourbarPosY"), 0x862D38, -999, 48, 999); + Ui::ColorPickerAddress(TEXT("Visual.BreathbarColor"), *(int*)0x5891EB, ImVec4(172, 203, 241, 255)); + Ui::EditAddress(TEXT("Visual.BreathbarPosX"), *(int*)0x58F11F, -999, 94, 999); + Ui::EditAddress(TEXT("Visual.BreathbarPosY"), *(int*)0x58F100, -999, 62, 999); + Ui::ColorPickerAddress(TEXT("Visual.ClockColor"), *(int*)0x58EBD1, ImVec4(255, 255, 255, 255)); + Ui::EditAddress(TEXT("Visual.ClockPosX"), *(int*)0x58EC16, -999, 32, 999); + Ui::EditAddress(TEXT("Visual.ClockPosY"), *(int*)0x58EC04, -999, 22, 999); + Ui::ColorPickerAddress(TEXT("Visual.HealthbarColor"), *(int*)0x589331, ImVec4(180, 25, 29, 255)); + Ui::EditAddress(TEXT("Visual.HealthbarPosX"), 0x86535C, -999, 141, 999); + Ui::EditAddress(TEXT("Visual.HealthbarPosY"), 0x866CA8, -999, 77, 999); + Ui::ColorPickerAddress(TEXT("Visual.DrawMenuTitle"), 0xBAB240, ImVec4(0, 0, 0, 255)); + Ui::ColorPickerAddress(TEXT("Visual.MoneyColor"), 0xBAB230, ImVec4(54, 104, 44, 255)); + Ui::EditAddress(TEXT("Visual.MoneyPosX"), *(int*)0x58F5FC, -999, 32, 999); + Ui::EditAddress(TEXT("Visual.MoneyPosY"), 0x866C88, -999, 89, 999); static std::vector font_outline { - {"No outline", 0}, {"Thin outline", 1}, {"Default outline", 2} + {TEXT("Visual.NoOutline"), 0}, {TEXT("Visual.ThinOutline"), 1}, {TEXT("Visual.DefaultOutline"), 2} }; - Ui::EditRadioButtonAddressEx("Money font outline", 0x58F58D, font_outline); - static std::vector style{ {"Style 1", 1}, {"Style 2", 2}, {"Default style", 3} }; - Ui::EditRadioButtonAddressEx("Money font style", 0x58F57F, style); - Ui::EditAddress("Radar Height", *(int*)0x5834F6, 0, 76, 999); - Ui::EditAddress("Radar Width", *(int*)0x5834C2, 0, 94, 999); - Ui::EditAddress("Radar posX", *(int*)0x5834D4, -999, 40, 999); - Ui::EditAddress("Radar posY", *(int*)0x583500, -999, 104, 999); - Ui::EditAddress("Radar zoom", 0xA444A3, 0, 0, 170); - Ui::ColorPickerAddress("Radio station color", 0xBAB24C, ImVec4(150, 150, 150, 255)); - static std::vector star_border{ {"No border", 0}, {"Default", 1}, {"Bold border", 2} }; - Ui::EditRadioButtonAddressEx("Wanted star border", 0x58DD41, star_border); - Ui::EditAddress("Wanted posX", *(int*)0x58DD0F, -999, 29, 999); - Ui::EditAddress("Wanted posY", *(int*)0x58DDFC, -999, 114, 999); - Ui::EditAddress("Weapon ammo posX", *(int*)0x58FA02, -999, 32, 999); - Ui::EditAddress("Weapon ammo posY", *(int*)0x58F9E6, -999, 43, 999); - Ui::EditAddress("Weapon icon posX", *(int*)0x58F927, -999, 32, 999); - Ui::EditAddress("Weapon icon posY", *(int*)0x58F913, -999, 20, 999); + Ui::EditRadioButtonAddressEx(TEXT("MoneyFontOutline"), 0x58F58D, font_outline); + static std::vector style + { + {TEXT("Style1"), 1}, {TEXT("Style2"), 2}, {TEXT("DefaultStyle"), 3} + }; + Ui::EditRadioButtonAddressEx(TEXT("MoneyFontStyle"), 0x58F57F, style); + Ui::EditAddress(TEXT("RadarHeight"), *(int*)0x5834F6, 0, 76, 999); + Ui::EditAddress(TEXT("RadarWidth"), *(int*)0x5834C2, 0, 94, 999); + Ui::EditAddress(TEXT("RadarPosX"), *(int*)0x5834D4, -999, 40, 999); + Ui::EditAddress(TEXT("RadarPosY"), *(int*)0x583500, -999, 104, 999); + Ui::EditAddress(TEXT("RadarZoom"), 0xA444A3, 0, 0, 170); + Ui::ColorPickerAddress(TEXT("RadioStationColor"), 0xBAB24C, ImVec4(150, 150, 150, 255)); + static std::vector star_border + { + {TEXT("NoBorder"), 0}, {TEXT("DefaultBorder"), 1}, {TEXT("BoldBorder"), 2} + }; + Ui::EditRadioButtonAddressEx(TEXT("WantedStarBorder"), 0x58DD41, star_border); + Ui::EditAddress(TEXT("WantedPosX"), *(int*)0x58DD0F, -999, 29, 999); + Ui::EditAddress(TEXT("WantedPosY"), *(int*)0x58DDFC, -999, 114, 999); + Ui::EditAddress(TEXT("WeaponAmmoPosX"), *(int*)0x58FA02, -999, 32, 999); + Ui::EditAddress(TEXT("WeaponAmmoPosY"), *(int*)0x58F9E6, -999, 43, 999); + Ui::EditAddress(TEXT("WeaponIconPosX"), *(int*)0x58F927, -999, 32, 999); + Ui::EditAddress(TEXT("WeaponIconPosY"), *(int*)0x58F913, -999, 20, 999); #elif GTAVC - Ui::EditAddress("Radar posX", 0x68FD2C, -999, 40, 999); - Ui::EditAddress("Radar posY", 0x68FD34, -999, 104, 999); - Ui::EditAddress("Radar width", 0x68FD28, -999, 20, 999); + Ui::EditAddress(TEXT("RadarPosX"), 0x68FD2C, -999, 40, 999); + Ui::EditAddress(TEXT("RadarPosY"), 0x68FD34, -999, 104, 999); + Ui::EditAddress(TEXT("RadarWidth"), 0x68FD28, -999, 20, 999); #endif ImGui::EndChild(); @@ -604,33 +610,33 @@ void Visual::ShowPage() } #ifdef GTASA - if (m_nTimecycHour == 8 ? ImGui::BeginTabItem("Timecyc") : ImGui::BeginTabItem("Timecyc 24h")) + if (m_nTimecycHour == 8 ? ImGui::BeginTabItem(TEXT("Visual.TimecycTab")) : ImGui::BeginTabItem(TEXT("Visual.Timecyc24hTab"))) #else - if (ImGui::BeginTabItem("Timecyc")) + if (ImGui::BeginTabItem(TEXT("Visual.TimecycTab"))) #endif { ImGui::Spacing(); - if (ImGui::Button("Generate timecyc file", Ui::GetSize(2))) + if (ImGui::Button(TEXT("Visual.GenerateFile"), Ui::GetSize(2))) { GenerateTimecycFile(); - SetHelpMessage("File generated", false, false, false); + SetHelpMessage(TEXT("Visual.FileGenerated")); } ImGui::SameLine(); - if (ImGui::Button("Reset timecyc", Ui::GetSize(2))) + if (ImGui::Button(TEXT("Visual.ResetTimecyc"), Ui::GetSize(2))) { CTimeCycle::Initialise(); - SetHelpMessage("Timecyc reset", false, false, false); + SetHelpMessage(TEXT("Visual.TimecycReset"), false, false, false); } ImGui::Spacing(); int weather = CWeather::OldWeatherType; - if (Ui::ListBox("Current weather", m_WeatherNames, weather)) + if (Ui::ListBox(TEXT("Visual.CurrentWeather"), m_WeatherNames, weather)) { CWeather::OldWeatherType = weather; } weather = CWeather::NewWeatherType; - if (Ui::ListBox("Next weather", m_WeatherNames, weather)) + if (Ui::ListBox(TEXT("Visual.NextWeather"), m_WeatherNames, weather)) { CWeather::NewWeatherType = weather; } @@ -644,14 +650,14 @@ void Visual::ShowPage() ImGui::BeginDisabled(Game::m_bSyncTime); } - if (ImGui::InputInt("Hour", &hour) & !Game::m_bSyncTime) + if (ImGui::InputInt(TEXT("Visual.Hour"), &hour) & !Game::m_bSyncTime) { if (hour < 0) hour = 23; if (hour > 23) hour = 0; CClock::ms_nGameClockHours = hour; } - if (ImGui::InputInt("Minute", &minute) & !Game::m_bSyncTime) + if (ImGui::InputInt(TEXT("Visual.Minute"), &minute) & !Game::m_bSyncTime) { if (minute < 0) minute = 59; if (minute > 59) minute = 0; @@ -661,10 +667,10 @@ void Visual::ShowPage() if (Game::m_bSyncTime) { ImGui::EndDisabled(); - Ui::ShowTooltip("Sync system time is enabled.\n(Game/Sync system time)"); + Ui::ShowTooltip(TEXT("Visual.SyncTimeEnabled")); } - if (ImGui::Checkbox("Freeze game time", &Game::m_bFreezeTime)) + if (ImGui::Checkbox(TEXT("Visual.FreezeGameTime"), &Game::m_bFreezeTime)) { if (Game::m_bFreezeTime) { @@ -679,47 +685,47 @@ void Visual::ShowPage() ImGui::Spacing(); if (ImGui::BeginTabBar("Timecyc subtab", ImGuiTabBarFlags_NoTooltip + ImGuiTabBarFlags_FittingPolicyScroll)) { - if (ImGui::BeginTabItem("Colors")) + if (ImGui::BeginTabItem(TEXT("Visual.ColorsTab"))) { ImGui::BeginChild("TimecycColors"); ImGui::Spacing(); - TimeCycColorEdit3("Ambient", m_nAmbientRed, m_nAmbientGreen, m_nAmbientBlue); + TimeCycColorEdit3(TEXT("Visual.Ambient"), m_nAmbientRed, m_nAmbientGreen, m_nAmbientBlue); #ifndef GTA3 - TimeCycColorEdit3("Ambient obj", m_nAmbientRed_Obj, m_nAmbientGreen_Obj, m_nAmbientBlue_Obj); + TimeCycColorEdit3(TEXT("Visual.AmbientObj"), m_nAmbientRed_Obj, m_nAmbientGreen_Obj, m_nAmbientBlue_Obj); #endif #ifdef GTASA - TimeCycColorEdit3("Fluffy clouds", m_nFluffyCloudsBottomRed, m_nFluffyCloudsBottomGreen, + TimeCycColorEdit3(TEXT("Visual.FluffyClouds"), m_nFluffyCloudsBottomRed, m_nFluffyCloudsBottomGreen, m_nFluffyCloudsBottomBlue); #elif GTAVC - TimeCycColorEdit3("Ambient bl", m_nAmbientBlRed, m_nAmbientBlGreen, m_nAmbientBlBlue); - TimeCycColorEdit3("Ambient obj bl", m_nAmbientBlRed_Obj, m_nAmbientBlGreen_Obj, + TimeCycColorEdit3(TEXT("Visual.AmbientBl"), m_nAmbientBlRed, m_nAmbientBlGreen, m_nAmbientBlBlue); + TimeCycColorEdit3(TEXT("Visual.AmbientObjBl"), m_nAmbientBlRed_Obj, m_nAmbientBlGreen_Obj, m_nAmbientBlBlue_Obj); - TimeCycColorEdit3("Blur", m_nBlurRed, m_nBlurGreen, m_nBlurBlue); + TimeCycColorEdit3(TEXT("Visual.Blur"), m_nBlurRed, m_nBlurGreen, m_nBlurBlue); #endif #ifndef GTASA - TimeCycColorEdit3("Clouds bottom", m_nBottomCloudsRed, m_nBottomCloudsGreen, m_nBottomCloudsBlue); - TimeCycColorEdit3("Clouds low", m_nLowCloudsRed, m_nLowCloudsGreen, m_nLowCloudsBlue); - TimeCycColorEdit3("Clouds top", m_nTopCloudsRed, m_nTopCloudsGreen, m_nTopCloudsBlue); - TimeCycColorEdit3("Directional light", m_nDirRed, m_nDirGreen, m_nDirBlue); + TimeCycColorEdit3(TEXT("Visual.CloudsBottom"), m_nBottomCloudsRed, m_nBottomCloudsGreen, m_nBottomCloudsBlue); + TimeCycColorEdit3(TEXT("Visual.CloudsLow"), m_nLowCloudsRed, m_nLowCloudsGreen, m_nLowCloudsBlue); + TimeCycColorEdit3(TEXT("Visual.CloudsTop"), m_nTopCloudsRed, m_nTopCloudsGreen, m_nTopCloudsBlue); + TimeCycColorEdit3(TEXT("Visual.DirectionalLight"), m_nDirRed, m_nDirGreen, m_nDirBlue); #endif #ifdef GTASA - TimeCycColorEdit4("PostFx 1", m_fPostFx1Red, m_fPostFx1Green, m_fPostFx1Blue, m_fPostFx1Alpha); - TimeCycColorEdit4("PostFx 2", m_fPostFx2Red, m_fPostFx2Green, m_fPostFx2Blue, m_fPostFx1Alpha); + TimeCycColorEdit4(TEXT("Visual.PostFX1"), m_fPostFx1Red, m_fPostFx1Green, m_fPostFx1Blue, m_fPostFx1Alpha); + TimeCycColorEdit4(TEXT("Visual.PostFX2"), m_fPostFx2Red, m_fPostFx2Green, m_fPostFx2Blue, m_fPostFx1Alpha); #elif GTA3 - TimeCycColorEdit4("PostFx", m_fPostFxRed, m_fPostFxGreen, m_fPostFxBlue, m_fPostFxAlpha); + TimeCycColorEdit4(TEXT("Visual.PostFX1"), m_fPostFxRed, m_fPostFxGreen, m_fPostFxBlue, m_fPostFxAlpha); #endif - TimeCycColorEdit3("Sky bottom", m_nSkyBottomRed, m_nSkyBottomGreen, m_nSkyBottomBlue); - TimeCycColorEdit3("Sun core", m_nSunCoreRed, m_nSunCoreGreen, m_nSunCoreBlue); - TimeCycColorEdit3("Sun corona", m_nSunCoronaRed, m_nSunCoronaGreen, m_nSunCoronaBlue); - TimeCycColorEdit3("Sky top", m_nSkyTopRed, m_nSkyTopGreen, m_nSkyTopBlue); + TimeCycColorEdit3(TEXT("Visual.SkyBottom"), m_nSkyBottomRed, m_nSkyBottomGreen, m_nSkyBottomBlue); + TimeCycColorEdit3(TEXT("Visual.SunCore"), m_nSunCoreRed, m_nSunCoreGreen, m_nSunCoreBlue); + TimeCycColorEdit3(TEXT("Visual.SunCorona"), m_nSunCoronaRed, m_nSunCoronaGreen, m_nSunCoronaBlue); + TimeCycColorEdit3(TEXT("Visual.SkyTop"), m_nSkyTopRed, m_nSkyTopGreen, m_nSkyTopBlue); #ifndef GTA3 - TimeCycColorEdit4("Water", m_fWaterRed, m_fWaterGreen, m_fWaterBlue, m_fWaterAlpha); + TimeCycColorEdit4(TEXT("Visual.Water"), m_fWaterRed, m_fWaterGreen, m_fWaterBlue, m_fWaterAlpha); #endif ImGui::EndChild(); ImGui::EndTabItem(); @@ -730,31 +736,31 @@ void Visual::ShowPage() ImGui::PushItemWidth(ImGui::GetWindowContentRegionWidth() / 2); #ifdef GTASA - TimecycSlider("Cloud alpha", m_fCloudAlpha, 0, 255); - TimecycSlider("Directional mult", m_nDirectionalMult, 0, 255); + TimecycSlider(TEXT("Visual.CloudAlpha"), m_fCloudAlpha, 0, 255); + TimecycSlider(TEXT("Visual.DirectionalMult"), m_nDirectionalMult, 0, 255); #endif - TimecycSlider("Far clip", m_fFarClip, 0, 5000); - TimecycSlider("Fog start", m_fFogStart, 0, 5000); + TimecycSlider(TEXT("Visual.FarClip"), m_fFarClip, 0, 5000); + TimecycSlider(TEXT("Visual.FogStart"), m_fFogStart, 0, 5000); #ifdef GTASA - TimecycSlider("High light min intensity", m_nHighLightMinIntensity, 0, 255); + TimecycSlider(TEXT("Visual.LightIntensity"), m_nHighLightMinIntensity, 0, 255); #endif - TimecycSlider("Light on ground brightness", m_fLightsOnGroundBrightness, 0, 255); - TimecycSlider("Light shadow strength", m_nLightShadowStrength, 0, 255); + TimecycSlider(TEXT("Visual.LightBrightness"), m_fLightsOnGroundBrightness, 0, 255); + TimecycSlider(TEXT("Visual.LightShadowStrength"), m_nLightShadowStrength, 0, 255); #ifndef GTA3 - TimecycSlider("Pole shadow strength", m_nPoleShadowStrength, 0, 255); + TimecycSlider(TEXT("Visual.PoleShadowStrength"), m_nPoleShadowStrength, 0, 255); #endif - TimecycSlider("Shadow strength", m_nShadowStrength, 0, 255); - TimecycSlider("Sprite brightness", m_fSpriteBrightness, 0, 127); - TimecycSlider("Sprite size", m_fSpriteSize, 0, 127); - TimecycSlider("Sun size", m_fSunSize, 0, 127); + TimecycSlider(TEXT("Visual.ShadowStrength"), m_nShadowStrength, 0, 255); + TimecycSlider(TEXT("Visual.SpriteBrightness"), m_fSpriteBrightness, 0, 127); + TimecycSlider(TEXT("Visual.SpriteSize"), m_fSpriteSize, 0, 127); + TimecycSlider(TEXT("Visual.SunSize"), m_fSunSize, 0, 127); #ifdef GTA3 - TimecycSlider("Tree shadow strength", m_nTreeShadowStrength, 0, 255); + TimecycSlider(TEXT("Visual.TreeShadowStrength"), m_nTreeShadowStrength, 0, 255); #endif #ifdef GTASA - TimecycSlider("Water fog alpha", m_nWaterFogAlpha, 0, 255); + TimecycSlider(TEXT("Visual.WaterFogAlpha"), m_nWaterFogAlpha, 0, 255); #endif ImGui::PopItemWidth();