4,630 Commits over 731 Days - 0.26cph!
    
    
    
        
            
            
            
                
                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
                
                
                
                
             
         
        
            
            
            
                
                ▇██▇▅_▇▌▉▄▇▉▋▌▅_▍▋▌▋▅_▄▉▄ -> ▆▇▊▆
                
                
                
                
             
         
        
        
            
            
            
                
                ▆▌▄ ▌▆ ▊▍█▌▊▅▅▉▅▉▉ ▄▉▅▆▆▉▍▊ █▍▄▌█▅▊ █▋▋▊▇▅▅▌ ▍▋▅▋▇▊ █▍ ▋▉ ▅▆▊▌ ▇▌ ▋▍▇ █▆▉▄▄▋▄▋▇▋
                
                
                
                
             
         
        
            
            
            
                
                bee_lifetime_reduction -> main
                
                
                
                
             
         
        
            
            
            
                
                Reduce time that Bee Master Swarms stick around.
Reduce time that Bee Swarms stick around.
                
                
                
                
             
         
        
            
            
            
                
                bee_spawnrate_reduction -> main
                
                
                
                
             
         
        
            
            
            
                
                Reduce Beehive spawn rate to 20% (down from a much higher amount)
                
                
                
                
             
         
        
        
        
            
            
            
                
                Fix strings not parsing correctly in the receive code. Net read strings take an argument (needs to be supported on our end)
                
                
                
                
             
         
        
            
            
            
                
                Properly handle error messages
Display more information when something goes wrong
Show postive/negative error logs as green and red
                
                
                
                
             
         
        
            
            
            
                
                First set of code cleanup on the new weaving solution
Split everything off into smaller areas
Injection simplification
Seperate build/editor dependency logic
                
                
                
                
             
         
        
            
            
            
                
                SyncVars fully working with weaving.
Fixed incorrect stack for WriteSyncVar.
                
                
                
                
             
         
        
            
            
            
                
                Fix malformed WriteSyncVar
Setter plumbed up to the correct entry logic for queueing/sending SyncVars
                
                
                
                
             
         
        
            
            
            
                
                Find queue/send method properly (search parent class)
Don't pass byte - cant append that OpCode unless its an int
                
                
                
                
             
         
        
            
            
            
                
                Use Cecil for SyncVar weaving.
Boostrap weaving on domain reload
Properly map depdency paths
Include unity modules
Better timing to avoid race conditions
                
                
                
                
             
         
        
            
            
            
                
                boomerang_distance_fix -> main
                
                
                
                
             
         
        
            
            
            
                
                Fixed Boomerang combat log returning weird distance values
                
                
                
                
             
         
        
            
            
            
                
                Attempts to better filter what files are pushed for weaving
Better Diagnostics
Cleanup GenerateResult (Just generate pe and pdb output streams in method before writing to them)
                
                
                
                
             
         
        
            
            
            
                
                Scrap Source Generator - Try IL Weaving instead
                
                
                
                
             
         
        
            
            
            
                
                Moved to new project -> Rust.SourceGenerators.SyncVar
Fix legacy shelter mini example
                
                
                
                
             
         
        
            
            
            
                
                ▋▇▇▋▊▉▊_▌▌▉▅█▆█_▉▆▆▍▌▅▋▇_▊▍▅ -> ▉▇▇█
                
                
                
                
             
         
        
            
            
            
                
                ▉▄▌▄ ▄▉▄▌▌▉▆ ▆▋▆▍▆▍▍ ▊▄▊▇▇▅██ ▉█ ▆▊ ▇▆▋▄▅▉ ▋▋█ ▊▌▇▌█▄▌ (▍▊ ▊▌▅ ▋▌▇▆▆▋ ▊▊▊▄) ▊▉▆▅▄█ ▋▅██ ▅▉▍▅▇▉▍ -  ▄▊▉ ▌▋██▊▇ █ ▌▍▌▅▅▋▉ ▆▋▉▆▍▇▅▉ ▆▇▄▆ ▌▅ ▌▊▋▊ ▄▅ ▆▌▅▋ ▉▊▄▌▅▉ ▇▄▋▇▌▉▍▊▄ ▆▇▆▉ ▄▇ █▉ ▆▍▆▄█▄ ▊▇█▊▋▊▇.
                
                
                
                
             
         
        
            
            
            
                
                storage_monitor_rotate_fix -> main
                
                
                
                
             
         
        
            
            
            
                
                Change client rotate method to also check for storage monitor
                
                
                
                
             
         
        
            
            
            
                
                Can't rotate the TC if a storage monitor is attached
                
                
                
                
             
         
        
            
            
            
                
                vending_machine_storagemonitor_rotate_fix -> main
                
                
                
                
             
         
        
            
            
            
                
                Don't allow Vending Machine rotation if the storage monitor is attached (breaks wire connections)
                
                
                
                
             
         
        
            
            
            
                
                storage_monitor_container_io_rewrite -> main
                
                
                
                
             
         
        
            
            
            
                
                Added support for Container IO to Storage Monitor
Resolves issues of storage monitor not working correctly with the new Vending Machines
                
                
                
                
             
         
        
            
            
            
                
                boomerang_hand_up_fix -> main
                
                
                
                
             
         
        
        
            
            
            
                
                Throw error if greater > 31 packed SyncVars
New Implementation is done! 🎉
                
                
                
                
             
         
        
            
            
            
                
                Fixed SourceGenerator not throwing errors properly when looking at field name (invalid string/uppercase starting string)
                
                
                
                
             
         
        
            
            
            
                
                Add support for Pack=True/False.
Unpacked SyncVars are sent immediately when changed.