mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-15 15:51:17 +02:00
56 lines
2.0 KiB
Lua
56 lines
2.0 KiB
Lua
package.path = "./?.lua;./?/init.lua;" .. package.path
|
|
|
|
local T = require("tests.harness")
|
|
local GenSave = require("src.save_convert.GenSave")
|
|
local romText = require("src.core.RomText")
|
|
|
|
local localized = {
|
|
text = {
|
|
_MoveIsDisabledText = "The move {RAM:wNameBuffer} from {USER} is disabled!",
|
|
},
|
|
}
|
|
T.eq(romText(localized, "_MoveIsDisabledText", "%s's %s is disabled!", {
|
|
USER = "PIKACHU", ["RAM:wNameBuffer"] = "THUNDER",
|
|
}), "The move THUNDER from PIKACHU is disabled!",
|
|
"named ROM tokens survive translation reordering")
|
|
|
|
GenSave.setCharmap(loadfile("src/save_convert/data/charmap.lua")())
|
|
local data = {
|
|
pokemon = {}, moves = {}, items = {}, maps = {},
|
|
hiddenItems = loadfile("src/save_convert/data/hidden_items.lua")(),
|
|
}
|
|
local save = {
|
|
player = { name = "RED", id = 1, map = "PALLET_TOWN", x = 0, y = 0 },
|
|
rival = { name = "BLUE" }, party = {}, boxes = {}, inventory = {},
|
|
pcItems = {}, flags = {}, pokedex = { seen = {}, owned = {} },
|
|
hiddenTaken = {
|
|
VIRIDIAN_FOREST_1_18 = true,
|
|
VIRIDIAN_CITY_14_4 = true,
|
|
},
|
|
}
|
|
for i = 1, 12 do save.boxes[i] = {} end
|
|
local bytes = GenSave.encode(save, data, nil)
|
|
local decoded = GenSave.decode(bytes, data)
|
|
T.check(decoded.hiddenTaken.VIRIDIAN_FOREST_1_18,
|
|
"Viridian Forest hidden potion imports from wObtainedHiddenItemsFlags")
|
|
T.check(decoded.hiddenTaken.VIRIDIAN_CITY_14_4,
|
|
"Viridian City hidden potion imports from wObtainedHiddenItemsFlags")
|
|
T.check(not decoded.hiddenTaken.ROUTE_9_14_7,
|
|
"an uncollected hidden item remains available")
|
|
|
|
love = love or require("tests.love_stub")
|
|
local start = require("src.ui.StartMenu").new({
|
|
data = {}, save = {
|
|
flags = {}, party = {}, inventory = {}, options = {},
|
|
player = { name = "RED" }, pokedex = { owned = {} },
|
|
},
|
|
})
|
|
local pokemonRow
|
|
for _, row in ipairs(start.items) do
|
|
if row.label == "POKéMON" then pokemonRow = row break end
|
|
end
|
|
T.check(pokemonRow and pokemonRow.keepOpen,
|
|
"the empty-party POKéMON row leaves the start menu open")
|
|
|
|
T.finish("open menu bugs 949 and 1149")
|