Commit graph

258 commits

Author SHA1 Message Date
Seth Alves
742e48b0c8 try another way of fixing held object snagging at slow velocity 2015-10-19 09:48:34 -07:00
Seth Alves
b18bb1e076 Merge pull request #6084 from AndrewMeadows/physics-cleanup
move DIRTY_FLAGS out of EntityItem namespace
2015-10-16 07:22:40 -07:00
Andrew Meadows
fa17b77d70 move DIRTY_FLAGS out of EntityItem namespace 2015-10-15 09:34:09 -07:00
Seth Alves
742cc0f511 rename a function 2015-10-14 06:17:55 -07:00
Seth Alves
8b72f6e7c6 tweak 2015-10-13 13:50:43 -07:00
Seth Alves
54eac099b9 tweak 2015-10-13 12:52:53 -07:00
Seth Alves
83780296de don't send physical property updates if there's an action on the object 2015-10-13 12:12:57 -07:00
Atlante45
bcd148cb87 Construct entity properties at definition 2015-10-09 12:23:19 -07:00
Andrew Meadows
ef7e908675 allow dynamic objects to be set collisionless 2015-10-01 08:56:04 -07:00
Brad Davis
9b81842850 Merge branch 'master' into homer
Conflicts:
	assignment-client/src/octree/OctreeSendThread.cpp
	interface/src/Application.cpp
	libraries/entities-renderer/src/EntityTreeRenderer.cpp
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTreeElement.cpp
	libraries/entities/src/EntityTreeElement.h
	libraries/entities/src/EntityTreeHeadlessViewer.cpp
	libraries/entities/src/RecurseOctreeToMapOperator.cpp
	libraries/octree/src/Octree.h
	libraries/physics/src/EntityMotionState.cpp
