Skip to content

Release 3: Darkmode, splash screen, bugfixes, more languages

Choose a tag to compare

@fredrikr fredrikr released this 04 Mar 19:23
· 907 commits to master since this release

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.