Commit graph

640 commits

Author SHA1 Message Date
Zach Fox
2a75d97006 First steps 2017-08-22 12:56:16 -07:00
David Kelly
6ae516c46a Merge remote-tracking branch 'upstream/context-overlays' into contextOverlays_renderMOde 2017-08-01 15:45:34 -07:00
Brad Hefta-Gaub
d572510770 Merge pull request #11009 from AndrewMeadows/fix-QueryAACube
update EntityItem bounding cube when on changed dimensions
2017-07-27 18:21:06 -07:00
Zach Fox
bd5f7b85d8 Merge branch 'context-overlays' of https://github.com/highfidelity/hifi into contextOverlays_renderMOde 2017-07-26 14:11:28 -07:00
Zach Fox
9147bc21d0 Getting there. 2017-07-26 11:41:27 -07:00
Ryan Huffman
6817cf9db4 Fix entity properties sometimes being resent
When writing entity properties to a packet, we start off with a list of
requested properties (`requestedProperties`) and keep track of which properties
didn't fit (`propertiesDidntFit`) the packet, which is intialized to
requestedProperties. As we pack the properties, we remove them from
propertiesDidntFit if they didn't need to be written or were able to be
packed. At the end we store propertiesDidntFit, and use it in the future
as our requestedProperties when we try to pack more data into a packet.

