Commit graph

37 commits

Author SHA1 Message Date
Erik Ogenvik
79d6bda7b2 Properly remove properties with delegates. 2014-08-26 21:09:02 +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
4e30a35aa4 Remove handler related types 2013-02-14 10:09:45 +00:00
Alistair Riddoch
8344d5c8b0 Convert TerrainModProperty to delegates 2013-02-14 00:04:58 +00:00
Alistair Riddoch
3d6f39cdee Modify Property install method to take name
This change also switches DecaysProperty to using delegates as a proof of
concept.
2013-02-13 00:45:36 +00: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
7ec8b51d62 Move TerrainMod property handlers into class 2013-01-10 00:19:31 +00:00
Alistair Riddoch
1bbb936555 Fill in copy methods on remaining properties 2013-01-08 00:19:23 +00:00
Alistair Riddoch
508a98bb49 Add an operation method to Property interface 2013-01-03 23:17:51 +00:00
Alistair Riddoch
028af001b6 Move to inheriting from the base template
This removes the need for our own implementations of standard
get/set methods.
2012-01-08 20:39:42 +00:00
Alistair Riddoch
5bc4c91361 Add abstract property for generic terrain functions 2012-01-07 16:32:19 +00:00
Alistair Riddoch
ac37383d8a Convery all the property get functions 2011-09-29 17:36:26 +01:00
Alistair Riddoch
7a1c8c9557 Rename InnerTerrainMod to TerrainModTranslator and update docs 2011-01-06 19:01:37 +00:00
Alistair Riddoch
9ed8160f84 Remove a load of commented out declarations. 2010-11-12 11:34:05 +00:00
Alistair Riddoch
ad1d04bb6c Remove obsolete commented out code. 2010-11-11 17:53:32 +00:00
Alistair Riddoch
fefeec7da8 Remove pos param as we couldn't make effective use of it. 2010-11-11 17:42:12 +00:00
Alistair Riddoch
94a47009ac Add member functions to allow sub attributes to be changed. 2010-09-18 23:59:30 +01:00
Alistair Riddoch
9165ce1cc3 Cleanups, formatting and make accessor inlineable. 2010-09-13 15:36:01 +01:00
Alistair Riddoch
0853f4fd24 Move InnerTerrainMod classes into their own file for isolation 2010-09-13 02:09:26 +01:00
Alistair Riddoch
7131b6a441 Clean up some includes 2010-09-13 00:59:24 +01:00
Alistair Riddoch
3d99223721 Clean up the way terrain property is handled, now we can keep it const. 2010-09-13 00:16:01 +01:00
Alistair Riddoch
82a3f8d789 Refactor out entity mod owner. 2010-09-12 20:40:26 +01:00
Alistair Riddoch
3ece13592a Fix up TerrainModProperty to work more cleanly, and initialize properly. 2010-09-12 20:20:24 +01:00
Alistair Riddoch
a429b728d4 What the hell is going on with these Ids 2009-03-24 15:17:36 +00:00
Alistair Riddoch
8e521d8928 Update all the Ids 2009-03-24 15:09:42 +00:00
Alistair Riddoch
d4995dd10c Use scripts/check_header_guards.sh to correct the header guards on many files. 2009-03-22 19:23:13 +00:00
Erik Hjortsberg
37b30128f1 Updated terrain parsing code to sync with changes in Eris. 2009-01-06 13:33:18 +01:00
Erik Hjortsberg
16f07ca527 Copies terrain mod parsing code from Eris. 2009-01-05 21:04:56 +01:00
Al Riddoch
d57de81925 2008-09-10 Al Riddoch <alriddoch@googlemail.com>
* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h,
	  server/CorePropertyManager.cpp: Re-work part of the way
	  terrain mod properties are set up, removing the need for
	  a setup handler, and using install instead.
