3,719 Commits over 639 Days - 0.24cph!
patrol_helicopter_rotation_fixes -> main
Sanitise patrol helicopter spotlight rotations
bee_catapult_bomb -> main
Changed pick up and drop sounds
Fixed error in Tech Tree 0
Added Bee Catapult Bomb
On impact it spawn groups of Bee Swarms.
Setup icons, catapult setup and entities.
Manifest
Try and skip setter injection on the client by checking the subtarget
main -> bee_catapult_bomb
Ensure build looks in the correct path
Call patch assembly anytime scripts reload
Re-enable bootstrap check
Setup options styling on main menu
Tab system
Wired up home and play
Animation transitions
Fixed navigation architecture
Setup Page system
Setup basic navigation and routing system
Setup home screen routing
New MenuManager
Only generate symbols if pdb exists
Wrap inside of setter in if server block
Ensure SyncVars run first in the build process.
Don't create a lock on Rust.Global.dll
Ensure injector errors when it cant find sync method (dont bother throwing)
Safeguards for client weaving process (dont try to hook setter at at all)
Fixed autosave/autoload not using preprocessor directives
Fixed Changed event being ran on autoload
Convert train line up to unload and train num connected cars to syncvars
Set GenerateEvent default to true
Use a wrapper method instead of emitting equality comparitor in IL - it was ugly at best
Add support for RequireChanged flag - this runs the old and new values through an equality comparison before pushing sync.
Swapped train engine fuel amount over to use SyncVars instead of protobufs.
First set of testing.
Use an autosave buffer as an intermediary when writing to syncvar bytes
Prevents byte allocations every autosave
Add Autosave system. SyncVars marked as Autosave will automatically be injected into Save/Load methods so no need to write protobufs.
Updated source generator to support event generation.
Ensured our attribute matches this
More tests in the legacy shelter
Better weaver symbol logic (to prepare for being built)
Downgraded code analysis to 3.8 so it doesnt explode hot reload
Safer SyncVar Implementation:
Rosyln Source Generator creates: Weaver ID table (managed to make it free), read, write methods and backing fields.
Run Weaving step based on the result of source generator, only bother hooking setter IL to run code created during the source generator phase
Add source generator dependencies
vending_machine_modify_listings -> main
Can now modify Vending Machine listings.
Clicking on an existing listing repopulates the sell order input fields.
bee_spawnrate_reduction -> main
Missed oak_e... Lives in a different folder
Add Flash [ON]/[OFF] display to camera UI
Control flash with standard F light on/off
Wider flash
Created a new bulb icon (light one)
Network flash effect
Minor prefab changes
Added a usable flash to the instant camera
▇██▇▅_▇▌▉▄▇▉▋▌▅_▍▋▌▋▅_▄▉▄ -> ▆▇▊▆