Commit graph

110 commits

Author SHA1 Message Date
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
39a4cb71be 2007-02-07 Al Riddoch <alriddoch@zepler.org>
* rulesets/Character.cpp: Don't complain about unknown tick types.

	* tools/cycmd.cpp: Use a cleaner more consistent way to identify
	  tick ops that are for this client.
2007-02-07 23:08:26 +00:00
Al Riddoch
1eebf58f98 2007-02-07 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: All add_agent command to specify avatar type,
	  so cycmd is usable with non-priveleged accounts.
2007-02-07 23:00:41 +00:00
Al Riddoch
900f0d4c86 2007-01-09 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Implement the delete command for in game
	  entities.
2007-01-09 11:51:37 +00:00
Al Riddoch
33208a9068 2007-01-08 Al Riddoch <alriddoch@zepler.org>
* data/mason.xml: Set default mass on bottle entity.

	* tools/cycmd.cpp: Add help for upcoming delete command. Improve
	  readability by using available typedefs.

	* rulesets/Thing.cpp: Hide some debug output.
2007-01-08 23:30:04 +00:00
Al Riddoch
0f44eff410 2006-12-26 Al Riddoch <alriddoch@zepler.org>
* client/BaseClient.cpp, client/BaseClient.h,
	  client/ClientConnection.cpp, common/AtlasFileLoader.cpp,
	  common/AtlasFileLoader.h, common/BaseEntity.cpp, common/BaseEntity.h,
	  common/Property.h, common/accountbase.cpp, common/accountbase.h,
	  rulesets/ActivePropertyFactory.h,
	  rulesets/ActivePropertyFactory_impl.h, rulesets/Area.cpp,
	  rulesets/Area.h, rulesets/AreaProperty.cpp, rulesets/AreaProperty.h,
	  rulesets/BaseMind.cpp, rulesets/BaseMind.h, server/Account.cpp,
	  server/Admin.cpp, server/Admin.h, server/ArithmeticFactory.h,
	  tests/Makefile.am, tools/AdminClient.cpp, tools/AdminClient.h,
	  tools/cycmd.cpp: Add inline documentation.

	* rulesets/ActivePropertyFactory.h: Use handler function pointer
	  typedef for readability.

	* rulesets/AreaProperty.cpp, rulesets/AreaProperty.h: Fix PropertyBase
	  overriding by adding const to the right methods.
2006-12-26 14:30:42 +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
cd3857589b 2006-12-12 Al Riddoch <alriddoch@zepler.org>
* Doxyfile: Add tools to the documented code.

	* index.dox: Update documentation index.

	* tools/cycmd.cpp: Add a document page for this tool.

	* common/DynamicProperty.h, common/Property.cpp, common/Property.h,
	  rulesets/AreaProperty.h, rulesets/CalendarProperty.h,
	  rulesets/EntityProperty.h, rulesets/LineProperty.h,
	  rulesets/StatisticsProperty.h, rulesets/TerrainProperty.h:
	  Add all property classes into a property group.
2006-12-12 19:52:36 +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
c1c5594f90 2006-08-21 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: When calling select while waiting for user input,
	  don't specify a timeout for select, as no timing is occuring in
	  the program.
2006-08-20 23:53:41 +00:00
Al Riddoch
12bf6d5781 2006-08-21 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Check the return value of select, and only check
	  file descriptors if an error has not occured.
2006-08-20 23:45:49 +00:00
Al Riddoch
08c51cd4cd 2006-08-09 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Add a further customisation to the prompt so it
	  shows the type of server being connected to.

	* TODO: Add a note about a possible re-work of the database
	  world persistence model.
2006-08-10 13:35:40 +00:00
Al Riddoch
80a2e83bc1 2006-08-09 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Customise the prompt so it indicates the
	  name of the server connected to, the username authenticated
	  and the privelege level.
2006-08-09 00:04:17 +00:00
Al Riddoch
0d61ce870f 2006-08-07 Al Riddoch <alriddoch@zepler.org>
* client/CharacterClient.cpp: Remove pointless class scope when
	  acessing member variable.

	* tools/cycmd.cpp: Don't wait forever for responses from the
	  server to commands.
2006-08-08 11:36:49 +00:00
Al Riddoch
fbae7571c8 2006-07-10 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Implement improved error reporting.
	  Remove related FIXMEs.
