Commit graph

52 commits

Author SHA1 Message Date
Erik Ogenvik
62227f5664 Update with Atlas changes. 2018-02-06 13:45:11 +01:00
Erik Ogenvik
fdffb96711 Added include directive needed for fstream.
On some distros.
2017-08-02 01:07:25 +02:00
Erik Ogenvik
7aaa9b9ba7 Optimize includes. 2017-03-19 21:36:52 +01:00
Erik Ogenvik
511976adb5 Don't use too new boost::filesystem functions.
We can achieve the same things with some string manipulation.
2016-12-27 23:04:55 +01:00
Erik Ogenvik
59b55584a0 Read rules recursively.
And remove legacy file based loading.
This bumps the requirement of boost.
2016-12-15 18:27:42 +01:00
Erik Ogenvik
37bcfbd4db Handle Atlas API changes. 2016-03-18 20:07:23 +01: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
Alistair Riddoch
68494ba520 Use the ruleset global less often, making code more isolated 2012-01-19 19:34:20 +00:00
Alistair Riddoch
b5c97129b1 Remove obsolete database code
RuleBase has been replaced by the more generic Storage class
2011-04-21 19:30:36 +01:00
Alistair Riddoch
245185ff23 Swtich cyloadrules over to using Storage 2011-04-21 19:25:10 +01:00
Alistair Riddoch
b16ec3e179 Report which files the rules installed came from. 2009-11-02 02:21:25 +00:00
Alistair Riddoch
665993f638 Update IDs 2009-04-09 12:42:44 +01:00
Al Riddoch
8026e6ae90 2007-12-05 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, common/Database.h: Remove the flag specifying
	  that the database should be created at connection time, as we
	  basically can't do this. Make the default database name depend on
	  instance name currently in use.

	* common/accountbase.cpp, tools/cydumprules.cpp, tools/cyloadrules.cpp:
	  Fix code for the change to the database API.
2007-12-05 22:43:46 +00:00
Al Riddoch
29415a6a6e 2007-11-14 Al Riddoch <alriddoch@zepler.org>
* common/globals.cpp, common/globals.h: Modify the loadConfig
	  function so it takes usage hints, and checks the options in known
	  sections against those in the usage help.

	* client/client.cpp, server/server.cpp, tools/cyaddrules.cpp,
	  tools/cycmd.cpp, tools/cydumprules.cpp, tools/cyloadrules.cpp,
	  tools/cypasswd.cpp: Convert all calls to loadConfig to provide
	  the right hints.
2007-11-14 22:40:17 +00:00
Al Riddoch
f4d4ac8938 2007-06-22 Al Riddoch <alriddoch@zepler.org>
* server/EntityFactory.cpp, tools/cyaddrules.cpp,
	  tools/cyloadrules.cpp: Remove some directory walking debug output.
2007-06-22 12:58:59 +00:00
Al Riddoch
f8a2731576 2007-06-19 Al Riddoch <alriddoch@zepler.org>
* common/globals.cpp, common/globals.h: Change the type and name
	  of the ruleset list to a string.

	* rulesets/Python_API.cpp, server/EntityFactory.cpp,
	  server/server.cpp, tools/cyaddrules.cpp, tools/cydumprules.cpp,
	  tools/cyloadrules.cpp: Switch to using single ruleset config
	  variable.
2007-06-19 13:19:57 +00:00
Al Riddoch
13d0e5e00f 2007-06-16 Al Riddoch <alriddoch@zepler.org>
* data/Makefile.am: Install the xml files for mason into the mason.d
	  subdir, as the rule loading code now prefers.

	* server/EntityFactory.cpp, tools/cyaddrules.cpp,
	  tools/cyloadrules.cpp: Modify the way rule xml files are loaded
	  so files from the ruleset specific subdirectory are loaded first,
	  and the legacy way of doing it is done if this files, with a warning
	  message.
2007-06-16 13:39:54 +00:00
Al Riddoch
1b457a7439 2007-04-29 Al Riddoch <alriddoch@zepler.org>
* common/globals.h, common/globals.cpp: Flag the usage data for
	  cycmd and database tools. Add an additional argument to the
	  usage function for programs which take additional non-varconf
	  arguments.

	* tools/cyaddrules.cpp, tools/cycmd.cpp, tools/cydumprules.cpp,
	  tools/cyloadrules.cpp: Add usage to the rest of the tools.

	* client/client.cpp: Add additional argument usage information.