2015-09-11 16:31:18 -07:00
Brad Davis
aa989c3687 Fixing some entity race condition crashes 2015-09-10 20:53:17 -07:00
Seth Alves
31fcd55d47 octree uses shared pointers 2015-09-08 11:59:48 -07:00
Seth Alves
6db0442fda allow for asynchronous building of collision shape 2015-08-21 10:48:26 -07:00
Stephen Birarda
821c16cbc4 resolve conflicts on merge with uptream/master 2015-07-14 09:52:20 -07:00
Seth Alves
85f206d49d if an action is updating its own arguments, cause updates to go out over network 2015-07-09 14:13:01 -07:00
Stephen Birarda
1b4e333c49 Merge pull request #3 from birarda/atp
initial networking API changes for new protocol
2015-07-09 16:51:37 -04:00
Andrew Meadows
46bca30698 MotionState reports zero velocity for slow objects
This reduces the number of updates for an Entity that is effectively
at rest due to a balance between some spring action and gravity, but
nevertheless has a slight non-zero velocity at the end of each
simulation step.
2015-07-09 11:34:27 -07:00
Stephen Birarda
74940a2132 replace lingering PacketTypes in old format 2015-07-08 10:18:13 -07:00
Seth Alves
5e2f7204b4 responses to code review 2015-07-01 10:29:42 -07:00
Seth Alves
a356cbf620 remove commented code 2015-07-01 07:33:46 -07:00
Seth Alves
505332c367 include action data among physics initiated network updates from interface to entity-server 2015-06-30 10:19:03 -07:00
Seth Alves
1d122060a6 merge andrew's sim-ownership branch 2015-06-29 09:50:38 -07:00
Andrew Meadows
4d4b97fe59 add priority promotion to reduce volunteer races
also fix priority inheritance from chained collisions
2015-06-26 22:30:06 -07:00
Andrew Meadows
e18506c77f promote volunteer priority
also remove some cruft
change uint8_t to be quint8
2015-06-26 22:00:43 -07:00
Andrew Meadows
d6c69e8fe6 pack terse update parameters near each other
also don't constantly resend ownership data
2015-06-26 22:00:43 -07:00
Andrew Meadows
40f6ecd936 fix crash for dereference null pointer 2015-06-26 21:58:40 -07:00
Andrew Meadows
44d3074561 remove debug code 2015-06-26 21:58:03 -07:00
Andrew Meadows
12fc18092b SimulationOwner as one property 2015-06-26 21:58:03 -07:00
Andrew Meadows
cf74dbe1dc partial progress toward sim ownership negotiations
works well for just a few objects but fails for piles
committing some debug stuff that will have to be torn out later
2015-06-26 21:57:04 -07:00
Andrew Meadows
a33c350385 improved forcing of simulator ownership bid 2015-06-26 21:57:04 -07:00
Andrew Meadows
8510110324 increase sim priority when flagged for ownership 2015-06-26 21:57:04 -07:00
Andrew Meadows
2579247c34 claim ownership faster for scripted manipulations 2015-06-26 21:57:04 -07:00
Andrew Meadows
7c793c6397 accept simulation release from entity-server 2015-06-26 21:57:04 -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
f5f1d0829c Merge branch 'physics-lock-entity-tree' of github.com:sethalves/hifi into actions-over-wire 2015-06-26 07:20:51 -07:00
Seth Alves
015498a6e0 move function up so this builds in non-debug mode 2015-06-26 07:20:22 -07:00
Seth Alves
2682c4720d fix alt-branch of ifdef 2015-06-26 07:04:10 -07:00
Seth Alves
a0d77c061c lock the entity tree during physics operations that access then entity tree. if the simulation and entity-tree are both going to be locked, be sure to lock the entity tree first (and unlock it last), because this is what the network-reading thread does 2015-06-26 07:00:28 -07:00
Seth Alves
4849e2922e quiet valgrind 2015-06-22 14:21:25 -07:00
Philip Rosedale
61a2196a30 Reduce error tolerances for ballistic prediction that trigger updating the server 2015-06-18 13:21:37 -07:00
Andrew Meadows
8d41960cc3 reset simulation bid counters on object activation 2015-06-10 12:40:14 -07:00
Seth Alves
c5143cdfa0 Merge pull request #5027 from AndrewMeadows/isentropic
cleanup around sending all "terse update" data whenever some of it changes
2015-06-05 10:41:06 -07:00
Seth Alves
edb3622c85 Merge pull request #5037 from AndrewMeadows/inertia
collision groups for physical objects
2015-06-05 10:26:28 -07:00
Andrew Meadows
8e61a10bcf compute collision group for entity 2015-06-03 14:22:48 -07:00
Andrew Meadows
ec0b4a956a move collision group consts to shared lib 2015-06-03 14:13:51 -07:00
Andrew Meadows
7b6cc59d30 basic support for collision groups 2015-06-03 11:40:48 -07:00
Howard Stearns
c036b5fd4b Actually commit the changes this time! 2015-06-03 10:19:28 -07:00
Andrew Meadows
2400f5c000 update ALL parameters of remote physics simulation 2015-06-01 09:02:59 -07:00
Andrew Meadows
aba539928d fix grab glitches and failure to own simulation 2015-05-27 18:05:59 -07:00
Andrew Meadows
16e5710325 Merge pull request #4954 from ZappoMan/entitysmartpointers
EnitityItem smart pointers
2015-05-26 14:05:03 -07:00
ZappoMan
8b78fc4190 EnitityItem smart pointers 2015-05-22 17:57:50 -07:00
Andrew Meadows
461d08c0a9 merge upstream/master into andrew/bispinor 2015-05-22 11:35:02 -07:00
Andrew Meadows
0431e8da36 put avatar body in right spot, and give it mass 2015-05-22 11:08:56 -07:00
Andrew Meadows
2e3973dfdd impl AvatarMotionState::set/getWorldTransform() 2015-05-21 15:34:30 -07:00
Andrew Meadows
67f5d0773d some list management of AvatarMotionStates 2015-05-21 14:40:47 -07:00
Seth Alves
4a59dc24c5 split entity-add and entity-edit messages 2015-05-20 14:52:03 -07:00
Seth Alves
a769cfdaf2 client decides on new entity-ids, keep EntityItemID class 2015-05-20 10:42:19 -07:00
Seth Alves
f9d46b0cb5 interface decides on entityIDs rather than bouncing a temporary id through the entity server 2015-05-19 14:25:23 -07:00
Andrew Meadows
c631f85bf9 cleanup of simulation ownership/update logic 2015-05-14 08:43:54 -07:00
Andrew Meadows
fb34a5ba84 renaming and cleanup 2015-05-13 08:44:10 -07:00
Andrew Meadows
4872a565c9 bid for simulation ownership 2015-05-12 21:46:52 -07:00
Andrew Meadows
e89471e7d6 enable non-moving update when obj is active 2015-05-08 15:41:00 -07:00
Andrew Meadows
ada48bcb70 fix for glitchy physics updates 2015-05-08 09:06:31 -07:00
Andrew Meadows
1879a67804 cleanup 2015-05-07 14:42:09 -07:00
Seth Alves
0347af9682 minor cleanup 2015-05-07 14:03:50 -07:00
Andrew Meadows
47f978b86e merge 2015-05-07 10:31:27 -07:00
Andrew Meadows
070140440d fix crash bug when invalid entity ptr accessed 2015-05-07 10:30:22 -07:00
Seth Alves
867fe18472 put some code back now that entity-server is doing simple simulation again. don't draw blue physics-enabled dot unless debug menu-item is checked 2015-05-07 10:11:36 -07:00
Seth Alves
fe14202f51 add getName passthrough to ObjecdtMotionState, don't compute model shapes until the model has been simulated 2015-05-07 09:53:39 -07:00
Seth Alves
5ac8558168 flash yellow box when transmitting an edit packet 2015-05-06 17:03:27 -07:00
Seth Alves
cc5f2ee451 in isMovingVsServer look at entity velocity only 2015-05-06 16:26:27 -07:00
Seth Alves
ba6f6d19cc disable updateServerPhysicsVariables 2015-05-06 16:20:16 -07:00
Seth Alves
630f1ce9d9 isMovingVsServer function 2015-05-06 16:13:07 -07:00
Seth Alves
b0ccabe38e update a motionstate's idea of what the entity-server thinks when an incoming update packet arrives 2015-05-06 16:05:05 -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
Seth Alves
86ec12b22c don't increase moving-without-simulator counter unless the thing is moving enough 2015-05-06 14:30:45 -07:00
Seth Alves
fe308c0189 only do infection during collisions if one of the objects is being simulated by this interface 2015-05-06 13:50:14 -07:00
Seth Alves
96a44314c9 don't have interface give up ownership 2015-05-06 13:29:54 -07:00
Andrew Meadows
14f925b48e merge seth/dice-on-table-1 into andrew/nova
Conflicts:
	libraries/physics/src/EntityMotionState.cpp
	libraries/physics/src/ObjectMotionState.h