2006-07-10 01:10:47 +00:00
Al Riddoch
87c135a6af 2006-07-08 Al Riddoch <alriddoch@zepler.org>
* common/const.h: Remove obsolete config option to disable
	  range checks and calculations.

	* client/ObserverClient.cpp, rulesets/Movement.cpp,
	  server/Admin.cpp, tools/AdminClient.h, tools/cycmd.cpp:
	  Remove const.h from files which no longer require it.

	* rulesets/Python_API.cpp: Remove python bindings for obsolete
	  constants.

	* rulesets/Thing.cpp, rulesets/World.cpp, server/WorldRouter.cpp:
	  Remove obsolete rotten code for handling sight without ranges.

	* tests/consttest.cpp: Remove tests for removed constants.
2006-07-08 20:45:10 +00:00
Al Riddoch
60c62e2d86 2006-06-26 Al Riddoch <alriddoch@zepler.org>
* rulesets/Entity.cpp, server/Account.cpp, server/Admin.cpp,
	  server/Connection.cpp, server/EntityFactory.h,
	  server/Persistor_impl.h, tools/cycmd.cpp:
	  Switch from using deprecated sigc++ 1.2 headers to the right
	  sigc++ 2.0 equivalents.
2006-06-26 16:49:25 +00:00
Al Riddoch
57b0e618f0 2006-04-26 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Switch to using Create to install types rather
	  than the obsolete Set.
2006-04-26 15:26:10 +00:00
Al Riddoch
2132917436 2006-02-18 Al Riddoch <alriddoch@zepler.org>
* common/BaseEntity.h, common/BaseWorld.h, common/Property.h,
	  modules/Location.h, rulesets/Entity.cpp, rulesets/Entity.h,
	  server/Account.cpp, server/Account.h, server/Admin.cpp,
	  server/Admin.h, server/Connection.cpp, server/Connection.h,
	  server/Persistor.cpp, server/Persistor.h, server/Persistor_impl.h,
	  tools/cycmd.cpp: Update usage of sigc++ to the native 2.0 API
	  rather than the deprecated compatability API. Eleminate the
	  manual disconnection code for deleted objects, as this is now
	  handled automatically by sigc::trackable.
2006-02-18 21:56:43 +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
9ffe7efb0e 2006-01-04 Al Riddoch <alriddoch@zepler.org>
* configure.ac: Require latest varconf for its new features.

	* common/globals.cpp, tools/cyconfig.cpp: Use new varconf scope for
	  settings to more suitably handle user overidden config settings.

	* aiclient/ClientConnection.cpp, aiclient/client.cpp,
	  client/client.cpp, common/Database.cpp, server/server.cpp,
	  server/slave.cpp, tools/AdminClient.h, tools/cyaddrules.cpp,
	  tools/cycmd.cpp: Use new varconf/config.h header.
2006-01-04 15:06:46 +00:00
Al Riddoch
5aa723ac9e 2005-12-30 Al Riddoch <alriddoch@zepler.org>
* common/log.h, common/log.cpp: Add logging function for logging
	  regular server activity, for statistics purposes, to a file.

	* server/Account.cpp, server/Connection.cpp, server/server.cpp:
	  Add log calls to recall typical events.

	* tools/cycmd.cpp: Set a name on the admin agent avatar.
2005-12-30 22:11:23 +00:00
Al Riddoch
560887fccd 2005-12-14 Al Riddoch <alriddoch@zepler.org>
* rulesets/Python_API.cpp: Remove an obsolete commented out function.

	* rulesets/CalendarProperty.cpp, rulesets/CalendarProperty.h,
	  rulesets/World.cpp: Add a new property to handle revealing
	  astronomical calendar information on the world object, so clients
	  can get day/night cycle right.

	* tools/cycmd.cpp: Improve formatting of output Atlas data, to make
	  it readable.
2005-12-14 17:16:21 +00:00
Al Riddoch
931f4640f1 2005-11-19 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Encapsulate server monitor functionality
	  in an AdminTask class.
2005-11-19 23:24:07 +00:00
Al Riddoch
7d02819dc0 2005-11-19 Al Riddoch <alriddoch@zepler.org>
* rulesets/Creator.cpp: Reply to client with Unseen op when client
	  looks for an IG entity by name or type which returns no results.

	* tools/cycmd.cpp: Add a cancel command to stop current running task.
	  Detect Unseen at the end of a flush task, and end the task.
	  Remove a bunch of debug output. Fix typo in add_agent output.
