Main Branch
Changelog
Launcher
General
- Added the
-nocheckforupdatescommand line argument. This prevents the Mod Launcher from checking for updates regardless of your setting. - Added the
-languagecommand line argument. This allows you to override the language of the game.- This doesn't work in the original English release of the game.
- This still requires you to provide the dialog RCF file for the language you're overriding to.
- Added the
-proxycommand line argument. - Added the
-updatecheckurlcommand line argument. - Fixed a bug introduced in 1.13 where the Mod Launcher required Service Pack 1 of .NET 3.5 due to using functionality added in it.
- Fixed a crash in the Mod Launcher that occured when launching the game when there's no resolutions listed in the resolutions combo box and the windowed check box is checked but disabled.
- Made it so
lucasstuff.comis considered a Donut Team domain. - Made the Mod Launcher show a message after starting if Hack Support isn't loaded that tells you to make sure you extracted the ZIP file.
Also added the
-nohacksupportcheckcommand line argument to disable this. - Made the game show an explanatory error message if there's no audio output device (or the Windows audio service isn't running) instead of crashing.
Also added the
-noaudiodevicecheckcommand line argument to disable this. - Made it so the
-allowignoremodconflictscommand line argument allows you to skip the error message the Mod Launcher shows when you're using the minimum install of the game.
Launcher Settings
- Made it so the file name of the game executable is selected by default on the Game tab.
- Made it so this window will get wider if needed to accomodate larger buttons/text from language localisation.
Localisation
- Made it so the Mod Launcher will show a language selection dialogue on first launch if there's any additional languages or on subsequent launches if the languages have changed.
Also added the
-noselectlanguagecommand line argument. This disables this dialogue. Also added the-selectlanguagecommand line argument. This forces this dialogue to show up. - Made localisation extend to various messages from Hack Support.
Also added the
-nohacklanguagelocalisationcommand line argument to opt out of this. - Made certain proper nouns like the title of the Mod Launcher or "Donut Team" get substituted in various strings. There is full backwards compatibility with the old formats of these strings so old language packs still work.
A new template language (Template_1.22.4.xml) was published on this page including these new string formats as well as the original strings. The template also now indicates when strings were removed if they were in this update or any previous ones.
Hacks
Hack Support
Added the -breakgame command line argument. This break points the game as soon as possible after Hack Support is loaded.
Additional Script Functionality
Fixed an assert when starting a mission that has an insidetrigger or outsidetrigger objective or condition on its first stage.
Debug Checks
Locator Missing Detection is no longer referred to as experimental.
Changelog
Launcher
General
- Added a
-noasyncwebrequestscommand line argument to make it so all web requests are not asynchronous. - Fixed a crash on startup when using Wine (and not using "-noappid").
- Made it so the URL specified for the
-apiurlcommand line argument gets changed from "https://" to "http://" when SSL isn't available from the usage of "-nossl" (or "-nocurl" on Windows XP) even if it's specified after it.- In previous versions, "-nossl" or "-nocurl" had to be specified first.
Account Integration
- Added a
-accountcommand line argument to launch the Mod Launcher directly into the account window. - Made it possible to close the account window while authenticating to cancel the authentication.
- Made it so your token gets reset after showing the "Your account's token has changed. You will need to re-enter the new one or login using your account details." message.
- Removed the prompt before showing the account window on first launch and made the account window say "Skip" instead of "Close" when shown on first launch.
Localization
This version introduces one new language string that language packs will need to be updated to include. This is the new "Skip" button that now appears on the Account Window on first launch.
A new template language (Template_1.22.3.xml) was published on this page including these new string formats as well as the original strings. The template also now indicates when strings were removed if they were in this update or any previous ones.
Mod Features
Made compiling an encrypted mod not require loading all the data of the mod to memory.
Hacks
General
Fixed an issue with the new virtual filesystem where all files that were on a non-NTFS formatted drive (which is common with removable drives which often use FAT32 or exFAT) would fail to load causing a file not found error.
If you were using "-legacyfilesystem" to work around this issue, you should be able to safely remove it now for improved performance.
Hack Support
- Made it so certain types of crash (access violation, breakpoint and invalid instruction) show the type in the crash message.
- Access violations also show if it was attempting to read or write as well as the address attempting to be read or written to.
Additional Script Functionality
Made triggers disabled with "DisableTrigger" in two or more subsequent stages stay disabled between the stages.
Debug Checks
Fixed a bug where disabling "Combine Zone Tree Node Exceeded Messages" didn't do anything.
Changelog
Launcher
General
- Added a new web requests system that supports asynchronous requests and using the system proxy (when using libcurl).
- Also updated user interfaces that use web requests to be asynchronous.
- Also added a
-noproxycommand line argument to bypass the system proxy.
- Made the Mod Launcher show mod/hack load errors sooner in certain cases.
- Before compiling mods when using the
-compilecommand line argument.- This means the Mod Launcher will no longer crash before telling you the load error in the event a mod fails to load while using this command line argument.
- Before showing the Launcher Settings window when using the
-launchersettingscommand line argument.
- Before compiling mods when using the
- Made the Mod Launcher's unhandled exception message have an "OK" and a "Cancel" button instead of just an "OK" button and made it try to continue when clicking "OK" instead of just terminating the program.
Mod Settings
Fixed an issue where Text mod settings with Options specified had a custom context menu.
Mod Features
- Added support for encrypting mods when compiling them.
- This is enabled by default for mods that require this version or newer but it can also be opted into manually (which will also implicity make the mod require this version or newer).
- This only encrypts text based files (.ini, .xml, .lua, .con, .mfk, .cho, .spt) by default.
- Various new properties were added to the
[Compile]section of mods to configure what gets encrypted.
- Various new properties were added to the
- Also added a
-forceencryptioncommand line argument so the Mod Launcher will always encrypt mods regardless of their RequiredLauncher or other criteria.
Hacks
Custom Trigger Actions
- Added a
Notproperty on conditions that makes them return true when they are not met. - Made the
BonusMissionproperty onMissiontype[Condition]sections work as originally documented.- This value was documented as being a number from 1 to 5.
- All previous versions were checking for 21 to 25 instead of 1 to 5.
- For backwards compatibility reasons, it now checks for either set of numbers.
Changelog
Launcher
General
- Fixed a crash when failing to read/write a pinned shortcut.
- Fixed a crash when failing to reload mods when doing a full reload as a result of one or more mods being unable to be individually reloaded when a Meta.ini changed before launching the game or compiling mods.
- Made it so loading a hack with "-hack" or "-hacks" will make the hack take precedence over the default hacks.
Hacks
Hack Support
- Added a
-noresourcemetacommand line argument. This disables this hack reading information out of the Meta files for Mods and Hacks. - Increased the maximum length of property values in INI files from 511 characters to 32767 characters.
Custom Text
Removed this hack's length limit on strings, instead using the general limit (now 32767).
Changelog
Highlights
New Launcher Features
- Duplicating and exporting/importing configurations.
- Jump Lists on Windows 7 or newer.
- Various internal efficiency improvements.
New Hacks
- Custom Traffic Support: Adds a ton of traffic related features.
- Dynamic Tree Node Entity Limits: Makes it much less tedious to modify existing maps.
- Mirror Mode: Lets you experience the game but mirrored!
New Hack Features
- Additional Script Functionality: Two new script commands.
- Bug Fixes: Several new fixes.
- Custom Trigger Actions: Two new Action Types.
- Debug Checks: Huge improvements to various existing checks.
Launcher
General
- Added support for Jump Lists on Windows 7 or newer.
- The Jump List contains an item to Launch the game with the last configuration as well as any configurations you've enabled "Jump List" on via the Manage Configurations window. It also has an item for the Launcher's Settings.
- Also added a
-noupdatejumplistcommand line argument to prevent the Mod Launcher from updating the Jump List. - Also added a
-nojumplistcommand line argument to clear the Jump List on startup.
- Added a
-noconfigurationcommand line argument to make the Mod Launcher start on the Main configuration. - Added a
-nounreleasedcommand line argument. This fully disables the Unreleased page and makes Unreleased mods appear on the other pages. - Added a
-noeditioncommand line argument. This fully disables the Edition feature of mods. - Fixed an issue where the
-nodeleteoldcommand line argument did not work since 1.21. - Fixed an issue where the Mod Launcher was using the wrong number internally when deciding if "Mod compiled successfully." should be pluralised and when deciding how to format the message about a single Mod's Meta.ini having changed when launching the game or compiling a mod.
- It was incorrectly using the amount of mods that were added with the
-modcommand line argument in both cases which is an irrelevant number.
- It was incorrectly using the amount of mods that were added with the
- Made it so the Mod Launcher has an App ID.
- Also added an
-appidcommand line argument to use a custom App ID. This also disables updating Jump Lists. - Also added a
-gameappidcommand line argument to make the game use the same ID as the Mod Launcher which makes them share a taskbar button. - Also added a
-noappidcommand line argument to make it so it doesn't have one. This also disables updating Jump Lists. - Also added a
-updatejumplistcommand line argument to opt back into updating Jump Lists when using "-appid" or "-noappid".
- Also added an
- Made it so the Mod Launcher goes through pinned shortcuts for the running instance (with the same arguments) on the taskbar and start menu/screen on startup and add its App ID to any that don't have one already.
- This only applies when the Mod Launcher has an App ID.
- Also added a "Force Update Pinned Shortcuts" option to the "Open..." menu when using the
-testingcommand line argument. - Also added a
-forceupdatepinnedshortcutscommand line argument that makes the Mod Launcher always update pinned shortcuts even if they already have an App ID as well as when the running instance does not. - Also added a
-nofixpinnedshortcutscommand line argument to disable this.
- Made it so restarting the Mod Launcher with Ctrl+Shift+R or changing certain settings will retain command line arguments.
- Made it so the Main mod's icon or the Edition's icon will be used on the game window if one is enabled.
- Also added a
-nogamemodiconcommand line argument to disable this.
- Also added a
- Made it so Main mods that specify an Edition do not have their title before the game's name in the window title.
- Made the
-settingscommand line argument include the configuration in the Settings window title when not using "-notitleconfiguration".
Main Window
- Added a "Check for Updates" option to the "Open..." menu when using the
-testingcommand line argument. - Made the update checker show a hyperlink on the main window instead of a message box when an update is available.
- Also added a
-updatemessagecommand line argument. This restores the old update message box. - Also Added a
-noupdatelinkcommand line argument. This removes this new update hyperlink. - Also made the update checker get re-enabled if it was disabled in a previous version due to the fact it's now less obnoxious.
- Also added a
Mods List
- Added a
-watermarkopacitycommand line argument. This lets you set the opacity of the watermark in the Mods List, 0 for 0% and 1 for 100%. - Made it so being on the Unreleased tab will not save when you close the program, instead placing you back on the General tab or the last tab you were on.
- Also added the
-saveunreleasedcommand line argument to disable this.
- Also added the
- Made it so the "Hacks" category is available on the "Settings" and "Developer" pages when using the
-testingcommand line argument.
Mod Info
- Fixed an issue where author Websites couldn't be clicked on the Credits page.
- Fixed an issue where authors on the Credits page that were not in any groups appeared bold on Windows 7 and possibly other operating systems but seemingly not Windows 10.
- Fixed an issue where if you selected multiple mods in the same file (multiple Mod Hacks inside Hacks.dll), the size of that file was counted once for each selected mod.
- Made it so if you select one or more mods in the same file (multiple Mod Hacks inside Hacks.dll) and no mods not in that file, the name of the file they're in is shown in brackets after the size to make it more clear that it includes the entire file.
Mod Settings
- Increased the length limit of text setting values from 63 to 127.
- Made the label of mod settings that have values set appear in bold.
- Also added a
-noboldsettingscommand line argument. This makes it so mod settings are never displayed in bold. - Also added a
-ignoredefaultmodsettingscommand line argument. This makes it so mod settings that were manually set to their default will no longer be bold despite being set.
- Also added a
- Added a
-resetdefaultmodsettingscommand line argument. This makes mod settings get unset when you manually put them back to their default value instead of remaining bold. - Made it so you can right click on individual settings, groups and pages to reset them to their default value(s).
- You can right click on the control itself and its label unless it's a textbox where you have to right click the label.
- If you right click a setting that is disabled because of a condition then you will right click the page or group it's in and not the setting.
- Made the "Reset" button disabled if no settings have a value set.
Launcher Settings
- Fixed an issue introduced in 1.18 where Increased Video Resolution Support and Custom Shop Support were each listed twice on the Non-mod Hacks page.
- Made it so using "-ignoremods" prevents a reload when changing Additional Mods settings.
Account Integration
- Added a
-commsoptoutdeauthenticatecommand line argument. This makes the "Deauthenticate" button fully remove your account from both the main Mod Launcher and SHAR MP. - Changed "login" to "log in" in the window text on the old message that appears when using "-accountwindowtoken" to restore the token field.
- This doesn't break existing language packs through the power of workarounds though the fact that this message is different as a result of the token field does.
- Fixed an issue where the window was incorrectly resized to accommodate the "Connection is not secure." text when the font was scaled (via a different DPI or the
-fontscalecommand line argument). - Fixed an issue where the window could be resized too small when showing the "Connection is not secure." text.
- Fixed an issue where the window was incorrectly centered on the main window when showing the "Connection is not secure." text.
- Made this window show the currently authenticated user's display name in brackets after their username in the "Username" field.
- Removed the Token field.
- Also added a
-accountwindowtokencommand line argument to restore this field.
- Also added a
Configurations
- Added the ability to duplicate configurations.
- Added the ability to export and import configurations.
- Added the ability to add configurations to the Jump List.
- Made configurations have the icon of the Main mod enabled in them or the icon of the Edition enabled in them.
- These are shown in place of the Mod Launcher's icon on the window, on the configurations list and in the Jump List.
- Made the "Main" configuration listed on the "Manage Configurations..." window. It is not deletable or renamable.
Localization
This version introduces several new language strings that language packs will need to be updated to include. These pertain to the new update hyperlink and the new features of the Manage Configurations window.
A new template language (Template_1.22.xml) was published on this page including these new string formats as well as the original strings. The template also now indicates when strings were removed if they were in this update or any previous ones.
Mod Features
- Added new
[Description]sections that allow mods to split up their description into multiple headers on their About page. - Added a
Testingproperty to[Setting]sections that disables them and any conditions relating to them when not using the-testingcommand line argument.
Mods
Never Busted
Added this new mod.
No License Screen Delay.
Added this new mod.
Hacks
General
- Added various new asserts when using the
-testingcommand line argument. - Completely re-wrote the underlying file system that powers all of the hacks to be considerably more efficient.
- Also added a
-nofilesystemcommand line argument. This fully disables the Mod Launcher's virtual filesystem making it basically unusable as far as launching the game goes. - Also added a
-legacyfilesystemcommand line argument. This makes the Mod Launcher use its old virtual filesystem instead of this new one.
- Also added a
- Fixed a crash when returning to the main menu from demo gameplay (accessible with various hacks such as Debug Test or Skip Main Menu).
- It will still crash if you exit the game during the demo.
- Made debug class names used by Debug Text and various other hacks cleaner. For example ".?AVVehicle@@" will now show up as "class Vehicle".
Additional Script Functionality
General
- Fixed an issue introduced in 1.21 where there would be an assert when entering the bonus game.
- Made characters added to cars with ASF commands get removed from and re-added to the world when the car does instead of just when it explodes and is repaired.
- Characters also now only get added immediately if the car is already in the world.
- This resolves an issue where characters could remain floating in the air after the game removed a car.
- Made
g_CustomMissionData.empty()only assert when using the-testingcommand line argument.
MFK Commands
- Added
AddParkedCar. This allows you to add a car to the level's parked cars list without needing it to be also added to a traffic group with AddTrafficModel. - Added
UseTrafficGroup. This sets the current traffic group index when getting to the mission via mission select or restarting it. This does not work unless the DynamicTraffic feature of CustomTrafficSupport is set toModelsorSlots.
Bug Fixes
- Added "Vehicles > No Air Vent Audio".
- Also added a
NoAirVentAudioproperty to the[Vehicles]section of BugFixes.ini.
- Also added a
- Added "Crashes > Car Deleted While Loading CON File" when using "-testing".
- Also added a
FixCarDeletedWhileLoadingCONFileCrash"to the[Crashes]section of BugFixes.ini since mods are intended to opt into this.
- Also added a
- Added "Crashes > Zone Load on Exit" when using "-testing".
- Also added a
FixZoneLoadOnExitCrashto the[Crashes]section of BugFixes.ini since mods are intended to opt into this.
- Also added a
Console
Made the title of the console window "Lucas' Simpsons Hit & Run Mod Launcher Console" instead of the path to the game.
Cheat Keys
Made F4 (or Shift+F4 if you already have a car like you're always supposed to unless you're playing SHAR MP) show the phone booth.
Custom Audio Support
Added support for a Number attributes on <Level> and <Mission> elements.
Custom Car Support
- Added the
-nocarindexmappingcommand line argument. This disables the hack re-mapping car indices. - Fixed an issue preventing Car Camera Data index remapping from working for cars loaded from a Mod's Resources folder (and possibly other locations).
Custom Files
General
- Added the
-noadditionalfilescommand line argument. This disables the AdditionalFiles functionality of this hack which will break mods that rely on it. - Added the
-slowgameloadcommand line argument. This allows you to artificially increase load times. - Made this hack only handle requesting a file when necessary.
- Made this hack generate a list of mods that have AdditionalFiles folders on startup and only check those mods when a file is requested instead of every mod.
Lua Scripting
- Added "GetModTitle". This returns the current mod's title (or the title of the specified mod if one is specified).
- Added "GetModVersion". This returns the current mod's version (or the version of the specified mod if one is specified).
Custom Limits
- Added
CarLimitandActionButtonLimitto the[Miscellaneous]section. - Added a
[CollisionIndices]section that lets you increase the limit on various types of collision indices.- No longer will Lucas sing about there not being enough collision indices.
- Added a
[Sound]section that lets you increasePlayingClipPlayerLimitandPlayingStreamPlayerLimit. - Made this hack assert if the
Limitin the[Regions]section was set to more than 127.
Custom Road Behaviour
Added support for a Number attribute on <Level> elements.
Custom Traffic Support
Added this new hack that allows you to have dynamic traffic groups, more than 5 traffic cars, custom traffic colors and more.
Custom Trigger Actions
- Added a
ChangeTrafficGroupaction. This allows you to set the current traffic group with any trigger. This does effectively nothing unless DynamicTraffic is enabled in CustomTrafficSupport. - Added a
TriggerMusicEventaction. This allows you to trigger any music event in the current music RMS file with any trigger.- Due to various ways the game handles music, this might not be very practical but it's there!
Custom Shop Support
Added support for a SkinShop element in this hack's configuration file that works similarly to the existing PhoneBooth element.
Debug Checks
- Added "Experimental Missing Detection > Composite Drawable" to detect when a composite drawable is missing in cases where that matters.
- Moved "Experimental Missing Locator Detection" to the new "Experimental Missing Detection" group and renamed it accordingly.
- Made exceeding tree node entity limits get detected immediately instead of the next frame (when the game may have already crashed) and made the limit get increased on the fly instead of corrupting the game.
- If multiple limits are exceeded during a set of zones being loaded (such as when hitting a load zone or selecting/restarting a mission), a single message is shown by default though this can be disabled by unticking "Combine Zone Tree Node Exceeded Messages".
Debug Test
General
- Made it only check if the "H" key is down once each frame instead of once for every possible collision.
- Made it only check if the "H" key is down when the game window is focused.
- Made the vehicle controller used when possessing vehicles with the 8 key only get the key states once each frame.
- Did you know about this feature? We didn't.
- Made possessing vehicles with the 8 key still use their old controller when not accelerating or steering, not switch them to in-car physics until accelerating or steering and take traffic cars off rails when not accelerating or steering.
- No seriously, Lucas found out he did this recently. I wonder what other secrets there are...
- Loren should really document Debug Test sometime.
Graphics Page
- Added "Software Vertex Processing".
- Added "Flip > X", "Flip > Y", "Flip > Z" and "Flip > Cull Mode" to flip the viewport in wacky ways.
Vehicles Page
- Added "Air Vent Force". Now your car can soar like a candy wrapper in an updraft.
- This suppresses the new "Vehicles > No Air Vent Audio" feature of Bug Fixes if the force is not 0.
- Added "Override Maximum Traffic".
- Added "No Load Properties" to disable the game loading CON files.
- Also added "Set Up Vehicle Handling" and "Create Driver" to make the game do some initialization stuff it would've done if it loaded the CON file.
- Removed the limit of 5 on "Vehicles > Road Nodes > Maximum Cars".
Miscellaneous Page
- Added "Gravity" settings. Far out!
- Screen might go blue if you set some of these numbers the wrong way. No warranty included.
- Added "Heaps > No Temp Heap".
- Moved "Use Tracking Heaps" into the new "Heaps" group.
Debug Text
General
- Added a
-debugtextmodecommand line argument. This can be used to launch the game with a specific debug mode enabled. - Added a
-noscaledebugtextcommand line argument. This disables the debug text being scaled according to the size of the window. - Made the debug text scale down to fit the screen.
- Also added a
-nofitdebugtextcommand line argument to disable this.
- Also added a
- Made it so pages that are not built in are grouped by what Mod/Hack added them.
- Grouped pages can be cycled by holding Shift+T/Shift+R.
- Also added a
-nodebugtextgroupscommand line argument to disable this.
- Made the "traffic" and "road segments" pages show intersections as blue spheres in the world as well as their names.
- Removed the "root tree node and animated icons" page and moved its contents to the "tree" and "miscellaneous" pages respectively.
"miscellaneous" Page
- Added "Action buttons" to show the amount of action buttons that exist out of the maximum.
- Added "Playing sound clip players" and "Playing sound stream players" which show the current amounts out of the maximums.
"cars" Page
- Added "Parked car count" to show how many parked cars currently exist.
- Moved the listed traffic cars to the "traffic" page.
"mission" Page
- Now shows "Time" in stages with a timer. This is shown in milliseconds.
- Now shows the current time and duration on "timer" objectives in milliseconds.
"traffic" Page
- Added "Count" to show the amount of traffic cars currently in existence out of the maximum.
- Added "In-car limit" to show what the in-car limit is currently set to.
- Added "Group" to show what traffic group is currently in use.
- Added a list of all models in the current traffic group with the current amount of each one out of their maximum.
- Added a list of all current traffic cars and whether or not they're active (in the world).
"music" Page
Fixed a crash when viewing this page when the current region had multiple layers in it.
"paths" Page
- Made this page only show the models of the current ped group and not show an "x" after each count.
- Made this page show characters and which ones are in use.
Discord Rich Presence
- Added the "RapidJSON" license.
- Made this hack output
DISCORD RICH PRESENCE: Initialising...when initialising Discord RPC. - Made this hack wait until the main menu to initialise Discord RPC.
- This seems to make the hack work far more reliably than before.
Dynamic Tree Node Entity Limits
Added this new hack. This makes tree node entity limits get adjusted dynamically if any get exceeded which removes the need to manually increase them.
Frame Limiter
Made the loading screen used when returning to the main menu or going to the Bonus Game menu from the main menu uncapped when "Limit > While on Loading Screens" is disabled but not when "Limit > While on Menus" is disabled.
Hack Support
- Added a new "mods" page when Debug Text is enabled. This page lists all mods and mod hacks that are enabled.
- Added a
-nounrequesthackeventscommand line argument. This makes it so hacks do not unrequest hack events they're not using after the first time they're told about them resulting in reduced efficency. - Added a
-nohookd3dcommand line argument. This disables the Mod Launcher hooking D3D and breaks functionality of numerous hacks. Fun! - Added new "hacks", "shared hacks" and "hack events" pages that show up in Debug Text when using the
-testingcommand line argument. - Made the
-suspendcommand line argument show its message earlier. - Made the
-testingcommand line argument show an assert if the game gets terminated because it took more than 1 second to exit. - Made it so this hack only installs shared patches when they are necessary.
- Also added "-installallsharedhacks". This makes all shared patches get installed regardless of whether or not they're actually in use.
- Made this hack show an assert if it tries to patch the game, call game code or read/write variables if there is no address for the current game version.
- In the case of patches, the patch is also not applied. Otherwise, the game will probably crash after the assert.
- This should never happen, probably.
- Anyways, you can use "-ignoremissingaddresses" to disable this assert.
Increased Reward Limits
Added support for an INI file that allows you to increase the limit of Car and Skin previews to custom amounts. Now Multi-Meme can have more cars!
No Time Limits
Added settings to this hack for whether or not it affects Mission Timers and Timer Objectives instead of just affecting Mission Timers always.
Mirror Mode
Added this new hack that flips the viewport of the world.
NVIDIA Highlights
Added a new "Air Vent" type of highlight. This is disabled by default because your air vent trick shots are not cool.
Screenshots
Made it so holding the F12 key will no longer rapidly take screenshots. Also added a -continuousscreenshots command line argument to undo this.
Skip Main Menu
- Added "Bonus Game" to load directly into the awesome Bonus Game.
- If you have no bonus game levels unlocked, the bonus game will become fully unlocked until you return to the main menu.
- Added "Demo" to load directly into the selected Level's demo when using "-testing".
- Made changing the "Level" away from "1" not set a value for "Mission".
- Made the newspaper sound attempt to play.
Changelog
Highlights
- Anti-Aliasing Hack: A new stand-alone hack for anti-aliasing.
- Configurations: Save and load sets of enabled mods and mod settings to make it easier to switch between them.
- Mod Search: Easily search the Mods List with Ctrl+F.
Launcher
General
- Added
-disablehackcommand line argument to prevent a specific hack from being loaded by its name. - Added
-fontcommand line argument to allow the use of custom fonts. - Added
-fontscalecommand line argument back which was inexplicably removed in 1.19. - Added
-ignorerequiredsystemcommand line argument which allows hacks that do not support the host operating system to be loaded and enabled. - Added
-nocheckmodchangescommand line argument to make it so the Mod Launcher doesn't keep track of Meta.ini files changing. - Added
-nocloselaunchertickboxcommand line argument to hide the "Close Launcher" tickbox. - Added
-spoofdotnetcheckcommand line argument. - Changed the way the Mod Launcher detects if a Meta.ini was changed.
- Previously, it detected this by checking if the modified date was newer than when the mod was loaded.
- Now, it detects this by checking if the modified date is different than what it was when the mod was loaded.
- This resolves an issue where extracting files from a ZIP/RAR made in a timezone that's "in the future" would cause the launcher to think the file changed every time it went to check it.
- Fixed the .NET 3.5 check added in 1.18 that was broken in 1.19.
- Fixed a crash when launching the game with a negative value in an integer setting.
- Made launching show a prompt to reload mods if their Meta.ini file changed since they were loaded.
- Made loading resources out of hacks more efficient.
- Made the
-allowignoremodconflictscommand line argument allow ignoring required mods. - Made the launcher delete the Hacks folder next to it if it's empty after deleting old hacks.
- Made the launcher check that you're running Windows XP or later so it can show a special message if you try running it on Windows 98 or Windows 2000 with .NET 2.0 installed.
- Made the launcher show a more clear message when trying to load a mod that doesn't exist.
- Made it so if the text of the tray icon exceeds 63 characters, it gets shortened.
- Made showing stuff in Explorer still open the containing folder and select the stuff that does exist even if some of it doesn't.
Mods List
- Added search, accessible via the right click menu of the Mods List and with Ctrl+F or F3 on the main window. It can be closed with the escape key while the text box is focused.
- Added a "Default" category that shows mods that are enabled by default.
- Added a Ctrl+P shortcut to toggle pages.
- Added "Show License" to the right click menu of mod hacks that have licenses.
- Fixed an issue where reloading individual mods caused the Mod Launcher to try and load all the hacks again.
- Fixed an issue where you could trick the Mod Launcher into reloading frameworks by changing their Meta.ini and compiling them.
- Fixed an issue where the separator line under "Pages" in the right click menu of the Mods List was hidden on the "Settings" page.
Launcher Settings
- Added "Show License" to the right click menu of mods on the "Non-mod Hacks" tab that have licenses.
- Made the "Executable Path" text box support dragging a folder or executable onto it to set the game executable/directory.
- Made the "Additional Mods > Mods Folders" list support dragging folders onto it to add them to the list.
- Made the "Additional Mods > Mods Folders" list support removing folders with the delete key.
- Made the "Additional Mods > Individual Mods" list support dragging folders or LMLM files onto it to add them to the list.
- Updated the Lua license.
- Updated the libpng license.
- Updated the zlib license.
- Renamed the "Discord" license to "Discord RPC".
- Renamed the "NVIDIA" license to "GeForce Experience SDK".
- Renamed the "OpenSSL" license to "LibreSSL".
Configurations
- Added Configurations, manage and switch between them from the right click menu of the Mods List.
- The title of the currently enabled one will be added to the title of the main window.
- The Donut Team account used to sign into the Mod Launcher is shared across all configurations.
- Also added a
-configurationcommand line argument to launch the Mod Launcher with a specific configuration enabled.- This can be used in conjunction with "-launch" to launch directly into a configuration you've set up.
- This does not change the configuration you have set.
- Also added a
-notitleconfigurationcommand line argument to make it so the current configurations title will not be added to the window title.
Hacks
General
Combined all hacks into a single DLL, Hacks.dll, that is now located in the DLLs folder.
Hacks are still individually active (meaning they patch game code and communicate with other hacks) when enabled via the same logic as before (required by mods, enabled in the Mods List, etc).
Anti-aliasing
Added this new setting hack that allows you to use anti-aliasing if it's supported by your graphics card. If any are supported, it defaults to the highest one but if none are supported, this hack will not show up in the mods list.
You can use "-nomsaa" to have the launcher skip checking what MSAA modes your graphics card supports and disable the hack and hide it from the mods list.
You can also use "-forcemsaa" to have the launcher skip checking what MSAA modes your graphics card supports and force the hack to be in the mods list with all of the possible MSAA modes listed.
Aspect Ratio Support
Changed the default "FOV > Mode" from "Fit" to "Average".
Additional Script Functionality
Removed "!m_bStart" asserts related to using the SetPedsEnabled and SetParkedCarsEnabled commands respectively.
Bug Fixes
Renamed "Fix Late Focus Freeze" to "Late Focus Freeze".
Custom Main Menu Items
Added this new advanced hack to centralize code related to main menu modifications made by Debug Test, Multiplayer and No Saved Games.
Mods cannot currently configure this hack.
Custom Trigger Actions
- Fixed an oversight where this hack was marked as Advanced.
- Fixed an oversight where this hack was still marked as Unreleased.
Debug Test
Graphics Page
Removed "Anti-aliasing".
Vehicles Page
Fixed an issue where "Target Player > Traffic" did not work in the Best Sellers Series version of the game.
Miscellaneous Page
Fixed a mistake where "Delta Time" was mislabeled to as "Substeps" (a different concept).
Debug Text
"gags" Page
Added this page. It lists all the current gags (the outside ones or the ones for the current interior) and whether or not they're loading/loaded. It also shows their joint positions in the world.
Discord Rich Presence
- Fixed an oversight where the hack was listed on Windows XP.
- Updated to a newer version of Discord RPC.
Frame Limiter
Added a new "Method" setting for controlling how the frame limiting is done.
- Waitable Timer: The original method that's consistent but slightly inaccurate. This is still the default setting.
- Sleep: A different method that may work better but also may cause stuttering on some computers.
- Busy Wait: An extremely intensive but effective method.
- Sleep and Busy Wait: A combination of the previous 2 that sleeps for most of a frame and then busy waits for the rest.
Free Roam
Added this new hack that disables all missions and unlocks everything.
Letterbox
Fixed an issue where movies could display incorrectly if the Movies setting in Aspect Ratio Support was disabled or Aspect Ratio Support itself was disabled.
Modern Computer Support
Fixed an issue where the frame delta time could be 0 if the FPS went over 1000. This could cause things (like the player's position) to become NaN.
This fix can be disabled with the -allowzerodeltatime command line argument.
No Neither Road Arrow Processing
Added this new hack. This fixes an issue where the game tries to process road arrows during a "neither" stage which can cause crashes in certain cases.
You probably shouldn't require this unless that comes up but it probably won't in Radical's maps.
No Saved Games
Added this new hack that entirely disables the loading and use of saved games.
Changelog
Launcher
General
Updated the Mod Launcher's copyright year to 2019.
Hacks
Override Shader Parameters
Fixed an issue where "2SID" was being disabled on certain shaders the game dynamically created causing certain things to appear invisible such as smoke from damaged vehicles and the coin sparkle.
Changelog
Launcher
General
Made the Mod Launcher check if your mod's Meta.ini was updated since it was loaded when compiling.
Localisation
This version adds 4 new language strings related to a compiling mod whose Meta.ini was modified since it was loaded.
A new template language (Template_1.20.1.xml) was published on this page including these new string formats as well as the original strings. The template also now indicates when strings were removed if they were in this update or any previous ones.
Mod Features
Added an Alpha property to Colour type settings.
Hacks
Aspect Ratio Support
Fixed an issue where the "Movie Letterbox Colour" setting let you pick an alpha.
Letterbox
Fixed an issue where the "Colour" setting let you pick an alpha.
Override Shader Parameters
Added this new hack. This allows you to override any parameter in a shader from an XML file including ones that are normally forced on such as "2SID" (2-sided).
Changelog
Highlights
- New Custom Trigger Actions hack for binding custom actions to triggers.
- New mission commands in ASF for toggling pedestrians and parked cars for missions.
- Several new setting hacks including a fancy Letterbox hack.
Launcher
General
- Added the
-nocommandlinefilecommand line argument. - Added the
-nodeleteoldcommand line argument. - Added the
-ignorelaunchmodconflictscommand line argument. - Added the
-nowatermarkcommand line argument. - Fixed an issue where ampersands were incorrectly escaped for the tray icon hover text.
- Made launching the game detect types of conflicts that previously were only detected when ticking mods.
- Made the
-allowignoremodconflictscommand line argument also allow the user to ignore conflicts detected when launching the game.
Main Window
Made "Close Launcher" default to being unticked (based on the results of this poll).
Localization
This version introduces a new language string for when a conflict is detected upon launching the game.
A new template language (Template_1.20.xml) was published on this page including these new string formats as well as the original strings. The template also now indicates when strings were removed if they were in this update or any previous ones.
Hacks
Additional Script Functionality
This update introduces a couple new script commands for missions.
- Added
SetParkedCarsEnabled. This allows you to enable or disable parked cars for a mission. - Added
SetPedsEnabled. This allows you to enable or disable pedestrians for a mission.
Aspect Ratio Support
Added the "Movie Letterbox Colour" setting.
Custom Trigger Actions
Added this new hack. This allows you to bind various custom actions to specific triggers or events with optional conditions.
Debug Test
General
Renamed the "Sky" page to "World Spheres".
Menus Page
Removed "No Camera Animations" in the "Main Menu" section.
World Spheres Page
Added "Activate Dynamic World Spheres" as a setting instead of forcing it when this hack was enabled.
Miscellaneous Page
- Removed "Allow Cancel Initial Walk".
- Removed "No Go To Objective Camera Focus".
Debug Text
General
Added a "world spheres" Page that shows information about any currently loaded World Spheres and their respective Lens Flares (if applicable).
"cars" Page
Added "Parked cars enabled" to show if parked cars are currently enabled.
"paths" Page
- Added "Enabled" to show if pedestrians are currently enabled.
- Added "Group" to show the currently selected ped group.
- Added information about all the ped groups that exist.
Lens Flare
- Made Lens Flares not get enqueued if their World Sphere is deactivated.
- Also added the
-deactivatedworldspherelensflarescommand line argument to suppress this behaviour. - This fixes an issue where deactivating a world sphere would not deactivate its lens flare.
- Also added the
Other Hacks
This version introduces several new Setting hacks.
- Cancellable Initial Walk
- Allows you to interrupt the character walking at the start of a level.
- Letterbox
- Allows you to force the game into a specific aspect ratio regardless of the game window's dimensions.
- This may prove helpful for speedrunners who want to maximize their game window or play in full screen while forcing the game into 4:3.
- No Go To Objective Camera Focus
- Disables the game taking control of the camera when you step near the target on foot in a "goto" stage.
- No Main Menu Camera Animations
- Disables the camera animations on the main menu.
- This hack is requirable as well if a mod calls for it.
- No Wrenches
- Fully disables wrenches.
- One Tap Player Car Death
- Makes the player's car get destroyed in one hit.
- This hack has various options for what types of thing annihilate the player's car.
Changelog
Banner

Highlights
- Additional Script Functionality: Vehicle Character Commands
- Language Localization Support for the Mod Launcher's Interface
- The Mod Launcher still only ships with English.
- Lens Flare Hack
- Video Texture Support Hack
Launcher
General
- Added "dbghelp.dll" to the DLLs folder. This is used to save crash dumps.
- Added the
-debugloadhackscommand line argument. - Added the
-loadhackspausecommand line argument. - Fixed a crash when using "-launch" with "Start in Correct Resolution" enabled (as is the default).
- Made the game only start in the correct width and height when starting windowed.
- Made the Mod Launcher restart if the shift key is held down when reloading all mods.
- Made the unhandled exception message have an error icon instead of no icon.
- Removed limitations on how many mods, hacks and mod settings could be injected into the game.
- You don't want to know.
Main Window
Made the main window re-centre to the screen the loading window was moved to if it was moved to another screen while reloading. Made the main window start on the screen the loading window was last on. Made the error message shown when failing to load mods show after the main window. Made the loading window appear on the screen the main window was on when reloading.
Mod Info
Made "Size" on the Advanced tab of the Mod information panel available when using -noscanmodfiles for hacks and compiled mods.
Mod Settings
Fixed an issue where the icon of the Mod Settings window when using "-settings" where the default .NET icon instead of the Mod Launcher's Icon.
Launcher Settings
Added "Limit to Single Core" to the "Game" tab.
Localisation
Added support for Language Localization.
Hacks
Additional Script Functionality
This update brings about the ability to add characters to the player's car or stage vehicles.
You can use this exciting new functionality to have passengers accompany the player in missions and just have characters present in a car.
CON Commands
- Added the
AddVehicleCharactercommand. - Added the
SetVehicleCharacterAnimationcommand. - Added the
SetVehicleCharacterJumpOutcommand. - Added the
SetVehicleCharacterScalecommand. - Added the
SetVehicleCharacterSuppressionCharactercommand. - Added the
SetVehicleCharacterVisiblecommand.
MFK Commands
- Added the
AddStageVehicleCharactercommand. - Added the
RemoveStageVehicleCharactercommand. - Added the
SetStageVehicleCharacterAnimationcommand. - Added the
SetStageVehicleCharacterJumpOutcommand. - Added the
SetStageVehicleCharacterScalecommand. - Added the
SetStageVehicleCharacterVisiblecommand. - Added the
SetStageVehicleAllowSeatSlidecommand. - Updated
SetStageCharacterModelto default the second argument to the player's current animation set instead of requiring the argument.
Bug Fixes
- Added "Actors" > "Restore Wasp Collision".
- This fixes an issue where destroying a certain number of wasps disables their collision until the level is fully reloaded.
- Changed the tooltip for "Character Rotations" to be more specific about what it does. The hack's description was also updated to reflect this change.
- Made "Fix Steering Animations" also fix the steering/swaying animation cancelling immediately/starting again repeatedly.
Custom Audio Format Support
Added support for Lua Path Handler Redirections on RSD files to FLAC and Ogg files.
Custom Files
General
- Made CustomFiles.lua execute after all hacks that are supposed to be loaded are loaded.
- Made this hack only mount "CustomFiles" folders that exist.
- This change can dramatically improve performance if you have lots of mods enabled but only a few have CustomFiles folders (like Mod Hacks for instance).
Lua Scripting
- Added
GetLauncherVersion. This returns the current version of the Mod Launcher. - Added
GetMainMod. This returns the InternalName of the current main mod (if there is one). - Added
GetSettings. This returns the settings of the current mod (or the specified mod) in a Lua table. - Added
IsTesting. This checks if the user is has the Mod Launcher's testing mode enabled. - Added
UseCallbacks. This is an advanced function for handling files with Lua that may or may not have a use case. - Fixed an issue where "ComparePaths" was always case sensitive and always slash sensitive.
Debug Text
General
- Made Ctrl+C copy the current page text to clipboard.
- Also added "Allow Copying with Ctrl+C" to the "Advanced" tab of the hacks settings to disable that.
"actors" Page
Added this page.
"cams" Page
Made this page exclude null cameras.
"characters" Paege
Added this page.
"intersects" Page
Made this page not say "Y: " before the Y and "Z: " before the Z of "Intersect triangle pos 3".
"loaded characters" Page
Added this page.
"missions" Page
Made this page exclude null missions.
"mission" Page
- Made this page show "null" for null objectives instead of crashing.
- This is helpful for debugging in the event the stage's objective is not getting added.
"traffic" Page
Made this page render the segments of the road the car is currently on (and the previous roads segments if the car is on an intersection).
"triggers" Page
- Made this page include the type number of locators in brackets after the type name.
- Made sphere triggers render as spheres now instead of boxes.
Debug Test
General
Removed the F9 dialog to list all entered triggers.
Menus Page
Made "Main Menu" > "No Glow Hide" work in the demo version of the game even though this version skips the Main Menu entirely.
Graphics Page
- Added "No Texture/Alpha Operations/Arguments".
- Added "PDDI Windowed".
- Added "No Force Back-faces".
- Removed "Lens Flare".
Speedometer Page
Made "Use Miles Per Hour" and "Show Units" work in the demo version of the game.
Vehicles Page
- Added "Lisa Y Offset".
- Made "Target Player" work in game versions other than Release English.
Sky Page
Made "Scale" and "Position" work in game versions other than Release English.
Miscellaneous Page
- Made "Cursor" > "Show Windows Cursor" work in game versions other than Release English.
- Made "No Splash Screen Loading" work in the demo version.
Interprocess Communication
Fixed an issue where the Pure3D Editor would hang when selecting locators or right clicking on 3D views in some cases with the following changes:
- Made this hack still respond if the game is in a blocking modal loop or minimized while in fullscreen mode..
- Made this hack uninitialise if the game crashes.
Modern Computer Support
Fixed an issue in the game where the border was not removed when in fullscreen (particularly noticable on Windows 10).
Lens Flare
Added this new hack. This makes Lens Flares work just like the console releases of the game.
Resizable Window
- Fixed issues when switching from a resizable window to fullscreen.
- Made the game not change its resolution when loading its settings if the window size is changed before then.
- Made the game maintain its center when changing resolution instead of re-recentering on the screen.
- Made the game continue processing and rendering when a Windows context menu (like you'd get when right clicking the caption of the window) is open.
Screenshots
Added the -debugscreenshots command line argument.
Video Texture Support
Added this new hack. This allows you to use BIK files as textures.