Lingo and VM additions for Bionicle Attic Media#85
Open
matthewdean wants to merge 17 commits intomainfrom
Open
Lingo and VM additions for Bionicle Attic Media#85matthewdean wants to merge 17 commits intomainfrom
matthewdean wants to merge 17 commits intomainfrom
Conversation
Adds `the keyPressed` which returns the last key including non-ASCII characters (D5+ behavior). Also adds `key_pressed()` to KeyboardManager. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Matches Director behavior: `the key` returns empty string for non-ASCII key presses. Use `the keyPressed` for full Unicode support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Routes getPos() calls to the appropriate list/propList handler based on datum type. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The setter was hardcoding "title" instead of using the provided value. Now correctly stores the string value from the Lingo assignment. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Accepts ColorRef or integer palette index values for setting the stage background color. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previously only lists of length 2 were handled (as pseudo-points). Now element-wise multiplication works for lists of any size, fixing errors like [142, 166, 69] * 14. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds push_var_ref() to the stack bytecode handler and implements symbol-based resolution for global (0x1/0x2) and property/instance (0x3) variables in both get and set paths. Symbols pushed by PushVarRef are resolved by name rather than numeric index. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add "member" and "put" to reserved_keyword list. Use atomic &reserved_keyword positive lookahead on castlib_ref, member_ref, sprite_ref, field_ref, and chunk_type rules to enforce word boundaries correctly — pest's implicit whitespace insertion in non-atomic rules breaks the simpler word_boundary approach. Remove now-redundant !^"put" and !^"set" guards from handler_call and command_inline since lang_ident already excludes reserved keywords. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
Notes
All changes are meant to be safe Lingo/VM additions that should not break existing movies. This is part 1 of a series splitting the bionicle-atticmedia branch into reviewable PRs.
Test plan
wasm-pack build --dev --target web🤖 Generated with Claude Code