userIan Hendersoncancel
branchrust_reboot/main/syncvarscancel

99 Commits over 120 Days - 0.03cph!

2 Days Ago
Remove excess protos on train engine
2 Days Ago
SyncVars (by default) will require a value to be changed before syncing over the network. Turning this off will sync everytime its changed, not every unique change.
2 Days Ago
Fix some logic errors in train sync vars
2 Days Ago
main -> syncvars
5 Days Ago
Try to ensure editor weaving process isn't running on build
5 Days Ago
Try and skip setter injection on the client by checking the subtarget
5 Days Ago
main -> syncvars
6 Days Ago
Ensure build looks in the correct path
6 Days Ago
Call patch assembly anytime scripts reload
6 Days Ago
main -> syncvars
6 Days Ago
Only generate symbols if pdb exists Wrap inside of setter in if server block
7 Days Ago
Ensure SyncVars run first in the build process. Don't create a lock on Rust.Global.dll
7 Days Ago
Ensure injector errors when it cant find sync method (dont bother throwing)
7 Days Ago
Safeguards for client weaving process (dont try to hook setter at at all)
7 Days Ago
Fixed autosave/autoload not using preprocessor directives
7 Days Ago
Fixed Changed event being ran on autoload
7 Days Ago
Convert train line up to unload and train num connected cars to syncvars
7 Days Ago
Set GenerateEvent default to true
7 Days Ago
Use a wrapper method instead of emitting equality comparitor in IL - it was ugly at best
7 Days Ago
Add support for RequireChanged flag - this runs the old and new values through an equality comparison before pushing sync.
7 Days Ago
Swapped train engine fuel amount over to use SyncVars instead of protobufs. First set of testing.
7 Days Ago
Use an autosave buffer as an intermediary when writing to syncvar bytes Prevents byte allocations every autosave
8 Days Ago
Add Autosave system. SyncVars marked as Autosave will automatically be injected into Save/Load methods so no need to write protobufs.
9 Days Ago
Updated source generator to support event generation. Ensured our attribute matches this More tests in the legacy shelter
10 Days Ago
Better weaver symbol logic (to prepare for being built) Downgraded code analysis to 3.8 so it doesnt explode hot reload
10 Days Ago
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
11 Days Ago
main -> syncvars
11 Days Ago
More test code
11 Days Ago
main -> syncvars
12 Days Ago
Fix strings not parsing correctly in the receive code. Net read strings take an argument (needs to be supported on our end)
12 Days Ago
Properly handle error messages Display more information when something goes wrong Show postive/negative error logs as green and red
12 Days Ago
First set of code cleanup on the new weaving solution Split everything off into smaller areas Injection simplification Seperate build/editor dependency logic
12 Days Ago
SyncVars fully working with weaving. Fixed incorrect stack for WriteSyncVar.
12 Days Ago
Fix malformed WriteSyncVar Setter plumbed up to the correct entry logic for queueing/sending SyncVars
12 Days Ago
Find queue/send method properly (search parent class) Don't pass byte - cant append that OpCode unless its an int
12 Days Ago
Use Cecil for SyncVar weaving. Boostrap weaving on domain reload Properly map depdency paths Include unity modules Better timing to avoid race conditions
12 Days Ago
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)
13 Days Ago
Scrap Source Generator - Try IL Weaving instead
13 Days Ago
Moved to new project -> Rust.SourceGenerators.SyncVar Fix legacy shelter mini example
13 Days Ago
main -> syncvars
14 Days Ago
Throw error if greater > 31 packed SyncVars New Implementation is done! 🎉
14 Days Ago
Fixed SourceGenerator not throwing errors properly when looking at field name (invalid string/uppercase starting string)
14 Days Ago
More code cleanup
14 Days Ago
Add support for Pack=True/False. Unpacked SyncVars are sent immediately when changed.
14 Days Ago
Removed old SyncVar implementation
14 Days Ago
Successful queue, sending and receiving on new code generator implementation. Stripped out another overhead byte not needed with our new solution. Generate byte table inside code generator. Developer > 2 logging support. Safety with property setter on the client (throw an exception). Few more Diagnostics error throws (class > 256 syncvars, Base Class == BaseEntity). Try & Catch on Syncvar replicate. Time to fully rip out the old solution.
15 Days Ago
Missed Files - Code Analysis Dependencies
15 Days Ago
Roslyn Compiler setup for SyncVars working (auto property generation) Not adding to queue etc yet. Seperated .csproj to seperate directory since Unity keeps forcing .NET Framework
16 Days Ago
Setup syntax receiver
16 Days Ago
Implemented Microsoft.CodeAnalysis via plugins instead (fetched nuget dlls from external project)