2005-11-19 17:50:08 +00:00
Al Riddoch
192c54dd1e 2005-11-19 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Modify flusher so it uses tick ops to schedule
	  regular queries, until no more are found rather then attempting
	  to purge all entities asap, which caused race conditions. Check
	  the type of entities before deleting them.

	* rulesets/Creator.cpp: Improve debug output. Don't dispatch ops
	  from client to creator locally if the are scheduled to occur
	  in the future.
2005-11-19 12:27:06 +00:00
Al Riddoch
91ef45078c 2005-11-19 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Flush output to server from AdminTask objects.
2005-11-19 11:42:01 +00:00
Al Riddoch
5615d137f7 2005-11-19 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Add task handling, and start work on a task to
	  flush entities of a given type from the server.
2005-11-19 04:18:55 +00:00
Al Riddoch
00571b6fba 2005-11-18 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Add an AdminTask interface for tasks which
	  take longer to complete.
2005-11-18 01:44:40 +00:00
Al Riddoch
3acfacd1ef 2005-11-17 Al Riddoch <alriddoch@zepler.org>
* rulesets/Creator.cpp: Ensure Look returns nothing when client
	  is searching by name or type, and nothing is found.

	* tools/cycmd.cpp: Add help for some more commands. Ensure help is
	  formatted ok, no matter how long the commands are. Report an
	  error if commands that required an argument don't get one.
	  Ensure find_by_name and find_by_type still work ok if
	  nothing is seen.
2005-11-18 00:03:47 +00:00
Al Riddoch
ade652f5e7 2005-11-17 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Re-code help system to use the commands list when
	  generating help output.
2005-11-17 11:21:14 +00:00
Al Riddoch
b1d555464b 2005-10-02 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp, server/CommClient.cpp,
	  tools/AdminClient.cpp, tools/cycmd.cpp:
	  Update to use new Negotiate API in Atlas-C++.
2005-10-02 02:26:13 +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
39918324e0 2005-08-31 Al Riddoch <alriddoch@zepler.org>
* common/inheritance.h: Set the correct objtype on the Root meta class.

	* rulesets/Character.cpp, rulesets/Food.cpp, rulesets/Plant.cpp,
	  rulesets/Stackable.cpp, rulesets/Thing.cpp, server/Account.cpp,
	  server/Admin.cpp, server/Connection.cpp, tools/AdminClient.cpp,
	  tools/cycmd.cpp: Switch to renamed copyAttr() method from
	  Atlas-C++.
2005-08-30 23:53:34 +00:00
Al Riddoch
42e1c99565 2005-08-30 Al Riddoch <alriddoch@zepler.org>
* common/AtlasFileLoader.cpp, common/Database.cpp,
	  common/FormattedXMLWriter.cpp, common/Property.cpp,
	  common/accountbase.cpp, rulesets/Character.cpp,
	  rulesets/Entity_getLocation.h, rulesets/MemMap.cpp,
	  rulesets/Pedestrian.cpp, rulesets/Plant.cpp,
	  rulesets/Py_Object.cpp, rulesets/Thing.cpp,
	  server/Admin.cpp, server/Connection.cpp, server/EntityFactory.cpp,
	  server/WorldRouter.cpp, tools/AdminClient.cpp, tools/cycmd.cpp,
	  tools/cyconvertrules.cpp: After an Element has been checked
	  with isFoo(), it is more efficient to get its value using Foo()
	  rather than asFoo() which repeats the check.
2005-08-30 20:43:19 +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
fc84e8f0fc 2005-06-29 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Fix handling info ops, so they are not
	  treated as avatar creation responses.
2005-06-29 22:56:41 +00:00
Al Riddoch
c30f00164f 2005-06-25 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd: New add_agent, find_by_name and find_by_type
	  commands to deal more in-game stuff. Implement command completion
	  using readline.
2005-06-25 08:37:23 +00:00
Al Riddoch
6331a45d8f 2005-05-16 Al Riddoch <alriddoch@zepler.org>
* data/mason.xml: Add default guise attribute to settler.

	* tools/cycmd.cpp: Clearly differentiate between strings and numbers
	  when outputting Atlas data.
