Scripting is based on LUA, see for basic syntax.

== The following commands are specific to BlinkenSisters: ==

* Die(err)
Quits BlinkenSisters with an error-string "err"

* gfxhandle = LoadGFX(gfxname)
Loads graphic-file gfxname and returns its handle

* objhandle = AddObject(gfxhandle, x, y, blocking, visible, ontop)
Add an object with graphic gfxhandle at coordinates x/y (in tile-coords)
Object can be blocking (=1) or non-blocking (=0)
Object can be visible (=1) or non-blocking (=0)
Object is rendered normal (=0) or on top of everything (=1)
(Invisible objects are ALWAYS non-blocking)

* SetVisible(visible)
Sets the visibility of an object

* SetBlocking(blocking)
Sets the blocking property of an object

* SetOnTop(ontop)
Sets the ontop property of an object

* SetGFX(objhandle, gfxhandle)
Sets graphics for an object objhandle to graphic gfxhandle

* fxhandle = LoadSoundFX(fxname)
Load sound effect fxname and returns its handle

* PlaySoundFX(fxhandle)
Plays the sound with fxhandle

* IncMaxPixels(count)
Increments the pixelcount needed to finish the level by count

* AddPixel(x, y)
Adds a pixels at x/y
Does NOT increment the pixelcount needed to finish the level

* AddBonusLive(x, y)
Adds a bonus live object at x/y

== Required functions/callbacks for BlinkenSisters ==

* initLevel()

This is called on level initialization. This is where you pre-load sounds
and graphics.

* scriptPhysics()

This is called 50 times/second. Here you can handle all your cyclic events

* handleAction(objhandle)

Whenever the user presses the Action-key on top of an object, this function
is called with the appropriate object handle.
