From 7876a52b39147a8a1a4ebcaaf9ce2e3f644fc83a Mon Sep 17 00:00:00 2001 From: EricPlayZ Date: Fri, 10 May 2024 04:27:52 +0300 Subject: [PATCH] - Added "One-Hit Kill" (Player) - Added "Unlimited Ammo" (Weapon) - Added "No Spread" (Weapon) - Added "No Recoil" (Weapon) - Added "Instant Reload" (Weapon) --- EGameTools/source/changelog.h | 7 +- EGameTools/source/config/config.cpp | 22 +++-- EGameTools/source/menu/camera.cpp | 5 +- EGameTools/source/menu/misc.cpp | 3 + EGameTools/source/menu/player.cpp | 11 ++- EGameTools/source/menu/player.h | 3 +- EGameTools/source/menu/weapon.cpp | 42 +++++++++ EGameTools/source/menu/weapon.h | 4 + .../changelog.h | 90 +++++++++++++++++++ 9 files changed, 174 insertions(+), 13 deletions(-) create mode 100644 enc_temp_folder/abb933981b7d7672f6188bb8d9e3372/changelog.h diff --git a/EGameTools/source/changelog.h b/EGameTools/source/changelog.h index ee54a53..763597a 100644 --- a/EGameTools/source/changelog.h +++ b/EGameTools/source/changelog.h @@ -56,11 +56,16 @@ Thank you everyone for the support <3)" }, - Added "Player Immunity" slider (Player) - Added "Unlimited Immunity" (Player) - Added "Unlimited Stamina" (Player) +- Added "One-Hit Kill" (Player) - Added "Invisible to Enemies" (Player) -- Added "Disable Air Control" (Player) - Added "Allow Grapple Hook in Safezone" (Player) +- Added "Disable Air Control" (Player) - Added "Current Weapon Durability" slider (Weapon) - currently only works while your weapon is physically equipped in your hand - Added "Unlimited Durability" (Weapon) +- Added "Unlimited Ammo" (Weapon) +- Added "No Spread" (Weapon) +- Added "No Recoil" (Weapon) +- Added "Instant Reload" (Weapon) - Added "Lens Distortion" slider (Camera) - Added "Disable Head Correction" (Camera) - disables centering of the player's hands to the center of the camera - Added "Increase Data PAKs Limit" (Misc; requires game restart to apply) - you can now add more than 8 data PAKs, e.g. data8.pak, data9.pak, data10.pak, etc, up to 200 PAKs in total diff --git a/EGameTools/source/config/config.cpp b/EGameTools/source/config/config.cpp index 9a11fee..eb8c2e3 100644 --- a/EGameTools/source/config/config.cpp +++ b/EGameTools/source/config/config.cpp @@ -4344,21 +4344,26 @@ namespace Config { { "Menu", "HasSeenChangelog", false, &Menu::hasSeenChangelog, OPTION }, { "Menu:Keybinds", "MenuToggleKey", std::string("VK_F5"), &Menu::menuToggle, String}, { "Menu:Keybinds", "GodModeToggleKey", std::string("VK_F6"), &Menu::Player::godMode, String}, + { "Menu:Keybinds", "FreezePlayerToggleKey", std::string("VK_F7"), &Menu::Player::freezePlayer, String }, { "Menu:Keybinds", "UnlimitedImmunityToggleKey", std::string("VK_NONE"), &Menu::Player::unlimitedImmunity, String}, { "Menu:Keybinds", "UnlimitedStaminaToggleKey", std::string("VK_NONE"), &Menu::Player::unlimitedStamina, String}, - { "Menu:Keybinds", "FreezePlayerToggleKey", std::string("VK_F7"), &Menu::Player::freezePlayer, String}, + { "Menu:Keybinds", "OneHitKillToggleKey", std::string("VK_NONE"), &Menu::Player::oneHitKill, String}, { "Menu:Keybinds", "DisableOutOfBoundsTimerToggleKey", std::string("VK_NONE"), &Menu::Player::disableOutOfBoundsTimer, String}, { "Menu:Keybinds", "NightrunnerModeToggleKey", std::string("VK_F9"), &Menu::Player::nightrunnerMode, String}, { "Menu:Keybinds", "OneHandedModeToggleKey", std::string("VK_NONE"), &Menu::Player::oneHandedMode, String}, { "Menu:Keybinds", "AllowGrappleHookInSafezoneToggleKey", std::string("VK_NONE"), &Menu::Player::allowGrappleHookInSafezone, String}, { "Menu:Keybinds", "DisableAirControlToggleKey", std::string("VK_NONE"), &Menu::Player::disableAirControl, String }, { "Menu:Keybinds", "UnlimitedDurabilityToggleKey", std::string("VK_NONE"), &Menu::Weapon::unlimitedDurability, String }, + { "Menu:Keybinds", "UnlimitedAmmoToggleKey", std::string("VK_NONE"), &Menu::Weapon::unlimitedAmmo, String }, + { "Menu:Keybinds", "NoSpreadToggleKey", std::string("VK_NONE"), &Menu::Weapon::noSpread, String }, + { "Menu:Keybinds", "NoRecoilToggleKey", std::string("VK_NONE"), &Menu::Weapon::noRecoil, String }, + { "Menu:Keybinds", "InstantReloadToggleKey", std::string("VK_NONE"), &Menu::Weapon::instantReload, String }, { "Menu:Keybinds", "FreeCamToggleKey", std::string("VK_F3"), &Menu::Camera::freeCam, String}, { "Menu:Keybinds", "TeleportPlayerToCameraToggleKey", std::string("VK_F4"), &Menu::Camera::teleportPlayerToCamera, String}, { "Menu:Keybinds", "ThirdPersonToggleKey", std::string("VK_F1"), &Menu::Camera::thirdPersonCamera, String}, { "Menu:Keybinds", "UseTPPModelToggleKey", std::string("VK_F2"), &Menu::Camera::tpUseTPPModel, String}, + { "Menu:Keybinds", "DisableSafezoneFOVReduction", std::string("VK_NONE"), &Menu::Camera::disableSafezoneFOVReduction, String }, { "Menu:Keybinds", "DisablePhotoModeLimits", std::string("VK_NONE"), &Menu::Camera::disablePhotoModeLimits, String}, - { "Menu:Keybinds", "DisableSafezoneFOVReduction", std::string("VK_NONE"), &Menu::Camera::disableSafezoneFOVReduction, String}, { "Menu:Keybinds", "DisableHeadCorrectionToggleKey", std::string("VK_NONE"), &Menu::Camera::disableHeadCorrection, String }, { "Menu:Keybinds", "DisableHUDToggleKey", std::string("VK_F8"), &Menu::Misc::disableHUD, String}, { "Menu:Keybinds", "DisableGamePauseWhileAFKToggleKey", std::string("VK_NONE"), &Menu::Misc::disableGamePauseWhileAFK, String}, @@ -4367,6 +4372,7 @@ namespace Config { { "Player:Misc", "GodMode", false, &Menu::Player::godMode, OPTION }, { "Player:Misc", "UnlimitedImmunity", false, &Menu::Player::unlimitedImmunity, OPTION }, { "Player:Misc", "UnlimitedStamina", false, &Menu::Player::unlimitedStamina, OPTION }, + { "Player:Misc", "OneHitKill", false, &Menu::Player::oneHitKill, OPTION }, { "Player:Misc", "InvisibleToEnemies", true, &Menu::Player::invisibleToEnemies, OPTION }, { "Player:Misc", "DisableOutOfBoundsTimer", true, &Menu::Player::disableOutOfBoundsTimer, OPTION }, { "Player:Misc", "NightrunnerMode", false, &Menu::Player::nightrunnerMode, OPTION }, @@ -4377,6 +4383,10 @@ namespace Config { { "Player:PlayerVariables", "LastSaveSCRPath", std::string(), &Menu::Player::saveSCRPath, String }, { "Player:PlayerVariables", "LastLoadSCRFilePath", std::string(), &Menu::Player::loadSCRFilePath, String }, { "Weapon:Misc", "UnlimitedDurability", false, &Menu::Weapon::unlimitedDurability, OPTION }, + { "Weapon:Misc", "UnlimitedAmmo", false, &Menu::Weapon::unlimitedAmmo, OPTION }, + { "Weapon:Misc", "NoSpread", false, &Menu::Weapon::noSpread, OPTION }, + { "Weapon:Misc", "NoRecoil", false, &Menu::Weapon::noRecoil, OPTION }, + { "Weapon:Misc", "InstantReload", false, &Menu::Weapon::instantReload, OPTION }, { "Camera:FreeCam", "Speed", 2.0f, &Menu::Camera::freeCamSpeed, Float }, { "Camera:FreeCam", "TeleportPlayerToCamera", false, &Menu::Camera::teleportPlayerToCamera, OPTION }, { "Camera:ThirdPerson", "Enabled", false, &Menu::Camera::thirdPersonCamera, OPTION }, @@ -4385,13 +4395,13 @@ namespace Config { { "Camera:ThirdPerson", "HeightAbovePlayer", 1.35f, &Menu::Camera::tpHeightAbovePlayer, Float }, { "Camera:ThirdPerson", "HorizontalDistanceFromPlayer", 0.0f, &Menu::Camera::tpHorizontalDistanceFromPlayer, Float }, { "Camera:Misc", "LensDistortion", 20.0f, &Menu::Camera::lensDistortion, Float }, - { "Camera:Misc", "DisablePhotoModeLimits", true, &Menu::Camera::disablePhotoModeLimits, OPTION }, { "Camera:Misc", "DisableSafezoneFOVReduction", true, &Menu::Camera::disableSafezoneFOVReduction, OPTION }, + { "Camera:Misc", "DisablePhotoModeLimits", true, &Menu::Camera::disablePhotoModeLimits, OPTION }, { "Camera:Misc", "DisableHeadCorrection", false, &Menu::Camera::disableHeadCorrection, OPTION }, { "Misc:Misc", "DisableGamePauseWhileAFK", true, &Menu::Misc::disableGamePauseWhileAFK, OPTION }, - { "Misc:Misc", "DisableSavegameCRCCheck", true, &Menu::Misc::disableSavegameCRCCheck, OPTION }, - { "Misc:Misc", "DisableDataPAKsCRCCheck", true, &Menu::Misc::disableDataPAKsCRCCheck, OPTION }, - { "Misc:Misc", "IncreaseDataPAKsLimit", true, &Menu::Misc::increaseDataPAKsLimit, OPTION }, + { "Misc:GameChecks", "DisableSavegameCRCCheck", true, &Menu::Misc::disableSavegameCRCCheck, OPTION }, + { "Misc:GameChecks", "DisableDataPAKsCRCCheck", true, &Menu::Misc::disableDataPAKsCRCCheck, OPTION }, + { "Misc:GameChecks", "IncreaseDataPAKsLimit", true, &Menu::Misc::increaseDataPAKsLimit, OPTION }, { "World:Time", "SlowMotionSpeed", 0.4f, &Menu::World::slowMotionSpeed, Float }, { "World:Time", "SlowMotionTransitionTime", 1.0f, &Menu::World::slowMotionTransitionTime, Float } }); diff --git a/EGameTools/source/menu/camera.cpp b/EGameTools/source/menu/camera.cpp index 88aec18..9615219 100644 --- a/EGameTools/source/menu/camera.cpp +++ b/EGameTools/source/menu/camera.cpp @@ -32,10 +32,10 @@ namespace Menu { KeyBindOption disablePhotoModeLimits{ VK_NONE }; KeyBindOption disableSafezoneFOVReduction{ VK_NONE }; KeyBindOption disableHeadCorrection{ VK_NONE }; - static constexpr float baseSprintHeadCorrectionFactor = 0.55f; static constexpr int baseFOV = 57; static constexpr float baseSafezoneFOVReduction = -10.0f; + static constexpr float baseSprintHeadCorrectionFactor = 0.55f; static void UpdateFOV() { if (menuToggle.GetValue()) @@ -213,8 +213,9 @@ namespace Menu { ImGui::EndDisabled(); } ImGui::SliderFloat("Lens Distortion", "Default game value is 20%", &lensDistortion, 0.0f, 100.0f, "%.1f%%"); - ImGui::CheckboxHotkey("Disable Photo Mode Limits", &disablePhotoModeLimits, "Disables the invisible box while in Photo Mode"); ImGui::CheckboxHotkey("Disable Safezone FOV Reduction", &disableSafezoneFOVReduction, "Disables the FOV reduction that happens while you're in a safezone"); + ImGui::SameLine(); + ImGui::CheckboxHotkey("Disable Photo Mode Limits", &disablePhotoModeLimits, "Disables the invisible box while in Photo Mode"); ImGui::CheckboxHotkey("Disable Head Correction", &disableHeadCorrection, "Disables centering of the player's hands to the center of the camera"); } } diff --git a/EGameTools/source/menu/misc.cpp b/EGameTools/source/menu/misc.cpp index c420a1c..b6d6615 100644 --- a/EGameTools/source/menu/misc.cpp +++ b/EGameTools/source/menu/misc.cpp @@ -47,12 +47,15 @@ namespace Menu { void Tab::Render() { ImGui::SeparatorText("Misc##Misc"); ImGui::CheckboxHotkey("Disable Game Pause While AFK", &disableGamePauseWhileAFK, "Prevents the game from pausing while you're afk"); + ImGui::SameLine(); ImGui::BeginDisabled(disableHUD.GetChangesAreDisabled()); { ImGui::CheckboxHotkey("Disable HUD", &disableHUD, "Disables the entire HUD, including any sort of menus like the pause menu"); ImGui::EndDisabled(); } + ImGui::SeparatorText("Game Checks##Misc"); if (ImGui::Checkbox("Disable Savegame CRC Check *", &disableSavegameCRCCheck, "Stops the game from falsely saying your savegame is corrupt whenever you modify it outside of the game using a save editor")) GamePH::Hooks::SaveGameCRCBoolCheckHook.Toggle(); + ImGui::SameLine(); ImGui::Checkbox("Disable Data PAKs CRC Check *", &disableDataPAKsCRCCheck, "Stops the game from scanning data PAKs, which allows you to use data PAK mods in multiplayer as well"); ImGui::Checkbox("Increase Data PAKs Limit *", &increaseDataPAKsLimit, "Allows you to add more than 8 data PAKs, e.g. data8.pak, data9.pak, data10.pak, etc, up to 200 PAKs in total"); ImGui::Separator(); diff --git a/EGameTools/source/menu/player.cpp b/EGameTools/source/menu/player.cpp index ce042ad..58ff3dd 100644 --- a/EGameTools/source/menu/player.cpp +++ b/EGameTools/source/menu/player.cpp @@ -6436,9 +6436,10 @@ namespace Menu { float playerImmunity = 80.0f; float playerMaxImmunity = 80.0f; KeyBindOption godMode{ VK_F6 }; + KeyBindOption freezePlayer{ VK_F7 }; KeyBindOption unlimitedImmunity{ VK_NONE }; KeyBindOption unlimitedStamina{ VK_NONE }; - KeyBindOption freezePlayer{ VK_F7 }; + KeyBindOption oneHitKill{ VK_NONE }; KeyBindOption invisibleToEnemies{ VK_NONE }; KeyBindOption disableOutOfBoundsTimer{ VK_NONE }; KeyBindOption nightrunnerMode{ VK_F9 }; @@ -6586,6 +6587,8 @@ namespace Menu { GamePH::PlayerVariables::ManagePlayerVarOption("InfiniteStamina", true, false, &unlimitedStamina); + GamePH::PlayerVariables::ManagePlayerVarOption("DamageMulAll", 99999.0f, 0.0f, &oneHitKill, true); + GamePH::PlayerVariables::ManagePlayerVarOption("InVisibleToEnemies", true, false, &invisibleToEnemies); GamePH::PlayerVariables::ManagePlayerVarOption("LeftHandDisabled", true, false, &oneHandedMode); @@ -6919,12 +6922,14 @@ namespace Menu { ImGui::CheckboxHotkey("Unlimited Immunity", &unlimitedImmunity, "Stops immunity from draining"); ImGui::SameLine(); ImGui::CheckboxHotkey("Unlimited Stamina", &unlimitedStamina, "Stops stamina from draining"); + ImGui::CheckboxHotkey("One-Hit Kill", &oneHitKill, "Makes the player one-hit kill EVERYTHING and EVERYONE RAWRRR"); + ImGui::SameLine(); ImGui::CheckboxHotkey("Invisible to Enemies", &invisibleToEnemies, "Makes the player invisible to the enemies"); - ImGui::SameLine(); ImGui::CheckboxHotkey("Disable Out of Bounds Timer", &disableOutOfBoundsTimer, "Disables the timer that runs when out of map bounds or mission bounds"); - ImGui::CheckboxHotkey("Nightrunner Mode", &nightrunnerMode, "Makes Aiden super-human/infected"); ImGui::SameLine(); + ImGui::CheckboxHotkey("Nightrunner Mode", &nightrunnerMode, "Makes Aiden super-human/infected"); ImGui::CheckboxHotkey("One-handed Mode", &oneHandedMode, "Removes Aiden's left hand"); + ImGui::SameLine(); ImGui::CheckboxHotkey("Allow Grapple Hook in Safezone", &allowGrappleHookInSafezone, "Allows player to use grapple hook while in a safezone"); ImGui::SeparatorText("Player Jump Parameters"); diff --git a/EGameTools/source/menu/player.h b/EGameTools/source/menu/player.h index 257247e..5785782 100644 --- a/EGameTools/source/menu/player.h +++ b/EGameTools/source/menu/player.h @@ -9,9 +9,10 @@ namespace Menu { extern float playerImmunity; extern float playerMaxImmunity; extern KeyBindOption godMode; + extern KeyBindOption freezePlayer; extern KeyBindOption unlimitedImmunity; extern KeyBindOption unlimitedStamina; - extern KeyBindOption freezePlayer; + extern KeyBindOption oneHitKill; extern KeyBindOption invisibleToEnemies; extern KeyBindOption disableOutOfBoundsTimer; extern KeyBindOption nightrunnerMode; diff --git a/EGameTools/source/menu/weapon.cpp b/EGameTools/source/menu/weapon.cpp index 8031868..6be2564 100644 --- a/EGameTools/source/menu/weapon.cpp +++ b/EGameTools/source/menu/weapon.cpp @@ -10,13 +10,49 @@ namespace Menu { namespace Weapon { float currentWeaponDurability = 150.0f; KeyBindOption unlimitedDurability{ VK_NONE }; + KeyBindOption unlimitedAmmo{ VK_NONE }; + KeyBindOption noSpread{ VK_NONE }; + KeyBindOption noRecoil{ VK_NONE }; + KeyBindOption instantReload{ VK_NONE }; + static constexpr float baseWeaponDurabilityMul = 1.0f; + static constexpr float baseWeaponAccuracyMul = 1.0f; + static constexpr float baseCrossbowAccuracyMul = 0.1f; + static constexpr float baseWeaponRecoilMul = 1.0f; + static constexpr float baseWeaponReloadMul = 1.0f; static void UpdatePlayerVars() { if (!GamePH::PlayerVariables::gotPlayerVars) return; GamePH::PlayerVariables::ManagePlayerVarOption("MeleeWpnDurabilityMulReduce", 0.0f, baseWeaponDurabilityMul, &unlimitedDurability, true); + + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsPistolInfiniteAmmo", true, false, &unlimitedAmmo); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRevolverInfiniteAmmo", true, false, &unlimitedAmmo); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRifleInfiniteAmmo", true, false, &unlimitedAmmo); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsShotgunInfiniteAmmo", true, false, &unlimitedAmmo); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsSMGInfiniteAmmo", true, false, &unlimitedAmmo); + + GamePH::PlayerVariables::ManagePlayerVarOption("BulletAccuracyFactor", 0.0f, baseWeaponAccuracyMul, &noSpread, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsMoveAccuracyReduce", 0.0f, baseWeaponAccuracyMul, &noSpread, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsPistolAccuracyFactor", 0.0f, baseWeaponAccuracyMul, &noSpread, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRevolverAccuracyFactor", 0.0f, baseWeaponAccuracyMul, &noSpread, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRifleAccuracyFactor", 0.0f, baseWeaponAccuracyMul, &noSpread, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsShotgunAccuracyFactor", 0.0f, baseWeaponAccuracyMul, &noSpread, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsCrossbowAccuracyFactor", 0.0f, baseCrossbowAccuracyMul, &noSpread, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsHarpoonAccuracyFactor", 0.0f, baseCrossbowAccuracyMul, &noSpread, true); + + GamePH::PlayerVariables::ManagePlayerVarOption("BulletRecoilFactor", 0.0f, baseWeaponRecoilMul, &noRecoil, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsPistolRecoilFactor", 0.0f, baseWeaponRecoilMul, &noRecoil, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRevolverRecoilFactor", 0.0f, baseWeaponRecoilMul, &noRecoil, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRifleRecoilFactor", 0.0f, baseWeaponRecoilMul, &noRecoil, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsShotgunRecoilFactor", 0.0f, baseWeaponRecoilMul, &noRecoil, true); + + GamePH::PlayerVariables::ManagePlayerVarOption("BulletReloadSpeed", 1000.0f, 0.0f, &instantReload, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsPistolReloadTimeMul", 1000.0f, baseWeaponReloadMul, &instantReload, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRevolverReloadTimeMul", 1000.0f, baseWeaponReloadMul, &instantReload, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsRifleReloadTimeMul", 1000.0f, baseWeaponReloadMul, &instantReload, true); + GamePH::PlayerVariables::ManagePlayerVarOption("FirearmsShotgunReloadTimeMul", 1000.0f, baseWeaponReloadMul, &instantReload, true); } static void UpdateWeaponDurability(bool updateSlider) { GamePH::LevelDI* iLevel = GamePH::LevelDI::Get(); @@ -67,6 +103,12 @@ namespace Menu { ImGui::SeparatorText("Misc"); ImGui::CheckboxHotkey("Unlimited Durability", &unlimitedDurability, "Enables unlimited durability for all weapons"); + ImGui::SameLine(); + ImGui::CheckboxHotkey("Unlimited Ammo", &unlimitedAmmo, "Enables unlimited ammo for all firearms"); + ImGui::CheckboxHotkey("No Spread", &noSpread, "Disables random bullet spread for all firearms"); + ImGui::SameLine(); + ImGui::CheckboxHotkey("No Recoil", &noRecoil, "Disables weapon recoil for all firearms"); + ImGui::CheckboxHotkey("Instant Reload", &instantReload, "Makes reloading firearms instant"); } } } \ No newline at end of file diff --git a/EGameTools/source/menu/weapon.h b/EGameTools/source/menu/weapon.h index f5d9385..81183e2 100644 --- a/EGameTools/source/menu/weapon.h +++ b/EGameTools/source/menu/weapon.h @@ -5,6 +5,10 @@ namespace Menu { namespace Weapon { extern KeyBindOption unlimitedDurability; + extern KeyBindOption unlimitedAmmo; + extern KeyBindOption noSpread; + extern KeyBindOption noRecoil; + extern KeyBindOption instantReload; class Tab : MenuTab { public: diff --git a/enc_temp_folder/abb933981b7d7672f6188bb8d9e3372/changelog.h b/enc_temp_folder/abb933981b7d7672f6188bb8d9e3372/changelog.h new file mode 100644 index 0000000..545d345 --- /dev/null +++ b/enc_temp_folder/abb933981b7d7672f6188bb8d9e3372/changelog.h @@ -0,0 +1,90 @@ +#pragma once +#include +#include + +namespace Changelog { + std::map changelogs = { + { "v1.1.0", +R"(- You can now load custom mod files from "EGameTools\UserModFiles"! Please read the new "Welcome" screen which explains how to use this feature and how to use the rest of the mod menu +- By using the directory mentioned earlier for mod files, you can reload most of them by just reloading the savegame! +- Mod menu UI/UX revamp + +- Added "Reload Jump Params", using the directory mentioned earlier (Player) +- Added "One-handed Mode" (Player) +- Added "Nightrunner Mode", default button is "F9" (Player) +- Added "Disable Game Pause While AFK" (Misc) +- Added "Freeze Time" (World) +- Added "Game Speed" slider (World) +- Added "Slow Motion", default button is "4" (World) +- Added a "Debug" menu tab (mainly used for troubleshooting) +- Added logging to file (mainly used for troubleshooting) + +- Changed "Menu Transparency" to "Menu Opacity" +- Fixed having a weird offset of the entire map view when FreeCam is enabled +- Fixed player dying from switching FreeCam off after flying to high altitudes/through walls with "Teleport Player to Camera" option +- Fixed FOV slider not changing FOV while using FreeCam + +That's it for this update! The next few updates will include some more bug fixes rather than new, big features, so stay tuned!)" }, + { "v1.1.1", + R"(- Added a message box that warns the user of shortcut creation failure + +- Fixed frequent crashes when using DX12, sometimes DX11 too. +- Fixed frequent crashing at game startup +- Fixed crashing when trying to use ".model" mods with the custom file loading system; PLEASE keep in mind that I haven't found a fix for this yet! Custom ".model" files will not get loaded from "UserModFiles" +- Fixed Slow Motion not changing back to the original game speed when deactivated +- (Hopefully) fixed certain features like Use TPP Model or Player Variables not working at all for some users (if it still happens, please let me know!))" }, + { "v1.1.2", + R"(- Added compatibility with v1.15.2 "Firearms" update +- If you get a message pop-up, or an error in the console window about a problem creating a shortcut, please open Windows Settings and, for Windows 11, go to System -> For developers and enable "Developer Mode", or for Windows 10, go to Update & Security -> For developers and enable "Developer Mode"; after doing this, restart the game and there should be no issues with shortcut creation anymore (blame Microsoft, I have no idea why you have to enable this setting just to create some shortcuts!) + +Bug fixes for various features will come in later updates, please be patient! + +Sorry for the long wait! I haven't had enough time on my hands to update the mod, and I had some issues with how I would be handling updates from now on. I wanted a way to make the latest mod version support older game versions too. +So e.g. 5 months from now, I'd want the latest mod version to support the latest game version (e.g. v1.19.1) AND support every other older version, down to v1.14.x, this way people could use the latest features of this mod, with older game versions. +Unfortunately, I haven't found a way to do this yet, so I will be setting this aside for some other time. For now, I'll release this compatibility patch! + +You should also expect less updates in the future, as I'm going to be pretty busy this year, with my final exam, driving school, and so many other things! +Thank you everyone for the support <3)" }, + { "v1.1.3", + R"(- Added compatibility with v1.16.0 "Nightmare Mode" update +- Fixed really fast player speed when executing a slow motion kill, dodging or ground pounding at 1.00x game speed (will still happen at any other game speed unfortunately) +- Added function hooking timeout for easier debugging +- Fetch game version using Windows' API instead of using the game's function)" }, + { "v1.2.0", + R"(- Added compatibility with v1.16.2 hotfix update +- Added the ability of using .PAK mods inside "EGameTools\UserModFiles"; just drag and drop a .PAK inside the folder, rename it to whatever you like and enjoy! CREDITS TO @12brendon34 on Discord for finding out how to implement this feature! +- Added "Player Immunity" slider (Player) +- Added "Unlimited Immunity" (Player) +- Added "Unlimited Stamina" (Player) +- Added "One-Hit Kill" (Player) +- Added "Invisible to Enemies" (Player) +- Added "Disable Air Control" (Player) +- Added "Allow Grapple Hook in Safezone" (Player) +- Added "Current Weapon Durability" slider (Weapon) - currently only works while your weapon is physically equipped in your hand +- Added "Unlimited Durability" (Weapon) +- Added "Unlimited Ammo" (Weapon) +- Added "No Spread" (Weapon) +- Added "No Recoil" (Weapon) +- Added "Instant Reload" (Weapon) +- Added "Lens Distortion" slider (Camera) +- Added "Disable Head Correction" (Camera) - disables centering of the player's hands to the center of the camera +- Added "Increase Data PAKs Limit" (Misc; requires game restart to apply) - you can now add more than 8 data PAKs, e.g. data8.pak, data9.pak, data10.pak, etc, up to 200 PAKs in total +- Added "Disable Data PAKs CRC Check" (Misc; requires game restart to apply) - stops the game from scanning data PAKs, which allows you to use data PAK mods in multiplayer as well +- Added "Disable Savegame CRC Check" (Misc; requires game restart to apply) - stops the game from falsely saying your savegame is corrupt whenever you modify it +- Added tooltips when hovering over buttons and sliders inside the mod menu + +- Fixed "God Mode" (Player) staying enabled after toggling FreeCam off +- Fixed "God Mode" (Player) not working properly or at all in multiplayer +- Fixed blood overlay still displaying after falling from a great height with "God Mode" (Player) enabled +- Fixed volatiles still being able to kill you when they jump on top of you while "God Mode" (Player) is enabled +- Fixed "Disable Out of Bounds Timer" (Player) not working in missions +- Fixed player variables saving and loading using old version of player_variables.scr (which made Max Health drop to negative infinite) +- Fixed options that make use of player variables not returning back to their original value after disabling them +- Fixed immunity drastically being lowered while rapidly changing the time forward with the "Time" slider (World) at night or while in a dark zone +- Fixed long paths to mods inside UserModFiles causing a game crash or causing the mods to not load at all +- Changed the config system to only write to the config file whenever there's a change in the mod menu +- Changed the way the mod menu gets the list of player variables, meaning the player variables list should self-update, with no manual intervention required even after a game update + +NOTE: Any mods that are put inside "EGameTools\UserModFiles" as a regular file (.scr or any other file that is usually present in .PAK mods) and NOT a .PAK file will make the game ignore the same files that are present in any of the .PAK mods inside "EGameTools\UserModFiles". I recommend using .PAK for most mods. If you run into issues, try extracting the files inside the PAK into the folder directly.)" } + }; +} \ No newline at end of file