2008-09-10 14:16:12 +00:00
Al Riddoch
fab8a833ff 2008-09-08 Al Riddoch <alriddoch@googlemail.com>
* rulesets/ActivePropertyFactory_impl.h: Re-work the active property
	  factories so they just pass handler information to the property
	  classes rather than installing it themselves, so the property
	  can now handle installing the handlers each time they are installed
	  on an entity, making class default properties work.

	* client/ClientPropertyManager.cpp, client/ClientPropertyManager.h,
	  common/PropertyFactory.h, common/PropertyFactory_impl.h,
	  common/PropertyManager.h, rulesets/ActivePropertyFactory.h,
	  server/CorePropertyManager.cpp, server/CorePropertyManager.h:
	  Modify the property manager and property factory interfaces so they
	  do not take a pointer to the owner, as this is never required any
	  more.

	* rulesets/Character.cpp, rulesets/Entity.cpp: Modify code that uses
	  property managers to use the new interface.

	* rulesets/SolidProperty.cpp, rulesets/SolidProperty.h: Make use of
	  the bool flag to implement this, preventing it from being tied to
	  having a pointer to the owner at creation time.

	* rulesets/StatusProperty.cpp, rulesets/StatusProperty.h: Remove
	  the need for an owner pointer at construction time by using the
	  apply method.

	* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h:
	  Use new MultiActivePropertyManager and install method to handle
	  installing handlers rather than relying on the factory to do it.

	* server/CorePropertyManager.cpp: Change many of the property
	  factories now that none get get an owner pointer.

	* server/EntityFactory.cpp: Set up default properties on all type
	  nodes when a new class is installed, and don't apply instance
	  properties based on class defaults, relying on class properties.

	* rulesets/Entity.cpp: Remove hard coded BBox property now that the
	  functionality is handled by a more special property.
2008-09-08 00:17:08 +00:00
Al Riddoch
dcc25e8e01 2008-08-18 Tamas Bates <rhymer@gmail.com>
* rulsets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h: Add a
	  function to easily remove a terrain mod from the terrain.

	* server/CorePropertyManager.cpp: Fix the delete handler for terrain
	  mods to correctly clear them from the terrain when their owning entity
	  is deleted.
2008-08-18 18:59:48 +00:00
Al Riddoch
e9bce650fe 2008-08-17 Tamas Bates <rhymer@gmail.com>
* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h: Fixed
	  an improperly named variable.

2008-08-17  Tamas Bates  <rhymer@gmail.com>

	* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h: Fixed
	  a logic issue which would have prevented some types of terrain mods
	  from ever being parsed.

2008-08-17  Tamas Bates  <rhymer@gmail.com>

	* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h: Fixed
	  a number of inconsistent indentations. Avoid passing Point3D objects
	  by value in the terrain modifier parsing functions.
2008-08-17 22:57:20 +00:00
Al Riddoch
5f1c54e60c 2008-08-17 Tamas Bates <rhymer@gmail.com>
* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h: Fix a
	  number of uninitialized variables that were causing warnings. Fix the
	  way that the position of a modifier is retrieved when parsing to avoid
	  copying it to more locations than necessary. Moved the parsing code for
	  specific modifiers into separate functions to make them easier to find
	  and to shorten the main parsing function.
2008-08-17 21:48:22 +00:00
Al Riddoch
e8fd1f757d 2008-08-17 Al Riddoch <alriddoch@googlemail.com>
* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h:
	  Avoid passing Point3D objects by value, to make the code faster.
	  Fix a crash in getTerrain(). Clean up for 80 columns, in the
	  header.
2008-08-17 20:35:03 +00:00
Al Riddoch
b2223a6166 2008-08-17 Tamas Bates <rhymer@gmail.com>
* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h: Clean
	  up some commented out code. Reorganize TerrainModProperty.h so that
	  methods specific to terrain mods are more easily distinguished from
	  those used by all properties. Change the way the terrain is searched
	  for to avoid iterating through the entire entity tree. Removed the
	  prototype for an unused function named set().
2008-08-17 20:22:39 +00:00
Al Riddoch
8cf9a1f05c 2008-08-17 Tamas Bates <rhymer@gmail.com>
* rulesets/TerrainModProperty.cpp, rulesetes/TerrainModProperty.h: Add
	  a member to store the pointer returned from Terrain::addMod(). Revise
	  set() to use this pointer.

	* rulesets/TerrainProperty.cpp, rulesets/TerrainProperty.h: Update the
	  API for controlling modifiers to use the pointer returned by
	  Terrain::addMod() when adding or updating modifiers.

	* server/CorePropertyManager.cpp: Update the handler for Move Operations
	  on terrain modifiers so that it correctly uses the new position.
2008-08-17 18:12:09 +00:00
Al Riddoch
ff9edab26c 2008-08-14 Al Riddoch <alriddoch@googlemail.com>
Changes by Tamas Bates  <rhymer@gmail.com>

	* rulesets/TerrainProperty.cpp, rulesets/TerrainProperty.h: Add an
	  API for controlling modifiers to the terrain.

	* rulesets/TerrainModProperty.cpp, rulesets/TerrainModProperty.h:
	  Implement a new property for entities which affect the height
	  of the terrain.

	* server/CorePropertyManager.cpp: Add handlers to deal with
	  operations that manipulate the terrain when a terrain mod
	  property changes.

	* rulesets/mason/define_world.py: Add a test function for
	  terrain modification properties.
2008-08-14 00:03:12 +00:00