Files
survive/assets/audiobank.go

64 lines
1.1 KiB
Go

package assets
import (
"bytes"
_ "embed"
"log"
"github.com/hajimehoshi/ebiten/v2/audio/wav"
)
type SndAssetName string
const (
MainLoop SndAssetName = "MainLoop"
Explode SndAssetName = "Explode"
sampleRate = 44100
)
var (
SoundBank map[SndAssetName]*wav.Stream
//go:embed loop.wav
mainloop_snd []byte
//go:embed explode.wav
explode_snd []byte
//go:embed explode.wav
Splode []byte
//go:embed hit.wav
TargetHit []byte
//go:embed herodeath.wav
HeroDeath []byte
//go:embed shot.wav
Shot []byte
//go:embed magic.wav
Magic []byte
//go:embed survive.wav
Survive []byte
//go:embed pausein.wav
PauseIn []byte
//go:embed pauseout.wav
PauseOut []byte
//go:embed flare.wav
Flare []byte
)
func LoadSounds() {
SoundBank = make(map[SndAssetName]*wav.Stream)
SoundBank[MainLoop] = LoadSoundFatal(sampleRate, mainloop_snd)
SoundBank[Explode] = LoadSoundFatal(sampleRate, explode_snd)
}
func LoadSoundFatal(rate int, obj []byte) *wav.Stream {
stream, err := wav.DecodeWithSampleRate(rate, bytes.NewReader(obj))
if err != nil {
log.Fatal("dead, jim")
}
return stream
}