Commit graph

99 commits

Author SHA1 Message Date
Erik Ogenvik
d7bf27d180 Take plantable adjustment into account.
When an entity which is "planted" is adjusted, we also look
for if there's any offset specified for the height adjustment.
2016-06-26 19:08:54 +02:00
Erik Ogenvik
4f368a6fbc Let parent domain decide visibility and movement.
When visibility is determined, we always query the parent domain, and
never any ancestor domain.

The idea is to make the system more easy to follow.
2016-06-22 17:29:27 +02:00
Erik Ogenvik
d06d32291c Set seconds for Move ops. 2016-03-19 23:05:13 +01:00
Erik Ogenvik
419c547930 Various housekeeping tasks. 2014-09-18 21:45:35 +02:00
Erik Ogenvik
b171410b05 Let the domain be specified by a property.
This means that we only attach domains to entities that have the
"domain" property. The "land" entity type for example.
2014-09-15 21:11:35 +02: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
4a9c7078f7 Refactor to use LocatedEntity as base class
All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.
2013-01-17 10:17:07 +00:00
Alistair Riddoch
59999a5c00 Avoid double conversions when comparing movement 2011-04-28 01:08:06 +01:00
Alistair Riddoch
32e834f03d Use WFMath CoordType for its calculations 2011-04-28 01:01:24 +01:00
Alistair Riddoch
c6bd3094c5 Use C++ std::sqrt for efficiency 2011-04-27 19:46:13 +01:00
Alistair Riddoch
c13ce42e58 Don't bother with a reference for a simple value type. 2010-05-02 22:38:45 +01:00
Alistair Riddoch
aa40285637 Set a static mode 2009-05-13 02:41:07 +01:00
Alistair Riddoch
3342a93658 Merge branch 'movement_domain' of ssh://git.worldforge.org/data/git/cyphesis into movement_domain 2009-05-13 02:12:47 +01:00
Alistair Riddoch
cb2d1a966e Remove mode processing 2009-05-13 02:12:42 +01:00
Alistair Riddoch
335e162cb0 Use movement domain to do all height constraint requests. 2009-05-12 23:30:19 +01:00
Alistair Riddoch
665993f638 Update IDs 2009-04-09 12:42:44 +01:00
Al Riddoch
743b128590 2007-09-22 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp: Move a calculation into an if clause, to
	  save a few cycles.
2007-09-22 15:46:14 +00:00
Al Riddoch
74a717a4cb 2007-09-22 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.h, rulesets/Pedestrian.cpp, rulesets/Pedestrian.h:
	  Change the movement API so update Location is const when passed to
	  generateMove.
2007-09-22 15:40:17 +00:00
Al Riddoch
813de7bcca 2007-09-22 Al Riddoch <alriddoch@zepler.org>
* common/PropertyManager.h, rulesets/Movement.h,
	  rulesets/Pedestrian.cpp, server/EntityFactory.h, server/Peer.cpp,
	  server/Peer.h, server/PersistantThingFactory.h, server/Player.cpp:
	  Fill out some more doc comments, and add some more FIXME notes.
2007-09-22 15:34:04 +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
23851b3fd0 2007-01-01 Al Riddoch <alriddoch@zepler.org>
* rulesets/Character.cpp, rulesets/Creator.cpp, rulesets/Entity.cpp,
	  rulesets/Entity.h, rulesets/Pedestrian.cpp, rulesets/Py_Thing.cpp,
	  rulesets/Stackable.cpp, rulesets/Thing.cpp, rulesets/World.cpp:
	  Remove m_world member variable from all Entity classes, and
	  access the world manager object as a singleton.
2007-01-01 17:57:06 +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
640c3d28d7 2006-07-03 Al Riddoch <alriddoch@zepler.org>
* client/Py_CreatorClient.cpp, rulesets/Character.cpp,
	  rulesets/Entity.cpp, rulesets/Entity.h, rulesets/Food.cpp,
	  rulesets/Pedestrian.cpp, rulesets/Plant.cpp, rulesets/Py_Mind.cpp,
	  rulesets/Py_Thing.cpp, rulesets/Thing.cpp, server/WorldRouter.cpp:
	  Rename Entity members get(), set() and has() to getAttr(), setAttr()
	  and hasAttr().
2006-07-03 01:41:29 +00:00
Al Riddoch
d23440ec4d 2006-06-03 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.h, rulesets/Movement.cpp, rulesets/Pedestrian.cpp:
	  Remove old obsolete collision code.