2007-04-29 13:32:27 +00:00
Al Riddoch
e7c7e232ac 2006-12-26 Al Riddoch <alriddoch@zepler.org>
* client/CharacterClient.cpp, client/ClientConnection.h,
	  rulesets/Character.cpp, rulesets/Character.h, tools/cyaddrules.cpp,
	  tools/cyconfig.cpp, tools/cyconvertrules.cpp, tools/cyctrl.cpp,
	  tools/cydumprules.cpp, tools/cyloadrules.cpp, tools/cypasswd.cpp:
	  Add inline documentation.

	* client/CharacterClient.h, client/CharacterClient.cpp: Remove
	  overriden sight operation handlers, as they are no longer
	  present in the base class, and will never be called.

	* client/ClientConnection.h: Remove obsolete unimplemented template
	  declaration.

	* rulesets/Entity.cpp: Remove documentation for an argument that was
	  never there.

	* tools/cyctrl.cpp: Mark as removed from the build.

	* Add a FIXME about removing hard coded gender property
2006-12-26 18:24:24 +00:00
Al Riddoch
65bd6125d5 2006-12-24 Al Riddoch <alriddoch@zepler.org>
* index.dox, common/BaseWorld.cpp, common/BaseWorld.h,
	  common/PropertyFactory.h, common/PropertyManager.h, common/const.h,
	  rulesets/ActivePropertyFactory.h, rulesets/Entity.h,
	  rulesets/Py_Vector3D.h, rulesets/Py_World.h, rulesets/Py_WorldTime.h,
	  rulesets/PythonMindScript.cpp, rulesets/PythonMindScript.h,
	  rulesets/PythonScript.h,
	  rulesets/PythonThingScript.h, rulesets/PythonWrapper.cpp,
	  rulesets/PythonWrapper.h, rulesets/Script.cpp, rulesets/Script.h,
	  server/ArithmeticFactory.h, server/CommServer.h, server/CommSocket.h,
	  server/ScriptFactory.cpp, server/TaskFactory.cpp,
	  server/TaskFactory.h, server/WorldRouter.cpp, tools/AdminClient.h,
	  tools/cyaddrules.cpp, tools/cycmd.cpp, tools/cyconfig.cpp,
	  tools/cydumprules.cpp, tools/cyloadrules.cpp:
	  Add a truck load of inline docs.

	* tools/cywatchdog.cpp: Mark obsolete file as removed from the build.

	* tools/cyloadrules.cpp, tools/cyconfig.cpp, tools/cyaddrules.cpp:
	  Rename some overly generic types so they have more indicative
	  and unique names.

	* FIXME, server/ScriptFactory.cpp, server/TaskFactory.h: Add a couple
	  of formal FIXMEs to sort out the code for loading modules and
	  classes.

	* rulesets/PythonThingScript.h: Remove some commented out code.
