support spectral wizard game#192
Open
chameleonxxl wants to merge 9 commits into
Open
Conversation
… word-chunk delete
…props, keyPressed, rgb() whitespace
Contributor
Snapshot Test Report (native)All 2 snapshots match the reference images. Generated by CI — 2026-06-08T20:46:46Z |
Contributor
Snapshot Test Report (browser)1 of 171 snapshots differ from reference. Red pixels indicate changes. Generated by CI — 2026-06-08T21:00:33Z |
…ites (fix Pinball flipper frames)
|
So far, I've find found one remaining issue that affects gameplay: text interpolation doesn't work correctly. I can't send a screenshot now, but in dialogs where it should say a key binding, it shows §1, §2, etc. Thank you for your efforts! |
Collaborator
Author
|
I thought thats by design, didnt play so far in director. Can take a look on that later |
Director stores Lingo script (Lscr) string literals in Mac Roman on every platform, even Windows-packaged (XFIR) movies -- it kept Mac Roman as the canonical script-text encoding from its Mac origins. dirplayer decoded them via the Win-1252 fallback, so e.g. the section sign written in a literal as byte 0xA4 (Mac Roman §) became ¤ (U+00A4) instead of § (U+00A7). spectral-wizard's keybinding signs use §N placeholder tokens that a Lingo loop substitutes with key names; its guard `member(x).text contains "§"` compared the member text (correctly U+00A7) against the mis-decoded literal (¤), so it was always false and the tokens stayed literal on screen. Add a Mac Roman decode table + decode_text_auto_macroman (UTF-8 first, Mac Roman fallback) and route Lscr string literals through it via read_string_macroman. Member/field text decoding is unchanged. Matches ProjectorRays' Lscr string handling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

cb99f1f flash: queue setVariable before Ruffle instance is ready
b08d5d8 player: reset invisible exited sprites on frame re-entry, text hit-test core
d49f36f render: webgl2 text bg-fill/NotCopy/scrollTop, stage image, render loop
911a14d lingo: inflate/pointToChar/scrollByLine/charPosToLoc builtins, movie props, keyPressed, rgb() whitespace
e032691 text/field: hyperlinks, per-run styling (color/size/font), scrolling, word-chunk delete
64b7578 bitmap: alpha compositing (ink0 blend, quad blit), copyPixels fill shapes
a9dd7d6 vectorshape: FLSH parser, Lingo getters/setters, vertex/handle refs
fixes #189