4,789 Commits over 1,371 Days - 0.15cph!
Check if sound handle is valid
Scene might be null - store pawn in var
Body might be null, component list might be null
Placeholder sounds for smokes - added ability for SoundEmitter to specify volume over time and also Destroy On Finish (def: true)
Added initial particle effect for simple smokes (CSGO style). Add option for fuse delay to enable a fuse effect prefab after some delay, we can add sounds here. Can also add a sound emitter for smoke release to smoke effect prefab
Move PlayerColor to PlayerState (Closes Facepunch/sbox-hc1#148)
Use Network.Active check to determine if we should network spawn or assign ownership
Ensure we properly network ownership changes during network orphaned actions
Keep project loading stuff together and make sure we load initial collision rules after project settings file system is mounted (Fixes Facepunch/sbox-issues#5739)
Closes Facepunch/sbox-issues#5566
Throw exception when sending RPC on non-networked Game Objects (Closes Facepunch/sbox-issues#5504)
Fixed potential NRE in AudioListener component when scene camera isn't valid (yet)
Fix overlapping Reset to Default on ControlSheet with Reset Transform context menu. Add individual reset Position/Scale/Rotation on Transform context menu (Fixes Facepunch/sbox-issues#4867)
Fix issue with new local instance on "local" package to do with small network files
Reapply changes from old branch
Merge branch 'master' into net-model-phys
Network body type as well
Fixed logic for motion enabled and root only networking
Fixed logic for motion enabled and root only networking
Network body type as well
CustomEditorAttribute now orders by number of parent classes so most relevant editor is always found. Resolves Facepunch/sbox-issues#5647
Merge branch 'master' into net-model-phys
Reapply changes from old branch
Remove from interpolation system on GameObject destroy
Add hc1_hide_flashbang_overlay
If value is already IPingReceiver we don't need to search the hierarchy
It's possible for Components to be null if a Component is no longer valid (GameObject = null)
Only the host should handle trigger enter logic in Extractionpoint
Pass in IPingReceiver id if exists into Ping RPC - check if passed target value is valid in setter
No need to have multiple screen panels here
Initial flashbang prefabs
Flashbang Effect component stub
Basic overlay + bloom effect
Extra effects
Dsp (use weird.4 for now?)
Only apply flashbang effects if we see the flashbang
Sound effect
Explode sound
Fix resume of flashbang effect
Add freeze frame overlay to flashbang
Capsule flashbang collider
Merge pull request #128 from Facepunch/flashbang
Flashbang
Capsule flashbang collider
Fix resume of flashbang effect
Add freeze frame overlay to flashbang
Flashbang Effect component stub
Basic overlay + bloom effect
Extra effects
Dsp (use weird.4 for now?)
Only apply flashbang effects if we see the flashbang
Initial flashbang prefabs
Call TransformChanged() once again in InterpolateFixedUpdate
Clear pending updates in SceneNetworkUpdate too
Make sure we use TargetLocal in any transform changed callbacks called from within interpolation phase to fix physics bodies using wrong values. Add internal InterpolationWorld getter in GameTransform and use that in ModelRenderer OnTransformChanged for updating scene object position (fixes broken interp.)
PhysicsWorld.CollisionRules Refactor - Project Settings Small Network Files Support (#1604)
* Add PhysicsWorld.CollisionRules getter. Delete ServerConfig. Update collision rules json on world if hash changes before physics step. Project Settings (.config) are networked via Small Network Files - can react to changes
* Do GetHashCode this way
* Initialize CollisionRules
* Handle small network files from different file systems this way?
* Fix
* Fix documentation
* Reset config files
* Kind of genericize SmallNetworkFiles - push / add / remove files from it externally - mount its MemoryFileSystem externally as well to desired file system
* Fix - but obviously it can't be done this way it's absolutely awful
* Add all files from network when mounting on client side
* Method name update
* Remove some duplication
* Cleanup
* Fix inverted condition
* Unnecessary arg
* ToHashCode
* ReadWithFallback will return new T() if package is null too
* Store CollisionRules from Project Settings in ProjectSettings static class - update it when project settings change. Physics worlds using this reference should update automatically
* Call ProjectSettings.Reset in ResetEnvironment
* Clean up
* Swap these
Call ProjectSettings.Reset in ResetEnvironment
Store CollisionRules from Project Settings in ProjectSettings static class - update it when project settings change. Physics worlds using this reference should update automatically
ReadWithFallback will return new T() if package is null too
Add all files from network when mounting on client side