Commit graph

1692 commits

Author SHA1 Message Date
Erik Ogenvik
0572fd6d4a Use "props" to get properties.
Also unify LocatedEntity Python bindings.
2018-05-14 17:35:19 +02:00
Erik Ogenvik
6e62796876 Reload rules in a better manner. 2018-05-10 00:21:30 +02:00
Erik Ogenvik
c61a273f92 Expose properties through "props".
If we expose dynamic properties directly on the located
entity there's a risk that there will be collisions.
2018-05-07 11:15:26 +02:00
Erik Ogenvik
5b282419be Finalize conversion to Python 3. 2018-05-07 11:15:26 +02:00
Erik Ogenvik
701d1a7208 Initial work on porting to Python 3. 2018-05-07 11:15:26 +02:00
Erik Ogenvik
7895d1b0aa Reload minds when python code changes.
All thoughts are first persisted and then restored.
2018-05-01 22:23:31 +02:00
Erik Ogenvik
002e1ca728 Expose const fields.
Thus no need to redefine private and protected.
2018-05-01 22:15:29 +02:00
Erik Ogenvik
3a41f8fc62 Reload all python tasks scripts too. 2018-05-01 14:42:02 +02:00
Erik Ogenvik
9ae1fc2fc3 Only mod property if really needed. 2018-05-01 14:39:46 +02:00
Erik Ogenvik
e80d07560c Reload entity scripts when python code changes.
For now we reload all scripts. We should be smarter and only reload
those scripts which are affected though.
2018-04-30 23:34:58 +02:00
Erik Ogenvik
d4604d034d Correctly handled updated type properties.
When a type is updated we now property re-apply modified properties on
affected entities.
2018-04-29 17:21:44 +02:00
Erik Ogenvik
0f1559ba16 Reload types when they change. 2018-04-29 11:59:33 +02:00
Erik Ogenvik
a6195c1ac6 Made all game entities definable through xml.
This makes it easier to alter properties in real time.
2018-04-29 11:58:35 +02:00
Erik Ogenvik
6eeace3d1d Added missing symbols. 2018-04-28 14:44:55 +02:00
Erik Ogenvik
664988645e Make all properties define type and optional name. 2018-04-27 23:12:15 +02:00
Erik Ogenvik
cecee29236 Fixed issue with bbox scaling.
We can't use setLocalScaling since it doesn't seem to work well with
some shapes (such as mesh). We should use uniform scaling anyway.
2018-04-27 23:12:15 +02:00
Erik Ogenvik
f7e7a8a968 Fixed tests. 2018-04-27 23:12:15 +02:00
Erik Ogenvik
705b691ff5 Make "Account::operation" send directly to link. 2018-04-25 21:05:59 +02:00
Erik Ogenvik
7ae19d5038 Use Singleton base class.
I.e. make sure that all objects have a defined life time. This requires
that we actually set up and tear down the singletons.
2018-04-25 20:15:29 +02:00
Erik Ogenvik
c23b322ead Use "add" and "remove" for flags.
Since it's more descriptive.
2018-04-25 20:15:28 +02:00
Erik Ogenvik
dec9e5a36e Cleaned up memory leaks.
Which prevented the physical domain integration tests from running on
build servers with constrained memory.
2018-04-19 10:19:35 +02:00
Erik Ogenvik
f582e0613b Allow scaling axis to be set using "scaler" attr. 2018-04-18 20:19:31 +02:00
Erik Ogenvik
a8e21ddfc5 Added more sphere options.
Where radius is determined by selected axis.
2018-04-15 13:29:49 +02:00
Erik Ogenvik
d119d2f617 Move planted entities along. 2018-03-25 21:53:12 +02:00
Erik Ogenvik
f09675cec6 Use "planted" for floating entities.
Entities that are "planted" on bodies of water are floating.
This does away with the "floating" mode.

To mark that entities should by default be floating when placed in
water the boolean property "floats" has been added.
2018-03-24 17:06:02 +01:00
Erik Ogenvik
070b0a6c85 Check for where to plant entities.
If an entity is in mode "planted" we should check for any existing
planted entities below it, to see if we should add it on top of them, or
on top of the terrain.
2018-03-23 23:07:09 +01:00
Erik Ogenvik
166a5aaba3 Initial work on planting entities. 2018-03-23 19:22:35 +01:00
Erik Ogenvik
b06ba3da1c Fixed incorrect geometry calculations. 2018-03-19 22:05:48 +01:00
Erik Ogenvik
6b5d881e8c Added boolean operator to EntityRef. 2018-03-19 22:05:11 +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
62637e7576 Updated stubs. 2018-03-05 12:55:48 +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
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
5a71381b8d Added default attribute to modProperty. 2018-02-26 12:05:10 +01:00
Erik Ogenvik
a674b0cf31 Updated docs. 2018-02-21 14:37:47 +01:00
Erik Ogenvik
66ab8aa91e Removed obsolete code. 2018-02-20 23:08:37 +01:00
Erik Ogenvik
2bbbad4c58 Restructure and add "present" properties.
Also make sure that the correct geometry is used whenever possible.
2018-02-20 22:26:27 +01:00
Erik Ogenvik
9bc54bca52 Reorganize and add "present-" properties.
The ambition is to have "present-" properties for all types.
2018-02-15 12:39:34 +01:00
Erik Ogenvik
7f1c956b77 Fixed tests with friction. 2018-02-15 12:39:34 +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
1e95d956b9 Player characters should never be AI controlled. 2018-02-08 21:47:22 +01:00
Erik Ogenvik
320480a9c4 Don't install "mode" twice. 2018-02-06 13:45:11 +01:00
Erik Ogenvik
162e682a99 Fixed tests. 2018-02-06 13:45:11 +01:00
Erik Ogenvik
fe36774f5b Use "type" instead of "shape" for geometry.
Since we now support "asset".
2018-02-06 13:45:11 +01:00
Erik Ogenvik
e7fa53214b Use nullptr instead of NULL. 2018-02-06 13:45:11 +01:00