Release 3: Darkmode, splash screen, bugfixes, more languages
Features
-
Added a secondary, configurable, colour scheme called Darkmode, which the player can toggle with the F1 key.
-
Added a configurable and optional splash screen which is displayed just before the game starts. The game starts after a few seconds or when the user presses a key. By default it shows the Ozmoo version and the instruction to use F1 to access Darkmode.
-
Time display on statusline in z3 games has been changed to AM/PM format and made to show 99:99 PM when the player doesn't hold the watch in Cutthroats.
-
Added filtering of ZSCII characters which can't be handled in output. They will now be omitted in production builds, and printed as hex codes "/ff/" in Debug mode.
-
Added fonts and character mappings for Italian, Danish, Spanish and French (in addition to German and Swedish which were already supported).
-
Added modified versions of the system font for several languages.
-
Updated several fonts.
-
Added a build flag in code (SMALL_CODE) which eliminates most runtime error checks in order to save about 120 bytes.
-
Put the story file first on a d81 disk image instead of the partition. This enabled Vice to load the right file when loading "*" even without true drive emulation.
Fixed bugs
-
A paragraph ending with a character in the last screen column would not get a newline.
-
A custom alphabet could change the meaning of character 7 in alphabet A2. This character should always be a newline.
-
@buffer_mode always flushed the print buffer, and printed the contents to the current window.
-
Time display in z3 games with time on statusline has been bugfixed.
-
Bug in @scan_table.
-
Bug in @set_font.
-
Numerous bugs in @print_table.
-
Bugs in wordwrap after player input and when text buffering started in column > 0.
-
Bug in @Tokenise which could make it mistakenly think there was a user dictionary.
-
Bug in quickindex, a shorthand list of recently used blocks in virtual memory, which made it think it had found a block if it found one with the same address modus 65536.
-
make.rb crashed when building a three-disk game.
-
Fixed spurious characters being output at start of game on an Ultimate 64.
-
make.rb silently clipped a story file after 51 KB in single file build mode.
-
@erase_line always erased the whole line, when it should erase from cursor.
-
Cursor started at bottom of screen in z5 games, when it should start at top.
-
Splitscreen in z3 games was working but the terp told the games it didn't support it, so the splitscreen sonar display in Seastalker didn't work.
-
£ character wasn't mapped, so games could not display it and it wouldn't be recognized in player input.
-
We used a graphic character to represent the backslash character. We have now edited all fonts included with Ozmoo to make it look like a real backslash character.
-
Pipe character was incorrectly mapped for output to the graphic character that looks like a pipe character, even for languages where that character has been repurposed as an accented character. Pipe character has instead been mapped to another graphic character with a vertical bar but to the left instead of in the middle of the 8x8 matrix.
-
We didn't have input mapping for backslash, underscore and pipe character so if you managed to type them at an input prompt, a game still couldn't recognize them.
-
@print_table printed too many characters if it encountered an illegal ZSCII code, due to a bug in translate_zscii_to_petscii.