Commit graph

303 commits

Author SHA1 Message Date
Al Riddoch
8e12cf8de0 2004-01-13 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp: Improve error reporting for query errors.

	* common/const.cpp, common/const.h: Add full details and comments
	  for enable_database option.

	* common/id.h, common/id.cpp: New ID generator for use when we
	  are not using the Database.

	* common/AtlasFileLoader.cpp, common/AtlasFileLoader.h: Generic
	  class for loading Atlas data from a file.

	* server/Connection.cpp, server/EntityFactory.h,
	  server/EntityFactory.cpp, server/Persistor.cpp,
	  server/WorldRouter.cpp, server/server.cpp:
	  Implement the enable_database option by wrapping all use of database
	  in if statements. Rules are loaded from files instead.
2005-01-13 00:38:41 +00:00
Al Riddoch
336e0452f9 2004-12-08 Al Riddoch <alriddoch@zepler.org>
* server/CommServer.cpp, server/CommServer.h, server/WorldRouter.cpp,
	  server/server.cpp: Rename loop() method as poll(). Clean up some
	  includes.
2004-12-08 16:36:42 +00:00
Al Riddoch
90ff08f0b5 2004-12-08 Al Riddoch <alriddoch@zepler.org>
* common/BaseWorld.h, server/CommServer.cpp, server/ServerRouting.cpp,
	  server/ServerRouting.h, server/ServerRouting_methods.h,
	  server/WorldRouter.cpp, server/WorldRouter.h: Clean up the way the
	  idle functions work, reducing the number of calls to time related
	  system calls.
2004-12-08 02:09:04 +00:00
Al Riddoch
a394cd8e48 2004-12-06 Al Riddoch <alriddoch@zepler.org>
* common/BaseEntity.cpp, common/BaseWorld.h, common/refno.h,
	  common/serialno.h, rulesets/Character.cpp, rulesets/Creator.cpp,
	  rulesets/World.h, server/Account.cpp, server/Admin.cpp,
	  server/Connection.cpp, server/Lobby.cpp, server/ServerRouting.h,
	  server/WorldRouter.cpp, server/WorldRouter.h, tests/Creatortest.cpp,
	  tests/Worldtest.cpp: Simplify the way operation refnos and serialnos
	  are handled, getting rid of some unnecessary virtual methods and
	  functions.
2004-12-06 21:56:47 +00:00
Al Riddoch
3b17d4de51 2004-12-06 Al Riddoch <alriddoch@zepler.org>
* client/BaseClient.cpp, client/BaseClient.h, client/CreatorClient.cpp,
	  client/CreatorClient.h, common/BaseEntity.cpp, common/BaseEntity.h,
	  common/BaseWorld.h, common/OOGThing.cpp, common/OOGThing.h,
	  common/op_switch.h, common/refno.h, common/types.h,
	  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/Food.cpp,
	  rulesets/Food.h, rulesets/MemMap.cpp, rulesets/Plant.cpp,
	  rulesets/Plant.h, rulesets/Py_Map.cpp, rulesets/PythonMindScript.cpp,
	  rulesets/PythonThingScript.cpp, 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/Connection_methods.h, server/ExternalMind.cpp,
	  server/ExternalMind.h, server/Lobby.cpp, server/Lobby.h,
	  server/Player.cpp, server/Player.h, server/WorldRouter.cpp,
	  server/WorldRouter.h, tests/Creatortest.cpp, tests/Worldtest.cpp:
	  Add a new Operation typedef to clean up headers, and get round
	  limitation in doxygen.
2004-12-06 16:35:44 +00:00
Al Riddoch
f221ecf2e7 2004-12-03 Al Riddoch <alriddoch@zepler.org>
* common/inheritance.cpp, common/inheritance.h, common/refno.h,
	  common/type_utils.h, rulesets/Entity.cpp, rulesets/LineProperty.cpp,
	  rulesets/MemMap.h, rulesets/Py_Oplist.h, rulesets/Script.h,
	  server/Account.cpp, server/Admin.cpp, server/EntityFactory.h,
	  server/Persistance.h, server/Player.cpp, server/WorldRouter.cpp,
	  tests/EntityExerciser.h, tests/type_utilstest.cpp:
	  Clean up some more redundant includes.
