From 6d6ccb5778308f20271a0b31ca12497e9e89d8a2 Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sat, 22 Aug 2026 19:15:34 +0200 Subject: [PATCH 01/25] Translate Gold's in-game OPTION screen src/ui/gen2/OptionsMenu.lua had zero Strings() calls: every row label and every cart-original display value (FAST/MID/SLOW, ON/OFF, SHIFT/SET, MONO/STEREO, the PRINT contrast ladder, :TYPE) was a bare literal baked into the module-level ROWS table, invisible to a translation mod's `strings` registry (reported against a real Gold build, gen1recomp#1642). The Gen 1 OPTION screen (src/ui/OptionsMenu.lua) already routes every one of its equivalent rows through Strings(). ROWS is built once at require time, before any mod's Strings.load has a catalog to answer from, so wrapping its literals directly in Strings() would freeze the English (src/core/Strings.lua's own note on this). Labels and cart-original display strings are wrapped in Strings.source instead -- an identity marker that keeps the catalog generator's harvest of them, without changing when the lookup runs -- and drawPanel resolves them live through plain Strings() calls, the same split PR #1450 used for the clock and day-of-week screens. Also routed the two port-added rows (SCREEN POS, VIBRATION) and the touch pad ON/OFF row through Strings() at their value call sites, matching how the Gen 1 screen already treats the same shared ScreenPosition.label/TouchControls.hapticLabel helpers -- both return raw, untranslated text on their own. Left MUSIC VOL/SFX VOL's OFF/level readout and the MUSIC FILTER ladder (OFF/1X/2X/3X) untranslated, since that mirrors the Gen 1 screen's own established choice for the same two helpers. --- src/ui/gen2/OptionsMenu.lua | 116 +++++++++++++++++++++--------------- 1 file changed, 67 insertions(+), 49 deletions(-) diff --git a/src/ui/gen2/OptionsMenu.lua b/src/ui/gen2/OptionsMenu.lua index 3ff6f334..5d8d62c8 100644 --- a/src/ui/gen2/OptionsMenu.lua +++ b/src/ui/gen2/OptionsMenu.lua @@ -22,6 +22,7 @@ local Chrome = require("src.ui.gen2.Chrome") local Logger = require("src.core.Logger") local Runtime = require("src.mods.Runtime") local Save = require("src.core.gen2.Save") +local Strings = require("src.core.Strings") local OptionsMenu = {} OptionsMenu.__index = OptionsMenu @@ -42,43 +43,60 @@ end -- Each row: the label, the option key it edits, and the cycle of values with -- the exact strings the cart prints (trailing spaces included -- they are what -- blank the longer previous value, e.g. "MID " over "SLOW"). +-- Labels and cart-original display strings are wrapped in Strings.source so +-- the catalog generator harvests them even though this table is built once +-- at require time, before any mod's Strings.load has a catalog to answer +-- from (src/core/Strings.lua's own note on this). The lookup itself happens +-- live, in drawPanel, through plain Strings(...) calls. local ROWS = { { - label = "TEXT SPEED", key = "textSpeed", + label = Strings.source("TEXT SPEED"), key = "textSpeed", values = { "FAST", "MID", "SLOW" }, - display = { FAST = "FAST", MID = "MID ", SLOW = "SLOW" }, - }, - { - label = "BATTLE SCENE", key = "battleScene", - values = { true, false }, - display = { [true] = "ON ", [false] = "OFF" }, - }, - { - label = "BATTLE STYLE", key = "battleStyle", - values = { "SHIFT", "SET" }, - display = { SHIFT = "SHIFT", SET = "SET " }, - }, - { - label = "SOUND", key = "sound", - values = { "MONO", "STEREO" }, - display = { MONO = "MONO ", STEREO = "STEREO" }, - }, - { - label = "PRINT", key = "print", - values = { "LIGHTEST", "LIGHTER", "NORMAL", "DARKER", "DARKEST" }, display = { - LIGHTEST = "LIGHTEST", LIGHTER = "LIGHTER ", NORMAL = "NORMAL ", - DARKER = "DARKER ", DARKEST = "DARKEST ", + FAST = Strings.source("FAST"), MID = Strings.source("MID "), + SLOW = Strings.source("SLOW"), }, }, { - label = "MENU ACCOUNT", key = "menuAccount", + label = Strings.source("BATTLE SCENE"), key = "battleScene", + values = { true, false }, + display = { + [true] = Strings.source("ON "), [false] = Strings.source("OFF"), + }, + }, + { + label = Strings.source("BATTLE STYLE"), key = "battleStyle", + values = { "SHIFT", "SET" }, + display = { + SHIFT = Strings.source("SHIFT"), SET = Strings.source("SET "), + }, + }, + { + label = Strings.source("SOUND"), key = "sound", + values = { "MONO", "STEREO" }, + display = { + MONO = Strings.source("MONO "), STEREO = Strings.source("STEREO"), + }, + }, + { + label = Strings.source("PRINT"), key = "print", + values = { "LIGHTEST", "LIGHTER", "NORMAL", "DARKER", "DARKEST" }, + display = { + LIGHTEST = Strings.source("LIGHTEST"), LIGHTER = Strings.source("LIGHTER "), + NORMAL = Strings.source("NORMAL "), DARKER = Strings.source("DARKER "), + DARKEST = Strings.source("DARKEST "), + }, + }, + { + label = Strings.source("MENU ACCOUNT"), key = "menuAccount", values = { false, true }, - display = { [false] = "OFF", [true] = "ON " }, + display = { + [false] = Strings.source("OFF"), [true] = Strings.source("ON "), + }, }, -- FRAME is the textbox border style, 1-8, and prints its number after the -- word TYPE rather than in the shared value column. - { label = "FRAME", key = "frame", frame = true }, + { label = Strings.source("FRAME"), key = "frame", frame = true }, -- Everything from here down is the port's, not the cart's. They are the -- same settings the Gen 1 OPTION screen carries and they drive the same -- shared modules, so a player who learns them in Red knows them here. The @@ -86,17 +104,17 @@ local ROWS = { -- -- The two volume rows clamp at the ends rather than wrapping, the way -- pokered's text-speed cursor does, so holding left reaches OFF and stays. - { id = "controls", label = "CONTROLS", port = true, + { id = "controls", label = Strings.source("CONTROLS"), port = true, activate = function(game) require("src.ui.Screens").push(game, "BindingsMenu") end }, - { label = "MUSIC VOL", key = "musicVol", port = true, + { label = Strings.source("MUSIC VOL"), key = "musicVol", port = true, cycle = function(options, delta) options.musicVol = stepVolume(options.musicVol, delta) require("src.core.Music").setVolumeLevel(options.musicVol) end, text = function(options) return volLabel(options.musicVol) end }, - { label = "SFX VOL", key = "sfxVol", port = true, + { label = Strings.source("SFX VOL"), key = "sfxVol", port = true, cycle = function(options, delta) options.sfxVol = stepVolume(options.sfxVol, delta) require("src.core.Sound").setVolumeLevel(options.sfxVol) @@ -104,7 +122,7 @@ local ROWS = { text = function(options) return volLabel(options.sfxVol) end }, -- Each filter step keeps 40% of the previous step's treble, so 2X and 3X -- are the 1X low-pass applied twice and three times over. - { label = "MUSIC FILTER", key = "musicFilter", port = true, + { label = Strings.source("MUSIC FILTER"), key = "musicFilter", port = true, cycle = function(options, delta) options.musicFilter = ((options.musicFilter or 0) + delta) % #FILTERS require("src.core.Music").setFilterLevel(options.musicFilter) @@ -112,7 +130,7 @@ local ROWS = { text = function(options) return FILTERS[(options.musicFilter or 0) + 1] end }, - { label = "GAME SPEED", key = "speed", port = true, + { label = Strings.source("GAME SPEED"), key = "speed", port = true, cycle = function(options, delta) local GameSpeed = require("src.core.GameSpeed") options.speed = GameSpeed.cycle(options.speed, delta) @@ -120,7 +138,7 @@ local ROWS = { text = function(options) return require("src.core.GameSpeed").levelLabel(options.speed) end }, - { label = "ZOOM", key = "zoom", port = true, + { label = Strings.source("ZOOM"), key = "zoom", port = true, cycle = function(options, delta, game) local Zoom = require("src.render.Zoom") local scale = Zoom.windowFitScale() @@ -136,7 +154,7 @@ local ROWS = { -- a boundary; WATER / TREES force one outdoor block; BLACK is a flat void. -- #1418. Same key the Gen 1 OPTION screen uses, different ladder (FADE -- is Gold's default because that is already what the maps call for). - { label = "VOID FILL", key = "voidFill", port = true, + { label = Strings.source("VOID FILL"), key = "voidFill", port = true, cycle = function(options, delta) local BorderFill = require("src.world.gen2.BorderFill") BorderFill.setVoidFill(options.voidFill or "fade") @@ -145,7 +163,7 @@ local ROWS = { text = function(options) return require("src.world.gen2.BorderFill").voidFillLabel(options.voidFill) end }, - { label = "TILT", key = "tilt", port = true, + { label = Strings.source("TILT"), key = "tilt", port = true, cycle = function(options, delta) local Tilt = require("src.render.Tilt") -- Four levels (OFF, 15, 35, 50); left steps back through them. @@ -160,7 +178,7 @@ local ROWS = { -- CGB game whose colour comes from its own palettes, so there are no packs -- to swap -- what there is instead is the choice to turn that colour OFF, -- down to the grey Game Boy or the green one. GBC is the default. - { label = "COLOR", key = "color", port = true, + { label = Strings.source("COLOR"), key = "color", port = true, cycle = function(options, delta) local GbcPalette = require("src.render.GbcPalette") GbcPalette.setMode(options.color or "gbc") @@ -169,7 +187,7 @@ local ROWS = { text = function(options) return require("src.render.GbcPalette").modeLabel(options.color or "gbc") end }, - { label = "GBC FX", key = "gbcfx", port = true, + { label = Strings.source("GBC FX"), key = "gbcfx", port = true, cycle = function(options, delta) local GBCFX = require("src.render.GBCFX") if not GBCFX.isSupported() then @@ -183,7 +201,7 @@ local ROWS = { text = function(options) return require("src.render.GBCFX").levelLabel(options.gbcfx or 0) end }, - { label = "VIDEO MODE", key = "videoMode", port = true, + { label = Strings.source("VIDEO MODE"), key = "videoMode", port = true, cycle = function(options, delta) local VideoMode = require("src.core.VideoMode") options.videoMode = VideoMode.cycle(options.videoMode, delta) @@ -194,20 +212,20 @@ local ROWS = { return VideoMode.normalize(options.videoMode) == "borderless" and "FULL" or "WINDOWED" end }, - { label = "SCREEN POS", key = "screenPos", port = true, + { label = Strings.source("SCREEN POS"), key = "screenPos", port = true, cycle = function(options, delta) local ScreenPosition = require("src.core.ScreenPosition") options.screenPos = ScreenPosition.cycle(options.screenPos, delta) ScreenPosition.setMode(options.screenPos) end, text = function(options) - return require("src.core.ScreenPosition").label(options.screenPos) + return Strings(require("src.core.ScreenPosition").label(options.screenPos)) end }, - { id = "touchControls", label = "TOUCH PAD", port = true, + { id = "touchControls", label = Strings.source("TOUCH PAD"), port = true, text = function(options) local tc = options.touchControls local on = not (type(tc) == "table" and tc.enabled == false) - return on and "ON" or "OFF" + return on and Strings("ON") or Strings("OFF") end, cycle = function(options, _delta, game) local tc = type(options.touchControls) == "table" and options.touchControls or {} @@ -216,13 +234,13 @@ local ROWS = { require("src.core.TouchControls"):applyOptions(options) if game and game.persistOptions then game:persistOptions() end end }, - { id = "touchLayout", label = "TOUCH LAYOUT", port = true, + { id = "touchLayout", label = Strings.source("TOUCH LAYOUT"), port = true, activate = function(game) game.stack:push(require("src.ui.TouchControlsEditor").new(game)) end }, - { id = "haptics", label = "VIBRATION", port = true, + { id = "haptics", label = Strings.source("VIBRATION"), port = true, text = function(options) - return require("src.core.TouchControls").hapticLabel(options.haptics) + return Strings(require("src.core.TouchControls").hapticLabel(options.haptics)) end, cycle = function(options, delta, game) local TC = require("src.core.TouchControls") @@ -231,7 +249,7 @@ local ROWS = { TC.buzz(options.haptics) if game and game.persistOptions then game:persistOptions() end end }, - { label = "MAX FPS", key = "fpsCap", port = true, + { label = Strings.source("MAX FPS"), key = "fpsCap", port = true, cycle = function(options, delta) local FrameCap = require("src.core.FrameCap") options.fpsCap = FrameCap.cycle(options.fpsCap, delta) @@ -240,7 +258,7 @@ local ROWS = { text = function(options) return require("src.core.FrameCap").label(options.fpsCap) end }, - { label = "CANCEL", cancel = true }, + { label = Strings.source("CANCEL"), cancel = true }, } -- The cart's screen is one full-height textbox with every row on it. This one @@ -424,9 +442,9 @@ function OptionsMenu:drawPanel() local row = self.rows[i] if row then local labelY = 2 + (slot - 1) * 2 - Chrome.print(row.label, 2, labelY) + Chrome.print(Strings(row.label), 2, labelY) if row.frame then - Chrome.print(":TYPE", 10, labelY + 1) + Chrome.print(Strings(":TYPE"), 10, labelY + 1) Chrome.print(tostring(self.options.frame or 1), 16, labelY + 1) elseif row.text then Chrome.print(":", 10, labelY + 1) @@ -434,7 +452,7 @@ function OptionsMenu:drawPanel() elseif row.values then Chrome.print(":", 10, labelY + 1) local value = self.options[row.key] - local text = row.display and row.display[value] or tostring(value) + local text = row.display and Strings(row.display[value]) or tostring(value) Chrome.print(text, 11, labelY + 1) elseif type(row.value) == "function" then -- the Gen 1 row's value reader (src/ui/OptionRows.lua:4), so a mod row From c2e1d810f9d5928fc54639940dc81024b01ffe5b Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sat, 22 Aug 2026 19:15:43 +0200 Subject: [PATCH 02/25] Cover the Gold OPTION screen translation fix with a targeted test Drives OptionsMenu:drawPanel() with a mod-loaded Strings catalog and checks the translated text reaches Font.draw for a cart-original row (label and its display value), a port-added row's label, and CANCEL, plus a vanilla no-mod case proving the fallback is unchanged. Reverting src/ui/gen2/OptionsMenu.lua to its pre-fix content fails 4 of the 9 checks, reproducing the reported bug exactly. --- .../gen2_options_menu_translation_test.lua | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 tests/engine/gen2_options_menu_translation_test.lua diff --git a/tests/engine/gen2_options_menu_translation_test.lua b/tests/engine/gen2_options_menu_translation_test.lua new file mode 100644 index 00000000..2ce171c3 --- /dev/null +++ b/tests/engine/gen2_options_menu_translation_test.lua @@ -0,0 +1,121 @@ +-- Gold's OPTION screen (src/ui/gen2/OptionsMenu.lua) used to draw every row +-- label -- and the cart-original value strings (FAST/MID/SLOW, ON/OFF, +-- SHIFT/SET, ...) -- as bare literals baked into the module-level ROWS +-- table, invisible to a translation mod's `strings` registry (reported +-- against a real Gold build, gen1recomp#1642). This drives +-- OptionsMenu:drawPanel() with a mod-loaded Strings catalog and checks the +-- translated text reaches Font.draw, for both a cart-original row (label + +-- display value) and a port-added row (label only -- its value already +-- comes pre-translated from the shared module it calls, same as the Gen 1 +-- OPTION screen's equivalent rows), plus a vanilla no-mod case proving the +-- fallback is unchanged. +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") + +love = require("tests.love_stub") + +require("src.core.Logger").warn = function() end + +-- Chrome.print (the only draw call this screen makes) goes straight to +-- Font.draw, so recording that call is enough to see exactly what text +-- reached the screen -- same technique as +-- tests/engine/status_abbreviation_translation_test.lua. Stubbed before +-- OptionsMenu (and the Chrome module it requires) ever loads, so Chrome's +-- own `local Font = require(...)` captures this stub instead of the real +-- module. +local drawn +package.loaded["src.render.Font"] = { + draw = function(text, x, y) + drawn[#drawn + 1] = { text = text, x = x, y = y } + end, + drawCode = function() end, + drawBox = function() end, +} + +local OptionsMenu = require("src.ui.gen2.OptionsMenu") +local Strings = require("src.core.Strings") + +local function drawnAt(x, y) + for _, d in ipairs(drawn) do + if d.x == x and d.y == y then return d.text end + end + return nil +end + +-- Chrome.print multiplies tile coordinates by 8 (src/ui/gen2/Chrome.lua); +-- drawPanel puts labels at tile x=2 and values at tile x=11. +local LABEL_X = 2 * 8 +local VALUE_X = 11 * 8 + +local function rowIndex(rows, id) + for i, row in ipairs(rows) do + if row.id == id then return i end + end +end + +-- ---------------------------------------------- vanilla: no mod catalog +do + local menu = OptionsMenu.new({}) + drawn = {} + menu:drawPanel() + T.eq(drawnAt(LABEL_X, 2 * 8), "TEXT SPEED", + "row 1's label draws in English with no mod loaded") + -- Save.DEFAULT_OPTIONS.textSpeed is "MID", the cart's own default. + T.eq(drawnAt(VALUE_X, 3 * 8), "MID ", + "and its cart-original display value too") +end + +-- ------------------------------------------------- a translation mod's turn +do + Strings.load({ + strings = { + ["TEXT SPEED"] = "VITESSE TEXTE", + ["MID "] = "MOY ", + ["CONTROLS"] = "COMMANDES", + ["CANCEL"] = "ANNULER", + }, + }) + + local menu = OptionsMenu.new({}) + drawn = {} + menu:drawPanel() + T.eq(drawnAt(LABEL_X, 2 * 8), "VITESSE TEXTE", + "a mod catalog reaches a cart-original row's label") + T.eq(drawnAt(VALUE_X, 3 * 8), "MOY ", + "and its cart-original display value") + + -- CONTROLS is the first port-added row; scroll to it so it lands in the + -- VISIBLE_ROWS=7 window drawPanel actually draws. + local index = rowIndex(menu.rows, "controls") + T.check(index ~= nil, "CONTROLS is one of the rows") + menu.index = index + menu:ensureVisible() + drawn = {} + menu:drawPanel() + local slot = index - menu.scroll + T.eq(drawnAt(LABEL_X, (2 + (slot - 1) * 2) * 8), "COMMANDES", + "and a port-added row's label is translated too") + + -- CANCEL is the last row, built into ROWS like any other -- there is no + -- separate hook to fall through if this one row is missed. + local cancelMenu = OptionsMenu.new({}) + local cancelIndex = #cancelMenu.rows + T.check(cancelMenu.rows[cancelIndex].cancel, "the last row is CANCEL") + cancelMenu.index = cancelIndex + cancelMenu:ensureVisible() + drawn = {} + cancelMenu:drawPanel() + local cancelSlot = cancelIndex - cancelMenu.scroll + T.eq(drawnAt(LABEL_X, (2 + (cancelSlot - 1) * 2) * 8), "ANNULER", + "CANCEL, the way out of the menu, is translated too") + + -- Module state is process-global (see tests/gen2_clock_test.lua's own + -- note); this suite gets its own process from tests/tier_runner.lua, but + -- leaving the catalog loaded past this point would still mistranslate + -- every check below it in this file. + Strings.load({}) + T.check(not Strings.active(), "the catalog is unloaded for the checks after this one") +end + +T.finish("gen2_options_menu_translation_test") From 24a7ff86d407ac925256c715a08144bb877032c0 Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sat, 22 Aug 2026 20:10:13 +0200 Subject: [PATCH 03/25] Stop drawing invisible TTF text on Gold's palette-shaded screens MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Chrome.printThrough (src/ui/gen2/Chrome.lua) runs a string through the GbcPalette shade-remap shader whenever a palette is given, so a screen whose background is not white -- the naming/keyboard screen, Diploma, Pokegear, Credits -- gets its text colour resolved from the same palette as everything else on it. The shader recovers a shade by reading the RED CHANNEL of an already-rasterized 2bpp tile pixel (src/render/GbcPalette.lua's SHADER_SOURCE), which assumes the texture underneath is one of the four flat GB shades. A TTF glyph is not: LÖVE's font rasterizer stores glyph coverage as alpha over a plain white texture and lets the current tint carry the ink colour, so that same red-channel read always comes back 1.0 -- shade 0 -- painting every TTF character the exact colour of the paper rect printThrough had just drawn behind it. Since a mod loads a TTF through src/core/Strings.lua's font registry precisely so a translation is not boxed into a handful of tile-page glyphs, every translation mod that ships one hit this: reported against a real Gold build where the naming screen's on-screen keyboard, Diploma and the Pokegear all went blank the moment the mod's TTF took over rendering (gen1recomp#1642). Gen 1 has no such shader, which is why the same mod draws fine there. A TTF glyph carries no discrete shade to recover in the first place, so skip the shader for one and tint it with the palette's own ink colour directly -- the same shade-3 entry the shader's `rgb = pal3` branch would have mapped a black tile pixel to. The switch is per GLYPH rather than per string: a TTF-mod build still keeps multi-byte charmap sequences (the naming screen's own / cells, the 'd/'l/'s ligatures) and anything a mod names in ttf.tiles on their ROM tiles (src/render/Font.lua's Font.split), so one call can mix both kinds of glyph, and a tile glyph drawn alongside a TTF one still needs the shader to pick up a mod's COLOR/rBGP settings correctly. --- src/ui/gen2/Chrome.lua | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/ui/gen2/Chrome.lua b/src/ui/gen2/Chrome.lua index 12f8a802..6a147077 100644 --- a/src/ui/gen2/Chrome.lua +++ b/src/ui/gen2/Chrome.lua @@ -138,11 +138,39 @@ function Chrome.printThrough(text, tx, ty, palette, invert) local paper = pal[1] or { 255, 255, 255 } love.graphics.setColor(paper[1] / 255, paper[2] / 255, paper[3] / 255, 1) love.graphics.rectangle("fill", tx * 8, ty * 8, width, 8) - love.graphics.setColor(1, 1, 1, 1) + -- Per glyph, not per string: a TTF-mod build still keeps the multi-byte + -- charmap sequences (the naming screen's /, the 'd/'l/'s ligatures) + -- and anything the mod names in ttf.tiles (Font.lua's own note on keeping + -- digits tile-based for column alignment) on their ROM tiles, so a string + -- can freely mix the two kinds of glyph. + local ink = pal[4] or { 0, 0, 0 } local previous = love.graphics.getShader() - GbcPalette.useRaw(pal) - Font.draw(text, tx * 8, ty * 8) - love.graphics.setShader(previous) + local shaded = false + local pen = tx * 8 + for _, code in ipairs(Font.encode(text)) do + if code >= Font.TTF_BASE then + -- The shader below recovers a shade from the RED CHANNEL of an already + -- flat-shaded 2bpp tile sheet -- exactly what a TTF glyph is not. + -- LÖVE's font rasterizer stores glyph coverage as alpha over a plain + -- white texture, which this shader reads back as shade 0 no matter how + -- solid the glyph looks, painting the character the SAME colour as the + -- paper rect just drawn above it: invisible (reported against a real + -- Gold build with a TTF translation mod active, gen1recomp#1642). A TTF + -- glyph has no discrete shade to recover in the first place, so skip + -- the shader for it and tint it with the palette's own ink colour + -- (shade 3, the same entry `rgb = pal3` would have mapped a black tile + -- pixel to) directly. + if shaded then love.graphics.setShader(previous); shaded = false end + love.graphics.setColor(ink[1] / 255, ink[2] / 255, ink[3] / 255, 1) + elseif not shaded then + love.graphics.setColor(1, 1, 1, 1) + GbcPalette.useRaw(pal) + shaded = true + end + Font.drawCode(code, pen, ty * 8) + pen = pen + Font.advanceOf(code) + end + if shaded then love.graphics.setShader(previous) end love.graphics.setColor(0, 0, 0, 1) return width end From f76a8b2f96785aa2096c2b81a007e94bbf4818f3 Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sat, 22 Aug 2026 20:10:27 +0200 Subject: [PATCH 04/25] Cover the invisible-TTF-text fix with a targeted test No real shader runs headless (love_stub does not stub newShader), so this cannot check a rendered pixel. Font.encode/drawCode/advanceOf/ width are replaced with fakes that hand printThrough a fixed list of glyph codes, so what is checked is the two things that decide the outcome: which glyphs skip the shade-remap shader, and what colour is active when each one draws -- for an all-tile string, an all-TTF one, a string that mixes both (proving the switch is per glyph, not per call), an inverted call, and DMG mode's own resolved palette. Reverting src/ui/gen2/Chrome.lua to its pre-fix content fails every TTF-mode check. A per-string version of the fix (Font.ttfActive() checked once for the whole call instead of per glyph) also fails the mixed-string case here, since it would flatten the naming screen's tile-based / cells to a plain ink tint whenever a TTF is loaded at all, losing their shader-remapped colour even though they never draw from the TTF. --- .../gen2_chrome_print_through_ttf_test.lua | 133 ++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 tests/engine/gen2_chrome_print_through_ttf_test.lua diff --git a/tests/engine/gen2_chrome_print_through_ttf_test.lua b/tests/engine/gen2_chrome_print_through_ttf_test.lua new file mode 100644 index 00000000..068d0a2f --- /dev/null +++ b/tests/engine/gen2_chrome_print_through_ttf_test.lua @@ -0,0 +1,133 @@ +-- Chrome.printThrough (src/ui/gen2/Chrome.lua) used to run every string +-- through the GbcPalette shade-remap shader whenever a palette was given, +-- with no regard for whether the glyph it was about to draw came from a +-- tile page or from a TTF. The shader recovers a shade by reading the +-- RED CHANNEL of an already-rasterized 2bpp tile pixel (SHADER_SOURCE in +-- src/render/GbcPalette.lua); a TTF glyph is LÖVE's own anti-aliased +-- coverage mask, drawn as plain white with the current tint carrying the +-- ink colour, which that same channel read always reports as shade 0 -- +-- painting every character the SAME colour as the paper rect printThrough +-- had just drawn behind it, i.e. invisible. Reported against a real Gold +-- build running a TTF translation mod: the naming screen's keyboard, +-- Diploma and Pokegear text all vanish, since all three draw through this +-- one routine (gen1recomp#1642). +-- +-- The switch is per GLYPH, not per string: a TTF-mod build still keeps +-- multi-byte charmap sequences (the naming screen's own / cells, +-- the 'd/'l/'s ligatures) and anything a mod names in ttf.tiles on their ROM +-- tiles (src/render/Font.lua's Font.split), so one call can mix both kinds +-- of glyph and each must take its own path. +-- +-- No real shader runs headless (love_stub does not stub newShader), so this +-- cannot check a rendered pixel. Font.encode/drawCode/advanceOf/width are +-- replaced with fakes that hand printThrough a fixed list of glyph codes, +-- so what is checked is the two things that decide the outcome: which +-- glyphs skip the shader, and what colour is active when each one draws. +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") + +love = require("tests.love_stub") + +require("src.core.Logger").warn = function() end + +local Chrome = require("src.ui.gen2.Chrome") +local GbcPalette = require("src.render.GbcPalette") +local Font = require("src.render.Font") + +-- Palette arrays are 1-indexed shade 0..3, same order GbcPalette.useRaw +-- reads (src/render/GbcPalette.lua channel()). +local PALETTE = { { 200, 220, 255 }, { 150, 170, 220 }, { 90, 100, 160 }, { 10, 10, 30 } } + +local TILE_CODE = 0x80 +local TTF_CODE = Font.TTF_BASE + 65 -- 'A', were it decoded + +-- "text" is a plain list of glyph codes for this suite; Font.width/encode +-- pass it straight through, matching how a real caller's string would +-- decode to a list of codes. +Font.width = function(codes) return #codes * 8 end +Font.encode = function(codes) return codes end +Font.advanceOf = function(_code) return 8 end + +local drawn +Font.drawCode = function(code, x, y) + drawn[#drawn + 1] = { code = code, x = x, y = y, color = { love.graphics.getColor() } } +end + +local useRawCalls +local realUseRaw = GbcPalette.useRaw +GbcPalette.useRaw = function(...) + useRawCalls = useRawCalls + 1 + return realUseRaw(...) +end + +GbcPalette.available = function() return true end + +local function colorsEq(a, b) + return math.abs(a[1] - b[1]) < 1e-9 and math.abs(a[2] - b[2]) < 1e-9 + and math.abs(a[3] - b[3]) < 1e-9 +end + +-- ------------------------------------------------------- all tile glyphs +do + useRawCalls = 0 + drawn = {} + Chrome.printThrough({ TILE_CODE, TILE_CODE }, 0, 0, PALETTE) + T.eq(useRawCalls, 1, "one shaded run binds the shader once, not per glyph") + T.eq(#drawn, 2, "both glyphs drew") + for i, d in ipairs(drawn) do + T.check(colorsEq(d.color, { 1, 1, 1, 1 }), + ("tile glyph %d is tinted white, letting the shader pick the colour"):format(i)) + end +end + +-- -------------------------------------------------------- all TTF glyphs +do + useRawCalls = 0 + drawn = {} + Chrome.printThrough({ TTF_CODE, TTF_CODE }, 0, 0, PALETTE) + T.eq(useRawCalls, 0, "a TTF glyph never binds the shade-remap shader") + T.eq(#drawn, 2, "both glyphs drew") + local ink = Chrome.throughPalette(PALETTE, false)[4] + for i, d in ipairs(drawn) do + T.check(colorsEq(d.color, { ink[1] / 255, ink[2] / 255, ink[3] / 255, 1 }), + ("TTF glyph %d is tinted with the palette's own ink colour"):format(i)) + end +end + +-- --------------------------------------------- mixed: tile, TTF, then tile +do + useRawCalls = 0 + drawn = {} + Chrome.printThrough({ TILE_CODE, TTF_CODE, TILE_CODE }, 0, 0, PALETTE) + T.eq(useRawCalls, 2, + "the shader re-binds once per return to a tile glyph, not once for the whole string") + T.eq(#drawn, 3, "all three glyphs drew") + local ink = Chrome.throughPalette(PALETTE, false)[4] + T.check(colorsEq(drawn[1].color, { 1, 1, 1, 1 }), "1st (tile) glyph: white/shaded") + T.check(colorsEq(drawn[2].color, { ink[1] / 255, ink[2] / 255, ink[3] / 255, 1 }), + "2nd (TTF) glyph, mid-string, still gets the ink tint") + T.check(colorsEq(drawn[3].color, { 1, 1, 1, 1 }), "3rd (tile) glyph: shaded again") +end + +-- ---------------------------------------------------- inverted TTF ink +do + drawn = {} + Chrome.printThrough({ TTF_CODE }, 0, 0, PALETTE, true) + local ink = Chrome.throughPalette(PALETTE, true)[4] + T.check(colorsEq(drawn[1].color, { ink[1] / 255, ink[2] / 255, ink[3] / 255, 1 }), + "an inverted call tints TTF ink with the inverted palette's own shade-3 entry") +end + +-- ---------------------------------------------- DMG mode's own TTF ink +do + GbcPalette.setMode("dmg") + drawn = {} + Chrome.printThrough({ TTF_CODE }, 0, 0, PALETTE) + local ink = Chrome.throughPalette(PALETTE, false)[4] + T.check(colorsEq(drawn[1].color, { ink[1] / 255, ink[2] / 255, ink[3] / 255, 1 }), + "DMG mode's own resolved palette (four grey hardware shades) still reaches the TTF ink") + GbcPalette.setMode("gbc") +end + +T.finish("gen2_chrome_print_through_ttf_test") From 3470e3c4ae7510bff118cab35f3c24818b8d6ea7 Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sat, 22 Aug 2026 20:25:52 +0200 Subject: [PATCH 05/25] Translate Gold's naming/keyboard screen src/ui/gen2/NamingScreen.lua had zero Strings() calls: every prompt (YOUR NAME?/RIVAL'S NAME?/MOTHER'S NAME?/BOX NAME?/NICKNAME?), the on-screen keyboard's own letters, and the lower/UPPER/DEL/END bottom row were bare literals, invisible to a translation mod's `strings` registry (reported against a real Gold build, gen1recomp#1642). The Gen 1 naming screen (src/ui/NamingScreen.lua) already routes its title and every keyboard cell through Strings(); this mirrors that. NamingScreen.TYPES and the bottom-row label tables are built once at require time, before any mod's Strings.load has a catalog to answer from, so their literals are wrapped in Strings.source -- an identity marker that keeps the catalog generator's harvest of them -- and drawPanel resolves them live through plain Strings() calls, the same split used for Gold's OPTION screen and PR #1450's clock screens. The nickname header ("'S" then "NICKNAME?", two lines because Chrome.printThrough draws one row at a time) folds the mon name into the first line's own format string, Strings("%s'S", self.monName), rather than translating just the "'S" suffix: a language whose possessive is not a bare suffix appended to the name can restructure that whole line instead of being stuck splicing one on. --- src/ui/gen2/NamingScreen.lua | 42 +++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/src/ui/gen2/NamingScreen.lua b/src/ui/gen2/NamingScreen.lua index 4857499c..f60084c4 100644 --- a/src/ui/gen2/NamingScreen.lua +++ b/src/ui/gen2/NamingScreen.lua @@ -21,6 +21,7 @@ local Chrome = require("src.ui.gen2.Chrome") local Font = require("src.render.Font") local GbcPalette = require("src.render.GbcPalette") local Runtime = require("src.mods.Runtime") +local Strings = require("src.core.Strings") local NamingScreen = {} NamingScreen.__index = NamingScreen @@ -67,8 +68,15 @@ local BOX_INPUT_LOWER = { -- case target names the board it SWITCHES TO, not the one it is on: the last -- row of NameInputUpper is "lower DEL END" and the last row of -- NameInputLower is "UPPER DEL END" (data/text/name_input_chars.asm). -local BOTTOM_UPPER_LABELS = { "lower", "DEL", "END" } -local BOTTOM_LOWER_LABELS = { "UPPER", "DEL", "END" } +-- Wrapped in Strings.source, not Strings: both tables are built once at +-- require time, before any mod's Strings.load has a catalog to answer from +-- (src/core/Strings.lua's own note on this); drawPanel resolves them live. +local BOTTOM_UPPER_LABELS = { + Strings.source("lower"), Strings.source("DEL"), Strings.source("END"), +} +local BOTTOM_LOWER_LABELS = { + Strings.source("UPPER"), Strings.source("DEL"), Strings.source("END"), +} -- Cursor tile for each target: NamingScreen_AnimateCursor's .CaseDelEnd adds -- pixel $00 / $30 / $60 to the cursor's own XCOORD of 24 (`depixel 10, 3`), -- which is OAM x 24 / 72 / 120 and so screen tile 2 / 8 / 14. The bracket is @@ -81,10 +89,10 @@ local BOTTOM_CURSOR_TILES = 5 -- NAME_* types (constants/menu_constants.asm order) as prompts + field sizes. -- Lengths are the ASM's *_NAME_LENGTH - 1, i.e. usable characters. NamingScreen.TYPES = { - player = { prompt = "YOUR NAME?", maxLength = 7, sprite = "SPRITE_CHRIS" }, - rival = { prompt = "RIVAL'S NAME?", maxLength = 7, sprite = "SPRITE_RIVAL" }, - mom = { prompt = "MOTHER'S NAME?", maxLength = 7, sprite = "SPRITE_MOM" }, - box = { prompt = "BOX NAME?", maxLength = 8, isBox = true }, + player = { prompt = Strings.source("YOUR NAME?"), maxLength = 7, sprite = "SPRITE_CHRIS" }, + rival = { prompt = Strings.source("RIVAL'S NAME?"), maxLength = 7, sprite = "SPRITE_RIVAL" }, + mom = { prompt = Strings.source("MOTHER'S NAME?"), maxLength = 7, sprite = "SPRITE_MOM" }, + box = { prompt = Strings.source("BOX NAME?"), maxLength = 8, isBox = true }, nickname = { prompt = nil, maxLength = 10 }, } @@ -103,7 +111,7 @@ function NamingScreen.new(game, opts) self.kind = kind self.isBox = opts.isBox or kind.isBox or false self.maxLength = opts.maxLength or kind.maxLength or 7 - self.prompt = opts.prompt or kind.prompt or "NICKNAME?" + self.prompt = opts.prompt or kind.prompt or Strings.source("NICKNAME?") self.monName = opts.monName self.onDone = opts.onDone self.onCancel = opts.onCancel @@ -493,11 +501,15 @@ function NamingScreen:drawPanel() end local pal = self.palette if self.monName then - -- Nickname header is two lines: "'S" then "NICKNAME?". - Chrome.printThrough(self.monName .. "'S", 5, 2, pal) - Chrome.printThrough("NICKNAME?", 5, 4, pal) + -- Nickname header is two lines: "'S" then "NICKNAME?". Kept as two + -- Strings() calls, one per line (Chrome.printThrough draws a single row), + -- with the mon name folded into the first line's own format string so a + -- language whose possessive is not a bare suffix can restructure that + -- line rather than being stuck splicing one on. + Chrome.printThrough(Strings("%s'S", self.monName), 5, 2, pal) + Chrome.printThrough(Strings("NICKNAME?"), 5, 4, pal) else - Chrome.printThrough(self.prompt, 5, 2, pal) + Chrome.printThrough(Strings(self.prompt), 5, 2, pal) end self:drawEntry(5, self.isBox and 4 or 6) @@ -509,14 +521,18 @@ function NamingScreen:drawPanel() for col = 0, 8 do local ch = line[col + 1] if ch and ch ~= " " and ch ~= "" then - Chrome.printThrough(ch, 2 + col * 2, keyboardTop + row * 2, pal) + -- Same seam the Gen 1 board's cells go through (src/ui/NamingScreen + -- .lua's own Strings(cell)): a script whose alphabet does not fit + -- A-Z can swap a cell's glyph without needing the heavier + -- ui.naming.grid hook this screen also offers. + Chrome.printThrough(Strings(ch), 2 + col * 2, keyboardTop + row * 2, pal) end end end local labels = self.lower and BOTTOM_LOWER_LABELS or BOTTOM_UPPER_LABELS local bottomY = keyboardTop + bottom * 2 for i, label in ipairs(labels) do - Chrome.printThrough(label, BOTTOM_LABEL_TX[i], bottomY, pal) + Chrome.printThrough(Strings(label), BOTTOM_LABEL_TX[i], bottomY, pal) end local function cursor() self:drawCursorBox(self:cursorTile()) end From 745374d8ae12bcb4e863f54d98b5661c97cefc4f Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sat, 22 Aug 2026 20:26:08 +0200 Subject: [PATCH 06/25] Cover the naming screen translation fix with a targeted test Drives NamingScreen:drawPanel() with a mod-loaded Strings catalog and checks the translated text reaches Font.draw for the prompt, a keyboard cell, the lower/END bottom-row labels, and both lines of the nickname header (checking the mod's word order actually took, not just the mon name splicing in), plus a vanilla no-mod case proving the fallback is unchanged. Reverting src/ui/gen2/NamingScreen.lua to its pre-fix content fails 6 of the 9 checks, reproducing the reported gap exactly. --- .../gen2_naming_screen_translation_test.lua | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 tests/engine/gen2_naming_screen_translation_test.lua diff --git a/tests/engine/gen2_naming_screen_translation_test.lua b/tests/engine/gen2_naming_screen_translation_test.lua new file mode 100644 index 00000000..cf285f7e --- /dev/null +++ b/tests/engine/gen2_naming_screen_translation_test.lua @@ -0,0 +1,100 @@ +-- Gold's naming/keyboard screen (src/ui/gen2/NamingScreen.lua) had zero +-- Strings() calls: every prompt (YOUR NAME?/RIVAL'S NAME?/MOTHER'S NAME?/ +-- BOX NAME?/NICKNAME?), the on-screen keyboard's own letters, and the +-- lower/UPPER/DEL/END bottom-row labels were bare literals, invisible to a +-- translation mod's `strings` registry (reported against a real Gold build, +-- gen1recomp#1642). The Gen 1 naming screen (src/ui/NamingScreen.lua) already +-- routes its title and every keyboard cell through Strings(). +-- +-- GbcPalette.available() is false headless (no real shader compiles), so +-- Chrome.printThrough already falls back to the plain, unshaded Chrome.print +-- -- this drives that path directly and checks the translated text reaches +-- Font.draw, the same technique +-- tests/engine/gen2_options_menu_translation_test.lua uses for the OPTION +-- screen. +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") + +love = require("tests.love_stub") + +require("src.core.Logger").warn = function() end + +local drawn +package.loaded["src.render.Font"] = { + draw = function(text, x, y) + drawn[#drawn + 1] = { text = text, x = x, y = y } + end, + drawCode = function() end, + drawBox = function() end, +} + +local NamingScreen = require("src.ui.gen2.NamingScreen") +local Strings = require("src.core.Strings") + +local function drawnAt(x, y) + for _, d in ipairs(drawn) do + if d.x == x and d.y == y then return d.text end + end + return nil +end + +-- Chrome.print multiplies tile coordinates by 8 (src/ui/gen2/Chrome.lua); +-- the prompt lands at tile (5, 2), the keyboard's first cell at (2, 8). +local PROMPT_X, PROMPT_Y = 5 * 8, 2 * 8 +local FIRST_CELL_X, FIRST_CELL_Y = 2 * 8, 8 * 8 + +-- ---------------------------------------------- vanilla: no mod catalog +do + local screen = NamingScreen.new({}, { type = "player" }) + drawn = {} + screen:drawPanel() + T.eq(drawnAt(PROMPT_X, PROMPT_Y), "YOUR NAME?", + "the player-name prompt draws in English with no mod loaded") + T.eq(drawnAt(FIRST_CELL_X, FIRST_CELL_Y), "A", + "and the keyboard's first cell too") +end + +-- ------------------------------------------------- a translation mod's turn +do + Strings.load({ + strings = { + ["YOUR NAME?"] = "TON NOM?", + ["A"] = "À", + ["lower"] = "minusc", + ["END"] = "FIN", + ["%s'S"] = "DE %s", + ["NICKNAME?"] = "SURNOM?", + }, + }) + + local screen = NamingScreen.new({}, { type = "player" }) + drawn = {} + screen:drawPanel() + T.eq(drawnAt(PROMPT_X, PROMPT_Y), "TON NOM?", + "a mod catalog reaches the prompt") + T.eq(drawnAt(FIRST_CELL_X, FIRST_CELL_Y), "À", + "and a keyboard cell") + + -- The bottom row: lower/DEL/END at tile y = keyboardTop + bottom*2. + local bottomY = (screen:keyboardTop() + screen:bottomRow() * 2) * 8 + T.eq(drawnAt(2 * 8, bottomY), "minusc", "the case-switch label is translated") + T.eq(drawnAt(15 * 8, bottomY), "FIN", "and END, the way out of the screen") + + -- The nickname header: two lines, the mon name folded into the first. + local nickScreen = NamingScreen.new({}, { type = "nickname", monName = "BULBASAUR" }) + drawn = {} + nickScreen:drawPanel() + T.eq(drawnAt(PROMPT_X, PROMPT_Y), "DE BULBASAUR", + "the nickname header's first line takes the mod's own word order") + T.eq(drawnAt(PROMPT_X, 4 * 8), "SURNOM?", "and its second line") + + -- Module state is process-global (see tests/gen2_clock_test.lua's own + -- note); this suite gets its own process from tests/tier_runner.lua, but + -- leaving the catalog loaded past this point would still mistranslate + -- every check below it in this file. + Strings.load({}) + T.check(not Strings.active(), "the catalog is unloaded for the checks after this one") +end + +T.finish("gen2_naming_screen_translation_test") From 6d55da0ed2b747bb9f31372825887220c280d30f Mon Sep 17 00:00:00 2001 From: syybott Date: Sat, 22 Aug 2026 16:39:11 -0500 Subject: [PATCH 07/25] Add mod options screen marker --- src/ui/Screens.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ui/Screens.lua b/src/ui/Screens.lua index e52b8d12..59b483e1 100644 --- a/src/ui/Screens.lua +++ b/src/ui/Screens.lua @@ -124,6 +124,14 @@ local function build(game, id, ...) inst = factory.new(game, ...) end inst.screenId = inst.screenId or id + -- Standardized opt-in marker for mod-created options/settings screens. + -- A mod may declare `isModOptions = true` on its screen factory table or + -- on the returned instance. Either way the flag is propagated so that other + -- UI mods can detect mod options screens reliably without brittle screenId + -- string-matching (issue #1697). + if factory.isModOptions and inst.isModOptions == nil then + inst.isModOptions = true + end return inst end From bdbdbf2ed6185129a0d0f2058fb0141bc8fa5aa5 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 22 Aug 2026 18:10:05 -0700 Subject: [PATCH 08/25] Centralize ROM cache publication contract --- src/import/CacheContract.lua | 196 ++++++++++++++++ src/import/RomImporter.lua | 209 ++---------------- tests/engine/rom_cache_contract_test.lua | 176 +++++++++++++++ .../engine/rom_importer_source_tree_test.lua | 38 ++-- tests/engine/trade_art_import.lua | 14 +- 5 files changed, 413 insertions(+), 220 deletions(-) create mode 100644 src/import/CacheContract.lua create mode 100644 tests/engine/rom_cache_contract_test.lua diff --git a/src/import/CacheContract.lua b/src/import/CacheContract.lua new file mode 100644 index 00000000..9aef281e --- /dev/null +++ b/src/import/CacheContract.lua @@ -0,0 +1,196 @@ +-- Engine-owned contract for generated ROM caches. +-- +-- A cache is playable only when its versioned marker matches the ROM and every +-- required output for that version exists. Extraction writers may differ by +-- platform, but they must publish through this contract so partial staging +-- cannot look ready to the runtime. +local GameVersion = require("src.core.GameVersion") + +local CacheContract = {} + +CacheContract.FORMAT = "rom-cache-v10:" +CacheContract.MARKER_PATH = "rom-cache.complete" + +CacheContract.REQUIRED_FILES = { + "data/generated/constants.lua", + "data/generated/maps.lua", + "data/generated/text.lua", + "data/generated/field.lua", + "data/generated/battle_anims.lua", + "assets/generated/title/pokemon_logo.png", + "assets/generated/fonts/font.png", + "assets/generated/battle/front/pikachu.png", + "assets/generated/battle/anims/move_anim_0.png", + "assets/generated/battle/anims/move_anim_1.png", + "assets/generated/audio/programs.bin", + "assets/generated/trade/game_boy.png", +} + +CacheContract.VERSION_REQUIRED_FILES = { + yellow = { + "assets/generated/battle/trainers/jessie_james.png", + "assets/generated/battle/profoakb.png", + "assets/generated/pikachu/pikapic_1.png", + }, +} + +CacheContract.VERSION_REQUIRED_FILES_OVERRIDE = { + gold = { + "data/generated/constants.lua", + "data/generated/maps.lua", + "data/generated/roofs.lua", + "data/generated/sprites.lua", + "data/generated/scripts.lua", + "data/generated/text.lua", + -- The engine's label-keyed strings are separate from Gen 2 script text. + -- Caches made before RomExtractorGen2:extractText must be rebuilt so + -- src/core/RomText.lua does not silently fall back to built-in wording. + "data/generated/rom_text.lua", + "data/generated/pokemon.lua", + "data/generated/tilesets.lua", + "data/generated/audio.lua", + "data/generated/marts.lua", + "assets/generated/fonts/font.png", + "assets/generated/fonts/frames.png", + "assets/generated/title/pokemon_logo.png", + "assets/generated/title/title_screen.png", + "assets/generated/title/hooh.png", + "assets/generated/title/hooh_5.png", + "assets/generated/title/clouds.png", + "assets/generated/title/copyright_splash.png", + "data/generated/oak_speech.lua", + "assets/generated/intro/oak.png", + "assets/generated/intro/cal.png", + "assets/generated/tilesets/johto.png", + "assets/generated/tilesets/roofs/new_bark.png", + "assets/generated/sprites/chris.png", + "assets/generated/battle/front/chikorita.png", + "assets/generated/battle/front/pikachu.png", + "assets/generated/battle/front/marill.png", + "assets/generated/battle/trainers/falkner.png", + "assets/generated/battle/hud/balls.png", + "assets/generated/audio/programs.bin", + "assets/generated/slots/gold_slots_1.png", + "assets/generated/card_flip/card_flip_1.png", + "assets/generated/pc/mail_item.png", + }, +} +CacheContract.VERSION_REQUIRED_FILES_OVERRIDE.silver = + CacheContract.VERSION_REQUIRED_FILES_OVERRIDE.gold + +function CacheContract.requiredFilesFor(version) + local override = CacheContract.VERSION_REQUIRED_FILES_OVERRIDE[version] + if override then return override, true end + return CacheContract.REQUIRED_FILES, false +end + +function CacheContract.markerFor(version) + return CacheContract.FORMAT .. GameVersion.info(version).sha1 +end + +-- Keep the process-global CacheFs prefix isolated even when a filesystem +-- adapter raises while probing or publishing. The real CacheFs methods +-- return errors, but this also makes the contract safe for platform adapters +-- that surface I/O failures as Lua errors. +local function withVersionPrefix(version, fs, action) + local saved = fs.prefix + fs.prefix = GameVersion.cachePrefix(version) + local ok, first, second = pcall(action) + fs.prefix = saved + if not ok then return false, first end + return true, first, second +end + +function CacheContract.allRequiredFilesExist(version, fs) + fs = fs or require("src.import.CacheFs") + local ok, complete, missing = withVersionPrefix(version, fs, function() + local required, isOverride = CacheContract.requiredFilesFor(version) + local missingPath + for _, path in ipairs(required) do + if not fs.exists(path) then missingPath = path; break end + end + if not missingPath and not isOverride then + for _, path in ipairs(CacheContract.VERSION_REQUIRED_FILES[version] or {}) do + if not fs.exists(path) then missingPath = path; break end + end + end + return missingPath == nil, missingPath + end) + if not ok then return false, complete end + return complete, missing +end + +function CacheContract.readMarker(version, fs) + fs = fs or require("src.import.CacheFs") + local ok, marker, readError = withVersionPrefix(version, fs, function() + return fs.read(CacheContract.MARKER_PATH) + end) + if not ok then return nil, marker end + -- LÖVE may return contents plus a byte count; only a nil contents result + -- makes the auxiliary value an error. CacheFs' portable reader returns + -- just the contents, so this remains adapter-neutral. + if marker == nil then return nil, readError end + return marker +end + +function CacheContract.isReady(version, fs) + fs = fs or require("src.import.CacheFs") + if CacheContract.sourceTreeHasData(version) then return true end + local marker, readError = CacheContract.readMarker(version, fs) + if readError or marker ~= CacheContract.markerFor(version) then return false end + return CacheContract.allRequiredFilesExist(version, fs) +end + +function CacheContract.publish(version, fs) + fs = fs or require("src.import.CacheFs") + local complete, missing = CacheContract.allRequiredFilesExist(version, fs) + if not complete then + -- A caller may be retrying over a partially replaced cache. Do not + -- leave its old marker advertising readiness after this failed check. + local removed, removeError = withVersionPrefix(version, fs, function() + if not fs.remove then + error("cache filesystem cannot remove the completion marker") + end + return fs.remove(CacheContract.MARKER_PATH) + end) + if not removed then + return false, "cache is incomplete; missing " .. tostring(missing) + .. "; could not remove completion marker: " .. tostring(removeError) + end + return false, "cache is incomplete; missing " .. tostring(missing) + end + local changed, ok, err = withVersionPrefix(version, fs, function() + return fs.write(CacheContract.MARKER_PATH, CacheContract.markerFor(version)) + end) + if not changed then return false, tostring(ok) end + return ok, err +end + +function CacheContract.sourceTreeHasData(version) + if not (love and love.filesystem and love.filesystem.getInfo + and love.filesystem.getRealDirectory and love.filesystem.getSource) then + return false + end + local prefix = version == "red" and "" or GameVersion.cachePrefix(version) + local required, isOverride = CacheContract.requiredFilesFor(version) + local source = love.filesystem.getSource() + for _, path in ipairs(required) do + local fullPath = prefix .. path + if love.filesystem.getInfo(fullPath, "file") == nil + or love.filesystem.getRealDirectory(fullPath) ~= source then + return false + end + end + if not isOverride then + for _, path in ipairs(CacheContract.VERSION_REQUIRED_FILES[version] or {}) do + local fullPath = prefix .. path + if love.filesystem.getInfo(fullPath, "file") == nil + or love.filesystem.getRealDirectory(fullPath) ~= source then + return false + end + end + end + return true +end + +return CacheContract diff --git a/src/import/RomImporter.lua b/src/import/RomImporter.lua index aa6ea4cf..152fe88e 100644 --- a/src/import/RomImporter.lua +++ b/src/import/RomImporter.lua @@ -28,137 +28,12 @@ local function pickFile(...) return fn(...) and true or false end --- Cache generation tag; bump to force every imported version to re-extract. --- v9: Yellow audio re-anchored on pokeyellow.sym (#522) -- stale caches --- carry Red's bank $1f header, wave-table, and CryData offsets. --- v10: maps carry their raw map-header/connection/object bytes and tilesets --- their Tilesets row (#889), which a .sav export replays so a Continue on --- real hardware has a map to load; a v9 cache has none of them and exports --- the same unbootable save as before. --- Deliberately NOT bumped for the Gold trainer-pic gap: this tag invalidates --- every version at once, and that gap is Gold-only. A per-version marker in --- VERSION_REQUIRED_FILES_OVERRIDE.gold re-imports exactly the caches that lack --- the stage, which is what the Yellow markers below already do for #439/#557. --- Reach for a bump when the change spans versions or has no single file to --- point at. -local CACHE_FORMAT = "rom-cache-v10:" --- The completion marker is written under each version's cache prefix --- (red/rom-cache.complete, blue/rom-cache.complete, ...). -local MARKER_PATH = "rom-cache.complete" - --- The marker a finished import writes for a version: the generation tag plus --- that version's ROM hash, so both a format bump and a swapped ROM invalidate. -local function markerFor(version) - return CACHE_FORMAT .. GameVersion.info(version).sha1 -end +local CacheContract = require("src.import.CacheContract") local COMMUNITY_URL = "https://bois.icu" local TRUST_WARNING = "if you did not get this from bryanthaboi's github " .. "or a link from the discord that bryanthaboi himself posted, just know " .. "it might have been tampered with. go to the discord to verify " .. COMMUNITY_URL .. " (or click the logo above)" -local REQUIRED_FILES = { - "data/generated/constants.lua", - "data/generated/maps.lua", - "data/generated/text.lua", - "data/generated/field.lua", - "data/generated/battle_anims.lua", - "assets/generated/title/pokemon_logo.png", - "assets/generated/fonts/font.png", - "assets/generated/battle/front/pikachu.png", - "assets/generated/battle/anims/move_anim_0.png", - "assets/generated/battle/anims/move_anim_1.png", - "assets/generated/audio/programs.bin", - -- The trade cinematic's Game Boy / cable art. Caches built before #750 - -- carry none of it and fall back to plain rectangles, so listing one of - -- the files re-imports them without a CACHE_FORMAT bump. - "assets/generated/trade/game_boy.png", -} - --- Files only one version's cache carries. A version that predates one of --- them re-imports on its own, without dragging the other versions through a --- CACHE_FORMAT bump. -local VERSION_REQUIRED_FILES = { - yellow = { - "assets/generated/battle/trainers/jessie_james.png", -- #439 - -- Oak's own back pic and the pikapic base frames only exist in caches - -- built after their manifest symbols landed, so an older Yellow cache - -- has to re-import to stop falling back to the old man's back pic and - -- to the battle front pic (#557, #561). Both are gated on manifest - -- symbols in RomExtractor, so these markers must only ever list files - -- tools/rom_manifest_yellow.json can actually produce -- otherwise the - -- cache reads as incomplete and re-importing cannot clear it. - "assets/generated/battle/profoakb.png", - "assets/generated/pikachu/pikapic_1.png", - }, -} - --- Gold Phase 1 writes a thinner cache than Gen 1 (no battle anim sheets, --- trade art, or field.lua payload yet -- see docs/gold-phase1.md). This --- list replaces REQUIRED_FILES entirely for that version so a successful --- Gen 2 extract is not stuck as "incomplete" waiting on Gen 1 markers. -local VERSION_REQUIRED_FILES_OVERRIDE = { - gold = { - "data/generated/constants.lua", - "data/generated/maps.lua", - "data/generated/roofs.lua", -- Phase 2: forces re-import of Phase 1 caches - "data/generated/sprites.lua", -- OW sheets (Chris + NPCs) - "data/generated/scripts.lua", -- disassembled map scripts - "data/generated/text.lua", -- decoded Gen 2 dialogue strings - -- The engine's own strings, keyed by label rather than by address. A - -- cache built before RomExtractorGen2:extractText has none, and every - -- line that reads through src/core/RomText.lua would silently keep - -- printing its Lua fallback, so this re-imports those caches rather than - -- bumping CACHE_FORMAT and dragging Red, Blue and Yellow through it too. - "data/generated/rom_text.lua", - "data/generated/pokemon.lua", - "data/generated/tilesets.lua", - "data/generated/audio.lua", - -- Mart shelves + the heal machine art ride the same import, so listing - -- marts.lua alone re-imports the caches from before either existed - -- (empty shop shelves, no Pokecenter light show). - "data/generated/marts.lua", - "assets/generated/fonts/font.png", - "assets/generated/fonts/frames.png", -- the seven other OPTION textbox frames - "assets/generated/title/pokemon_logo.png", - "assets/generated/title/title_screen.png", -- TitleScreenTilemap composition - "assets/generated/title/hooh.png", - "assets/generated/title/hooh_5.png", -- wing-flap frames force re-import - "assets/generated/title/clouds.png", - "assets/generated/title/copyright_splash.png", - "data/generated/oak_speech.lua", -- Oak texts + trainer pics - "assets/generated/intro/oak.png", - "assets/generated/intro/cal.png", - "assets/generated/tilesets/johto.png", - "assets/generated/tilesets/roofs/new_bark.png", - "assets/generated/sprites/chris.png", - "assets/generated/battle/front/chikorita.png", - "assets/generated/battle/front/pikachu.png", - "assets/generated/battle/front/marill.png", -- Oak speech demo mon - -- The trainer class pics (TrainerPicPointers). FALKNER is row 0 of that - -- table, so a cache that produced any class pic at all produced this one. - -- Listed for the reason the Yellow markers above are: a cache built before - -- the stage existed reads as INCOMPLETE and re-imports itself, so this - -- particular gap cannot survive a tag bump being forgotten again. It - -- costs nothing on a current cache and is the difference between every - -- trainer battle opening with a picture and opening with none. - "assets/generated/battle/trainers/falkner.png", - -- BattleStart_TrainerHuds cannot draw its party rows from a cache made - -- before the four ball tiles were extracted (#1502). - "assets/generated/battle/hud/balls.png", - "assets/generated/audio/programs.bin", - -- Goldenrod Game Corner reel + board art (#1581). menu_gfx.lua used to - -- advertise these paths even when Slots*LZ / CardFlip* were absent from - -- the manifest, so a cache that never wrote the PNGs still looked - -- complete and SlotMachine crashed on its labelled-cell fallback. - "assets/generated/slots/gold_slots_1.png", - "assets/generated/card_flip/card_flip_1.png", - -- PCMailGFX (engine/pokemon/bills_pc.asm:2170-2173) - "assets/generated/pc/mail_item.png", - }, -} --- Same Gen 2 extract, so a Silver cache is complete when the same files exist. -VERSION_REQUIRED_FILES_OVERRIDE.silver = VERSION_REQUIRED_FILES_OVERRIDE.gold - -- "Split-screen ROM selector" first-run palette (matches the FirstRun mockup): -- a dark neon arcade panel, one column per game. -- Red, Blue, and Yellow share the same importer flow once listed in @@ -211,58 +86,6 @@ local PAL = { chipInkGold = { 58, 44, 0 }, -- #3a2c00 dark "Y" on the gold chip } --- Per-version required cache files. Gold replaces the Gen 1 list entirely --- (VERSION_REQUIRED_FILES_OVERRIDE); Yellow adds a few extra markers. -local function requiredFilesFor(version) - local override = VERSION_REQUIRED_FILES_OVERRIDE[version] - if override then return override, true end - return REQUIRED_FILES, false -end - --- CacheFs.exists checks the game folder directly for a portable install, --- otherwise the save directory through love.filesystem. It honors --- CacheFs.prefix, so we point it at the version's cache subtree (red/, --- blue/, yellow/, gold/). -local function allRequiredFilesExist(version) - local CacheFs = require("src.import.CacheFs") - local saved = CacheFs.prefix - CacheFs.prefix = GameVersion.cachePrefix(version) - local ok = true - local required, isOverride = requiredFilesFor(version) - for _, path in ipairs(required) do - if not CacheFs.exists(path) then ok = false; break end - end - if ok and not isOverride then - for _, path in ipairs(VERSION_REQUIRED_FILES[version] or {}) do - if not CacheFs.exists(path) then ok = false; break end - end - end - CacheFs.prefix = saved - return ok -end - --- A developer checkout / Python build leaves generated data in the physfs --- source: Red at the historical root, Blue/Yellow/Gold in their versioned --- trees. Imported Red caches still live under red/. Check source paths --- directly so that cache prefix cannot hide Red's source tree, and keep --- save-dir caches from counting as current source data. -local function sourceTreeHasData(version) - if not love.filesystem.getRealDirectory then return false end - local prefix = version == "red" and "" or GameVersion.cachePrefix(version) - local required, isOverride = requiredFilesFor(version) - for _, path in ipairs(required) do - if love.filesystem.getInfo(prefix .. path, "file") == nil then return false end - end - if not isOverride then - for _, path in ipairs(VERSION_REQUIRED_FILES[version] or {}) do - if love.filesystem.getInfo(prefix .. path, "file") == nil then return false end - end - end - local path = prefix .. required[1] - local real = love.filesystem.getRealDirectory(path) - return real == love.filesystem.getSource() -end - -- ------- ROM cache location -- -- The extracted cache (data/generated, assets/generated) plus the @@ -318,10 +141,15 @@ local function purgeSaveDirCache() -- / yellow/ / gold/ prefix) so it cannot shadow the portable game-folder cache. for _, version in ipairs(GameVersion.ORDER) do local prefix = GameVersion.cachePrefix(version) - if saveDirHas(prefix .. MARKER_PATH) or saveDirHas(prefix .. REQUIRED_FILES[1]) then + local required = CacheContract.requiredFilesFor(version) + local hasRequired = false + for _, path in ipairs(required) do + if saveDirHas(prefix .. path) then hasRequired = true; break end + end + if saveDirHas(prefix .. CacheContract.MARKER_PATH) or hasRequired then removeTree(prefix .. "data/generated") removeTree(prefix .. "assets/generated") - love.filesystem.remove(prefix .. MARKER_PATH) + love.filesystem.remove(prefix .. CacheContract.MARKER_PATH) end end end @@ -336,13 +164,7 @@ function RomImporter.isReady(version) -- save-directory copy that would otherwise shadow it at runtime. purgeSaveDirCache() end - -- Generated data in a developer checkout / Python build is always current. - if sourceTreeHasData(version) then return true end - local saved = CacheFs.prefix - CacheFs.prefix = GameVersion.cachePrefix(version) - local marker = CacheFs.read(MARKER_PATH) - CacheFs.prefix = saved - return marker == markerFor(version) and allRequiredFilesExist(version) + return CacheContract.isReady(version, CacheFs) end function RomImporter.syncAndroidShortcuts(activeVersion) @@ -1574,12 +1396,9 @@ function RomImporter.new(onComplete, opts) self.ready[version] = ready -- a marker present but for an older cache generation / different ROM means -- "update required" (re-import) rather than a clean first-run choose - local saved = CacheFs.prefix - CacheFs.prefix = info.cachePrefix - local marker = CacheFs.read(MARKER_PATH) - CacheFs.prefix = saved + local marker = CacheContract.readMarker(version, CacheFs) self.returning[version] = - (not ready) and marker ~= nil and marker ~= markerFor(version) + (not ready) and marker ~= nil and marker ~= CacheContract.markerFor(version) self.romName[version] = "pokemon_" .. info.id .. ((info.id == "yellow" or GameVersion.generation(version) == 2) and ".gbc" or ".gb") @@ -1889,10 +1708,10 @@ function RomImporter:startData(data, displayName) local cleared, clearError = pcall(function() removeTree(prefix .. "data/generated") removeTree(prefix .. "assets/generated") - love.filesystem.remove(prefix .. MARKER_PATH) + love.filesystem.remove(prefix .. CacheContract.MARKER_PATH) CacheFs.removeTree("data/generated") CacheFs.removeTree("assets/generated") - CacheFs.remove(MARKER_PATH) + CacheFs.remove(CacheContract.MARKER_PATH) end) CacheFs.prefix = savedPrefix if not cleared then @@ -1964,7 +1783,7 @@ function RomImporter:_completeImport(version, prefix, displayName) -- appear once every required file is in place. local savedPrefix = CacheFs.prefix CacheFs.prefix = prefix - local ok, writeError = CacheFs.write(MARKER_PATH, markerFor(version)) + local ok, writeError = CacheContract.publish(version, CacheFs) CacheFs.prefix = savedPrefix if not ok then error("could not finish the private cache: " .. tostring(writeError)) diff --git a/tests/engine/rom_cache_contract_test.lua b/tests/engine/rom_cache_contract_test.lua new file mode 100644 index 00000000..f5f5102d --- /dev/null +++ b/tests/engine/rom_cache_contract_test.lua @@ -0,0 +1,176 @@ +-- The cache contract is the shared Lua-side publication boundary. A writer +-- may stage outputs in any order, but readiness is published only after the +-- version-specific required set exists. +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check = T.check +local eq = T.eq +local CacheContract = require("src.import.CacheContract") + +local fs = { prefix = "initial/", files = {} } +local writes = {} +function fs.exists(path) + return fs.files[fs.prefix .. path] ~= nil +end +function fs.read(path) + return fs.files[fs.prefix .. path] +end +function fs.write(path, value) + writes[#writes + 1] = fs.prefix .. path + fs.files[fs.prefix .. path] = value + return true +end +function fs.remove(path) + fs.files[fs.prefix .. path] = nil +end + +local required, isOverride = CacheContract.requiredFilesFor("red") +check(not isOverride, "Red uses the shared required-file list") +check(#required > 0, "Red has required outputs") +eq(CacheContract.markerFor("red"), + CacheContract.FORMAT .. "ea9bcae617fdf159b045185467ae58b2e4a48b9a", + "marker contains format and Red SHA-1") + +for index = 1, #required - 1 do + fs.files["red/" .. required[index]] = true +end +local complete, missing = CacheContract.allRequiredFilesExist("red", fs) +check(not complete, "missing output keeps cache incomplete") +eq(missing, required[#required], "missing output is reported") +local published, publishError = CacheContract.publish("red", fs) +check(not published, "incomplete cache is not published") +check(publishError ~= nil, "incomplete publication explains the missing output") +check(fs.files["red/" .. CacheContract.MARKER_PATH] == nil, + "incomplete cache has no completion marker") + +-- Publication must remove a stale marker left by an interrupted replacement, +-- and must restore the caller prefix on both the success and failure paths. +fs.files["red/" .. CacheContract.MARKER_PATH] = "old-marker" +local removedMarker = CacheContract.publish("red", fs) +check(not removedMarker, "incomplete retry is still rejected") +check(fs.files["red/" .. CacheContract.MARKER_PATH] == nil, + "incomplete retry removes a stale completion marker") +eq(fs.prefix, "initial/", "incomplete publication restores the caller prefix") + +fs.files["red/" .. required[#required]] = true +fs.prefix = "caller/prefix/" +fs.files["red/" .. required[#required]] = true +for _, path in ipairs(required) do fs.files["red/" .. path] = true end +published, publishError = CacheContract.publish("red", fs) +check(published, "complete cache is published") +eq(publishError, nil, "complete publication has no error") +eq(fs.prefix, "caller/prefix/", "publication restores the caller prefix") +eq(fs.files["red/" .. CacheContract.MARKER_PATH], CacheContract.markerFor("red"), + "marker is written under the version prefix") +local marker = CacheContract.readMarker("red", fs) +eq(marker, CacheContract.markerFor("red"), "marker reads through the version prefix") +eq(writes[#writes], "red/" .. CacheContract.MARKER_PATH, + "the marker is the only publication write and comes last") + +-- Every supported version gets its own marker and complete cache semantics; +-- Yellow adds its three outputs, while Gold/Silver replace the Gen 1 set. +for _, version in ipairs({ "red", "blue", "yellow", "gold", "silver" }) do + local versionFiles, override = CacheContract.requiredFilesFor(version) + for _, path in ipairs(versionFiles) do + fs.files[version .. "/" .. path] = true + end + if not override then + for _, path in ipairs(CacheContract.VERSION_REQUIRED_FILES[version] or {}) do + fs.files[version .. "/" .. path] = true + end + end + local ready, missing = CacheContract.allRequiredFilesExist(version, fs) + check(ready, version .. " complete cache is ready (" .. tostring(missing) .. ")") + local didPublish = CacheContract.publish(version, fs) + check(didPublish, version .. " complete cache publishes") + eq(fs.files[version .. "/" .. CacheContract.MARKER_PATH], + CacheContract.markerFor(version), version .. " marker is version-scoped") + eq(fs.prefix, "caller/prefix/", version .. " publication restores prefix") + check(CacheContract.isReady(version, fs), version .. " complete cache is ready") +end + +local gold, goldOverride = CacheContract.requiredFilesFor("gold") +check(goldOverride, "Gold uses a version-specific required set") +local goldSet = {} +for _, path in ipairs(gold) do goldSet[path] = true end +check(goldSet["assets/generated/battle/hud/balls.png"], + "Gold required set includes trainer HUD art") +check(not goldSet["assets/generated/trade/game_boy.png"], + "Gold required set excludes Gen 1 trade art") +check(goldSet["data/generated/rom_text.lua"], + "Gold required set includes the Gen 2 engine text table") +local silver = CacheContract.requiredFilesFor("silver") +local silverSet = {} +for _, path in ipairs(silver) do silverSet[path] = true end +check(silverSet["data/generated/rom_text.lua"], + "Silver required set includes the Gen 2 engine text table") +check(not silverSet["assets/generated/trade/game_boy.png"], + "Silver required set excludes Gen 1 trade art") +check(CacheContract.VERSION_REQUIRED_FILES.yellow ~= nil, + "Yellow has version-specific required outputs") + +-- A throwing adapter must not strand the process in its temporary prefix. +local throwingFs = { prefix = "before/" } +function throwingFs.exists() error("probe failed") end +local probed, probeError = CacheContract.allRequiredFilesExist("blue", throwingFs) +check(not probed and probeError ~= nil, "filesystem probe errors are returned") +eq(throwingFs.prefix, "before/", "probe errors restore the caller prefix") +function throwingFs.write() error("write failed") end +function throwingFs.remove() end +for _, path in ipairs(CacheContract.REQUIRED_FILES) do + throwingFs.files = throwingFs.files or {} + throwingFs.files["blue/" .. path] = true +end +function throwingFs.exists(path) + return throwingFs.files[throwingFs.prefix .. path] ~= nil +end +local wrote = CacheContract.publish("blue", throwingFs) +check(not wrote, "write errors are returned") +eq(throwingFs.prefix, "before/", "write errors restore the caller prefix") + +-- Source-tree readiness must use the same version lists and reject a cache +-- when LÖVE cannot identify a real source directory. +local oldLove = love +love = nil +check(not CacheContract.sourceTreeHasData("red"), + "source-tree check is safe without LÖVE") +local sourceFiles = {} +love = { + filesystem = { + getRealDirectory = function(path) return sourceFiles[path] end, + getSource = function() return "/source" end, + getInfo = function(path) + return sourceFiles[path] and { type = "file" } or nil + end, + }, +} +for _, path in ipairs(CacheContract.REQUIRED_FILES) do sourceFiles[path] = "/source" end +check(CacheContract.sourceTreeHasData("red"), + "Red source tree uses the shared required set") +sourceFiles[CacheContract.REQUIRED_FILES[2]] = "/save" +check(not CacheContract.sourceTreeHasData("red"), + "source-tree readiness rejects a cache-overlaid required file") +sourceFiles = {} +local goldFiles = CacheContract.requiredFilesFor("gold") +for _, path in ipairs(goldFiles) do sourceFiles["gold/" .. path] = "/source" end +check(CacheContract.sourceTreeHasData("gold"), + "Gold source tree uses its override set") +love = oldLove + +-- Both importer completion paths must call the shared publication boundary. +local importerFile = assert(io.open("src/import/RomImporter.lua", "r")) +local importerSource = importerFile:read("*a") +importerFile:close() +local completionCalls = 0 +for _ in importerSource:gmatch("CacheContract%.publish%(%s*version") do + completionCalls = completionCalls + 1 +end +eq(completionCalls, 1, + "both thread and coroutine paths converge on one publishing helper") +check(importerSource:find("self:_completeImport%(version, prefix, displayName%)") + ~= nil, "coroutine completion uses the shared helper") +check(importerSource:find("pcall%(self%._completeImport") ~= nil, + "thread completion uses the shared helper") + +T.finish("rom cache contract") diff --git a/tests/engine/rom_importer_source_tree_test.lua b/tests/engine/rom_importer_source_tree_test.lua index 508ba043..4ac595cb 100644 --- a/tests/engine/rom_importer_source_tree_test.lua +++ b/tests/engine/rom_importer_source_tree_test.lua @@ -1,32 +1,34 @@ --- sourceTreeHasData must use each version's required-file list. Gold's --- cache has no Gen 1 trade art / pikachu.png; validating it against --- REQUIRED_FILES made a Gold source tree look incomplete forever. +-- sourceTreeHasData must use the engine-owned cache contract. Gold's cache has +-- no Gen 1 trade art; validating it against the Gen 1 list made a Gold source +-- tree look incomplete forever. package.path = "./?.lua;./?/init.lua;" .. package.path local T = require("tests.harness") local check = T.check +local CacheContract = require("src.import.CacheContract") local f = assert(io.open("src/import/RomImporter.lua", "r")) local src = f:read("*a") f:close() -local start = src:find("local function sourceTreeHasData", 1, true) -check(start ~= nil, "sourceTreeHasData is defined") -local finish = src:find("\nfunction RomImporter.isReady", start, true) -check(finish ~= nil, "sourceTreeHasData ends before isReady") -local body = src:sub(start, finish) +local readyStart = src:find("function RomImporter.isReady", 1, true) +check(readyStart ~= nil, "isReady is defined") +local readyEnd = src:find("\nfunction RomImporter.syncAndroidShortcuts", readyStart, true) +check(readyEnd ~= nil, "isReady ends before the next importer helper") +local readyBody = src:sub(readyStart, readyEnd) -check(body:find("requiredFilesFor", 1, true) ~= nil, - "sourceTreeHasData uses requiredFilesFor (Gold override, not Gen 1 only)") -check(body:find("ipairs(REQUIRED_FILES)", 1, true) == nil, - "sourceTreeHasData does not iterate the Gen 1 REQUIRED_FILES list raw") +check(readyBody:find("CacheContract.isReady", 1, true) ~= nil, + "isReady delegates source-tree and cache readiness to the contract") +check(readyBody:find("ipairs(REQUIRED_FILES)", 1, true) == nil, + "isReady does not iterate the Gen 1 REQUIRED_FILES list raw") -local helperStart = src:find("local function requiredFilesFor", 1, true) -check(helperStart ~= nil, "requiredFilesFor helper exists") -local helper = src:sub(helperStart, start) -check(helper:find("VERSION_REQUIRED_FILES_OVERRIDE", 1, true) ~= nil, - "requiredFilesFor consults VERSION_REQUIRED_FILES_OVERRIDE") -check(src:find('"assets/generated/battle/hud/balls.png"', 1, true) ~= nil, +local required, isOverride = CacheContract.requiredFilesFor("gold") +check(isOverride, "Gold uses the override required-file list") +local requiredSet = {} +for _, path in ipairs(required) do requiredSet[path] = true end +check(requiredSet["assets/generated/battle/hud/balls.png"], "Gold caches require the trainer HUD ball sheet") +check(not requiredSet["assets/generated/trade/game_boy.png"], + "Gold does not inherit the Gen 1 trade-art requirement") T.finish() diff --git a/tests/engine/trade_art_import.lua b/tests/engine/trade_art_import.lua index 71736adf..28cbed6f 100644 --- a/tests/engine/trade_art_import.lua +++ b/tests/engine/trade_art_import.lua @@ -84,15 +84,15 @@ if extractor then end -- a cache imported before #750 has none of the art; listing one of the --- files in REQUIRED_FILES is what makes it re-import -local importer = readFile("src/import/RomImporter.lua") -T.check(importer ~= nil, "src/import/RomImporter.lua is readable") -if importer then - local required = importer:match("local REQUIRED_FILES = {(.-)\n}") - T.check(required ~= nil, "REQUIRED_FILES parses") +-- files in the engine-owned cache contract is what makes it re-import +local contract = readFile("src/import/CacheContract.lua") +T.check(contract ~= nil, "src/import/CacheContract.lua is readable") +if contract then + local required = contract:match("CacheContract.REQUIRED_FILES = {(.-)\n}") + T.check(required ~= nil, "CacheContract.REQUIRED_FILES parses") T.check(required ~= nil and required:find( '"assets/generated/trade/game_boy.png"', 1, true) ~= nil, - "REQUIRED_FILES makes pre-#750 caches re-import the trade art") + "cache contract makes pre-#750 caches re-import the trade art") end T.finish("trade art import") From cb504e53284a6fdc078327383a5a7ae89af17484 Mon Sep 17 00:00:00 2001 From: Caorthann <274241274+caorthann-celt@users.noreply.github.com> Date: Sat, 22 Aug 2026 21:36:15 +0100 Subject: [PATCH 09/25] =?UTF-8?q?Update=20UWP=20L=C3=96VE=20backend=20for?= =?UTF-8?q?=20HTTP=20requests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ports/uwp/third_party/love/README.md | 2 +- ports/uwp/third_party/love/bin/love.dll | Bin 3470336 -> 3487744 bytes ports/uwp/third_party/love/lib/lovestatic.lib | Bin 15660 -> 15668 bytes ports/uwp/third_party/manifest.json | 6 +++--- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/uwp/third_party/love/README.md b/ports/uwp/third_party/love/README.md index cca8b2fa..2d0ea9d5 100644 --- a/ports/uwp/third_party/love/README.md +++ b/ports/uwp/third_party/love/README.md @@ -1,6 +1,6 @@ # LÖVE UWP binaries -These x64 UWP Release binaries were built from [`caorthann-celt/love-xbox-uwp`](https://github.com/caorthann-celt/love-xbox-uwp) at commit `cdf85f28ed794c95d6f5f7e3a8f23ca9ee1fbdcb`. +These x64 UWP Release binaries were built from [`caorthann-celt/love-xbox-uwp`](https://github.com/caorthann-celt/love-xbox-uwp) at commit `3f51bf0be5f3f86e5934da3893caba2b817f82c1`. The build uses LÖVE 11.5, LuaJIT, SDL2, and ANGLE. Keep the DLLs and import libraries together; they are one binary interface. diff --git a/ports/uwp/third_party/love/bin/love.dll b/ports/uwp/third_party/love/bin/love.dll index 306fc5c504b82b11c2c8f648e5d68ef23540039b..aff9cd5c99c65e796823dedbe2c49ac102434668 100644 GIT binary patch delta 910899 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

|LhFfUO6K;0q4mTJFQs7)eCsEgJC1b0 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%0AoiQ`c~ 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 XtG*++<0n^N^D6iM_a!v@+~WTS8`uJH delta 896925 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