2006-06-03 11:09:04 +00:00
Al Riddoch
e774f48fed 2006-06-01 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp: Disable old collision detection code.

	* rulesets/Thing.cpp: First working version of entity based collision
	  code.
2006-06-01 15:23:33 +00:00
Al Riddoch
b15ae945a1 2006-05-31 Al Riddoch <alriddoch@zepler.org>
* rulesets/Thing.cpp: Implement basic movement updates.

	* rulesets/Pedestrian.cpp: Disable updatePos as it is no longer
	  required.

	* TODO: Add notes on further refactoring of movement code.
2006-05-31 17:43:39 +00:00
Al Riddoch
1340b4a878 2006-05-31 Al Riddoch <alriddoch@zepler.org>
* common/const.h: Add new constant for period between movement updates.

	* rulesets/Pedestrian.cpp: Don't update entity movement timestamp
	  here.

	* rulesets/Thing.cpp: Add comments about movement code. Update
	  movement timestamp when move op is handled. Use movement update
	  interval for update ops.
2006-05-31 16:31: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
2a09a3a56b 2005-12-16 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.cpp: Ensure collision position is invalidated
	  once a collision isn't done.

	* rulesets/Pedestrian.cpp: Add some assert checks. Ensure that
	  m_updatedPos is always valid. Add a check for a race condition
	  where a collision is predicted, and the tick that should trigger
	  it occurs, but another move request arrives from the client
	  before the update Move op has been applied to the entity.
2005-12-18 02:46:48 +00:00
Al Riddoch
bd0c7eb4f1 2005-12-16 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.cpp: Reset stored positions more efficiently.

	* rulesets/Pedestrian.cpp: Improve error reporting when a bad
	  collision occurs. Reset the coordinates, so that character does
	  not teleport to origin when a strange collision happens.
2005-12-16 11:45:03 +00:00
Al Riddoch
3bf65be8da 2005-12-15 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.h, rulesets/Movement.cpp,
	  rulesets/Pedestrian.h, rulesets/Pedestrian.cpp: When processing
	  a move operation, if its going to cause an immediate collision,
	  set the velocity to 0.
2005-12-15 16:48:31 +00:00
Al Riddoch
9af6ffd37c 2005-12-15 Al Riddoch <alriddoch@zepler.org>
* configure.ac: Increment version.

	* rulesets/Movement.h, rulesets/Movement.cpp: Add a flag to indicate
	  if movement has been diverted by a collision.

	* rulesets/Pedestrian.cpp: Use flag to ensure that entities moving
	  towards a target position that are diverted by a collision
	  don't just snap to their original destination. When collision errors
	  are detected, don't mess the entities position up by changing it.

	* tests/Makefile.am: Fix broken tests.
2005-12-15 15:15:19 +00:00
Al Riddoch
246d77dcee 2005-11-23 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp: Improve debug output for collision code
	  errors.
2005-11-23 11:59:19 +00:00
Al Riddoch
9b21e9efea 2005-11-14 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.cpp: Reset the collision LOC change flag before
	  running the check.

	* rulesets/Pedestrian.cpp: Improve debug reporting of collision
	  errors.
2005-11-14 02:13:57 +00:00
Al Riddoch
10320989c5 2005-10-21 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp, rulesets/Movement.h, rulesets/Movement.cpp:
	  Store the time of the last collision, and if the next one occurs
	  almost immediatly, stop the movement. This eliminates the judder
	  which used to occur in some nasty collision scenarios.
2005-10-21 12:04:28 +00:00
Al Riddoch
a0836a6818 2005-09-28 Al Riddoch <alriddoch@zepler.org>
* modules/Location.cpp, modules/Location.h:
	  Add const accessors for location data, in preparation for
	  adding cached collision data which must be updated every
	  time data is modified.

	* physics/Collision.cpp, rulesets/Character.cpp, rulesets/Entity.cpp,
	  rulesets/Entity.h, rulesets/MemMap.cpp, rulesets/Movement.cpp,
	  rulesets/Pedestrian.cpp, rulesets/Plant.cpp,
	  rulesets/Py_Location.cpp, rulesets/Thing.cpp, rulesets/World.cpp,
	  server/Account.cpp, server/EntityFactory.cpp, server/Persistor.cpp,
	  server/Persistor_impl.h, server/Restorer_impl.h,
	  server/WorldRouter.cpp, tests/Locationtest.cpp:
	  Use the const accessors whenver reading data from Location.
