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
Al Riddoch
8c8884c11a
2008-09-08 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Disable debug output.
2008-09-08 00:02:21 +00:00
Al Riddoch
fe60aa4a1f
2008-09-08 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Only do property inserts if there are
some to be inserted. Limit the number of queries per tick. Improve
database debug output.
2008-09-07 23:47:04 +00:00
Al Riddoch
60ae81e4a1
2008-09-03 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp, server/StorageManager.h: Add a queue
of deleted entity IDs, and implement deleting entries from
this queue from the database.
2008-09-04 09:39:04 +00:00
Al Riddoch
8863140a37
2008-09-03 Al Riddoch <alriddoch@googlemail.com>
...
* server/Persistance.cpp: Correct seem seriously wrong error
messages.
2008-09-03 22:53:58 +00:00
Al Riddoch
84a8325e1e
2008-09-03 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Add checks so that ephemeral
entities are not written to the database, and ephemeral properties
are not inserted or updated. Postpone connecting the updated
signal until after the initial insert.
2008-09-03 20:54:06 +00:00
Al Riddoch
5b44925c4e
2008-09-03 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Add hooks so that updates to the world
get persisted.
2008-09-03 10:19:37 +00:00
Al Riddoch
2083fe0ff4
2008-09-02 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp: Disable debug output.
2008-09-02 18:26:52 +00:00
Al Riddoch
977c0ec4d7
2008-09-01 Al Riddoch <alriddoch@googlemail.com>
...
* server/EntityFactory.cpp, server/PersistantThingFactory.cpp,
server/PersistantThingFactory.h,
server/PersistantThingFactory_impl.h:
Add a count to each factory of the number of entities
it has created, and add a monitor watch to each one.
* server/StorageManager.cpp, server/StorageManager.h: Add counters
for the various types of database query, and add monitor watches
for them.
2008-09-01 17:45:59 +00:00
Al Riddoch
5e9d6f3e77
2008-08-28 Al Riddoch <alriddoch@googlemail.com>
...
* common/Database.cpp: Add the location data to the database
insert query.
* server/Persistance.cpp: Modify the entity database table so it
has the right columns.
* server/StorageManager.cpp: Correctly check the orientation
valid flag before using it.
2008-08-28 10:32:03 +00:00
Al Riddoch
d3f19deda1
2008-08-27 Al Riddoch <alriddoch@googlemail.com>
...
* common/Database.cpp, common/Database.h: Modify the Entity database
functions to include a chunk of text for location data.
* server/StorageManager.cpp: Implement naive storage of location
data to the database.
2008-08-28 09:43:50 +00:00
Al Riddoch
0285deded5
2008-08-27 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp, server/StorageManager.h: Encode
properties as rather messy Atlas, and store them in the
database.
2008-08-27 15:46:14 +00:00
Al Riddoch
d87a7cd4dc
2008-08-26 Al Riddoch <alriddoch@googlemail.com>
...
* server/StorageManager.cpp, server/StorageManager.h: Move code
that inserts and updates Entities in the database into their own
functions.
2008-08-26 14:26:25 +00:00