mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-22 21:46:51 +02:00
58 lines
1.9 KiB
Lua
58 lines
1.9 KiB
Lua
-- Screen-rect check for a touch skin, both generations.
|
|
--
|
|
-- POKEPORT_DRIVER=tests/drivers/skin_screen_shot.lua love .
|
|
-- POKEPORT_GAME=gold POKEPORT_SKIN=my_skin POKEPORT_DRIVER=... love .
|
|
--
|
|
-- Gold's cache lives under the DEFAULT save identity, so a POKEPORT_IDENTITY
|
|
-- sandbox has to be seeded with it first or the boot hangs in the importer:
|
|
-- cp -R ~/Library/Application\ Support/LOVE/pokemon-love2d/{gold,skins} \
|
|
-- ~/Library/Application\ Support/LOVE/<identity>/
|
|
local U = require("tests.drivers.util")
|
|
local GameVersion = require("src.core.GameVersion")
|
|
|
|
local function env(name, fallback)
|
|
local v = os.getenv(name)
|
|
if v == nil or v == "" then return fallback end
|
|
return v
|
|
end
|
|
|
|
local function tap(game, button)
|
|
game.input.pressQueue[#game.input.pressQueue + 1] = button
|
|
game.input.state[button] = true
|
|
U.wait(2)
|
|
game.input.state[button] = false
|
|
end
|
|
|
|
return function(game)
|
|
local TouchControls = require("src.core.TouchControls")
|
|
local out = env("POKEPORT_SHOT_DIR", ".")
|
|
local gen2 = GameVersion.generation() == 2
|
|
|
|
love.window.setMode(tonumber(env("POKEPORT_SHOT_W", 460)),
|
|
tonumber(env("POKEPORT_SHOT_H", 950)))
|
|
local skin = env("POKEPORT_SKIN", "gb_anim")
|
|
local ok, err = TouchControls:selectSkin(skin)
|
|
assert(ok, "skin " .. skin .. ": " .. tostring(err))
|
|
|
|
U.wait(60)
|
|
if gen2 then
|
|
local A = require("tests.drivers.gold.adapter")
|
|
assert(game.world and game.world.map, "gold world did not boot")
|
|
A.teleport(game, env("POKEPORT_SHOT_MAP", "NEW_BARK_TOWN"), 6, 6)
|
|
U.wait(120)
|
|
else
|
|
local Pokemon = require("src.pokemon.Pokemon")
|
|
game.save.party = { Pokemon.new(game.data, "CHARIZARD", 50) }
|
|
U.teleport(game, env("POKEPORT_SHOT_MAP", "PALLET_TOWN"), 10, 8, "down")
|
|
U.wait(40)
|
|
end
|
|
U.shot(game, out .. "/skin_world.png")
|
|
|
|
tap(game, "start")
|
|
U.wait(60)
|
|
U.shot(game, out .. "/skin_menu.png")
|
|
|
|
love.event.quit()
|
|
while true do coroutine.yield() end
|
|
end
|