Commit graph

488 commits

Author SHA1 Message Date
Sam Gateau
967c6dbc4b Add the Model library 2014-12-19 16:19:06 -08:00
Stephen Birarda
114e3bb2ff rename cmake macro to represent actual purpose 2014-12-18 16:51:20 -08:00
Stephen Birarda
2df9512dde Merge branch 'master' of https://github.com/highfidelity/hifi 2014-12-18 16:49:01 -08:00
Stephen Birarda
4bd3a94794 add missing avatars link to entities 2014-12-18 14:53:52 -08:00
Andrew Meadows
dab1f026d7 simpler EntityItem::simulate() bypass for bullet 2014-12-18 13:56:18 -08:00
Andrew Meadows
85fd1fc14f merge andrew/thermonuclear into andrew/inertia
Conflicts:
	interface/src/Application.cpp
	libraries/entities/src/EntityItem.cpp
2014-12-18 13:46:06 -08:00
Andrew Meadows
b03e6c53e1 fixing derived classes to use new EntityItem API
remove 'forceCopy' argument in EntityItem::setProperties()
2014-12-18 11:41:20 -08:00
Andrew Meadows
28381a3b70 cleanup of EntityItem::_created timestamp logic
EntityItem::_created initializes to 0 in ctor
and must be set either by EntityItemProperties (via server update)
or manually whenever a script creates a fresh entity
2014-12-18 11:39:02 -08:00
Stephen Birarda
7beb3a7b62 resolve conflicts on merge with upstream master 2014-12-17 16:57:35 -08:00
Andrew Meadows
756d09d895 fix typo that broke the build 2014-12-17 16:06:15 -08:00
Andrew Meadows
6e7eccdb27 merge upstream/master into andrew/thermonuclear 2014-12-17 15:59:45 -08:00
Andrew Meadows
75d468da9e set _lastEdited to _created rather than to zero 2014-12-17 15:59:16 -08:00
Andrew Meadows
44ebf37510 handle case where obj at rest but still falls 2014-12-17 15:52:34 -08:00
Andrew Meadows
1e5c44f117 accept changes with the same Edit timestamp 2014-12-17 15:48:49 -08:00
Andrew Meadows
547c4cdaf9 make non-bullet entity simulation work again 2014-12-17 14:52:38 -08:00
Andrew Meadows
6ea766b48d merge andrew/thermonuclear into andrew/inertia
Conflicts:
	interface/src/Application.cpp
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityTypes.cpp
2014-12-17 13:21:00 -08:00
Andrew Meadows
8de309a7a9 more correct _created and _lastEdited 2014-12-17 12:38:26 -08:00
Andrew Meadows
5efd996548 clarifying some comments on member variables 2014-12-17 12:37:49 -08:00
Andrew Meadows
e36ee2a961 more correct creation and edit times for entities 2014-12-17 12:19:34 -08:00
ZappoMan
a465aa20ff more Application and Menu dependency removal 2014-12-17 11:41:42 -08:00
Stephen Birarda
e0752cef54 remove collision sound creation calls 2014-12-16 15:35:37 -08:00
Stephen Birarda
6fd55e6f42 make Audio class use DependencyManager 2014-12-16 12:31:01 -08:00
ZappoMan
660bf2720e convert AnimationCache to DependencyManager 2014-12-15 19:48:15 -08:00
Andrew Meadows
67c3a25475 Merge branch 'master' of ssh://github.com/highfidelity/hifi into inertia
Conflicts:
	interface/src/Application.cpp
	libraries/entities/src/EntityItem.h
