Skip to content

support spectral wizard game#192

Open
chameleonxxl wants to merge 9 commits into
igorlira:mainfrom
chameleonxxl:cham/issue-189
Open

support spectral wizard game#192
chameleonxxl wants to merge 9 commits into
igorlira:mainfrom
chameleonxxl:cham/issue-189

Conversation

@chameleonxxl

Copy link
Copy Markdown
Collaborator

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

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Snapshot Test Report (native)

All 2 snapshots match the reference images.

Generated by CI — 2026-06-08T20:46:46Z

View full run & download artifacts

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Snapshot Test Report (browser)

1 of 171 snapshots differ from reference. Red pixels indicate changes.

Snapshot diffs

Generated by CI — 2026-06-08T21:00:33Z

View snapshot report · View full run & download artifacts

@JaredDemars

Copy link
Copy Markdown

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!

@chameleonxxl

Copy link
Copy Markdown
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spectral Wizard

2 participants