Erik Ogenvik
c6dcaa64ab
Initial work on Bullet powered physical domains.
2016-03-11 15:36:47 +01:00
Erik Ogenvik
3ee07ea63c
Removed build warning.
2015-05-28 22:23:12 +02:00
Erik Ogenvik
3b70e9c3cb
Regularly persist thoughts to database.
...
Instead as before only persisting at shutdown.
2015-05-26 22:27:39 +02:00
Erik Ogenvik
74bb437540
Fixed tests.
2015-05-24 11:25:08 +02:00
Erik Ogenvik
0171538dc9
Fixed incorrect restoration of props.
...
The overloaded modProperty method in Entity creates a new instance
property automatically from any type property, which is something we
have to take into account.
2015-04-08 23:24:26 +02:00
Erik Ogenvik
2344c73837
Quote monitor tags.
2015-04-05 22:17:25 +02:00
Erik Ogenvik
ea59b13819
Fix possible segfaults.
2014-09-30 23:36:10 +02:00
Erik Ogenvik
311fc9cd2f
Fixed issues with tying accounts to entities.
...
Since entries in the database tying entities to accounts only can be
created if the entity already is created in the database we need to make
sure the relation in "accounts_entities" isn't created until the entry in
"entities". This is done by letting the StorageManager handle it.
The way to interface between the Persistance and the StorageManager
classes isn't obvious, so we'll have to do it by signals.
2014-09-20 22:13:49 +02:00
Erik Ogenvik
368b9f8642
Make sure to also set type properties for restore.
2014-09-18 21:45:35 +02:00
Erik Ogenvik
dccaec3c41
Don't set default attributes when restoring.
...
When we're restoring from storage we don't want to apply any properties
at all when the entity is created, since we'll do that ourselves in a
later pass. This is done by submitting an invalid RootOperation pointer.
2014-09-15 21:11:35 +02:00
Erik Ogenvik
f46a1104d8
Reordered restoration order.
...
We now first create all of the entities, in order, but without setting
any properties. Once that's done we then go through all entities again,
in order, and set their properties. This is to make sure that
1) We don't set any properties until all child entities are created.
This is crucial for things like outfits to work.
2) We first set the properties of the parent, and then the properties of
the children. This is crucial for things like terrain modifiers to work.
2014-09-09 20:46:30 +02:00
Erik Ogenvik
3b295ca0a1
Added concept of a default entity.
...
Instead of the root entity always being the default one (for new
entities being created etc.) we now can specify another entity which is
the default one.
2014-08-27 22:17:09 +02:00
Erik Ogenvik
2fd2e51d89
Avoid segfault.
2014-06-02 22:15:48 +02:00
Erik Ogenvik
0f9ecdc74e
Improve property restoring code.
...
Add extra checks to make sure that pre-existing properties aren't
installed or applied unless the data has changed.
2014-02-18 20:38:23 +01:00
Erik Ogenvik
fbf0b752c8
Removed obsolete files.
...
Since we're now using boost::asio for io.
2014-01-31 21:59:57 +01:00
Erik Ogenvik
8a80f8e2e3
Fix issue with restoration of entities.
...
It's important that the order is correct. In order for properties which
refer to other entities (like the "outfit" property) to work the
children must first be restored before the properties are restored.
2013-11-11 15:43:18 +01:00
Erik Ogenvik
efada4d5ea
Only send thoughts to entities with minds.
2013-08-22 10:43:03 +02:00
Erik Ogenvik
65dba3c5d6
Added feature for async mind persistence.
...
This is done through the MindInspector which queries entities for their
minds, and asynchronously emits a signal when thoughts arrive.
2013-08-21 20:56:09 +02:00
Erik Ogenvik
a17839f8fe
Use Think and Commune for thoughts.
2013-08-14 00:06:25 +02:00
Olek Wojnar
7f9ff2246d
Remove CVS $Id tags
...
The legacy tags are causing build issues in Debian.
2013-07-15 20:31:59 +02:00
Erik Ogenvik
1d62c0f8fa
Persist containment changes.
2013-06-15 22:54:09 +02:00
Erik Ogenvik
88740dd726
Enable location updates of persisted entities.
2013-06-15 22:46:52 +02:00
Erik Ogenvik
1fa16defff
Only print if something changed.
...
To make the log a little more readable.
2013-06-15 22:23:17 +02:00
Erik Ogenvik
eaa85d2f0c
Make sure parent entities are informed.
...
We must make sure that the parent entity is informed of new child
entities. This is needed in order for minds to be correctly restored.
2013-04-21 11:25:07 +02:00
Erik Ogenvik
3e8207993a
Send Sight when restoring entities.
...
This is needed to make sure that the entity's mind is aware of itself.
2013-04-20 17:56:24 +02:00
Erik Ogenvik
18e3778dd6
Don't check for character type.
...
As we'll instead are sending a message to the entity.
2013-04-13 23:32:06 +02:00
Erik Ogenvik
9beee13a21
Send thoughts as "Thought" op.
...
Instead of wrapping it in a "Set" op. This is more idiomatic.
2013-04-13 23:25:16 +02:00
Erik Ogenvik
d523b3083c
Allow user to abort shutdown.
...
This is mainly a way to jump out of the shutdown process if it hangs.
2013-04-07 23:20:23 +02:00
Erik Ogenvik
873a6d7ffb
Store and restore thoughts.
...
Currently thoughts are only stored when the server is shut down. A more
proper way would probably be to query character and store their thoughts
at regular intervals while the simulation is running.
2013-04-07 23:20:23 +02:00
Alistair Riddoch
3d6f39cdee
Modify Property install method to take name
...
This change also switches DecaysProperty to using delegates as a proof of
concept.
2013-02-13 00:45:36 +00:00
Alistair Riddoch
4a9c7078f7
Refactor to use LocatedEntity as base class
...
All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.
2013-01-17 10:17:07 +00:00
Alistair Riddoch
2b26bdf9ca
These don't need consts any more
2011-12-20 15:49:18 +00:00
Alistair Riddoch
e0c92ebf39
Remove reference to BaseWorld in EntityBuilder
2011-09-21 12:45:18 +01:00
Erik Hjortsberg
1a99d07383
Fixed a segfault when a type is missing when restoring an entity.
...
We'll instead log an error and skip that entity, as this is an expected
situation when authoring the world.
2010-03-02 13:07:26 +01:00
Alistair Riddoch
d52550a9e3
Rename Monitor class tree to Variable for clarity.
2009-09-03 00:38:50 +01:00
Alistair Riddoch
958babd997
Add new Variable files to the build, remove copied code, and fix up includes.
2009-09-03 00:27:59 +01:00
Al Riddoch
84c1a94412
Rename files for EntityBuilder from EntityFactory to match the class rename.
2009-03-12 00:50:25 +00:00
Al Riddoch
e5ac2b72db
2008-11-20 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Hook restored entities to the update
functions, or they never get subsequent updates.
2008-11-20 19:59:17 +00:00
Al Riddoch
fef5996466
2008-11-18 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Remove some debug output, improve
error checking and reporting.
2008-11-18 02:40:38 +00:00
Al Riddoch
9b50ab5823
2008-11-17 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Fill gaps so world is now completely
restored from database. Currently incredibly verbose and buggy.
2008-11-17 19:45:53 +00:00
Al Riddoch
91c059a960
2008-11-17 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Add some improved debug messages, and
set the value of restored properties.
2008-11-17 18:14:48 +00:00
Al Riddoch
ffcd25da46
2008-11-17 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Attempt to recontruct the entities
and properties being restored.
2008-11-17 15:55:52 +00:00
Al Riddoch
a976c54552
2008-11-17 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Dump more debug info about data from
the database.
2008-11-17 14:04:39 +00:00
Al Riddoch
d55ef57181
2008-11-17 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Dump database results to stdout.
2008-11-17 11:07:20 +00:00
Al Riddoch
ecff89aba1
2008-11-17 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp, server/StorageManager.h: Sketch out
the algorithm for reading entity data from the database.
2008-11-17 02:14:59 +00:00
Al Riddoch
fd3adb5c78
2008-11-03 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp, server/StorageManager.h: Add a bunch
of metrics about the database performance.
2008-11-03 01:13:36 +00:00
Al Riddoch
9585ec93d7
2008-09-30 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Return early to avoid scheduling deleted
Entities for an update.
2008-09-30 20:31:29 +00:00
Al Riddoch
36124ce0e7
2008-09-11 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Don't use the enable_persistence
flag to see if persistence is enabled. It's always false.
2008-09-11 16:40:47 +00:00
Al Riddoch
e55de645ef
2008-09-10 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Add a check to see if database
is enabled before hooking into the Entity builder, and exporting
monitors.
2008-09-11 00:45:51 +00:00
Al Riddoch
dd1e28de7f
2008-09-10 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Remove debug output.
2008-09-10 16:30:36 +00:00