2006-12-24 14:42:05 +00:00
Al Riddoch
9a56dac06c 2006-10-26 Al Riddoch <alriddoch@zepler.org>
* Add RCS Id keywords to every file, for better version tracking.
2006-10-26 00:48:00 +00:00
Al Riddoch
fac57eee73 2006-01-19 Al Riddoch <alriddoch@zepler.org>
* aiclient/ClientAccount.cpp, aiclient/ClientAccount.h,
	  aiclient/ClientConnection.cpp, aiclient/ClientConnection.h,
	  aiclient/client.cpp, aiclient/client.h, client/BaseClient.cpp,
	  client/BaseClient.h, client/CharacterClient.cpp,
	  client/CharacterClient.h, client/ClientConnection.cpp,
	  client/ClientConnection.h, client/CreatorClient.cpp,
	  client/CreatorClient.h, client/ObserverClient.cpp,
	  client/ObserverClient.h, client/Py_CreatorClient.cpp,
	  client/Py_CreatorClient.h, client/client.cpp,
	  client/define_world.cpp, client/define_world.h, common/Add.h,
	  common/Affect.h, common/AtlasFileLoader.cpp,
	  common/AtlasFileLoader.h, common/Attack.h, common/BaseEntity.cpp,
	  common/BaseEntity.h, common/BaseWorld.cpp, common/BaseWorld.h,
	  common/Burn.h, common/Chop.h, common/Connect.h, common/CustomOp.cpp,
	  common/CustomOp.h, common/CustomOp_impl.h, common/Cut.h,
	  common/Database.cpp, common/Database.h, common/Delve.h, common/Dig.h,
	  common/Eat.h, common/FormattedXMLWriter.cpp,
	  common/FormattedXMLWriter.h, common/Generic.h, common/Load.h,
	  common/Monitor.h, common/Mow.h, common/Nourish.h,
	  common/OOGThing.cpp, common/OOGThing.h, common/Property.cpp,
	  common/Property.h, common/Property_impl.h, common/Save.h,
	  common/Setup.h, common/Tick.h, common/Unseen.h, common/Update.h,
	  common/Use.h, common/Wield.h, common/accountbase.cpp,
	  common/accountbase.h, common/const.cpp, common/const.h,
	  common/custom.cpp, common/debug.h, common/globals.cpp,
	  common/globals.h, common/id.cpp, common/id.h, common/inheritance.cpp,
	  common/inheritance.h, common/inheritance_impl.h, common/log.cpp,
	  common/log.h, common/newid.cpp, common/nls.h, common/op_switch.h,
	  common/operations.cpp, common/operations.h, common/random.h,
	  common/refno.h, common/serialno.cpp, common/serialno.h,
	  common/system.cpp, common/system.h, common/terrain_utils.cpp,
	  common/terrain_utils.h, common/type_utils.h, common/types.h,
	  common/utility.cpp, common/utility.h, modules/DateTime.cpp,
	  modules/DateTime.h, modules/Location.cpp, modules/Location.h,
	  modules/WorldTime.cpp, modules/WorldTime.h, physics/BBox.cpp,
	  physics/BBox.h, physics/Collision.cpp, physics/Collision.h,
	  physics/Quaternion.cpp, physics/Quaternion.h, physics/Vector3D.cpp,
	  physics/Vector3D.h, physics/VectorPol.h, rulesets/Area.cpp,
	  rulesets/Area.h, rulesets/AreaProperty.cpp, rulesets/AreaProperty.h,
	  rulesets/ArithmeticScript.cpp, rulesets/ArithmeticScript.h,
	  rulesets/BaseMind.cpp, rulesets/BaseMind.h,
	  rulesets/CalendarProperty.cpp, rulesets/CalendarProperty.h,
	  rulesets/Character.cpp, rulesets/Character.h, rulesets/Combat.cpp,
	  rulesets/Combat.h, rulesets/Container.cpp, rulesets/Container.h,
	  rulesets/Creator.cpp, rulesets/Creator.h, rulesets/Entity.cpp,
	  rulesets/Entity.h, rulesets/EntityProperties.cpp,
	  rulesets/Entity_getLocation.h, rulesets/Fell.cpp, rulesets/Fell.h,
	  rulesets/Food.cpp, rulesets/Food.h, rulesets/Line.cpp,
	  rulesets/Line.h, rulesets/LineProperty.cpp, rulesets/LineProperty.h,
	  rulesets/MemEntity.cpp, rulesets/MemEntity.h, rulesets/MemMap.cpp,
	  rulesets/MemMap.h, rulesets/MemMap_methods.h,
	  rulesets/MindFactory.cpp, rulesets/MindFactory.h, rulesets/Missile.h,
	  rulesets/Motion.cpp, rulesets/Motion.h, rulesets/Movement.cpp,
	  rulesets/Movement.h, rulesets/Pedestrian.cpp, rulesets/Pedestrian.h,
	  rulesets/Plant.cpp, rulesets/Plant.h, rulesets/Py_BBox.cpp,
	  rulesets/Py_BBox.h, rulesets/Py_EntityWrapper.h,
	  rulesets/Py_Location.cpp, rulesets/Py_Location.h,
	  rulesets/Py_Map.cpp, rulesets/Py_Map.h, rulesets/Py_Mind.cpp,
	  rulesets/Py_Mind.h, rulesets/Py_Object.cpp, rulesets/Py_Object.h,
	  rulesets/Py_Operation.cpp, rulesets/Py_Operation.h,
	  rulesets/Py_Oplist.cpp, rulesets/Py_Oplist.h, rulesets/Py_Optime.cpp,
	  rulesets/Py_Optime.h, rulesets/Py_Point3D.cpp, rulesets/Py_Point3D.h,
	  rulesets/Py_Property.cpp, rulesets/Py_Property.h,
	  rulesets/Py_Quaternion.cpp, rulesets/Py_Quaternion.h,
	  rulesets/Py_RootEntity.cpp, rulesets/Py_RootEntity.h,
	  rulesets/Py_Statistics.cpp, rulesets/Py_Statistics.h,
	  rulesets/Py_Task.cpp, rulesets/Py_Task.h, rulesets/Py_Thing.cpp,
	  rulesets/Py_Thing.h, rulesets/Py_Vector3D.cpp,
	  rulesets/Py_Vector3D.h, rulesets/Py_World.cpp, rulesets/Py_World.h,
	  rulesets/Py_WorldTime.cpp, rulesets/Py_WorldTime.h,
	  rulesets/PythonArithmeticScript.cpp,
	  rulesets/PythonArithmeticScript.h, rulesets/PythonMindScript.cpp,
	  rulesets/PythonMindScript.h, rulesets/PythonScript.cpp,
	  rulesets/PythonScript.h, rulesets/PythonThingScript.cpp,
	  rulesets/PythonThingScript.h, rulesets/PythonWrapper.cpp,
	  rulesets/PythonWrapper.h, rulesets/Python_API.cpp,
	  rulesets/Python_API.h, rulesets/Python_Script_Utils.h,
	  rulesets/Script.cpp, rulesets/Script.h, rulesets/Stackable.cpp,
	  rulesets/Stackable.h, rulesets/Statistics.cpp, rulesets/Statistics.h,
	  rulesets/StatisticsProperty.cpp, rulesets/StatisticsProperty.h,
	  rulesets/Structure.cpp, rulesets/Structure.h, rulesets/Task.cpp,
	  rulesets/Task.h, rulesets/TaskScript.cpp, rulesets/TaskScript.h,
	  rulesets/TerrainProperty.cpp, rulesets/TerrainProperty.h,
	  rulesets/Thing.cpp, rulesets/Thing.h, rulesets/ThingFactory.cpp,
	  rulesets/ThingFactory.h, rulesets/World.cpp, rulesets/World.h,
	  rulesets/attributes.h, server/Account.cpp, server/Account.h,
	  server/Admin.cpp, server/Admin.h, server/ArithmeticFactory.cpp,
	  server/ArithmeticFactory.h, server/CommClient.cpp,
	  server/CommClient.h, server/CommIdleSocket.cpp,
	  server/CommIdleSocket.h, server/CommListener.cpp,
	  server/CommListener.h, server/CommLocalClient.cpp,
	  server/CommLocalClient.h, server/CommMDNSPublisher.cpp,
	  server/CommMDNSPublisher.h, server/CommMaster.cpp,
	  server/CommMaster.h, server/CommMetaClient.cpp,
	  server/CommMetaClient.h, server/CommPSQLSocket.cpp,
	  server/CommPSQLSocket.h, server/CommPeer.cpp,
	  server/CommPeer.h, server/CommPeerListener.cpp,
	  server/CommPeerListener.h, server/CommRemoteClient.cpp,
	  server/CommRemoteClient.h, server/CommServer.cpp,
	  server/CommServer.h, server/CommSlaveClient.cpp,
	  server/CommSlaveClient.h, server/CommSlaveListener.cpp,
	  server/CommSlaveListener.h, server/CommSocket.cpp,
	  server/CommSocket.h, server/CommUnixListener.cpp,
	  server/CommUnixListener.h, server/Connection.cpp,
	  server/Connection.h, server/Connection_methods.h,
	  server/EntityFactory.cpp, server/EntityFactory.h,
	  server/ExternalMind.cpp, server/ExternalMind.h,
	  server/Idle.cpp, server/Idle.h, server/Lobby.cpp, server/Lobby.h,
	  server/Master.cpp, server/Master.h, server/Peer.cpp, server/Peer.h,
	  server/Persistance.cpp, server/Persistance.h,
	  server/PersistantThingFactory.cpp, server/PersistantThingFactory.h,
	  server/PersistantThingFactory_impl.h, server/Persistor.cpp,
	  server/Persistor.h, server/Persistor_impl.h,
	  server/Player.cpp, server/Player.h, server/Restoration.cpp,
	  server/Restoration.h, server/Restorer.cpp, server/Restorer.h,
	  server/Restorer_impl.h, server/ScriptFactory.cpp,
	  server/ScriptFactory.h, server/ServerRouting.cpp,
	  server/ServerRouting.h, server/ServerRouting_methods.h,
	  server/SlaveClientConnection.cpp, server/SlaveClientConnection.h,
	  server/TaskFactory.cpp, server/TaskFactory.h,
	  server/TrustedConnection.cpp, server/TrustedConnection.h,
	  server/WorldRouter.cpp, server/WorldRouter.h,
	  server/server.cpp, server/server.h, server/slave.cpp,
	  tests/Areatest.cpp, tests/BaseEntitytest.cpp,
	  tests/Charactertest.cpp, tests/Containertest.cpp,
	  tests/Creatortest.cpp, tests/EntityExerciser.h,
	  tests/EntityFactorytest.cpp, tests/Entitytest.cpp,
	  tests/Foodtest.cpp, tests/IGEntityExerciser.h,
	  tests/Linetest.cpp, tests/Locationtest.cpp, tests/OOGThingtest.cpp,
	  tests/Planttest.cpp, tests/Propertytest.cpp, tests/Stackabletest.cpp,
	  tests/Structuretest.cpp, tests/Tasktest.cpp, tests/TestWorld.h,
	  tests/Thingtest.cpp, tests/WorldTimetest.cpp, tests/Worldtest.cpp,
	  tests/allOperations.h, tests/collisiontest.cpp, tests/consttest.cpp,
	  tests/distancetest.cpp, tests/emergencetest.cpp,
	  tests/inheritancetest.cpp, tests/logtest.cpp, tests/randomtest.cpp,
	  tests/systemtest.cpp, tests/transformtest.cpp,
	  tests/type_utilstest.cpp, tests/utilitytest.cpp,
	  tools/AdminClient.cpp, tools/AdminClient.h, tools/cyaddrules.cpp,
	  tools/cycmd.cpp, tools/cyconfig.cpp, tools/cyconvertrules.cpp,
	  tools/cyctrl.cpp, tools/cydbload.cpp, tools/cydumprules.cpp,
	  tools/cyisoload.cpp, tools/cyloadrules.cpp, tools/cypasswd.cpp,
	  tools/cywatchdog.cpp: Replace the copyright and license statements
	  with new versions that include disclaimer of warranty, and
	  permit distribution under later versions of the GPL.
