mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-21 05:00:43 +02:00
47 lines
1.4 KiB
Lua
47 lines
1.4 KiB
Lua
-- #1479: TILESET_KANTO roof probe (LoadMapGroupRoof, home/map.asm:1738-1749)
|
|
-- POKEPORT_GAME=gold POKEPORT_DRIVER=tests/drivers/gold_bug1479_probe.lua love .
|
|
|
|
local U = require("tests.drivers.util")
|
|
|
|
local SPOTS = {
|
|
{ "ROUTE_28", 6, 6 },
|
|
{ "SILVER_CAVE_OUTSIDE", 10, 20 },
|
|
{ "SILVER_CAVE_OUTSIDE", 10, 8 },
|
|
{ "ROUTE_22", 10, 8 },
|
|
{ "VIRIDIAN_CITY", 10, 10 },
|
|
}
|
|
|
|
return function(game)
|
|
local out = os.getenv("POKEPORT_SHOT_DIR") or "/tmp/gold-kanto"
|
|
U.wait(45)
|
|
local world = game.world
|
|
assert(world and world.map, "gold world did not boot")
|
|
|
|
local failed = false
|
|
for i, spot in ipairs(SPOTS) do
|
|
local def = world.maps[spot[1]]
|
|
if not def then
|
|
U.log("FAIL no map", spot[1])
|
|
failed = true
|
|
else
|
|
world:setMap(spot[1], spot[2], spot[3], "down")
|
|
U.wait(10)
|
|
U.shot(game, ("%s/%02d-%s.png"):format(out, i, spot[1]:lower()))
|
|
-- home/map.asm:1738-1749: a Kanto-tileset map takes no map-group roof,
|
|
-- so its atlas is cached under the bare tileset name.
|
|
if def.tileset == "TILESET_KANTO" then
|
|
for key in pairs(world.atlasCache or {}) do
|
|
if key:find("TILESET_KANTO|", 1, true) then
|
|
U.log("FAIL Kanto atlas took a roof:", key)
|
|
failed = true
|
|
end
|
|
end
|
|
end
|
|
U.log("shot", spot[1], def.tileset)
|
|
end
|
|
end
|
|
|
|
U.log(failed and "RESULT FAIL" or "RESULT PASS", "shots in", out)
|
|
love.event.quit(failed and 1 or 0)
|
|
end
|