M12: ljud, inställningar och release v0.1.0
All checks were successful
release / build-release (push) Successful in 1m35s
All checks were successful
release / build-release (push) Successful in 1m35s
tools/gensound syntetiserar 21 ljud: fyra stationsmelodier i klockklang (en per station via melody-fältet eller banans id), ankomstjingel, ding-dong vid inrullning, dörrsignal vid avgång, spärrens pip och nekande, kiosk, toalett, lärt ord, bekräfta/varning, byte, personal, vinst, förlust, flygplan, sorl och menymusik. sfx.go spelar effekter utifrån vad som hänt i sim.Run sedan förra bildrutan. Ljudlagret har huvudvolym × effekter/musik och byter inte slinga i onödan. Inställningar (S på bankartan, sparas): volymer, språk sv/en som laddas om direkt, fönsterskala, fullskärm (F11 överallt) och tangentöversikt. Fönsterikon från genart. CHANGELOG.md. Tester för ljudfiler, melodival och inställningar. Docs, wiki och skärmdumpar uppdaterade. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -92,3 +92,27 @@ func TestEndlessRecords(t *testing.T) {
|
||||
t.Fatalf("listan: %+v", s.Endless)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSettingsDefaultsAndNormalize(t *testing.T) {
|
||||
s := New()
|
||||
if s.Settings == nil || s.Settings.Master != 8 || s.Settings.Lang != "sv" {
|
||||
t.Fatalf("standardinställningar: %+v", s.Settings)
|
||||
}
|
||||
path := filepath.Join(t.TempDir(), "save.json")
|
||||
if err := os.WriteFile(path, []byte(`{"version":1,"settings":{"master":99,"music":-3,"lang":"xx","scale":12}}`), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
st, _, err := Load(path)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if st.Settings.Master != 10 || st.Settings.Music != 0 || st.Settings.Lang != "sv" || st.Settings.Scale != 6 {
|
||||
t.Fatalf("normaliserade: %+v", st.Settings)
|
||||
}
|
||||
if err := os.WriteFile(path, []byte(`{"version":1}`), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if st, _, err = Load(path); err != nil || st.Settings == nil || st.Settings.Effects != 8 {
|
||||
t.Fatalf("saknade inställningar ska bli standard: %+v %v", st.Settings, err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user