Welcome to the STEPPER!Stepper is a floating dialog which lets you single-step through the execution of scene scripts. This might be useful when debugging your latest world.
The top half of the window is the current scene script (whatever is running at the time, if anything. However you go about starting up a script, it will appear here. However, if you edit your quest files, the changes will not appear here until the next time you execute the modified script)
The bottom half is a list of cookies and condition codes. This is not simply a list of all possible cookies and condition codes, only the ones which change/are used in the course of executing your script.
The window is resizable, but there is no splitter.
===================
HOW TO USE STEPPER:
1.) Invoke stepper first by typing "/stepper" This *is* a cheat and will mark your character.
2.) Stepper then "pauses" the script engine. (You can un-pause it either by closing stepper, or un-checking the pause checkbox.
3.) Trigger a script with "/scene 200" or stepping on a link, or whatever. For your convenience, I also support "/stepper 200" which both opens the stepper AND starts scene 200.
4.) Press the STEP button to let the script engine execute one command and then pause again. A cute green arrow points to the next command to be executed.
5.) Watch the cookie window for useful information about cookies and IF condition codes. Cookies are updated as the command is executed (not before)
6.) RIGHT-CLICK in the @label column to set and clear BREAKPOINTS (altogether now, fellow programmers, "ooooooh BREAKpoints... Dan is CLASSY!")
===========================
MISCELLANEOUS STEPPER FACTS
1.) Closing the stepper window un-pauses the scene (and clears out the stepper data)
2.) UnCheck the PAUSE checkbox to let the scene run full tilt, even with the stepper window open. Tons O' Fun.
3.) The green arrow points to the NEXT LINE TO BE EXECUTED. So when you press STEP, you are EXECUTING THAT LINE.
4.) Some commands take a moment to complete and pressing STEP again has no effect until they are done (WAIT and <Dialog> for example)
5.) The IF condition codes are shown in the cookie window, even though they are not actually cookies... And they are shown AFTER the line is executed.
So, given the script line
"IF -C1+V3, @label"
You must first step through the line and THEN the cookie window will be accurate with:
"IF: C1" = TRUE <-- tells you truth value of condition
"IF: V3" = FALSE
6.) Whenever a cookie/condition is used for the first time (since opening stepper), its value is placed at the top of the cookie window. If the cookie/condition is used again later, I just update the value of the existing line.
7.) If you RIGHT-CLICK in the @label column you can set/clear a "breakpoint" (red circle) on a line of the script. Then if you un-pause the script it will automatically pause when it gets to that line.
This is useful for stepping quickly to the bit of code you really need to test.
Breakpoints must be set each time you open the stepper window, or restart the scene. (I mean I don't remember them between invocations)
=============================
WHAT'S THE FUTURE OF STEPPER?
Well, first it's a cheat since it can allow a certain amount of lag-killing in the hands of a snert. In fact, I think I will only allow it in SOLO mode. Hope you'll forgive me.
But thoughts idling in my head are:
1.) double-click on a line to force execution to jump to that line.
2.) obviously it would be cool to be able to edit the script at the same time, but that probably will never happen (keep quest editor open and do the save/reload/scene N tango.) Stepper will automatically understand whenever you start a new scene and start stepping the new scene. I mean, you don't have to close stepper until you really want to.
3.) Maybe let you modify the content of a cookie. Or not. Whatever.
--------
And I think I just spent more time typing this than creating the feature. It was a very economical feature to add. But only because I am such a cool guy!
[This message has been edited by samsyn (edited 07-21-2001).]