2004-12-03 16:57:31 +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
4d1e5255f0 2004-11-16 Al Riddoch <alriddoch@zepler.org>
* common/Database.cpp, common/stringstream.h, rulesets/MemMap.cpp,
	  rulesets/World.cpp, server/CommClient.cpp, server/Persistor_impl.h,
	  server/Restorer_impl.h, server/WorldRouter.cpp, server/server.cpp,
	  tools/cyisoload.cpp: Switch code to including <sstream> directly
	  and remove obsolete wrapper header.
2004-11-16 12:27:27 +00:00
Al Riddoch
a6bba36f67 2004-11-07 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.h, server/WorldRouter.cpp: Modify operation()
	  to it takes a non-const reference, thus removing the need to
	  copy broadcast ops to change the TO attribute.
2004-11-07 01:29:23 +00:00
Al Riddoch
7761643f5e 2004-11-06 Al Riddoch <alriddoch@zepler.org>
* rulesets/Character.cpp, rulesets/EntityProperties.cpp,
	  rulesets/Thing.cpp: Use pre-increment in for loops.

	* server/WorldRouter.cpp: Optimise inserting ops into the queue.
2004-11-06 21:16:47 +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
feb7cb032e 2004-10-23 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Add a note to check the code.

	* rulesets/basic/mind/goals/humanoid/transaction.py: Remove debug
	  output.

	* rulesets/basic/mind/goals/common/move.py: New goal to accompany
	  another person.

	* rulesets/basic/mind/goals/common/misc_goal.py: Use new accompany
	  goal for hirelings.

	* rulesets/Python_API.cpp: Fix distance_to arg checking error
	  message.

	* rulesets/Py_Vector3D.cpp: Add square magnitude and distance checking
	  methods.
2004-10-24 01:38:59 +00:00
Al Riddoch
1f5625f143 2004-09-24 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp: Make sure not to transform things
	  with an invalid quaternion.

	* server/WorldRouter.cpp: Remove excessive debugging output.
2004-09-24 00:55:29 +00:00
Al Riddoch
371ec91fb8 2004-09-24 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Switch to new distance algorithm for
	  broadcasts.
2004-09-24 00:00:55 +00:00
Al Riddoch
4855fc9bc1 2004-09-20 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Fixe debug output to work with new
	  pos type.

	* modules/Location.cpp: Fix one of the transforms, so distance
	  calculation works again.
2004-09-20 17:07:45 +00:00
Al Riddoch
68ab5f7fc8 2004-09-20 Al Riddoch <alriddoch@zepler.org>
* physics/Vector3D.h, physics/Vector3D.cpp, modules/Location.h,
	  modules/Location.cpp: Convert to using WFMath::Point instead of
	  WFMath::Vector for position.

	* physics/Collision.h, physics/Collision.cpp: Update collision code
	  to use new pos type.

	* rulesets/Py_Point3D.h, rulesets/Py_Point3D.cpp: New python
	  wrappers for WFMath::Point.

	* rulesets/Py_Location.cpp, rulesets/Py_Vector3D.cpp,
	  rulesets/Python_API.cpp:
	  Update python wrappers to take into account new pos type.
	  Ensure that only apropriate functionality is available for
	  point and vector.

	* rulesets/Character.cpp, rulesets/Entity.cpp, rulesets/Entity.h,
	  rulesets/Line.cpp, rulesets/Movement.cpp, rulesets/Movement.h,
	  rulesets/Pedestrian.cpp, rulesets/Pedestrian.h,
	  rulesets/Plant.cpp, rulesets/Thing.cpp, rulesets/World.cpp,
	  server/EntityFactory.cpp, server/WorldRouter.cpp,
	  server/WorldRouter.h: Update the rest of the code for new pos
	  type, converting all places where entity parenting is changed
	  to use WFMath toParentCoords() and toLocalCoords() methods,
	  so that orientation is handled correctly.

	* tests/transformtest.cpp: New test to ensure that toParentCoords()
	  and toLocalCoords() perform as expected.

	* tests/Creatortest.cpp, tests/Locationtest.cpp, tests/Worldtest.cpp,
	  tests/collisiontest.cpp, tests/emergencetest.cpp:
	  Update the rest of the tests.
