Modding Tools > Lucas' Simpsons Hit & Run Mod Launcher > Version History > Version 1.23.10

Version 1.23.10

This update was released on March 10th, 2020.

Highlights

This update includes multiple security improvements that affect the Custom Files hack, we recommend you avoid using mods from untrusted sources in older versions.

Launcher

General

  • Added the -currentdirectory command line argument. This allows you to specify a working directory for the Mod Launcher.
    • This was required for changes to the Discord Rich Presence hack listed below.
  • Fixed an issue where screen readers (such as Windows Narrator) would refer to the Resolution combo box as the text of the update hyperlink instead of "Resolution".
    • The text of the update hyperlink would be "Placeholder" if it hadn't been shown yet.
  • Updated the Mod Launcher's copyright year to 2020.
  • Fixed a bug introduced in 1.23.2 where using 150% text size in Windows caused button and label text to be too big.

Main Window

  • Fixed an issue where the resolution list was being updated when enabling/disabling mods and after changing mod settings.
  • Added a "Custom..." option to the resolution dropdown.

Mod Settings

  • Made it so these windows do not show a Reset button if none of the settings can be reset.
    • Such as when they all have NoReset=1 or they're all Label type settings.
  • Added various command line arguments that affect the appearance of these windows.
    • -vistastylemodsettings: This makes the area above the buttons have a different coloured background with a separator edge in between the two sections.
      • Also added -vistastyleedge to customise the size of the separator edge when this is enabled.
    • -modsettingsicon: Shows the mod's icon to the left of the settings.
      • Also added -modsettingsiconsize to customise the size of the icon when this is enabled.
    • -nomodsettingsresetbutton: Removes the reset button.
    • These can all be used together along with the existing -noboldsettings command line argument to make these windows look how they did in Versions 1.5 through 1.9.
  • Made it so these windows are centred to the main window of the Mod Launcher instead of the screen.
  • Made it so Label "settings" with a URL now show their URL in the tooltip.
    • If a Tooltip is also specified, it will be shown after this.

Localisation

This version adds a couple new language strings related to new mod features.

A new template language (Template_1.23.10.xml) was published on this page including these new strings at the end of the file.

Configurations

  • Fixed an issue where a configuration (and by extension the Mod Launcher window) could have the icon of the wrong edition mod when multiple edition mods are enabled and no main mods are enabled.
  • Fixed an issue where mod icons were 16x16 on the Manage Configurations window regardless of your DPI.

Mod Features

  • Made it so multiple main mods can be enabled at the same time when they explicitly support each other.
  • Increased the limit of Text setting values from 127 to 32767.
  • Added a NoUpDown property for Integer Number type settings.

Hacks

General

  • Blocked access to Settings.ini within the Virtual File System.
  • Made Discord Rich Presence and NVIDIA Highlights support non-ASCII characters in the window title.
    • The game window itself still does not support non-Windows-1252 characters and will show them as question marks.
  • Added a "Disable Anti-aliasing While Resizing" setting to the Resizable Window hack that disables the Anti-aliasing hack while resizing.
    • This does not apply to anti-aliasing enabled by the graphics driver or other third party programs.
    • This defaults to being enabled.

Hack Support

  • Made the game use an additional swap chain when using the Resizable Window hack in windowed mode to make resizing smoother.
    • Also added the -noadditionalswapchain command line argument to opt out of this.
    • Also added the -additionalswapchain command line argument to force this when the Resizable Window hack is not enabled.
      • This should technically make changing the resolution with the in-game menus slightly faster.
  • Made the hack prevent the game from redundantly presenting (presenting after a previous present or a device reset/swap chain recreation and before beginning a scene) to reduce/prevent flickering when resizing.
    • Also added the -noblockredundantpresent command line argument to opt out of this.
  • Fixed an issue where the game window would be redrawn when resizing when the Resizable Window hack was enabled and its Present While Resizing setting was ticked if the game window's icon was being changed to that of a main/edition mod.
  • Fixed an issue where all created vertex shaders would be leaked when blocking a redundant Direct3D device reset.
  • Fixed an issue where .. wasn't handled in file paths since Version 1.10 when using the Legacy Virtual File System (via -legacyfilesystem as of Version 1.22).
    • This fixes an issue where mods may have been able to access files outside of directories mounted within the Virtual File System.

