I’m trying to learn how to use Bisquixe. I am working on a title screen. I want to hide status line.
I think the best way to do this is with Basic Screen Effects, since this is a core Inform capability, rather than something Bisquixe-specific.
Thank you. Sorry new at this, forgive my dumbness = )
Nothing to apologize for! We were all new at this at some point. If Basic Screen Effects doesn’t do what you want, let us know and we can figure out a Bisquixe solution.
thank you. I been playing around with inform for a few week, trying to make a title screen with status line hide is the hardest thing i have come across
would love to have this shogun style title?
The Interactive Fiction Technology Foundation (IFTF) helps ensure the ongoing maintenance, improvement, and preservation of the tools and services crucial to the creation and distribution of interactive fiction, as well as the development of new projects to foster the continued growth of this art form.
Surely you’re all familiar with the Shogun title screen?
1.6kviews
1 / 4
Oct 2014
1
You know, the one that looks like this?
I’ve been looking at Jon Ingold’s Title Page extension and I thought to myself, “surely we can get closer.”
So I got closer.
Pro:
- Only redraws the bits that change – the actual menu list.
Con:
- Glulx only
- Not very extendable.
Slightly bad-in-places full code in the spoiler ↴
…it WAS a spoiler.
"Test" by Kawa
Include Basic Screen Effects by Emily Short.
Include Glulx Text Effects by Emily Short.
Include Flexible Windows by Jon Ingold.
Table of User Styles (continued)
style name reversed justification
special-style-1 true --
special-style-2 false center-justified
The splash-menu-window is a text-buffer g-window.
The main-window spawns the splash-menu-window.
The position of the splash-menu-window is g-placebelow.
The scale method of the splash-menu-window is g-fixed-size. The measurement of the splash-menu-window is 4.
The splash-prompt-window is a text-buffer g-window.
The splash-menu-window spawns the splash-prompt-window.
The position of the splash-prompt-window is g-placeleft.
The scale method of the splash-prompt-window is g-proportional. The measurement of the splash-prompt-window is 40.
The current splash option is a number that varies. The current splash option is 1.
Window-drawing rule for the splash-menu-window:
move focus to the splash-menu-window, clearing the window;
[This could be done better but so far, the output's good.]
say "[if the current splash option is 1][special-style-1][end if]START the game [roman type][line break]";
say "[if the current splash option is 2][special-style-1][end if]RESTORE a saved game [roman type][line break]";
say "[if the current splash option is 3][special-style-1][end if]QUIT the game [roman type][line break]";
Window-drawing rule for the splash-prompt-window:
move focus to the splash-prompt-window, clearing the window;
say "You may choose to:";
To show the splash screen:
clear the screen;
[I don't even know why I copypasted the Shogun credits here. Let's just claim demonstrative purposes.]
say "[line break][special-style-2]SHOGUN[line break]A Story of Japan[line break]Copyright (c) 1988 by Infocom[line break]All rights reserved.[line break]SHOGUN is a trademark of James Clavell[line break]Original Literary Work Copyright 1975 by James Clavell[line break]Licensed by Noble House Trading Limited, London.[line break]Release 292 / Serial number 890314[line break]IBM Interpreter version 6.70[roman type]";
shut down the status-window;
open up the splash-menu-window;
open up the splash-prompt-window;
while the splash-menu-window is g-present:
follow the window-drawing rules for the splash-menu-window;
let X be the chosen letter;
if X is -6: [activate this selection]
if the current splash option is:
-- 1: shut down the splash-menu-window;
-- 2:
shut down the splash-menu-window;
follow the restore the game rule;
move focus to the main-window, clearing the window;
try looking;
-- 3: stop game abruptly;
else if X is -4: [up]
if the current splash option > 1:
decrease the current splash option by 1;
else:
now the current splash option is 3;
else if X is -5: [down]
if the current splash option < 3:
increase the current splash option by 1;
else:
now the current splash option is 1;
else if X is -8 or X is 81 or X is 113: [select QUIT]
now the current splash option is 3;
open up the status-window;
move focus to the main-window, clearing the window;
When play begins:
show the splash screen;
The echo chamber is a room. "Something test-like about this place...".
i tried this code and i get this message Problem. The sentence ‘The splash-menu-window is a text-buffer g-window’ appears to say two things are the same - I am reading ‘splash-menu-window’ and ‘text-buffer g-window’ as two different things,
One way to get rid of the status line is:
Rule for constructing the status line:
do nothing;
If you want to have it be gone only for a little bit and come back for the main game, you can do something like this:
iwantline is initially false.
Rule for constructing the status line when iwantline is false:
do nothing;
and you can have it come back by changing the variable anywhere, for instance like this:
when play begins:
wait for any key;
now iwantline is true;
thank you.
That still leaves, iirc, a blank empty line where the status line is. I think? To actually have nothing there is tricky. I got this code from @rileypb a while back.
Include
(-
[ InitStatusWindow sty;
if (gg_statuswin == 0) {
statuswin_cursize = statuswin_size;
if (0) {
for (sty=0: sty<style_NUMSTYLES: sty++)
glk_stylehint_set(wintype_TextGrid, sty, stylehint_ReverseColor, 1);
}
gg_statuswin =
glk_window_open(gg_mainwin, winmethod_Above | winmethod_Fixed, statuswin_cursize, wintype_TextGrid, GG_STATUSWIN_ROCK);
}
];
-)
To close the/-- status window:
(- if (gg_statuswin) glk_window_close(gg_statuswin, 0); gg_statuswin = 0; -)
hiding the status line is an action applying to nothing.
revealing the status line is an action applying to nothing.
To initialize/initialise the/-- status window:
(- InitStatusWindow(); -)
Carry out hiding the status line:
close the status window;
Carry out revealing the status line:
open the status window;
To open the/-- status window:
initialize the status window;
With this in place, you can say things like
first when play begins:
try hiding the status line.
or
last when play begins:
try revealing the status line.
It’s Phil’s code, I can’t take credit! But it’s been a big help to me.
thank you.
By the way, I know your questions was answered m, but since you specifically asked for a bisquixe way, I’ll post one in case someone else has the same question later.
From BJ Best’s guide, I found the line:
Thank you. bisquixe makes my game look nice.
= ) about done. Is there away to position the room location to center of status line instead of left?
Example 115 in Writing with Inform covers this:
If we want to lay out the status line in some other way than with left-hand and right-hand entries, it is possible to do this as well. Later we will learn about the “rule for constructing the status line”, but here is a basic effect using this rule and an Inform extension included as part of the standard distribution, called Basic Screen Effects.
When play begins: say "After months of boring through the Earth's crust in this metal-jawed vehicle, you break through..." The Hollow Core is a room. "Truly a magnificent sight: the land curves up away from you in every direction, covered with the cities and fields of the Core People. Molten rock runs in the canals, bringing heat and light to every home. At the center of the Earth hangs a dense black sun." Include Basic Screen Effects by Emily Short. Rule for constructing the status line: center "[location]" at row 1; rule succeeds. Test me with "look".
Basic Screen Effects also provides a mechanism for building complicated status lines of more than one row. To read its documentation, we include the extension, press Go!, and then consult the contents index that results.