2004-09-20 10:16:04 +00:00
Al Riddoch
20ae4aa94e 2004-09-06 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Update FIXME so its clear its the same
	  as all the other orientation related FIXMEs.

	* server/Connection.cpp: New FIXME for password based Logout which
	  won't work.

	* common/Database.h: Add interface for an idea which may help with
	  terrain persistence.
2004-09-06 01:46:29 +00:00
Al Riddoch
593e22b4d8 2004-09-05 Al Riddoch <alriddoch@zepler.org>
* rulesets/Character.cpp, server/Account.cpp:
	  Add serialno assignments to character inventory creation ops,
	  and ops from builtin mind.

	* server/WorldRouter.cpp: Remove an obsolete comment.
2004-09-05 01:39:02 +00:00
Al Riddoch
f3390d60d8 2004-09-04 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Correct some comments.
2004-09-04 21:25:19 +00:00
Al Riddoch
d526d8df78 2004-09-03 Al Riddoch <alriddoch@zepler.org>
* client/CharacterClient.cpp, client/CharacterClient.h,
	  client/CommClient.cpp, common/BaseEntity.cpp,
	  common/BaseEntity.h, common/OOGThing.cpp,
	  common/OOGThing.h, common/op_switch.h,
	  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/Food.cpp, rulesets/Food.h,
	  rulesets/Missile.h, rulesets/Plant.cpp, rulesets/Plant.h,
	  rulesets/PythonMindScript.cpp, rulesets/PythonThingScript.cpp,
	  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/ExternalMind.cpp, server/ExternalMind.h,
	  server/Lobby.cpp, server/Lobby.h, server/Player.cpp,
	  server/Player.h, server/WorldRouter.cpp:
	  Re-work basic op dispatch mechanism so result is passed by
	  a reference argument rather than returning by value.
2004-09-03 00:33:19 +00:00
Al Riddoch
18b06df4dc 2004-08-28 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Correct some comments.
2004-08-28 01:01:49 +00:00
Al Riddoch
96f13800c8 2004-08-07 Al Riddoch <alriddoch@zepler.org>
* common/BaseEntity.cpp, common/BaseEntity.h, common/BaseWorld.h,
	  common/Database.cpp, common/Database.h, common/FormattedXMLWriter.cpp,
	  common/FormattedXMLWriter.h, common/accountbase.cpp,
	  common/accountbase.h, common/custom.cpp, common/inheritance.cpp,
	  common/inheritance.h, common/operations.h, common/type_utils.h,
	  common/utility.cpp, common/utility.h, modules/Location.cpp,
	  modules/Location.h, rulesets/Area.cpp, rulesets/Area.h,
	  rulesets/BaseMind.cpp, rulesets/Character.cpp, rulesets/Character.h,
	  rulesets/Creator.cpp, rulesets/Entity.cpp, rulesets/Entity.h,
	  rulesets/Entity_getLocation.h, rulesets/Food.cpp, rulesets/Line.cpp,
	  rulesets/Line.h, rulesets/MemMap.cpp, rulesets/MemMap.h,
	  rulesets/Pedestrian.cpp, rulesets/Plant.cpp, rulesets/Plant.h,
	  rulesets/Py_Mind.cpp, rulesets/Py_Object.cpp, rulesets/Py_Object.h,
	  rulesets/Py_Operation.cpp, rulesets/Py_Thing.cpp,
	  rulesets/Python_API.cpp, rulesets/Stackable.cpp, rulesets/Stackable.h,
	  rulesets/Thing.cpp, rulesets/World.cpp, rulesets/World.h,
	  server/Account.cpp, server/Account.h, server/Admin.cpp,
	  server/Admin.h, server/CommClient.cpp, server/CommClient.h,
	  server/CommListener.cpp, server/CommListener.h,
	  server/CommLocalClient.cpp, server/CommLocalClient.h,
	  server/CommMetaClient.h, server/CommPSQLSocket.h,
	  server/CommRemoteClient.cpp, server/CommRemoteClient.h,
	  server/CommServer.cpp, server/CommServer.h, server/CommSocket.cpp,
	  server/CommSocket.h, server/CommUnixListener.cpp,
	  server/CommUnixListener.h, 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/PersistantThingFactory.h, server/Persistor.cpp,
	  server/Player.cpp, server/Player.h, server/Restorer.h,
	  server/Restorer_impl.h, server/ServerRouting.cpp,
	  server/ServerRouting.h, server/TrustedConnection.cpp,
	  server/TrustedConnection.h, server/WorldRouter.cpp,
	  server/WorldRouter.h: Convert code to using Atlas Message
	  typedefs as found in Atlas-C++ 0.6 to aid conversion later.