Custom Files

General

  • Made this hack enable Data Execution Prevention if any mods provide custom files, path redirections, path handlers or an AdditionalFiles folder.
    • Also added the -noenabledep command line argument to opt out of this.

Lua Scripting

  • Made the math.random function use a 64-bit Mersenne Twister 19937 random number generator initially seeded (at load time) with a cryptographically secure random number instead of just using a cryptographically secure random number.
  • Added the math.randomseed function. This allows you to set the seed on a sandboxed, per-mod, basis.
    • See this page for more details on this function.
  • Fixed an issue where the GetSetting and GetSettings functions read the low 32-bits of the 64-bit signed integer setting values as unsigned and casted that to a 64-bit signed integer to give it to Lua. This caused negative integer setting values to wrap as if they were 32-bit unsigned values.
    • If you'd like, you can use something like if SettingValue > 2147483647 then SettingValue = SettingValue - 4294967296 end to support old versions of the Mod Launcher.
  • Fixed a bug where coroutine.isyieldable wasn't allowed.
  • Removed functions from the global table that don't get copied into mod environments as is.
  • Fixed a bug where calling DirectoryGetEntries on / yielded no results (when not using the -legacyfilesystem command line argument).
  • Added the GetShared function. This returns a table that is shared by all mods.
  • Added the Pause function. This will pause the console and prompt the user to "Press any key to continue...".
    • If the Console feature of the Console and Logging hack is not enabled, a console window will still be shown temporarily to prompt the user.
  • Added the IsDemo function. This returns true when the user is playing the Demo version of the game.

Custom Limits

Added an [AnimEntities] section that lets you increase the limit on various types of animated entities.

Debug Checks

  • Added new checks for when certain types of vehicle sounds (engine sounds and overlays) fail to play.
    • For example, clips will fail to play when the daSoundResourceData name they use does not exist.

Debug Test

Graphics Page

  • Renamed "Allow Textures Larger Than 2048 x 2048" to "Allow Textures Larger Than 2048 × 2048".
    • The only change is replacing the letter "x" with a multiplication symbol (×).
  • Added the "No Mirror Depth Clear" setting.

Vehicles Page

Added the "In Air Comedy Cam" setting.

Debug Text

"anim entities" Page

Added this new page. This shows "D arrow anims", "W arrow anims", "Anims", "Anim colls", "Multi controllers" and "State props".

Discord Rich Presence

  • Made it use the new Discord GameSDK instead of the obsolete Discord RPC if the DLL file for it (discord_game_sdk.dll) happens to inexplicably be in the Mod Launcher's DLLs folder.
    • Also added the -discordrpc to opt out of this.
    • To be clear, this DLL is not included with the Mod Launcher. If you want to use it for some reason, you can get it here.
  • Fixed an issue when logging state updates after 3:14:07 AM on January 19th, 2038 UTC.
  • Made this hack tell Discord the command to start the Mod Launcher so Discord doesn't try launching Simpsons.exe with an incorrect working directory when clicking Play/Play Game.
    • Also added the -nodiscordregistercommand command line argument to opt out of this.
      • When using Discord RPC, this causes the old behaviour of Discord updating the command to be wrong.
      • When using Discord GameSDK, this causes Discord to just not update the command.
  • Added the -discordloadinitialise command line argument. This makes the hack initialise Discord RPC / GameSDK as soon as the hack loads.
    • This used to be the default behaviour prior to Version 1.22 but it often causes rich presence to not work because Discord handles this poorly.

NVIDIA Highlights

Made this hack not get loaded by the Mod Launcher if GfeSFK.dll inexplicably doesn't exist in the Mod Launcher's DLLs folder.

Donut Team © 2023 · v4.0