Commit graph

109 commits

Author SHA1 Message Date
Erik Ogenvik
3966c31fdb Allow directory for binaries to be set.
By default it will use binreloc to figure out where it's running, as
with other directories.
2015-05-28 21:22:11 +02:00
Erik Ogenvik
6f8424422b Get all entity rules first.
This is needed in order for types to work. Note that we currently can't
handle dynamically changing rules; we get all rules up front. This will
have to do for now though.
2015-05-24 11:25:08 +02:00
Erik Ogenvik
b4572d67e6 Moved operation dispatch to separate class.
So it can better be reused.
2015-05-24 11:25:08 +02:00
Erik Ogenvik
a2813a22f4 Added operation for requestion possession.
This is meant to be sent to an AI client so that it can possess a mind.
2015-05-24 11:25:06 +02:00
Erik Ogenvik
891ac36787 Added custom ops for mind authoring.
These ops are more canonical than trying to fudge it with the
undocumented and unclear "thought" operation.
The "Commune" op is used when asking an entity about its thoughts, while
the "Think" op is used when sending new thoughts.
2013-08-13 22:02:25 +02:00
Alistair Riddoch
1eea99fdf2 Move CommSocket and Link classes into common 2012-11-23 11:05:59 +00:00
anthonypesce
868ce5908d Removed trailing white space. 2012-10-16 10:11:58 -04:00
Anthony Pesce
7ed4119650 Removed extra space. 2012-10-08 15:09:44 -04:00
Anthony Pesce
71999bb195 Updated make to include Shaker.h and Shaker.cpp. 2012-10-08 15:09:44 -04:00
Alistair Riddoch
6efe646c9a Move EntityKit into common 2011-12-21 00:17:06 +00:00
Alistair Riddoch
8cbe82b65e Move the abstract Task factory into common
This makes it easier to make code re-usable and get rid of cross
dependencies inside server
2011-12-20 15:10:06 +00:00
Alistair Riddoch
be735604b3 Move mind creation to the property
Also clean up factory, make more flexible and use shared script factory
code.
2011-12-15 18:33:32 +00:00
Alistair Riddoch
0e8f9ccc95 Replace abstract script factories with common template 2011-12-14 14:26:01 +00:00
Alistair Riddoch
8d90a28a75 Add new class encapsulating gettimeofday 2011-10-31 10:35:37 +01:00
Alistair Riddoch
3e3e43ab03 Rename AccountBase.* files to Storage.* 2011-04-20 20:03:30 +01:00
Alistair Riddoch
00a2ad8307 Fix formatting error introduced last summer 2011-04-20 19:59:24 +01:00
Alistair Riddoch
a16af683d3 Update automake variable names 2011-02-17 12:51:25 +00:00
Alistair Riddoch
c1791e392a Merge branch 'master' into teleport 2010-11-17 11:29:45 +00:00
Alistair Riddoch
5b9ab9bba1 Upgrade to newer, cleaner binreloc code. 2010-08-30 18:17:37 +01:00
Alistair Riddoch
05b65b5215 Add a new function to retrieve install data from windows registry. 2010-08-19 18:04:20 +01:00
Manohar Vanga
689bc562d2 Added utils.h and utils.cpp to Makefile.am 2010-08-17 11:56:55 +05:30
Manohar Vanga
9e5c5b89ca Added a Teleport (Active Property) and installed a handler for it. 2010-08-17 11:47:59 +05:30
Alistair Riddoch
2da102c398 Add the two new system function files to the build. 2010-07-12 18:47:27 +01:00
Alistair Riddoch
f0b2e9a351 Move AdminTask into common and give it a more generic name. 2009-11-28 18:10:09 +00:00
Alistair Riddoch
31fa6e924d Add a new base class for tools which connect over Atlas. 2009-11-24 18:36:45 +00: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
Alistair Riddoch
213439b2cb Move implementation for type_utils into a new body file. 2009-07-20 12:09:30 +02:00
Alistair Riddoch
ce759c0d83 Add new header to the build. 2009-07-05 15:57:50 +01:00
Alistair Riddoch
61d57f84b7 Move socket config options to the new mechanism. 2009-04-08 21:22:19 +01:00
Alistair Riddoch
8b69e3a821 Rename Identified to Router to match the class name. 2009-03-22 15:44:54 +00:00
Alistair Riddoch
cd1f42c3f9 Rename Inheritance class files to match class name. 2009-03-20 15:31:38 +00:00
Alistair Riddoch
7479da8ce4 Rename accountbase file to AccountBase to match class. 2009-03-20 01:39:18 +00:00
Al Riddoch
7adb84c925 2008-09-27 Al Riddoch <alriddoch@googlemail.com>
* common/DynamicProperty.h, common/DynamicProperty_impl.h,
	  common/Makefile.am: Remove obsolete DynamicProperty from the
	  build.