2014-12-15 14:46:46 -08:00
Andrew Meadows
0f488bca02 differentiation btw _lastEdited and _lastSimulated 2014-12-15 14:28:53 -08: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
4c74c041c2 remove unused cruft 2014-12-10 16:59:49 -08:00
Andrew Meadows
c4d076b0bb added comments about macro behavior 2014-12-10 16:59:17 -08:00
AndrewMeadows
9aaaae6759 Merge pull request #3934 from ZappoMan/bugfixes
fix a bug in MovingEntitiesOperator that would sometimes leave dangling entities
2014-12-09 18:08:14 -08:00
ZappoMan
426517b072 fix a bug in MovingEntitiesOperator that would sometimes leave dangling entities 2014-12-09 17:11:01 -08:00
Andrew Meadows
bc22e5723c bundle the flags that EntitySimulation cares about 2014-12-09 12:55:58 -08:00
Andrew Meadows
699e632e68 remove EntityItem::SimulationState after bad merge 2014-12-09 12:45:21 -08:00
ZappoMan
663b9c393e add debugging 2014-12-09 12:43:34 -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
ZappoMan
3c09ca71cb move emit of collisions to after done moving entities, so that callbacks can delete entities 2014-12-08 18:09:49 -08:00
Andrew Meadows
d4c72ab203 handle case where EntityItem's script has changed 2014-12-08 17:16:45 -08:00
Andrew Meadows
a519775cb3 unecessary EntitySimulation::entityChanged() calls 2014-12-08 17:15:58 -08:00
Brad Hefta-Gaub
651e550063 Merge pull request #3925 from AndrewMeadows/thermonuclear
fix for non-animating models
2014-12-08 16:58:16 -08:00
Andrew Meadows
675a2dd989 add DIRTY_UPDATEABLE flag for changes that need it 2014-12-08 16:32:25 -08:00
Andrew Meadows
27bfc9907f fix bug preventing butterflies from animating
(forgot to make base method virtual)
2014-12-08 16:31:36 -08:00
ZappoMan
efbe8ce757 Merge branch 'master' of https://github.com/highfidelity/hifi into entityCollisions 2014-12-08 14:15:20 -08:00
ZappoMan
0592b74a06 make collision callbacks work 2014-12-08 14:15:03 -08:00
Andrew Meadows
9e9929da91 merge upstream/master into andrew/thermonuclear 2014-12-08 11:22:39 -08:00
Andrew Meadows
3ce1d4a38d set dirty bit when script changes simulation stuff
also fixes for linear and angular damping
2014-12-08 11:21:01 -08:00
Andrew Meadows
6fdfde31d9 whoops, forgot to increment the iterator 2014-12-08 11:20:27 -08:00
ZappoMan
27bc394bed repair collision info mismatch 2014-12-08 10:52:53 -08:00
Philip Rosedale
7de2256744 Merge pull request #3919 from ZappoMan/enforceDimensionsForLightsAndText
enforce dimensions for Light and Text entities
2014-12-08 09:19:06 -08:00
Philip Rosedale
732b40f68c Merge pull request #3918 from ZappoMan/acEntityCrash
Ac entity crash
2014-12-08 09:16:40 -08:00
ZappoMan
cf98bff28b enforce dimensions for Light and Text entities 2014-12-08 07:23:45 -08:00
ZappoMan
497fbade9b fix crash in entity related AC scripts 2014-12-08 06:48:04 -08:00
ZappoMan
398b5b1f91 Merge branch 'master' of https://github.com/highfidelity/hifi into fixEllipsoidRayPick
Conflicts:
	libraries/entities/src/SphereEntityItem.cpp
	libraries/entities/src/SphereEntityItem.h
2014-12-07 21:03:09 -08:00
ZappoMan
dd4f3a4006 coding standard, added comments 2014-12-07 20:18:30 -08:00
ZappoMan
b9891748e1 remove dead code 2014-12-07 01:32:31 -08:00
ZappoMan
b08d5b87ca implement proper ray picking against ellipsoids
Conflicts:
	libraries/entities/src/SphereEntityItem.cpp
