Commit graph

69 commits

Author SHA1 Message Date
Erik Ogenvik
3eedbe366b Prefer nullptr for expressiveness. 2015-05-24 11:25:07 +02:00
Erik Ogenvik
3b7a3a44a6 Remove references to skstream. 2014-02-02 22:04:10 +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
594a9b6df3 Add some connection logic for waiting for replies 2010-12-01 12:18:41 +00:00
Alistair Riddoch
0d5d979aa2 Move login and avatar creation mostly into base class, with reliable serialnos 2009-11-28 15:11:44 +00:00
Alistair Riddoch
48aebde6c9 Move serialno management into the base class. 2009-11-28 13:38:28 +00:00
Alistair Riddoch
2c3d176e17 Move generic op handling, and error op handling into the base class. 2009-11-27 15:09:44 +00:00
Alistair Riddoch
33c644bdce Remove a potentially dangerous loop. 2009-11-27 14:49:32 +00:00
Alistair Riddoch
a160f46af6 Use the generic objectArrived() functionality, removing duplicated code. 2009-11-27 14:44:28 +00:00
Alistair Riddoch
186b352156 Remove obsolete unused functions. 2009-11-26 20:29:56 +00:00
Alistair Riddoch
5c2313057f Move common poll() method implementation into the base class. 2009-11-26 20:16:45 +00:00
Alistair Riddoch
a3aad4109b Harmonise poll() member function in client classes. 2009-11-26 20:09:26 +00:00
Alistair Riddoch
f4745f3d85 Replace some very old-school Atlas-C++ code with the faster modern way. 2009-11-26 16:55:15 +00:00
Alistair Riddoch
48756e9bb7 Modify the poll interface to be far more robust. 2009-11-26 13:41:51 +00:00
Alistair Riddoch
e052c25a2a Clean up unnecessary includes. 2009-11-25 12:48:51 +00:00
Alistair Riddoch
99b005d2ef Use provided send method. 2009-11-25 12:45:13 +00:00
Alistair Riddoch
1f3c7b6965 Don't delete encoder on destruction, as we don't own it. 2009-11-25 12:43:52 +00:00
Alistair Riddoch
6c860ca230 Switch to using the common client base class. 2009-11-25 12:42:11 +00:00
Alistair Riddoch
27fee993e1 Ooops, wrong kind of stream. 2009-11-25 12:20:50 +00:00
Alistair Riddoch
ed84cfd177 Update variable names to match conventions. 2009-11-25 12:07:21 +00:00
Alistair Riddoch
22fb188f66 Add cstdio require by later compilers 2009-11-24 02:16:50 +00:00
Alistair Riddoch
72b212a1b3 Add experimental code for verifying the identity of local client connections. 2009-11-23 18:54:16 +00:00
Al Riddoch
778bfc9e18 2009-02-21 Al Riddoch <alriddoch@googlemail.com>
* client/BaseClient.h, client/ClientConnection.cpp,
	  client/ClientConnection.h, client/ObserverClient.cpp,
	  client/client.cpp: Clean up the way sockets are handled and errors
	  are reported.
2009-02-21 04:36:45 +00:00
Al Riddoch
49c5f0355c 2008-11-07 Al Riddoch <alriddoch@googlemail.com>
* common/globals.cpp: Modify the way socket paths are handled
	  and allow them to be specified as absolute paths.

	* client/ClientConnection.cpp, server/CommUnixListener.cpp,
	  tools/cyaddrules.cpp, tools/cycmd.cpp: Don't build the complete
	  socket path here, as it is now determined in the config.
