Commit graph

33 commits

Author SHA1 Message Date
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
acea068bd7 Fix member name to match convention 2012-05-30 09:24:53 +01:00
Alistair Riddoch
b57fa8d4d6 More functionality in the base class. 2009-11-28 16:07:07 +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
2c3d176e17 Move generic op handling, and error op handling into the base class. 2009-11-27 15:09:44 +00:00
Alistair Riddoch
bd1099cda7 Move common member variables into the base class. 2009-11-27 14:53:52 +00:00
Alistair Riddoch
3bb75231db Move very generic objectArrived() implementation into the base class. 2009-11-27 14:39:42 +00:00
Alistair Riddoch
268d206600 Remove unnecessary protected keyword. 2009-11-27 14:10:19 +00:00
Alistair Riddoch
9a66cfd967 Make private members protected for better flexibility. 2009-11-27 14:08:16 +00:00
Alistair Riddoch
62b4ec2ba2 Make op dispatch functions virtual. 2009-11-27 14:02:58 +00:00
Alistair Riddoch
05e8600ca4 Move operation dispatch into a separate virtual method. 2009-11-27 13:56:10 +00:00
Alistair Riddoch
02b5558466 Clear out unused forward declarations. 2009-11-26 20:36:01 +00:00
Alistair Riddoch
fc7ebfb210 Clean up all the includes. 2009-11-26 20:35:13 +00:00
Alistair Riddoch
66e505df75 Remove unused loop() member function, and its exit flag. 2009-11-26 20:20:19 +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
939967598b Remove unused duplicate Atlas output function. 2009-11-25 05:02:48 +00:00
Alistair Riddoch
1d91a1d3b3 Convert AdminClient to using AtlasStreamClient as a base class. 2009-11-25 04:56:34 +00:00
Alistair Riddoch
61d57f84b7 Move socket config options to the new mechanism. 2009-04-08 21:22:19 +01:00
Al Riddoch
09b8ef151e Strip out all the old Id data 2009-04-08 10:48:43 +01: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
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
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
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
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
b29802ef4a 2005-05-16 Al Riddoch <alriddoch@zepler.org>
* server/EntityFactory.cpp: Implement updating default attributes
	  and other metadata when types are modified from the client.

	* server/ScriptFactory.cpp: Handle errors that occur when reloading
	  modules. Store the new module correctly.

	* tools/AdminClient.cpp, tools/AdminClient.h: Change behavoir of
	  cyaddrules so it updates types that have already been installed.
	  Requires adding a set op types that have already been uploaded
	  or updated, to ensure that types in a base ruleset don't override
	  the one already in the server.
2005-05-16 01:23:17 +00:00
Al Riddoch
8b5f80510b 2005-05-15 Al Riddoch <alriddoch@zepler.org>
* server/EntityFactory.cpp, server/EntityFactory.h: Add a public
	  method to allow the attributes of an installed type to be
	  modified.

	* server/Admin.cpp: Correctly handle Create ops from client
	  to install new types from the client rather than Set.
	  Leave Set available as a legacy feature. Allow Set to be
	  used to modify the attributes of an existing type.

	* tools/AdminClient.cpp, tools/AdminClient.h: Clean up headers,
	  move constructor and destructor into the .cpp file,
	  and make better use of using. Send Create ops instead of Set
	  ops when installing new types in the server.
2005-05-15 18:29:52 +00:00
Al Riddoch
ef6ab45138 2005-05-14 Al Riddoch <alriddoch@zepler.org>
* tools/AdminClient.cpp, tools/AdminClient.h: Improve the rule upload
	  code so that rules are held pending until their parents are uploaded,
	  ensuring that rules in an inheriting ruleset correctly override
	  those in the base ruleset.

	* tools/cyaddrules.cpp: Report upload operation counts, and
	  report if a pending rule never gets uploaded.
2005-05-14 16:25:39 +00:00
Al Riddoch
57d32e2be9 2005-05-14 Al Riddoch <alriddoch@zepler.org>
* TODO: Note about bug in cyaddrules when adding rules from scratch.

	* client/ObserverClient.cpp, client/ObserverClient.h,
	  client/client.cpp: Add option to allow cyclient to connect to a
	  remote server.

	* tools/AdminClient.cpp, tools/AdminClient.h: Add a timeout so
	  cyaddrules still works against older servers that don't send an
	  info op when new types are uploaded.

	* tools/cyaddrules.cpp: Add option to allow cyaddrules to connect to
	  a remote server.
2005-05-14 13:05:41 +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