Erik Ogenvik
164816f646
Adapt tests to changed structure.
2018-11-03 17:17:50 +01:00
Erik Ogenvik
e85f0831b2
Restructure rule classes.
...
Classes under "rulesets" have been moved to "rules", and split up into
futher subdirectories matching their library. As a result we can now
better separate the python bindings, so that things that belongs to the
simulation are separeted from things that belongs to the ai.
2018-10-31 21:38:35 +01:00
Erik Ogenvik
3b091899c1
Work on fixing the tests.
2018-10-01 23:22:28 +02:00
Erik Ogenvik
6a3ec31b7e
Remove Character class.
...
This is crucial since it now means that any entity can be controlled by
a mind. This makes the world much more versatile.
2018-08-14 22:25:56 +02:00
Erik Ogenvik
c84f5fe926
Don't implicitly convert from Ref to ptr.
...
Since it's too easy to introduce subtle bugs.
2018-08-05 20:47:09 +02:00
Erik Ogenvik
04fe84821e
Use proper singletons everywhere.
...
I.e. ones where the lifespan is fully controlled.
The only exception is Options, since it's accessed during static
initialization.
2018-08-04 18:01:20 +02:00
Erik Ogenvik
4d1dc775b0
Moved BaseWorld to rulesets.
...
Since it better belongs there.
2018-07-25 00:16:09 +02:00
Erik Ogenvik
33dfbb3425
Added tests.
2018-07-24 21:18:50 +02:00
Erik Ogenvik
80d347993d
Rename EntityRef to WeakEntityRef.
...
To mark that it's a weak ref.
2018-07-22 23:51:33 +02:00
Erik Ogenvik
e6bc7b2790
Use Ref for handling ref counting.
...
All LocatedEntities should always be handled through Ref instances.
These makes sure that the ref counting is correctly handled.
2018-07-22 23:48:42 +02:00
Erik Ogenvik
0ca22bcf68
Specify scripts for entity as property.
...
This allows multiple scripts to be used. In addition it allows for
entity with specific scripts.
2018-07-04 19:20:24 +02:00
Erik Ogenvik
86318d5f6e
Make database persistence standard.
...
We now use sqlite to persist the world by default.
Postgresql support is provided as an option.
2018-05-19 23:33:58 +02:00
Erik Ogenvik
b0cf29b18d
Use SQLite 3 for persistence.
...
Instead of storing data in Postgres we store it by default in SQLite,
using an in-process database.
This makes setup and handling much easier.
2018-05-19 21:47:24 +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
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
1e95d956b9
Player characters should never be AI controlled.
2018-02-08 21:47:22 +01:00
Erik Ogenvik
e7fa53214b
Use nullptr instead of NULL.
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
6275555b20
Improved stub generation and create all stubs.
2017-07-25 23:40:40 +02:00
Erik Ogenvik
1c69b3aae6
Use camel casing for tests.
...
This makes it much easier to find them in various editors.
2016-06-26 20:17:18 +02:00