1,554 Commits over 397 Days - 0.16cph!
wip:
- Siege tower third floor collider improvments
- Second floor finished
wip: Second floor detail colliders
Fixed broken packing attributes
Implement the packed attribute:
- Should we send this sync var itself or with all other sync vars
- This allows the user to weigh up header cost of sending the sync var alone vs along with all other sync vars
- Only sends this specific var if its dirty, whereas packed sync vars are all resend even if only one is dirty
wip: Kill sync var tick on object death
wip: Automatically sync vars should any change. Uses a polling method for now:
- Invoke poll in fixed repeat time
- Syncvar handler no longer requires default value
Perform type checks on initial sync var generation pass
wip: Added bidirectional client -> server / server -> client var sync. Syncvars can be declared as chaving client authority
wip: working server -> client syncing
wip: Took me a day to realise there were seperate writer methods for client and server
Server receive methods
- Setup testing
- More logcs
- Client sync var debugging
Setup both client and server send methods
Generated code compile errors
- Added sync var handlers to detect changes in sync vars
- Generated at code gen
- Overridable methods to check if should update and reset update checks
- Successfully made read/write serverside methods for any sync var contained inside an entity
- Managed to remove variable ids and rely on constant ordering/reading (sync vars are now cheaper than RPCs bandwith wise)
- Pack all sync vars into one packet (might need adjustment)
- Cleaned up code
- Fixed a bunch of generation errors
- Added sync var receive code gen (net read method infered from variable type)
- Sync var pooled strings added to manifest
- SyncVar write and send methods
- Start of codegen
- BaseNetworkable & EntityComponent methods
- Remove ServerManager receive method for now
- Fill out client receive method for sync var
- Handle message case in Client.Connection
- Added attribute (toggleable client authority)
- Limit SyncVars to a set of 14 specific types
- Static helper methods
- Added packet id
- Handle message case in ServerManager
- Initial OnSyncVarMessage method
- Fixed issue causing effects to spawn inside siege tower
- Removed left over mesh renderers
- Renamed some colliders
Further changes to new siege tower model:
- Setup 50%~ of the detail colliders
- Fixed wheel orientation
- Added catapult wheels to the tower
Moed ladders to be compatable with new siege tower model
Possible gesture pack fix. Added meta name and rebuilt manifest.
Stop VehicleChassisVisuals NRE on stop terrain fx
Prevent crash with SimpleVehicleVisuals should the visual wheels be missing
Fix viewmodel errors
Rebuild manifest
Siege tower:
- Removed old siege tower models
- Setup new detailed colliders on siege tower entity (not finished yet)~
- Setup correct materials for a bunch of places on siege tower. Wood was metal and metal was wood
Renamed '4 shot mini crossbow' to 'mini crossbow'
Fixed handle towing visuals nre when joining into a map with removed siege weapons
Setup crossbow world model
- Setup colliders and alignment
Changed world model to be blockout
- Upped crossbow built in magazine to 4
- Enabled fractional reload
- Manifest
Initial item setup, just a duplicated crossbow for now
Extend lod1 to 50m (helps hide sharp lod transition from lod1 -> lod2)
Impose use distance on request raise
Codegen (was getting errors)
Rotate all siege weapon wheels in a quaternion space instead of euler angles.
Fixes all instances of gimbal lock on the Catapult/Ballista and Siege Tower wheels
Simple Vehicle Visuals now supports easy assignment of wheel rotate direction (X,Y or Z)
Fixed pulling and pushing siege tower
Ensure you cant lead a horse thats towing a siege weapon
Horse will send detach packets on death if towing an entity
- Removed siege tower door
- Siege tower door socket setup (so players can place own doors)
- Fixed weird starting health of doors
- Healing any door heals them all