2006-01-19 02:17:06 +00:00
Al Riddoch
19d808718a 2005-09-12 Al Riddoch <alriddoch@zepler.org>
* configure.ac: Increment version to development 0.5.x series.

	* aiclient/ClientAccount.cpp, client/BaseClient.cpp,
	  client/ClientConnection.cpp, common/BaseEntity.cpp,
	  common/Database.cpp, common/custom.cpp, common/inheritance.cpp,
	  common/operations.h, rulesets/BaseMind.cpp, rulesets/Creator.cpp,
	  rulesets/Food.cpp, rulesets/MemMap.cpp, rulesets/Pedestrian.cpp,
	  rulesets/Py_Operation.cpp, rulesets/Py_RootEntity.cpp,
	  rulesets/Python_API.cpp, rulesets/Stackable.cpp, rulesets/Thing.cpp,
	  rulesets/World.cpp, server/CommClient.cpp, server/Connection.cpp,
	  server/WorldRouter.cpp, tests/inheritancetest.cpp,
	  tools/AdminClient.h, tools/cyaddrules.cpp,
	  tools/cycmd.cpp, tools/cydumprules.cpp,
	  tools/cyloadrules.cpp, tools/cypasswd.cpp:
	  Remove unnecessary using directives.

	* common/utility.cpp, common/utility.h,
	  rulesets/BaseMind.cpp, rulesets/Py_Operation.cpp,
	  server/CommClient.cpp, tools/AdminClient.h, tools/cycmd.cpp:
	  Remove obsolete utility function from the build.

	* common/operations.h: Remove unused obsolete header from the
	  build.