2008-09-27 16:28:26 +00:00
Al Riddoch
de4f241e4e 2008-08-29 Al Riddoch <alriddoch@googlemail.com>
* common/Monitors.cpp, common/Monitors.h: Add a new class to handle
	  storing key value pairs useful in monitoring the state of a server.

	* server/HttpCache.cpp, server/HttpCache.h: Add a function argument
	  to allow the content type to be controlled in the header.
	  Expose the Monitors class under /monitors URL.
2008-08-30 16:29:11 +00:00
Al Riddoch
74ba744157 2008-03-26 Al Riddoch <alriddoch@googlemail.com>
* common/Actuate.h, common/Makefile.am, common/custom.cpp,
	  common/op_switch.h, common/operations.cpp: Add Actuate to the
	  cyphesis core custom operations.

	* rulesets/Entity.cpp, rulesets/Entity.h, rulesets/Character.cpp:
	  Add handlers for Actuate to the operation routing interface.

	* data/devices.xml: Add example device.

	* data/Makefile.am: Add new devices file.

	* data/operations.xml: Remove temporary soft Actuate definition.
2008-03-26 01:34:15 +00:00
Al Riddoch
adc64c3ced 2008-01-28 Al Riddoch <alriddoch@googlemail.com>
* client/BaseClient.cpp, common/BaseEntity.cpp, common/BaseEntity.h,
	  common/Identified.cpp, common/Identified.h, common/Makefile.am,
	  common/OOGThing.cpp, common/OOGThing.h, common/OperationRouter.cpp,
	  common/OperationRouter.h, rulesets/Character.h, rulesets/Entity.h,
	  rulesets/LocatedEntity.cpp, rulesets/LocatedEntity.h,
	  server/Account.cpp, server/Account.h, server/Admin.cpp,
	  server/CommClient.cpp, server/CommClient.h, server/Connection.cpp,
	  server/Connection.h, server/ExternalMind.cpp, server/ExternalMind.h,
	  server/ExternalProperty.cpp, server/ExternalProperty.h,
	  server/Lobby.cpp, server/Lobby.h, server/Master.cpp, server/Master.h,
	  server/Peer.cpp, server/Peer.h, server/ServerRouting.cpp,
	  server/ServerRouting.h, server/SlaveClientConnection.cpp,
	  server/SlaveClientConnection.h: Factor out the more pointless base
	  classes, in favor of simple interface. Move destroyed signal to
	  Entity, which is the only place it is needed.
2008-01-28 23:48:30 +00:00
Al Riddoch
f27690d236 2008-01-17 Al Riddoch <alriddoch@googlemail.com>
* common/Identified.cpp, common/Identified.h: New base class for
	  anything that has an identity.
2008-01-17 23:31:07 +00:00
Al Riddoch
41ce55e11e 2008-01-12 Al Riddoch <alriddoch@googlemail.com>
* common/OperationRouter.cpp, common/OperationRouter.h: Interface
	  class for objects when can handle or route operations.

	* common/BaseEntity.h, common/BaseEntity.cpp: Remove standard
	  implementation of operation handler, forcing class to provide
	  more specific implementations.

	* rulesets/LocatedEntity.h, rulesets/LocatedEntity.cpp: Add an
	  implementation of the OperationRouter interface, suitable for
	  IG operations.

	* server/ServerRouting.h, server/Peer.cpp, server/Peer.h,
	  rulesets/MemEntity.h: Add placeholder OperationRouter
	  implementations.

	* server/Connection.cpp: Update OperationRouter implementation to
	  be better suited.

	* server/Account.cpp, server/Account.h: Implement OperationRouter
	  for accounts.
2008-01-12 18:08:03 +00:00
Al Riddoch
6da7ff7592 2007-12-27 Al Riddoch <alriddoch@zepler.org>
* common/TypeNode.h, common/TypeNode.cpp: Move TypeNode into
	  its own files.

	* common/Makefile.am, common/inheritance.cpp, common/inheritance.h:
	  Add the new files to the build and remove the old implementation.

	* client/Py_CreatorClient.cpp, rulesets/Character.cpp,
	  rulesets/Entity.cpp, rulesets/MemMap.cpp,
	  rulesets/MindFactory.cpp, rulesets/Py_Mind.cpp,
	  rulesets/Py_Thing.cpp, rulesets/Stackable.cpp,
	  server/WorldRouter.cpp: Fix up the includes for all code that
	  uses TypeNode.
2007-12-27 03:31:47 +00:00
Al Riddoch
024752c0dc 2007-12-21 Al Riddoch <alriddoch@zepler.org>
* common/terrain_utils.h, common/Makefile.am: Remove the persistence
	  code used to save terrain data.

	* common/Database.cpp, common/Database.h: Remove the object
	  relational API for persisting entity data, and put the code
	  beyond use.