2005-09-28 23:02:50 +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
2103037359 2005-09-11 Al Riddoch <alriddoch@zepler.org>
* common/const.cpp, common/const.h: Git rid of bizare scheme
	  where each constant appears twice, debug and non-debug versions.

	* rulesets/Pedestrian.cpp, rulesets/Thing.cpp,
	  server/WorldRouter.cpp: Fix problem where an essential call
	  was inside an assert, so did not happen when built in non-debug
	  mode.
2005-09-11 21:53:17 +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
fdd316b628 2005-08-27 Al Riddoch <alriddoch@zepler.org>
* Port whole code base to Atlas-C++ 0.6 series. Main server binary
	  now links.
2005-08-27 14:52:12 +00:00
Al Riddoch
94b92c7e48 2005-07-01 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp, server/WorldRouter.cpp: Correct error
	  message about non-string modes.
2005-07-01 14:27:08 +00:00
Al Riddoch
cf8f490357 2005-06-12 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp: Remove some debug output.

	* server/WorldRouter.cpp: Tweak the order of dispatch.

	* cyphesis.spec.in: Clean up the dependencies in the spec.

	* configure.ac: Increment version to 0.3.11.

	* NEWS: Update news item.

	* Makefile.am: Fix rule that tweaks temp dir prefix so it works
	  when destination directory is overriden.

	* Release 0.3.11
2005-06-12 13:09:08 +00:00
Al Riddoch
be0ddb55fe 2005-06-09 Al Riddoch <alriddoch@zepler.org>
* modules/Location.h, rulesets/Pedestrian.cpp, rulesets/Thing.cpp,
	  server/WorldRouter.cpp: Store the last movement update time
	  in location, so it can be used for interpolation elsewhere.
	  Don't yet update it in the main Move code is this causes movement
	  jitter.
2005-06-09 21:50:25 +00:00
Al Riddoch
7df6f98dda 2005-06-08 Al Riddoch <alriddoch@zepler.org>
* rulesets/Pedestrian.cpp: Apply z coord constraints after doing
	  movement interpolation. If the character is immersed in water
	  then set the mode to swimming.
2005-06-08 18:20:54 +00:00
Al Riddoch
7a4c1a67ed 2005-06-08 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.cpp, rulesets/Movement.h,
	  rulesets/Pedestrian.cpp, rulesets/Pedestrian.h,
	  rulesets/Character.cpp: Remove the obsoleted movement code.
	  Eliminate friend relationship with Character, adding necessary
	  accessors. Remove unused member variables.
2005-06-08 17:37:55 +00:00
Al Riddoch
71e477ae4f 2005-06-08 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.h, rulesets/Pedestrian.h, rulesets/Movement.cpp,
	  rulesets/Pedestrian.cpp: Get rid of m_collAxis as it was unused.
	  Add velocity to the interface of getTickAddition to avoid using
	  the redundant m_velocity member of Movement. Fix calculation
	  of velocity magnitude in new movement code. Correctly set
	  velocity to zero when movement reaches its target.

	* rulesets/Character.cpp: Add alternative movement processing
	  code based on the new mathods in Pedestrian.
2005-06-08 01:05:01 +00:00
Al Riddoch
33c9bff356 2005-06-07 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.h, rulesets/Pedestrian.h, rulesets/Pedestrian.cpp:
	  Add a return value to getUpdatedLocation to indicate whether an
	  update was necessary or not.

	* rulesets/Character.cpp: Add some notes on how this code could be
	  adapted to Use the new Movement code.
2005-06-07 23:16:42 +00:00
Al Riddoch
2c4ce7f339 2005-06-06 Al Riddoch <alriddoch@zepler.org>
* rulesets/Movement.h, rulesets/Pedestrian.h, rulesets/Pedestrian.cpp:
	  Add a new method to the movement interface which determines the
	  updated location of an entity when movement needs to be handled.
2005-06-07 00:30:47 +00:00
Al Riddoch
4ccd2b8bd1 2005-06-06 Al Riddoch <alriddoch@zepler.org>
* rulesets/Character.cpp, rulesets/Movement.cpp, rulesets/Movement.h,
	  rulesets/Pedestrian.cpp: Rename some variables to make the code
	  more comprehensible.
2005-06-06 21:53:57 +00:00
Al Riddoch
2b75aa5b06 2004-12-06 Al Riddoch <alriddoch@zepler.org>
* rulesets/Character.cpp, rulesets/Pedestrian.cpp,
	  rulesets/Py_World.cpp, rulesets/PythonThingScript.cpp,
	  rulesets/Thing.cpp, server/Account.cpp, server/Admin.cpp,
	  server/Connection.cpp, server/Restoration.cpp:
	  Remove unnecessary includes of common/BaseWorld.h.
2004-12-06 22:08:36 +00:00