2004-08-16 14:26:47 +00:00
Al Riddoch
b208b13139 2004-08-07 Al Riddoch <alriddoch@zepler.org>
* common/FormattedXMLWriter.h: Add some notes about converting this
	  class for use with any Atlas codec.

	* server/CommClient.h, server/CommIdleSocket.h, server/CommServer.cpp,
	  server/CommServer.h, server/CommSocket.h, server/ServerRouting.h,
	  server/WorldRouter.cpp:
	  Improve the names of some typedefs and clean up some comments.

	* server/WorldRouter.h: Remove declaration of obsolete unimplemented
	  setSerialno() member function.
2004-08-07 11:25:30 +00:00
Al Riddoch
1483ef472d 2004-08-05 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp, server/WorldRouter.h: Code formatting
	  cleanups, and some improved comments.
2004-08-05 12:29:11 +00:00
Al Riddoch
9675efd203 2004-07-31 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Improve debug output.
2004-07-31 18:56:03 +00:00
Al Riddoch
be1c9bf5bd 2004-07-30 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp, server/CommClient.cpp:
	  Clean up some error output, making sure it goes to the right place.

	* common/FormattedXMLWriter.cpp, common/FormattedXMLWriter.h:
	  Use ostream as we are only writing, not reading. Improve comments.
2004-07-30 13:56:25 +00:00
Al Riddoch
035ca9c20a 2004-07-22 Al Riddoch <alriddoch@zepler.org>
* rulesets/MemEntity.h, rulesets/MemMap.cpp, server/WorldRouter.cpp:
	  Remove some debugging output.
2004-07-22 00:27:55 +00:00
Al Riddoch
71a1c70fa1 2004-07-20 Al Riddoch <alriddoch@zepler.org>
* client/CreatorClient.cpp, rulesets/BaseMind.cpp,
	  rulesets/MemEntity.cpp, rulesets/MemEntity.h,
	  rulesets/MemMap.cpp, rulesets/MemMap.h, rulesets/Py_Map.cpp:
	  Set time on memory entities when we update them.

	* common/BaseWorld.h: Make object accessor const.

	* common/Database.cpp, common/Database.h, common/accountbase.cpp,
	  server/Connection.cpp, server/Persistance.cpp,
	  server/WorldRouter.cpp: Rename function to get new ID from
	  database to more correctly reflect its role.

	* rulesets/PythonMindScript.cpp: Use get rather than getAdd
	  to sort out to and from of ops send to mind scripts.
2004-07-20 20:27:56 +00:00
Al Riddoch
5df94a6200 2004-07-14 Al Riddoch <alriddoch@zepler.org>
* common/BaseWorld.h, rulesets/Creator.cpp, rulesets/Thing.h,
	  rulesets/World.cpp, server/WorldRouter.cpp, server/WorldRouter.h:
	  Modify the world interface to get rid of some pointless
	  infeffiencies.

	* server/Account.cpp, server/Admin.cpp, server/Connection.cpp,
	  server/Lobby.cpp, server/ServerRouting.h, server/WorldRouter.cpp,
	  server/WorldRouter.h: Change getSerialNo to newSerialNo to make it
	  clear what it does.
