- Bootstrap: Doorstop entry point, loads Harmony/Newtonsoft from the MSCO folder, hooks
PlayMakerArrayListProxy.Awake and starts MSCO in the main menu; skips the news screen
- No MSCLoader reference anymore; key bindings in PlayerPrefs, bind console command
- Harmony 1.2 and Newtonsoft.Json in lib/ (MIT notices); build copies to <game>\MSCO
- README/CHANGELOG updated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- VehicleStateSync also tracks the CARPARTS and Database roots (wear, damaged
parts, tire wear, oilpan oil, battery charge, carb/ignition settings,
suspension, odometer); the Satsuma's driver is authoritative for them
- Paint colors (FsmColor) as four float channels (compatible with old servers)
and applied to the part's material
- FSMs are re-examined when a part is installed/removed (path changes);
before, anything not on the car at the first scan was never synced
- ControlSync: handbrake, sun visors, seat recline, seat belt, CD player,
interior light; pending states for controls not found yet
- Late joiners: job/shop values and switch states from the server snapshot;
P2P host resends all switch states every 15 s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A driven vehicle is no longer released after 3 s without data (a short hitch
of the driver, e.g. saving, stopped the car instantly on the passenger's side
and ripped the parts off, which then synced to everyone): 30 s timeout, on
release it keeps the driver's velocity and part joints stay unbreakable for
3 more seconds
- Cargo in a moving vehicle belongs to its driver (passengers no longer claim
items in the car, which then followed late and kinematic at the driver's end
and knocked seats and parts off)
- Passenger: sit down automatically by stepping into the open passenger door,
also without a driver (seat from the game's DriverHeadPivot); Space or P to
get out
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>