ZUB+GES?1QM$BT4%}1p5x=4Xn4d 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�+WF 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 z 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 delta 582 zcmY+=O=uHA7zW^(B-3m**`%iR&?b?Pso9D@WJ%nrD2NI|J*Wju4=epK5vqwgq>>dBL!f`=A=4+TLCf(qJ`ieDBjIER<#d*@qN=3%u~y%zCq z?Ac_bGwJEX6Zb#YKfAF!V8WYCIV##zVq8woC z12&WHg&8Ygh;+JxvGcf0xDbh-zmxn}2j6TxpaDH>EPVV0KKqs<>(49FIf zv?GeDKOqK*qcAktGD(_>qBD>XbHr!OQZz_QxU22q?T7^>zG~gr9`x`o6oWe7;N;f7 zHy+-L$3flI7sCrBA?OKM7FtMmjWmlSFXB*0=jG+?v$#+5Ma+kEF&|^>J$S3+AM2}I z+g#!XeLa9};b_ Date: Sat, 22 Aug 2026 21:36:37 +0100 Subject: [PATCH 10/25] Add controller support to Skin Studio --- main.lua | 14 ++++---- src/ui/SkinStudio.lua | 84 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 87 insertions(+), 11 deletions(-) diff --git a/main.lua b/main.lua index 7b6fba4c..e3a8bc57 100644 --- a/main.lua +++ b/main.lua @@ -722,7 +722,7 @@ function love.gamepadpressed(joystick, button) end return end - if Studio then return end + if Studio then return Studio.gamepadpressed(joystick, button) end if Importer then return Importer:gamepadpressed(joystick, button) end if not Game then return end Game:gamepadpressed(joystick, button) @@ -742,7 +742,7 @@ function love.gamepadreleased(joystick, button) end return end - if Studio then return end + if Studio then return Studio.gamepadreleased(joystick, button) end if Importer then return Importer:gamepadreleased(joystick, button) end if not Game then return end Game:gamepadreleased(joystick, button) @@ -762,7 +762,7 @@ function love.gamepadaxis(joystick, axis, value) end return end - if Studio then return end + if Studio then return Studio.gamepadaxis(joystick, axis, value) end if Importer then return Importer:gamepadaxis(joystick, axis, value) end if not Game then return end Game:gamepadaxis(joystick, axis, value) @@ -782,7 +782,7 @@ function love.joystickpressed(joystick, button) end return end - if Studio then return end + if Studio then return Studio.joystickpressed(joystick, button) end if Importer then return Importer:joystickpressed(joystick, button) end if not Game then return end Game:joystickpressed(joystick, button) @@ -802,7 +802,7 @@ function love.joystickreleased(joystick, button) end return end - if Studio then return end + if Studio then return Studio.joystickreleased(joystick, button) end if Importer then return Importer:joystickreleased(joystick, button) end if not Game then return end Game:joystickreleased(joystick, button) @@ -822,7 +822,7 @@ function love.joystickaxis(joystick, axis, value) end return end - if Studio then return end + if Studio then return Studio.joystickaxis(joystick, axis, value) end if Importer then return Importer:joystickaxis(joystick, axis, value) end if not Game then return end Game:joystickaxis(joystick, axis, value) @@ -842,7 +842,7 @@ function love.joystickhat(joystick, hat, direction) end return end - if Studio then return end + if Studio then return Studio.joystickhat(joystick, hat, direction) end if Importer then return Importer:joystickhat(joystick, hat, direction) end if not Game then return end Game:joystickhat(joystick, hat, direction) diff --git a/src/ui/SkinStudio.lua b/src/ui/SkinStudio.lua index b27aa26e..d7a111d8 100644 --- a/src/ui/SkinStudio.lua +++ b/src/ui/SkinStudio.lua @@ -6,6 +6,8 @@ local TouchControls = require("src.core.TouchControls") local SaveData = require("src.core.SaveData") local FilePicker = require("src.core.FilePicker") local SafeArea = require("src.core.SafeArea") +local GamepadMap = require("src.core.GamepadMap") +local PadCursor = require("src.ui.PadCursor") local Studio = {} @@ -501,6 +503,7 @@ function Studio.load(opts) Studio.thumbs = {} Studio.pointerX, Studio.pointerY = nil, nil Studio.pointerDown, Studio.touchId = false, nil + PadCursor.reset() -- Studio always opens on the library. Creating and choosing a skin are -- first-class tasks, not controls buried inside the editor workspace. Studio.mode = "library" @@ -758,6 +761,7 @@ function Studio.unload() Studio.undoStack, Studio.redoStack = {}, {} Studio.pointerX, Studio.pointerY = nil, nil Studio.pointerDown, Studio.touchId = false, nil + PadCursor.reset() end -- The Studio is a real touch editor on Android and iOS. Keeping this here, @@ -2678,7 +2682,12 @@ function Studio.draw() local f = Studio._frame Kit.layout(f.w, f.h) local mx, my = love.mouse.getPosition() - if Studio.pointerX ~= nil then mx, my = Studio.pointerX, Studio.pointerY end + local px, py, padActive = PadCursor.pointer() + if padActive then + mx, my = px, py + elseif Studio.pointerX ~= nil then + mx, my = Studio.pointerX, Studio.pointerY + end Kit.beginFrame(mx, my, Studio.clicked, Studio.wheel) Studio.clicked, Studio.wheel = false, 0 Theme.fill(0, 0, W, H, PAL.bg, 1) @@ -2691,19 +2700,26 @@ function Studio.draw() Kit.blockClicks = false Studio.drawOverlay(f.w, f.h) Kit.endFrame() + PadCursor.draw() end -- ---------------------------------------------------------------- input -function Studio.update() +function Studio.update(dt) + PadCursor.update(dt or 0) + local x, y, active = PadCursor.pointer() + if active and Studio.pointerDown then Studio.mousemoved(x, y) end + local wheel = PadCursor.takeWheel() + if wheel ~= 0 then Studio.wheelmoved(0, wheel) end if not Studio.pendingPlay then return end Studio.pendingPlay = false local onPlay, version, canvas = Studio.onPlay, Studio.version, Studio.canvas() if onPlay then onPlay(version, canvas) end end -function Studio.mousepressed(x, y, button) +function Studio.mousepressed(x, y, button, fromPad) if button ~= 1 then return end + if not fromPad then PadCursor.yieldToPointer() end Studio.pointerX, Studio.pointerY = x, y Studio.pointerDown = true Studio.clicked = true @@ -2760,6 +2776,65 @@ function Studio.touchpressed(id, x, y) return Studio.mousepressed(x, y, 1) end +local function closeFromPad() + if Studio.confirm then + Studio.confirmNo() + elseif Studio.modal then + Studio.closeModal() + elseif Studio.mode == "editor" then + Studio.backToLibrary() + elseif Studio.onClose then + Studio.onClose() + end +end + +local function handlePadAction(action) + if action == "a" then + local x, y = PadCursor.pointer() + Studio.mousepressed(x, y, 1, true) + elseif action == "b" then + closeFromPad() + end +end + +function Studio.gamepadpressed(joystick, button) + handlePadAction(PadCursor.gamepadpressed(joystick, button)) +end + +function Studio.gamepadreleased(joystick, button) + PadCursor.gamepadreleased(joystick, button) + if GamepadMap.mapGamepadButton(button) == "a" then + local x, y = PadCursor.pointer() + Studio.mousereleased(x, y, 1) + end +end + +function Studio.gamepadaxis(joystick, axis, value) + PadCursor.gamepadaxis(joystick, axis, value) +end + +function Studio.joystickpressed(joystick, button) + handlePadAction(PadCursor.joystickpressed(joystick, button)) +end + +function Studio.joystickreleased(joystick, button) + PadCursor.joystickreleased(joystick, button) + if GamepadMap.ignoreRawForJoystick(joystick) then return end + local padButton = GamepadMap.mapRawToGamepadButton(button) + if padButton and GamepadMap.mapGamepadButton(padButton) == "a" then + local x, y = PadCursor.pointer() + Studio.mousereleased(x, y, 1) + end +end + +function Studio.joystickaxis(joystick, axis, value) + PadCursor.joystickaxis(joystick, axis, value) +end + +function Studio.joystickhat(joystick, hat, direction) + PadCursor.joystickhat(joystick, hat, direction) +end + function Studio.touchmoved(id, x, y) if Studio.touchId ~= id then return end return Studio.mousemoved(x, y) @@ -2774,7 +2849,8 @@ end function Studio.wheelmoved(_, dy) if Studio.mode == "editor" and not Studio.modalUp() and dy and dy ~= 0 then local work = Studio.canvasWorkspace - local mx, my = Studio.pointerX, Studio.pointerY + local mx, my, active = PadCursor.pointer() + if not active then mx, my = Studio.pointerX, Studio.pointerY end if (not mx or not my) and love and love.mouse and love.mouse.getPosition then mx, my = love.mouse.getPosition() end From 0147e3d87b28807a809f834ee53f7ec1a787449b Mon Sep 17 00:00:00 2001 From: Bo Layer Date: Sun, 23 Aug 2026 03:17:27 -0600 Subject: [PATCH 11/25] feat(mod-api): add composable map occupancy seam --- data/scripts/story3.lua | 33 ++++- docs/modding.md | 50 +++++++ .../0013-map-occupancy-and-active-block.md | 131 ++++++++++++++++++ src/world/WorldAPI.lua | 30 ++++ 4 files changed, 237 insertions(+), 7 deletions(-) create mode 100644 docs/rfcs/0013-map-occupancy-and-active-block.md diff --git a/data/scripts/story3.lua b/data/scripts/story3.lua index d2d4dbd5..787b0d99 100644 --- a/data/scripts/story3.lua +++ b/data/scripts/story3.lua @@ -2,6 +2,8 @@ -- ghost, elevators, the Game Corner coins/prizes, the SS Anne departure -- and the Hall of Fame record. Each cites its pokered source. +local Runtime = require("src.mods.Runtime") + local M = {} -- ------------------------------------------------------------------- @@ -909,17 +911,34 @@ M.VERMILION_DOCK = { local f = game.save.flags if Flags.get(game.save, "EVENT_SS_ANNE_LEFT") then -- the ship is long gone: erase her right away, and anyone who - -- still lands here is sent back out past the guard + -- still lands here is sent back out past the guard unless a mod + -- explicitly permits this occupied map state. This hook surrounds + -- only the ejection decision; the map's complete onEnter chain has + -- already run and the departed ship remains erased. for _, b in ipairs(DOCK_SHIP_BLOCKS) do ow.map:setBlock(b.bx, b.by, b.water) end ow.map.renderer:rebuild() - local TextBox = require("src.render.TextBox") - game.stack:push(TextBox.new(game, - game.data.text._VermilionCitySailor1ShipSetSailText - or "The ship set sail.", function() - ow:startWarpTo("VERMILION_CITY", 18, 29, "up") - end)) + local occupancyAllowed = false + if Runtime.wantsHook("map.occupancy_allowed") then + local player = ow.player or {} + occupancyAllowed = Runtime.call("map.occupancy_allowed", + function() return false end, game, { + mapId = "VERMILION_DOCK", + reason = "ss_anne_departed", + gameVersion = game.save and game.save.version, + x = player.cellX, + y = player.cellY, + }) == true + end + if not occupancyAllowed then + local TextBox = require("src.render.TextBox") + game.stack:push(TextBox.new(game, + game.data.text._VermilionCitySailor1ShipSetSailText + or "The ship set sail.", function() + ow:startWarpTo("VERMILION_CITY", 18, 29, "up") + end)) + end elseif f.EVENT_GOT_HM01 and ow.player.cellY == 2 then -- VermilionDockSSAnneLeavesScript: only stepping OFF the ship -- triggers the departure (wDestinationWarpID == 1 in pokered) -- diff --git a/docs/modding.md b/docs/modding.md index 7c724404..73c8d853 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -228,6 +228,56 @@ optional visual `tileRows` at 2x resolution, and optional `tileDetailRows` at read-only snapshots; mods choose which layers to render. Red and Gold expose the same contract while applying their own object and event visibility rules. +### Active Gen 1 block checks + +Red, Blue, and Yellow expose +`mod.world:activeBlockAt(mapId, blockX, blockY)`. It returns the numeric block +ID at one zero-based block coordinate only when `mapId` is the active map. +The value is a scalar snapshot: changing it cannot change the map. This lets a +mod compare a small runtime map signature before it applies a lawful authored +replacement, without reading the mutable map or ROM cache through engine +internals. + +The method fails closed. Before an overworld exists it returns +`nil, "no overworld"`; for a different active map it returns +`nil, "map is not active"`; non-numeric, non-finite, or fractional coordinates +return `nil, "invalid block coordinates"`; and negative or out-of-range +coordinates return `nil, "block coordinates out of bounds"`. An unavailable +or malformed active block returns `nil, "block unavailable"`. The caller must +require every expected cell to match before changing presentation. This method +is Gen 1-only; Gold callers receive no parity promise for it. + +### Conditional map occupancy + +`map.occupancy_allowed` is a narrow Gen 1 hook around a map script's vanilla +decision to eject the player from an otherwise valid loaded map. Its first +call site is the post-departure `VERMILION_DOCK` branch. The ship has already +been erased when the hook runs, and the hook does not replace or suppress any +base or peer map handler. + +The wrapper receives `(next, game, context)`. The dock context is a copied +`{ mapId = "VERMILION_DOCK", reason = "ss_anne_departed", gameVersion, x, y }` +record. Vanilla returns `false`. Return exactly `true` to allow the player to +remain; every other value denies occupancy and preserves the normal message +and warp. A composable wrapper calls downstream first and only adds its own +permission: + +```lua +mod.hooks:wrap("map.occupancy_allowed", function(next, game, ctx) + local allowed = next(game, ctx) + local mine = ctx.mapId == "VERMILION_DOCK" + and ctx.reason == "ss_anne_departed" + and myPublicEligibilityCheck(game) + return allowed == true or mine == true +end) +``` + +With no wrapper, the hook allocates no context and vanilla behavior is byte-for- +byte unchanged. A throwing wrapper is isolated by the normal hook bus. A nil, +string, number, table, or other malformed final answer fails closed. Disabling +or uninstalling the permitting mod therefore restores vanilla ejection without +changing the S.S. Anne story flag or restoring the ship. + ## Party ordering Companion UIs and alternate party screens can call diff --git a/docs/rfcs/0013-map-occupancy-and-active-block.md b/docs/rfcs/0013-map-occupancy-and-active-block.md new file mode 100644 index 00000000..1066ddc3 --- /dev/null +++ b/docs/rfcs/0013-map-occupancy-and-active-block.md @@ -0,0 +1,131 @@ +# RFC 0013: Conditional map occupancy and active-block reads + +## Status + +Proposed. + +## Motivation + +The Gen 1 Vermilion Dock script correctly ejects a player who enters after the +S.S. Anne has departed. A content mod can add a city-side route back to that +empty harbor, but it cannot preserve the dock visit: replacing the complete +dock handler would discard vanilla behavior and peer handlers, while an added +handler cannot cancel the base handler's ejection. + +A mod that changes one active map block also needs to prove that it is looking +at the expected Red, Blue, or Yellow layout before it acts. `mapOverview()` is +intentionally presentation-oriented and does not expose block identity. +Requiring internal `Map` state or generated ROM data would cross the public mod +boundary and make a wrong-version edit difficult to fail closed. + +## Decision and plan extended + +This extends Route B in `CONTRIBUTING-mods.md`: new behavior is additive, +ordinary hook composition remains the authority, an empty hook chain is a +provable no-op, and mods receive copied or scalar data rather than mutable +engine state. It supports the approved Mew-under-the-truck implementation plan +without adding any Mew-specific rule, asset, flag, or content to the engine. + +## Exact API delta + +### `map.occupancy_allowed` + +The post-departure `VERMILION_DOCK` script calls this hook after it replaces the +ship blocks with water and immediately before it would display the departure +message and warp the player to Vermilion City. + +A wrapper has this shape: + +```lua +function(next, game, context) -> boolean +``` + +The context is a new table with these fields: + +| Field | Meaning | +|---|---| +| `mapId` | `"VERMILION_DOCK"` at this call site | +| `reason` | Stable reason key `"ss_anne_departed"` | +| `gameVersion` | Active save version (`red`, `blue`, or `yellow`) when present | +| `x`, `y` | Current player cell coordinates when present | + +Vanilla returns `false`. The player remains only when the final chain result is +exactly `true`. Absent, throwing, or malformed wrappers therefore preserve +ejection. A wrapper composes by calling `next(game, context)` and returning +true when either downstream or its own narrow rule permits occupancy. The hook +does not replace `MapScripts` registration, merging, or dispatch, and does not +change the departure flag or reconstruct the ship. + +The call is guarded by `Runtime.wantsHook`, so an empty chain allocates no +context and follows the prior branch exactly. + +### `WorldAPI:activeBlockAt` + +Gen 1's public `mod.world` facade adds: + +```lua +activeBlockAt(mapId, blockX, blockY) -> blockId + | nil, reason +``` + +`mapId` must equal the active map ID. Coordinates are finite, integral, +zero-based block coordinates. A successful result is a numeric scalar copied +from the active runtime map. The method never returns the map's mutable block +array and never writes game or save state. + +Failure reasons are stable: + +| Condition | Reason | +|---|---| +| No active overworld map | `no overworld` | +| `mapId` differs from the active map | `map is not active` | +| Coordinate has the wrong type, is non-finite, or is fractional | `invalid block coordinates` | +| Coordinate is negative or outside the active map | `block coordinates out of bounds` | +| Active block data is absent or malformed | `block unavailable` | + +Requiring the expected map ID and rejecting all ambiguous input lets a mod +compare every cell in its version-specific signature before it calls an +existing mutation API. Red, Blue, and Yellow each use their own loaded map +data. Gold does not gain this method in this RFC. + +## Migration and compatibility + +Existing mods change nothing. No hook, event, registry, manifest field, save +field, map handler, or WorldAPI method is removed or renamed. With no hook +subscriber the departed-dock behavior is unchanged. Existing callers cannot +invoke the new WorldAPI method accidentally. + +The occupancy answer is not persisted by the engine. Disabling or uninstalling +a mod removes its wrapper through normal owner cleanup, so a later dock entry +uses vanilla ejection. The engine writes no new save state and neither API +returns or serializes ROM or save data. + +## Verification requirements + +The parity gate must prove: + +- vanilla departed-dock message and warp remain with no subscriber; +- one permission wrapper can allow occupancy without removing the ship-erasure + work or any map handler; +- multiple cooperative wrappers preserve downstream permission; +- absent, throwing, nil, false, and malformed hook answers fail closed; +- Red, Blue, and Yellow contexts keep their version identity separate; +- disabling or removing the owner restores vanilla behavior without a save + migration; +- `activeBlockAt` accepts only the active map and valid in-range integral + coordinates, returns a scalar, and never mutates map or save state; and +- the test fixtures and resulting changes contain no ROM or save payload. + +The hook must be driven through a real public `hooks:wrap` chain. The block API +must be exercised through a public `WorldAPI` instance. Tests must not replace +the production map handler with a test-only implementation. + +## Docs with the change + +`docs/modding.md` documents both contracts, their failure behavior, the +cooperative wrapper pattern, and the Gen 1-only block method. No registry or +schema changes occur, so generated registry documentation is unchanged. + +## Deprecation etiquette + +Nothing is removed, superseded, or deprecated. diff --git a/src/world/WorldAPI.lua b/src/world/WorldAPI.lua index 69b9eea2..a7abd4f3 100644 --- a/src/world/WorldAPI.lua +++ b/src/world/WorldAPI.lua @@ -117,6 +117,36 @@ function WorldAPI:current() facing = p and p.facing } end +local function validBlockCoordinate(value) + return type(value) == "number" and value == value + and value ~= math.huge and value ~= -math.huge + and value == math.floor(value) +end + +-- Read one block from the active Gen 1 map without exposing the mutable block +-- array. Requiring the expected map id makes a stale signature fail closed +-- if a warp or reload moved the player before the caller completed its check. +-- Block coordinates are zero-based, matching replaceBlock. +function WorldAPI:activeBlockAt(mapId, bx, by) + local ow = self:overworld() + if not ow or not ow.map then return nil, NO_OVERWORLD end + local map = ow.map + if map.id ~= mapId then return nil, "map is not active" end + if not validBlockCoordinate(bx) or not validBlockCoordinate(by) then + return nil, "invalid block coordinates" + end + local def = map.def + if not def or type(def.width) ~= "number" or type(def.height) ~= "number" + or bx < 0 or by < 0 or bx >= def.width or by >= def.height then + return nil, "block coordinates out of bounds" + end + local blockId = map:blockAt(bx, by) + if not validBlockCoordinate(blockId) or blockId < 0 then + return nil, "block unavailable" + end + return blockId +end + -- Companion UIs may offer party ordering while the player is in free roam. -- The same guard that makes opening a menu safe keeps scripts, transitions, -- movement and screens above the overworld from observing a mid-action swap. From c9221daa90d7fba96b4ba4a6443e4910499cc130 Mon Sep 17 00:00:00 2001 From: Bo Layer Date: Sun, 23 Aug 2026 03:18:17 -0600 Subject: [PATCH 12/25] fix(mod-api): fail closed on malformed map blocks --- docs/modding.md | 11 +++++++++-- docs/rfcs/0013-map-occupancy-and-active-block.md | 9 ++++++++- src/world/WorldAPI.lua | 14 ++++++++++---- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/docs/modding.md b/docs/modding.md index 73c8d853..8687c7a2 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -272,12 +272,19 @@ mod.hooks:wrap("map.occupancy_allowed", function(next, game, ctx) end) ``` -With no wrapper, the hook allocates no context and vanilla behavior is byte-for- -byte unchanged. A throwing wrapper is isolated by the normal hook bus. A nil, +With no wrapper, the hook allocates no context and vanilla behavior is +unchanged. A throwing wrapper is isolated by the normal hook bus. A nil, string, number, table, or other malformed final answer fails closed. Disabling or uninstalling the permitting mod therefore restores vanilla ejection without changing the S.S. Anne story flag or restoring the ship. +Normal hook-chain ownership applies: a wrapper that does not call `next` +intentionally owns the final answer and does not run lower-priority wrappers. +Permission wrappers must call `next` as shown above to compose. A noncompliant +wrapper that returns false without calling `next` safely denies occupancy and +can suppress downstream permission by this standard rule. A malformed answer +also fails closed and cannot force occupancy. + ## Party ordering Companion UIs and alternate party screens can call diff --git a/docs/rfcs/0013-map-occupancy-and-active-block.md b/docs/rfcs/0013-map-occupancy-and-active-block.md index 1066ddc3..cfb796db 100644 --- a/docs/rfcs/0013-map-occupancy-and-active-block.md +++ b/docs/rfcs/0013-map-occupancy-and-active-block.md @@ -56,6 +56,12 @@ true when either downstream or its own narrow rule permits occupancy. The hook does not replace `MapScripts` registration, merging, or dispatch, and does not change the departure flag or reconstruct the ship. +As with every wrapper hook, a callback that does not call `next` intentionally +owns the final answer and does not run lower-priority callbacks. Permission +wrappers must call downstream to compose. A false, non-forwarding wrapper +safely denies occupancy and can suppress downstream permission by this normal +rule. A malformed final result also fails closed and cannot permit occupancy. + The call is guarded by `Runtime.wantsHook`, so an empty chain allocates no context and follows the prior branch exactly. @@ -108,7 +114,8 @@ The parity gate must prove: - one permission wrapper can allow occupancy without removing the ship-erasure work or any map handler; - multiple cooperative wrappers preserve downstream permission; -- absent, throwing, nil, false, and malformed hook answers fail closed; +- absent, throwing, nil, false, malformed, and non-forwarding hook answers fail + closed according to the normal wrapper-chain rule; - Red, Blue, and Yellow contexts keep their version identity separate; - disabling or removing the owner restores vanilla behavior without a save migration; diff --git a/src/world/WorldAPI.lua b/src/world/WorldAPI.lua index a7abd4f3..e204d635 100644 --- a/src/world/WorldAPI.lua +++ b/src/world/WorldAPI.lua @@ -136,12 +136,18 @@ function WorldAPI:activeBlockAt(mapId, bx, by) return nil, "invalid block coordinates" end local def = map.def - if not def or type(def.width) ~= "number" or type(def.height) ~= "number" - or bx < 0 or by < 0 or bx >= def.width or by >= def.height then + if not def or not validBlockCoordinate(def.width) or def.width <= 0 + or not validBlockCoordinate(def.height) or def.height <= 0 then + return nil, "block unavailable" + end + if bx < 0 or by < 0 or bx >= def.width or by >= def.height then return nil, "block coordinates out of bounds" end - local blockId = map:blockAt(bx, by) - if not validBlockCoordinate(blockId) or blockId < 0 then + if type(def.blocks) ~= "table" or type(map.blockAt) ~= "function" then + return nil, "block unavailable" + end + local ok, blockId = pcall(map.blockAt, map, bx, by) + if not ok or not validBlockCoordinate(blockId) or blockId < 0 then return nil, "block unavailable" end return blockId From 3b7fc428585ff4ce2361dfd29e16a25f489b983b Mon Sep 17 00:00:00 2001 From: Bo Layer Date: Sun, 23 Aug 2026 03:20:23 -0600 Subject: [PATCH 13/25] test(mod-api): gate Mew dock seams --- .../engine/mew_dock_private_artifact_gate.lua | 49 ++ tests/engine/mew_dock_seam_contract.lua | 428 ++++++++++++++++++ 2 files changed, 477 insertions(+) create mode 100644 tests/engine/mew_dock_private_artifact_gate.lua create mode 100644 tests/engine/mew_dock_seam_contract.lua diff --git a/tests/engine/mew_dock_private_artifact_gate.lua b/tests/engine/mew_dock_private_artifact_gate.lua new file mode 100644 index 00000000..1402aefd --- /dev/null +++ b/tests/engine/mew_dock_private_artifact_gate.lua @@ -0,0 +1,49 @@ +-- Static privacy gate for the narrow Mew dock engine branch. It checks the +-- Git publication set, not ignored local imports: user ROMs and progress +-- saves may exist on a developer machine but must never become tracked files. + +package.path = "./?.lua;./?/init.lua;" .. package.path +local T = require("tests.harness") + +local pipe = io.popen("git ls-files 2>" .. (package.config:sub(1, 1) == "\\" and "nul" or "/dev/null")) +local paths = {} +if pipe then + for path in pipe:lines() do paths[#paths + 1] = path:gsub("\\", "/") end + pipe:close() +end + +T.check(#paths > 100, + "privacy gate inspects a real Git publication set instead of passing vacuously") + +local forbiddenExtensions = { + gb = true, gbc = true, gba = true, sav = true, srm = true, + rom = true, z64 = true, v64 = true, n64 = true, nds = true, + sfc = true, smc = true, +} +local forbiddenRuntimeRoots = { + ["save.lua"] = true, + ["save_blue.lua"] = true, + ["save_yellow.lua"] = true, + ["save_gold.lua"] = true, + ["options.lua"] = true, +} + +local binaryLeaks, runtimeLeaks = {}, {} +for _, path in ipairs(paths) do + local lower = path:lower() + local ext = lower:match("%.([^./\\]+)$") + if forbiddenExtensions[ext] then binaryLeaks[#binaryLeaks + 1] = path end + if forbiddenRuntimeRoots[lower] + or lower:match("^saves/") + or lower:match("^imports/") + or lower:match("^mods%-data/") then + runtimeLeaks[#runtimeLeaks + 1] = path + end +end + +T.eq(#binaryLeaks, 0, + "tracked publication contains no ROM/save binaries: " .. table.concat(binaryLeaks, ", ")) +T.eq(#runtimeLeaks, 0, + "tracked publication contains no runtime save/import data: " .. table.concat(runtimeLeaks, ", ")) + +T.finish("mew dock private artifact gate") diff --git a/tests/engine/mew_dock_seam_contract.lua b/tests/engine/mew_dock_seam_contract.lua new file mode 100644 index 00000000..627dfca6 --- /dev/null +++ b/tests/engine/mew_dock_seam_contract.lua @@ -0,0 +1,428 @@ +-- Contract gate for the two narrow Gen 1 seams added for a composable +-- post-departure S.S. Anne dock mod. The suite is ROM-free: it drives the +-- real hook bus and WorldAPI against hand-written maps and save snapshots. + +package.path = "./?.lua;./?/init.lua;" .. package.path +love = love or require("tests.love_stub") + +local T = require("tests.harness") +local Hooks = require("src.mods.Hooks") +local Runtime = require("src.mods.Runtime") +local WorldAPI = require("src.world.WorldAPI") + +local oldHooks = Runtime.hooks +local oldTextBox = package.loaded["src.render.TextBox"] + +package.loaded["src.render.TextBox"] = { + new = function(_, text, done) return { text = text, done = done } end, +} + +local story = dofile("data/scripts/story3.lua") +local VERSIONS = { "red", "blue", "yellow" } + +local function newDock(version, wrappers) + local blocks, pushes, warps = {}, {}, {} + local rebuilds = 0 + local save = { + version = version, + flags = { EVENT_SS_ANNE_LEFT = true }, + marker = "save-must-not-change", + } + local map = { + id = "VERMILION_DOCK", + setBlock = function(_, bx, by, block) + blocks[bx .. "," .. by] = block + end, + renderer = { rebuild = function() rebuilds = rebuilds + 1 end }, + } + local game = { + save = save, + data = { text = { + _VermilionCitySailor1ShipSetSailText = "The ship set sail.", + } }, + stack = { push = function(_, value) pushes[#pushes + 1] = value end }, + } + local ow = { + map = map, + player = { cellX = 14, cellY = 2, facing = "down" }, + startWarpTo = function(_, ...) + warps[#warps + 1] = { ... } + end, + } + + local hooks = Hooks.new() + Runtime.hooks = hooks + for _, entry in ipairs(wrappers or {}) do + hooks:wrap("map.occupancy_allowed", entry.fn, entry.priority or 0, + entry.owner) + end + + story.VERMILION_DOCK.onEnter(game, ow) + if pushes[1] and pushes[1].done then pushes[1].done() end + return { + blocks = blocks, pushes = pushes, warps = warps, rebuilds = rebuilds, + save = save, map = map, game = game, ow = ow, hooks = hooks, + } +end + +local function allowedWrapper(owner, inspect) + return { + owner = owner, + fn = function(nextFn, game, ctx) + if inspect then inspect(game, ctx) end + local downstream = nextFn(game, ctx) + local ownClaim = true + return downstream == true or ownClaim == true + end, + } +end + +-- With no subscriber, the post-departure branch remains byte-for-byte +-- vanilla in effect: erase the ship, show its line, and eject the player. +do + local run = newDock("red") + T.eq(run.rebuilds, 1, "vanilla re-entry rebuilds the erased dock") + T.eq(run.blocks["5,1"], 1, "vanilla re-entry erases the upper hull") + T.eq(run.blocks["8,2"], 13, "vanilla re-entry erases the lower hull") + T.eq(#run.pushes, 1, "vanilla re-entry shows the ship-set-sail line") + T.eq(run.pushes[1].text, "The ship set sail.", + "vanilla re-entry preserves its dialogue") + T.eq(run.warps[1] and run.warps[1][1], "VERMILION_CITY", + "vanilla re-entry ejects to Vermilion City") +end + +-- The new permission seam is post-departure only. An ordinary HM01 exit +-- must not invoke it or change the existing departure-script path. +do + local hookCalls, queued = 0, nil + local hooks = Hooks.new() + Runtime.hooks = hooks + hooks:wrap("map.occupancy_allowed", function(nextFn, game, ctx) + hookCalls = hookCalls + 1 + return nextFn(game, ctx) + end, 0, "must_not_run") + + local savedMusic = package.loaded["src.core.Music"] + package.loaded["src.core.Music"] = { + stop = function() end, + play = function() end, + } + local game = { + save = { version = "red", flags = { EVENT_GOT_HM01 = true } }, + data = {}, + } + local ow = { + player = { cellX = 14, cellY = 2 }, + startDustAnim = function(_, _, _, done) if done then done() end end, + queueScript = function(_, rows) queued = rows end, + } + story.VERMILION_DOCK.onEnter(game, ow) + package.loaded["src.core.Music"] = savedMusic + + T.eq(hookCalls, 0, "normal HM01 departure never calls the occupancy seam") + T.eq(game.save.flags.EVENT_SS_ANNE_LEFT, true, + "normal HM01 departure still sets the vanilla event flag") + T.check(type(queued) == "table" and #queued > 0, + "normal HM01 departure still queues its sail-away script") +end + +-- One cooperative claimant may permit occupancy. The callback receives a +-- detached data snapshot, not the live overworld, map, player, or save. +do + local seenGame, seenCtx + local run = newDock("red", { allowedWrapper("mew_fixture", function(game, ctx) + seenGame = game + seenCtx = { + mapId = ctx.mapId, reason = ctx.reason, gameVersion = ctx.gameVersion, + x = ctx.x, y = ctx.y, + } + ctx.mapId, ctx.x, ctx.y = "MUTATED", -1, -1 + end) }) + T.eq(seenGame, run.game, "occupancy callback receives the live game explicitly") + T.same(seenCtx, { + mapId = "VERMILION_DOCK", reason = "ss_anne_departed", + gameVersion = "red", x = 14, y = 2, + }, "occupancy context is the exact detached Red dock snapshot") + T.eq(run.ow.map.id, "VERMILION_DOCK", "context mutation cannot change the map") + T.eq(run.ow.player.cellX, 14, "context mutation cannot change player X") + T.eq(run.ow.player.cellY, 2, "context mutation cannot change player Y") + T.eq(run.save.marker, "save-must-not-change", "permission check does not mutate save") + T.same(run.save, { + version = "red", flags = { EVENT_SS_ANNE_LEFT = true }, + marker = "save-must-not-change", + }, "permission check preserves the complete save snapshot") + T.eq(#run.pushes, 0, "an exact true suppresses the vanilla rejection dialog") + T.eq(#run.warps, 0, "an exact true permits post-departure dock occupancy") + T.eq(run.blocks["5,1"], 1, "permitted occupancy still erases the departed ship") + T.eq(run.rebuilds, 1, "permitted occupancy still rebuilds the water layout") +end + +-- Standard hook composition also means a non-cooperative false/no-next +-- wrapper can suppress downstream claims. This remains safe because false +-- is denial; it cannot accidentally grant occupancy. +do + local downstreamCalls = 0 + local run = newDock("red", { + { + owner = "denier", priority = 10, + fn = function() return false end, + }, + { + owner = "unreached_claimant", priority = 0, + fn = function() + downstreamCalls = downstreamCalls + 1 + return true + end, + }, + }) + T.eq(downstreamCalls, 0, "no-next denial suppresses downstream by hook semantics") + T.eq(run.warps[1] and run.warps[1][1], "VERMILION_CITY", + "non-cooperative false remains fail-closed") +end + +-- Cooperative peers all run through next(). A lower-priority peer claim is +-- preserved by a higher-priority peer that has no claim of its own. +do + local calls, contextIdentity = {}, nil + local run = newDock("blue", { + { + owner = "peer_high", priority = 10, + fn = function(nextFn, game, ctx) + calls[#calls + 1] = "high-before" + contextIdentity = ctx + local allowed = nextFn(game, ctx) + calls[#calls + 1] = "high-after" + return allowed == true or false + end, + }, + { + owner = "peer_low", priority = 0, + fn = function(nextFn, game, ctx) + calls[#calls + 1] = "low" + T.eq(ctx, contextIdentity, "peer wrappers share one detached snapshot instance") + local allowed = nextFn(game, ctx) + local ownClaim = true + return allowed == true or ownClaim == true + end, + }, + }) + T.same(calls, { "high-before", "low", "high-after" }, + "multiple peer handlers preserve hook-chain order") + T.eq(#run.warps, 0, "a cooperative peer claim survives the whole chain") +end + +-- Absent, throwing, or malformed callbacks fail closed. Only boolean true +-- can turn off ejection; truthy strings/tables/numbers do not grant access. +do + local malformed = { + { label = "nil", value = nil }, + { label = "false", value = false }, + { label = "string", value = "yes" }, + { label = "number", value = 1 }, + { label = "table", value = {} }, + } + for _, case in ipairs(malformed) do + local run = newDock("red", { { + owner = "malformed_" .. case.label, + fn = function() return case.value end, + } }) + T.eq(run.warps[1] and run.warps[1][1], "VERMILION_CITY", + "malformed " .. case.label .. " permission fails closed") + end + + local beforeNext = newDock("red", { { + owner = "throws_before_next", + fn = function() error("fixture throws before next", 0) end, + } }) + T.eq(beforeNext.warps[1] and beforeNext.warps[1][1], "VERMILION_CITY", + "throwing callback before next fails closed") + + local afterNext = newDock("red", { { + owner = "throws_after_next", + fn = function(nextFn, game, ctx) + nextFn(game, ctx) + error("fixture throws after next", 0) + end, + } }) + T.eq(afterNext.warps[1] and afterNext.warps[1][1], "VERMILION_CITY", + "throwing callback after next keeps the downstream denial") +end + +-- The context carries one version only. A Red-only claimant must not leak +-- access into Blue or Yellow, and each call gets its own snapshot. +do + local contexts = {} + for _, version in ipairs(VERSIONS) do + local run = newDock(version, { { + owner = "red_only", + fn = function(nextFn, game, ctx) + contexts[#contexts + 1] = ctx + local downstream = nextFn(game, ctx) + return downstream == true or ctx.gameVersion == "red" + end, + } }) + T.eq(#run.warps == 0, version == "red", + version .. " occupancy is decided only by its own version context") + end + T.eq(contexts[1].gameVersion, "red", "Red context stays Red") + T.eq(contexts[2].gameVersion, "blue", "Blue context stays Blue") + T.eq(contexts[3].gameVersion, "yellow", "Yellow context stays Yellow") + T.check(contexts[1] ~= contexts[2] and contexts[2] ~= contexts[3], + "Red, Blue, and Yellow calls do not share context tables") +end + +-- Removing the owner is the engine's disable/uninstall path. It restores +-- vanilla denial immediately and leaves no save flag or serialized state. +do + local run = newDock("yellow", { allowedWrapper("removable") }) + T.eq(#run.warps, 0, "installed owner may grant Yellow dock occupancy") + run.hooks:removeOwner("removable") + local pushes, warps = {}, {} + run.game.stack.push = function(_, value) pushes[#pushes + 1] = value end + run.ow.startWarpTo = function(_, ... ) warps[#warps + 1] = { ... } end + story.VERMILION_DOCK.onEnter(run.game, run.ow) + if pushes[1] and pushes[1].done then pushes[1].done() end + T.eq(warps[1] and warps[1][1], "VERMILION_CITY", + "disabling the owner restores vanilla ejection") + T.eq(run.hooks.chains["map.occupancy_allowed"], nil, + "uninstall removes the occupancy chain itself") + T.eq(run.save.marker, "save-must-not-change", + "disable/uninstall writes no persistent permission state") + T.same(run.save, { + version = "yellow", flags = { EVENT_SS_ANNE_LEFT = true }, + marker = "save-must-not-change", + }, "disable/uninstall preserves the complete Yellow save snapshot") +end + +-- activeBlockAt is read-only and fail-closed. A successful call exposes +-- only one scalar from the active runtime layout, never its backing table. +local function blockApi(version, blockAt) + local backing = { 4, 5, 6, 8, 9, 10 } + local map = { + id = "VERMILION_DOCK", + def = { width = 3, height = 2, blocks = backing }, + blockAt = blockAt or function(_, bx, by) + return backing[by * 3 + bx + 1] + end, + } + local world = { isOverworld = true, map = map } + local game = { + save = { version = version }, + stack = { states = { world } }, + overworld = world, + } + return WorldAPI.new(game, "contract_fixture"), backing, game, map +end + +do + for _, version in ipairs(VERSIONS) do + local api, backing = blockApi(version) + local block, err = api:activeBlockAt("VERMILION_DOCK", 1, 0) + T.eq(block, 5, version .. " reads its active dock block") + T.eq(err, nil, version .. " valid active block has no error") + block = 99 + T.eq(backing[2], 5, version .. " scalar result cannot mutate the map") + end + + local api = blockApi("red") + local wrong, wrongErr = api:activeBlockAt("VERMILION_CITY", 1, 0) + T.eq(wrong, nil, "wrong map has no block result") + T.eq(wrongErr, "map is not active", "wrong map fails closed explicitly") + + local invalid = { + { "nil x", nil, 0 }, { "string x", "1", 0 }, { "table x", {}, 0 }, + { "fraction x", 0.5, 0 }, { "negative infinity x", -math.huge, 0 }, + { "infinity y", 0, math.huge }, { "NaN y", 0, 0 / 0 }, + } + for _, case in ipairs(invalid) do + local value, err = api:activeBlockAt("VERMILION_DOCK", case[2], case[3]) + T.eq(value, nil, case[1] .. " returns no block") + T.eq(err, "invalid block coordinates", case[1] .. " is rejected by type") + end + for _, coords in ipairs({ { -1, 0 }, { 0, -1 }, { 3, 0 }, { 0, 2 } }) do + local value, err = api:activeBlockAt("VERMILION_DOCK", coords[1], coords[2]) + T.eq(value, nil, "out-of-bounds coordinate returns no block") + T.eq(err, "block coordinates out of bounds", "bounds fail closed explicitly") + end +end + +do + local malformed = { + { label = "nil", get = function() return nil end }, + { label = "negative", get = function() return -1 end }, + { label = "fractional", get = function() return 1.5 end }, + { label = "infinite", get = function() return math.huge end }, + { label = "NaN", get = function() return 0 / 0 end }, + { label = "string", get = function() return "4" end }, + { label = "table", get = function() return {} end }, + { label = "throwing", get = function() error("bad map", 0) end }, + } + for _, case in ipairs(malformed) do + local api = blockApi("red", case.get) + local block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, "malformed active block " .. case.label .. " returns no value") + T.eq(err, "block unavailable", + "malformed active block " .. case.label .. " fails closed") + end +end + + +-- Invalid map shapes are untrusted runtime data too. None may escape as a +-- block or raise through the mod facade. +do + local badDefs = { + { label = "missing def", value = nil }, + { label = "missing width", value = { height = 2, blocks = {} } }, + { label = "string width", value = { width = "3", height = 2, blocks = {} } }, + { label = "fractional width", value = { width = 1.5, height = 2, blocks = {} } }, + { label = "nonpositive width", value = { width = 0, height = 2, blocks = {} } }, + { label = "infinite height", value = { width = 3, height = math.huge, blocks = {} } }, + { label = "missing blocks", value = { width = 3, height = 2 } }, + { label = "scalar blocks", value = { width = 3, height = 2, blocks = 4 } }, + } + for _, case in ipairs(badDefs) do + local api, _, _, map = blockApi("red") + map.def = case.value + local block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, case.label .. " returns no block") + T.eq(err, "block unavailable", case.label .. " fails closed") + end + + local api, _, _, map = blockApi("red") + map.blockAt = nil + local block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, "missing blockAt returns no block") + T.eq(err, "block unavailable", "missing blockAt fails closed") + map.blockAt = "not a function" + block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, "malformed blockAt returns no block") + T.eq(err, "block unavailable", "malformed blockAt fails closed") + + api, _, _, map = blockApi("red") + map.def.blocks = {} + block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, "sparse stored block slot returns no block") + T.eq(err, "block unavailable", "sparse stored block slot fails closed") + + api, _, _, map = blockApi("red") + map.def.blocks[1] = "4" + block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, "malformed stored block slot returns no block") + T.eq(err, "block unavailable", "malformed stored block slot fails closed") + + api, _, _, map = blockApi("red", function() return 5 end) + block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, "stored/accessor mismatch returns no block") + T.eq(err, "block unavailable", "stored/accessor mismatch fails closed") +end + +do + local api = WorldAPI.new({ stack = { states = {} } }, "contract_fixture") + local block, err = api:activeBlockAt("VERMILION_DOCK", 0, 0) + T.eq(block, nil, "no-overworld lookup returns no block") + T.eq(err, "no overworld", "no-overworld lookup reports its state") +end + +Runtime.hooks = oldHooks +package.loaded["src.render.TextBox"] = oldTextBox +T.finish("mew dock seam contract") From d17f0725d80481e47b74ea406a4c4bccbd574295 Mon Sep 17 00:00:00 2001 From: Bo Layer Date: Sun, 23 Aug 2026 03:20:43 -0600 Subject: [PATCH 14/25] fix(mod-api): validate active block storage --- data/scripts/story3.lua | 4 ++-- docs/modding.md | 3 +++ docs/rfcs/0013-map-occupancy-and-active-block.md | 4 ++++ src/world/WorldAPI.lua | 7 ++++++- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/data/scripts/story3.lua b/data/scripts/story3.lua index 787b0d99..826a7f96 100644 --- a/data/scripts/story3.lua +++ b/data/scripts/story3.lua @@ -913,8 +913,8 @@ M.VERMILION_DOCK = { -- the ship is long gone: erase her right away, and anyone who -- still lands here is sent back out past the guard unless a mod -- explicitly permits this occupied map state. This hook surrounds - -- only the ejection decision; the map's complete onEnter chain has - -- already run and the departed ship remains erased. + -- only the ejection decision; map-script registration and dispatch + -- stay unchanged, and the departed ship remains erased. for _, b in ipairs(DOCK_SHIP_BLOCKS) do ow.map:setBlock(b.bx, b.by, b.water) end diff --git a/docs/modding.md b/docs/modding.md index 8687c7a2..ab0ba7e9 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -247,6 +247,9 @@ or malformed active block returns `nil, "block unavailable"`. The caller must require every expected cell to match before changing presentation. This method is Gen 1-only; Gold callers receive no parity promise for it. +The same unavailable result covers missing or sparse active block storage and +an accessor result that does not match its validated active block slot. + ### Conditional map occupancy `map.occupancy_allowed` is a narrow Gen 1 hook around a map script's vanilla diff --git a/docs/rfcs/0013-map-occupancy-and-active-block.md b/docs/rfcs/0013-map-occupancy-and-active-block.md index cfb796db..64e6aa04 100644 --- a/docs/rfcs/0013-map-occupancy-and-active-block.md +++ b/docs/rfcs/0013-map-occupancy-and-active-block.md @@ -89,6 +89,10 @@ Failure reasons are stable: | Coordinate is negative or outside the active map | `block coordinates out of bounds` | | Active block data is absent or malformed | `block unavailable` | +The block slot and the active map accessor must both contain the same valid +nonnegative integer. Missing or sparse storage and inconsistent accessor data +return `block unavailable`. + Requiring the expected map ID and rejecting all ambiguous input lets a mod compare every cell in its version-specific signature before it calls an existing mutation API. Red, Blue, and Yellow each use their own loaded map diff --git a/src/world/WorldAPI.lua b/src/world/WorldAPI.lua index e204d635..bdab92a3 100644 --- a/src/world/WorldAPI.lua +++ b/src/world/WorldAPI.lua @@ -146,8 +146,13 @@ function WorldAPI:activeBlockAt(mapId, bx, by) if type(def.blocks) ~= "table" or type(map.blockAt) ~= "function" then return nil, "block unavailable" end + local stored = def.blocks[by * def.width + bx + 1] + if not validBlockCoordinate(stored) or stored < 0 then + return nil, "block unavailable" + end local ok, blockId = pcall(map.blockAt, map, bx, by) - if not ok or not validBlockCoordinate(blockId) or blockId < 0 then + if not ok or not validBlockCoordinate(blockId) or blockId < 0 + or blockId ~= stored then return nil, "block unavailable" end return blockId From dd0f0e08921e035cecf762787ecc115ffb52c511 Mon Sep 17 00:00:00 2001 From: "DESKTOP-8SRFDDM\\cam95" Date: Sat, 22 Aug 2026 21:21:02 -0500 Subject: [PATCH 15/25] engine: seams for mod-driven world actors and link sessions Five small additions. None of them mention the mod that prompted them. WorldAPI handles gain stepNow, canStep, placeAt, isMoving and setPassable. scriptMove queues onto OverworldState.scriptMoves, and a non-empty scriptMoves is how the overworld knows a cutscene is running, so it gates handleInput -- an actor animated that way freezes the player's controls for as long as it walks. Right for Oak marching to his lab, wrong for anything moving on its own schedule. stepNow sets the same per-tile state without the queue. It skips the collision check on purpose: the caller is replaying a move that was decided somewhere else, and re-judging it here would let the two copies disagree about where the actor is. canStep is there for callers that do want the map's opinion. OverworldController raises world.talk around the NPC talk path. An object from spawnNpc has no TEXT_* id, so the vanilla path has nothing to say for one; a mod that owns the object wraps this and does not call next. LinkState.newFromSession adopts a transport that is already paired, so a mode can tunnel a battle through a connection it already has rather than opening a second one. The hello and fingerprint exchange still runs. When the battle ends, link.battle_ended carries the result and both lockstep party copies -- cable rules leave the real party alone, so that is the only place the damage exists. Game:startNewGame(opts) is the title's NEW GAME closure made callable, with opts.intro=false to land straight in the world. CodeEntry.new takes an optional {length=, charset=} so the same widget can enter an address or a room code. Co-Authored-By: Claude Fable 5 --- src/core/Game.lua | 47 +++++++++++++-------- src/link/CodeEntry.lua | 69 ++++++++++++++++++++++++------- src/link/LinkState.lua | 54 +++++++++++++++++++++++- src/world/OverworldController.lua | 8 +++- src/world/WorldAPI.lua | 67 ++++++++++++++++++++++++++++++ 5 files changed, 211 insertions(+), 34 deletions(-) diff --git a/src/core/Game.lua b/src/core/Game.lua index b1b730b9..bbe9c9eb 100644 --- a/src/core/Game.lua +++ b/src/core/Game.lua @@ -147,29 +147,42 @@ function Game:bootConfig() return boot end +-- NEW GAME, as a call: a fresh skeleton (through save.new_game, so a mod +-- can reshape it), the overworld at the skeleton's spawn, and the intro +-- screen on top. The title menu's NEW GAME row is this; a mod that starts a +-- game on its own terms -- a match, a challenge mode -- calls it directly. +-- +-- opts.intro = false skips the newGame screen (Oak's speech) so the player +-- lands straight in the world; the skeleton then has to carry a name and a +-- party, which is the caller's job via save.new_game. +function Game:startNewGame(opts) + local OverworldState = require("src.world.OverworldController") + while self.stack:top() do self.stack:pop() end + -- New Game keeps the standalone options.lua preferences + self.sessionStartedAt = os.time() + self.save = SaveData.newGame(self:bootConfig()) + -- no bucket carry-over: mod state from an abandoned session must + -- not leak into a fresh slot; mods seed via save.created instead + self:adoptSave(self.save) + ModRuntime.emit("save.created", { save = self.save }) + self:applyOptions(self.save.options) + self.stack:push(OverworldState, self.save.player.map, + self.save.player.x, self.save.player.y, + self.save.player.facing, + { via = "boot", freshBoot = true }) + if not (opts and opts.intro == false) then + Screens.push(self, bootScreens(self).newGame or "OakSpeech", + function() end) + end +end + -- the title screen with its NEW GAME / CONTINUE wiring; used at boot -- and by the START-menu QUIT confirmation function Game:makeTitleState() local OverworldState = require("src.world.OverworldController") local factory = Screens.get(self, bootScreens(self).title or "TitleState") local title = factory.new(self, { - onNewGame = function() - while self.stack:top() do self.stack:pop() end - -- New Game keeps the standalone options.lua preferences - self.sessionStartedAt = os.time() - self.save = SaveData.newGame(self:bootConfig()) - -- no bucket carry-over: mod state from an abandoned session must - -- not leak into a fresh slot; mods seed via save.created instead - self:adoptSave(self.save) - ModRuntime.emit("save.created", { save = self.save }) - self:applyOptions(self.save.options) - self.stack:push(OverworldState, self.save.player.map, - self.save.player.x, self.save.player.y, - self.save.player.facing, - { via = "boot", freshBoot = true }) - Screens.push(self, bootScreens(self).newGame or "OakSpeech", - function() end) - end, + onNewGame = function() self:startNewGame() end, onContinue = function() local loaded, recovered = SaveData.load() if loaded then diff --git a/src/link/CodeEntry.lua b/src/link/CodeEntry.lua index f0335662..23c74241 100644 --- a/src/link/CodeEntry.lua +++ b/src/link/CodeEntry.lua @@ -1,28 +1,63 @@ --- Shared 6-slot room-code entry widget: the digit-scrub interaction --- LinkState's own `ipDigits`/`addrPos` already uses for IP entry, over the --- Crockford-32-style alphabet pokeserver room/tournament codes are drawn --- from (23456789ABCDEFGHJKMNPQRSTUVWXYZ -- no 0/O/1/I/L, so a code read --- aloud or handwritten never has to be checked twice). +-- Shared slot-scrub entry widget: the digit-scrub interaction LinkState's +-- own `ipDigits`/`addrPos` already uses for IP entry, over the Crockford-32 +-- style alphabet pokeserver room/tournament codes are drawn from +-- (23456789ABCDEFGHJKMNPQRSTUVWXYZ -- no 0/O/1/I/L, so a code read aloud or +-- handwritten never has to be checked twice). +-- +-- The Gen 1 naming grid cannot stand in for this: it has no digits at all +-- (data/text/alphabets.asm is letters and punctuation), so a room code or +-- an address typed there would be unenterable. That is what this exists +-- for. +-- +-- new() takes an optional {length=, charset=} so the same interaction can +-- carry something other than a room code -- a dotted IP over "0123456789.", +-- say. Both default to the room-code shape, so existing callers are +-- unaffected and CodeEntry.LENGTH / CodeEntry.CHARSET still describe them. local CodeEntry = {} CodeEntry.CHARSET = "23456789ABCDEFGHJKMNPQRSTUVWXYZ" CodeEntry.LENGTH = 6 -function CodeEntry.new() +-- state carries its own length/charset so a caller holding two widgets of +-- different shapes cannot have one read the other's alphabet +function CodeEntry.new(opts) + local charset = (opts and opts.charset) or CodeEntry.CHARSET + local length = (opts and opts.length) or CodeEntry.LENGTH local chars = {} - for i = 1, CodeEntry.LENGTH do chars[i] = 1 end -- index into CHARSET, 1-based - return { chars = chars, pos = 1 } + for i = 1, length do chars[i] = 1 end -- index into charset, 1-based + return { chars = chars, pos = 1, charset = charset, length = length } end -local N = #CodeEntry.CHARSET +-- Seed the slots from an existing string: prefilling the LAN address means +-- the player scrubs the last octet instead of all twelve digits. Anything +-- not in the charset lands on slot 1's character. +-- Slots past the end of the seed -- and any character the charset does not +-- carry -- land on the charset's blank where it has one, so seeding a +-- 15-slot address widget with "192.168.1.40" reads back as that address and +-- not as "192.168.1.40000". A charset with no blank (the room code's) has +-- nowhere to put one, so those fall back to the first character as before. +function CodeEntry.fromText(text, opts) + local state = CodeEntry.new(opts) + local blank = state.charset:find(" ", 1, true) or 1 + for i = 1, state.length do + local ch = tostring(text or ""):sub(i, i) + state.chars[i] = (ch ~= "" and state.charset:find(ch, 1, true)) or blank + end + return state +end + +local function charsetOf(state) return state.charset or CodeEntry.CHARSET end +local function lengthOf(state) return state.length or CodeEntry.LENGTH end function CodeEntry.up(state) - state.chars[state.pos] = state.chars[state.pos] % N + 1 + local n = #charsetOf(state) + state.chars[state.pos] = state.chars[state.pos] % n + 1 end function CodeEntry.down(state) - state.chars[state.pos] = (state.chars[state.pos] - 2) % N + 1 + local n = #charsetOf(state) + state.chars[state.pos] = (state.chars[state.pos] - 2) % n + 1 end function CodeEntry.left(state) @@ -30,14 +65,18 @@ function CodeEntry.left(state) end function CodeEntry.right(state) - state.pos = math.min(CodeEntry.LENGTH, state.pos + 1) + state.pos = math.min(lengthOf(state), state.pos + 1) +end + +-- the character in slot i, which is what a draw loop wants +function CodeEntry.charAt(state, i) + local charset = charsetOf(state) + return charset:sub(state.chars[i], state.chars[i]) end function CodeEntry.text(state) local out = {} - for i = 1, CodeEntry.LENGTH do - out[i] = CodeEntry.CHARSET:sub(state.chars[i], state.chars[i]) - end + for i = 1, lengthOf(state) do out[i] = CodeEntry.charAt(state, i) end return table.concat(out) end diff --git a/src/link/LinkState.lua b/src/link/LinkState.lua index c2464beb..44ae1841 100644 --- a/src/link/LinkState.lua +++ b/src/link/LinkState.lua @@ -112,6 +112,32 @@ function LinkState.newJoinOnline(game, code) return self end +-- Adopt a transport that is ALREADY paired and skip the connect UI: an +-- overworld multiplayer session handing one pair of players off to a battle +-- or a trade. The caller has settled which mode and which side hosts, so +-- all that is left is the hello exchange every link session runs before it +-- commits -- the fingerprint/mod compatibility check still gets its say, +-- exactly as it would have on the LAN or ONLINE path. +-- +-- `transport` is anything Session accepts (update/poll/send/close plus the +-- .paired/.closed/.error fields), which is what lets a mod route a battle +-- over a channel of its own. Ownership transfers with it: exitWith closes +-- the session, so the caller's transport is done once this state unwinds. +-- +-- opts.forceLevel the level rule, normally chosen on the battleOptions +-- screen; an adopted session has no menu to pick it on +function LinkState.newFromSession(game, transport, mode, isHost, opts) + local self = LinkState.new(game) + self.net = Session.new(transport, { role = isHost and "host" or "guest", + kind = "link" }) + self.adopted = true + self.adoptedMode, self.adoptedHost = mode, isHost and true or false + self.forceLevel = opts and opts.forceLevel or nil + self.stage = "adopted" + self:sendHello(isHost and mode or nil) + return self +end + function LinkState:exitWith(message, reason) DiscordPresence.setJoinCode(nil) self.game.linkSession = nil -- back to the player's own GAME SPEED @@ -203,8 +229,9 @@ function LinkState:decideCompat(mode, isHost) mods = peer and peer.mods, fingerprint = peer and peer.fingerprint }, }) if self.verdict == "full" or self.verdict == "vanilla_peer" then - if isHost and mode == "battle" then + if isHost and mode == "battle" and not self.adopted then -- host picks the level rule now, before the parties are exchanged + -- (an adopted session had it passed in; see newFromSession) self.stage = "battleOptions" else self:startMode(mode, isHost) @@ -243,6 +270,16 @@ function LinkState:update(dt) end end + -- handed over from an already-paired session (LinkState.newFromSession): + -- both hellos are in flight, and the first one to land settles compat and + -- drops us straight into the agreed mode + if self.stage == "adopted" then + if self:pollHello() then + self:decideCompat(self.adoptedMode, self.adoptedHost) + end + return + end + if self.stage == "menu" then if input:wasPressed("down") then self.index = self.index % 3 + 1 @@ -497,11 +534,26 @@ function LinkState:update(dt) return end self.game.stack:push(battle) + self.battle = battle self.stage = "battleRunning" end elseif self.stage == "battleRunning" then if self.game.stack:top() == self then + -- the lockstep copies carry the damage the real party never takes + -- (cable rules), so a mode that wants it -- a tournament ladder, a + -- battle royale -- reads it from here before the state unwinds + local battle = self.battle + if battle then + Runtime.emit("link.battle_ended", { + result = battle.result or "ended", + myParty = battle.playerParty, + theirParty = battle.enemyParty, + peerName = self.peerName, + role = self.isHost and "host" or "guest", + }) + end + self.battle = nil self:exitWith(nil) -- battle finished end end diff --git a/src/world/OverworldController.lua b/src/world/OverworldController.lua index e0391b3f..47dda17e 100644 --- a/src/world/OverworldController.lua +++ b/src/world/OverworldController.lua @@ -1993,7 +1993,13 @@ function OverworldState:interact() -- talk() lands the follower on its cell first. require("src.world.PikachuFollower").talk(Game, self, npc) elseif not npc.moving then - self:talkTo(npc) + -- world.talk: the A press on an object, before the map's text tables + -- get it. A runtime object a mod spawned (WorldAPI:spawnNpc) carries + -- no TEXT_* id, so the vanilla path has nothing to say for it; a mod + -- that owns the object wraps this and simply does not call next(). + -- Everything else falls straight through to talkTo as before. + Runtime.call("world.talk", function(ow, target) ow:talkTo(target) end, + self, npc) end interacted(self, fx, fy, "npc", npc) return diff --git a/src/world/WorldAPI.lua b/src/world/WorldAPI.lua index 69b9eea2..d4f3d800 100644 --- a/src/world/WorldAPI.lua +++ b/src/world/WorldAPI.lua @@ -5,6 +5,7 @@ -- quiet no-op, never a crash. Reaching into OverworldState internals -- stays unsupported; anything a mod legitimately needs belongs here. +local Collision = require("src.world.Collision") local Logger = require("src.core.Logger") local FieldDefaults = require("src.world.FieldDefaults") local Map = require("src.world.Map") @@ -407,6 +408,72 @@ function Handle:position() return self.npc.cellX, self.npc.cellY end +-- Walk one tile starting NOW, outside the scripted-movement queue. +-- +-- scriptMove queues onto OverworldState.scriptMoves, and a non-empty +-- scriptMoves is how the overworld knows a cutscene is running -- it gates +-- handleInput (OverworldController "local scripted = ... #self.scriptMoves > +-- 0"), so an actor animated that way freezes the player's controls for as +-- long as it walks. That is right for Oak marching to his lab and wrong for +-- an actor that moves on its own schedule: a networked player's ghost, an +-- ambient walker. This is the same per-tile state scriptMove sets, minus +-- the queue and therefore minus the lockout. +-- +-- Collision is deliberately not checked. The caller is replaying a move +-- that was already decided somewhere else (validated on the peer's machine, +-- or authored), and re-judging it here would let the two copies disagree +-- about where the actor is. Use canStep first if you want the check. +function Handle:stepNow(dir) + local npc = self.npc + if not Collision.DELTA[dir] then return nil, "bad direction: " .. tostring(dir) end + if npc.moving then return nil, "already moving" end + npc.facing = dir + npc.targetX, npc.targetY = Collision.target(npc.cellX, npc.cellY, dir) + npc.moving = true + npc.progress = 0 + return true +end + +-- Would stepNow land somewhere legal? Exposed separately so a caller that +-- does want the map's opinion can ask for it without giving up the "replay +-- verbatim" default above. +function Handle:canStep(dir) + local ow = self.ow + if not (ow and ow.map) then return false end + return Collision.canMove(ow.map, ow.entities, self.npc, dir) and true or false +end + +-- Snap to a cell with no animation: a warp arrival, or a resync that has +-- drifted too far to walk off. Clears any step in flight so the entity +-- cannot land on its old target a frame later. +function Handle:placeAt(x, y, facing) + local npc = self.npc + npc.moving = false + npc.marching = false + npc.targetX, npc.targetY = nil, nil + npc.progress = 0 + npc.cellX, npc.cellY = x, y + npc.px, npc.py = x * 16, y * 16 + if facing then npc.facing = facing end + return true +end + +-- True while a step is still animating, so a driver can pace itself rather +-- than stomping a move in flight. +function Handle:isMoving() + return self.npc.moving and true or false +end + +-- Whether the player may walk through this object (Collision.occupied skips +-- passable entities -- Yellow's companion Pikachu is the engine's own user +-- of the flag). It still draws and can still be talked to; it just stops +-- being an obstacle, which is what a dynamic actor wants when standing in a +-- doorway would otherwise wall someone in. +function Handle:setPassable(passable) + self.npc.passable = passable and true or false + return true +end + function WorldAPI:npc(mapId, indexOrName) local ow = self:overworld() if not ow then return nil, NO_OVERWORLD end From 01c5eb21899dada06e040b53faf1e179d0549366 Mon Sep 17 00:00:00 2001 From: "DESKTOP-8SRFDDM\\cam95" Date: Sun, 23 Aug 2026 10:19:06 -0500 Subject: [PATCH 16/25] tests, docs: cover world.talk and link.battle_ended gate_meta_coverage asks every extension point for a unit test through the public mod API, a no-mod parity test, and docs. The seams commit shipped the call sites and owed the rest. Both cases drive the real engine path, and both assert the unhooked build first, so they fail if the seam is deleted and if it changes vanilla behaviour. world_talk stands an object on the faced cell: with no mod the A press reaches talkTo, with a mod that owns the object it does not, and an object the mod ignores still falls through. link_battle_ended parks a session at the end of a battle and checks the event carries the result, the role, and both party copies. The parity side needed nothing. gate_hooks and gate_events walk the live catalog, so both seams were covered structurally as soon as the call sites existed. Co-Authored-By: Claude Fable 5 --- docs/modding.md | 74 +++++++++++++++++ tests/modkit/cases/link_battle_ended.lua | 99 ++++++++++++++++++++++ tests/modkit/cases/world_talk.lua | 100 +++++++++++++++++++++++ 3 files changed, 273 insertions(+) create mode 100644 tests/modkit/cases/link_battle_ended.lua create mode 100644 tests/modkit/cases/world_talk.lua diff --git a/docs/modding.md b/docs/modding.md index 7c724404..1a2251b0 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -265,6 +265,80 @@ Red exposes FLY separately because it requires a destination picker: and `mod.world:flyTo(mapId)` accepts only a visited destination from the native Fly town list. Gold does not expose these two methods yet. +## Self-driven world actors + +`mod.world:spawnNpc()` returns a handle whose `scriptMove` queues onto the +overworld's scripted-movement list. A non-empty list is how the overworld +knows a cutscene is running, so it gates player input for as long as the +actor walks -- right for Oak marching to his lab, wrong for an actor that +moves on its own schedule (a networked player's ghost, an ambient walker). +Five handle methods drive one without that lockout: + +```lua +local ghost = mod.world:spawnNpc({ map = "ROUTE_1", x = 5, y = 7, + sprite = "SPRITE_RED" }) +if ghost:canStep("up") then ghost:stepNow("up") end -- one tile, now +if not ghost:isMoving() then ghost:placeAt(9, 3, "down") end -- snap, no walk +ghost:setPassable(true) -- walk-through +``` + +`stepNow(dir)` sets the same per-tile state `scriptMove` does, minus the +queue. It deliberately does **not** check collision: a caller replaying a +move that was already decided elsewhere (validated on a peer's machine, or +authored) would let the two copies disagree about where the actor is if this +re-judged it. Ask `canStep(dir)` first when you do want the map's opinion. +`placeAt(x, y, facing)` snaps with no animation and clears any step in +flight, for a warp arrival or a resync too far gone to walk off. +`isMoving()` lets a driver pace itself instead of stomping a move already +running. `setPassable(flag)` is the flag `Collision.occupied` skips (the +engine's own user is Yellow's companion Pikachu); a passable object still +draws and can still be talked to. + +An object spawned this way carries no `TEXT_*` id, so the vanilla talk path +has nothing to say for it. The **`world.talk`** hook is the A press on an +object, raised before the map's text tables get it: + +```lua +mod.hooks:wrap("world.talk", function(next, ow, target) + if mine(target) then + say(target) -- the mod answers for an object it owns + return -- ...by not calling next() + end + return next(ow, target) -- everything else falls through unchanged +end) +``` + +With no subscriber the A press reaches `talkTo` exactly as before. An object +mid-step raises no hook, matching the vanilla gate. + +## Adopting an already-paired link session + +`LinkState.newFromSession(game, transport, mode, isHost, opts)` starts a link +session on a transport that is *already* paired, skipping the address/code +entry UI while keeping the hello and fingerprint compatibility exchange +intact. `transport` is anything `Session` accepts, which is what lets a mode +tunnel a battle through its own connection rather than opening a second one. + +When the battle finishes, **`link.battle_ended`** reports the outcome: + +```lua +mod.events:on("link.battle_ended", function(ev) + -- ev = { result, myParty, theirParty, peerName, role } +end) +``` + +The party copies are the point. Cable rules leave the real party untouched, +so a mode built on link battles -- a tournament ladder, a battle royale -- +has no other way to learn what the fight cost, and by the time the state +unwinds the battle object is gone. `role` is `"host"` or `"guest"`. + +Two smaller pieces support the same shape of mode. `Game:startNewGame(opts)` +is the title screen's NEW GAME closure made callable, with `opts.intro = +false` to land straight in the world -- a mode that hands out its own starting +state has no use for Oak's speech. `CodeEntry.new` takes an optional +`{ length = , charset = }`, so the slot-scrub widget that enters a link code +can also carry a room code or an address. + ## Read-only battle snapshots `mod.battle:snapshot()` returns `nil` outside a battle and a copied battle diff --git a/tests/modkit/cases/link_battle_ended.lua b/tests/modkit/cases/link_battle_ended.lua new file mode 100644 index 00000000..93c5ff9c --- /dev/null +++ b/tests/modkit/cases/link_battle_ended.lua @@ -0,0 +1,99 @@ +-- A sandboxed mod can read the outcome of a link battle -- who won, and the +-- lockstep party copies -- through the public event surface. +-- +-- The copies are the point. Cable rules leave the real party untouched, so +-- a mode built on link battles (a tournament ladder, a battle royale) has no +-- other way to learn what the fight cost; by the time the state unwinds the +-- battle object is gone. + +package.path = "./?.lua;./?/init.lua;" .. package.path +love = love or require("tests.love_stub") + +local T = require("tests.modkit") +local LinkState = require("src.link.LinkState") + +local FIXTURE = { + ["mods/outcome_probe/manifest.json"] = [[{ + "id": "outcome_probe", + "name": "Outcome Probe", + "version": "1.0.0", + "entry": "main.lua", + "api": 2 + }]], + ["mods/outcome_probe/main.lua"] = [[ + local mod = ... + mod.exports.seen = 0 + mod.events:on("link.battle_ended", function(ev) + mod.exports.seen = mod.exports.seen + 1 + mod.exports.result = ev.result + mod.exports.role = ev.role + mod.exports.peerName = ev.peerName + mod.exports.myLead = ev.myParty and ev.myParty[1] + mod.exports.theirLead = ev.theirParty and ev.theirParty[1] + end) + ]], +} + +-- a link session parked at the end of a battle: no transport, so update() +-- goes straight to the stage that reports the outcome +local function finishedSession(result, isHost) + local ls + ls = setmetatable({ + stage = "battleRunning", + isHost = isHost, + peerName = "BLUE", + net = nil, + battle = { + result = result, + playerParty = { { species = "RATTATA", hp = 3 } }, + enemyParty = { { species = "PIDGEY", hp = 0 } }, + }, + game = { input = {}, stack = { top = function() return ls end } }, + }, { __index = LinkState }) + -- the real exit unwinds the whole link stack; the event is what is under + -- test, so record the exit rather than run it + ls.exitWith = function() ls.exited = true end + return ls +end + +-- ------- no mod: the battle still ends, nothing observes it + +local vanilla = T.sdk.loadNone({}) +local quiet = finishedSession("win", true) +quiet:update(0) +T.check(quiet.exited, "with no mod loaded the finished battle still unwinds") +T.eq(quiet.battle, nil, "and lets go of the battle") +vanilla.release() + +-- ------- a mod reads the outcome and both party copies + +local run = T.sdk.loadMods({ "mods/outcome_probe" }, { fs = T.sdk.memfs(FIXTURE) }) +T.eq(#run.errors, 0, + "the public outcome probe loads clean (" .. tostring(run.errors[1]) .. ")") + +local session = finishedSession("win", true) +session:update(0) +local out = run.loader.exports.outcome_probe or {} +T.eq(out.seen, 1, "a finished link battle raises the event once") +T.eq(out.result, "win", "the outcome is reported") +T.eq(out.role, "host", "so is which side of the cable we were") +T.eq(out.peerName, "BLUE", "and who we played") +T.eq(out.myLead and out.myLead.species, "RATTATA", + "the lockstep copy of our party comes with it") +T.eq(out.myLead and out.myLead.hp, 3, + "carrying the damage the real party never took") +T.eq(out.theirLead and out.theirLead.species, "PIDGEY", + "and the copy of theirs") +T.check(session.exited, "the state unwinds afterwards, as it always did") +T.eq(session.battle, nil, "and the battle is released") + +-- the guest side says so +local guest = finishedSession("lose", false) +guest:update(0) +T.eq(run.loader.exports.outcome_probe.seen, 2, "the guest reports too") +T.eq(run.loader.exports.outcome_probe.role, "guest", "as the guest") +T.eq(run.loader.exports.outcome_probe.result, "lose", "with its own outcome") + +run.release() + +T.finish("link_battle_ended") diff --git a/tests/modkit/cases/world_talk.lua b/tests/modkit/cases/world_talk.lua new file mode 100644 index 00000000..7ae3c73f --- /dev/null +++ b/tests/modkit/cases/world_talk.lua @@ -0,0 +1,100 @@ +-- A sandboxed mod can claim the A press on an object it owns, using only +-- public mod surfaces, and an unhooked build still talks to it as before. +-- +-- The seam exists because a runtime object (WorldAPI:spawnNpc) carries no +-- TEXT_* id: the vanilla talk path has nothing to say for one, so a mod that +-- spawned it has to be able to answer instead. + +package.path = "./?.lua;./?/init.lua;" .. package.path +love = love or require("tests.love_stub") + +local T = require("tests.modkit") +local OverworldState = require("src.world.OverworldController") + +local FIXTURE = { + ["mods/talk_probe/manifest.json"] = [[{ + "id": "talk_probe", + "name": "Talk Probe", + "version": "1.0.0", + "entry": "main.lua", + "api": 2 + }]], + ["mods/talk_probe/main.lua"] = [[ + local mod = ... + mod.hooks:wrap("world.talk", function(next, ow, target) + if target and target.claimedByMod then + mod.exports.claimed = target.id + return -- deliberately not calling next(): the mod answers instead + end + return next(ow, target) + end) + ]], +} + +-- enough of an overworld to reach the A press: a player facing one cell, an +-- object standing on it, and a map with no counter to talk across +local function fixtureOverworld(npc) + local ow + ow = setmetatable({ + npcs = { npc }, + player = { + facing = "up", + facingCell = function() return 4, 5 end, + }, + map = { + id = "FIX_ROUTE", + isCounterCell = function() return false end, + }, + talked = {}, + }, { __index = OverworldState }) + -- the vanilla destination, recorded rather than run: talkTo walks into the + -- map's text tables, which a fixture map does not have + ow.talkTo = function(_, target) ow.talked[#ow.talked + 1] = target.id end + return ow +end + +local function objectAt(id, claimed) + return { id = id, cellX = 4, cellY = 5, targetX = 4, targetY = 5, + moving = false, claimedByMod = claimed or nil, def = {} } +end + +-- ------- no mod: the A press lands in the vanilla talk path + +local vanilla = T.sdk.loadNone({}) +local plain = fixtureOverworld(objectAt("SIGNPOST_MAN")) +plain:interact() +T.eq(#plain.talked, 1, "with no mod loaded the A press reaches talkTo") +T.eq(plain.talked[1], "SIGNPOST_MAN", "and it is handed the object it faced") +vanilla.release() + +-- ------- a mod that owns the object answers for it + +local run = T.sdk.loadMods({ "mods/talk_probe" }, { fs = T.sdk.memfs(FIXTURE) }) +T.eq(#run.errors, 0, + "the public talk probe loads clean (" .. tostring(run.errors[1]) .. ")") + +local owned = fixtureOverworld(objectAt("GHOST_PLAYER", true)) +owned:interact() +local out = run.loader.exports.talk_probe or {} +T.eq(out.claimed, "GHOST_PLAYER", "a public hook sees the object it owns") +T.eq(#owned.talked, 0, + "and a hook that does not call next keeps the vanilla text path out of it") + +-- ...while everything the mod does not own falls straight through +local other = fixtureOverworld(objectAt("NURSE_JOY")) +other:interact() +T.eq(#other.talked, 1, "an object the mod does not claim still reaches talkTo") +T.eq(other.talked[1], "NURSE_JOY", "unchanged") + +-- an object mid-step is not talkable in either build (walk_npc.asm), so the +-- hook must not fire for one either +local walking = fixtureOverworld(objectAt("WALKER", true)) +walking.npcs[1].moving = true +walking:interact() +T.eq(run.loader.exports.talk_probe.claimed, "GHOST_PLAYER", + "an object mid-step raises no talk hook") +T.eq(#walking.talked, 0, "and reaches no talk path at all") + +run.release() + +T.finish("world_talk") From b550db3abb6a3683b81999a84bbbc622211c4b7d Mon Sep 17 00:00:00 2001 From: "DESKTOP-8SRFDDM\\cam95" Date: Sun, 23 Aug 2026 10:35:12 -0500 Subject: [PATCH 17/25] rfc: guard the new seams and write RFC 0014 Route B in CONTRIBUTING-mods.md asks an event/hook change for five things. This adds the two that were missing and fixes what the third turned up. link.battle_ended built its payload unconditionally. Route B is explicit that a new event must not allocate when nothing wants it, and every other emit in the engine already guards -- Runtime.wants now gates this one too, so an unsubscribed build runs the branch exactly as it did. world.talk was handing Runtime.call a closure built fresh on every A press, purely to have a fallthrough to pass. It is a file-local now, so an unhooked press allocates nothing it did not allocate before. The RFC covers motivation, the API delta with call sites, migration (nothing changes for existing mods), and verification. The backward-compatibility statement is in it: every item is a new name or a new optional argument, and example_mew_starter -- api 1, category = "GAMEPLAY", whole-species copy -- still loads, which run_modkit proves on every run. No registry or schema field is added, so gen_registry_docs has nothing to emit for this change. Running it does show pre-existing drift in docs/modding/reference/registries.md (timeFishGroups, an objects refinement) from earlier Schemas.lua edits that were never regenerated; that is not this branch's to carry, so it is left alone. Co-Authored-By: Claude Fable 5 --- ...driven-actors-and-adopted-link-sessions.md | 158 ++++++++++++++++++ src/link/LinkState.lua | 2 +- src/world/OverworldController.lua | 7 +- tests/modkit/cases/link_battle_ended.lua | 4 + 4 files changed, 168 insertions(+), 3 deletions(-) create mode 100644 docs/rfcs/0014-mod-driven-actors-and-adopted-link-sessions.md diff --git a/docs/rfcs/0014-mod-driven-actors-and-adopted-link-sessions.md b/docs/rfcs/0014-mod-driven-actors-and-adopted-link-sessions.md new file mode 100644 index 00000000..4294bcbe --- /dev/null +++ b/docs/rfcs/0014-mod-driven-actors-and-adopted-link-sessions.md @@ -0,0 +1,158 @@ +# RFC 0014: Mod-driven world actors and adopted link sessions + +## Status + +Proposed. + +## Motivation + +A mod can already spawn a runtime object with `mod.world:spawnNpc` and can +already start a link battle. It cannot make either of them behave like +something the mod itself owns. + +Three walls, each of which stops a mode rather than inconveniencing it: + +**An actor cannot move on its own schedule.** The only public way to animate a +spawned object is `Handle:scriptMove`, which queues onto +`OverworldState.scriptMoves`. A non-empty `scriptMoves` is how the overworld +knows a cutscene is running -- `handleInput` gates on it -- so anything +animated that way freezes the player's controls for as long as it walks. That +is correct for Oak marching into his lab and wrong for an ambient walker or a +networked player's ghost, which move continuously and must not lock anyone out. + +**A spawned object cannot answer the A press.** Talking is resolved from the +map's text tables by `TEXT_*` id. A runtime object has no id, so the vanilla +path has nothing to say for it, and the mod that created it has no way to say +anything either. + +**A link battle cannot ride a connection the mod already has.** `LinkState` +owns pairing, so a mode that already has a socket to its peer must either open +a second connection for the battle or reimplement lockstep. And when the +battle ends, cable rules leave the real party untouched, so the damage exists +only in the battle's own copies -- which are gone by the time the state +unwinds. A mode built on link battles cannot learn what the fight cost. + +The immediate consumer is an overworld multiplayer mode, but nothing here is +specific to it: the first two are wanted by any mod with an actor that moves +itself, and the third by any mode that runs battles over its own transport -- +a tournament ladder, a draft, a gauntlet. + +## The decision it extends + +This adds nothing to the compatibility surface's shape; it extends the +**additive, guarded seam convention** that Route B in `CONTRIBUTING-mods.md` +documents, and is gated by the parity guarantee `tests/engine/gate_meta_coverage.lua` +enforces ("21-testing-and-ci: a parity gate for every extension point"; M14). + +There is no in-repo D-number registry to amend; the consuming design lives +outside this repository, as it did for RFC 0011. + +## Exact API delta + +### New hook: `world.talk` + +```lua +mod.hooks:wrap("world.talk", function(next, ow, target) + -- ow = the OverworldState raising it + -- target = the object on the faced cell + if mine(target) then + say(target) + return -- the mod answered; the text path is skipped + end + return next(ow, target) -- anything else falls through unchanged +end) +``` + +Call site: `OverworldState:interact`, on the branch that has already resolved +an object on the faced cell (including across a counter) and confirmed it is +not mid-step and not the Pikachu follower. It runs before the map's text +tables are consulted. With no subscriber, `Runtime.call` invokes the vanilla +fallthrough, which is a file-local function rather than a per-press closure, +so an unhooked A press allocates nothing it did not allocate before. + +### New event: `link.battle_ended` + +```lua +mod.events:on("link.battle_ended", function(ev) + -- ev = { + -- result = "win" | "lose" | "draw" | "ended", + -- myParty = lockstep copy of our party, + -- theirParty = lockstep copy of theirs, + -- peerName = string, + -- role = "host" | "guest", + -- } +end) +``` + +Call site: `LinkState:update`, in the `battleRunning` stage, once the battle +state has been popped and before `exitWith` unwinds the link stack. Guarded by +`Runtime.wants("link.battle_ended")`, so with no subscriber no payload table +is allocated and the branch runs exactly as before. + +The party copies are the point of the event. They are the lockstep records the +battle actually fought with, which is where the damage lives under cable rules. + +### New `WorldAPI` handle methods + +```lua +handle:stepNow(dir) --> true when the step started +handle:canStep(dir) --> would stepNow land somewhere legal? +handle:placeAt(x, y, dir) --> snap, no animation, clears a step in flight +handle:isMoving() --> true while a step is animating +handle:setPassable(flag) --> may the player walk through this object? +``` + +`stepNow` sets the same per-tile state `scriptMove` does, without the queue and +therefore without the input lockout. It does **not** consult collision: the +intended caller is replaying a move already decided elsewhere (validated on a +peer, or authored), and re-judging it locally would let two copies of the same +actor disagree about where it is. `canStep` is the separate opinion for callers +that want it. `setPassable` sets the flag `Collision.occupied` already honours +for Yellow's companion Pikachu; a passable object still draws and still talks. + +### Two supporting changes + +`Game:startNewGame(opts)` -- the title screen's NEW GAME closure, made callable, +with `opts.intro = false` to land directly in the world. A mode that issues its +own starting state has no use for the intro cutscene. + +`CodeEntry.new(shape)` -- accepts an optional `{ length =, charset = }`, so the +slot-scrub widget that enters a link code can also carry a room code or a +host:port address. Called with no argument it is byte-for-byte the previous +widget. + +## Migration and compatibility + +**Existing mods change nothing.** Every item above is a new name or a new +optional argument; no existing name, payload, signature, or default changes. + +The v1 surface is unaffected: `content.X:register/override/get`, `events:on`, +`hooks:wrap`, `mod.log`, `mod:read`, the manifest v1 fields and +`pokemon.before_give` all behave as before. `mods/example_mew_starter` -- api 1, +`category = "GAMEPLAY"`, whole-species copy -- loads unchanged, which +`tests/run_modkit.lua` proves on every run. + +With no subscriber to either seam, Red, Blue, Yellow, Gold and Silver behave +exactly as they did: the A press reaches `talkTo`, the link battle unwinds +without building an event payload, and no handle method is reachable unless a +mod calls it. + +## Verification + +- `tests/modkit/cases/world_talk.lua` drives the real `OverworldState:interact` + path. It asserts the unhooked build first (the A press reaches `talkTo`), + then that a mod owning the object suppresses the text path by not calling + `next`, that an object the mod ignores still falls through, and that an + object mid-step raises no hook at all. +- `tests/modkit/cases/link_battle_ended.lua` drives the real `LinkState:update` + path. It asserts that with nothing subscribed the event is not wanted (so no + payload is built) and the battle still unwinds, then that a subscriber + receives the result, the role, the peer name and both party copies including + the damage the real party never took, from both sides of the cable. +- `tests/engine/gate_hooks.lua` and `tests/engine/gate_events.lua` walk the live + catalog, so both seams are parity-gated structurally; `gate_meta_coverage` + passes 208/208 with both names covered and no DEBT entry added. + +## Deprecation etiquette + +Nothing is removed, renamed, superseded or deprecated. diff --git a/src/link/LinkState.lua b/src/link/LinkState.lua index 44ae1841..9e119a5d 100644 --- a/src/link/LinkState.lua +++ b/src/link/LinkState.lua @@ -544,7 +544,7 @@ function LinkState:update(dt) -- (cable rules), so a mode that wants it -- a tournament ladder, a -- battle royale -- reads it from here before the state unwinds local battle = self.battle - if battle then + if battle and Runtime.wants("link.battle_ended") then Runtime.emit("link.battle_ended", { result = battle.result or "ended", myParty = battle.playerParty, diff --git a/src/world/OverworldController.lua b/src/world/OverworldController.lua index 47dda17e..4696f9fa 100644 --- a/src/world/OverworldController.lua +++ b/src/world/OverworldController.lua @@ -1964,6 +1964,10 @@ function OverworldState:pushableAtCell(cx, cy) return nil end +-- world.talk's fallthrough, hoisted so the A press does not build a closure +-- on every press just to have one to hand a hook nobody may have wrapped +local function vanillaTalk(ow, target) ow:talkTo(target) end + -- what the A press resolved to, for world.interacted's listeners local function interacted(self, fx, fy, kind, target) Runtime.emit("world.interacted", { mapId = self.map.id, x = fx, y = fy, @@ -1998,8 +2002,7 @@ function OverworldState:interact() -- no TEXT_* id, so the vanilla path has nothing to say for it; a mod -- that owns the object wraps this and simply does not call next(). -- Everything else falls straight through to talkTo as before. - Runtime.call("world.talk", function(ow, target) ow:talkTo(target) end, - self, npc) + Runtime.call("world.talk", vanillaTalk, self, npc) end interacted(self, fx, fy, "npc", npc) return diff --git a/tests/modkit/cases/link_battle_ended.lua b/tests/modkit/cases/link_battle_ended.lua index 93c5ff9c..c27916fe 100644 --- a/tests/modkit/cases/link_battle_ended.lua +++ b/tests/modkit/cases/link_battle_ended.lua @@ -58,7 +58,11 @@ end -- ------- no mod: the battle still ends, nothing observes it +local Runtime = require("src.mods.Runtime") + local vanilla = T.sdk.loadNone({}) +T.check(not Runtime.wants("link.battle_ended"), + "with nothing subscribed the event is not wanted, so no payload is built") local quiet = finishedSession("win", true) quiet:update(0) T.check(quiet.exited, "with no mod loaded the finished battle still unwinds") From 5807b8d83688e91a39895285118776b192e19076 Mon Sep 17 00:00:00 2001 From: 1jamie Date: Sun, 23 Aug 2026 10:46:19 -0500 Subject: [PATCH 18/25] Refactor session management and resource cleanup - Replaced `teardownMountedSession` and `flushEditorPackageLoaded` with a unified `SessionLifecycle` approach for managing session transitions and resource cleanup. - Implemented `SessionLifecycle.endEditorSession` and `SessionLifecycle.endGameSession` to streamline the teardown process for editor and game sessions. - Introduced `Assets.releaseSession` to handle GPU resource release at session end, ensuring efficient memory management. - Updated `Game` and `Game2` reset methods to include world and canvas resource releases. - Enhanced `MapLoader` with a new `releaseAll` method for eager GPU cache cleanup. - Added tests to verify the new session lifecycle functionality and resource management. This commit improves the stability and performance of in-process transitions, particularly during editor and game session changes. further improves and addresses #1662 specifically around android gc pressure. --- main.lua | 99 ++------------ src/core/ChipAudio.lua | 4 +- src/core/Game.lua | 13 ++ src/core/Game2.lua | 16 +++ src/core/SessionLifecycle.lua | 101 +++++++++++++++ src/net/Fetch.lua | 4 +- src/render/Assets.lua | 27 +++- src/render/Renderer.lua | 2 + src/update/Check.lua | 4 +- src/world/MapLoader.lua | 17 ++- src/world/OverworldController.lua | 5 + src/world/gen2/World.lua | 31 +++++ tests/engine/android_host_extension_test.lua | 9 +- .../engine/launcher_session_teardown_test.lua | 121 ++++++++++++++---- tests/engine/quit_thread_shutdown.lua | 19 ++- tests/mod_graphics_tests.lua | 12 ++ 16 files changed, 353 insertions(+), 131 deletions(-) create mode 100644 src/core/SessionLifecycle.lua diff --git a/main.lua b/main.lua index 7b6fba4c..62175e4d 100644 --- a/main.lua +++ b/main.lua @@ -84,40 +84,8 @@ local closeEditor -- forward declaration: openEditor hands it to the editor -- Drop CacheFs / Data / mod Runtime / Assets / LegacyCompat for one mounted -- version session (save editor or game). closeEditor and returnToLauncher --- both go through here so neither path can forget a singleton the other resets. -local function teardownMountedSession(version) - if version then - require("src.import.CacheFs").unmountVersion(version) - end - require("src.core.Data"):unloadGenerated() - local Runtime = require("src.mods.Runtime") - if Runtime.reset then Runtime.reset() end - local Assets = require("src.render.Assets") - if Assets.installLoader then Assets.installLoader(nil) end - local okCompat, LegacyCompat = pcall(require, "src.mods.LegacyCompat") - if okCompat and LegacyCompat.reset then LegacyCompat.reset() end -end - --- Evict every save-editor module from package.loaded without a hardcoded --- panel whitelist. Flat require names (App, Party, …) resolve under --- tools/save-editor/; path-style keys may also appear. A key is flushed --- when it names a save-editor path or when tools/save-editor/{panels/}K.lua --- exists for a flat name K -- new panels are picked up automatically. -local function flushEditorPackageLoaded() - local fs = love and love.filesystem - local function isEditorFlat(name) - if not (fs and fs.getInfo) then return false end - if name:find("[./]") then return false end - return fs.getInfo("tools/save-editor/" .. name .. ".lua") ~= nil - or fs.getInfo("tools/save-editor/panels/" .. name .. ".lua") ~= nil - end - for k in pairs(package.loaded) do - if type(k) == "string" - and (k:find("save%-editor", 1, false) or isEditorFlat(k)) then - package.loaded[k] = nil - end - end -end +-- both go through SessionLifecycle so neither path forgets a singleton. +local SessionLifecycle = require("src.core.SessionLifecycle") -- The editor's modules use flat names (require("Kit"), require("Party")), so -- their directories have to be on the require path. It must be @@ -194,9 +162,7 @@ local function openEditor(version, slotId) local okReq, appOrErr = pcall(require, "App") if not okReq then editorMode = false - if version then - require("src.import.CacheFs").unmountVersion(version) - end + SessionLifecycle.endEditorSession({ version = version, app = nil }) restoreWindow() Importer = editorHost editorHost = nil @@ -216,10 +182,7 @@ local function openEditor(version, slotId) editorMode = false if EditorApp.unload then pcall(EditorApp.unload) end EditorApp = nil - if version then - teardownMountedSession(version) - end - flushEditorPackageLoaded() + SessionLifecycle.endEditorSession({ version = version, app = nil }) restoreWindow() Importer = editorHost editorHost = nil @@ -238,13 +201,10 @@ end -- next Edit or Play does not inherit the editor's dead mod loader. function closeEditor() local version = editorVersion + local app = EditorApp editorMode = false - if EditorApp and EditorApp.unload then EditorApp.unload() end EditorApp = nil - if version then - teardownMountedSession(version) - end - flushEditorPackageLoaded() + SessionLifecycle.endEditorSession({ version = version, app = app }) editorVersion = nil restoreWindow() Importer = editorHost @@ -345,40 +305,14 @@ end local function returnToLauncher() if not Game then return end - pcall(function() require("src.core.Music").stop() end) - pcall(function() require("src.core.Sound").stop() end) - if package.loaded["src.core.ChipAudio"] then - pcall(package.loaded["src.core.ChipAudio"].shutdown) - end - if package.loaded["src.core.DiscordPresence"] then - pcall(package.loaded["src.core.DiscordPresence"].shutdown) - end - if package.loaded["src.core.gen2.Clock"] then - pcall(package.loaded["src.core.gen2.Clock"].shutdown) - end - if package.loaded["src.net.Gen1Tls"] then - pcall(package.loaded["src.net.Gen1Tls"].shutdown) - end - if love.audio and love.audio.stop then - pcall(love.audio.stop) - end - pcall(function() require("src.render.SecondScreen").setEnabled(false) end) - local GameVersion = require("src.core.GameVersion") local currentVersion = GameVersion.get() - teardownMountedSession(currentVersion) - - if Game.reset then - pcall(function() Game:reset() end) - end + SessionLifecycle.endGameSession(Game) Game = nil autopilot = nil driverCo = nil - local Input = require("src.core.Input") - local TouchControls = require("src.core.TouchControls") - Input:reset() - TouchControls:reset() + SessionLifecycle.endMountedSession(currentVersion) require("src.core.Orientation").applyOptions( require("src.core.SaveData").loadOptions()) @@ -1181,22 +1115,7 @@ function love.quit() pcall(function() require("src.core.DiscordPresence").shutdown() end) - -- LOVE waits for every live love.thread before the process exits, and both - -- background workers idle in a loop that only a "quit" command breaks, so - -- without this the process outlived the window and the next launch re-entered - -- the dead one instead of starting fresh (#339) - if package.loaded["src.core.ChipAudio"] then - pcall(package.loaded["src.core.ChipAudio"].shutdown) - end - if package.loaded["src.update.Check"] then - pcall(package.loaded["src.update.Check"].shutdown) - end - -- The launcher's fetch pool is the same story: its workers idle in - -- Channel:demand(), which never returns on its own, so a launcher that ever - -- touched the network would hang the process on exit (#339's shape again). - if package.loaded["src.net.Fetch"] then - pcall(package.loaded["src.net.Fetch"].shutdown) - end + SessionLifecycle.endProcess() end function love.filedropped(file) diff --git a/src/core/ChipAudio.lua b/src/core/ChipAudio.lua index b7b09faa..ef07d40e 100644 --- a/src/core/ChipAudio.lua +++ b/src/core/ChipAudio.lua @@ -371,7 +371,7 @@ function ChipAudio.shutdown() if workerReady and cmdCh then cmdCh:push({ cmd = "quit" }) end if worker then pcall(function() worker:wait() end) end worker, cmdCh, outCh = nil, nil, nil - workerReady = false + workerReady = nil end function ChipAudio.currentSource() @@ -498,6 +498,8 @@ end -- program (20 §2 cache contract, chip music row) Assets.register(ChipAudio.invalidate) +require("src.core.SessionLifecycle").registerProcessShutdown(ChipAudio.shutdown) + -- --------------------------------------------------------------------------- -- one-shot effects (SFX, cries, low-health alarm): synchronous static Sources -- --------------------------------------------------------------------------- diff --git a/src/core/Game.lua b/src/core/Game.lua index b1b730b9..71ae4d68 100644 --- a/src/core/Game.lua +++ b/src/core/Game.lua @@ -1389,12 +1389,25 @@ function Game:reset() if self.stack and self.stack.clear then pcall(function() self.stack:clear() end) end + if self.world and self.world.release then + pcall(function() self.world:release() end) + end + if self._canvases then + for _, canvas in pairs(self._canvases) do + if canvas and canvas.release then pcall(canvas.release, canvas) end + end + end if self.renderer and self.renderer.releaseCanvases then pcall(function() self.renderer:releaseCanvases() end) end local keys = {} for key, value in pairs(self) do if type(value) ~= "function" then + if key ~= "world" and key ~= "renderer" and key ~= "_canvases" then + if type(value) == "table" and value.release then + pcall(value.release, value) + end + end keys[#keys + 1] = key end end diff --git a/src/core/Game2.lua b/src/core/Game2.lua index 4ab8a479..145c97ed 100644 --- a/src/core/Game2.lua +++ b/src/core/Game2.lua @@ -2130,9 +2130,25 @@ function Game2:reset() if self.stack and self.stack.clear then pcall(function() self.stack:clear() end) end + if self.world and self.world.release then + pcall(function() self.world:release() end) + end + if self._canvases then + for _, canvas in pairs(self._canvases) do + if canvas and canvas.release then pcall(canvas.release, canvas) end + end + end + if self.renderer and self.renderer.releaseCanvases then + pcall(function() self.renderer:releaseCanvases() end) + end local keys = {} for key, value in pairs(self) do if type(value) ~= "function" then + if key ~= "world" and key ~= "renderer" and key ~= "_canvases" then + if type(value) == "table" and value.release then + pcall(value.release, value) + end + end keys[#keys + 1] = key end end diff --git a/src/core/SessionLifecycle.lua b/src/core/SessionLifecycle.lua new file mode 100644 index 00000000..84508a67 --- /dev/null +++ b/src/core/SessionLifecycle.lua @@ -0,0 +1,101 @@ +-- Central session lifecycle orchestrator. Subsystems register teardown hooks +-- at module load (Assets release/invalidate bus, process shutdown below); the +-- host only calls phase entry points. +-- +-- Three tiers: +-- mount endMountedSession — GPU release + CacheFs/Data/Runtime/Assets +-- game endGameSession — audio + game:reset; workers stay alive +-- process endProcess — worker shutdown on real app exit (love.quit) +-- +-- Hot reload (Assets.flush / installLoader) stays invalidate-only forever. + +local SessionLifecycle = {} + +local processShutdowns = {} + +function SessionLifecycle.registerProcessShutdown(fn) + processShutdowns[#processShutdowns + 1] = fn +end + +-- Drop CacheFs / Data / mod Runtime / Assets / LegacyCompat for one mounted +-- version session (save editor or game). GPU release runs before soft +-- invalidate via installLoader(nil). +function SessionLifecycle.endMountedSession(version) + local Assets = require("src.render.Assets") + if Assets.releaseSession then Assets.releaseSession() end + if version then + require("src.import.CacheFs").unmountVersion(version) + end + require("src.core.Data"):unloadGenerated() + local Runtime = require("src.mods.Runtime") + if Runtime.reset then Runtime.reset() end + if Assets.installLoader then Assets.installLoader(nil) end + local okCompat, LegacyCompat = pcall(require, "src.mods.LegacyCompat") + if okCompat and LegacyCompat.reset then LegacyCompat.reset() end +end + +-- Evict every save-editor module from package.loaded without a hardcoded +-- panel whitelist. Flat require names (App, Party, …) resolve under +-- tools/save-editor/; path-style keys may also appear. +local function flushEditorPackageLoaded() + local fs = love and love.filesystem + local function isEditorFlat(name) + if not (fs and fs.getInfo) then return false end + if name:find("[./]") then return false end + return fs.getInfo("tools/save-editor/" .. name .. ".lua") ~= nil + or fs.getInfo("tools/save-editor/panels/" .. name .. ".lua") ~= nil + end + for k in pairs(package.loaded) do + if type(k) == "string" + and (k:find("save%-editor", 1, false) or isEditorFlat(k)) then + package.loaded[k] = nil + end + end +end + +function SessionLifecycle.endEditorSession(opts) + opts = opts or {} + if opts.app and opts.app.unload then pcall(opts.app.unload) end + flushEditorPackageLoaded() + if opts.version then + SessionLifecycle.endMountedSession(opts.version) + end +end + +-- EXIT GAME / intent_game before dropping Game. Stops audio and resets the +-- live game instance so map/GPU holders are gone before endMountedSession. +function SessionLifecycle.endGameSession(game) + pcall(function() require("src.core.Music").stop() end) + pcall(function() require("src.core.Sound").stop() end) + if package.loaded["src.core.ChipAudio"] then + pcall(package.loaded["src.core.ChipAudio"].shutdown) + end + if package.loaded["src.core.DiscordPresence"] then + pcall(package.loaded["src.core.DiscordPresence"].shutdown) + end + if package.loaded["src.core.gen2.Clock"] then + pcall(package.loaded["src.core.gen2.Clock"].shutdown) + end + if package.loaded["src.net.Gen1Tls"] then + pcall(package.loaded["src.net.Gen1Tls"].shutdown) + end + if love.audio and love.audio.stop then + pcall(love.audio.stop) + end + pcall(function() require("src.render.SecondScreen").setEnabled(false) end) + + if game and game.reset then + pcall(function() game:reset() end) + end + + local Input = require("src.core.Input") + local TouchControls = require("src.core.TouchControls") + Input:reset() + TouchControls:reset() +end + +function SessionLifecycle.endProcess() + for _, fn in ipairs(processShutdowns) do pcall(fn) end +end + +return SessionLifecycle diff --git a/src/net/Fetch.lua b/src/net/Fetch.lua index 2a987125..9e8562cf 100644 --- a/src/net/Fetch.lua +++ b/src/net/Fetch.lua @@ -227,7 +227,9 @@ function Fetch.shutdown() end for _, th in ipairs(workers) do pcall(function() th:wait() end) end workers = {} - cmdCh, resCh, quitCh, ready = nil, nil, nil, false + cmdCh, resCh, quitCh, ready = nil, nil, nil, nil end +require("src.core.SessionLifecycle").registerProcessShutdown(Fetch.shutdown) + return Fetch diff --git a/src/render/Assets.lua b/src/render/Assets.lua index afcc577b..3469d0f1 100644 --- a/src/render/Assets.lua +++ b/src/render/Assets.lua @@ -14,6 +14,8 @@ local Assets = {} local cache = {} -- downstream caches that must empty when the search path changes local invalidators = {} +-- optional GPU release hooks for session end (never run on hot reload flush) +local releasers = {} -- The loader bridge: overrideOrder() yields mods highest-priority-first -- and derivedPath(rel) yields an existing save/mod-derived//. @@ -68,8 +70,18 @@ function Assets.imageData(path) return love.image.newImageData(Assets.resolve(path)) end -function Assets.register(invalidate) - invalidators[#invalidators + 1] = invalidate +-- Register a cache invalidator, or { invalidate = fn, release = fn } when a +-- module caches LOVE Images/Canvases and can eagerly free them at session end. +-- release is optional and is NOT run on flush/invalidate (HotReload safe). +-- MapLoader is the canonical split-hook example: invalidateAll clears tables +-- without GPU release; releaseAll evicts every resident map renderer. +function Assets.register(hooks) + if type(hooks) == "function" then + invalidators[#invalidators + 1] = hooks + return + end + if hooks.invalidate then invalidators[#invalidators + 1] = hooks.invalidate end + if hooks.release then releasers[#releasers + 1] = hooks.release end end -- hot reload's single entry point (20-developer-tooling): drop the central @@ -82,6 +94,17 @@ end Assets.flush = Assets.invalidate +-- In-process return-to-launcher / editor close: release central Images and +-- run release hooks only. Does not call invalidate hooks (MapLoader must +-- keep invalidateAll separate from releaseAll). +function Assets.releaseSession() + for _, img in pairs(cache) do + if img and img.release then pcall(img.release, img) end + end + cache = {} + for _, fn in ipairs(releasers) do pcall(fn) end +end + -- Loader:load hands over the live mod set once the merge is done. Load -- order is priority ascending, so the search walks it backwards: the mod -- that wins the record merge wins the asset lookup too. diff --git a/src/render/Renderer.lua b/src/render/Renderer.lua index 5ed14d47..08ddbe21 100644 --- a/src/render/Renderer.lua +++ b/src/render/Renderer.lua @@ -117,6 +117,8 @@ function Renderer:releaseCanvases() self.worldOverride = nil end +Renderer.release = Renderer.releaseCanvases + function Renderer:init() -- 160x144 real pixels, never DPI-scaled: see src/render/PixelCanvas.lua -- (#208). Every canvas below is sized in framebuffer pixels for the same diff --git a/src/update/Check.lua b/src/update/Check.lua index b918f2f3..938889e0 100644 --- a/src/update/Check.lua +++ b/src/update/Check.lua @@ -343,7 +343,9 @@ function Check.shutdown() if cmdCh then cmdCh:push({ cmd = "quit" }) end if worker then pcall(function() worker:wait() end) end worker, cmdCh, stateCh = nil, nil, nil - workerReady = false + workerReady = nil end +require("src.core.SessionLifecycle").registerProcessShutdown(Check.shutdown) + return Check diff --git a/src/world/MapLoader.lua b/src/world/MapLoader.lua index 0452fec0..c52e3ed4 100644 --- a/src/world/MapLoader.lua +++ b/src/world/MapLoader.lua @@ -114,12 +114,25 @@ function MapLoader.invalidateAll() lru = {} end +-- Eagerly release every resident map's TileRenderer GPU objects. Only safe +-- when nothing live holds map instances (session end after game:reset). +function MapLoader.releaseAll() + local ids = {} + for id in pairs(cache) do ids[#ids + 1] = id end + for _, id in ipairs(ids) do MapLoader.evict(id) end +end + -- kept as the pre-v2 name MapLoader.clearCache = MapLoader.invalidateAll -- the cached Map objects own the per-map TileRenderer instances, so a flush -- that skipped this one would leave live SpriteBatches built from the old --- search path (14 cache-invalidation contract, rows 1 and 3) -Assets.register(MapLoader.invalidateAll) +-- search path (14 cache-invalidation contract, rows 1 and 3). invalidateAll +-- deliberately does NOT release GPU (hot reload / live overworld); releaseAll +-- is the session-end path only. +Assets.register({ + invalidate = MapLoader.invalidateAll, + release = MapLoader.releaseAll, +}) return MapLoader diff --git a/src/world/OverworldController.lua b/src/world/OverworldController.lua index e0391b3f..1f02377d 100644 --- a/src/world/OverworldController.lua +++ b/src/world/OverworldController.lua @@ -228,6 +228,11 @@ function OverworldState.computeNeighbors(maps, rootId, hops, reachW, reachH) return out end +function OverworldState:exit() + self.map = nil + self.neighbors = nil +end + function OverworldState:enter(mapId, x, y, facing, opts) Game = require("src.core.Game") Game.overworld = self diff --git a/src/world/gen2/World.lua b/src/world/gen2/World.lua index ef84997a..ec83fa7b 100644 --- a/src/world/gen2/World.lua +++ b/src/world/gen2/World.lua @@ -5257,6 +5257,37 @@ function World:dropMapImages(mapId) if self.connectionMaps then self.connectionMaps[mapId] = nil end end +local function safeRelease(obj) + if obj and obj ~= false and obj.release then pcall(obj.release, obj) end +end + +-- Eagerly free session-owned GPU caches. Assets.image-backed atlases are +-- nilled without release; unique bakes, strips, and roof composites are released. +function World:release() + if self.mapImages then + for _, img in pairs(self.mapImages) do safeRelease(img) end + self.mapImages = {} + end + if self.scrollStrips then + for _, strip in pairs(self.scrollStrips) do safeRelease(strip) end + self.scrollStrips = {} + end + safeRelease(self.tiltCanvas) + self.tiltCanvas = nil + if self.grassAtlases then + for _, atlas in pairs(self.grassAtlases) do safeRelease(atlas) end + self.grassAtlases = {} + end + if self.atlasCache then + for key, atlas in pairs(self.atlasCache) do + if key:find("|", 1, true) then safeRelease(atlas) end + end + self.atlasCache = {} + end + self.animQuads = nil + self.connectionMaps = nil +end + -- LoadMapAttributes' refill, for every map the session has edited. Neighbour -- strips share the same buffer on the cart, so a connection crossing reloads -- them too: this runs on any setMap, seamless or not. diff --git a/tests/engine/android_host_extension_test.lua b/tests/engine/android_host_extension_test.lua index 4033cbed..efe7a839 100644 --- a/tests/engine/android_host_extension_test.lua +++ b/tests/engine/android_host_extension_test.lua @@ -88,8 +88,13 @@ check(destroy < destroyTeardown and destroyTeardown < destroySuper, local mainFile = assert(io.open("main.lua", "rb")) local main = mainFile:read("*a") mainFile:close() -check(main:find('require("src.render.SecondScreen").setEnabled(false)', 1, true), - "returning from a game disables mod-owned secondary output") +check(main:find("SessionLifecycle.endGameSession", 1, true), + "returning from a game goes through SessionLifecycle.endGameSession") +local lifecycleFile = assert(io.open("src/core/SessionLifecycle.lua", "rb")) +local lifecycle = lifecycleFile:read("*a") +lifecycleFile:close() +check(lifecycle:find('require("src.render.SecondScreen").setEnabled(false)', 1, true), + "endGameSession disables mod-owned secondary output") check(not source:lower():find("openxr", 1, true), "generic Android activity must not require OpenXR") diff --git a/tests/engine/launcher_session_teardown_test.lua b/tests/engine/launcher_session_teardown_test.lua index 6ceee3e2..e63d3fd7 100644 --- a/tests/engine/launcher_session_teardown_test.lua +++ b/tests/engine/launcher_session_teardown_test.lua @@ -1,5 +1,5 @@ -- In-process launcher session teardown: Game:reset, Renderer canvas release, --- Runtime/Assets/LegacyCompat cleanup, and editor package.loaded discovery flush. +-- SessionLifecycle mount/game tiers, and editor package.loaded discovery flush. -- luajit tests/engine/launcher_session_teardown_test.lua package.path = "./?.lua;./?/init.lua;" .. package.path @@ -12,8 +12,12 @@ local Runtime = require("src.mods.Runtime") local Assets = require("src.render.Assets") local LegacyCompat = require("src.mods.LegacyCompat") local Game = require("src.core.Game") +local Game2 = require("src.core.Game2") local Renderer = require("src.render.Renderer") local StateStack = require("src.core.StateStack") +local SessionLifecycle = require("src.core.SessionLifecycle") +local MapLoader = require("src.world.MapLoader") +local World = require("src.world.gen2.World") -- ---- Game:reset drops instance state, keeps methods ---------------------- do @@ -38,6 +42,35 @@ do check(StateStack:top() == nil, "Game:reset cleared the shared StateStack") end +-- ---- Game2:reset releases world GPU and present canvases ------------------ +do + local game2 = Game2.new() + local canvas = love.graphics.newCanvas(4, 4) + game2.world = World.new({}) + game2.world.mapImages = { ["MAP|d|1"] = canvas } + game2._canvases = { love.graphics.newCanvas(8, 8) } + game2:reset() + check(canvas.released == true, "Game2:reset releases World mapImages") + check(game2.world == nil, "Game2:reset clears world reference") + check(game2._canvases == nil, "Game2:reset clears _canvases") +end + +-- ---- World:release frees owned GPU caches -------------------------------- +do + local world = World.new({}) + local bake = love.graphics.newCanvas(16, 16) + local strip = love.graphics.newCanvas(8, 64) + local tilt = love.graphics.newCanvas(160, 144) + world.mapImages = { ["R1|DAY|1"] = bake } + world.scrollStrips = { ["TS|1|0,0"] = strip } + world.tiltCanvas = tilt + world:release() + check(bake.released == true, "World:release frees map bake canvases") + check(strip.released == true, "World:release frees scroll strips") + check(tilt.released == true, "World:release frees tiltCanvas") + eq(next(world.mapImages), nil, "World:release clears mapImages table") +end + -- ---- Renderer:init releases prior canvases before realloc ---------------- do local first = love.graphics.newCanvas(16, 16) @@ -52,14 +85,13 @@ do "Renderer:init allocates a fresh primary canvas") check(Renderer.canvas.released ~= true, "the new primary canvas is not released") - -- second init also releases the one just created local second = Renderer.canvas Renderer:init() check(second.released == true, "a second Renderer:init releases the canvas from the prior init") end --- ---- Shared singleton teardown contract (closeEditor / returnToLauncher) +-- ---- SessionLifecycle.endMountedSession (closeEditor / returnToLauncher) -- do Runtime.install({ emit = function() end }, { call = function() end }, { "e" }) Assets.installLoader({ @@ -68,44 +100,79 @@ do }) LegacyCompat.reports = { some_mod = { order = {} } } - -- Mirrors main.lua teardownMountedSession without mounting CacheFs. - require("src.core.Data"):unloadGenerated() - Runtime.reset() - Assets.installLoader(nil) - LegacyCompat.reset() + SessionLifecycle.endMountedSession(nil) - check(Runtime.errors == nil, "teardown clears Runtime.errors") - check(Assets.loader == nil, "teardown clears Assets.loader") - eq(next(LegacyCompat.reports), nil, "teardown clears LegacyCompat.reports") + check(Runtime.errors == nil, "endMountedSession clears Runtime.errors") + check(Assets.loader == nil, "endMountedSession clears Assets.loader") + eq(next(LegacyCompat.reports), nil, "endMountedSession clears LegacyCompat.reports") end --- ---- Editor package.loaded discovery flush (no panel whitelist) --------- +-- ---- releaseSession empties MapLoader via releaseAll, not flush ------------- +do + local data = { + maps = { T1 = { id = "T1", tileset = "TS", width = 1, height = 1, + blocks = { 0 }, borderBlock = 0, objects = {}, warps = {}, signs = {} } }, + tilesets = { TS = { id = "TS", image = "assets/generated/t.png", + walkable = {}, blocks = { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }, + tilesPerRow = 1 } }, + } + MapLoader.load(data, "T1") + check(MapLoader.cached("T1") ~= nil, "MapLoader holds a map before release") + Assets.releaseSession() + check(MapLoader.cached("T1") == nil, + "releaseSession evicts MapLoader via releaseAll") +end + +-- ---- Editor package.loaded discovery flush via endEditorSession ----------- do love.filesystem.write("tools/save-editor/App.lua", "return {}") love.filesystem.write("tools/save-editor/panels/NewPanel.lua", "return {}") package.loaded["App"] = { stale = true } package.loaded["NewPanel"] = { stale = true } - package.loaded["src.core.Data"] = package.loaded["src.core.Data"] -- keep + package.loaded["src.core.Data"] = package.loaded["src.core.Data"] - local function isEditorFlat(name) - if name:find("[./]") then return false end - return love.filesystem.getInfo("tools/save-editor/" .. name .. ".lua") ~= nil - or love.filesystem.getInfo("tools/save-editor/panels/" .. name .. ".lua") ~= nil - end - for k in pairs(package.loaded) do - if type(k) == "string" - and (k:find("save%-editor", 1, false) or isEditorFlat(k)) then - package.loaded[k] = nil - end - end + SessionLifecycle.endEditorSession({ version = nil, app = nil }) - check(package.loaded["App"] == nil, "discovery flush drops flat App") + check(package.loaded["App"] == nil, "endEditorSession drops flat App") check(package.loaded["NewPanel"] == nil, - "discovery flush drops a new panel without a hardcoded list") + "endEditorSession drops a new panel without a hardcoded list") check(package.loaded["src.core.Data"] ~= nil, - "discovery flush leaves engine modules alone") + "endEditorSession leaves engine modules alone") love.filesystem.remove("tools/save-editor/App.lua") love.filesystem.remove("tools/save-editor/panels/NewPanel.lua") end +-- ---- Fetch shutdown clears ready so Play-again can respawn workers --------- +do + local Fetch = require("src.net.Fetch") + local spawnAttempts = 0 + love.thread = love.thread or {} + local savedNewThread = love.thread.newThread + local savedGetChannel = love.thread.getChannel + love.thread.getChannel = function() + return { + clear = function() end, + push = function() end, + pop = function() return nil end, + demand = function() end, + } + end + love.thread.newThread = function() + spawnAttempts = spawnAttempts + 1 + return { + start = function() end, + wait = function() end, + getError = function() return nil end, + } + end + Fetch.available() + local afterFirst = spawnAttempts + Fetch.shutdown() + Fetch.available() + check(spawnAttempts > afterFirst, + "Fetch.available retries worker spawn after shutdown (ready=nil)") + love.thread.newThread = savedNewThread + love.thread.getChannel = savedGetChannel +end + T.finish("launcher_session_teardown_test") diff --git a/tests/engine/quit_thread_shutdown.lua b/tests/engine/quit_thread_shutdown.lua index a0dff35b..4f8a3589 100644 --- a/tests/engine/quit_thread_shutdown.lua +++ b/tests/engine/quit_thread_shutdown.lua @@ -182,11 +182,20 @@ check(checkSrc:match('cmd%.cmd == "quit"%s*then%s*\n%s*break') ~= nil, local mainSrc = source("main.lua") local quitHook = mainSrc:match("\nfunction love%.quit%(%).-\nend\n") check(quitHook ~= nil, "love.quit is still a single top-level function") -quitHook = quitHook or "" -check(quitHook:find('package.loaded["src.core.ChipAudio"].shutdown', 1, true) ~= nil, - "love.quit shuts the chip worker down") -check(quitHook:find('package.loaded["src.update.Check"].shutdown', 1, true) ~= nil, - "love.quit shuts the update worker down") +check(mainSrc:find("SessionLifecycle.endProcess()", 1, true) ~= nil, + "love.quit shuts workers down via SessionLifecycle.endProcess") + +local lifecycleSrc = source("src/core/SessionLifecycle.lua") +check(lifecycleSrc:find("registerProcessShutdown", 1, true) ~= nil, + "SessionLifecycle exposes registerProcessShutdown") +check(lifecycleSrc:find("function SessionLifecycle.endProcess()", 1, true) ~= nil, + "SessionLifecycle.endProcess fans out registered hooks") +check(source("src/core/ChipAudio.lua"):find("registerProcessShutdown(ChipAudio.shutdown)", 1, true) ~= nil, + "ChipAudio registers its shutdown hook at load") +check(source("src/update/Check.lua"):find("registerProcessShutdown(Check.shutdown)", 1, true) ~= nil, + "Check registers its shutdown hook at load") +check(source("src/net/Fetch.lua"):find("registerProcessShutdown(Fetch.shutdown)", 1, true) ~= nil, + "Fetch registers its shutdown hook at load") -- The Android half: LOVE keeps the JVM process after the native main returns, -- so the quit event exits the process outright. It has to sit after the diff --git a/tests/mod_graphics_tests.lua b/tests/mod_graphics_tests.lua index 5b9ff89d..f60ac7d1 100644 --- a/tests/mod_graphics_tests.lua +++ b/tests/mod_graphics_tests.lua @@ -218,8 +218,12 @@ for name, module in pairs({ Assets = Assets, TileRenderer = TileRenderer, end check(type(require("src.world.MapLoader").invalidateAll) == "function", "MapLoader keeps its wave-1 invalidateAll") +check(type(require("src.world.MapLoader").releaseAll) == "function", + "MapLoader exposes releaseAll for session end") check(type(require("src.core.Sound").invalidate) == "function", "Sound keeps its wave-1 invalidate") +check(type(Assets.releaseSession) == "function", + "Assets exposes releaseSession for in-process session end") -- the central cache hands back one image per resolved path, and flush -- fans out to every registered downstream cache @@ -240,6 +244,14 @@ Assets.register(function() reached = true end) Assets.flush() check(reached, "a throwing invalidator does not stop the fan-out") +-- flush/invalidate must not run release hooks (HotReload / live overworld safe) +local releaseCalls = 0 +Assets.register({ release = function() releaseCalls = releaseCalls + 1 end }) +Assets.flush() +check(releaseCalls == 0, "flush() does not call release hooks") +Assets.releaseSession() +check(releaseCalls == 1, "releaseSession() calls registered release hooks") + -- ------- animated tiles as tileset data local overworld = TileRenderer.defaultAnimatedTiles( From fad7443f944c475f1b97e5134d2b3d4c91cf6054 Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sun, 23 Aug 2026 17:57:10 +0200 Subject: [PATCH 19/25] Route Gold's title menu and SAVE screen through Strings() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MainMenu.lua's row labels (CONTINUE/NEW GAME/OPTION/EXIT GAME), its clock box's AM/PM half, and its CONTINUE save-summary panel (PLAYER / BADGES/POKéDEX/TIME, or NO SAVE FILE) were bare literals, invisible to a translation mod's strings registry. SaveMenu.lua's confirm/overwrite/ saving/saved prompts, its YES/NO choice, and its own copy of the same summary panel had the same gap. Both mirror the Gen 1 port's already- translated equivalents (src/ui/TitleState.lua, src/ui/StartMenu.lua), which route every one of these rows through Strings(). SaveMenu's two-line prompts (module-level OVERWRITE_PROMPT/SAVING_PROMPT, plus the dynamically-built "%s saved\nthe game." and the confirm/failed messages) are now single Strings()-resolved strings with an embedded "\n", matching the Gen 1 port's own single-call convention for two-line messages, split into the two-slot table drawPanel's fixed-position Chrome.print calls expect only at draw time -- so a translation sees one whole sentence to reorder, not two independently-translated fragments. Added tests/engine/gen2_main_menu_translation_test.lua and gen2_save_menu_translation_test.lua: drive both screens' drawPanel()/ drawSavePanel() with a mod-loaded Strings catalog and check the translated text reaches Font.draw, plus a vanilla no-mod case proving the fallback is unchanged. Confirmed both catch the regression: reverting either file to its pre-fix content fails the corresponding suite (7 and 15 checks respectively). --- src/ui/gen2/MainMenu.lua | 21 +-- src/ui/gen2/SaveMenu.lua | 58 ++++-- .../gen2_main_menu_translation_test.lua | 119 +++++++++++++ .../gen2_save_menu_translation_test.lua | 167 ++++++++++++++++++ 4 files changed, 343 insertions(+), 22 deletions(-) create mode 100644 tests/engine/gen2_main_menu_translation_test.lua create mode 100644 tests/engine/gen2_save_menu_translation_test.lua diff --git a/src/ui/gen2/MainMenu.lua b/src/ui/gen2/MainMenu.lua index 15d653ec..da0d42e9 100644 --- a/src/ui/gen2/MainMenu.lua +++ b/src/ui/gen2/MainMenu.lua @@ -24,6 +24,7 @@ local Logger = require("src.core.Logger") local Music = require("src.core.Music") local Runtime = require("src.mods.Runtime") local Save = require("src.core.gen2.Save") +local Strings = require("src.core.Strings") local MainMenu = {} MainMenu.__index = MainMenu @@ -73,14 +74,14 @@ local function sameItems(_, items) return items end function MainMenu:buildList() local items = {} if self.hasSave then - items[#items + 1] = { label = "CONTINUE", value = "continue" } + items[#items + 1] = { label = Strings("CONTINUE"), value = "continue" } end - items[#items + 1] = { label = "NEW GAME", value = "new" } - items[#items + 1] = { label = "OPTION", value = "option" } + items[#items + 1] = { label = Strings("NEW GAME"), value = "new" } + items[#items + 1] = { label = Strings("OPTION"), value = "option" } -- Not on the cart: a cartridge is left by switching the console off, and -- there is no console here. Mirrors the Gen 1 port's title menu -- (src/ui/TitleState.lua), which adds the same row for the same reason. - items[#items + 1] = { label = "EXIT GAME", value = "exit" } + items[#items + 1] = { label = Strings("EXIT GAME"), value = "exit" } -- The same hook name and the same (game, items) payload the Gen 1 title -- menu raises (src/ui/TitleState.lua:openMenu), so one mod's title rows -- serve both games; only the row shape differs, because Chrome.List reads @@ -170,7 +171,7 @@ function MainMenu:drawClockBox() -- minutes; the AM/PM half is drawn by PrintHour itself. local display = hour % 12 if display == 0 then display = 12 end - local half = hour < 12 and "AM" or "PM" + local half = Strings(hour < 12 and "AM" or "PM") Chrome.print(("%s:%s %s"):format( Chrome.number(display, 2), Chrome.number(minute, 2, true), half), 4, 16) end @@ -180,15 +181,15 @@ function MainMenu:drawSavePanel() -- DisplaySaveInfoOnContinue: a box down the right side listing the trainer. Chrome.textbox(4, 0, 14, 9) if not summary then - Chrome.print("NO SAVE FILE", 5, 2) + Chrome.print(Strings("NO SAVE FILE"), 5, 2) return end - Chrome.print("PLAYER " .. summary.name, 5, 2) - Chrome.print("BADGES", 5, 4) + Chrome.print(Strings("PLAYER %s", summary.name), 5, 2) + Chrome.print(Strings("BADGES"), 5, 4) Chrome.printRight(tostring(summary.badges), 17, 4) - Chrome.print("POKéDEX", 5, 6) + Chrome.print(Strings("POKéDEX"), 5, 6) Chrome.printRight(tostring(summary.caught), 17, 6) - Chrome.print("TIME", 5, 8) + Chrome.print(Strings("TIME"), 5, 8) Chrome.printRight(("%d:%s"):format( summary.hours, Chrome.number(summary.minutes, 2, true)), 17, 8) end diff --git a/src/ui/gen2/SaveMenu.lua b/src/ui/gen2/SaveMenu.lua index c0eeb47b..17bdea32 100644 --- a/src/ui/gen2/SaveMenu.lua +++ b/src/ui/gen2/SaveMenu.lua @@ -26,6 +26,7 @@ local Chrome = require("src.ui.gen2.Chrome") local Save = require("src.core.gen2.Save") local Sound = require("src.core.Sound") +local Strings = require("src.core.Strings") local SaveMenu = {} SaveMenu.__index = SaveMenu @@ -55,10 +56,43 @@ local TIME_X, TIME_Y = 13, 8 local YESNO_X, YESNO_Y, YESNO_W, YESNO_H = 0, 7, 6, 5 -- AlreadyASaveFileText (AskOverwriteSaveFile, engine/menus/save.asm:47) and --- SavingDontTurnOffThePower's own line, shared with the PC's CHANGE BOX save. +-- SavingDontTurnOffThePower's own line, shared with the PC's CHANGE BOX save +-- (src/ui/gen2/PcMenu.lua:savePrompt(), which returns this two-slot table +-- straight through to its own lines[1]/lines[2] Chrome.print calls, so the +-- table shape here is a cross-file contract that must not change). local OVERWRITE_PROMPT = { "There is already a", "save file. Is it" } local SAVING_PROMPT = { "SAVING… DON'T TURN", "OFF THE POWER." } +-- The same two prompts as a single \n-joined Strings.source() key, used only +-- by this screen's own prompt() below (PcMenu keeps reading the untranslated +-- table above unchanged). One key lets a translation reorder the whole +-- sentence rather than two independently-translated fragments, and lets a +-- cart whose own translation shows it on ONE line (German's SAVING prompt +-- has no second line at all) say so directly -- the per-line "{RAM:...}"- +-- style split load_engine_overrides uses elsewhere requires a non-empty +-- override for every line, so it cannot express "this line is blank" the +-- way an embedded "\n"-less string can. +-- +-- Written as literals, not `table.concat(OVERWRITE_PROMPT, "\n")`: tools/ +-- modkit.py's STRINGS_CALL harvester matches a quoted string literal +-- immediately inside Strings.source(...)/Strings(...), not an arbitrary +-- expression, so a computed argument here would be invisible to every +-- translator's `modkit.py translation ... --refresh` scaffold despite the +-- runtime lookup working fine -- caught by an independent review. Keep +-- these two byte-for-byte in sync with OVERWRITE_PROMPT/SAVING_PROMPT +-- above (checked by tests/engine/gen2_save_menu_translation_test.lua). +local OVERWRITE_PROMPT_SOURCE = Strings.source("There is already a\nsave file. Is it") +local SAVING_PROMPT_SOURCE = Strings.source("SAVING… DON'T TURN\nOFF THE POWER.") + +-- Splits a Strings()-resolved "line one\nline two" into the two-slot table +-- drawPanel's fixed-position Chrome.print calls expect; a translation with no +-- "\n" at all (single-line messages like "Could not save.") lands whole on +-- the first slot, matching the untranslated code's own { text, "" } shape. +local function twoLines(text) + local first, second = text:match("^(.-)\n(.*)$") + return { first or text, second or "" } +end + function SaveMenu:wantsFillScale() return true end function SaveMenu:drawsWidescreen() return true end @@ -171,18 +205,18 @@ function SaveMenu:prompt() if self.phase == "overwrite" then -- AlreadyASaveFileText when the file is this player's; AnotherSaveFileText -- when the ID differs. Only the first can happen here. - return OVERWRITE_PROMPT + return twoLines(Strings(OVERWRITE_PROMPT_SOURCE)) end if self.phase == "saving" then - return SAVING_PROMPT + return twoLines(Strings(SAVING_PROMPT_SOURCE)) end if self.phase == "done" then if self.saved then - return { self:playerName() .. " saved", "the game." } + return twoLines(Strings("%s saved\nthe game.", self:playerName())) end - return { "Could not save.", "" } + return twoLines(Strings("Could not save.")) end - return { "Would you like to", "save the game?" } + return twoLines(Strings("Would you like to\nsave the game?")) end function SaveMenu:drawPanel() @@ -190,10 +224,10 @@ function SaveMenu:drawPanel() local summary = Save.summary(self.save) Chrome.box(PANEL_X, PANEL_Y, PANEL_W, PANEL_H) if summary then - Chrome.print("PLAYER " .. summary.name, LABEL_X, LABEL_Y) - Chrome.print("BADGES", LABEL_X, LABEL_Y + 2) - Chrome.print("POKéDEX", LABEL_X, LABEL_Y + 4) - Chrome.print("TIME", LABEL_X, LABEL_Y + 6) + Chrome.print(Strings("PLAYER %s", summary.name), LABEL_X, LABEL_Y) + Chrome.print(Strings("BADGES"), LABEL_X, LABEL_Y + 2) + Chrome.print(Strings("POKéDEX"), LABEL_X, LABEL_Y + 4) + Chrome.print(Strings("TIME"), LABEL_X, LABEL_Y + 6) -- PrintNum fills its field from the left, space padded. Chrome.print(Chrome.number(summary.badges, 2), BADGES_X, BADGES_Y) Chrome.print(Chrome.number(summary.caught, 3), DEX_X, DEX_Y) @@ -211,8 +245,8 @@ function SaveMenu:drawPanel() if self.phase == "confirm" or self.phase == "overwrite" then Chrome.box(YESNO_X, YESNO_Y, YESNO_W, YESNO_H) - Chrome.print("YES", YESNO_X + 2, YESNO_Y + 1) - Chrome.print("NO", YESNO_X + 2, YESNO_Y + 3) + Chrome.print(Strings("YES"), YESNO_X + 2, YESNO_Y + 1) + Chrome.print(Strings("NO"), YESNO_X + 2, YESNO_Y + 3) Chrome.cursor(YESNO_X + 1, YESNO_Y + (self.choice == 1 and 1 or 3)) end love.graphics.setColor(1, 1, 1, 1) diff --git a/tests/engine/gen2_main_menu_translation_test.lua b/tests/engine/gen2_main_menu_translation_test.lua new file mode 100644 index 00000000..e5c7152a --- /dev/null +++ b/tests/engine/gen2_main_menu_translation_test.lua @@ -0,0 +1,119 @@ +-- Gold's title/main menu (src/ui/gen2/MainMenu.lua) drew every row label +-- (CONTINUE/NEW GAME/OPTION/EXIT GAME), the clock box's AM/PM half, and the +-- CONTINUE save-summary panel's labels (PLAYER /BADGES/POKéDEX/TIME, +-- or NO SAVE FILE) as bare literals, invisible to a translation mod's +-- `strings` registry -- unlike the Gen 1 port's own title menu +-- (src/ui/TitleState.lua/StartMenu.lua), which already routes the same rows +-- through Strings(). Drives MainMenu:drawPanel()/:drawSavePanel() with a +-- mod-loaded Strings catalog and checks the translated text reaches +-- Font.draw, same technique as +-- tests/engine/gen2_naming_screen_translation_test.lua. +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") + +love = require("tests.love_stub") + +require("src.core.Logger").warn = function() end + +local drawn +package.loaded["src.render.Font"] = { + draw = function(text, x, y) + drawn[#drawn + 1] = { text = text, x = x, y = y } + end, + drawCode = function() end, + drawBox = function() end, + width = function() return 0 end, +} + +local MainMenu = require("src.ui.gen2.MainMenu") +local Strings = require("src.core.Strings") + +local function drawnAt(x, y) + for _, d in ipairs(drawn) do + if d.x == x and d.y == y then return d.text end + end + return nil +end + +-- Chrome.print multiplies tile coordinates by 8 (src/ui/gen2/Chrome.lua). +-- List item 1 lands at (self.x, self.y) = (2, 2); the clock box's day name +-- at (1, 14) and the hour:minute half at (4, 16); the save panel's PLAYER +-- row at (5, 2). +local FIRST_ITEM_X, FIRST_ITEM_Y = 2 * 8, 2 * 8 +local CLOCK_HALF_X, CLOCK_HALF_Y = 4 * 8, 16 * 8 +local PANEL_PLAYER_X, PANEL_PLAYER_Y = 5 * 8, 2 * 8 + +local SAVE = { player = { name = "GOLD" } } +local CLOCK = { hour = 13, minute = 5, weekday = 1 } -- 1 PM, SUNDAY + +-- ---------------------------------------------- vanilla: no mod catalog +do + local menu = MainMenu.new({}, { hasSave = true, save = SAVE, clock = CLOCK }) + drawn = {} + menu:drawPanel() + T.eq(drawnAt(FIRST_ITEM_X, FIRST_ITEM_Y), "CONTINUE", + "the title menu's first row draws in English with no mod loaded") + T.eq(drawnAt(CLOCK_HALF_X, CLOCK_HALF_Y), " 1:05 PM", + "and the clock box's AM/PM half") + + drawn = {} + menu:drawSavePanel() + T.eq(drawnAt(PANEL_PLAYER_X, PANEL_PLAYER_Y), "PLAYER GOLD", + "the CONTINUE save-summary panel too") + + local noSaveMenu = MainMenu.new({}, { hasSave = false, save = false, clock = CLOCK }) + drawn = {} + noSaveMenu:drawSavePanel() + T.eq(drawnAt(PANEL_PLAYER_X, PANEL_PLAYER_Y), "NO SAVE FILE", + "and its no-summary fallback") +end + +-- ------------------------------------------------- a translation mod's turn +do + Strings.load({ + strings = { + ["CONTINUE"] = "CONTINUAR", + ["NEW GAME"] = "NUEVA PARTIDA", + ["OPTION"] = "OPCIÓN", + ["EXIT GAME"] = "SALIR", + ["PM"] = "PM_ES", + ["PLAYER %s"] = "JUGADOR %s", + ["BADGES"] = "MEDALLAS", + ["POKéDEX"] = "POKéDEX_ES", + ["TIME"] = "TIEMPO", + ["NO SAVE FILE"] = "SIN PARTIDA", + }, + }) + + local menu = MainMenu.new({}, { hasSave = true, save = SAVE, clock = CLOCK }) + drawn = {} + menu:drawPanel() + T.eq(drawnAt(FIRST_ITEM_X, FIRST_ITEM_Y), "CONTINUAR", + "a mod catalog reaches the title menu's first row") + T.eq(drawnAt(CLOCK_HALF_X, CLOCK_HALF_Y), " 1:05 PM_ES", + "and the clock box's AM/PM half") + + drawn = {} + menu:drawSavePanel() + T.eq(drawnAt(PANEL_PLAYER_X, PANEL_PLAYER_Y), "JUGADOR GOLD", + "the save-summary panel's PLAYER row takes the mod's own word order") + T.eq(drawnAt(5 * 8, 4 * 8), "MEDALLAS", "and BADGES") + T.eq(drawnAt(5 * 8, 6 * 8), "POKéDEX_ES", "and POKéDEX") + T.eq(drawnAt(5 * 8, 8 * 8), "TIEMPO", "and TIME") + + local noSaveMenu = MainMenu.new({}, { hasSave = false, save = false, clock = CLOCK }) + drawn = {} + noSaveMenu:drawSavePanel() + T.eq(drawnAt(PANEL_PLAYER_X, PANEL_PLAYER_Y), "SIN PARTIDA", + "and the no-summary fallback") + + -- Module state is process-global (see tests/gen2_clock_test.lua's own + -- note); this suite gets its own process from tests/tier_runner.lua, but + -- leaving the catalog loaded past this point would still mistranslate + -- every check below it in this file. + Strings.load({}) + T.check(not Strings.active(), "the catalog is unloaded for the checks after this one") +end + +T.finish("gen2_main_menu_translation_test") diff --git a/tests/engine/gen2_save_menu_translation_test.lua b/tests/engine/gen2_save_menu_translation_test.lua new file mode 100644 index 00000000..e74a9072 --- /dev/null +++ b/tests/engine/gen2_save_menu_translation_test.lua @@ -0,0 +1,167 @@ +-- Gold's SAVE screen (src/ui/gen2/SaveMenu.lua) drew every prompt ("Would +-- you like to save the game?", the overwrite/saving/saved messages), the +-- YES/NO choice, and the summary panel's labels (PLAYER /BADGES/ +-- POKéDEX/TIME) as bare literals, invisible to a translation mod's +-- `strings` registry -- unlike the Gen 1 port's own SAVE screen +-- (src/ui/StartMenu.lua), which already routes the same rows through +-- Strings(). Drives SaveMenu:drawPanel() directly at each phase with a +-- mod-loaded Strings catalog and checks the translated text reaches +-- Font.draw, same technique as +-- tests/engine/gen2_naming_screen_translation_test.lua. +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") + +love = require("tests.love_stub") + +require("src.core.Logger").warn = function() end + +local drawn +package.loaded["src.render.Font"] = { + draw = function(text, x, y) + drawn[#drawn + 1] = { text = text, x = x, y = y } + end, + drawCode = function() end, + drawBox = function() end, + width = function() return 0 end, +} + +local SaveMenu = require("src.ui.gen2.SaveMenu") +local Strings = require("src.core.Strings") + +local function drawnAt(x, y) + for _, d in ipairs(drawn) do + if d.x == x and d.y == y then return d.text end + end + return nil +end + +-- Chrome.print multiplies tile coordinates by 8 (src/ui/gen2/Chrome.lua). +-- PLAYER row at (5, 2); the two prompt lines at (1, 14)/(1, 16); YES/NO at +-- (2, 8)/(2, 10) (YESNO_X + 2, YESNO_Y + 1 / + 3). +local PANEL_PLAYER_X, PANEL_PLAYER_Y = 5 * 8, 2 * 8 +local PROMPT1_X, PROMPT1_Y = 1 * 8, 14 * 8 +local PROMPT2_X, PROMPT2_Y = 1 * 8, 16 * 8 +local YES_X, YES_Y = 2 * 8, 8 * 8 +local NO_X, NO_Y = 2 * 8, 10 * 8 + +local SAVE = { player = { name = "GOLD" } } + +-- ---------------------------------------------- vanilla: no mod catalog +do + local menu = SaveMenu.new({}, { save = SAVE, existed = false }) + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PANEL_PLAYER_X, PANEL_PLAYER_Y), "PLAYER GOLD", + "the summary panel draws in English with no mod loaded") + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "Would you like to", + "and the confirm prompt's first line") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "save the game?", "and its second line") + T.eq(drawnAt(YES_X, YES_Y), "YES", "and YES") + T.eq(drawnAt(NO_X, NO_Y), "NO", "and NO") + + menu.phase = "overwrite" + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "There is already a", "the overwrite prompt") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "save file. Is it", "its second line") + + menu.phase = "saving" + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "SAVING… DON'T TURN", "the saving message") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "OFF THE POWER.", "its second line") + + menu.phase, menu.saved = "done", true + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "GOLD saved", "the saved message") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "the game.", "its second line") + + menu.phase, menu.saved = "done", false + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "Could not save.", "the failed-save message") +end + +-- ------------------------------------------------- a translation mod's turn +do + Strings.load({ + strings = { + ["PLAYER %s"] = "JOUEUR %s", + ["BADGES"] = "BADGES_FR", + ["POKéDEX"] = "POKéDEX_FR", + ["TIME"] = "TEMPS", + ["YES"] = "OUI", + ["NO"] = "NON", + ["Would you like to\nsave the game?"] = "Voulez-vous\nsauvegarder ?", + ["There is already a\nsave file. Is it"] = "Un fichier existe\ndeja. Est-ce", + ["SAVING… DON'T TURN\nOFF THE POWER."] = "SAUVEGARDE...\nN'ETEIGNEZ PAS.", + ["%s saved\nthe game."] = "%s a sauvegarde\nla partie.", + ["Could not save."] = "Echec de sauvegarde.", + }, + }) + + local menu = SaveMenu.new({}, { save = SAVE, existed = false }) + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PANEL_PLAYER_X, PANEL_PLAYER_Y), "JOUEUR GOLD", + "the summary panel's PLAYER row takes the mod's own word order") + T.eq(drawnAt(5 * 8, 4 * 8), "BADGES_FR", "and BADGES") + T.eq(drawnAt(5 * 8, 6 * 8), "POKéDEX_FR", "and POKéDEX") + T.eq(drawnAt(5 * 8, 8 * 8), "TEMPS", "and TIME") + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "Voulez-vous", "the confirm prompt") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "sauvegarder ?", "its second line") + T.eq(drawnAt(YES_X, YES_Y), "OUI", "and YES") + T.eq(drawnAt(NO_X, NO_Y), "NON", "and NO") + + menu.phase = "overwrite" + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "Un fichier existe", "the overwrite prompt") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "deja. Est-ce", "its second line") + + menu.phase = "saving" + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "SAUVEGARDE...", "the saving message") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "N'ETEIGNEZ PAS.", "its second line") + + menu.phase, menu.saved = "done", true + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "GOLD a sauvegarde", + "the saved message folds the player name into the mod's own word order") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "la partie.", "its second line") + + menu.phase, menu.saved = "done", false + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "Echec de sauvegarde.", "the failed-save message") + + -- Module state is process-global (see tests/gen2_clock_test.lua's own + -- note); this suite gets its own process from tests/tier_runner.lua, but + -- leaving the catalog loaded past this point would still mistranslate + -- every check below it in this file. + Strings.load({}) + T.check(not Strings.active(), "the catalog is unloaded for the checks after this one") +end + +-- src/ui/gen2/PcMenu.lua:savePrompt() returns SaveMenu.OVERWRITE_PROMPT/ +-- SAVING_PROMPT straight through to its own `lines[1]`/`lines[2]` +-- Chrome.print calls (the PC's CHANGE BOX save uses the same two prompts). +-- Indexing a plain string with [1]/[2] returns nil, not characters, so this +-- shape is a cross-file contract: it caught a real regression during review, +-- where routing these through a single Strings.source()-wrapped string (to +-- translate SaveMenu's own screen) silently turned them into non-table +-- values and left PcMenu's overwrite/saving prompt blank. +do + T.eq(type(SaveMenu.OVERWRITE_PROMPT), "table", "OVERWRITE_PROMPT stays a table for PcMenu.lua") + T.eq(SaveMenu.OVERWRITE_PROMPT[1], "There is already a", "and its first line stays indexable") + T.eq(SaveMenu.OVERWRITE_PROMPT[2], "save file. Is it", "and its second line") + T.eq(type(SaveMenu.SAVING_PROMPT), "table", "SAVING_PROMPT stays a table for PcMenu.lua") + T.eq(SaveMenu.SAVING_PROMPT[1], "SAVING… DON'T TURN", "and its first line stays indexable") + T.eq(SaveMenu.SAVING_PROMPT[2], "OFF THE POWER.", "and its second line") +end + +T.finish("gen2_save_menu_translation_test") From 654650e3ffac90a1650124d50aa10d70d33b8122 Mon Sep 17 00:00:00 2001 From: thibautbus <310327033+thibautbus@users.noreply.github.com> Date: Sun, 23 Aug 2026 19:31:38 +0200 Subject: [PATCH 20/25] Translate Pokegear's AM/PM too, and warn instead of corrupting a 3rd line An independent review flagged two gaps: Pokegear.lua's clock card (drawClock and the card-list clock view) prints the same AM/PM information MainMenu's clock box does, but was left as bare literals -- so a mod translating AM/PM would now show it correctly on the title screen and in English on the Pokegear for the exact same hour. Both call sites now go through Strings("AM")/Strings("PM"), the same source key MainMenu.lua already added, so no new corpus entry is needed on the translation-mods side. SaveMenu.lua's twoLines() only ever split on the first "\n": drawPanel's box has room for exactly two Chrome.print calls, so a translation needing a third line (nothing in the current fr/de/es/it overrides does, but nothing stopped one from trying) had nowhere on screen to go, and the extra "\n" landed as a literal newline byte drawn as glyph garbage on the second line with no indication anything was wrong. It now warns once per source text instead. Added a gen2_save_menu_translation_test.lua case driving drawPanel() with a three-line mod translation: confirms only the first two lines render, the warning fires exactly once (not once per frame), and drawing does not crash. Pokegear.lua has no engine-tier test suite to extend for the AM/PM change; verified by direct inspection and a syntax check instead. --- src/ui/gen2/Pokegear.lua | 5 +- src/ui/gen2/SaveMenu.lua | 54 +++++++++++-------- .../gen2_save_menu_translation_test.lua | 32 +++++++++++ 3 files changed, 66 insertions(+), 25 deletions(-) diff --git a/src/ui/gen2/Pokegear.lua b/src/ui/gen2/Pokegear.lua index 4d94027e..14c54177 100644 --- a/src/ui/gen2/Pokegear.lua +++ b/src/ui/gen2/Pokegear.lua @@ -26,6 +26,7 @@ local Font = require("src.render.Font") local Palettes = require("src.world.gen2.Palettes") local Phone = require("src.core.gen2.Phone") local SpriteRenderer = require("src.render.SpriteRenderer") +local Strings = require("src.core.Strings") local TileSheet = require("src.ui.gen2.TileSheet") local Pokegear = {} @@ -1881,7 +1882,7 @@ function Pokegear:drawClock() self:text(Chrome.number(display, 2), 6, 8) self:text(":", 8, 8) self:text(Chrome.number(minute, 2, true), 9, 8) - self:text(hour < 12 and "AM" or "PM", 12, 8) + self:text(Strings(hour < 12 and "AM" or "PM"), 12, 8) -- The bottom Textbox is part of the card (lb bc, 4, 18 at (0,12)), and -- PokegearClock_Init prints PokegearPressButtonText straight into it @@ -2218,7 +2219,7 @@ function Pokegear:drawPlain() if display == 0 then display = 12 end Chrome.print(("%s:%s %s"):format( Chrome.number(display, 2), Chrome.number(minute, 2, true), - hour < 12 and "AM" or "PM"), 5, 9) + Strings(hour < 12 and "AM" or "PM")), 5, 9) Chrome.print(Clock.daytimeLabel(hour), 5, 11) elseif id == "radio" then -- Without the gear sheet there is no dial art, so the frequencies go down diff --git a/src/ui/gen2/SaveMenu.lua b/src/ui/gen2/SaveMenu.lua index 17bdea32..d3e0eacc 100644 --- a/src/ui/gen2/SaveMenu.lua +++ b/src/ui/gen2/SaveMenu.lua @@ -24,6 +24,7 @@ -- one-line call. local Chrome = require("src.ui.gen2.Chrome") +local Logger = require("src.core.Logger") local Save = require("src.core.gen2.Save") local Sound = require("src.core.Sound") local Strings = require("src.core.Strings") @@ -57,39 +58,46 @@ local YESNO_X, YESNO_Y, YESNO_W, YESNO_H = 0, 7, 6, 5 -- AlreadyASaveFileText (AskOverwriteSaveFile, engine/menus/save.asm:47) and -- SavingDontTurnOffThePower's own line, shared with the PC's CHANGE BOX save --- (src/ui/gen2/PcMenu.lua:savePrompt(), which returns this two-slot table --- straight through to its own lines[1]/lines[2] Chrome.print calls, so the --- table shape here is a cross-file contract that must not change). +-- (src/ui/gen2/PcMenu.lua:savePrompt() reads these two tables' lines[1]/ +-- lines[2] directly, so their shape is a cross-file contract: keep them +-- plain, untranslated tables). local OVERWRITE_PROMPT = { "There is already a", "save file. Is it" } local SAVING_PROMPT = { "SAVING… DON'T TURN", "OFF THE POWER." } --- The same two prompts as a single \n-joined Strings.source() key, used only --- by this screen's own prompt() below (PcMenu keeps reading the untranslated --- table above unchanged). One key lets a translation reorder the whole --- sentence rather than two independently-translated fragments, and lets a --- cart whose own translation shows it on ONE line (German's SAVING prompt --- has no second line at all) say so directly -- the per-line "{RAM:...}"- --- style split load_engine_overrides uses elsewhere requires a non-empty --- override for every line, so it cannot express "this line is blank" the --- way an embedded "\n"-less string can. +-- Translatable copies of the two prompts above, one \n-joined key each, used +-- only by this screen's own prompt() below. One key per prompt lets a +-- translation write one whole, freely reordered sentence instead of two +-- fragments translated in isolation, and lets a cart whose own text is a +-- single line (German's SAVING prompt) say so directly by simply omitting +-- the "\n" -- the per-line override style used elsewhere requires a +-- non-empty value for every line, so it can't express "this line is blank". -- --- Written as literals, not `table.concat(OVERWRITE_PROMPT, "\n")`: tools/ --- modkit.py's STRINGS_CALL harvester matches a quoted string literal --- immediately inside Strings.source(...)/Strings(...), not an arbitrary --- expression, so a computed argument here would be invisible to every --- translator's `modkit.py translation ... --refresh` scaffold despite the --- runtime lookup working fine -- caught by an independent review. Keep --- these two byte-for-byte in sync with OVERWRITE_PROMPT/SAVING_PROMPT --- above (checked by tests/engine/gen2_save_menu_translation_test.lua). +-- Written as literals, not `table.concat(OVERWRITE_PROMPT, "\n")`: the +-- translation tooling's string harvester only recognizes a literal inside +-- Strings.source(...), not a computed expression, so a concat call here +-- would quietly never reach a translator. Keep byte-for-byte in sync with +-- OVERWRITE_PROMPT/SAVING_PROMPT above (checked by +-- tests/engine/gen2_save_menu_translation_test.lua). local OVERWRITE_PROMPT_SOURCE = Strings.source("There is already a\nsave file. Is it") local SAVING_PROMPT_SOURCE = Strings.source("SAVING… DON'T TURN\nOFF THE POWER.") --- Splits a Strings()-resolved "line one\nline two" into the two-slot table --- drawPanel's fixed-position Chrome.print calls expect; a translation with no --- "\n" at all (single-line messages like "Could not save.") lands whole on +-- Splits a translated "line one\nline two" string back into the two-slot +-- table drawPanel's fixed Chrome.print calls expect. No "\n" at all (a +-- single-line message, or German's one-line SAVING prompt) lands whole on -- the first slot, matching the untranslated code's own { text, "" } shape. +-- +-- Only the first "\n" splits, since this box has room for exactly two +-- lines. A third line would otherwise draw as a raw newline byte -- garbage +-- glyph data -- with no other sign anything went wrong, so this warns once +-- per string instead. +local warnedTooManyLines = {} local function twoLines(text) local first, second = text:match("^(.-)\n(.*)$") + if second and second:find("\n", 1, true) and not warnedTooManyLines[text] then + warnedTooManyLines[text] = true + Logger.warn("SaveMenu: translation of %q has more than two lines; " .. + "only the first two fit this box", text) + end return { first or text, second or "" } end diff --git a/tests/engine/gen2_save_menu_translation_test.lua b/tests/engine/gen2_save_menu_translation_test.lua index e74a9072..c560d0bf 100644 --- a/tests/engine/gen2_save_menu_translation_test.lua +++ b/tests/engine/gen2_save_menu_translation_test.lua @@ -164,4 +164,36 @@ do T.eq(SaveMenu.SAVING_PROMPT[2], "OFF THE POWER.", "and its second line") end +-- A translation with a THIRD line (a second embedded "\n") has nowhere on +-- screen to go -- drawPanel's box has room for exactly two Chrome.print +-- calls -- so it must not silently draw the literal newline byte as glyph +-- garbage on the second line, and should warn so a translator notices. +do + Strings.load({ + strings = { + ["Would you like to\nsave the game?"] = "Ligne un\nLigne deux\nLigne trois", + }, + }) + + local warned = {} + require("src.core.Logger").warn = function(fmt, ...) + warned[#warned + 1] = select("#", ...) > 0 and fmt:format(...) or fmt + end + + local menu = SaveMenu.new({}, { save = SAVE, existed = false }) + drawn = {} + menu:drawPanel() + T.eq(drawnAt(PROMPT1_X, PROMPT1_Y), "Ligne un", "only the first line reaches the box") + T.eq(drawnAt(PROMPT2_X, PROMPT2_Y), "Ligne deux\nLigne trois", + "the rest lands in the second slot rather than vanishing") + T.check(#warned == 1, "and a single warning is logged") + + drawn = {} + menu:drawPanel() + T.check(#warned == 1, "the warning does not repeat for the same text") + + require("src.core.Logger").warn = function() end + Strings.load({}) +end + T.finish("gen2_save_menu_translation_test") From 2ad2e028d10abec839ee06990f660d881d4ab379 Mon Sep 17 00:00:00 2001 From: MaxTomahawk Date: Mon, 24 Aug 2026 09:32:34 +0200 Subject: [PATCH 21/25] feat(mod-api): expose field residual descriptors --- docs/mod-api-gen2-compat.md | 3 + docs/modding.md | 41 +++ docs/rfcs/0016-battle-field-residual.md | 123 +++++++ src/battle/BattleState.lua | 106 ++++++ .../battle_field_residual_validation.lua | 336 ++++++++++++++++++ tests/modkit/cases/battle_field_residual.lua | 145 ++++++++ tests/parity_double_faint.lua | 18 + 7 files changed, 772 insertions(+) create mode 100644 docs/rfcs/0016-battle-field-residual.md create mode 100644 tests/engine/battle_field_residual_validation.lua create mode 100644 tests/modkit/cases/battle_field_residual.lua diff --git a/docs/mod-api-gen2-compat.md b/docs/mod-api-gen2-compat.md index 716a2607..92cc0839 100644 --- a/docs/mod-api-gen2-compat.md +++ b/docs/mod-api-gen2-compat.md @@ -783,6 +783,9 @@ name and the existing payload, plus fields where Gen 2 genuinely carries more The list is much shorter than it was. What is outstanding, in descending value: +- `battle.field_residual`: the first guarded call site is in Gen 1 end-of-round + processing. Gold already has a native weather/between-turn pipeline but does + not yet expose the shared data-only descriptor hook. - `trainer.before_battle`: Gold constructs and pushes its trainer battle in `src/world/gen2/World.lua:startBattle`, which does not yet expose a deferred preparation boundary or a battle-local player-party view. Gen 1 mods can use diff --git a/docs/modding.md b/docs/modding.md index 7c724404..50ac2ad8 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -857,6 +857,47 @@ which stay unconditional and are never visible to a subscriber. Developer mode also arms the mod loader's dev tripwire, which flags mods that reach outside their permission set. +## Battle field residual hook + +`battle.field_residual` lets a Gen 1 battle-rule mod request end-of-round +damage without mutating live battlers. It is guarded and runs after vanilla +status residuals, before field-token expiry and `battle.turn_ended`. The +wrapper receives `(next, context)`, calls `next(context)` for the existing +descriptor list, and appends data-only rows: + +```lua +mod.hooks:wrap("battle.field_residual", function(next, context) + local rows = next(context) + rows[#rows + 1] = { + side = "enemy", amount = 7, + message = context.battlers.enemy.name .. " is buffeted!", + } + return rows +end) +``` + +`context.field` is a detached, data-only view with the same +`{ weather, tokens }` shape that battle checkpoints capture; it does not expose +`field.sides` or any live battler aliases. The projection recursively retains +raw tables and finite numbers, strings, and booleans under scalar keys. It +strips metatables and omits functions, userdata, threads, unsupported keys, and +cyclic edges. Consequently a wrapper cannot obtain or invoke an engine callback +even if a live field token uses one internally, and changing any nested view +value cannot change live field state. `context.battlers.player` and `.enemy` are +detached `{ side, name, hp, maxHp, types, vanished }` views, and `context.turn` +is the current turn number. A descriptor accepts `side` +(`player` or `enemy`), a positive, finite integer number `amount`, and an +optional string `message`. +Numeric strings and invalid rows are ignored; damage is clamped to current HP. +The engine retains HP-bar, faint, experience, and replacement authority. If +both active battlers take terminal residual damage together and the player has +no healthy reserve, this hook batch queues only the player faint authority and +resolves as a blackout loss without an enemy-faint EXP award or replacement. +That precedence is local to accepted rows from this hook; native faint paths +are unchanged when no hook is active. Hook callbacks remain process-local; +checkpoints serialize only field data. Gold does not yet raise this hook; its +native weather pipeline is documented in `docs/mod-api-gen2-compat.md`. + ## Process-lifecycle hooks These exist so a platform-specific launcher integration (a native shell diff --git a/docs/rfcs/0016-battle-field-residual.md b/docs/rfcs/0016-battle-field-residual.md new file mode 100644 index 00000000..07eba812 --- /dev/null +++ b/docs/rfcs/0016-battle-field-residual.md @@ -0,0 +1,123 @@ +# RFC 0016: Engine-owned field residual descriptors + +## Status + +Proposed. + +## Motivation + +Battle-rule mods can keep deterministic data-only state in the public battle +field and observe `battle.turn_ended`, but that event fires after the engine's +residual and faint pipeline. A listener cannot safely deal end-of-round field +damage: directly changing live HP bypasses bar drains, faint messages, +experience, replacements, double-faint resolution, and checkpoint continuation. +Putting callbacks into `battle.field` is also rejected by the checkpoint +serializer, correctly, because executable state is not save-safe. + +## Decision and plan extended + +This implements **D-AT-004: public engine-owned field residual execution**, the +consuming decision required by Adaptive Trainers capability `ENGINE-FIELD- +RESIDUALS`. The plan is +[`docs/superpowers/plans/2026-08-14-adaptive-trainers.md`](https://github.com/MaxTomahawk/gen1recomp-adaptive-trainers/blob/main/docs/superpowers/plans/2026-08-14-adaptive-trainers.md), +Task 8. The engine delta defines only a generic end-of-round extension point; +it contains no weather names, immunities, damage formula, trainer identity, or +Adaptive Trainers policy. + +## Exact API delta + +Add the guarded Gen 1 hook: + +```lua +mod.hooks:wrap("battle.field_residual", function(next, context) + local rows = next(context) + rows[#rows + 1] = { + side = "enemy", + amount = 7, + message = context.battlers.enemy.name .. " is buffeted!", + } + return rows +end) +``` + +The hook runs once during an undecided battle's end-of-round processing, after +vanilla status residuals and before field/side token expiry and +`battle.turn_ended`. With no subscriber, the guarded site builds no context and +changes nothing. Vanilla contributes an empty list. + +`context` is `{ field, battlers, turn }`. `field` is a strictly data-only view +with the same `{ weather, tokens }` shape captured by battle checkpoints. Its +recursive projection retains raw tables and finite numbers, strings, and +booleans under scalar keys. It strips metatables and omits functions, userdata, +threads, unsupported keys, and cyclic edges. Thus it exposes neither +`field.sides` nor a graph or executable callback back into live engine state. +`battlers.player` and `battlers.enemy` are detached snapshots with `{ side, +name, hp, maxHp, types, vanished }`. Changing either detached view cannot +change the live battle. `turn` is the current Gen 1 turn counter. + +A result row is `{ side = "player"|"enemy", amount = +positive_finite_integer_number, message = optional_string }`. Numeric strings, +zero, negatives, fractions, NaN, infinities, malformed sides, and non-string +messages fail closed. Damage is clamped to current HP. The engine owns +mutation, HP-bar drain rows, and its existing faint pipeline. It applies every +accepted row before scheduling newly fainted battlers. If this hook batch +terminally faints the player with no healthy reserve, it queues only the player +faint authority, so descriptor order cannot race a blackout against an enemy +EXP/replacement path. Otherwise it schedules newly fainted battlers in fixed +player/enemy order. This precedence is scoped to this hook response; native +faint paths, including `enemyMonFainted`, keep their existing no-hook behavior. +Wrappers compose by calling `next(context)` and appending their own rows. +Callbacks are not part of the descriptor contract and hook functions are never +stored in the battle. + +Gold already owns native weather and a generation-specific between-turn order; +this first additive call site is Gen 1-only. A future Gold site must keep the +same context and descriptor contract and choose its native ordering explicitly. + +## Migration and compatibility + +Existing mods change nothing. No hook name or payload changes. With no wrapper, +Gen 1 performs the same residual, token, event, and faint work as before, +including native simultaneous-faint resolution, and allocates no context. Gen +2 is unchanged. Existing and new checkpoints keep +serializing only the data stored in `battle.field`; hook callbacks remain +process-local loader state and are never serialized. + +The v1 surface remains unchanged: `content.X:register/override/get`, +`events:on`, `hooks:wrap`, `mod.log`, `mod:read`, manifest v1 fields, and +`pokemon.before_give` keep their existing behavior. + +## Verification + +- The catalog hook parity gate proves null and live-empty buses return the + vanilla list unchanged. +- A sandboxed fixture mod exercises the seam through `mod.hooks`, verifies the + detached checkpoint-shaped context, applies damage, and reaches the engine + faint pipeline. +- Engine validation tests cover strict number validation (including numeric + strings, NaN, infinities, zero, and negatives), nested mutation isolation, + omission of functions/userdata/threads/cycles and metatables from the public + field projection, optional messages, non-table results, clamping, and + settled-battle suppression. +- Both descriptor orders are driven through queue completion for a simultaneous + terminal residual. Each proves player blackout loss with no EXP event, + enemy replacement, or replacement UI. +- A disabled-bus sentinel proves the guard performs no `Runtime.call` or field + context construction. An ordering probe proves the enabled hook runs after + vanilla status residuals and before token expiry and `battle.turn_ended`. +- A no-hook native regression proves a simultaneous zero-HP state still enters + the pre-existing enemy-faint EXP and win authority outside this hook batch. +- Capture/restore/capture evidence proves checkpointed field state round-trips + while the enabled process-local hook remains installed and callable. + +## Docs with the change + +`docs/modding.md` documents the Gen 1 timing, detached payload, descriptor +validation, simultaneous-terminal result, and checkpoint boundary. +`docs/mod-api-gen2-compat.md` records that Gold does not yet expose the hook. +No registry or schema changes are involved, so generated registry docs do not +change. + +## Deprecation etiquette + +Nothing is deprecated. The hook is additive. diff --git a/src/battle/BattleState.lua b/src/battle/BattleState.lua index bae8aaa7..c4e50160 100644 --- a/src/battle/BattleState.lua +++ b/src/battle/BattleState.lua @@ -2792,6 +2792,111 @@ function BattleState:queueResidual(b, opp) end end +local function fieldBattlerView(battler, side) + local types = {} + for index, typeId in ipairs(battler.curTypes or {}) do + types[index] = typeId + end + local mon = battler.mon or {} + return { + side = side, + name = battler.name, + hp = tonumber(mon.hp) or 0, + maxHp = tonumber(mon.stats and mon.stats.hp) or tonumber(mon.hp) or 0, + types = types, + vanished = battler.invulnerable and true or false, + } +end + +local function publicScalar(value) + local kind = type(value) + if kind == "string" or kind == "boolean" then return value, true end + if kind == "number" and value == value + and value < math.huge and value > -math.huge then + return value, true + end + return nil, false +end + +local function publicDataCopy(value, visiting) + local scalar, ok = publicScalar(value) + if ok then return scalar, true end + if type(value) ~= "table" then return nil, false end + + visiting = visiting or {} + if visiting[value] then return nil, false end + visiting[value] = true + + local copy = {} + for key, child in next, value do + local copiedKey, keyOk = publicScalar(key) + local copiedChild, childOk = publicDataCopy(child, visiting) + if keyOk and childOk then copy[copiedKey] = copiedChild end + end + visiting[value] = nil + return copy, true +end + +local function checkpointFieldView(field) + field = field or {} + local view = publicDataCopy({ + weather = field.weather, + tokens = field.tokens or {}, + }) + return view +end + +-- Public field residuals are data-only requests. Mods can inspect a detached +-- checkpoint-shaped field view and detached battler views, but only the engine +-- mutates HP, animates the bar, or enters the faint pipeline. +function BattleState:applyFieldResiduals() + if not Runtime.wantsHook("battle.field_residual") then return end + local views = { + player = fieldBattlerView(self.player, "player"), + enemy = fieldBattlerView(self.enemy, "enemy"), + } + local rows = Runtime.call("battle.field_residual", function() return {} end, { + field = checkpointFieldView(self.field), + battlers = views, + turn = self.turnCount or 0, + }) + if type(rows) ~= "table" then return end + + local fainted = {} + for _, row in ipairs(rows) do + local battler = type(row) == "table" and row.side == "player" + and self.player or type(row) == "table" and row.side == "enemy" + and self.enemy or nil + local amount = type(row) == "table" and row.amount or nil + if battler and battler.mon.hp > 0 and type(amount) == "number" + and amount > 0 + and amount < math.huge and amount == math.floor(amount) + and (row.message == nil or type(row.message) == "string") then + amount = math.min(amount, battler.mon.hp) + if type(row.message) == "string" and row.message ~= "" then + self:sayNext(row.message) + end + battler.mon.hp = battler.mon.hp - amount + self:drainNext(battler, battler.mon.hp) + if battler.mon.hp <= 0 then fainted[battler] = true end + end + end + -- A terminal player faint owns a simultaneous field-residual batch. Queue + -- only that authority so its blackout cannot race an enemy EXP/replacement + -- path from the same hook response. Native faint paths remain untouched. + if fainted[self.player] + and not Party.firstHealthy(self:playerPartyView()) then + self:onFaint(self.player) + return + end + + -- Otherwise resolve the two sides in engine order after every accepted + -- descriptor has landed. Descriptor order must not decide resolution. + for _, battler in ipairs({ self.player, self.enemy }) do + if fainted[battler] then self:onFaint(battler) end + end +end + function BattleState:endOfTurn() -- the same ret: a decided battle never reaches HandlePoisonBurnLeechSeed -- or CheckNumAttacksLeft (core.asm:417-421, 456-460), so the residual @@ -2845,6 +2950,7 @@ function BattleState:endOfTurn() b.trappingTurns = nil end end + self:applyFieldResiduals() self:tickTokens() Runtime.emit("battle.turn_ended", { battle = self, turn = self.turnCount or 0 }) end diff --git a/tests/engine/battle_field_residual_validation.lua b/tests/engine/battle_field_residual_validation.lua new file mode 100644 index 00000000..a61c589b --- /dev/null +++ b/tests/engine/battle_field_residual_validation.lua @@ -0,0 +1,336 @@ +-- Validation and fail-closed behavior for battle.field_residual descriptors. + +package.path = "./?.lua;./?/init.lua;" .. package.path +love = love or require("tests.love_stub") + +local T = require("tests.modkit") +local BattleState = require("src.battle.BattleState") +local Checkpoint = require("src.core.Checkpoint") +local Events = require("src.mods.Events") +local GameMethods = require("src.core.Game") +local Hooks = require("src.mods.Hooks") +local Pokemon = require("src.pokemon.Pokemon") +local Runtime = require("src.mods.Runtime") +local SaveData = require("src.core.SaveData") +local StateStack = require("src.core.StateStack") +local TypeChart = require("src.battle.TypeChart") + +local data = T.fixtures.fresh() +TypeChart.load(data) + +local function newBattle() + local save = SaveData.newGame() + save.party = { Pokemon.new(data, "FIXMON_A", 30) } + local game = { + data = data, + save = save, + stack = { top = function() return nil end, push = function() end }, + } + local battle = BattleState.newWild(game, "FIXMON_C", 30) + battle.phase, battle.queue = "menu", {} + return battle +end + +local savedEvents, savedHooks, savedErrors = Runtime.events, Runtime.hooks, + Runtime.errors +local hooks = Hooks.new() +Runtime.install(savedEvents, hooks, {}) + +local battle = newBattle() +local playerHp, enemyHp = battle.player.mon.hp, battle.enemy.mon.hp +local playerType = battle.player.curTypes[1] +local cyclic = { label = "cycle-data" } +cyclic.self = cyclic +local metatableData = setmetatable({ label = "plain-data" }, { + __index = { hidden = "metatable-data" }, +}) +battle.field.weather = { + id = "probe", turns = 3, + callback = function() end, + handle = io.stdout, + worker = coroutine.create(function() end), + cyclic = cyclic, + metatableData = metatableData, +} +battle.field.tokens[1] = { id = "nested", turns = 2, + state = { intensity = 4 } } +battle:enter() +hooks:wrap("battle.field_residual", function(next, context) + local vanilla = next(context) + T.same(vanilla, {}, "the vanilla contribution is an empty descriptor list") + context.battlers.player.hp = 0 + context.battlers.player.types[1] = "MUTATED" + T.eq(context.field.sides, nil, + "the field view has the checkpoint shape and no live side graph") + T.eq(context.field.weather.callback, nil, + "the field view omits executable values") + T.eq(context.field.weather.handle, nil, + "the field view omits userdata") + T.eq(context.field.weather.worker, nil, + "the field view omits threads") + T.eq(context.field.weather.cyclic.label, "cycle-data", + "the field view retains scalar data around a cycle") + T.eq(context.field.weather.cyclic.self, nil, + "the field view omits cyclic edges") + T.eq(getmetatable(context.field.weather.metatableData), nil, + "the field view carries no metatable") + T.eq(context.field.weather.metatableData.label, "plain-data", + "the field view retains raw data from a metatable-bearing table") + T.eq(context.field.weather.metatableData.hidden, nil, + "the field view does not expose metatable-provided values") + context.field.weather.turns = 0 + context.field.tokens[1].state.intensity = 99 + return { + false, + { side = "unknown", amount = 20, message = "invalid side" }, + { side = "player", amount = "3", message = "numeric string" }, + { side = "player", amount = 0, message = "zero" }, + { side = "player", amount = -2, message = "negative" }, + { side = "player", amount = 1.5, message = "fractional" }, + { side = "player", amount = "not a number", message = "bad amount" }, + { side = "player", amount = 0 / 0, message = "not finite" }, + { side = "player", amount = math.huge, message = "non-finite" }, + { side = "player", amount = 2, message = function() end }, + { side = "enemy", amount = 3 }, + } +end, 0, "validation_probe") + +battle:applyFieldResiduals() +T.eq(battle.player.mon.hp, playerHp, + "a descriptor with a non-string message fails closed") +T.eq(battle.enemy.mon.hp, enemyHp - 3, + "a valid descriptor may omit its message") +T.eq(battle.player.curTypes[1], playerType, + "mutating the detached type view cannot mutate the live battler") +T.check(battle.player.mon.hp ~= 0, + "mutating detached HP cannot replace engine damage authority") +T.eq(battle.field.weather.turns, 3, + "mutating the detached weather view cannot mutate live field state") +T.eq(battle.field.tokens[1].state.intensity, 4, + "mutating nested detached token state cannot mutate live field state") + +local guarded = newBattle() +local fieldReads, runtimeCalls = 0, 0 +guarded.field = setmetatable({}, { __index = function() + fieldReads = fieldReads + 1 + return nil +end }) +local realRuntimeCall = Runtime.call +Runtime.call = function(...) + runtimeCalls = runtimeCalls + 1 + return realRuntimeCall(...) +end +Runtime.install(savedEvents, Hooks.new(), {}) +guarded:applyFieldResiduals() +Runtime.call = realRuntimeCall +T.eq(runtimeCalls, 0, + "a disabled field hook never enters Runtime.call") +T.eq(fieldReads, 0, + "a disabled field hook does not construct its field context") + +local nilBattle = newBattle() +local nilHp = nilBattle.player.mon.hp +local nilHooks = Hooks.new() +Runtime.install(savedEvents, nilHooks, {}) +nilHooks:wrap("battle.field_residual", function() return nil end, + 0, "nil_probe") +nilBattle:applyFieldResiduals() +T.eq(nilBattle.player.mon.hp, nilHp, + "a non-table hook result fails closed") + +local settled = newBattle() +local settledCalls = 0 +local settledHooks = Hooks.new() +Runtime.install(savedEvents, settledHooks, {}) +settledHooks:wrap("battle.field_residual", function(next, context) + settledCalls = settledCalls + 1 + return next(context) +end, 0, "settled_probe") +settled.result = "win" +settled:endOfTurn() +T.eq(settledCalls, 0, + "a settled battle never invokes field residual policy") + +local function drainQueue(battle) + local rows, guard = {}, 0 + while battle.queue[1] and guard < 1000 do + guard = guard + 1 + local row = table.remove(battle.queue, 1) + rows[#rows + 1] = row + if row.fn then + battle.nextInsert = 0 + row.fn() + end + end + T.check(guard < 1000, "the simultaneous-faint queue completes") + return rows +end + +local function simultaneousTerminal(order) + local save = SaveData.newGame() + save.party = { Pokemon.new(data, "FIXMON_A", 30) } + local game = { + data = data, + save = save, + stack = { top = function() return nil end, push = function() end }, + } + local double = BattleState.newTrainer(game, "OPP_FIX_YOUNGSTER", 1) + double.phase, double.queue = "menu", {} + local originalEnemy, originalEnemyIndex = double.enemy, double.enemyIndex + local startingExp = double.player.mon.exp + local events, doubleHooks = Events.new(), Hooks.new() + local awardCalls, expEvents, switches = 0, 0, 0 + events:on("battle.exp_gained", function() expEvents = expEvents + 1 end, + 0, "double_probe") + events:on("battle.battler_switched", function() switches = switches + 1 end, + 0, "double_probe") + Runtime.install(events, doubleHooks, {}) + doubleHooks:wrap("battle.field_residual", function(next, context) + local rows = next(context) + for _, side in ipairs(order) do + rows[#rows + 1] = { + side = side, + amount = context.battlers[side].hp, + } + end + return rows + end, 0, "double_probe") + doubleHooks:wrap("battle.exp_award", function(next, context) + awardCalls = awardCalls + 1 + return next(context) + end, 0, "double_probe") + double:endOfTurn() + local queued = drainQueue(double) + T.eq(double.player.mon.hp, 0, + "simultaneous residuals settle the player side") + T.eq(double.enemy.mon.hp, 0, + "simultaneous residuals settle the enemy side") + T.eq(double.result, "lose", + "a simultaneous terminal residual resolves as player blackout") + T.eq(double.afterQueue, "finish", + "the completed simultaneous-faint queue closes the battle") + T.eq(double.player.faintQueued, true, + "the terminal hook batch queues player faint authority") + T.eq(double.enemy.faintQueued, nil, + "the terminal hook batch suppresses only its enemy faint authority") + T.eq(double.player.mon.exp, startingExp, + "a blackout does not award contradictory enemy-faint EXP") + T.eq(awardCalls, 0, + "a blackout never enters the enemy EXP-award policy") + T.eq(expEvents, 0, + "a blackout emits no contradictory EXP event") + T.eq(switches, 0, + "a blackout does not send the trainer's reserve into battle") + T.eq(double.enemyIndex, originalEnemyIndex, + "a blackout leaves the enemy roster position unchanged") + T.check(double.enemy == originalEnemy, + "a blackout queues no contradictory enemy replacement") + for _, row in ipairs(queued) do + T.eq(row.ui, nil, + "a simultaneous terminal residual queues no replacement UI") + end +end + +simultaneousTerminal({ "player", "enemy" }) +simultaneousTerminal({ "enemy", "player" }) + +local timing = newBattle() +local timingOrder = {} +timing.ruleset = require("src.battle.rulesets.modern_clean") +timing.player.mon.status = "PSN" +timing.field.tokens[1] = { id = "expires", turns = 1, + onExpire = function() timingOrder[#timingOrder + 1] = "token_expired" end } +local timingEvents, timingHooks = Events.new(), Hooks.new() +timingEvents:on("battle.turn_ended", function() + timingOrder[#timingOrder + 1] = "turn_ended" +end, 0, "timing_probe") +Runtime.install(timingEvents, timingHooks, {}) +local preStatusHp = timing.player.mon.hp +timingHooks:wrap("battle.field_residual", function(next, context) + timingOrder[#timingOrder + 1] = "field_residual" + T.check(context.battlers.player.hp < preStatusHp, + "the hook snapshot observes completed vanilla status residuals") + return next(context) +end, 0, "timing_probe") +timing:endOfTurn() +T.same(timingOrder, + { "field_residual", "token_expired", "turn_ended" }, + "the hook runs before token expiry and battle.turn_ended") + +local oldGetState, oldSetState = love.math.getRandomState, + love.math.setRandomState +local checkpointRng = "field-residual-rng" +love.math.getRandomState = function() return checkpointRng end +love.math.setRandomState = function(state) checkpointRng = state end + +local function checkpointBattle() + local save = SaveData.newGame() + save.meta.playthroughId = "field-residual-checkpoint" + save.party = { Pokemon.new(data, "FIXMON_A", 30) } + SaveData.validate(save, data) + save.player.map, save.player.x, save.player.y = "FIX_TOWN", 2, 3 + save.player.facing, save.player.surfing = "left", false + local stack = setmetatable({ states = {} }, { __index = StateStack }) + local overworld = { + map = { id = "FIX_TOWN" }, + player = { cellX = 2, cellY = 3, facing = "left", surfing = false }, + runner = { isRunning = function() return false end }, + parallelRunners = {}, pendingScripts = {}, parallelQueue = {}, + scriptMoves = {}, + } + function overworld:captureSave(target) + target.player.map = self.map.id + target.player.x, target.player.y = self.player.cellX, self.player.cellY + target.player.facing = self.player.facing + target.player.surfing = self.player.surfing and true or false + end + function overworld:restoreBattleContinuation(restored, origin) + restored.onFinish = function() end + return origin.kind == "wild_encounter" and origin.map == self.map.id + end + local game = setmetatable({ data = data, save = save, stack = stack, + overworld = overworld }, { __index = GameMethods }) + stack.states[1] = overworld + local battle = BattleState.newWild(game, "FIXMON_C", 30) + battle.phase, battle.queue = "menu", {} + battle.checkpointOrigin = { kind = "wild_encounter", map = "FIX_TOWN" } + battle.musicKind = battle:computeMusicKind() + battle.onFinish = function() end + battle.field.weather = { id = "checkpoint-weather", turns = 5 } + stack.states[2] = battle + return game, battle +end + +local checkpointGame = checkpointBattle() +local checkpointHooks, restoredCalls = Hooks.new(), 0 +Runtime.install(Events.new(), checkpointHooks, {}) +checkpointHooks:wrap("battle.field_residual", function(next, context) + restoredCalls = restoredCalls + 1 + T.same(context.field.weather, + { id = "checkpoint-weather", turns = 5 }, + "the enabled hook observes checkpointed field state after restore") + return next(context) +end, 0, "checkpoint_probe") +local snapshot, captureCode = Checkpoint.capture(checkpointGame) +T.check(snapshot ~= nil, + "an enabled process-local hook does not enter the checkpoint: " + .. tostring(captureCode)) +if snapshot then + checkpointGame.stack:top().field.weather.turns = 1 + local restored, restoreCode, restoreMessage = + Checkpoint.restore(checkpointGame, snapshot) + T.check(restored == true, + "field state reconstructs while the hook remains enabled: " + .. tostring(restoreCode or restoreMessage)) + if restored then checkpointGame.stack:top():applyFieldResiduals() end + if restored then + T.same(Checkpoint.capture(checkpointGame), snapshot, + "enabled-hook field state completes capture/restore/capture round-trip") + end +end +T.eq(restoredCalls, 1, + "the process-local hook still runs after checkpoint reconstruction") +love.math.getRandomState, love.math.setRandomState = oldGetState, oldSetState + +Runtime.install(savedEvents, savedHooks, savedErrors) +T.finish("battle.field_residual validation") diff --git a/tests/modkit/cases/battle_field_residual.lua b/tests/modkit/cases/battle_field_residual.lua new file mode 100644 index 00000000..72097f19 --- /dev/null +++ b/tests/modkit/cases/battle_field_residual.lua @@ -0,0 +1,145 @@ +-- A sandboxed mod can contribute data-only field residual damage while the +-- engine retains HP, queue, and faint authority. The case also proves that +-- no-mod battles allocate no hook context and remain byte-equivalent. + +package.path = "./?.lua;./?/init.lua;" .. package.path +love = love or require("tests.love_stub") + +local T = require("tests.modkit") +local BattleState = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local SaveData = require("src.core.SaveData") +local TypeChart = require("src.battle.TypeChart") + +local FIXTURE = { + ["mods/field_residual_probe/manifest.json"] = [[{ + "id": "field_residual_probe", + "name": "Field Residual Probe", + "version": "1.0.0", + "entry": "main.lua", + "api": 2 + }]], + ["mods/field_residual_probe/main.lua"] = [[ + local mod = ... + mod.hooks:wrap("battle.field_residual", function(next, context) + mod.exports.calls = (mod.exports.calls or 0) + 1 + mod.exports.context = context + local callback = context.field.tokens[1] + and context.field.tokens[1].onExpire + mod.exports.callbackType = type(callback) + if callback then callback() end + local rows = next(context) + rows[#rows + 1] = { + side = "player", amount = 7, + message = context.battlers.player.name .. " is buffeted!", + } + rows[#rows + 1] = { + side = "enemy", amount = 999, + message = context.battlers.enemy.name .. " is buffeted!", + } + return rows + end) + ]], +} + +local function newBattle(data) + TypeChart.load(data) + local save = SaveData.newGame() + save.party = { Pokemon.new(data, "FIXMON_A", 30) } + local game = { + data = data, + save = save, + stack = { top = function() return nil end, push = function() end }, + } + local battle = BattleState.newWild(game, "FIXMON_C", 30) + battle.phase, battle.queue = "menu", {} + battle.field.weather = { id = "sand", turns = 4, source = "probe" } + return battle +end + +local vanilla = T.sdk.loadNone({}) +local plain = newBattle(vanilla.data) +local plainPlayerHp, plainEnemyHp = plain.player.mon.hp, plain.enemy.mon.hp +plain:endOfTurn() +T.eq(plain.player.mon.hp, plainPlayerHp, + "no-mod end of turn preserves player HP") +T.eq(plain.enemy.mon.hp, plainEnemyHp, + "no-mod end of turn preserves enemy HP") +T.eq(plain.field.weather.turns, 4, + "no-mod path does not reinterpret an unknown data-only field extension") +vanilla.release() + +local run = T.sdk.loadMods({ "mods/field_residual_probe" }, { + fs = T.sdk.memfs(FIXTURE), +}) +T.eq(#run.errors, 0, + "the public field-residual probe loads cleanly") +local battle = newBattle(run.data) +local playerHp, enemyHp = battle.player.mon.hp, battle.enemy.mon.hp +local callbackInvocations = 0 +battle.field.tokens[1] = { + id = "callback-bearing", turns = 2, + state = { intensity = 4 }, + onExpire = function() callbackInvocations = callbackInvocations + 1 end, +} +battle.player.invulnerable = true +battle:endOfTurn() + +local out = run.loader.exports.field_residual_probe or {} +T.eq(out.calls, 1, "the public hook runs exactly once at round end") +T.check(out.context.field ~= battle.field, + "the hook receives a detached checkpoint-shaped field view") +T.same(out.context.field.weather, + { id = "sand", turns = 4, source = "probe" }, + "the detached field view carries checkpointed weather state") +T.eq(out.context.field.sides, nil, + "the detached field view exposes no live battler aliases") +T.eq(out.callbackType, "nil", + "the sandboxed wrapper cannot obtain a live field callback") +T.eq(callbackInvocations, 0, + "the sandboxed wrapper cannot invoke the engine-owned callback") +T.same(out.context.field.tokens[1], { + id = "callback-bearing", turns = 2, state = { intensity = 4 }, +}, "the public field view retains data while omitting the callback") +T.eq(out.context.turn, battle.turnCount or 0, + "the hook receives the current turn counter") +T.eq(out.context.battle, nil, + "the hook does not expose the live engine battle object") +T.eq(out.context.battlers.player.side, "player", + "the detached player snapshot identifies its side") +T.eq(out.context.battlers.enemy.side, "enemy", + "the detached enemy snapshot identifies its side") +T.eq(out.context.battlers.player.vanished, true, + "the detached view reports Gen1 semi-invulnerability") +T.eq(out.context.battlers.player.hp, playerHp, + "the player snapshot carries pre-residual HP") +T.eq(out.context.battlers.enemy.hp, enemyHp, + "the enemy snapshot carries pre-residual HP") +T.check(out.context.battlers.player ~= battle.player, + "the public battler view is detached from the engine wrapper") +T.check(out.context.battlers.player.types ~= battle.player.curTypes, + "the public type list is detached") + +T.eq(battle.player.mon.hp, playerHp - 7, + "the engine applies the validated player residual amount") +T.eq(battle.enemy.mon.hp, 0, + "the engine clamps residual damage to current HP") +T.eq(battle.enemy.faintQueued, true, + "the engine, not the mod, owns residual faint orchestration") + +local sawPlayerMessage, sawEnemyMessage, drains = false, false, 0 +for _, row in ipairs(battle.queue) do + local text = row.text and tostring(row.text) or "" + if text:find("buffeted", 1, true) then + if text:find(battle.player.name, 1, true) then sawPlayerMessage = true end + if text:find(battle.enemy.name, 1, true) then sawEnemyMessage = true end + end + if row.drain then drains = drains + 1 end +end +T.check(sawPlayerMessage and sawEnemyMessage, + "validated public messages enter the normal battle queue") +T.check(drains >= 2, + "residual HP changes use normal engine drain rows") +run.release() + +T.finish("battle.field_residual public seam") diff --git a/tests/parity_double_faint.lua b/tests/parity_double_faint.lua index cb136229..01844892 100644 --- a/tests/parity_double_faint.lua +++ b/tests/parity_double_faint.lua @@ -22,6 +22,7 @@ package.path = "./?.lua;./?/init.lua;" .. package.path if not _G.love then _G.love = require("tests.love_stub") end local BattleState = require("src.battle.BattleState") +local Runtime = require("src.mods.Runtime") local S = require("tests.harness").suite("parity double faint") local check, eq = S.check, S.eq @@ -107,4 +108,21 @@ do check(not saidBlackout(b), "and does not black out") end +-- enemyMonFainted is also a native authority path used by move effects. A +-- field-residual hook must not change what that path does when no hook is +-- installed, even if both active mons are already at zero HP. +do + Runtime.reset() + local b = battleWith({ 0 }, nil) + b.player = { mon = b.game.save.party[1] } + b.enemy = { mon = { hp = 0 } } + b.awards = 0 + b.awardExp = function(self) self.awards = self.awards + 1 end + BattleState.enemyMonFainted(b) + eq(b.awards, 1, + "no-hook simultaneous faint still enters native enemy EXP authority") + eq(b.result, "win", + "no-hook simultaneous faint preserves native enemy-faint resolution") +end + S.finish() From 58681fe62e6ef6a03850fdff9bdf587eccd8dc58 Mon Sep 17 00:00:00 2001 From: MaxTomahawk Date: Mon, 24 Aug 2026 10:37:10 +0200 Subject: [PATCH 22/25] feat(mod-api): expose developer mode --- docs/mod-api-gen2-compat.md | 6 +- docs/modding.md | 19 ++++ docs/rfcs/0017-mod-developer-mode.md | 99 +++++++++++++++++++ src/mods/Loader.lua | 4 + .../engine/mod_developer_mode_parity_test.lua | 66 +++++++++++++ tests/engine/mod_developer_mode_test.lua | 86 ++++++++++++++++ 6 files changed, 278 insertions(+), 2 deletions(-) create mode 100644 docs/rfcs/0017-mod-developer-mode.md create mode 100644 tests/engine/mod_developer_mode_parity_test.lua create mode 100644 tests/engine/mod_developer_mode_test.lua diff --git a/docs/mod-api-gen2-compat.md b/docs/mod-api-gen2-compat.md index 716a2607..9bda0c10 100644 --- a/docs/mod-api-gen2-compat.md +++ b/docs/mod-api-gen2-compat.md @@ -469,8 +469,10 @@ is warned once per name and the rest of the list still runs. The engine's own Gen 1 verbs are **not** seeded on Gold: a row-list verb handed Gold's ctx would find no runner on it, so `data.commands` under Gen 2 is the mod verbs alone. -**`mod.save`, `mod.options`, `mod.log`, `mod.assets`, `mod.find`, exports.** -Generation-agnostic; nothing to adapt. +**`mod.save`, `mod.options`, `mod.log`, `mod.assets`, `mod.find`, +`mod.developer`, exports.** Generation-agnostic; nothing to adapt. +`mod.developer` is the same fixed boot-time boolean on both generations and is +available while the entry chunk runs. **`mod.world`.** Same method set, resolved against Gold's world (`src/world/gen2/WorldAPI.lua`). Two differences show through and are diff --git a/docs/modding.md b/docs/modding.md index 7c724404..45577b62 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -695,6 +695,25 @@ hotkeys. Either set `POKEPORT_DEV=1` in the environment or pass love . --developer ``` +Every sandboxed entry chunk receives the same boot decision as the boolean +`mod.developer`. It is available while the entry file is loading, so a mod can +keep diagnostic commands, screens, and verbose tracing out of player builds: + +```lua +if mod.developer then + mod.commands:register("my_mod:diagnostics", function(ctx) + -- open or print this mod's diagnostic view + end) +end +``` + +`mod.developer` is a plain boolean snapshot for this boot. It grants no +permission and exposes neither the process environment nor the loader. In a +normal player boot it is `false`; `POKEPORT_DEV=1` and `--developer` make it +`true` through the same engine-owned decision that enables the console and hot +reload. Use a mod option for player-facing feature toggles rather than treating +developer mode as configuration. + While developer mode is active: - `` ` `` (backtick) opens the console overlay — a Lua REPL with `game`, diff --git a/docs/rfcs/0017-mod-developer-mode.md b/docs/rfcs/0017-mod-developer-mode.md new file mode 100644 index 00000000..a717f8db --- /dev/null +++ b/docs/rfcs/0017-mod-developer-mode.md @@ -0,0 +1,99 @@ +# RFC 0017: Public mod developer-mode signal + +## Status + +Proposed. + +## Motivation + +The loader already has one boot-time developer-mode decision. It enables the +console and hot reload and can be forced in headless tests, but a sandboxed mod +cannot read it. `mod.commands` can register a diagnostic command but cannot say +whether the current boot is a developer boot. `mod.exports` only publishes +values to other mods. `game.ready` fires after entry registration and carries +only the game. `mod.options` is player configuration, not engine mode, and +`mod.log` logs unconditionally. The pre-sandbox compatibility +`os.getenv("POKEPORT_DEV")` deliberately returns `nil`, because the process +environment is hidden from mods. + +The concrete consumer is **Adaptive Trainers**. Its approved Chapter 30 and +Phase H require trainer, boss, Rival, and League diagnostic views plus +seed-label tracing to exist only when `POKEPORT_DEV` is active. Without a +public signal, the mod must either ship those registrations in production, +misuse a player option, or import loader/Logger internals. All three violate +the approved observability boundary or the sandbox/public-API policy. + +## Decision and plan extended + +This implements **D-AT-005: diagnostics and seed tracing are admitted only by +the engine's developer-mode decision**. The consuming design is tracked in the +Adaptive Trainers implementation plan, +[`docs/superpowers/plans/2026-08-14-adaptive-trainers.md`](https://github.com/MaxTomahawk/gen1recomp-adaptive-trainers/blob/main/docs/superpowers/plans/2026-08-14-adaptive-trainers.md), +Task 9. The engine delta is generic and contains no trainer, balancing, +diagnostic-layout, seed-label, or Adaptive Trainers policy. + +## Exact API delta + +Every sandboxed mod object adds one field: + +```lua +mod.developer -- boolean +``` + +The loader copies its existing `dev` decision into this field before invoking +the mod's entry chunk. It is therefore available for load-time registration: + +```lua +if mod.developer then + mod.commands:register("my_mod:diagnostics", diagnostics_command) +end +``` + +The value is a plain boolean snapshot, not a loader reference or environment +facade. `false` is the normal player-build answer. `POKEPORT_DEV=1`, the +`--developer` command-line path, and the loader's existing injected `opts.dev` +test seam produce `true` through the same decision that already controls the +developer console, hot reload, and loader diagnostics. It grants no permission +and does not expose environment variables. The answer is fixed for the life of +that loader; changing a field on a mod's own table cannot change engine mode. + +The field is generation-independent and has identical semantics on Red, Blue, +Yellow, Gold, and Silver. + +## Migration and compatibility + +Existing mods change nothing. `mod.developer` is additive, requires no +permission, and does not bump the integer mod API. Existing API-v1 and API-v2 +entry chunks receive one extra scalar field and retain all prior fields and +methods unchanged. No name is removed or shadowed. + +With no mods installed, `Loader:_api` is never called, so the delta allocates no +mod object and changes no data, save, options, event, hook, command, or file. +With mods installed in a normal boot, the new field is `false` unless an author +explicitly reads it. Existing registration and logging behavior is unchanged. + +An adopting mod should gate developer-only registrations and verbose logging +directly on `mod.developer`. Player-facing behavior belongs behind +`mod.options`, not this signal. + +## Verification + +- `tests/engine/mod_developer_mode_test.lua` loads a real sandboxed mod through + the public SDK with developer mode both on and off. It proves the boolean is + available during entry execution and that the same source registers its + diagnostic command only for the developer load. It also covers the + command-line global path and a Gen 2 load. +- `tests/engine/mod_developer_mode_parity_test.lua` is the separate no-mod + parity suite. It proves both developer answers discover no mods, create no + files, and leave injected vanilla data unchanged. It also loads an unchanged + API-v1 probe and verifies identity, `mod:read`, exports, and options behavior. +- The full ROM-free engine and modkit tiers remain the compatibility proof for + `content.X:register/override/get`, `events:on`, `hooks:wrap`, `mod.log`, + `mod:read`, manifest v1 fields, and `pokemon.before_give`. + +No registry or schema changes are involved, so generated registry documentation +is unaffected. + +## Deprecation etiquette + +Nothing is removed, renamed, superseded, or deprecated. diff --git a/src/mods/Loader.lua b/src/mods/Loader.lua index 84b087cd..aaa2b7b7 100644 --- a/src/mods/Loader.lua +++ b/src/mods/Loader.lua @@ -980,6 +980,10 @@ function Loader:_api(mod) id = modId, version = mod.manifest.version, path = mod.path, + -- Fixed at Loader construction and copied as plain data: a sandboxed + -- entry chunk can decide whether to register developer-only diagnostics + -- without receiving the process environment or the loader itself. + developer = loader.dev == true, -- a deep copy: what a mod does to its own view never reaches the loader manifest = Merge.deepCopy(mod.manifest), content = {}, diff --git a/tests/engine/mod_developer_mode_parity_test.lua b/tests/engine/mod_developer_mode_parity_test.lua new file mode 100644 index 00000000..7876d93c --- /dev/null +++ b/tests/engine/mod_developer_mode_parity_test.lua @@ -0,0 +1,66 @@ +-- No-mod and API-v1 parity for the additive mod.developer surface. +-- +-- The production break this catches is a developer-mode loader path that +-- mutates vanilla data, creates mod state, or changes existing API-v1 +-- behavior merely because the new public signal exists. + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") + +local function pristine() + return { + pokemon = { KEEP = { hp = 7 } }, + moves = {}, + } +end + +for _, dev in ipairs({ false, true }) do + local data = pristine() + local files = {} + local run = T.sdk.loadNone({ + data = data, + fs = T.sdk.memfs(files), + dev = dev, + }) + T.eq(#run.errors, 0, + "no-mod load stays clean with developer=" .. tostring(dev)) + T.eq(next(run.loader.mods), nil, + "no-mod load discovers nothing with developer=" .. tostring(dev)) + T.eq(data.pokemon.KEEP.hp, 7, + "no-mod load preserves vanilla data with developer=" .. tostring(dev)) + T.eq(next(files), nil, + "no-mod load creates no files with developer=" .. tostring(dev)) + run.release() +end + +local V1 = { + ["mods/v1_probe/manifest.json"] = [[{ + "id": "v1_probe", + "name": "V1 Probe", + "version": "1.0.0", + "entry": "main.lua", + "api": 1 + }]], + ["mods/v1_probe/main.lua"] = [[ + local mod = ... + mod.exports.identity = mod.id .. "@" .. mod.version + mod.exports.payload = mod:read("payload.txt") + mod.options:define({ { key = "enabled", type = "toggle", default = true } }) + mod.exports.defaultOption = mod.options:get("enabled") + ]], + ["mods/v1_probe/payload.txt"] = "unchanged-v1", +} + +local legacy = T.sdk.loadMods({ "mods/v1_probe" }, { + fs = T.sdk.memfs(V1), + dev = false, +}) +T.eq(#legacy.errors, 0, "existing API-v1 mod loads unchanged") +local out = legacy.loader.exports.v1_probe +T.eq(out.identity, "v1_probe@1.0.0", "API-v1 identity stays unchanged") +T.eq(out.payload, "unchanged-v1", "API-v1 mod:read stays unchanged") +T.eq(out.defaultOption, true, "API-v1 options stay unchanged") +legacy.release() + +T.finish("mod developer mode parity") diff --git a/tests/engine/mod_developer_mode_test.lua b/tests/engine/mod_developer_mode_test.lua new file mode 100644 index 00000000..638d0771 --- /dev/null +++ b/tests/engine/mod_developer_mode_test.lua @@ -0,0 +1,86 @@ +-- Public load-time developer-mode signal for sandboxed mods. +-- +-- The production break this catches is a loader that computes dev mode but +-- does not expose the same fixed answer to the public mod object before the +-- entry chunk runs. It also protects the data-only contract: the public +-- value is a boolean snapshot, not a live loader or environment handle. + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") + +local FILES = { + ["mods/dev_probe/manifest.json"] = [[{ + "id": "dev_probe", + "name": "Developer Mode Probe", + "version": "1.0.0", + "entry": "main.lua", + "api": 2, + "games": ["all"] + }]], + ["mods/dev_probe/main.lua"] = [[ + local mod = ... + mod.exports.seenAtLoad = mod.developer + mod.exports.kind = type(mod.developer) + if mod.developer then + mod.commands:register("dev_probe:diagnostics", function() return true end) + end + ]], +} + +local function load(dev, generation) + return T.sdk.loadMods({ "mods/dev_probe" }, { + fs = T.sdk.memfs(FILES), + dev = dev, + generation = generation, + }) +end + +do + local run = load(true) + T.eq(#run.errors, 0, "developer-mode public probe loads clean") + local out = run.loader.exports.dev_probe + T.eq(out.seenAtLoad, true, + "sandboxed entry code sees developer mode at load time") + T.eq(out.kind, "boolean", "developer mode is exposed as plain data") + T.check(run.loader.content.commands:get("dev_probe:diagnostics") ~= nil, + "entry code can register diagnostics only in developer mode") + run.release() +end + +do + local run = load(false) + T.eq(#run.errors, 0, "production-mode public probe loads clean") + local out = run.loader.exports.dev_probe + T.eq(out.seenAtLoad, false, + "sandboxed entry code sees production mode at load time") + T.eq(out.kind, "boolean", "production mode is exposed as plain data") + T.eq(run.loader.content.commands:get("dev_probe:diagnostics"), nil, + "production load does not register developer diagnostics") + run.release() +end + +do + local run = load(true, 2) + T.eq(#run.errors, 0, "Gen 2 developer-mode public probe loads clean") + local out = run.loader.exports.dev_probe + T.eq(out.seenAtLoad, true, + "Gen 2 entry code sees the same developer-mode answer") + T.check(run.loader.content.commands:get("dev_probe:diagnostics") ~= nil, + "Gen 2 entry code can gate diagnostics on the same signal") + run.release() +end + +do + local saved = _G.POKEPORT_DEV_MODE + _G.POKEPORT_DEV_MODE = true + local ok, run = pcall(load, nil) + _G.POKEPORT_DEV_MODE = saved + if not ok then error(run, 0) end + T.eq(#run.errors, 0, "command-line developer-mode probe loads clean") + T.eq(run.loader.exports.dev_probe.seenAtLoad, true, + "the --developer boot decision reaches the public signal") + run.release() +end + +T.finish("mod developer mode public API") From 96ed862b50b6c8ad0f751f6a6a47e26a276be14d Mon Sep 17 00:00:00 2001 From: MaxTomahawk Date: Mon, 24 Aug 2026 10:51:09 +0200 Subject: [PATCH 23/25] docs(mod-api): clarify developer mode sources --- docs/mod-api-gen2-compat.md | 3 ++- docs/modding.md | 24 ++++++++++++++---------- docs/rfcs/0017-mod-developer-mode.md | 21 ++++++++++++--------- 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/docs/mod-api-gen2-compat.md b/docs/mod-api-gen2-compat.md index 9bda0c10..999eb583 100644 --- a/docs/mod-api-gen2-compat.md +++ b/docs/mod-api-gen2-compat.md @@ -472,7 +472,8 @@ find no runner on it, so `data.commands` under Gen 2 is the mod verbs alone. **`mod.save`, `mod.options`, `mod.log`, `mod.assets`, `mod.find`, `mod.developer`, exports.** Generation-agnostic; nothing to adapt. `mod.developer` is the same fixed boot-time boolean on both generations and is -available while the entry chunk runs. +available while the entry chunk runs. Gold does not gain Gen 1's developer +console or F5 hot-reload hotkey; the field reports the loader's mode only. **`mod.world`.** Same method set, resolved against Gold's world (`src/world/gen2/WorldAPI.lua`). Two differences show through and are diff --git a/docs/modding.md b/docs/modding.md index 45577b62..3b14d17a 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -687,17 +687,18 @@ the hook context. ## Developer console -Boot with developer mode on to unlock the in-game console and hot-reload -hotkeys. Either set `POKEPORT_DEV=1` in the environment or pass -`--developer` on the command line: +On a Gen 1 boot, developer mode unlocks the in-game console and hot-reload +hotkeys. Either set `POKEPORT_DEV=1` in the environment or pass `--developer` +on the command line: ```sh love . --developer ``` -Every sandboxed entry chunk receives the same boot decision as the boolean -`mod.developer`. It is available while the entry file is loading, so a mod can -keep diagnostic commands, screens, and verbose tracing out of player builds: +The mod loader independently derives a matching boolean for every sandboxed +entry chunk as `mod.developer`. It is available while the entry file is +loading, so a mod can keep diagnostic commands, screens, and verbose tracing +out of player builds: ```lua if mod.developer then @@ -710,11 +711,14 @@ end `mod.developer` is a plain boolean snapshot for this boot. It grants no permission and exposes neither the process environment nor the loader. In a normal player boot it is `false`; `POKEPORT_DEV=1` and `--developer` make it -`true` through the same engine-owned decision that enables the console and hot -reload. Use a mod option for player-facing feature toggles rather than treating -developer mode as configuration. +`true`. On Gen 1 those inputs separately enable the console and hot-reload +hotkeys. The headless loader's `opts.dev` test seam changes only the loader +signal and diagnostics; it does not enable the game's console or hot reload. +Gold exposes the same `mod.developer` boolean but does not implement the Gen 1 +console or hotkeys. Use a mod option for player-facing feature toggles rather +than treating developer mode as configuration. -While developer mode is active: +While developer mode is active on Gen 1: - `` ` `` (backtick) opens the console overlay — a Lua REPL with `game`, `data` and `mods` in scope. Press `` ` `` again to close it. diff --git a/docs/rfcs/0017-mod-developer-mode.md b/docs/rfcs/0017-mod-developer-mode.md index a717f8db..7d564648 100644 --- a/docs/rfcs/0017-mod-developer-mode.md +++ b/docs/rfcs/0017-mod-developer-mode.md @@ -6,10 +6,11 @@ Proposed. ## Motivation -The loader already has one boot-time developer-mode decision. It enables the -console and hot reload and can be forced in headless tests, but a sandboxed mod -cannot read it. `mod.commands` can register a diagnostic command but cannot say -whether the current boot is a developer boot. `mod.exports` only publishes +The loader already derives a boot-time developer-mode flag for its permission +diagnostics and headless test seam. Gen 1's `Game` independently derives a +similarly sourced flag for its console and hot reload. A sandboxed mod cannot +read either one. `mod.commands` can register a diagnostic command but cannot +say whether the current boot is a developer boot. `mod.exports` only publishes values to other mods. `game.ready` fires after entry registration and carries only the game. `mod.options` is player configuration, not engine mode, and `mod.log` logs unconditionally. The pre-sandbox compatibility @@ -50,15 +51,17 @@ end ``` The value is a plain boolean snapshot, not a loader reference or environment -facade. `false` is the normal player-build answer. `POKEPORT_DEV=1`, the -`--developer` command-line path, and the loader's existing injected `opts.dev` -test seam produce `true` through the same decision that already controls the -developer console, hot reload, and loader diagnostics. It grants no permission +facade. `false` is the normal player-build answer. `POKEPORT_DEV=1` and the +`--developer` command-line path make the loader flag true; on Gen 1 those inputs +separately make `Game`'s own developer flag true for its console and hot +reload. The loader's existing injected `opts.dev` test seam changes only the +loader flag and diagnostics, not `Game` or its hotkeys. It grants no permission and does not expose environment variables. The answer is fixed for the life of that loader; changing a field on a mod's own table cannot change engine mode. The field is generation-independent and has identical semantics on Red, Blue, -Yellow, Gold, and Silver. +Yellow, Gold, and Silver. Gold and Silver do not gain Gen 1's developer console +or hot-reload hotkeys from this field. ## Migration and compatibility From fb95dc5b6a7e1ac6eef36782ffa831844e31a6cb Mon Sep 17 00:00:00 2001 From: MaxTomahawk Date: Mon, 24 Aug 2026 10:56:05 +0200 Subject: [PATCH 24/25] docs(gen2): correct developer mode guidance --- docs/preparing-your-mod-for-gen2.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/preparing-your-mod-for-gen2.md b/docs/preparing-your-mod-for-gen2.md index 382a3d21..70a63db1 100644 --- a/docs/preparing-your-mod-for-gen2.md +++ b/docs/preparing-your-mod-for-gen2.md @@ -768,7 +768,8 @@ the same: So: read the log for coverage problems, and the manager for load problems. `POKEPORT_IDENTITY=` sandboxes the save directory if you want a clean -profile to test in, and `POKEPORT_DEV=1` adds the console and `F5` hot reload. +profile to test in. `POKEPORT_DEV=1` makes `mod.developer` true for loader-gated +diagnostics; Gold does not add Gen 1's console or `F5` hot reload. ## What this guide does not promise From 333949ce0d1a739209c0ea51b3063339287d9a3b Mon Sep 17 00:00:00 2001 From: MaxTomahawk Date: Mon, 24 Aug 2026 11:13:30 +0200 Subject: [PATCH 25/25] fix(mods): normalize developer mode option --- src/mods/Loader.lua | 2 +- tests/engine/mod_developer_mode_test.lua | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/mods/Loader.lua b/src/mods/Loader.lua index aaa2b7b7..5a060b4f 100644 --- a/src/mods/Loader.lua +++ b/src/mods/Loader.lua @@ -270,7 +270,7 @@ function Loader.new(opts) modSave = {}, modOptions = {}, optionSchemas = {}, imageCache = {}, modInput = {}, modEnv = {}, stepsQueues = {}, fs = (opts and opts.fs) or (love and love.filesystem), - dev = dev, + dev = dev == true, safeMode = false, -- Which generation this boot is (1 or 2). Fixed at construction: the -- active version is set once in main.lua's bootGame before anything diff --git a/tests/engine/mod_developer_mode_test.lua b/tests/engine/mod_developer_mode_test.lua index 638d0771..982f9237 100644 --- a/tests/engine/mod_developer_mode_test.lua +++ b/tests/engine/mod_developer_mode_test.lua @@ -60,6 +60,22 @@ do run.release() end +for _, provided in ipairs({ "yes", 1 }) do + local run = load(provided) + T.eq(#run.errors, 0, + "non-boolean developer-mode probe loads clean: " .. tostring(provided)) + local out = run.loader.exports.dev_probe + T.eq(out.seenAtLoad, false, + "non-boolean opts.dev is false in mod.developer: " .. tostring(provided)) + T.eq(out.kind, "boolean", + "non-boolean opts.dev stays a strict public boolean: " .. tostring(provided)) + T.eq(run.loader.dev, false, + "non-boolean opts.dev is false in loader.dev: " .. tostring(provided)) + T.eq(run.loader.content.commands:get("dev_probe:diagnostics"), nil, + "non-boolean opts.dev cannot register developer diagnostics: " .. tostring(provided)) + run.release() +end + do local run = load(true, 2) T.eq(#run.errors, 0, "Gen 2 developer-mode public probe loads clean")

UMghxt9ow?_(Q7$U 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 =*tj~4&59G9Z47QdY1ljR7JiL~4JoIst* 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�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