2015-05-05 16:54:53 -07:00
Andrew Meadows
d4701b4310 namechange getIncomingDF --> getAndClearIncomingDF 2015-05-05 16:49:41 -07:00
Seth Alves
c35edd8eb4 some debugging on Andrew's refactor 2015-05-05 16:40:10 -07:00
Seth Alves
1cd93b9ec8 pull andrew's branch, add back in visual indicator of an entity being active in bullet 2015-05-05 13:14:22 -07:00
Andrew Meadows
cfad016ba3 woops, forgot to these changes in last commit 2015-05-05 10:14:19 -07:00
Andrew Meadows
066e36c3e7 fix crash bugs (don't reference NULL pointers) 2015-05-04 16:52:36 -07:00
Andrew Meadows
42ec39c578 add ObjectMotionType::bump(), use in PhysicsEngine 2015-05-01 14:39:33 -07:00
Andrew Meadows
b023fe582a make things compile 2015-05-01 10:44:50 -07:00
Andrew Meadows
c3901939e6 make some things compile after reorganization 2015-04-30 13:02:18 -07:00
Andrew Meadows
31ab16ac62 move stuff into ObjectMotionState 2015-04-29 16:16:44 -07:00
Andrew Meadows
ab38572620 new PhysicsEngine API is mostly in place
doesn't compile, of course
large code movements are done
non-physical kinematics have been lost --
will readd in PhysicalEntitySimuation class
2015-04-29 09:48:02 -07:00
Andrew Meadows
14b6ee608a more PhysicalEntitySimulation implementation
with changes to API's accordingly (does not compile yet)
2015-04-28 15:07:37 -07:00
Andrew Meadows
31e5758422 namechange updateObjectEasy()-->updateBodyEasy() 2015-04-27 13:04:59 -07:00
Andrew Meadows
72deb2e49b merge upstream/master into andrew/thermonuclear
Conflicts:
	libraries/entities/src/EntityItem.h
	libraries/physics/src/EntityMotionState.cpp
2015-04-27 12:54:21 -07:00
Seth Alves
2e5049a190 fix bug caused by no-longer reusing a variable 2015-04-27 12:20:01 -07:00
Seth Alves
8278f52a79 cleanups 2015-04-27 10:59:51 -07:00
Andrew Meadows
e3d29d74af name changes and preparation for more cleanup 2015-04-26 15:24:30 -07:00
Seth Alves
81ff8a4448 count steps during which an EntityItem is moving but has no simulation owner. Once the count is high enough (how high is TBD), attempt to claim ownership 2015-04-25 07:17:21 -07:00
Seth Alves
48ec0c8339 formatting, re-enable code that causes an interface to attempt to claim a moving object with no current simulation-owner 2015-04-25 06:56:19 -07:00
Seth Alves
218393a2b3 rather than keeping track of previous pos/rot sent by server, use a new flag that indicates that the values should be updated in the physics engine, but that the object should not be woken 2015-04-24 17:37:19 -07:00
Seth Alves
6e6793cbcc remove debugging prints 2015-04-24 15:18:02 -07:00
Andrew Meadows
3ecf959b3e removed cached copies of damping and restitution 2015-04-24 14:50:37 -07:00