Commit graph

16 commits

Author SHA1 Message Date
Al Riddoch
61009ef844 * Corrected broadcasting of non-perception operations to
non-perceptive entities.

	* Sorted out removing spaces from id strings.

	* Implemented Entity arguments to Operaiton creation in python.

My TODO list is now empty, but it still does not quite work.

Al
2000-12-03 23:17:52 +00:00
Al Riddoch
4b0b328c92 * Debugged set_kw() and confirmed that it does work.
* Added python API support for self.world.

Al
2000-12-03 16:56:10 +00:00
Al Riddoch
fbdb46ddc8 * Added support for varconf config files.
* Used config file to list enitity types and their python class files.

	* Cleaned up reference counting in Python API related C++ code.
	  References should all now be handled correctly.

	* Added support for adding None to Operation and Oplist.

Reference count changes have solved some segfaults I was getting. New
config files allows easy specification of rulesets, and has allowed
me to test the complete range of python entity classes used in Acorn.

Import hook code does not appear to work for classes imported directly using
python API calls.

Al
2000-12-03 14:23:26 +00:00
Al Riddoch
fda1182f78 * Added dictfunc functionality to Python interface.
* Added creation of Entities for use in Operation arguments.

	* Added initialisation of Vector3D through constructor
	  arguments in python.

	* Added append() method to python interface for Oplist.

	* Added support for coercion of operation into addable form.

Al
2000-12-01 00:13:39 +00:00
Al Riddoch
907455c4c8 * Added more required functionality to base python Thing class
so that operation manipulations can now work.

	* Implemented getting of object name to python/C API, and added
	  methods for differentiating between op and object.

	* Implemented on-the-fly de-coding of operations, from operation
	  arguuments in python/C API. This will be obsolete once Atlas-C++
	  does full decode later.

	* Implemented get and setattr for Message Object from
	  python. Attributes are stored both in Object, and in supplementary
	  python dictionary for non Atlas compatable attributes.

	* Implemented copy() method for Python/C Location class.

Al
2000-11-30 12:51:59 +00:00
Al Riddoch
ece4c15d3d * Added in debug function for python code.
* Fixed coersion of non-oplist types for addition.

	* Implemented getting attributes from Message::Object maps
	  from python.

It now crashes in the interlinguish code. Closer and closer.

Al
2000-11-29 18:02:01 +00:00
Al Riddoch
222786df66 * Added support for decoding Sound operations in BaseMind.
* Added Talk operation throughout operation handling code.

	* Added basic WorldTime class together with python wrapper.
	  Can fill in functionality as required.

	* Put debugging back in cos I still need it.

Python mind code now gets talk ops. Some tweaking still to go.
2000-11-29 15:19:36 +00:00
Al Riddoch
e635657e3f * Added in Python interface code to deal with manipulation of operation
time.

	* Made basic_tick a float, because it should be.

	* Imported all the rulesets python code from python cyphesis.

Al
2000-11-27 18:28:20 +00:00
Al Riddoch
7a4b45a702 * Fixed and changes to code so that operations created in python
mind code are delivered as required.

Only 6 days until I promised I would have this stuff working. Lets see how
whether I can keep my promises.
Al
2000-11-26 19:58:36 +00:00
Al Riddoch
e156a2b6f1 * Disabled some of the excessive debugging messages.
* Implemented getting and setting of to and from in operations
	  using map to lookup what the mind knows about the entities
	  in question. This involved adding an extra field to the
	  RootOperationObject structure to store to and from entities.

	* Sorted out base_init() python member so __init__() of all
	  classes in inheritance tree are called.

	* Started work on set_kw() replacement.

	* Added python module finding mechanism which is required to deal
	  with rulesets correctly. I am not convinced this works.

Al
2000-11-24 01:41:06 +00:00
Al Riddoch
f3d553368b * Filled out the python common.const module will all its values.
* Added code required to create an operation from with python.

	* Modified the Thing python interface so that python objects
	  that Atlas doesn't want to know about are stored in a normal
	  attributes list.

Al
2000-11-21 19:24:29 +00:00
Al Riddoch
5409647d65 * Added some more python interface classes. There is now enough code
here to start importing real mind code from cyphesis-py.

With a little bit of tweaking, I have now got the NPCMind code to import,
though it will almost certainly crash once you start trying to run
any methods.
2000-11-20 20:28:08 +00:00
Al Riddoch
f2928e6310 * Moved some of BaseMind functionality in a python class and
added the necessary interface code.

	* Initial port of MemMap class from python to C++, together with
	  python interface. Hopefully maintenance of MemMap can be kept
	  in C++ for speed if possible.

Al
2000-11-19 00:02:29 +00:00
Al Riddoch
24bd5394fb * Sorted out error handling from python code, and no-longer treat
no method as an error.

	* Got python interface code to the point that python classes can now
	  access the C++ attributes of a Thing.

	* Split the python interface code into separate files depending
	  on the type of C++ class the code relates to.

Al
2000-11-17 00:18:32 +00:00
Al Riddoch
af3f4366f6 * Added code for standard Get/Set methods for operations.
Eventually this functionality will be moved into getattr
	  and setattr methods.

	* Added code for a Thing object which wrappers a C++ Thing * pointer.

Al
2000-11-16 16:35:03 +00:00
Al Riddoch
6bb82c3197 * Added more Python/C API code. Basic framework now exists for
creating and manipulating Operations in the python code.

Al
2000-11-14 15:52:10 +00:00