branchrust_reboot/main/syncvarscancel

115 Commits over 120 Days - 0.04cph!

22 Days Ago
Remove testing sync
22 Days Ago
Issue a warning if sync vars are an unsupported type
22 Days Ago
Remove unused train sync stuff
22 Days Ago
main -> syncvars
22 Days Ago
Add exact array pool - only returns arrays that are exact sizes. This is needed for serialisation. I cant have anything too big
23 Days Ago
Fix protobuf types being unable to be Autosaved/loaded properly (Trailing empty bits at the end were causing it to be rejected, so im required to use a byte array of exact size) Removed array pool logic, just cache it per class. Should stay similarly sized and only allocate once per object so overall impact should hopefully be low
23 Days Ago
Return old Protobuf SyncVar instances to the pool
23 Days Ago
Swap to partial event hooks. Works with intelisense better than the frankenstein event with matching method
23 Days Ago
Prevent unecessary weaving fires Try without generating the event keyword
23 Days Ago
Minor code cleanup
23 Days Ago
Totally remove hash set used for queue and just encode the whole queue into a single uint. We can just send this as the header(since the current queue perfectly reflects the encoded data) Send DemoTransientEntity once per queue instead of for each item in the queue Move is server check to the queueing rather than sending method (more clear)
23 Days Ago
Update SourceGenerator DLL - better error messages
24 Days Ago
main -> syncvars
24 Days Ago
Optimised SyncAttribute searching on patching step
25 Days Ago
Fix train engine packing options
25 Days Ago
Handle syncvar equality checking in BaseNetworkable: having the method available there makes it easier to use intelisense
27 Days Ago
Remove excess protos on train engine
27 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.
27 Days Ago
Fix some logic errors in train sync vars
28 Days Ago
main -> syncvars
31 Days Ago
Try to ensure editor weaving process isn't running on build
31 Days Ago
Try and skip setter injection on the client by checking the subtarget
31 Days Ago
main -> syncvars
31 Days Ago
Ensure build looks in the correct path
31 Days Ago
Call patch assembly anytime scripts reload
31 Days Ago
main -> syncvars
32 Days Ago
Only generate symbols if pdb exists Wrap inside of setter in if server block
32 Days Ago
Ensure SyncVars run first in the build process. Don't create a lock on Rust.Global.dll
32 Days Ago
Ensure injector errors when it cant find sync method (dont bother throwing)
32 Days Ago
Safeguards for client weaving process (dont try to hook setter at at all)
32 Days Ago
Fixed autosave/autoload not using preprocessor directives
32 Days Ago
Fixed Changed event being ran on autoload
32 Days Ago
Convert train line up to unload and train num connected cars to syncvars
32 Days Ago
Set GenerateEvent default to true
32 Days Ago
Use a wrapper method instead of emitting equality comparitor in IL - it was ugly at best
32 Days Ago
Add support for RequireChanged flag - this runs the old and new values through an equality comparison before pushing sync.
33 Days Ago
Swapped train engine fuel amount over to use SyncVars instead of protobufs. First set of testing.
33 Days Ago
Use an autosave buffer as an intermediary when writing to syncvar bytes Prevents byte allocations every autosave
34 Days Ago
Add Autosave system. SyncVars marked as Autosave will automatically be injected into Save/Load methods so no need to write protobufs.
35 Days Ago
Updated source generator to support event generation. Ensured our attribute matches this More tests in the legacy shelter
35 Days Ago
Better weaver symbol logic (to prepare for being built) Downgraded code analysis to 3.8 so it doesnt explode hot reload
35 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
36 Days Ago
main -> syncvars
37 Days Ago
More test code
37 Days Ago
main -> syncvars
37 Days Ago
Fix strings not parsing correctly in the receive code. Net read strings take an argument (needs to be supported on our end)
37 Days Ago
Properly handle error messages Display more information when something goes wrong Show postive/negative error logs as green and red
37 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
37 Days Ago
SyncVars fully working with weaving. Fixed incorrect stack for WriteSyncVar.
37 Days Ago
Fix malformed WriteSyncVar Setter plumbed up to the correct entry logic for queueing/sending SyncVars