Commit graph

51 commits

Author SHA1 Message Date
Atlante45
d82333534c Ensure the tree lock is always taken before the simulation lock 2018-04-24 13:46:05 -07:00
Seth Alves
7f285c5f90
Merge pull request #12571 from Atlante45/fix/es-concurrent-traversal
Fix unprotected tree traversals
2018-04-14 14:33:25 -07:00
Andrew Meadows
a0f3e3a031 add simulation ownership expiry 2018-04-11 09:40:32 -07:00
Atlante45
895023ca4b Fix unprotected tree traversals 2018-04-04 14:54:21 -07:00
Andrew Meadows
6d7574cab9 use std::numeric_limtis<uint64_t>::max() instead of -1 2018-04-03 22:13:25 -07:00
Andrew Meadows
70d6aa99e8 more 'const uint64_t&' purges 2018-04-03 21:55:31 -07:00
Andrew Meadows
5a5376c3d5 untangle 'bidding' from 'owned' 2018-03-30 13:18:32 -07:00
Andrew Meadows
e1d2a5e5f3 more cleanup for deleting entities 2018-03-30 13:18:32 -07:00
Andrew Meadows
5649748b17 make EntitySimulation::changeEntityInternal() pure virtual 2018-03-30 13:18:32 -07:00
Andrew Meadows
bd434e3f18 make EntitySimulation::addEntityInternal() pure virtual 2018-03-30 13:18:32 -07:00
Seth Alves
f2cb5d4aff clean-up concept of puffed queryAACube 2017-10-19 13:19:13 -07:00
Andrew Meadows
a8dac0cb79 don't send constant updates for grabbed objects 2017-07-20 15:45:50 -07:00
Andrew Meadows
a263091c94 fix entity-server crash for out of bounds 2016-04-14 15:23:14 -07:00
Andrew Meadows
a933935e2d lock mutex in clearEntitiesInernal() 2016-02-28 15:13:49 -08:00
Andrew Meadows
b4edfe2390 no expiry for simulation ownership 2016-02-25 12:07:20 -08:00
Andrew Meadows
2da46ff26a server-side release ownership 2016-02-04 13:26:07 -08:00
Andrew Meadows
381049acb3 clear simulation ownership when owners vanish 2016-02-04 13:26:06 -08:00
Andrew Meadows
d8fb61e820 fix crash when deleting entities quickly 2016-01-22 10:25:10 -08:00
Andrew Meadows
b34df211df cleanup API for removal from EntitySimulation 2016-01-07 10:19:46 -08:00
Seth Alves
3e88e1f400 unbungle merge 2015-06-29 10:04:27 -07:00
Seth Alves
1d122060a6 merge andrew's sim-ownership branch 2015-06-29 09:50:38 -07:00
Andrew Meadows
d0ac3e4514 more work on simulator priority
scripts that edit terse update data try to assert priority
physics simulation tries to assert "volunteer" priority
max priority rules are applied in entity server
2015-06-26 21:57:04 -07:00
Seth Alves
6deedd19a3 zero velocities when we clear simulatorID 2015-06-19 16:19:21 -07:00
ZappoMan
8b78fc4190 EnitityItem smart pointers 2015-05-22 17:57:50 -07:00
Andrew Meadows
7e9e223b3e merge upstream/master into andrew/nova 2015-05-12 21:48:55 -07:00
Andrew Meadows
45d4fa91ab add a TODO comment 2015-05-12 21:46:04 -07:00
Atlante45
00864afe53 Quiet compiler 2015-05-12 17:06:40 +02:00
Andrew Meadows
411bf1a35c fix for entity-server kinematic simulation 2015-05-06 17:48:10 -07:00
Seth Alves
c63b8a93ec oops fix endless loop 2015-05-06 15:48:45 -07:00
Seth Alves
4c3cbea261 don't auto-remove simulation owner unless the Node is gone. put back code that causes interfaces to give up ownership 2015-05-06 15:32:02 -07:00
Andrew Meadows
d5f4c5a0ef add/delete/cleanup of physical entities works 2015-05-05 10:10:08 -07:00
Andrew Meadows
3c9474b736 non-phys kinematic objs move to EntitySimulation
out of SimpleEntitySimulation
2015-05-01 13:43:50 -07:00
Andrew Meadows
c2d614b884 remove _movableButStoppedEntities 2015-05-01 11:19:01 -07:00
Andrew Meadows
b023fe582a make things compile 2015-05-01 10:44:50 -07:00
Andrew Meadows
9f8b266a03 fix some compile problems 2015-04-30 13:56:37 -07:00
Andrew Meadows
c3901939e6 make some things compile after reorganization 2015-04-30 13:02:18 -07:00
Andrew Meadows
c0a5753317 PhysicalEntitySimulation sends outgoing packets 2015-04-28 17:12:29 -07:00
Andrew Meadows
2f9306ee77 SimpleEntitySimulation abides to new API 2015-04-28 16:28:03 -07:00
Seth Alves
d90dec066c if an entity has no simulatorID, pull it out of list of entities with simulatorIDs 2015-04-17 11:12:13 -07:00
Seth Alves
d7059d8f2d add code for uuids in wire protocol. some debugging prints 2015-04-16 14:46:38 -07:00
Seth Alves
6c4d232ad9 respond to code review 2015-04-15 16:08:15 -07:00
Seth Alves
afca5440f0 entity-server will automatically clear simulation-owner ID if it doesn't get an update for 2 seconds 2015-04-15 10:58:56 -07:00
Andrew Meadows
fd8e3f6169 add moved entities to lists for sorting
and also for outgoing packet updates
2014-12-12 13:28:12 -08:00
Andrew Meadows
3fd2f12a73 merge upstream/master into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
	libraries/entities/src/EntitySimulation.h
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTreeElement.cpp
	libraries/entities/src/SimpleEntitySimulation.cpp
	libraries/entities/src/SimpleEntitySimulation.h
	libraries/entities/src/SphereEntityItem.cpp
2014-12-09 12:41:53 -08:00
Andrew Meadows
675a2dd989 add DIRTY_UPDATEABLE flag for changes that need it 2014-12-08 16:32:25 -08:00
Andrew Meadows
6fdfde31d9 whoops, forgot to increment the iterator 2014-12-08 11:20:27 -08:00
Andrew Meadows
7d96ad5836 cleanup of EntitySimulation API
* remove EntityItem::_simulationState (only useful to EntitySimulation)
* move code from SimpleEntitySimuation to EntitySimulation
* EntitySimulation now maintans many QSets of entities
* cleanup and clarify use of EnityTree::updateEntity()
* reduced cost of polling for entity expiries
* changed "UpdateFlags" to "DirtyFlags" and clarified what they're for
2014-12-05 18:08:53 -08:00
Andrew Meadows
c9ea6885c1 PhysicsEngine is now an EntitySimulation 2014-12-02 15:29:41 -08:00
Andrew Meadows
1df6c32a4e moving Shape* back into shared lib
removing dependency of entities lib on physics lib
physics lib now depends on entities lib
2014-12-01 16:03:14 -08:00
Andrew Meadows
dd3a7b9b9d EntitySimulation takes EntityItem* rather than ID 2014-11-26 12:12:43 -08:00