Commit graph

75 commits

Author SHA1 Message Date
Alistair Riddoch
ac37383d8a Convery all the property get functions 2011-09-29 17:36:26 +01:00
Alistair Riddoch
9b02aa803b Add "visibility" to the properties 2011-01-07 22:57:26 +00:00
Alistair Riddoch
755cb4c7b4 Merge branch 'mod_api_rewrite'
Conflicts:
	TODO
	rulesets/mason/tests.py
2011-01-06 23:29:08 +00:00
Alistair Riddoch
f7018744d7 Convert to interacting with Juncture, as that is the object in the server index 2010-12-07 22:47:02 +00:00
Alistair Riddoch
028dee8271 Be more careful when dynamic casting pointers 2010-12-05 18:46:46 +00:00
Alistair Riddoch
d3da444ed9 Clean up from processing a bit 2010-11-25 09:26:52 +00:00
Alistair Riddoch
d11f42836f Simplify teleport API, and remove double lookup 2010-11-24 23:17:50 +00:00
Alistair Riddoch
24cccee141 Remove the need for second arg by using int ids as serial/refno 2010-11-24 18:49:07 +00:00
Alistair Riddoch
e76271d299 Add common/log. How the hell did that wander? 2010-11-17 13:31:26 +00:00
Alistair Riddoch
c1791e392a Merge branch 'master' into teleport 2010-11-17 11:29:45 +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
3ece13592a Fix up TerrainModProperty to work more cleanly, and initialize properly. 2010-09-12 20:20:24 +01:00
Manohar Vanga
fc706d0542 Removed unused InterServerConnection and InterServerClient classes
(cherry picked from commit 3f9426d9f6e10bd70c24610c5641ee6638c0755e)
2010-08-17 11:58:19 +05:30
Manohar Vanga
882047f9f2 Removed old commented code from teleport_handler 2010-08-17 11:58:19 +05:30
Manohar Vanga
7df5e3d346 Added some debug information to teleport_handler 2010-08-17 11:58:17 +05:30
Manohar Vanga
1f8e262157 Fixed bug in return value of teleport_handler 2010-08-17 11:58:17 +05:30
Manohar Vanga
39c42a3477 Moved code from CorePropertyManager.cpp to Peer class (not fully functional) 2010-08-17 11:58:17 +05:30
Manohar Vanga
40b1870ba6 Added code in teleport_handler to retreive the Peer object based on its ID 2010-08-17 11:58:17 +05:30
Manohar Vanga
0f7520d5d8 Removed connection handling (blocking) from teleport_handler 2010-08-17 11:56:55 +05:30
Manohar Vanga
5484ace9a0 Added longer key generation 2010-08-17 11:56:10 +05:30
Manohar Vanga
b5a06fad15 Added random key in teleport handler. Deletion of entity works. Logout doesn't 2010-08-17 11:56:10 +05:30
Manohar Vanga
b620e8cb7f Fixed issues based on feedback 2010-08-17 11:56:10 +05:30
Manohar Vanga
8812006688 Rough hacked up version of createCharacter 2010-08-17 11:56:09 +05:30
Manohar Vanga
f7d97fb7bd Entity injection works (code needs a lot of cleanup) 2010-08-17 11:56:09 +05:30
Manohar Vanga
3c4163099a Made some changes based on code reviews 2010-08-17 11:56:09 +05:30
Manohar Vanga
f013f12e47 Fixed indentation and incorrect comments 2010-08-17 11:56:09 +05:30
Manohar Vanga
ae04ee4e5f Added entity search and atlas generation. Something broken in messaging. 2010-08-17 11:56:09 +05:30
Manohar Vanga
b81fe50722 Added injectEntity function 2010-08-17 11:56:09 +05:30
Manohar Vanga
587e0577c5 Successfully logged into server account using teleport handler 2010-08-17 11:56:09 +05:30
Manohar Vanga
0054f31156 Successfully able to connect two cyphesis instances over a network 2010-08-17 11:56:09 +05:30
Manohar Vanga
2c577806dc Handler throws up some basic information 2010-08-17 11:47:59 +05:30
Manohar Vanga
9e5c5b89ca Added a Teleport (Active Property) and installed a handler for it. 2010-08-17 11:47:59 +05:30
Alistair Riddoch
5292256681 Add AreaProperty to those managed here. 2009-12-31 15:08:21 +00:00
Alistair Riddoch
9b0e87d277 Add "spawn" properties to the property factory. 2009-12-30 01:03:29 +00:00
Al Riddoch
8f89c49499 2008-11-30 Al Riddoch <alriddoch@googlemail.com>
* rulesets/Makefile.am: Add ArithmeticFactory to the build in this
	  directory.

	* data/characters.xml: Add test statistics to the class.

	* rulesets/StatisticsProperty.cpp, rulesets/StatisticsProperty.h:
	  Add an install method which creates a script instance.

	* rulesets/mason/world/statistics/Statistics.py: Make the reference
	  to the owner optional.

	* server/CorePropertyManager.cpp: Add "statistics" to the factory.

	* server/Makefile.am, server/ArithmeticFactory.cpp,
	  server/ArithmeticFactory.h: Remove unused ArithmeticFactory code
	  from the build.
