Commit graph

2006 commits

Author SHA1 Message Date
Erik Ogenvik
f1785bd9b9 Reload python modules all at once.
To prevent inconsistencies when multiple file changes.
2018-05-10 01:15:35 +02:00
Erik Ogenvik
6e62796876 Reload rules in a better manner. 2018-05-10 00:21:30 +02:00
Erik Ogenvik
d7960b3100 Improve on how updated types are handled.
By installing and changing some types, other types might update. This is
now handled.
2018-05-08 14:32:02 +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
3a41f8fc62 Reload all python tasks scripts too. 2018-05-01 14:42:02 +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
664988645e Make all properties define type and optional name. 2018-04-27 23:12:15 +02:00
Erik Ogenvik
09090a6446 Emit Change op when a type changes. 2018-04-27 23:12:15 +02:00
Erik Ogenvik
7b0849d224 Enable assets manager. 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
f283ffbafb Communicate type changes to all clients. 2018-04-25 20:15:29 +02:00
Erik Ogenvik
283733225f Added assets manager with file observation.
Initial code for a manager which automatically reload assets, rules and
scripts.
2018-04-25 20:15:29 +02:00
Erik Ogenvik
d7900bebfb Added property for perception of sights.
Instead of having it determined by sending looks ops.
It's a float value since there's a possibility to apply is as a factor
of the default view distance.
2018-04-25 20:15:28 +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
ba777f05d7 Make characters stick to the ground.
This is done through the "step_factor" property.
2018-04-21 20:35:07 +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
166a5aaba3 Initial work on planting entities. 2018-03-23 19:22:35 +01:00
Erik Ogenvik
380b4e21d9 Added rolling and spinning friction. 2018-03-12 18:15:20 +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
c19576d694 Added property for jumping, "speed-jump".
Entities without it cannot jump.
2018-02-20 23:08:14 +01:00
Erik Ogenvik
b77dc19d92 Allow sex to be set when creating character. 2018-02-20 22:26:27 +01:00
Erik Ogenvik
36cbf54578 Remove unused code. 2018-02-20 22:26:27 +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
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
295484dc46 Don't report normal shutdowns during negotiate. 2018-02-08 21:47:22 +01:00
Erik Ogenvik
6508097306 Use C++ string converters, and clean up code. 2018-02-08 21:47:22 +01:00
Erik Ogenvik
fd4cc2dfb7 Added "assets-download" build target.
This will download the Ember assets from amber.worldforge.org.
2018-02-06 13:45:11 +01:00
Erik Ogenvik
320480a9c4 Don't install "mode" twice. 2018-02-06 13:45:11 +01:00
Erik Ogenvik
d512a52d97 Add assets paths to server info.
The idea is to add http paths, to allow for dynamic update of media.
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
Erik Ogenvik
c415630136 Remove geometryfile property.
Instead we use the "asset" type on the "geometry" property.
2018-02-06 13:45:11 +01:00
Erik Ogenvik
67549fc362 Added geometry file property.
The mesh specified in the property will be read and a "geometry" mesh
property installed on the type onto which the property is installed.
2018-02-06 13:45:11 +01:00
Erik Ogenvik
62227f5664 Update with Atlas changes. 2018-02-06 13:45:11 +01:00
Erik Ogenvik
e9e9240f5a Include headers in CMake files.
So IDEs pick them up.
2018-02-06 13:45:11 +01:00
Erik Ogenvik
9584fbabe3 Use upright capsule for plants. 2018-02-06 13:45:10 +01:00
Erik Ogenvik
7fb146eb36 Standardize installation of standard types.
This way the base types are exposed to clients.
2018-02-06 13:45:10 +01:00
Erik Ogenvik
7127d39f13 More work on moving to left hand coord system. 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
Olek Wojnar
446d115dc9 Fix typos 2018-01-30 17:43:24 -05:00