cyphesis/rulesets/Makefile.am

137 lines
5.8 KiB
Text
Raw Permalink Normal View History

# SUBDIRS = astronomy skills
* rulesets/Py_Location.cpp: Added bbox and bmedian attributes of location object to python wrappers. * rulesets/Character.cpp: Added initialisation of bounding box median for characters. * modules/DateTime.*: Added configurability to date so that each period of time has definable number of divisions. Default is as per real world calendar restricted to 30 day months. * Added Fire operation handling to Thing class, so that any entity with a burn_speed attribute will burn. * Added Food C++ base class, which implements cooking. * Altered the semantics of the Eat/Fire/Nourish operations so multiple arguments are no longer required. from is used to determine the other entity involved. * Added the beginnings of an astronomy system, but not yet used anywhere. * Added appearance handling to BaseMind and Memory. * Added sequence no to all entities, which is incremented each time a move or set operation is received. sequence no "seq" is included in args of Appearance operations. * Moved functionality from Animal python base class into Character C++ base class. This much improves the performance of modelling animals, and means that player characters, and NPCs get hungry and need to eat. Reduced the speed at which animals consume energy so they don't starve quite as quickly. * Added collision prediction functions that handle both entities having velocity. * Added combine functionality to Stackable. Divide comes next. Once functional, this will become the base class for any items which will commonly be used as stacks. Al
2001-03-07 11:49:43 +00:00
2011-08-16 08:34:18 +01:00
AM_CPPFLAGS = -I$(top_srcdir) -I${top_builddir}
RULESETS = basic/mind mason minimal mars deeds
moduledir = $(datadir)/cyphesis/scripts/cyphesis
dist_module_DATA = basic/world/objects/Thing.py \
basic/world/probability.py \
basic/world/objects/__init__.py \
basic/editor.py
noinst_LIBRARIES = librulesetbase.a librulesetmind.a librulesetentity.a \
libscriptpython.a libentityfilter.a
librulesetbase_a_SOURCES = LocatedEntity.cpp LocatedEntity.h \
2004-11-02 17:52:19 +00:00
EntityProperties.cpp \
AtlasProperties.cpp AtlasProperties.h \
Container.cpp Container.h \
Script.cpp Script.h
2009-05-12 23:30:03 +01:00
librulesetentity_a_SOURCES = \
Entity.cpp Entity.h \
Thing.cpp Thing.h \
World.cpp World.h \
Character.cpp Character.h \
Creator.cpp Creator.h \
Plant.cpp Plant.h \
Stackable.cpp Stackable.h \
Motion.cpp Motion.h \
2009-05-08 15:48:35 +01:00
Domain.cpp Domain.h \
BulletDomain.cpp BulletDomain.h \
2012-11-23 16:11:21 +00:00
ExternalMind.cpp ExternalMind.h \
Movement.cpp Movement.h \
2004-11-02 17:52:19 +00:00
Pedestrian.cpp Pedestrian.h \
EntityProperty.cpp EntityProperty.h \
OutfitProperty.cpp OutfitProperty.h \
2004-11-02 17:52:19 +00:00
LineProperty.cpp LineProperty.h \
AreaProperty.cpp AreaProperty.h \
TerrainProperty.cpp TerrainProperty.h \
TerrainEffectorProperty.cpp \
TerrainEffectorProperty.h \
TerrainModProperty.cpp TerrainModProperty.h \
TerrainModTranslator.cpp TerrainModTranslator.h \
CalendarProperty.cpp CalendarProperty.h \
SolidProperty.cpp SolidProperty.h \
StatusProperty.cpp StatusProperty.h \
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
BBoxProperty.cpp BBoxProperty.h \
TransientProperty.cpp TransientProperty.h \
InternalProperties.cpp InternalProperties.h \
2005-12-30 Al Riddoch <alriddoch@zepler.org> * rulesets/Character.cpp, rulesets/StatisticsProperty.h, rulesets/StatisticsProperty.cpp: Add a property handler for statistics. * rulesets/Character.cpp: When setting task, check if an existing task needs to be cleared first. When clearing a task, check whether a task exists or not. * rulesets/Character.cpp: When initiating combat task from task factory, check to see if the task is successfully created before using it. * rulesets/Py_Property.cpp, rulesets/Py_Property.h: New python wrapper class for entity properties. * rulesets/Py_Mind.cpp: Re-work getattr logic to make it clearer. * rulesets/Py_Object.cpp: Return Py_None when an Atlas Element cannot be converted to python. This ensures that this function never returns null. * rulesets/Py_Statistics.cpp: Add temporary handlers for hardcoded statistics for "attack", "defence", and "strength". * rulesets/Py_Task.cpp: Add wrappers for methods Task.irrelevant and Task.obsolete, as these are now required in combat scripts. * rulesets/Py_Task.h: Fix the PyTask_Check macro, which was miscoded. * rulesets/Py_Thing.cpp: Add wrapper for Entity.send_world so that scripts can channel ops through entities. * rulesets/Py_Thing.h, rulesets/Py_Thing.cpp: Add an addition structure for directlty wrapping Character in a type safe way. Add method structure pointer to Entity and Character wrappers so that the same getattr method is used for both. Add new method table for Character including wrappers for set_task and clear_task, allowing task scripts to add themselves and remove themselves from characters. Modify wrapEntity() to ensure that Character entities get the right wrapper. * rulesets/Py_Thing.cpp: Re-work getattr code so that properties and soft attributes are checked individually, rather than in a single call to Entity.get. Use new python property wrappers to wrap properties explicitly if required rather than converting to Atlas then to generic Python data. * rulesets/TerrainProperty.h: Fix incorrect class description in documentation. * rulesets/mason/world/tasks/Combat.py: Complete implementation of simple example combat. * server/TaskFactory.cpp: Remove debug output.
2005-12-30 18:02:40 +00:00
StatisticsProperty.cpp StatisticsProperty.h \
TasksProperty.cpp TasksProperty.h \
SpawnProperty.cpp SpawnProperty.h \
VisibilityProperty.cpp VisibilityProperty.h \
ExternalProperty.cpp ExternalProperty.h \
2013-01-09 22:26:12 +00:00
BiomassProperty.cpp BiomassProperty.h \
BurnSpeedProperty.cpp BurnSpeedProperty.h \
2013-01-10 10:07:44 +00:00
DecaysProperty.cpp DecaysProperty.h \
Task.cpp Task.h \
ArithmeticScript.cpp ArithmeticScript.h \
ArithmeticFactory.cpp ArithmeticFactory.h \
SuspendedProperty.cpp SuspendedProperty.h \
SpawnerProperty.cpp SpawnerProperty.h \
ImmortalProperty.cpp ImmortalProperty.h \
RespawningProperty.cpp RespawningProperty.h \
DefaultLocationProperty.cpp DefaultLocationProperty.h \
DomainProperty.cpp DomainProperty.h \
LimboProperty.cpp LimboProperty.h \
PhysicalDomain.cpp PhysicalDomain.h \
VoidDomain.cpp VoidDomain.h \
ProxyMind.cpp ProxyMind.h \
InventoryDomain.cpp InventoryDomain.h \
TransformsProperty.cpp TransformsProperty.h \
ModeProperty.cpp ModeProperty.h \
ModeSpecProperty.cpp ModeSpecProperty.h \
ForcesProperty.cpp ForcesProperty.h \
PropelProperty.cpp PropelProperty.h
libentityfilter_a_SOURCES = entityfilter/Filter.cpp entityfilter/Filter.h \
entityfilter/ParserDefinitions.h \
entityfilter/Providers.cpp entityfilter/Providers.h \
entityfilter/Predicates.cpp entityfilter/Predicates.h
librulesetmind_a_SOURCES = BaseMind.cpp BaseMind.h \
MindFactory.cpp MindFactory.h \
MindProperty.cpp MindProperty.h \
MemEntity.cpp MemEntity.h \
MemMap.cpp MemMap.h \
mind/AwareMind.cpp mind/AwareMind.h mind/AwareMindFactory.cpp mind/AwareMindFactory.h \
mind/AwarenessStore.cpp mind/AwarenessStore.h mind/AwarenessStoreProvider.cpp \
mind/AwarenessStoreProvider.h mind/SharedTerrain.cpp mind/SharedTerrain.h
libscriptpython_a_SOURCES = Py_Message.cpp Py_Message.h \
Py_Operation.cpp Py_Operation.h \
Py_RootEntity.cpp Py_RootEntity.h \
Py_Oplist.cpp Py_Oplist.h \
Py_Vector3D.cpp Py_Vector3D.h \
Py_Point3D.cpp Py_Point3D.h \
Py_Thing.cpp Py_Thing.h \
Py_EntityWrapper.h \
2014-07-21 19:02:49 -04:00
Py_Filter.cpp Py_Filter.h \
Py_Map.cpp Py_Map.h \
Py_Quaternion.cpp Py_Quaternion.h \
Py_BBox.cpp Py_BBox.h \
Py_WorldTime.cpp Py_WorldTime.h \
Py_World.cpp Py_World.h \
Py_Location.cpp Py_Location.h \
Py_Task.cpp Py_Task.h \
2011-01-13 19:32:24 +00:00
Py_Shape.cpp Py_Shape.h \
2005-12-30 Al Riddoch <alriddoch@zepler.org> * rulesets/Character.cpp, rulesets/StatisticsProperty.h, rulesets/StatisticsProperty.cpp: Add a property handler for statistics. * rulesets/Character.cpp: When setting task, check if an existing task needs to be cleared first. When clearing a task, check whether a task exists or not. * rulesets/Character.cpp: When initiating combat task from task factory, check to see if the task is successfully created before using it. * rulesets/Py_Property.cpp, rulesets/Py_Property.h: New python wrapper class for entity properties. * rulesets/Py_Mind.cpp: Re-work getattr logic to make it clearer. * rulesets/Py_Object.cpp: Return Py_None when an Atlas Element cannot be converted to python. This ensures that this function never returns null. * rulesets/Py_Statistics.cpp: Add temporary handlers for hardcoded statistics for "attack", "defence", and "strength". * rulesets/Py_Task.cpp: Add wrappers for methods Task.irrelevant and Task.obsolete, as these are now required in combat scripts. * rulesets/Py_Task.h: Fix the PyTask_Check macro, which was miscoded. * rulesets/Py_Thing.cpp: Add wrapper for Entity.send_world so that scripts can channel ops through entities. * rulesets/Py_Thing.h, rulesets/Py_Thing.cpp: Add an addition structure for directlty wrapping Character in a type safe way. Add method structure pointer to Entity and Character wrappers so that the same getattr method is used for both. Add new method table for Character including wrappers for set_task and clear_task, allowing task scripts to add themselves and remove themselves from characters. Modify wrapEntity() to ensure that Character entities get the right wrapper. * rulesets/Py_Thing.cpp: Re-work getattr code so that properties and soft attributes are checked individually, rather than in a single call to Entity.get. Use new python property wrappers to wrap properties explicitly if required rather than converting to Atlas then to generic Python data. * rulesets/TerrainProperty.h: Fix incorrect class description in documentation. * rulesets/mason/world/tasks/Combat.py: Complete implementation of simple example combat. * server/TaskFactory.cpp: Remove debug output.
2005-12-30 18:02:40 +00:00
Py_Property.cpp Py_Property.h \
2010-09-18 19:59:40 +01:00
Py_TerrainModProperty.cpp \
Py_TerrainProperty.cpp \
Python_API.cpp Python_API.h \
Python_Script_Utils.h \
PythonClass.cpp PythonClass.h \
PythonContext.cpp PythonContext.h \
PythonWrapper.cpp PythonWrapper.h \
PythonEntityScript.cpp PythonEntityScript.h \
PythonArithmeticScript.cpp PythonArithmeticScript.h \
PythonArithmeticFactory.cpp \
PythonArithmeticFactory.h \
PythonScriptFactory.cpp PythonScriptFactory.h \
PythonScriptFactory_impl.h
dist-hook:
(cd $(top_srcdir)/rulesets && tar cf - `find $(RULESETS) -name \*.py`) | (cd $(distdir) && tar xf -)
install-data-local:
(cd $(top_srcdir)/rulesets && find $(RULESETS) -type d ! -name CVS | xargs -I PYRDIR $(install_sh) -d $(DESTDIR)$(datadir)/cyphesis/rulesets/PYRDIR)
(cd $(top_srcdir)/rulesets && tar cf - $(TAR_PERM_FLAGS) `find $(RULESETS) -name \*.py`) | (cd $(DESTDIR)$(datadir)/cyphesis/rulesets && tar xpf -)
rm -f $(DESTDIR)$(datadir)/cyphesis/rulesets/basic/world/__init__.py
rm -f $(DESTDIR)$(datadir)/cyphesis/rulesets/basic/world/__init__.py?
uninstall-local:
(cd $(top_srcdir)/rulesets && find $(RULESETS) -name \*.py | xargs -I PYRFILE rm -f $(DESTDIR)$(datadir)/cyphesis/rulesets/PYRFILE)
find $(DESTDIR)$(datadir)/cyphesis -type d -delete