* rulesets/Py_Operation.cpp: Don't create a message list when
adding an operation to none, just return the operation. This
should result in a small performance improvement.
* rulesets/Py_Oplist.cpp, rulesets/Py_Operation.cpp: Use the python
hex version, as its more reliable for comparison when setting up
typedefs for older python versions.
* common/random.h: Use the C++ version of stdlib.h.
* rulesets/Py_BBox.cpp, rulesets/Py_Location.cpp, rulesets/Py_Map.cpp,
rulesets/Py_Mind.cpp, rulesets/Py_Object.cpp,
rulesets/Py_Operation.cpp, rulesets/Py_Oplist.cpp,
rulesets/Py_Optime.cpp, rulesets/Py_Quaternion.cpp,
rulesets/Py_RootEntity.cpp, rulesets/Py_Task.cpp,
rulesets/Py_Thing.cpp, rulesets/Py_World.cpp,
rulesets/Python_API.cpp: Replace calls to PyMem_DEL with calls
to PyObject_Free. Thanks to Kai for doing most of the digging
on this one.
* rulesets/Py_Operation.cpp: Fix formatting of comments.
* rulesets/Py_Oplist.cpp: Adapt sequence methods to be compatible
with the new interface typedefs in Python 2.5
* configure.ac: Add Python 2.5 to the versions detected by configure.
* rulesets/Py_Operation.cpp: Adapt sequence methods to be compatible
with the new interface typedefs in Python 2.5
* client/Py_CreatorClient.cpp, rulesets/Py_Map.cpp,
rulesets/Py_Operation.cpp, rulesets/Py_Oplist.cpp,
rulesets/Py_Point3D.cpp, rulesets/Py_Vector3D.cpp,
rulesets/Py_WorldTime.cpp, rulesets/Python_API.cpp:
Convert functions that take a single argument to use METH_O
and avoid calling PyArg_ParseTuple.
* rulesets/Py_Point3D.cpp, rulesets/Py_Vector3D.cpp,
rulesets/basic/mind/goals/common/move.py: Rename
unit_vector_to_another_vector to unit_vector_to.
* rulesets/mason/world/tasks/Combat.py: Expand the sample combat
to include tick ops.
* rulesets/Python_API.cpp, rulesets/Py_Operation.cpp: Add necessary
handlers for sub_to attribute on operations.
* rulesets/Character.cpp: Adapt test code for combat scripts to
the latest task API.
* rulesets/Py_Operation.h, rulesets/Py_Operation.cpp: Remove reference
ownership flag, and from and to pointers from the python operation
structure.
* rulesets/Py_Map.cpp, rulesets/Py_Oplist.cpp,
rulesets/PythonMindScript.cpp, rulesets/PythonThingScript.cpp,
rulesets/Python_API.cpp: Remove all usage of own, from and to.
* rulesets/basic/mind/NPCMind.py,
rulesets/basic/mind/goals/common/misc_goal.py,
rulesets/basic/mind/goals/humanoid/mason.py,
rulesets/basic/mind/goals/humanoid/transaction.py,
rulesets/mason/world/objects/clothing/Garment.py,
rulesets/mason/world/objects/plants/seeds/Acorn.py,
rulesets/mason/world/objects/plants/seeds/Apple.py,
rulesets/mason/world/objects/plants/seeds/Fircone.py,
rulesets/mason/world/objects/tools/Bucksaw.py,
rulesets/mason/world/objects/tools/Cleaver.py,
rulesets/mason/world/objects/tools/Trowel.py: Modify all scripts
so they expect from and to of ops to be an ID string rather than
an entity.
* rulesets/Py_Operation.cpp: Return entity arguments as RootEntity
rather than MessageElement.
* rulesets/Py_RootEntity.cpp: get_name() returns "obj" as it should
rather than "op". Add warnings if unknown attributes are requested
or set.
* rulesets/Python_API.cpp: Accept RootEntity python wrapped
objects as arguments to operations.
* rulesets/Py_Operation.cpp: Decref operations correctly when the
Python object wrapping them is deleted.
* rulesets/mason/define_world.py: Add a simple single entity
test function.
* server/WorldRouter.cpp: Make sure orientation is not used
un-initialised when correcting height.
* common/custom.cpp: Install an atlas factory for custom op as a test.
* rulesets/Py_Operation.cpp: Improve error reporting.
* rulesets/Python_API.cpp: Fix bug where arguments to ops were
ignored.
* rulesets/Py_Operation.cpp, rulesets/Py_Optime.cpp,
rulesets/Py_Optime.h rulesets/Python_API.cpp:
Remove the Optime class from the API and force scripts to use
setFutureSeconds() to modify operation dispatch time.
* rulesets/acorn/world/objects/Weather.py,
rulesets/acorn/world/objects/plants/Tree.py,
rulesets/acorn/world/objects/plants/seeds/Acorn.py,
rulesets/acorn/world/objects/plants/seeds/Apple.py,
rulesets/acorn/world/objects/plants/seeds/Seed.py,
rulesets/basic/mind/NPCMind.py,
rulesets/basic/mind/goals/common/move.py,
rulesets/basic/world/objects/animals/Animal.py,
rulesets/basic/world/objects/buildings/House.py,
rulesets/basic/world/objects/elements/Fire.py,
rulesets/basic/world/objects/plants/Tree.py,
rulesets/basic/world/objects/tools/Bow.py,
rulesets/mason/world/objects/Weather.py,
rulesets/mason/world/objects/plants/seeds/Acorn.py,
rulesets/mason/world/objects/plants/seeds/Apple.py,
rulesets/mason/world/objects/plants/seeds/Fircone.py,
rulesets/mason/world/objects/plants/seeds/Seed.py:
Fix up all the python scripts to use setFutureSeconds on
ops instead of time.sadd.
* rulesets/Py_Location.cpp, rulesets/Py_Map.cpp, rulesets/Py_Mind.cpp,
rulesets/Py_Object.cpp, rulesets/Py_Operation.cpp,
rulesets/Py_Quaternion.cpp, rulesets/Py_Thing.cpp,
rulesets/Py_Vector3D.cpp, rulesets/Python_API.cpp:
Change some methods to use METH_NOARGS for simplicity.