2005-05-16 17:12:00 +00:00
Al Riddoch
02fb039b4d 2005-05-15 Al Riddoch <alriddoch@zepler.org>
* server/EntityFactory.cpp: Implement reloading scripts when
	  a client asks to modify an installed type.

	* server/Admin.cpp: Re-order checks when client asks to modify
	  an installed type, so the client doesn't have to set the parents.

	* tools/cycmd.cpp: Add a reload command which causes the server
	  to update an existing type, thus reloading its script if it has
	  one.
2005-05-15 20:32:29 +00:00
Al Riddoch
3c1de4ff35 2005-03-03 Al Riddoch <alriddoch@zepler.org>
* common/Property.cpp, rulesets/EntityProperties.cpp,
	  server/Persistor.cpp, server/Restorer.cpp, tools/cycmd.cpp:
	  Tweak template code to work with stricter standard compliance
	  of gcc 4.

	* rulesets/Character.h, rulesets/Character.cpp: static const
	  members need to be defined in the .cpp to satisfy all compilers.
2005-03-03 23:45:32 +00:00
Al Riddoch
8db925a09a 2004-12-16 Al Riddoch <alriddoch@zepler.org>
* server/CommMaster.cpp, server/CommMaster.h, server/Master.cpp,
	  server/Master.h: Handlers for a connection to a master server.

	* server/CommPeer.cpp: Fix comments.

	* server/slave.cpp: Implement connecting to master server on startup.

	* tools/cycmd.cpp: Fix bug handling option to connect to slave instead
	  of server.
2004-12-16 02:12:39 +00:00
Al Riddoch
73bb7894ee 2004-12-15 Al Riddoch <alriddoch@zepler.org>
* common/globals.cpp, common/globals.h: Separate globals for server
	  and slave sockets. Add code for reading slave settings.

	* client/ClientConnection.cpp, server/server.cpp: Use modified
	  global socket_name setting.

	* server/slave.cpp: Update for changed return values from bool to
	  int. Remove metaserver functionality. Switch to using
	  CommSlaveListener.

	* tools/cycmd.cpp: Add config option to connect to slave rather
	  than core server.
2004-12-16 00:52:09 +00:00
Al Riddoch
a37be9c579 2004-12-15 Al Riddoch <alriddoch@zepler.org>
* server/CommListener.cpp, server/CommListener.h: Add a virtual
	  create method, so it can be overriden to make different kinds
	  of listener.

	* server/Peer.cpp, server/Peer.h: New class representing connections
	  to peer servers.

	* server/CommPeer.cpp, server/CommPeer.h: New socket class handling
	  sockets used to connect to peer servers.

	* server/CommPeerListener.cpp, server/CommPeerListener.h: New
	  listener using new virtual interface in CommListener to accept
	  peer connections.

	* server/CommClient.cpp, server/CommClient.h: Add a new constructor
	  for creating Atlas socket objects which are not yet open. Makes
	  this class suitable for establishing as well as accepting
	  connections. Take out call to Connection::destroy.

	* server/CommRemoteClient.h: Fix error in header guards.

	* server/Connection.cpp, server/Connection.h: Remove
	  obsolete destroy() method. Make CommClient member public.

	* server/server.cpp: Add new listener for peer connections.

	* common/types.h: Add enumeration for new connect operation.

	* server/Admin.cpp, server/Admin.h: Add new handler for connect
	  operations, used by admin client to build peer connections.

	* tools/cycmd.cpp: Add new command "connect" for sending
	  connect ops to server.
2004-12-15 00:55:54 +00:00
Al Riddoch
27040b240b 2004-12-13 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp, common/globals.cpp, common/globals.h,
	  server/CommMDNSPublisher.cpp, server/server.cpp, server/slave.cpp,
	  tools/cycmd.cpp: Add new port number settings for things like
	  peer connections, and listen sockets for an AI slave.

	* server/CommUnixListener.cpp, server/CommUnixListener.h:
	  Parameterise socket name for listen socket.