2008-11-07 01:21:49 +00:00
Al Riddoch
e418f9a1ef 2008-01-13 Al Riddoch <alriddoch@googlemail.com>
* client/BaseClient.cpp, client/ClientConnection.cpp,
	  common/BaseWorld.h, common/OperationRouter.h, common/TypeNode.h,
	  common/inheritance.cpp, common/inheritance.h, common/types.h,
	  rulesets/ActivePropertyFactory.h, rulesets/AtlasProperties.h,
	  rulesets/EntityPropertyFactory.h, rulesets/LocatedEntity.h,
	  rulesets/MemMap.h, rulesets/Motion.h, rulesets/Movement.h,
	  rulesets/Pedestrian.h, rulesets/PythonThingScript.cpp,
	  rulesets/Statistics.h, rulesets/Task.h, server/Account.h,
	  server/Connection.h, server/Player.h, server/ServerRouting.h,
	  server/WorldRouter.h, tests/OperationExerciser.h, tools/cycmd.cpp:
	  A major clean up and re-work in internal headers.
2008-01-13 01:32:54 +00:00
Al Riddoch
0963f93a61 2007-09-04 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp: Remove debug output.

	* client/BaseClient.h, client/BaseClient.cpp: Add a logout method
	  so that the client can be disconnected.

	* client/client.cpp: Once the client is complete, call logout to
	  ensure all messages sent to the server have been processed.
	  Logout waits for the server to acknowledge that the connection is
	  is complete.
2007-09-04 10:51:26 +00:00
Al Riddoch
c6cde2f213 2007-09-04 Al Riddoch <alriddoch@zepler.org>
* client/client.cpp: Delete the observer client once it is
	  is finished with.

	* client/ClientConnection.cpp, client/ClientConnection.h: Add
	  a method to make the socket stay around for plenty of time
	  on close to ensure all the data is sent.
2007-09-03 23:27:45 +00:00
Al Riddoch
2069f3dd4c 2007-07-29 Al Riddoch <alriddoch@zepler.org>
* common/log.cpp, common/log.h: Switch to taking a C++ string reference
	  rather than a char *, as it is not really an optimisation, and it
	  makes the code simpler to read and write.

	* client/BaseClient.cpp, client/ClientConnection.cpp,
	  common/AtlasFileLoader.cpp, common/BaseEntity.cpp,
	  common/Database.cpp, common/globals.cpp, common/id.cpp,
	  common/inheritance.cpp, common/log.cpp, common/log.h,
	  rulesets/Character.cpp, rulesets/Creator.cpp, rulesets/Entity.cpp,
	  rulesets/MemMap.cpp, rulesets/Motion.cpp, rulesets/Pedestrian.cpp,
	  rulesets/Py_Object.cpp, rulesets/Py_RootEntity.cpp,
	  rulesets/PythonMindScript.cpp, rulesets/PythonThingScript.cpp,
	  rulesets/Python_API.cpp, rulesets/Thing.cpp, server/Account.cpp,
	  server/Admin.cpp, server/ArithmeticFactory.cpp,
	  server/CommClient.cpp, server/CommListener.cpp,
	  server/CommMDNSPublisher.cpp, server/CommServer.cpp,
	  server/Connection.cpp, server/EntityFactory.cpp,
	  server/Persistance.cpp, server/Restoration.cpp,
	  server/ScriptFactory.cpp, server/TaskFactory.cpp,
	  server/WorldRouter.cpp, server/server.cpp: Convert over to using
	  new API correctly.

	* data/mason.xml: Add biomass and transient to fircone, making its
	  script obsolete:
2007-07-29 03:33:33 +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
431e9c769e 2006-11-05 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp: Leave out local connection functionality
	  on systems that don't have unix sockets.
2006-11-05 21:32:47 +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
7a2ac88dec 2006-09-17 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp: Remove hardcoded value for the
	  maximum path length for a unix socket, and use the size of
	  the data structure member instead. This fixes an issue caused
2006-09-17 10:39:58 +00:00
Al Riddoch
6b78e835c3 2006-08-21 Al Riddoch <alriddoch@zepler.org>
* tools/AdminClient.cpp, client/ClientConnection.cpp: Re-work poll()
	  methods in client code that call select(2), so that they don't
	  ignore errors, or get stuck waiting for data that has not yet
	  arrived by doing so.
