mirror of
https://github.com/bryanthaboi/gen1recomp
synced 2026-09-28 23:00:21 -04:00
41935aa2a2
Second batch of the Gen 3 review work: the review lanes closed their queues and the test gate grew with them. Review census: 139 routed findings -- 118 fixed, 14 invalid (the report had Gen 4+ semantics in more than one place), 6 struck as stale after re-verification, 1 re-routed. Every fix carries its own pret citation in docs/game3/review-v3-triage.md; the E10 opcode closure is itemised in docs/game3/e10-opcode-spec.md (18 ops wired, 2 reclassified to the seam class). Representative ROM-grounded changes: - The POKéMON start-menu entry is now gated on FLAG_SYS_POKEMON_GET the way retail does it (pokefirered/src/start_menu.c:217-218, flag 0x828). - Money ops read their amount raw and gate the change on the disable byte (pokefirered/src/scrcmd.c:1798-1830, pokefirered/asm/macros/event.inc:1166-1186); random and the warp family VarGet theirs (pokefirered/src/scrcmd.c:455-461, :719-731). - The HM table matches FRLG: there is no Whirlpool HM (pokefirered/include/constants/items.h:411-418). - The day-care party-full guard follows src/daycare.c:525, :1081. - Knock Off keeps its battle-scoped send-out mask (pokefirered/src/battle_script_commands.c:2730-2752, :4489), carried from the first batch. Structural work: the I6/I9/J1 architecture items landed as seams (profile selector, capability flags, font provider, virtual-object layer), the adopted footprint register keeps a KEEP verdict, the quantizer target is met, and the 30 drain items plus carves 1-4 are folded in. Tests: T6 now runs 282 top-level suites (273 + 9 new), the re-sweep ends at 267 pass / 0 fail, the engine tier is 634 suites, modkit 37, and the full gate ran green twice with T3 active on an imported Red cache. Documented skips are the lua5.4 oversize-save oracle where lua5.4 is absent and the config-partials listed in docs/game3/game3-artifact-conversions-v3.md. Docs shipped: review-v3-triage.md, e10-opcode-spec.md, rse-seams.md, game3-suite-sweep-v113.md, game3-artifact-conversions-v3.md, test-baseline-v3.md (plus the first-batch docs already on the branch).
25 lines
780 B
Lua
25 lines
780 B
Lua
-- one outdoor tileset; blocks are 16-tile rows like the generated cache
|
|
local function row(tile)
|
|
local out = {}
|
|
for i = 1, 16 do out[i] = tile end
|
|
return out
|
|
end
|
|
|
|
return {
|
|
FIX_OUT = {
|
|
id = "FIX_OUT",
|
|
image = "tests/fixture_data/assets/fix_out.png",
|
|
-- engine data contract: TileRenderer.new reads tileset.tilesPerRow for its
|
|
-- quad math (src/render/TileRenderer.lua:499-501, required since the
|
|
-- initial commit); the generated importer emits 16 (extract_island1.lua:421)
|
|
-- and the fixture PNG is 128px wide = 16 tiles of 8px.
|
|
tilesPerRow = 16,
|
|
blocks = { row(0), row(1), row(2), row(3) },
|
|
walkable = { [0] = true, [1] = true, [2] = true },
|
|
counterTiles = {},
|
|
doorTiles = {},
|
|
warpTiles = { 3 },
|
|
grassTile = 2,
|
|
},
|
|
}
|