I7 - A debugging command for scenes?

For Inform 7.

I’m trying to debug some scene-dependent stuff in a game in progress, and I need a way to start and stop scenes on command. (yes, I know that SCENES ON/OFF tells me which scenes are happening, but it doesn’t let me force start/stop.)

specifically, the scenes I’m working on are recurring Day and Night scenes.

Right now I’ve created a workaround, specifically a magic rod that stops Day and starts Night (or vice versa) when waved. (Inexplicably the game keeps starting at Night, or even starts Day and Night simultaneously. Still trying to unravel that one…) But I’m wondering if there is simply a debug command I’ve missed.

Incidentally, there really should be a 1-page quick ref list of debugging commands somewhere in the manual, maybe at the end of the “Testing and Debugging” chapter. Unless there is one and I just completely overlooked it like a moron, of course.

Unfortunately there is no such command, as scene names aren’t something that can be parsed. Your workaround with the magic wand, plus the scene index, is the best you can do at the moment.

You could code it so scenes cue each other and can’t happen simultaneously:

[code]Day is a recurring scene. Night is a recurring scene.

Day begins when play begins.

Day begins when Night ends. Night begins when Day ends.

Night ends when the time of day is 5:00 A.M. Day ends when the time of day is 5:00 P.M.

Every turn when Day is happening and Night is happening or Night is not happening and Day is not happening:
say “***DEBUG hey…something has gone wrong with the sun.”[/code]

Sorry to slightly derail, but would it be possible to write that last rule as

Every turn when (Day is happening and Night is happening) or (Night is not happening and Day is not happening):


I’m never sure about these things, and I’m still not entirely sure on parenthesis usage in I7 in these cases. I was just wondering whether it was possible to use them in this case, so that there is no chance that I7 will confuse things. Trappings of the natural language…

I haven’t tested, but it’s usually possible to use parentheses in this way. One that I’ve actually used is;

otherwise if (tracing from feature is false or partial obstructor is nothing) and there is a feature entry

and I don’t think there’s a relevant difference.

Handy to know. Many thanks!