* bubble implementation
include contained entities
fix line edit crash when clipboard contents are null somehow
use CVar for update bubble range
remove seenMovers that get NaN'd out of MaxUpdateRange - huge reduction in network traffic from bullets
cut default of MaxUpdateRange down to 12.5 for now
maybe handle teleported things
handle removing player state on disconnect
fixed positional audio errors
make UpdateEntityTree also update player's last seen ents
make net.maxupdaterange cvar tunable at runtime w/o impacting performance
back to position nan as means to hide from client
revert work pooling as the wrong player was getting the wrong game state
ffs needed to think less about *if* something is *seen* and more about *when* it must be *unseen*
clean up usings
handle parenting and sequencing issues that arise on the client
gather needed ents to update recursively
applied suggestions from code review
fix missing recursively contained ents
make assumption that client last saw things on first tick instead of tick zero, as zero would be the "from tick" and first would be he "to tick"
add First tick as constant to GameTick due to relevance above
renamed includedEnts to checkedEnts to make usage more clear
added comments
inverted some conditions to flatten parts of the pvs logic
fixed sending states when already seen (lastChange < lastSeen to lastChange <= lastSeen)
fix sending states when no actual changes (other bugs?)
local caching of currentTick, remove priorTick
* make TransformComponent's Parent setter call Dirty() to handle replicating network state if AttachParent isn't invoked
* fixed parent changed by setting Parent on Transform not updating parent's Children collection and other stuff
rotating parent entities now are visible with their orbiting children if one of their children moves into view
* break out duplicated code as GetLastSeen
* remove unused net.parallelstates
introduce net.pvs to configure enabling/disabling PVS
* separates Rays from CollisionRays, removing collision masking from Ray
* Entity, ClientEntityManager and EntityManager classes occasionally need to UpdateEntityTree
Entity intersection queries now use a DynamicTree
DynamicTree now correctly reports Count and separately NodeCount
DynamicTree now has optionally precise queries
DynamicTree no longer incorrectly Adds on AddOrUpdate if Update is not necessary
Entity startup now starts Transform, then Collidable, then remaining components
EntityManger's Entity dictionary is now a ConcurrentDictionary to support iteration under modification
DynamicTree freeing root leaf no longer results in invalid tree
SnapGridComponent has been extended to support additional area and directional queries
* added lots of calls to UpdateEntityTree, will need to scale back during review
fixed moved/changed AABB updates to DynamicTree, missed a ref
converted other methods in EntityManager to use the tree for spatial queries
* add unit tests for DynamicTree
make Capacity and EnsureCapacity public, setting Capacity will call EnsureCapacity
* fix brace style
* Box2 Grow -> Enlarged, Combine -> Union
* Adds a new IPhysicsShape object where you can define what collisions shape a PhysBody has.
AABB is now accessed through the PhysicsShape, so the BoundingBoxComponent is not required.
* Default PhysShape now copies the AABB of the BoundingBoxComponent.
* Fixed issue with serialization of PhysShapeAabbComp.
* Spatial queries now use ICollidableComponent instead of BoundingBoxComponent.
showbb now draws entities using the obsolete BoundingBoxComponent in Aqua.
* Renamed PhysShapeAabbComp to PhysShapeAabb.
Removed BoundingBoxComponent.
* Default CollidableComponent does not collide with anything now.
* Renamed ICollidable to IPhysBody.
Moved ICollidable to the Robust.Shared/Physics namespace.
* PhysShapes are now a collection of primitive shapes that contribute to the whole PhysBody.
ObjectSerializer.DataField can now deal with abstract types using YAML tags.
* Added LocalBounds property to ClickableComponent.
Added state to ClickableComponent.
* Added a Rectangle physics shape.
* ClickableComponent now actually checks that a click is inside its bounds.
* Reverted the addition of a try/catch around map loading. Any errors can propagate to the code trying to load the map again.
RobustToolbox projects should be named Robust.*
This PR changes the RobustToolbox projects from SS14.* to Robust.*
Updates SS14.* prefixes/namespaces to Robust.*
Updates SpaceStation14.sln to RobustToolbox.sln
Updates MSBUILD/SS14.* to MSBUILD/Robust.*
Updates CSProject and MSBuild references for the above
Updates git_helper.py
Removes Runserver and Runclient as they are unusable