2005-09-12 16:21:18 +00:00
Al Riddoch
0ed6819a55 2005-08-28 Al Riddoch <alriddoch@zepler.org>
* Finish initial port to Atlas-C++ 0.6 series. Client and tools
	  binaries now link.
2005-08-27 23:18:48 +00:00
Al Riddoch
da5b9c4551 2005-05-14 Al Riddoch <alriddoch@zepler.org>
* tools/AdminClient.cpp, tools/AdminClient.h, tools/cyaddrules.cpp:
	  New tool to load new rules into a running server.

	* data/mason.xml, rulesets/mason/world/objects/tools/Rope.py:
	  Experimental type for a rope.

	* man/cyclient.sgml, man/cycmd.sgml, man/cyphesis-tools.sgml,
	  man/cyphesis.sgml: Add SEE ALSO sections to the man pages.

	* rulesets/Python_API.cpp: Clean up variable names.

	* server/Admin.cpp: Send an info response when types are
	  installed from the client.

	* tools/cyloadrules.cpp: Correct copyright dates.
2005-05-13 23:25:32 +00:00
Al Riddoch
c4a92de9f3 2004-11-06 Al Riddoch <alriddoch@zepler.org>
* aiclient/ClientConnection.cpp, client/BaseClient.cpp,
	  client/CharacterClient.cpp, client/ClientConnection.cpp,
	  common/Database.cpp, common/FormattedXMLWriter.cpp,
	  common/inheritance.cpp, common/refno.h, common/terrain_utils.cpp,
	  common/type_utils.h, common/utility.cpp, modules/WorldTime.cpp,
	  modules/WorldTime.h, physics/Collision.cpp, rulesets/Area.cpp,
	  rulesets/BaseMind.cpp, rulesets/Character.cpp, rulesets/Entity.cpp,
	  rulesets/Line.cpp, rulesets/MemMap.cpp, rulesets/MemMap_methods.h,
	  rulesets/Movement.cpp, rulesets/Plant.cpp, rulesets/Py_Map.cpp,
	  rulesets/Py_Object.cpp, rulesets/Py_Operation.cpp,
	  rulesets/Py_Oplist.cpp, rulesets/PythonMindScript.cpp,
	  rulesets/PythonThingScript.cpp, rulesets/Python_API.cpp,
	  rulesets/Stackable.cpp, rulesets/TerrainProperty.cpp,
	  rulesets/Thing.cpp, rulesets/World.cpp, server/Account.cpp,
	  server/CommClient.cpp, server/CommServer.cpp, server/Connection.cpp,
	  server/EntityFactory.cpp, server/Lobby.cpp, server/Persistance.cpp,
	  server/Player.cpp, server/Restoration.cpp, server/ServerRouting.cpp,
	  server/WorldRouter.cpp, tests/EntityExerciser.h,
	  tests/IGEntityExerciser.h, tests/inheritancetest.cpp,
	  tools/cycmd.cpp, tools/cyconvertrules.cpp, tools/cydbload.cpp,
	  tools/cyloadrules.cpp:
	  Tweak for loops to avoid creating a temporary iterator each
	  iteration.

	* tests/type_utilstest.cpp: New test for function which does
	  list conversions.