2014-12-07 01:31:40 -08:00
ZappoMan
08092e7abe removed dead code 2014-12-06 15:06:00 -08:00
ZappoMan
3bb16ce831 properly wire up precision picking in JS api 2014-12-06 12:03:46 -08:00
ZappoMan
7ea85073f4 introduce precision picking in API form 2014-12-06 11:45:49 -08:00
ZappoMan
1fec69698e get the triangle picking for submeshes working, remove some debug 2014-12-05 23:23:21 -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
ZappoMan
ae647d39d0 fix models with registrations other than 0,0,0 2014-12-05 16:14:18 -08:00
ZappoMan
0ccbb98bde more work on improved model picking 2014-12-05 15:03:35 -08:00
ZappoMan
a6b86da47a basics of triangle picking working for models 2014-12-05 11:31:27 -08:00
ZappoMan
5ec9a9b6ed make text entities correctly ray pick 2014-12-04 13:49:46 -08:00
ZappoMan
842ee714b8 make text entities correctly ray pick 2014-12-04 13:08:16 -08:00
ZappoMan
11f10f9512 make sphere entities pick off their actual sphere, fix bug in ray picking multiple items with different distances 2014-12-04 10:54:04 -08:00
ZappoMan
958b37dead Merge branch 'master' of https://github.com/highfidelity/hifi into rayPickWork 2014-12-04 09:38:38 -08:00
Andrew Meadows
ab011d5b30 fix for non-animating models 2014-12-03 16:49:49 -08:00
ZappoMan
cd92185c5b Merge branch 'master' of https://github.com/highfidelity/hifi into rayPickWork
Conflicts:
	examples/newEditEntities.js
	interface/src/avatar/MyAvatar.cpp
	interface/src/avatar/MyAvatar.h
	libraries/entities/src/EntityTree.h
2014-12-03 15:07:47 -08:00
Andrew Meadows
85e7c6166b support for spherical entities 2014-12-03 12:10:26 -08:00
Andrew Meadows
a21ebe4f6a merge andrew/thermonuclear into andrew/inertia 2014-12-02 15:31:30 -08:00
Andrew Meadows
c9ea6885c1 PhysicsEngine is now an EntitySimulation 2014-12-02 15:29:41 -08:00
ZappoMan
63d1ac8375 implement support for entity subclasses to implement their own detailed ray intersection, make likes light pickability toggle 2014-12-02 14:56:12 -08:00
Andrew Meadows
ff7559c2c2 merge upstream/master into andrew/thermonuclear 2014-12-02 11:41:29 -08:00
Andrew Meadows
b9944edf66 OctreeServer::createTree() is now protected 2014-12-02 11:13:37 -08:00
Andrew Meadows
0814949e4c moving EntityCollisionSystem back to entities lib 2014-12-02 11:05:17 -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
ZappoMan
5c2cc20313 fixes the stutter in animation when observer moves 2014-11-28 17:36:55 -08:00
Andrew Meadows
051b04402f merge andrew/thermonuclear into andrew/inertia
Conflicts:
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTree.h
2014-11-26 17:21:11 -08:00
Andrew Meadows
0b56169c6e fix build after merge 2014-11-26 17:18:19 -08:00
Andrew Meadows
3781c23480 add entities to simulation after unpacking 2014-11-26 17:09:53 -08:00
Andrew Meadows
5acaaa9c3b merge andrew/thermonuclear into andrew/inertia
Conflicts:
	interface/src/entities/EntityCollisionSystem.cpp
	libraries/entities/src/EntityItem.h
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTree.h
	libraries/entities/src/EntityTreeElement.cpp
2014-11-26 15:36:08 -08:00
Andrew Meadows
b543434a17 EntityTreeHeadlessViewer gets a simulation 2014-11-26 12:16:52 -08:00
Andrew Meadows
dd3a7b9b9d EntitySimulation takes EntityItem* rather than ID 2014-11-26 12:12:43 -08:00
Andrew Meadows
0d98555740 add EntitySimulation and SimpleEntitySimulation 2014-11-24 22:29:24 -08:00
Andrew Meadows
e574c5766b EntityItem::setSimulationState() now public 2014-11-24 22:28:27 -08:00
Andrew Meadows
1c636fe6b2 more correct entity list maintenance 2014-11-24 20:37:09 -08:00
Andrew Meadows
37093cbd00 merge upstream/master into andrew/inertia
Conflicts:
	interface/src/Application.cpp
2014-11-24 11:24:39 -08:00
Andrew Meadows
ec1f11c1a8 route more entity updates into physics engine 2014-11-24 11:21:40 -08:00
Brad Hefta-Gaub
168487e0a7 Merge pull request #3840 from huffman/entity-snap-on-create
Entity snap on create (+ remove getEntityItemID)
2014-11-20 09:58:54 -08:00
Ryan Huffman
6a68281308 Remove EntityScriptingInterface::getEntityItemID 2014-11-20 09:39:41 -08:00
Atlante45
4d5451fafe Merge branch 'master' of https://github.com/highfidelity/hifi into death_to_dot_f
Conflicts:
	interface/src/avatar/Avatar.cpp
	interface/src/avatar/SkeletonModel.cpp
2014-11-19 17:28:24 -08:00
Andrew Meadows
47f2cbd73b merge upstream/master into andrew/inertia 2014-11-19 17:07:55 -08:00
Clément Brisset
2c6a76ec17 Merge pull request #3830 from huffman/entity-list-window
Entity list window
2014-11-19 17:05:48 -08:00
Andrew Meadows
51da678675 update entity MotionType when it changes 2014-11-19 17:05:31 -08:00
Atlante45
ae3bcc8f06 No more .f 2014-11-19 16:53:39 -08:00
Stephen Birarda
63be5ae9bf Merge pull request #3834 from ZappoMan/fixMissingRegistrationPointBug
fix a major bug in updateEntity() caused by the new properties not containing "registrationPoint"
2014-11-19 16:42:16 -08:00
ZappoMan
2a08a6d48e fix a bug in updateEntity() caused by the new properties not containing registrationPoint 2014-11-19 16:07:07 -08:00
Andrew Meadows
8bd3779d7d merge andrew/thermonuclear into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.h
2014-11-19 15:55:10 -08:00
Andrew Meadows
11e7339e9e add UPDATE_COLLISION_GROUP and UPDATE_MOTION_TYPE 2014-11-19 15:52:57 -08:00
Andrew Meadows
961dc5a231 merge andrew/thermonuclear into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
2014-11-19 15:41:53 -08:00
Ryan Huffman
a18a83d45c Update getEntityItemID() to check for id existence 2014-11-19 15:31:41 -08:00
Andrew Meadows
48164c9399 cleanup and moving things around 2014-11-19 15:31:17 -08:00
Andrew Meadows
97d1dc4200 use updateFoo() where entity properties need relay
clear EntityItem updateFlags when processed
2014-11-19 15:12:22 -08:00
Andrew Meadows
a183248f38 add updateFoo() methods that accumulate flags
about properties that have changed
2014-11-19 14:12:26 -08:00
Andrew Meadows
3b85805048 add EntityItem::updateFoo() methods that set flags
when properties are actually changed
2014-11-19 14:01:55 -08:00
Ryan Huffman
3ff44964b5 Add entity list window 2014-11-19 13:25:38 -08:00
Andrew Meadows
388830c2a2 Merge branch 'bispinor' into inertia
Conflicts:
	interface/src/entities/RenderableModelEntityItem.cpp
	libraries/entities/src/BoxEntityItem.cpp
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTree.h
	libraries/entities/src/EntityTreeElement.cpp
2014-11-18 10:23:38 -08:00
Andrew Meadows
2d400e6ae0 rename PhysicsWorld to PhysicsEngine 2014-11-18 09:55:25 -08:00
Andrew Meadows
2761409270 fix build error on linux 2014-11-18 08:55:01 -08:00
Andrew Meadows
47615ba9c2 changeEntityState() --> updateEntityState() 2014-11-17 17:38:26 -08:00
Andrew Meadows
af606f01a9 combined SimulationStates Moving and Changing
also funnel entity updates by UDP packet through a single list
2014-11-17 17:35:44 -08:00
Andrew Meadows
ac87c90d62 Remove Changing state, now keep QSet of changes 2014-11-17 15:53:03 -08:00
Andrew Meadows
2cf93697cb removed some crufty comments 2014-11-17 15:51:29 -08:00
Andrew Meadows
dd0bdabfe1 setSimulationState() --> computeSimulationState() 2014-11-17 15:50:35 -08:00
ZappoMan
05fa3c89a7 Merge branch 'master' of https://github.com/highfidelity/hifi into textEntity 2014-11-15 20:38:07 -08:00
ZappoMan
28fc6d15f4 test 2014-11-14 22:53:29 -08:00
ZappoMan
f0cd258a13 test 2014-11-14 22:51:04 -08:00
ZappoMan
66f519d613 dry up EntityItemProperties with macros 2014-11-14 22:15:19 -08:00
ZappoMan
55ac9c8ef7 make sure properties include type for proper encoding 2014-11-14 21:16:50 -08:00
ZappoMan
62c64479c2 first cut at text entity 2014-11-14 15:58:12 -08:00
Andrew Meadows
2f9a35412f initial support for STATIC and KINEMATIC motion 2014-11-14 15:56:52 -08:00
ZappoMan
11058355a0 implement aboutToFinish for persist thread to allow final save before shutdown 2014-11-14 09:55:32 -08:00
Andrew Meadows
5eb606c44a merge upstream/master into andrew/inertia 2014-11-14 09:04:27 -08:00
Andrew Meadows
40b9416810 cleanup motionstate on EntityItem delete 2014-11-14 09:04:09 -08:00
Andrew Meadows
7fb7256a92 MotionState also ferries velocity 2014-11-14 09:02:22 -08:00
AndrewMeadows
edc599bc2d Merge pull request #3792 from ZappoMan/bugFixes
fix a couple bugs
2014-11-14 08:33:49 -08:00
ZappoMan
7b69642c67 fix bug in animation jitter on turn 2014-11-13 23:03:12 -08:00
Atlante45
f914f02a0b Move user data to end of enum 2014-11-13 17:44:22 -08:00
Atlante45
9fc7451581 Move macros to the end 2014-11-13 17:06:57 -08:00
Atlante45
40576b3c03 moved append to the end 2014-11-13 17:02:45 -08:00
Atlante45
f8be98260c String specific macros 2014-11-13 16:32:15 -08:00
Atlante45
f47620231e Entities have user data 2014-11-13 16:16:20 -08:00
Andrew Meadows
1bed4eeb5b merge upstream/master into andrew/inertia
Conflicts:
	libraries/entities/src/EntityTree.cpp
2014-11-13 10:53:23 -08:00
ZappoMan
3e521e089b fix unix build 2014-11-13 09:48:15 -08:00
ZappoMan
8ec12ea954 add full animation settings support 2014-11-13 08:59:06 -08:00
ZappoMan
701059d797 removed some debug 2014-11-13 08:58:33 -08:00
ZappoMan
bc60c90308 only actually set the properties if they were in the buffer 2014-11-13 08:39:19 -08:00
ZappoMan
e4355cd139 calculated animationSettings property to include older properties 2014-11-13 07:34:54 -08:00
ZappoMan
c9e8c21d8d partial work on blending of animation settings 2014-11-12 19:23:48 -08:00
ZappoMan
8a2e3d5045 add animationSettings property to model entities 2014-11-12 17:41:55 -08:00
ZappoMan
ef17659ea2 cleanup 2014-11-12 16:57:42 -08:00
ZappoMan
dd22683672 fixing up animation loop issues 2014-11-12 16:53:16 -08:00
ZappoMan
245f019836 first cut at migrating entity animation frame calculations to use AnimationLoop 2014-11-12 16:10:35 -08:00
Brad Hefta-Gaub
1d80fd7e4f Merge pull request #3772 from PhilipRosedale/master
Less aggressive audio muting default, entity getter returns by reference
2014-11-11 20:32:46 -08:00
Andrew Meadows
66857b823f EntityTree has a PhysicsWorld 2014-11-11 17:34:00 -08:00
ZappoMan
8ec3f8ce99 implement support for calling preload when the script changes 2014-11-11 14:21:06 -08:00
Philip Rosedale
8c35d4e3dc remove debug line 2014-11-11 14:08:59 -08:00
ZappoMan
2bc7896dee first cut at preload script behavior 2014-11-11 13:46:48 -08:00
Andrew Meadows
7c53c7a495 fix build to work when cmake does not fiind Bullet 2014-11-11 12:24:29 -08:00
Andrew Meadows
fa48da6c98 merge upstream/master into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
2014-11-11 11:14:12 -08:00