mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-25 06:55:29 +02:00
46 lines
1.8 KiB
Lua
46 lines
1.8 KiB
Lua
-- Crystal's boot copyright card is white text on black: SplashScreen sets
|
|
-- SCGB_GAMEFREAK_LOGO before calling Copyright, so the card runs on
|
|
-- PREDEFPAL_GAMEFREAK_LOGO_BG rather than the default BGP Gold's DMG boot
|
|
-- leaves up (../pokecrystal/engine/movie/splash.asm:21-30). The card used to
|
|
-- hardcode a white fill and Crystal shipped no extracted splash at all, so the
|
|
-- first screen of the game was blank white.
|
|
package.path = "./?.lua;./?/init.lua;" .. package.path
|
|
|
|
local T = require("tests.modkit")
|
|
local CopyrightSplash = require("src.ui.gen2.CopyrightSplash")
|
|
|
|
local function colorsEq(got, want, message)
|
|
T.eq(#got, 3, message .. " (three channels)")
|
|
for index = 1, 3 do
|
|
T.eq(got[index], want[index], message .. " channel " .. index)
|
|
end
|
|
end
|
|
|
|
local gold = CopyrightSplash.new({}, { title = {} })
|
|
colorsEq(gold.backdrop, { 1, 1, 1 }, "Gold keeps the white card")
|
|
colorsEq(gold.ink, { 0, 0, 0 }, "Gold keeps black text")
|
|
|
|
local crystal = CopyrightSplash.new({}, {
|
|
title = {
|
|
copyrightBackdrop = { 0, 0, 0 },
|
|
copyrightInk = { 1, 1, 1 },
|
|
},
|
|
})
|
|
colorsEq(crystal.backdrop, { 0, 0, 0 }, "Crystal's card is black")
|
|
colorsEq(crystal.ink, { 1, 1, 1 }, "Crystal's text is white")
|
|
|
|
-- The extractor has to emit the image too, or the card is an empty backdrop.
|
|
local CrystalMovie = require("src.import.CrystalMovie")
|
|
T.eq(type(CrystalMovie.extractTitle), "function",
|
|
"CrystalMovie still owns the Crystal title stage")
|
|
|
|
local CacheContract = require("src.import.CacheContract")
|
|
local required = CacheContract.VERSION_REQUIRED_FILES_OVERRIDE.crystal
|
|
local found = false
|
|
for _, path in ipairs(required) do
|
|
if path == "assets/generated/title/copyright_splash.png" then found = true end
|
|
end
|
|
T.eq(found, true, "a Crystal cache without the splash is rebuilt")
|
|
|
|
T.finish("copyright splash backdrop")
|