2004-12-13 12:22:35 +00:00
Al Riddoch
299efcafdc 2004-12-03 Al Riddoch <alriddoch@zepler.org>
* 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/Py_CreatorClient.cpp, common/BaseEntity.cpp,
	  common/BaseEntity.h, common/BaseWorld.h, common/custom.cpp,
	  common/inheritance.cpp, common/inheritance.h,
	  common/inheritance_impl.h, common/op_switch.h, common/type_utils.h,
	  common/types.h, common/utility.cpp, common/utility.h,
	  modules/Location.cpp, rulesets/BaseMind.cpp, rulesets/BaseMind.h,
	  rulesets/Character.cpp, rulesets/Character.h, rulesets/Creator.cpp,
	  rulesets/Creator.h, rulesets/Entity.cpp, rulesets/Entity.h,
	  rulesets/EntityProperties.cpp, rulesets/Entity_getLocation.h,
	  rulesets/Food.cpp, rulesets/Food.h, rulesets/MemMap.cpp,
	  rulesets/MemMap.h, rulesets/Missile.h, rulesets/Pedestrian.cpp,
	  rulesets/Plant.cpp, rulesets/Plant.h, rulesets/Py_Mind.cpp,
	  rulesets/Py_Object.cpp, rulesets/Py_Operation.cpp,
	  rulesets/Py_Operation.h, rulesets/Py_Thing.cpp,
	  rulesets/PythonMindScript.h, rulesets/PythonScript.h,
	  rulesets/PythonThingScript.h, rulesets/Python_API.cpp,
	  rulesets/Script.cpp, rulesets/Script.h, rulesets/Stackable.cpp,
	  rulesets/Stackable.h, rulesets/Thing.cpp, rulesets/Thing.h,
	  rulesets/World.cpp, rulesets/World.h,
	  server/Account.cpp, server/Account.h server/Admin.cpp, server/Admin.h,
	  server/CommClient.cpp, server/Connection.cpp, server/Connection.h,
	  server/EntityFactory.cpp, server/EntityFactory.h, server/Lobby.cpp,
	  server/Lobby.h, server/Persistance.cpp, server/Persistance.h,
	  server/Persistor.cpp, server/Player.cpp, server/Player.h,
	  server/ServerRouting.cpp, server/ServerRouting.h,
	  server/TrustedConnection.cpp, server/TrustedConnection.h,
	  server/WorldRouter.cpp, server/WorldRouter.h, tests/Areatest.cpp,
	  tests/Charactertest.cpp, tests/Creatortest.cpp,
	  tests/EntityExerciser.h, tests/Entitytest.cpp, tests/Foodtest.cpp,
	  tests/IGEntityExerciser.h, tests/Linetest.cpp, tests/Planttest.cpp,
	  tests/Stackabletest.cpp, tests/Structuretest.cpp, tests/Thingtest.cpp,
	  tests/Worldtest.cpp, tests/allOperations.h, tests/inheritancetest.cpp,
	  tests/utilitytest.cpp, tools/cycmd.cpp:
	  Modify the entity interface so that all Operation methods
	  take references to RootOperation, as its cleaner, and requires
	  less nasty casts. Clean up operations in headers generally.
2004-12-03 14:49:13 +00:00
Al Riddoch
0e721ecc96 2004-11-24 Al Riddoch <alriddoch@zepler.org>
* common/utility.cpp: Add a FIXME note about more correctly
	  converting a message to an op.

	* server/CommClient.h, server/CommClient.cpp: Call new shutdown()
	  method in skstream instead of close when disconnecting or
	  timing out, so that the socket is still valid. Otherwise
	  there is no reliable way to detect that the socket is no longer
	  connected.

	* server/CommClient.h, server/CommClient.cpp, server/Account.cpp,
	  server/Connection.h, server/Connection.cpp: Rename close() to
	  disconect() to more accuratly reflect its function.

	* server/CommServer.h, server/CommServer.cpp: Add an implementation
	  based on epoll which is used if available. Much more efficient
	  and scalable.

	* tools/cycmd.cpp: Fix a couple of memory leaks.
2004-11-24 01:19:31 +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
1b12f1311d 2004-10-05 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp, common/globals.cpp, common/globals.h,
	  server/CommUnixListener.cpp, tools/cycmd.cpp: Add a global and a
	  config option for the unix socket filename. Update man pages
	  to document the config option.
2004-10-05 17:24:32 +00:00
Al Riddoch
e9674a6f8f 2004-10-05 Al Riddoch <alriddoch@zepler.org>
* client/client.cpp, common/globals.cpp, server/server.cpp,
	  tools/cycmd.cpp: Get rid of nasy cast, and use string accessor
	  for varconf variables.
2004-10-05 15:34:18 +00:00