Main window

The main debugger window is shown below; its menu is shown later.

[ImageMap]


Message box

This text box is used by the debugger to show certain key messages, such as the text of "debug" and "notify" events, when alarms are set or cancelled, etc.


Halt

This button will stop the processing of FKISS events and actions at the first possible instant; this is usually when the action currently being processed is completed.


Go

This button will start restart the processing of FKISS events after a halt.
NB The debugger is always started in a halted state


Step

The action of this button depends on the setting of the radio box to its right; if "Action" is selected, only one action is processed, but if "Event" is selected, actions will be processed until the next event is triggered.


Step type

This radio box governs the behaviour of the "Step" button.


Browse

This button opens the script browser window.


Script window

This window displays the event currently being processed, and its associated actions. The action that is about to be processed is marked by an arrow "->" symbol.


Main window menu

The debugger script window has an attached menu, which looks like this:

[ImageMap]


Log

The log menu item leads to a normal RISC OS "Save As" box. Dragging the file icon to a directory viewer will log each FKiSS event and action processed to that file, plus a number of (hopefully) useful diagnostic messages. While logging, the "Log" menu item will be ticked. If the menu item is selected (clicked on), logging will stop. It is worth closing the log file and re-opening a new log file before loading a new doll, to save the output from one run being appended to that for an earlier run.

The Save As box has one oddity, an option button labelled "Active". If this is ticked, MakeKISS will not keep the file open between writes, so it can be opened by an editor while MakeKISS is still running. This is often useful, but it significantly slows down the logging process.


Stack

When an FKISS script is running, it is not uncommon for it to trigger other events; for example, a "@move()" action may trigger a "@collide()", and so on. This is particularly likely with the French KiSS version 3 (FKISS3) "@gosub()" and "@goto()" actions.

The FKISS engine at the heart of FKISS viewers implement this using a stack mechanism, to ensure that processing can continue at the correct place after the internally-generated event finishes.

The "Stack" menu item allows the user to view the current state of this stack - it leads to a submenu which shows (in reverse order) the events and actions currently on the stack. Selecting from this submenu will display the selected event in the main script window (note, however, that at this time there is no way to discard any outstanding actions - when you Step or Go, processing will continue from the place the FKISS engine had reached, which is not necessarily that displayed in the window).


Queue

As well as an event stack, MakeKISS (and PlayKISS) implements a queue of events that are outstanding. Due to the way some events are implemented, it is possible for some events to be triggered while the debugger is halted. The "Queue" menu item displays these pending events. Unlike the stack, however, selecting an item from the Queue submenu will have no effect.


Timers

Selecting this menu item will display the Alarms window.


FK3 variables

Selecting this menu item will display the FKiSS3 variables window. If the current doll does not use version 3 of the FKISS scripting language, this menu item will be faded.

[ Top ]