2006-08-21 22:56:16 +00:00
Al Riddoch
e5664b5a8e 2006-08-07 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp, server/CommClient.cpp: Clarify the
	  error messages about non operation objects on the wire, and
	  use the same messages in the client.
2006-08-07 20:47:58 +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
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
f2a739734a 2005-09-14 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp: Improve error reporting when
	  unexpected object arrives from server.

	* rulesets/Character.cpp: Invert test so that tool use op arguments
	  are now set correctly.

	* rulesets/Entity.cpp: Use proper entities to handle responses to
	  Create and Look ops.

	* server/Connection.cpp, server/EntityFactory.cpp: Improve error
	  reporting using String::compose.

	* server/EntityFactory.cpp: Invert test so that all custom ops
	  now don't fail to get installed. Ensure that custom ops that
	  need to wait for their parent a properly inserted into the
	  waiting queue.
2005-09-13 23:29:42 +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
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
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
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
e49f8942d9 2004-10-02 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/ObserverClient.cpp, client/ObserverClient.h,
	  client/Py_CreatorClient.cpp, client/Py_CreatorClient.h,
	  client/client.cpp, server/CommListener.cpp,
	  server/CommListener.h, server/CommMetaClient.cpp,
	  server/CommMetaClient.h, server/CommUnixListener.cpp,
	  server/CommUnixListener.h, server/server.cpp, tools/cycmd.cpp:
	  Use int for returning error status.
2004-10-03 00:38:55 +00:00
Al Riddoch
decca84902 2004-08-17 Al Riddoch <alriddoch@zepler.org>
* client/ClientConnection.cpp, client/ClientConnection.h,
	  client/CommClient.cpp, client/CommClient.h,
	  client/CreatorClient.cpp, client/CreatorClient.h,
	  client/Py_CreatorClient.cpp: Convert code to using Atlas Message
	  typedefs as found in Atlas-C++ 0.6 to aid conversion later.
2004-08-17 06:20:05 +00:00
Al Riddoch
b1945cd11a 2004-06-21 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Slightly randomize starting position
	  of characters to avoid getting stuck.

	* rulesets/mason/define_world.py: Move the world contents around a bit
	  to make room for larger spawn area.

	* rulesets/World.cpp: Make sure we don't degfault if we get a height
	  outside current area of terrain.

	* client/ClientConnection.cpp, client/CharacterClient.cpp:
	  Set an error condition if the server disconnects unexpectedly,
	  and thus return an error to the script causing an exit.
2004-06-21 00:44:54 +00:00
Al Riddoch
690da937b0 2004-05-23 Al Riddoch <alriddoch@zepler.org>
* tools/cywatchdog.cpp, tools/cyctrl.cpp, tools/cycmd.cpp,
	  server/CommUnixListener.cpp, client/ClientConnection.cpp,
	  Use var/tmp for temporary files and sockets.

	* Give sty type a default bbox, rather than using instance
	  attributes.

	* Clean up data files in the top level Makefile.am.

	* Remove some unused files from the distribution.
2004-05-23 00:28:07 +00:00
Al Riddoch
2d1a21755d 2004-01-22 Al Riddoch <alriddoch@zepler.org>
* client/CharacterClient.cpp, client/ClientConnection.cpp,
	  client/CommClient.cpp, server/Account.cpp,
	  server/CommClient.cpp, server/Connection.cpp,
	  tools/cycmd.cpp: Update required headers, now that they
	  are not all pulled in by Atlas/Objects/Decoder.h.
2004-01-22 18:39:48 +00:00
Al Riddoch
9a7a07007f 2004-01-22 Al Riddoch <alriddoch@zepler.org>
* common/custom.cpp, common/inheritance.cpp, common/operations.cpp,
2004-01-22 03:03:07 +00:00