2004-07-14 12:03:53 +00:00
Al Riddoch
12c1ab2573 2004-07-14 Al Riddoch <alriddoch@zepler.org>
* common/BaseEntity.h, common/BaseEntity.cpp, common/refno.h,
	  server/Account.cpp, rulesets/Creator.cpp, server/WorldRouter.cpp:
	  Move refno functions which don't need to be methods into
	  their own header.

	* common/BaseWorld.h, common/BaseWorld.cpp, rulesets/Character.cpp,
	  rulesets/Creator.cpp, server/WorldRouter.cpp, server/WorldRouter.h:
	  Make BaseWorld no longer inherit from anything, as we were not
	  using this inheritance at all.
2004-07-14 10:16:54 +00:00
Al Riddoch
ccb40dd7f6 2004-07-14 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Get rid of leak from handling delete op
	  reply. Eliminate unnecessary copy reading TO of all ops.
2004-07-13 23:43:16 +00:00
Al Riddoch
81d0d6b2ca 2004-07-13 Al Riddoch <alriddoch@zepler.org>
* rulesets/BaseMind.cpp: Make sure we don't delete ourself from
	  map.

	* server/WorldRouter.h, server/WorldRouter.cpp: Add more advanced
	  handling for delete ops, so the response is broadcast before
	  it is removed.
2004-07-13 20:01:50 +00:00
Al Riddoch
dbc1db5ebc 2004-07-13 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Clean up a special case for TO="all" on
	  ops, which we now disallow. Remove a verbose tests for NULL
	  pointers in the world dictionary and replace with a simple assert.
2004-07-13 01:37:00 +00:00
Al Riddoch
28e85ce35e 2004-06-23 Al Riddoch <alriddoch@zepler.org>
* Fix bounding boxes for fir and oak scaling.

	* common/globals.cpp: Default to starting at dawn.

	* modules/DateTime.h: Make accessors to static vars static.

	* server/WorldRouter.cpp: Handle time offest more sanely.
2004-06-23 12:00:09 +00:00
Al Riddoch
b93c71636e 2004-06-21 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Change check in new Entity code to ensure
	  that entities already have valid location at this point.

	* server/EntityFactory.cpp: Implement randomized starting position
	  in entity factory.
2004-06-21 06:37:01 +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
e2de50c8ef 2004-06-20 Al Riddoch <alriddoch@zepler.org>
* rulesets/World.cpp, rulesets/World.h: Add accessor to get height
	  at a particular point.

	* server/Account.cpp: Remove redundant check on new character
	  location.

	* common/BaseWorld.h, server/WorldRouter.cpp, server/WorldRouter.h,
	  rulesets/Thing.cpp: Add new function for correcting height
	  of entities to ground level, and use it whenever new entities
	  are created, or whenever an entity moves.
2004-06-20 22:58:18 +00:00
Al Riddoch
0517a8501b 2004-05-28 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp, rulesets/MemMap.cpp, server/server.cpp:
	  Relegate some diagnostic output on shutdown to debug output.
2004-05-28 14:34:33 +00:00
Al Riddoch
28568df78c 2004-05-15 Al Riddoch <alriddoch@zepler.org>
* server/server.cpp, server/WorldRouter.cpp, rulesets/MemMap.cpp:
	  Add logging of various shutdown faces, to try and track the
	  excessive memory usage.
2004-05-15 17:43:14 +00:00
Al Riddoch
50f17694f1 2004-05-14 Al Riddoch <alriddoch@zepler.org>
* rulesets/Thing.cpp, rulesets/World.cpp, server/WorldRouter.cpp:
	  Delete commented out code for old range checks.

	* modules/Location.h, physics/BBox.h, physics/Collision.cpp,
	  physics/Vector3D.h, rulesets/Entity.h: Remove obsolete math
	  functions for doing silly calculations with boxes.
