* physics/Vector3D.h, physics/Vector3D.cpp: Move a bunch of inline
functions in the header to be non-inline in the body. Use
the forward declaraions in wfmath/const.h instead of having to
include the full headers.
* rulesets/Motion.cpp, rulesets/Motion.h, rulesets/Movement.h,
rulesets/Py_Point3D.h, rulesets/Py_Vector3D.h: Include wfmath
headers as required.
* modules/Location.h, rulesets/Py_BBox.h, rulesets/Py_Point3D.h,
rulesets/Py_Quaternion.h, rulesets/Py_Vector3D.h,
server/CommMDNSPublisher.cpp: Use double quotes not angle brackets
when including headers out of the cyphesis source tree.
rulesets/Py_Location.h, rulesets/Py_Map.h, rulesets/Py_Mind.h,
rulesets/Py_Object.h, rulesets/Py_Operation.h, rulesets/Py_Oplist.h,
rulesets/Py_Point3D.h, rulesets/Py_Quaternion.h,
rulesets/Py_RootEntity.h, rulesets/Py_Task.h, rulesets/Py_Thing.h,
rulesets/Py_Vector3D.h, rulesets/Py_World.h, rulesets/Py_WorldTime.h:
Re-wrote PyFoo_Check macros to comply with recent conventions
and be a little more efficient.
* rulesets/Py_Statistics.cpp, rulesets/PythonArithmeticScript.cpp,
rulesets/mason/world/statistics/Statistics.py: Remove lots of
debug output.
* rulesets/PythonArithmeticScript.h: Add an accessor to get to the
python object.
* rulesets/StatisticsProperty.h: Add an accessor to get to the
Statistics reference handled by this class.
* rulesets/Py_Property.cpp: Return the script for a statistics
object rather than creating a wrapper for it.
* client/CreatorClient.cpp, rulesets/Py_BBox.h, rulesets/Py_Optime.h,
rulesets/Py_Point3D.h, rulesets/Py_Quaternion.h,
rulesets/Py_Vector3D.h: Re-order Python.h includes to get rid of
some stupid warnings.
* rulesets/Py_World.cpp: Add a cast when passing float time to
WorldTime which takes in int.
* 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.