M12: ljud, inställningar och release v0.1.0
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:
2026-10-25 08:31:38 +01:00
parent 36a45563ec
commit 86f8130735
47 changed files with 800 additions and 107 deletions

View File

@@ -291,6 +291,22 @@ func main() {
planeImg := image.NewNRGBA(image.Rect(0, 0, 32, 12))
plane(canvas{planeImg, 0, 0})
save(filepath.Join(out, "plane.png"), planeImg)
iconImg := image.NewNRGBA(image.Rect(0, 0, 32, 32))
icon(canvas{iconImg, 0, 0})
save(filepath.Join(out, "icon.png"), iconImg)
}
// icon är fönsterikonen (32×32): ett tågfront på mörk platta.
func icon(c canvas) {
c.rect(0, 0, 32, 32, rgb(38, 43, 68))
c.rect(6, 4, 20, 24, rgb(236, 240, 245)) // front
c.rect(8, 7, 16, 8, rgb(90, 140, 220)) // vindruta
c.rect(6, 17, 20, 3, rgb(214, 60, 60)) // rand
c.rect(9, 22, 4, 3, rgb(255, 230, 120)) // strålkastare
c.rect(19, 22, 4, 3, rgb(255, 230, 120)) // strålkastare
c.rect(4, 28, 24, 2, rgb(150, 160, 175)) // underrede
c.rect(13, 1, 6, 3, rgb(150, 160, 175)) // strömavtagare
}
// plane är flygplanet i slutscenen (32×12, nosen åt höger).