Skip to content

Add game binaries, test infrastructure, and runtime fixes#78

Merged
corepunch merged 11 commits into
mainfrom
feature/test-and-game-updates
Jul 9, 2026
Merged

Add game binaries, test infrastructure, and runtime fixes#78
corepunch merged 11 commits into
mainfrom
feature/test-and-game-updates

Conversation

@corepunch

Copy link
Copy Markdown
Owner

Summary

This PR adds compiled game binaries, comprehensive test infrastructure, and several runtime/compiler fixes across multiple Infocom adventures.

Changes

Game Binaries & Test Transcripts

  • Added compiled Z3/Z6 binaries for Zork I, II, III, Spellbreaker, Planetfall, and Lurking Horror
  • Added Frotz test transcripts and auto-generated test ZIL files for each game
  • Added Limehouse Killings adventure (from commit 224f69d)

Test Infrastructure

  • Updated with new test targets
  • Enhanced for test orchestration
  • Added and
  • Added
  • Added (710 lines)

Runtime & Compiler Fixes

  • Updated (254 lines changed)
  • Updated (40 lines)
  • Updated (17 lines)
  • Updated

Documentation

  • Updated (26 lines)
  • Added
  • Added (10,654 lines)

Housekeeping

  • Added ".zip" to and removed from tracking

corepunch added 11 commits July 9, 2026 12:13
- Add ZIL test files for Infocom games (Zork1-3, Planetfall, Spellbreaker, Lurking Horror)
- Add game data files (.z3, .zip) for Infocom games
- Update runtime, compiler, and bootstrap modules
- Add documentation files (Internal Secrets, ZILF Reference Guide)
- Add transcript recording and test generation scripts
- Update testing documentation and Makefile
- test_compiler.lua: match actual error wrapping format from compileRoutine
- test_sourcemap_integration.lua: use ERROR form that actually triggers a runtime error (ADD with nil silently succeeds)
Inject a <SETG ZORK-NUMBER> line into generated ZIL tests (derived from the game name numeric suffix, default 0) and escape double quotes in both command text and extracted response phrases so generated ZIL strings are valid. Updates the auto-generated zork3 test to include the SETG and properly-escaped SAY commands.
Enhance include resolution, parsing, and runtime support: make INSERT_FILE search relative to the including file, respect package.zilpath and .zil suffixes, and pass the resolved source path into the compiler so loaded chunks have correct names. Add safer file-open helpers and dirname logic. Improve OBJECT handling (resolve globals, function props, exit table support, clearer errors for unresolved exits) and add GASSIGNEDQ and several new flag constants. Compiler updates: handle placeholder conditionals in logical forms, add PROB and TELL form handlers, propagate source filename for INSERT-FILE nodes, and quote PER targets. Parser fixes: robust atom reading and '!' form handling. Runtime: expose load/rawget/rawset in game env. main.lua: allow story module arg and simplified module loading.
… matching

- Guard highlight() in main.lua against non-table DIRS/DESCS (zork3 redefines DIRS as a memory address)
- Include file:line in parser error messages for unexpected delimiters
- Translate all .lua references in stack traces through sourcemap (not just zil_*.lua)
- Use resolved filepath in INSERT_FILE errors and run load/exec errors through sourcemap.translate()
- Run module load errors through sourcemap.translate() in create_env_require
- Add blackwood-horror.zil and limehouse-killings.zil entry points with local paths
- INSERT_FILE falls back to infocom/zork1/ when file not found locally
- Fix limehouse actions.zil: missing TELL > brackets, add GO routine
- SYNTAX handler: skip modifier keywords (TEXT) between JOIN and =
- SYNTAX function: clear error when ACTION is missing
- Document critical ZIL implementation rules in skills/
@corepunch corepunch merged commit d8a820a into main Jul 9, 2026
1 check passed
@corepunch corepunch deleted the feature/test-and-game-updates branch July 9, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant