Erik Ogenvik
166a5aaba3
Initial work on planting entities.
2018-03-23 19:22:35 +01:00
Erik Ogenvik
ed0878dd5f
Added missing spinning friction check.
2018-03-12 18:56:30 +01:00
Erik Ogenvik
ad8e6e9134
Support older versions of Bullet.
...
"spinning friction" is nice to have, but not necessary.
2018-03-12 18:43:28 +01:00
Erik Ogenvik
380b4e21d9
Added rolling and spinning friction.
2018-03-12 18:15:20 +01:00
Erik Ogenvik
72e7a5e0c2
Move resting entities along.
...
I.e. when an entity is moved, and there are other entities resting on
top of it, move them along too.
2018-03-09 14:37:11 +01:00
Erik Ogenvik
065505b07e
Added compound shapes.
...
These are useful when you want to represent concave shapes with more
fidelity (since they otherwise would be represented by a convex hull
when on "free" mode).
2018-03-07 15:22:13 +01:00
Erik Ogenvik
8913f454dd
Use convex hulls for moving meshes.
...
GImpact is just too slow, and we don't need the fidelity.
2018-03-06 16:30:08 +01:00
Erik Ogenvik
63d36617ed
Fixed issues with terrain mods and moving entities.
2018-03-05 22:14:58 +01:00
Erik Ogenvik
98166a57e0
Added support for free mesh geometry.
...
We do this by using the GImpact shapes. These work, but are resource
intensive. So make sure you don't use too many of these in free mode.
This isn't thouroughly researched though. It might be worth looking into
btCollisionHull, or to alter some of the parameters to fine tune the
simulation.
2018-03-05 12:42:10 +01:00
Erik Ogenvik
f21e7509dc
Avoid segfaults when removing water bodies.
2018-02-28 11:43:19 +01:00
Erik Ogenvik
d0585e9eb8
Enabled oceans and lakes.
...
Through the "water_body" property. An entity which has this is a water
body. If there's a bbox the entity is a lake (bounded), otherwise it's
an ocean (infinite bounds).
2018-02-28 09:34:05 +01:00
Erik Ogenvik
4cabaed1c8
Add support for submerged entities.
...
An entity becomes "submerged" when it moves into a body of water.
Currently we only check if its y-position is below 0, but we aim to
provide better support for various water entities in the future.
2018-02-24 00:20:02 +01:00
Erik Ogenvik
dffd89db29
Handle floating entities.
...
These are like planted entities, but will float when placed in water.
2018-02-23 14:51:35 +01:00
Erik Ogenvik
c19576d694
Added property for jumping, "speed-jump".
...
Entities without it cannot jump.
2018-02-20 23:08:14 +01:00
Erik Ogenvik
2590f4ded9
Fixed issue with invalid inertia for meshes.
2018-02-20 22:26:27 +01:00
Erik Ogenvik
0bc9450cff
Standarize on double precision.
2018-02-12 09:46:30 +01:00
Erik Ogenvik
ca2abb94b5
Refactor how movement is handled and sent.
...
We've introduced the properties "speed-ground", "speed-water" and
"speed-flight" which specifies the top speed in m/s for each medium.
The "propel" attribute is now normalized, since it's multiplied with the
applicable top speed (depending on the medium, although currently we
only use the ground speed, TODO).
2018-02-11 23:22:20 +01:00
Erik Ogenvik
a3560c817f
Use "propel" property for movement.
...
Clients shouldn't set the "velocity", instead setting the "propel"
property.
2018-02-11 21:15:35 +01:00
Erik Ogenvik
38433c11d0
Remove "creator" hacks.
2018-02-06 13:45:10 +01:00
Erik Ogenvik
99640d26aa
Use a left hand coord system.
2018-02-06 13:45:10 +01:00
Erik Ogenvik
0acdd29674
Properly take offset into account when placing.
...
Fixes an issue with unsynced bullet representations when an entity was
moved.
2018-01-11 17:07:05 +01:00
Erik Ogenvik
eb2bb200e5
Clean up and remove unused structs.
2017-07-25 23:40:39 +02:00
Erik Ogenvik
6e6fe3b9b6
Handle (dis)appear ops when moving between locs.
2017-06-27 21:06:07 +02:00
Erik Ogenvik
b40c613a78
Improve handling of broadcasts.
...
Use the domains for determining broadcasts.
2017-06-24 21:47:43 +02:00
Erik Ogenvik
b9cdbbbd1a
Handle inventory domain better.
2017-06-12 18:01:52 +02:00
Erik Ogenvik
e56200cfde
Reset vertical movement if grounded when stopping.
2017-05-28 15:42:52 +02:00
Erik Ogenvik
b71125cd84
Remove code that tries to step up automatically.
...
This is really tricky to get right; we'll leave it out and instead rely
on clients sending commands to step up when they need to.
2017-05-28 15:41:54 +02:00
Erik Ogenvik
2c842050c0
Read property from correct entity.
2017-05-28 14:27:06 +02:00
Erik Ogenvik
be920d8e27
Use our own Bullet world class.
...
The main difference beeing that we only sync world state after all
substeps have been handled, which fit our use case well.
2017-05-28 00:13:41 +02:00
Erik Ogenvik
737005b624
Added step-factor to control stepping.
...
It's a float property which determines how high the entity can step,
relative to its height.
2017-03-24 17:19:10 +01:00
Erik Ogenvik
7aaa9b9ba7
Optimize includes.
2017-03-19 21:36:52 +01:00
Erik Ogenvik
df77523d16
Properly handle mesh geometry.
2017-03-19 14:36:35 +01:00
Erik Ogenvik
7c9f0da03a
Prevent mobiles from slipping on slopes.
...
Any mobile should manage to cling onto slopes.
2017-03-16 21:32:05 +01:00
Erik Ogenvik
08c9ac0ded
Fixed issue with observers not seeing themselves.
2017-03-16 21:12:17 +01:00
Erik Ogenvik
0b9fcf5c83
Control CCD better.
2017-03-15 22:28:44 +01:00
Erik Ogenvik
fe77a2d268
Always step with 60 hz.
2017-03-15 21:16:46 +01:00
Erik Ogenvik
72c6163d36
Scale visibility spheres, so they are smaller.
...
Bullet is optimized to work with "human sized" collision objects.
By making the visibility spheres too large we tax the system too much.
Better to scale the position the other way.
2017-02-18 23:04:51 +01:00
Erik Ogenvik
8f1373d18c
Apply z-offset correctly.
2017-02-14 17:57:40 +01:00
Erik Ogenvik
9d873cf079
Removed kinetic character controller.
...
The performance is just too bad, we can't use it with the amount of
characters we intend to support.
2017-01-31 23:05:46 +01:00
Erik Ogenvik
696033a8fd
Added ability to jump.
2017-01-31 22:14:01 +01:00
Erik Ogenvik
69f99f3302
Improve performance for static entities.
...
We do this by deactivating automatic aabb updates for static entities.
And also by using the COLLISION_MASK_STATIC mask for static entities.
2017-01-29 23:07:51 +01:00
Erik Ogenvik
651ea52a70
Set correct mask and filter for terrain.
2017-01-29 20:46:16 +01:00
Erik Ogenvik
95be39e268
Provide single method for setting velocity.
2017-01-29 20:45:23 +01:00
Erik Ogenvik
09ff936111
Turn on CCD to prevent tunneling.
2017-01-29 17:06:39 +01:00
Erik Ogenvik
12e6eb4cfc
Clip free objects to terrain.
2017-01-28 16:38:37 +01:00
Erik Ogenvik
6b4302dc5f
Let property handle tick rate.
...
And other smaller fixes to the physical domain.
2017-01-27 20:39:00 +01:00
Erik Ogenvik
d40c2261e1
Added comments for clarity.
2017-01-22 19:26:37 +01:00
Erik Ogenvik
93f3450ea5
Only send changed location data.
...
To try to keep the amount of data down.
2017-01-21 14:31:19 +01:00
Erik Ogenvik
fb89b03302
Added ability to jump.
2017-01-05 00:28:31 +01:00
Erik Ogenvik
c15a2f80cd
Implemented more functioanlity for characters.
2017-01-04 23:25:46 +01:00