2004-11-06 20:36:03 +00:00
Al Riddoch
8424723b7a 2004-11-02 Al Riddoch <alriddoch@zepler.org>
* rulesets/Entity.cpp, rulesets/Entity.h: Add has() method
	  to query if an entity has an attribute with a given name.

	* rulesets/Character.cpp, rulesets/Character.h: Implement tool
	  wield and use operations.

	* data/mason.xml: Add operations list to the cleaver.

	* rulesets/mason/world/objects/tools/Cleaver.py: Simplify the chop
	  operation the cleaver expects to get from its user.

	* tools/cyloadrules.cpp: Remove some commented out cruft and
	  debugging output.
2004-11-03 15:28:10 +00:00
Al Riddoch
675a70dd45 2004-10-05 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp, tools/cyloadrules.cpp: Update tools to support
	  centralised varconf options on the command line. Update man
	  pages accordingly.
2004-10-05 14:57:11 +00:00
Al Riddoch
70bda04c90 2004-10-03 Al Riddoch <alriddoch@zepler.org>
* Require varconf 0.6.2 for its superior command line handling.

	* client/client.cpp, common/globals.cpp, server/server.cpp,
	  server/slave.cpp, tools/cycmd.cpp, tools/cyloadrules.cpp,
	  tools/cypasswd.cpp: loadConfig() now returns the index of
	  the first non-option commandline arg.

	* client/client.cpp: Use new config feature to allow user to
	  specify the client function to use on the command line far
	  more easily.
2004-10-03 13:55:54 +00:00
Al Riddoch
adc1d1b7c0 2004-10-03 Al Riddoch <alriddoch@zepler.org>
* client/client.cpp, common/globals.cpp, common/globals.h,
	  common/inheritance.cpp, common/inheritance.h, server/server.cpp,
	  server/slave.cpp, tools/cycmd.cpp, tools/cyloadrules.cpp,
	  tools/cypasswd.cpp:
	  Use int for returning error status.
2004-10-03 02:06:45 +00:00
Al Riddoch
3dc25b698f 2004-10-03 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, common/Database.h, common/accountbase.cpp,
	  common/accountbase.h, server/Persistance.cpp, server/Persistance.h,
	  server/server.cpp, tools/cyloadrules.cpp, tools/cypasswd.cpp:
	  Use int for returning error status.
2004-10-03 01:50:49 +00:00
Al Riddoch
fe78372f72 2004-09-28 Al Riddoch <alriddoch@zepler.org>
* Add manual pages to the build.

	* tools/cyloadrules.cpp: Fix usage information to be clearer.
2004-09-28 19:24:15 +00:00
Al Riddoch
da8ad23bbd 2004-08-17 Al Riddoch <alriddoch@zepler.org>
* tests/Areatest.cpp, tests/Entitytest.cpp, tests/Foodtest.cpp,
	  tests/Linetest.cpp, tests/Planttest.cpp, tests/Stackabletest.cpp,
	  tests/Structuretest.cpp, tests/Thingtest.cpp, tests/Worldtest.cpp,
	  tests/inheritancetest.cpp, tests/utilitytest.cpp, tools/cycmd.cpp,
	  tools/cyconvertrules.cpp, tools/cydbload.cpp, tools/cyisoload.cpp,
	  tools/cyloadrules.cpp, tools/cypasswd.cpp: Convert code to using
	  Atlas Message typedefs as found in Atlas-C++ 0.6 to aid
	  conversion later.
