Releases: EnAppelsin/SHARCarRandomiser
v3.0 - Seeding
v3.0 - Seeding
This update adds a major change: the ability to use a predefined seed to get consistent randomisation for e.g. tournament races
This also provides a "SpeedrunMode" setting to force a common set of approved rules for speedruns
Detailed Changelog (from Github)
-
New Meta.ini
-
Break down HandleMission
Breaks down HandleMission into separate scripts - Start of the modular system
-Also changed regex to fix some issues
- Updated CustomFiles.ini
Updated to redirect to the new mission scripts.
- Fixed CustomFiles.ini
Noticed I was dumb and missed bonus missions and races
- Initial Modular
The start of the modular system. Only for Level files at the moment.
- Updated Modular System
• Added Sunday Drives to modular system
• Improved existing modular system file structure
- Fully modular
All MFK-related randomisation is now modular.
TODO:
• Improve efficiency now that the load and init files are processed in the same code (see lines 79 and 80 in RandomItems.lua)
• Handle multiple instances of the same object now that we handle both in the same code (IE 10 bonestorm drops, 4 cellout cars)
- Modular improvements
• Updated GlobalArrays to have less global tables in there - moved to relevant modular file.
• Added 2 new global functions. One to count KV tables, the other to clone KV tables.
• Updated RandomMissionItems to randomise multiple instances of the same drop. Probably not the final version, but a good proof of concept.
• Fixed a bug with RandomMissionCharacters - Type of "RandomMissionsCharacters" made it stop working
- Modular Updates
• Changed Random Mission Vehicles to be based on the Init file - Improves randomisation, as well as randomising races
• Fixed a bug that arose with Random Player Vehicles because of this
• Fixed a bug that arose in HandleCar because of this
• Fixed a bug in HandleMissionLoad that didn't assign the mission variable if it was a race
• Added a new setting to remove the forced car limits
• Edited CustomText to use the new settings table - and to add the new setting
• Removed old (and now unneeded) method of random cellouts
• Removed old setting for random cellouts
- Bug fixes
• Added warning on RandomCarSounds until fixed
• Fixed a bug with RandomChase and RandomMissionVehicles
• Added basic file outputting - temporary until Appel's version
- Modular update
- Updated RandomItems to randomise more things
- Updated RandomItems and added setting to include characters in random item pool
- Fixed bug in logging files to console
- I missed a comma
I'm dumb
- Bug fix
Fixes an issue where missions/races with the same identifier were being detected as the same mission for remembering random cars
Added a handler just in case a similar issue happens again
- Bug fixes - Module sort order - Cars in Random Items
- Fixed a bug when saving randomised mission cars
- Added a handler in case of failure on random mission cars so it defaults to original instead of crashing
- Fixed a bug on a print trying to concatenate a boolean
- Added module sorting, to make sure modules load in required order
- Added the ability to include cars in random items
- Update RandomItems.lua
- Fixed a debug testing line
- Added traffic cars
- Bug Fixes - Start Of New Feature - Settings Migration
- Increase sound limits - could fix random crash with car sounds
- Migrated all Settings checks from old static values to Settings table
- Added the start of Random Static Cars - Ability to randomise phone booths and bonus cars
- Fixed gags in interiors - Doesn't fix interior doorbells
- Fixed a bug with finish_line and race objectives
- Update CustomFiles.lua
Fixed CustomFiles to use new Settings
- Features and Bug Fixes
- Added Verbose Debug - logs all changed files to console using base64 - used for specific debugging
- Doubled Sound limits again because I got the crash again
- Completed Random Static Cars feature
- Bug fixes
- Added option to save static car choice per level
- Added botched fix for RandomStaticCar crash - TODO: Ask Appel to have a look
- Added ability to force randomisations with secondary mod
- DebugSettings and RandomStaticCar improvements
- Changed Debug Settings to use a setting to enable/disable
- Added ability to execute code in CustomFiles.lua with Debug Settings
- Improved ReplaceCar function - Thanks Appel
- Moved base64 to GlobalFunctions
- Bug fixes
- Fixed a bug in Custom Limits for sound
- Added randomising the item above races/bonus mission
- Added the start of randomising races/bonus missions
- Re-added printing files to log in DebugLevel 5
- Bug Fixes and Features
- Massively increased sound clip limits due to continued crashing
- Set the mod to SupportsInternaional=0 because different languages currently break it
- Set CustomCars to default to 0 because errors if the external framework is not configured
- Added option to randomise bonus missions
- Added warning to Random Bonus Missions stating that users may need to restart the bonus mission to load the level
- Commented Random Car Sounds warning
- Removed old comment for Random Chase Amount warning
- Fixed a bug with Random Static Cars and Custom Cars
- Removed old comments from Random Missions
- Bug Fixes
- Fixed an issue where GetFiles would add a double slash
- Fixed a duplicated end statement in HandleCarModel
-
Give AI massive tire grip
-
Fix Random Car Scale
-
Additions and bug fixes
- Added RandomLevelMissions - CURRENTLY BROKEN
- Fixed AI tire grip
- Fixed Mission Modules to use local tables
- Fixed RandomLevelMissions
Fixed :D
- Bug fixes
- Changed our old ModVersion code to the new official method
- Renamed HandleLevelModel to HandelLevelInterior to better represent what it does
- Fixed RandomInteriors to work with RandomLevelMissions
- Update RandomLevelMissions.lua
- Fixed an issue where restarting the mission would swap back to the original level.
-
Decompress compressed P3D files
-
Random text support
-
Update P3D.lua
-
Add mistakenly deleted P3D functions
-
Minor adjustments
- Removed warning about random interiors - feature stable
- Changed method for L4CustomT to create file from scratch
- SpeedrunMode
- Added the start of SpeedrunMode to Gibstack's requirements
-
Fix Speedrun Mode
-
Update Meta.ini
-
Update chair.con
-
Dev build defaults to high debugging output
-
Add warnings for static car modification due to p3d issues
-
Fix speedrun mode settings
-
Fixed Speedrun Mode
- Fixed a bug where settings were forced after loading the modules.
-
Update HandleCar for mission vehicles properly
-
CustomChars
- Added custom chars
- Made the mod auto-populate the RandomCharP3DPool
- Improved GetFiles function slightly
- Updated everything that used RandomCharP3DPool to use the new table format
- Implemented Lucas' P3D function improvements
- Updated ReplaceCharacterSkinSkel to use slightly faster method, but more importantly support everything a custom character can use (I hope)
- Replaced BrightenModel with a more complete function from my DynamicLighting mod
- Added RandomiserChars framework
- Added h_burn_m as example P3D. Credit to Loren for the model
- Added a basic README - TODO: Write full help document similar to RandomiserDialog and RandomiserCars
- Custom Chars Bug Fixes
- Fixed an issue where I forgot to clear the old RandomCharP3DPool
- Fixed an issue with HandleCharModel where in a scenario that there was a CustomChar with the same name as a Player/Mission character, the CustomChar would be loaded with no randomisation
- Fixed an issue with CustomChars and Mission Drivers
- Bug Fixes - Start of P3DChunk Class
- Make RandomCouch handle holiday menu characters like christmas.
- Aded Testing to RandomLevelMissions setting due to consistent crash
- Added the start of P3DChunk Class
- Update P3DChunk.lua
Fixed typoes in P3DChunk
- P3D Class System Improvements
- Improved some of the core P3D functions to use string.pack and string.unpack
- Improved the class system
- Updated BrightenModel to use class system
- Added SetModelRGB
- Update P3D.lua
Forgot to remove old function
- Update P3DChunk.lua
- Fixed typo in ShaderP3DChunk:SetColourParameter
- Made WorldSphere, Mesh, LensFlare and OldBillboardQuadGroup chunks auto calculate their child count values
- Update P3DChunk.lua
Made GetChunkIndexes loop in reverse so deletions don't break things
- P3D stuff
Added MakeModelInvisible and new chunks
- P3D
- Added MakeCharacterInvisible
- Added Composite Drawable chunk
- Update P3DChunk.lua
Changing to use the function
- ColourList Improvements
- Improved usability if ColourListP3DChunk
- P3D
- Fixed AddChunk function
- Fixed StaticPhysP3DChunk
- Added StaticEntityP3DChunk
- Added MakeModelSolid function
- Migration to P3D Lib
Most of the changes to P3D Lib
- Frontend automation
Added code to dynamically modify the frontend to reduce file size by 4MB
- P3D improvements
- Made Make and Clean P3D String return nil if input is nil
- Made MultiController Track Count be accurate
- Made RandomCouch correctly close character's eyes
- Update to RandomDialogue
1.24 update to take advantage of FileSystemRCFs and ReadFileOffset
- RandomDialogue improvements
Set Random Dialogue enabled by default
Slightly optimised reading the header of RCF files
Commented the sanity check of RSD files. All known files processed contain valid RSD files so probably not necessary or worth the slowdown.
- Bug fixes
- Changed required launcher to 1.24 to take full advantage of FileSystemRCFs
- Fixed milhouse lines not being randomised
- Fixed an issue with international support not loading the right SPT file
- Removed SPT files from Resou...
auto-build-refs/heads/main
Make seeding main (#63) * New Meta.ini * Break down HandleMission Breaks down HandleMission into separate scripts - Start of the modular system -Also changed regex to fix some issues * Updated CustomFiles.ini Updated to redirect to the new mission scripts. * Fixed CustomFiles.ini Noticed I was dumb and missed bonus missions and races * Initial Modular The start of the modular system. Only for Level files at the moment. * Updated Modular System • Added Sunday Drives to modular system • Improved existing modular system file structure * Fully modular All MFK-related randomisation is now modular. TODO: • Improve efficiency now that the load and init files are processed in the same code (see lines 79 and 80 in RandomItems.lua) • Handle multiple instances of the same object now that we handle both in the same code (IE 10 bonestorm drops, 4 cellout cars) * Modular improvements • Updated GlobalArrays to have less global tables in there - moved to relevant modular file. • Added 2 new global functions. One to count KV tables, the other to clone KV tables. • Updated RandomMissionItems to randomise multiple instances of the same drop. Probably not the final version, but a good proof of concept. • Fixed a bug with RandomMissionCharacters - Type of "RandomMissionsCharacters" made it stop working * Modular Updates • Changed Random Mission Vehicles to be based on the Init file - Improves randomisation, as well as randomising races • Fixed a bug that arose with Random Player Vehicles because of this • Fixed a bug that arose in HandleCar because of this • Fixed a bug in HandleMissionLoad that didn't assign the mission variable if it was a race • Added a new setting to remove the forced car limits • Edited CustomText to use the new settings table - and to add the new setting • Removed old (and now unneeded) method of random cellouts • Removed old setting for random cellouts * Bug fixes • Added warning on RandomCarSounds until fixed • Fixed a bug with RandomChase and RandomMissionVehicles • Added basic file outputting - temporary until Appel's version * Modular update - Updated RandomItems to randomise more things - Updated RandomItems and added setting to include characters in random item pool - Fixed bug in logging files to console * I missed a comma I'm dumb * Bug fix Fixes an issue where missions/races with the same identifier were being detected as the same mission for remembering random cars Added a handler just in case a similar issue happens again * Bug fixes - Module sort order - Cars in Random Items - Fixed a bug when saving randomised mission cars - Added a handler in case of failure on random mission cars so it defaults to original instead of crashing - Fixed a bug on a print trying to concatenate a boolean - Added module sorting, to make sure modules load in required order - Added the ability to include cars in random items * Update RandomItems.lua - Fixed a debug testing line - Added traffic cars * Bug Fixes - Start Of New Feature - Settings Migration - Increase sound limits - could fix random crash with car sounds - Migrated all Settings checks from old static values to Settings table - Added the start of Random Static Cars - Ability to randomise phone booths and bonus cars - Fixed gags in interiors - Doesn't fix interior doorbells - Fixed a bug with finish_line and race objectives * Update CustomFiles.lua Fixed CustomFiles to use new Settings * Features and Bug Fixes - Added Verbose Debug - logs _all_ changed files to console using base64 - used for specific debugging - Doubled Sound limits again because I got the crash again - Completed Random Static Cars feature * Bug fixes - Added option to save static car choice per level - Added botched fix for RandomStaticCar crash - TODO: Ask Appel to have a look - Added ability to force randomisations with secondary mod * DebugSettings and RandomStaticCar improvements - Changed Debug Settings to use a setting to enable/disable - Added ability to execute code in CustomFiles.lua with Debug Settings - Improved ReplaceCar function - Thanks Appel - Moved base64 to GlobalFunctions * Bug fixes - Fixed a bug in Custom Limits for sound - Added randomising the item above races/bonus mission - Added the start of randomising races/bonus missions - Re-added printing files to log in DebugLevel 5 * Bug Fixes and Features - Massively increased sound clip limits due to continued crashing - Set the mod to SupportsInternaional=0 because different languages currently break it - Set CustomCars to default to 0 because errors if the external framework is not configured - Added option to randomise bonus missions - Added warning to Random Bonus Missions stating that users may need to restart the bonus mission to load the level - Commented Random Car Sounds warning - Removed old comment for Random Chase Amount warning - Fixed a bug with Random Static Cars and Custom Cars - Removed old comments from Random Missions * Bug Fixes - Fixed an issue where GetFiles would add a double slash - Fixed a duplicated end statement in HandleCarModel * Give AI massive tire grip * Fix Random Car Scale * Additions and bug fixes - Added RandomLevelMissions - CURRENTLY BROKEN - Fixed AI tire grip - Fixed Mission Modules to use local tables * Fixed RandomLevelMissions Fixed :D * Bug fixes - Changed our old ModVersion code to the new official method - Renamed HandleLevelModel to HandelLevelInterior to better represent what it does - Fixed RandomInteriors to work with RandomLevelMissions * Update RandomLevelMissions.lua - Fixed an issue where restarting the mission would swap back to the original level. * Decompress compressed P3D files * Random text support * Update P3D.lua * Add mistakenly deleted P3D functions * Minor adjustments - Removed warning about random interiors - feature stable - Changed method for L4CustomT to create file from scratch * SpeedrunMode - Added the start of SpeedrunMode to Gibstack's requirements * Fix Speedrun Mode * Update Meta.ini * Update chair.con * Dev build defaults to high debugging output * Add warnings for static car modification due to p3d issues * Fix speedrun mode settings * Fixed Speedrun Mode - Fixed a bug where settings were forced after loading the modules. * Update HandleCar for mission vehicles properly * CustomChars - Added custom chars - Made the mod auto-populate the RandomCharP3DPool - Improved GetFiles function slightly - Updated everything that used RandomCharP3DPool to use the new table format - Implemented Lucas' P3D function improvements - Updated ReplaceCharacterSkinSkel to use slightly faster method, but more importantly support everything a custom character can use (I hope) - Replaced BrightenModel with a more complete function from my DynamicLighting mod - Added RandomiserChars framework - Added h_burn_m as example P3D. Credit to Loren for the model - Added a basic README - TODO: Write full help document similar to RandomiserDialog and RandomiserCars * Custom Chars Bug Fixes - Fixed an issue where I forgot to clear the old RandomCharP3DPool - Fixed an issue with HandleCharModel where in a scenario that there was a CustomChar with the same name as a Player/Mission character, the CustomChar would be loaded with no randomisation - Fixed an issue with CustomChars and Mission Drivers * Bug Fixes - Start of P3DChunk Class - Make RandomCouch handle holiday menu characters like christmas. - Aded Testing to RandomLevelMissions setting due to consistent crash - Added the start of P3DChunk Class * Update P3DChunk.lua Fixed typoes in P3DChunk * P3D Class System Improvements - Improved some of the core P3D functions to use string.pack and string.unpack - Improved the class system - Updated BrightenModel to use class system - Added SetModelRGB * Update P3D.lua Forgot to remove old function * Update P3DChunk.lua - Fixed typo in ShaderP3DChunk:SetColourParameter - Made WorldSphere, Mesh, LensFlare and OldBillboardQuadGroup chunks auto calculate their child count values * Update P3DChunk.lua Made GetChunkIndexes loop in reverse so deletions don't break things * P3D stuff Added MakeModelInvisible and new chunks * P3D - Added MakeCharacterInvisible - Added Composite Drawable chunk * Update P3DChunk.lua Changing to use the function * ColourList Improvements - Improved usability if ColourListP3DChunk * P3D - Fixed AddChunk function - Fixed StaticPhysP3DChunk - Added StaticEntityP3DChunk - Added MakeModelSolid function * Migration to P3D Lib Most of the changes to P3D Lib * Frontend automation Added code to dynamically modify the frontend to reduce file size by 4MB * P3D improvements - Made Make and Clean P3D String return nil if input is nil - Made MultiController Track Count be accurate - Made RandomCouch correctly close character's eyes * Update to RandomDialogue 1.24 update to take advantage of FileSystemRCFs and ReadFileOffset * RandomDialogue improvements Set Random Dialogue enabled by default Slightly optimised reading the header of RCF files Commented the sanity check of RSD files. All known files processed contain valid RSD files so probably not necessary or worth the slowdown. * Bug fixes - Changed required launcher to 1.24 to take full advantage of FileSystemRCFs - Fixed milhouse lines not being randomised - Fixed an issue with international support not loading the right SPT file - Removed SPT files from Resources due to FileSystemRCFs * Update README.md * v2.1 final (hopefully) - Improved CustomFiles.ini matches for dialogue - Added Super Random Dialogue - Added Settings and updated README/Custom Text - Changed RandomCase easter egg * v2.1 actually final (hopefully) - Added a setting to include RandomiserFramework in random dialogue - Fixed a bug with car animations in RandomStaticCar - Updated README * Update README.md Fixing some punctuation * Pedestrian Swatches Fix - Added extra Debug Settings for characters - Fixed Pedestrian Swatches being randomised and breaking looks on some peds * Bug fixes | RandomLapCount | RandomWaypoints - Fixed SettingsHeight - Fixed some colour issues on chars such as Dr Nick when they're used as pedestrians - Fixed a potential Lua crash if user puts Max < Min with block length - Added RandomLapCount - Added IsRace parameter to mission functions - Added GetRoads function to P3DFunctions - Added Testing setting RandomWaypoints * Update RandomWaypoints.lua - Fixed a potential bug with too greedy of a pattern - Fixed a bug where you could run out of time * Bug fixes and RandomUFOs - Fixed a dumb bug regarding fixing char swatches on peds - Fixed a bug in RandomWaypoints where bombbarrel was missed in L7 and destinations were not marked on map. - Added RandomUFOs to randomise the UFO location. Currently also locked behind -testing * Feature Improvements - Removed redundant P3D CustomFile - added modification to Lua - Improved GetRoads code shared by RandomWaypoints and RandomUFOs - Fixed Random Lap Count not setting time on Time Trials - Added Max values to Min and Max Lap Counts - Added Random UFOs to other levels - Fixed a bug with Random UFOs using the Mission table * Waypoint and UFO improvements - Added additional tester credits - Renamed `RandomWaypoints` and `RandomUFOs` to the more apt `HandleMissionP3D` and `HandleLevelP3D` - Made RandomWaypoints randomise sunday drive locators * Early progress on seeding * Fix wraparound of attempts * Only show seed if seeded mode * handle bonus missions and gambling races * bring .github things over (workflow mainly) * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Some seeding fixes * Random chase amount seeded * RandomTrafficParked * More makechoice flexibility * typo fix * Clearer parameter name * Magic number elimination service * Full random chase seeding * Fix random chase and seed random traffic * Better debugging if Modules have syntax errors * Add a warning if chaos mods are enabled * Seed random mission vehicles using insane method * Random pedestrians too * Don't change level results on revisit * Seed random missions * Quick and dirty fix for cached scripts not working properly * New method of seeding by generating ALL missions at the start * Note the globals for the code to save them * Reorder seeding to do level then its missions (ensures global consitency) * Update build.yml * Typo in build.yml * Fix seeding to work and be deterministic * Seeding fixes * Update HandleLevelLoad.lua * Update HandleCharModel.lua - Potentially fix an issue with Custom Characters * Fix Meta.ini Bad merging led to duplicated SpeedrunMode * Do a better job at fixing Meta.ini * Move pool checks to after custom framework loading * Add checkword and debugging --------- Co-authored-by: Proddy <[email protected]>
auto-build-refs/heads/seeding
Add checkword and debugging
auto-build-refs/pull/63/merge
Merge c696b87303dbc368c98239e5120c3f44d1ff91f6 into cf05657ffc3138bc3…
v2.1
This is the same beta release that should have been published a long time ago!
Sorry!
RandomiserCars has been updated, please consider redownloading if you downloaded before 24.11.2019
ADDITIONS
- [Beta 1] Adds a setting to remove forced car out outofvehicle conditions
- [Beta 2] Added randomising of the item above race/bonus mission NPCs
- [Beta 2] Added ability to randomise static cars (e.g. phone booth and bonus vehicles)
- [Beta 2] Added verbose debug for debugging specific issues
- [Beta 2] Added ability to force certain randomisations for debugging specific issues
- [Beta 3] Random Bonus Missions
- [Beta 3] Random level missions to play missions from other levels sharing the map
- [Beta 3] Random Text
- [Beta 3] Speedrun mode
CHANGES
- [Beta 1] Changed the entire back-end code on handing MFK files, making the below possible:
- [Beta 1] RandomItems now randomises multiple instances of the same item (e.g. Bonestorm is now 10 different item drops)
- [Beta 1] RandomMissionVehicles now randomises multiple instances of the same car (e.g. Cell-outs and Operation Hellfish)
- [Beta 2] RandomItems now has the option to include characters and cars in the drops list
- [Beta 3] AI tire grip is massively increased so they drive better
- [Beta 3] Chair (Custom car) has lower HP
- [Beta 3] Beta releases have much higher debug output by default
BUG FIXES
- [Beta 1] Fixed a bug causing some dialogues to freeze
- [Beta 1] Fixed Traffic pizza van and BnF pizza van being randomised to the same car
- [Beta 2] Fixed a bug with sound limits crashing the game
- [Beta 2] Fixed gags in RandomInteriors
- [Beta 2] Fixed RandomItems crashing missions with race objectives
- [Beta 2] Fixed an issue when saving randomised mission cars
- [Beta 3.1] Fixed an issue with Speedrun Mode where it didn't fully force the settings
KNOWN ISSUES
RandomCarSounds can rarely cause crashes at any time. Cause by unknown limitations with car sounds.- Some missions with random missions won't load the area. A mission restart should fix this.
- Random static vehicles may produce model errors (missing wheels, etc)
auto-build-refs/heads/master
Use v4 of Github Actions v2 have been "deprecated" (broken/abandoned) by GitHub, hopefully we don't do anything fancy that breaks
auto-build-refs/heads/v4
Updated libraries
auto-build-refs/pull/61/merge
Merge 8cf00bcf513ae9631405dcf8af78b5c5e34514f9 into 1e6ba05a9ecf5f57f…
auto-build-refs/pull/60/merge
Merge 231027d86c0c6bef681c119593dad205124deed3 into 4fa11e1ccdc0d7fbe…
auto-build-refs/heads/dev
Merge branch 'master' into dev