1,525 Commits over 397 Days - 0.16cph!
legacy_shelter_revoke -> main
Changed 'Server.max_shelters convar' to 'LegacyShelter.max_shelters'
- Can now place a second shelter if you have a first shelter in the world, but the first shelter is deleted
- Display a warning when hold placing the second shelter to tell you the first one will be nuked
- Rebuilt phrases
Initial work:
- Shelter now takes 1.5 sewconds to place
- Added logs
- Force workcart to drop storage container loot
- Expanded box on workcart to 18 slots
- Moved forward and up slightly to try and fix weird interaction issues
- Changed lot drop location to on top in order to try and stop dropped loot clipping
Add small box to the underground workcart
waterpump_minimum_depth_change -> main
Reduced required minimum depth on water pump so that its usable in the new rivers
propane_stack_size -> main
Update Propane Tank stack size from 5 -> 20
Mini crossbow icon render setup and icon
Mini crossbow:
- Swapped world model to use the viewmodel for just now
- Added multi swap arrow script to support multiple swap arrows in different slots
main -> 4ShotMiniCrossbow
wip: Siege Tower~
- Fixed really annoying metal pole colliders
- Middle wheels didnt have world colliders
fix: Fixed some colliders on siegetower not showing collider effects
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