SPECIAL_COMMANDS
These are advanced options that you can use inside of print()
to change certain settings.
Here are the Control Codes:
\0 | terminate printing |
\* | repeat next character this number of times. |
\# | draw solid background with this color number. |
\- | shift cursor horizontally by a value minus 16 pixels |
\| | shift cursor vertically by a value minus 16 pixels |
\+ | shift cursor by two values minus 16 pixels on X and Y axes. |
\^ | special commands (more below) |
\a | audio commands (more below) |
\b | backspace |
\t | tab |
\n | newline |
\v | decorate previous character (more below) |
\f | set foreground colour (text color) |
\r | carriage return (move cursor to start of same line) |
\014 | switch to custom font (memory 0x5600) |
\015 | switch to default font |
Some of the above commands take one or two values (similar to arguments passed to functions) immediately after the code to alter how it affects your print string or other settings.
These values can be given as single digits (0-9). Higher values can be given using letters (similar to hexidecimal code). So a=10, b=11, all the way to z=35.
Examples:
print("print this \0 but don't print this")
--print this
- This will stop printing at the "\0" in the string.
print("\*5abc")
--aaaaabc
- This will duplicate the letter A, 5 times.
print("\*a123")
--111111111123
- This will duplicate the number 1, A times (which is 10).
print("print this\b")
--print thi
- This will remove the character just before the "\b".
print("start here \n continue here")
--start here
--continue here
- This will begin printing on the current line, then move the cursor down and continue printing on the next line.
print("start \t continue")
--start continue
- This will indent 11 pixels then continue printing the string.
\^
These special commands begin with "^" and then take one or two parameters immediately after.
\^# | Skip this # of frames where [1,2,3,4...9] = [1,2,4,8...256] |
\^c# | Clear the screen to color #, and reset cursor to (0,0) |
\^d# | Set the delay to this # of frames for every character printed. |
\^g | Move the cursor position to home. |
\^h | Set the current cursor position as home. |
\^j## | Jump the cursor this first # (0...9) of pixels times 4 to the right, and this second # (0...9) of pixels times 4 down. |
\^r# | Set the character wrap boundary to this # times 4 |
\^s | set tab stop width to p0 pixels used by t |
\^x | set character width default 4 |
\^y | set character height default 6 |
Enable these Rendering Options (disable with prefix -) | |
\^w | print in wide mode: characters scaled by 2x1 pixels |
\^t | print in tall mode: characters scaled by 1x2 pixels |
\^= | print in stripey mode: drawn only even pixels when wide or tall |
\^p | print in pinball mode: wide, tall, and stripey modes combined |
\^i | invert the foreground and background colors |
\^b | toggle a 1 pixel border padding on left and top (default on) |
\^# | (use the actual # symbol) enable solid background, disabled by default |
All of these control codes help you customize the text in your game without spending many tokens. However, it can be tedious to figure out and make the string of text hard to read. Luckily, there is a tool to help you out! This is a WISYWIG (what you see is what you get) editor where you can type in your text, and change the control codes with simple buttons and see exactly how your text will look. It even as layers and lets you copy the string so you can paste it right in your game where you want it.
1672
19 Dec 2024