branchrust_reboot/main/protobuf_skip_default_fieldscancel
11 Commits over 30 Days - 0.02cph!
Update protobuf codegen tool to always include enums even if default value (they aren't really used in codebase but better to be safe)
Merge from main -> protobuf_skip_default_fields
merge from main -> protobuf_skip_default_fields
Apply fix #2 in redid commit
Redid the commit so that it would stop applying to DeltaSerialize()
- tried to combine existing null checks with new default value checks, keeping them seperate is less complexity
Fix & update codegen
- don't check if field is null twice (bytes & strings already checked if null when optional)
- throw error if required class isn't present, skip serializing structs if required but default value
- fix regression where it checked if field was default when delta serializing
Skip fields with custom default values instead of always serializing them
- significant as it affects Vector3
Updated codegen
Protobuf now won't serialize default values as pooling resets everything before deserialization
- should have the exact same input & output but better performance
Made ProtoBuf.Half3 and ProtoBuf.VectorData IEquatable so it can be compared to default value