2004-08-17 13:23:28 +00:00
Al Riddoch
6ea4c6090a 2004-07-22 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, common/Database.h: Add function to check
	  whether an Atlas table has a given key.

	* tools/cyloadrules.cpp: Use hasKey() function to make sure we
	  don't get errors when inserting rules.
2004-07-22 11:25:24 +00:00
Al Riddoch
91c9437c81 2004-07-12 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, common/Database.h: Add capability to specify
	  extra columns in generic Atlas database tables. Query the results
	  columns more robustly. Add a ruleset name column to the rules
	  table.

	* server/EntityFactory.cpp: Re-write rule loader to handle new
	  format rules. Tighten up strictness of rule data. It is no
	  longer possible to specify defaults for location in the rule.

	* tools/cyconvertrules.cpp: Ensure that the playable flag is
	  copied across when converting rules.

	* tools/cyloadrules.cpp: Adapt to load the new format rules,
	  including handling the ruleset name column.
2004-07-12 10:58:20 +00:00
Al Riddoch
a2487f5f0e 2004-06-09 Al Riddoch <alriddoch@zepler.org>
* tools/cypasswd.cpp, tools/cyloadrules.cpp, tools/cycmd.cpp: Fix
	  usage functions to output to standard error.

	* server/Admin.cpp: Add quick code to install new types.

	* tools/cyconvertrules.cpp: Add placeholder for tool to convert
	  old format rules files into a new format to be common with
	  indri.
2004-06-09 21:19:41 +00:00
Al Riddoch
d3abc994bc 2003-11-14 Al Riddoch <alriddoch@zepler.org>
* tools/cyloadrules.cpp: Ensure that tools still work with modified
	  non-blocking database API.
2003-11-14 17:16:49 +00:00
Al Riddoch
66aa18fa2a 2003-09-15 Al Riddoch <alriddoch@zepler.org>
* tools/cyloadrules.cpp: Fix tool so that it detects if it
	  cannot connect to the database, and does not incorrectly report
	  that it has succeeded.
2003-09-15 20:55:15 +00:00
Al Riddoch
0fbfc771ad 2003-08-07 Al Riddoch <alriddoch@zepler.org>
* server/Lobby.cpp: Add some debugging messages.

	* server/CommServer.cpp: Tweak select loop so that closed connections
	  are cleaned up as soon as they are detected.

	* rulesets/World.cpp: Make demo terrain a bit more mountainous.

	* Convert entire codebase over to using Atlas-C++ 0.4.90, as
	  start of transition to 0.6 API.
2003-08-07 23:03:26 +00:00
Al Riddoch
15ef748518 2003-03-07 Al Riddoch <alriddoch@zepler.org>
* Use " instead of < when including application headers.

	* Re-work the interface between server and worldrouter objects
	  so that the are less tied together, and more flexible.
2003-03-07 00:22:12 +00:00
Al Riddoch
00199f8aa6 2002-07-27 Al Riddoch <alriddoch@zepler.org>
* tools/cyloadrules.cpp, server/server.cpp,
	  aiclient/ClientConnection.cpp, client/ClientConnection.cpp,
	  common/inheritance.h: Use const iterators and references
	  whenever possible.

	* client/CommClient.cpp, client/CreatorClient.cpp,
	  client/ObserverClient.cpp, client/Py_CreatorClient.cpp,
	  common/BaseEntity.cpp, common/BaseEntity.h,
	  common/types.h, rulesets/Area.cpp, rulesets/BaseMind.cpp,
	  rulesets/Character.cpp, rulesets/Entity.cpp,
	  rulesets/Food.cpp, rulesets/Line.cpp,
	  rulesets/MemMap.cpp, rulesets/Pedestrian.cpp,
	  rulesets/Plant.cpp, rulesets/Py_Mind.cpp,
	  rulesets/Py_Object.cpp, rulesets/Py_Thing.cpp,
	  rulesets/Python_API.cpp, rulesets/Stackable.cpp,
	  rulesets/Thing.cpp, rulesets/World.cpp,
	  server/Account.cpp, server/Admin.cpp, server/CommClient.cpp,
	  server/CommServer.cpp, server/Connection.cpp,
	  server/EntityFactory.cpp, server/Lobby.cpp,
	  server/Persistance.cpp, server/Player.cpp,
	  server/ServerRouting.cpp, server/WorldRouter.cpp:
	  Switch to using Fragment as name for Atlas::Message::Object,
	  to avoid name clashes on Object.

	* common/BaseEntity.h: Make BaseEntity inherit from SigC::Object,
	  so signals and callbacks can be used, and add destroyed
	  signal.

	* common/accountbase.h, physics/BBox.h, physics/Quaternion.h,
	  physics/Vector3D.h, rulesets/MemMap_methods.h,
	  rulesets/Movement.cpp, rulesets/Plant.h,
	  rulesets/Py_Operation.cpp, rulesets/PythonMindScript.cpp,
	  rulesets/PythonThingScript.cpp, rulesets/Script.cpp,
	  common/inheritance.cpp: Cleaned up Atlas::Message::Object
	  use, and excessive use of "using ...".

	* rulesets/Movement.h, rulesets/Pedestrian.h:
	  Use forward declarations rather than including Move.h

	* server/Account.cpp, server/Account.h, server/Connection.cpp,
	  server/Connection.h: Use destroyed signal to ensure references
	  to in game entities are removed when those entities are
	  destroyed. Ensure Connection is only destroyed once.