The bug: because of the order in which propertiesDidntFit is
initialized, it ended up always being the list of all properties for
that entity. This typically wasn't an issue because we usually go
through and try to append all of the properties, and if we don't need to
append them (because they aren't in requestedProperties)
we remove them from our propertiesDidntFit list. When we
don't have enough remaining space in the current packet for even the
entity header, which is fairly small, we don't bother trying to append
any of the properties. When this happens, propertiesDidntFit contains
the full list of properties, which we save for the next pass through the
entity, and use as our requestedProperties, causing us to resend entity
data again. In the worst case we never end up sending all of the
entity's data.
2017-07-25 10:59:03 -07:00
Andrew Meadows
17323ba42a always update the bounding box 2017-07-21 10:25:03 -07:00
Andrew Meadows
a8dac0cb79 don't send constant updates for grabbed objects 2017-07-20 15:45:50 -07:00
Andrew Meadows
d88d7dda2b changed dimensions flag entity for new queryAACube 2017-07-20 08:19:59 -07:00
Andrew Meadows
9ca3ec4313 faster computation of entity bounding cube 2017-07-19 13:35:34 -07:00
Andrew Meadows
c7ec82f98a use local copy of _element for thread safety 2017-07-13 13:30:57 -07:00
Brad Davis
8130a91b8c Cleanup entity dependencies 2017-06-27 19:15:49 -07:00
Andrew Meadows
8d19395b0a ignore remote update younger than recent bid 2017-06-14 16:04:52 -07:00
Andrew Meadows
29a05d7eb4 bid immediately when creating new entity
also clear EntityMotionState::_numInactiveUpdates on new ownership
2017-06-01 17:39:21 -07:00
Andrew Meadows
c56a6c44f8 minor formatting fix 2017-06-01 17:39:21 -07:00
Brad Hefta-Gaub
5af95c8fdf Merge pull request #10476 from sethalves/fix-imported-children-querybox
fix up queryAACubes before sending imported entities to server
2017-05-25 08:29:23 -07:00
Seth Alves
381de7a1e2 tabs 2017-05-21 08:42:53 -07:00
Seth Alves
c68efc2ed0 treat locked like other properties that affect simulation 2017-05-21 08:29:35 -07:00
Seth Alves
2512b39848 don't dirty motion-type if lock value isn't actually changing 2017-05-20 14:14:33 -07:00
Seth Alves
8f38ea8c6a force locked entities to be static in bullet 2017-05-20 11:54:42 -07:00
Seth Alves
a442181859 remove some redundancy 2017-05-20 08:51:44 -07:00
Seth Alves
5c93dbd20d be more careful about fixing up entities which arrived before their parents 2017-05-19 13:48:29 -07:00
Seth Alves
735e4b7d05 trying to get child collision hulls to be in the right place after import 2017-05-19 10:59:59 -07:00
Seth Alves
77ce8a19cf call entityChanged after settings flags 2017-05-19 10:11:02 -07:00
Seth Alves
0c12baa258 call entityChanged after settings flags 2017-05-19 09:57:42 -07:00
Seth Alves
1b0eeb9c2c try harder to put things in place when their parent entities are discovered 2017-05-18 14:35:39 -07:00
Seth Alves
ef556fae9b when an entity's parent wasn't known and then becomes known, patch up the rigid-body and the render-item bounds 2017-05-18 14:13:33 -07:00
Seth Alves
ec02887ae6 attempt to get imported entities into the correct octree-element 2017-05-18 13:20:44 -07:00
Seth Alves
b05cb4af3b fix nan 2017-05-17 20:51:34 -07:00
Andrew Meadows
97ed719506 cap scripted linear and angular velocity inputs 2017-05-17 10:40:45 -07:00
Seth Alves
b1dc5be316 make far-grab it's own action (which is just like spring) in order to avoid bootstrapping own avatar 2017-04-14 11:48:06 -07:00
Seth Alves
2dab3069da fix bug that was causing spring action to cause constant re-insertion of its rigidbody into bullet. store UUIDs rather than shared pointers in _objectDynamicsByBody so that refcounting works right and actions get their destructors called. 2017-04-14 11:06:40 -07:00
Seth Alves
74c0a70cb0 rename base action classes to dynamics, start on constraints 2017-04-11 20:39:13 -07:00
Brad Davis
54200c03a7 Fixing deadlock 2017-04-04 13:53:49 -07:00
Brad Davis
03c6275268 more thread safety 2017-04-04 10:50:54 -07:00
Brad Davis
172fab6789 Thread safety for property getter/setters on entities 2017-04-04 10:50:53 -07:00
Andrew Meadows
a16760278e remove debug code 2017-03-09 17:58:53 -08:00
Andrew Meadows
8ddcae2a15 restore transform of deactivated entities 2017-03-09 17:26:53 -08:00
Andrew Meadows
d4abdcb6c8 comments, namechange, and temporary debug code 2017-03-09 17:26:53 -08:00
Seth Alves
bc5f563f57 make _parentID and _parentJointIndex private to avoid accidental direct access 2017-02-12 11:37:29 -08:00
Seth Alves
aaefc550f0 avoid bootstrapping self with something that has someone else as simulation owner 2017-02-06 14:16:47 -08:00
Seth Alves
2ea07390c8 when the parentID is changed by a network update, set physics flags 2017-02-06 12:10:26 -08:00
Seth Alves
81bf5ee655 another AVATAR_SELF_ID adjustment 2017-02-03 16:47:03 -08:00
Anthony J. Thibault
6bef9e888b Merge branch 'master' into bug-fix/tablet-ui-no-domain 2017-02-02 17:21:20 -08:00
howard-stearns
6f4441028d Merge branch 'master' of https://github.com/highfidelity/hifi into accept-forced-physics-values 2017-02-01 09:41:08 -08:00
Thijs Wenker
174a7ad5bd Optimizations and style fixes from code review 2017-01-31 22:54:58 +01:00
Anthony J. Thibault
e2e19884bb Tablet should work even when not connected to any domain.
handControllerGrab.js and WebTablet.js now parents objects to the
AVATAR_SELF_ID parentID, instead of using MyAvatar.sessionUUID, which
is unavailable when not connected to any domain.

I removed several early returns handControllerGrab.js that prevented
grabbing from working if MyAvatar.sessionUUID was invalid.

There were places in the EntityItem.cpp and EntityScriptingInterface.cpp
C++ that would log an error if parentID was set to AVATAR_SELF_ID.
This was to prevent AVATAR_SELF_ID from ever going over the network.
Instead, we now prevent this by replacing all outgoing references of
AVATAR_SELF_ID with the sessionID of the current node.
2017-01-31 13:52:12 -08:00
howard-stearns
18f8c2b866 comment 2017-01-31 13:31:33 -08:00
howard-stearns
8d8b338c66 dry up custom setters, per code review 2017-01-31 12:07:48 -08:00
Thijs Wenker
3608998877 use dedicated bool rather than unreliable dirtyFlags to determine if the entityItem had ever bid for simulation ownership 2017-01-31 21:01:03 +01:00