Texterna ryms på skärmen på svenska och engelska
All checks were successful
release / build-release (push) Successful in 1m37s

Björn såg att bankartans tangentrad klipptes på engelska. Nu mäts alla
enradstexter med den riktiga fonten i båda språken mot sitt utrymme
(game.TestSingleLineTextsFit) och HUD-raden för alla banor
(TestLevelNamesFitHUD). Åtgärder: kortare etiketter ("Mål"/"To"),
bankartans tangentrad på två rader (versionen står på titelskärmen),
HUD:en stryker japansk hint, "via" och valfria plånboksdelar som inte
får plats och kortar med "..", fler rutor radbryts, kortare bannamn,
kortare minispelstexter. Skärmdumpar på engelska (map-en, sign-en) via en
engelsk demosparfil. Alla skärmdumpar omtagna.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-25 18:10:26 +01:00
parent 0c47b0ad00
commit 5114115976
59 changed files with 329 additions and 106 deletions

View File

@@ -26,6 +26,19 @@ import (
// demoSave skriver en sparfil med lite progression så att kartan, skills
// och garderoben har något att visa. Används bara av skärmdumparna.
// demoSaveEN är samma demosparfil på engelska (för språkkontrollen).
func demoSaveEN(path string) error {
if err := demoSave(path); err != nil {
return err
}
st, _, err := save.Load(path)
if err != nil {
return err
}
st.Settings.Lang = "en"
return save.Store(path, st)
}
func demoSave(path string) error {
st := save.New()
st.Know.Learn("改札")
@@ -55,7 +68,7 @@ type shot struct {
// bilderna överlever ändringar i banorna.
var shots []shot
var demo, fresh string
var demo, demoEN, fresh string
func buildShots(levelsDir string) error {
l, err := level.LoadFile(filepath.Join(levelsDir, "001-flygplatsen.json"))
@@ -180,6 +193,8 @@ func buildShots(levelsDir string) error {
{"", "wait 150; shot $OUT/ending.png; press enter; wait 5; shot $OUT/ending-summary.png; press enter; wait 250; shot $OUT/credits.png; quit", []string{"-ending", "-save", "$DEMO"}},
{"007-akihabara", toKiosk7 + "; urge Ville; press enter; wait 5; press right; wait 3; shot $OUT/payer.png; quit", []string{"-seed", "7"}},
{"", "wait 10; shot $OUT/endless.png; quit", []string{"-endless", "-seed", "7", "-mode", "list", "-save", "$DEMO"}},
{"", "wait 5; press enter; wait 10; shot $OUT/map-en.png; quit", []string{"-save", "$DEMOEN"}},
{"001-flygplatsen", toSign + "; wait 5; shot $OUT/sign-en.png; quit", []string{"-seed", "7", "-save", "$DEMOEN", "-know", "改札,番線,方面"}},
{"001b-flygbussen", toMachine1b + "; press enter; pick 新宿; press enter; wait 5; " + toStop1b + "; waittrain; wait 10; shot $OUT/bus.png; quit", []string{"-seed", "7", "-know", "新宿,方面"}},
{"", "wait 5; press enter; wait 10; press s; wait 5; press down; wait 3; shot $OUT/settings.png; quit", []string{"-save", "$DEMO"}},
{"", "wait 10; shot $OUT/lang.png; press enter; wait 30; shot $OUT/title.png; press down; press enter; wait 5; press right; wait 5; shot $OUT/tutorial.png; quit", []string{"-save", "$FRESH"}},
@@ -269,6 +284,8 @@ func main() {
must(demoSave(demo))
fresh = filepath.Join(root, "build", "fresh-save.json") // finns inte: första starten (språkval, titel, tips)
os.Remove(fresh)
demoEN = filepath.Join(root, "build", "demo-save-en.json")
must(demoSaveEN(demoEN))
must(buildShots(filepath.Join(root, "resources", "data", "levels")))
build := exec.Command("go", "run", "./tools/build", "-mode", "debug")
@@ -297,7 +314,7 @@ func main() {
args = append(args, "-level", s.level)
}
for _, a := range s.args {
args = append(args, strings.ReplaceAll(strings.ReplaceAll(a, "$DEMO", demo), "$FRESH", fresh))
args = append(args, strings.NewReplacer("$DEMOEN", demoEN, "$DEMO", demo, "$FRESH", fresh).Replace(a))
}
run := exec.Command(exe, args...)
run.Dir, run.Stdout, run.Stderr = filepath.Dir(exe), os.Stdout, os.Stderr