2004-05-14 00:35:59 +00:00
Al Riddoch
83a9d38053 2004-05-14 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Remove some verbose debugging output.
2004-05-14 00:03:49 +00:00
Al Riddoch
b278543da6 2004-05-12 Al Riddoch <alriddoch@zepler.org>
* common/const.cpp, common/const.h: Add constants for handling
	  size based visibility calculations.

	* rulesets/World.cpp, server/WorldRouter.cpp: Convert op broadcast
	  and viewing distance to being handled by a visibility calculation
	  based on size and distance, rather than distance alone. Movement
	  appearance and disappearance is yet to be done.
2004-05-12 09:39:20 +00:00
Al Riddoch
1dc94faf45 2004-05-11 Al Riddoch <alriddoch@zepler.org>
* rulesets/Thing.cpp: Send an Appearance op from new entities
	  rather than Sight(Create).

	* server/WorldRouter.cpp: Accept Appearance and Disappearance
	  as ops which can be broadcast.
2004-05-11 22:17:18 +00:00
Al Riddoch
0dadb356e3 2004-05-11 Al Riddoch <alriddoch@zepler.org>
* common/BaseWorld.h, server/CommServer.cpp, server/CommServer.h,
	  server/ServerRouting.cpp, server/ServerRouting.h,
	  server/ServerRouting_methods.h, server/WorldRouter.cpp,
	  server/WorldRouter.h: Modify idle to return if there are ops due
	  so that select can be called with zero timeout. Server now processes
	  op as quickly as possible and hopefully is still responsive.
2004-05-11 21:48:25 +00:00
Al Riddoch
42787d5954 2004-05-06 Al Riddoch <alriddoch@zepler.org>
* common/BaseWorld.h, server/Connection.h, server/ServerRouting.cpp,
	  server/ServerRouting.h, server/ServerRouting_methods.h,
	  server/WorldRouter.cpp, server/WorldRouter.h:
	  Get rid of obsolete return value, from idle functions, and
	  adjust WorldRouter::idle() so it only dispatches a certain
	  number of ops at a time.

	* server/Admin.cpp: Remove debugging output for monitoring code.

	* server/ExternalMind.cpp, server/ExternalMind.h: Rename member
	  variables to fit with convention.

	* tools/cycmd.cpp: Document monitor features.
2004-05-06 23:00:53 +00:00
Al Riddoch
6c46fee3a1 2004-04-23 Al Riddoch <alriddoch@zepler.org>
* tools/cycmd.cpp: Add new command to enable and disable server
	  monitoring.

	* server/WorldRouter.cpp, common/BaseWorld.h: Add facility to
	  notify using a SigC signal each type an op is dispatched.

	* server/CommClient.h, server/CommClient.cpp: Fix typo in
	  overridden method which meant it didn't work.

	* server/Admin.h, server/Admin.cpp: Add handler for Monitor operation
	  which turns on and off sending all IG ops to the admin client.

	* rulesets/Python_API.cpp, common/types.h, common/Generic.h,
	  common/BaseEntity.h: Fix Generic op so it can be used, and
	  clean up its use. Add an enumeration for monitor ops.
2004-04-23 17:50:38 +00:00
Al Riddoch
19d262a52b 2004-03-15 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Add a FIXME for a very old obsolete test.

	* rulesets/World.cpp: Update setTerrain so it too accepts the
	  data in new format.
2004-03-18 23:19:37 +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
Al Riddoch
a80580b906 2003-11-25 Al Riddoch <alriddoch@zepler.org>
* server/WorldRouter.cpp: Improve debugging output.
2003-11-25 20:50:01 +00:00
Al Riddoch
6e5aaf2578 2003-09-17 Al Riddoch <alriddoch@zepler.org>
* tests/Worldtest.cpp: Update test to take account of changes
	  in the BaseWorld interface.

	* server/WorldRouter.cpp: Report an error if an entity creation
	  attempt of unknown type is attempted.

	* server/EntityFactory.h, server/EntityFactory.cpp: Modify
	  unbound rule queue so it handles multiple rules depending
	  on a single parent.
2003-09-17 15:05:08 +00:00