Python Bindings for Cel and CrystalSpace
CrystalSpace and Cel both have their own scripting bindings. The modules are pretty extensive and should give you access to most of the c++ api.
The CrystalSpace python module is called cspace, and the cel counterpart is blcelc. Also, a slightly higher level module is available in cel for entity behaviours, called pycel.
Additionally there exists a module called pycscegui in standard cs distribution that wraps the cegui-cs connector, plus the pycsextra module in CSExtra repository wrapping some additional plugins there, notably the cs-qt connector.
Python Prerequesites Getting python to work with cs
Introduction to the Python Bindings General remarks
Python Mini Howtos Little howtos about doing things.
Using callback interfaces from python Document on using callbacks
Python Property Classes Creating property classes from python.
Generating wrappers for your own cs plugins/apps How to guide on generating wrappers for external projects that will work with the cs ones.
Compiling Python binding MSVC How to guide on compiling python bindings on MSVC
Pure Python CrystalSpace tutorial apps
You can find them at scripts/python/ with cs sdk.
- tutorial0.py: minimal pure-Python script to setup Crystal Space from Python.
- tutorial1.py: Creates a room and allows moving around.
- tutorial2.py: Creates a room and some object.
- tutorial3.py: Loads a whole world.
- tutorial4.py: Nicer way of doing an app (on cs 1.3 onwards).
- pyceguitest.py: An example loading a cegui interface.
- csutils.py: Helper module with a base python app you can inherit from, used by tutorial4 (on cs 1.3 onwards).
Celstart Tutorial apps
Some simple celstart applications to get you started.
- playertest.zip: A player moving around.
- lookat.zip: A player and several cubic entities looking at him.
- odetest.zip: A player and some physics enabled objects.
- particles.zip: A player and several particle systems.
- quests.zip: A player, and some quest controlled objects (a door and some pickables).
Note all of these examples are generated from .blend sources using blender2crystal.
There are also many example behaviours at the cel library (data/library/blpython in cel sdk)
Projects using CrystalSpace and Python
Do Let Us Know at the mailing list or irc channel if you want your project listed here.