2008-11-30 01:03:26 +00:00
Al Riddoch
a80f85e85a 2008-10-01 Al Riddoch <alriddoch@googlemail.com>
* rulesets/LocatedEntity.cpp, rulesets/LocatedEntity.h: Make all the
	  property access functions that should never be used to modify a
	  property const. Remove requirePropertyClass() as it pretty much
	  can't be const.

	* rulesets/Entity.cpp, rulesets/Entity.h: Make overriden
	  getProperty() const as it is in the base class. Add new
	  property access functions for code that needs to modify the
	  properties which ensures class properties never get modified
	  through the Entity interface.

	* rulesets/Character.cpp, rulesets/Plant.cpp, rulesets/Py_Thing.cpp,
	  rulesets/TerrainModProperty.cpp, server/CorePropertyManager.cpp:
	  Change all the code that accesses properties to use the right
	  functions.
2008-10-01 18:20:57 +00:00
Al Riddoch
660abec7d2 2008-10-01 Al Riddoch <alriddoch@googlemail.com>
* rulesets/LocatedEntity.h: Rename some member functions and templates
	  to make more sense and be consistent.

	* rulesets/Character.cpp, rulesets/Plant.cpp,
	  server/CorePropertyManager.cpp: Fix the code to use the new names.
2008-10-01 16:30:29 +00:00
Al Riddoch
f2706e8114 2008-09-29 Al Riddoch <alriddoch@googlemail.com>
* server/CorePropertyManager.cpp: Update operation handlers to access
	  properties in the cleanest most type safe way possible.
2008-09-29 02:53:33 +00:00
Al Riddoch
8ad9cac866 2008-09-27 Al Riddoch <alriddoch@googlemail.com>
* server/CorePropertyManager.cpp, server/CorePropertyManager.h:
	  Re-work the property manager to always create a property,
	  using closest match specialisations of the template where
	  possible. Replace all factories which did create DynamicProperty
	  objects with Property objects instead, as they are now functionaly
	  the same.
2008-09-27 16:22:40 +00:00
Al Riddoch
1f1d8fbdf8 2008-09-16 Al Riddoch <alriddoch@googlemail.com>
* server/CorePropertyManager.cpp: Add the simple property to the
	  property manager.
2008-09-16 18:40:22 +00:00
Al Riddoch
0cc641c014 2008-09-12 Al Riddoch <alriddoch@googlemail.com>
* rulesets/InternalProperties.cpp, rulesets/InternalProperties.h,
	  server/CorePropertyManager.cpp: Add a pair of new property classes,
	  one to schedule an immediate setup operation, and one to schedule
	  an immediate tick operation.
2008-09-12 01:32:03 +00: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
02cfd3ac39 2008-09-09 Al Riddoch <alriddoch@googlemail.com>
* server/CorePropertyManager.cpp: Replace the old transient property
	  and handler with the new one.
2008-09-09 18:07:35 +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
8863140a37 2008-09-03 Al Riddoch <alriddoch@googlemail.com>
* server/Persistance.cpp: Correct seem seriously wrong error
	  messages.
2008-09-03 22:53:58 +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
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
Al Riddoch
492380bea4 2007-12-20 Al Riddoch <alriddoch@zepler.org>
* common/PropertyFactory.h, common/PropertyFactory_impl.h,
	  rulesets/ActivePropertyFactory.h,
	  rulesets/ActivePropertyFactory_impl.h,
	  rulesets/EntityPropertyFactory.h,
	  rulesets/EntityPropertyFactory_impl.h,
	  server/CorePropertyManager.cpp:
	  Rename all property factory classes to have PropertyFactory as the
	  suffix.
2007-12-20 18:47:28 +00:00
Al Riddoch
f2b3cfe41e 2007-12-20 Al Riddoch <alriddoch@zepler.org>
* common/PropertyFactory.cpp, common/PropertyFactory.h,
	  rulesets/ActivePropertyFactory.h, rulesets/EntityPropertyFactory.h,
	  server/CorePropertyManager.cpp, server/CorePropertyManager.h:
	  Rename abstract base class for property factorys to PropertyKit.
2007-12-20 18:42:43 +00:00