2007-12-21 16:42:35 +00:00
Al Riddoch
ef304a66a0 2007-07-04 Al Riddoch <alriddoch@zepler.org>
* data/basic.xml: Provide entirely data driven definitions for Cut
	  and Chop ops.

	* common/Chop.h, common/Cut.h, common/Makefile.am, common/custom.cpp,
	  common/operations.cpp, common/types.h, tests/Makefile.am,
	  tests/Tasktest.cpp, tests/allOperations.h,
	  tests/inheritancetest.cpp: Remove the hard coded Cut and Chop op
	  definitions completely from the build.
2007-07-04 22:00:14 +00:00
Al Riddoch
695ae8ba6d 2006-12-27 Al Riddoch <alriddoch@zepler.org>
* common/Makefile.am: Fix include directories to include the top
	  of the build directory in non relocatable builds, so that out
	  of directory non relocatable builds work.

	* server/Makefile.am: Exclude buildid.cpp from distributed sources
	  and from its own deps to fix some warnings and errors.
2006-12-27 12:57:52 +00:00
Al Riddoch
2940fbc697 2006-10-26 Al Riddoch <alriddoch@zepler.org>
* common/Makefile.am, server/Makefile.am: Remove a couple of obsolete
	  headers from the build.
2006-10-26 00:45:29 +00:00
Al Riddoch
294c781dc7 2006-08-02 Al Riddoch <alriddoch@zepler.org>
* common/Use.h, common/Wield.h, common/Generic.h: Mark unused files
	  as removed from the build.

	* common/Attack.h, common/Burn.h, common/Chop.h, common/Connect.h,
	  common/Cut.h, common/Delve.h, common/Dig.h, common/Drop.h,
	  common/Eat.h, common/Monitor.h, common/Mow.h, common/Nourish.h,
	  common/Pickup.h, common/Setup.h, common/Tick.h, common/Unseen.h,
	  common/Update.h: Add class documentation to all the custom
	  properties.

	* common/DynamicProperty.h, client/ClientPropertyManager.h,
	  server/CorePropertyManager.h, server/PersistantThingFactory.h,
	  server/ScriptFactory.h, server/WorldRouter.cpp: Add documentation
	  to some places where it is missing.
2006-08-02 11:27:15 +00:00
Al Riddoch
cec9814a60 2006-06-26 Al Riddoch <alriddoch@zepler.org>
* common/DynamicProperty.cpp, common/DynamicProperty.h,
	  common/DynamicProperty_impl.h: New property class for handling
	  properties or attributes added on the fly which need to store the
	  value.

	* common/PropertyFactory.cpp, common/PropertyFactory_impl.h,
	  server/CorePropertyManager.cpp: Use DynamicProperty in the
	  property factories for properties created on the fly.
2006-06-26 15:50:43 +00:00
Al Riddoch
bc4c731373 2006-06-26 Al Riddoch <alriddoch@zepler.org>
* common/Makefile.am: Add missing reference to header file.
2006-06-26 13:45:06 +00:00
Al Riddoch
87505c6098 2006-06-26 Al Riddoch <alriddoch@zepler.org>
* common/PropertyFactory.cpp, common/PropertyFactory.h,
	  common/PropertyFactory_impl.h, common/PropertyManager.cpp,
	  common/PropertyManager.h: Add new classes to automate the
	  creation of property objects for known property types.

	* server/CorePropertyManager.cpp, server/CorePropertyManager.h:
	  Manager object that will coordinate creating properties
	  when they are added to entities.
2006-06-26 00:21:32 +00:00
Al Riddoch
3129fe2a97 2006-06-21 Al Riddoch <alriddoch@zepler.org>
* common/debug.h, common/debug.cpp: Add interface template for a
	  function which dumps a representation of a type to stdout, and
	  add a specialisation for dumping Atlas message data.
2006-06-21 14:28:17 +00:00
Al Riddoch
c8cd54ef12 2006-01-20 Al Riddoch <alriddoch@zepler.org>
* common/Pickup.h, common/Drop.h, common/custom.cpp,
	  common/operations.cpp, common/types.h: Add and install two new
	  op types for Pickup and Drop.

	* rulesets/Thing.cpp: Send sights of Pickup and Drop when characters
	  perform this actions implicitly with move ops.
2006-01-20 02:11:40 +00:00
Al Riddoch
d24a86968c 2005-11-12 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, common/Database.h, common/id.h, common/id.cpp:
	  Make newId() functions return the integer value.

	* common/newid.cpp: Break newId out into its own file, and make
	  it handle whether or not the database should issue IDs.

	* server/Connection.cpp, server/Persistance.cpp,
	  server/WorldRouter.cpp, server/server.cpp: Simply generating IDs
	  by just using the newId() function, and use its return value.
2005-11-12 01:40:37 +00:00