2002-07-28 13:34:58 +00:00
Al Riddoch
07a7543461 2002-07-14 Al Riddoch <alriddoch@zepler.org>
* ALL: Cleaned up headers into correct order.

	* common/log.h, common/log.cpp: Write some logging code which
	  handles message of different types using syslog or standard
	  error, depending on whether we are running as a daemon.

	* ALL: Switched to using log() for all output.
2002-07-14 21:04:50 +00:00
Al Riddoch
6ecd8767a9 2002-07-14 Al Riddoch <alriddoch@zepler.org>
* tools/cyloadrules.cpp: Give rules in heigher level rulesets
	  priority over base rulesets.

	* common/Database.cpp: Supress debugging output.
2002-07-14 16:10:17 +00:00
Al Riddoch
c5fda9c31f 2002-07-01 Al Riddoch <alriddoch@zepler.org>
* tools/cypasswd.cpp, tools/cyloadrules.cpp: Cleaned up tool source.
2002-07-01 10:21:14 +00:00
Al Riddoch
21dba53944 2002-06-24 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, rulesets/Python_API.cpp: Remove some
	  debugging output.

	* tools/cydbload.cpp, tools/cyloadrules.cpp: Check atlas files
	  exists.
2002-06-24 10:27:06 +00:00
Al Riddoch
e54fa9816f 2002-05-02 Al Riddoch <alriddoch@zepler.org>
* tools/cydbload.cpp, tools/cyisoload.cpp, tools/cyloadrules.cpp:
	  Clean up unused headers, and incorrect use of fstream in
	  some tools.
2002-05-02 16:40:22 +00:00
Al Riddoch
716cb0f8de 2002-04-25 Al Riddoch <alriddoch@zepler.org>
* rulesets/Entity.cpp, rulesets/Entity.h, rulesets/Character.cpp,
	  rulesets/Character.h, rulesets/Thing.cpp, rulesets/Food.cpp:
	  Renamed weight member as mass, and use this name in Atlas,
	  as this is a better convention, and has already been adopted in
	  stage.

	* Switched python code to using mass instead of weight, as it is
	  a more accurate term.

	* common/globals.cpp, common/globals.h, tools/cyloadrules.cpp:
	  Put admin modifiable config in etc instead of share directory.

	* Don't build cycmd if readline is not available. Untested, and
	  probably nasty.
2002-04-26 08:08:48 +00:00
Al Riddoch
49691213c9 2002-03-08 Al Riddoch <alriddoch@zepler.org>
* Changed typedef names to ones which make more sense, and are
	  clearer. There is no change in functionality in this commit.
2002-03-08 14:58:40 +00:00
Al Riddoch
70ba5263af 2002-03-08 Al Riddoch <alriddoch@zepler.org>
* common/globals.cpp, common/globals.h, rulesets/Python_API.cpp,
	  tools/cyloadrules.cpp: Make rulesets list a vector for
	  efficiency.

	* common/utility.cpp, common/utility.h: New function to create
	  an operation from a message Object.

	* rulesets/BaseMind.cpp, rulesets/MemMap.cpp, rulesets/MemMap.h,
	  rulesets/MemMap_methods.h, rulesets/Py_Map.cpp: Clean up
	  mind/memory interface, eliminating copies, unecessary allocations,
	  and passing more apropriate types around.

	* server/CommClient.cpp, rulesets/Py_Operation.cpp: Make use of
	  operation converter where it is apropriate.
2002-03-08 11:52:27 +00:00
Al Riddoch
32d93aed79 2002-03-03 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, common/Database.h, common/accountbase.h,
	  server/Persistance.cpp, server/Persistance.h,
	  tools/cydbload.cpp, tools/cyloadrules.cpp, tools/cypasswd.cpp:
	  Modified class structure of database related classes to get
	  rid on nasty inheritance based idea. Add functionality
	  to handle updating a row as distinct from inserting. Made
	  id column the primary key. Updated tools to make propper use
	  of update functionality.
2002-03-03 02:37:35 +00:00