Commit graph

40 commits

Author SHA1 Message Date
Erik Ogenvik
0286bcd47d Replace "parents" with "parent". 2017-07-24 15:05:18 +02:00
Erik Ogenvik
7aaa9b9ba7 Optimize includes. 2017-03-19 21:36:52 +01:00
Olek Wojnar
9e1b3b92c3 Fix typos
Courtesy of lintian
2016-09-06 22:29:36 -04: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
83141a5490 Fix members to have indicative prefix 2012-05-31 15:25:54 +01:00
Alistair Riddoch
ba6e393b11 Clean up formatting 2012-05-30 09:27:16 +01: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
05e8600ca4 Move operation dispatch into a separate virtual method. 2009-11-27 13:56:10 +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
e9d93045bd Add the necessary exception catches around createObject. 2009-08-02 17:10:51 +01: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
1e1fc0c825 2007-06-12 Al Riddoch <alriddoch@zepler.org>
* tools/AdminClient.cpp: Add a message reporting when a rule is not
	  uploaded because it has been overridden.
2007-06-12 18:56:21 +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
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
9a2992a5db 2006-08-30 Al Riddoch <alriddoch@zepler.org>
* tools/AdminClient.cpp: Don't include config.h, as this file doesn't
	  use anything from it.
2006-08-29 23:50:57 +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
a39f92e7e0 2006-07-10 Al Riddoch <alriddoch@zepler.org>
* tools/AdminClient.cpp: Implement improved error reporting.
	  Remove related FIXMEs.
2006-07-10 00:57:50 +00:00
Al Riddoch
d46d36d82a 2006-04-24 Al Riddoch <alriddoch@zepler.org>
* tools/AdminClient.cpp: Fix a typo which meant admin clients did
	  not report server error message strings.
2006-04-24 12:41:52 +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
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
9b76a9c3a7 2005-05-18 Al Riddoch <alriddoch@zepler.org>
* data/basic.xml, data/mason.xml: Add objtype to all rules.
	  Add a rule for ignite operation definition.

	* common/custom.cpp: Remove hardcoded ignite operation definition.

	* server/EntityFactory.cpp, server/EntityFactory.h: Remove some debug
	  output. Add new code to allow op_definitions to be installed as
	  rules.

	* common/inheritance.cpp, common/inheritance.h: Return an error code
	  when a type without parents gets installed, rather than throwing an
	  exception.

	* tests/inheritancetest.cpp: Fix test so it no longer expects an
	  exception.

	* rulesets/mason/world/objects/clothing/Garment.py: Remove some
	  debug output.

	* tools/AdminClient.cpp: Remove hardcoded objtype, depending instead
	  on objtype from the data file. Fix a bug where the full rule
	  was not getting uploaded when updating an existing rule.
	  Improve error reporting when update fails.
2005-05-17 23:51:26 +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