Initial commit.

This commit is contained in:
2024-12-08 12:24:33 -05:00
commit d9d09e5169
17 changed files with 671 additions and 0 deletions

BIN
assets/duck_idle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

45
assets/imagebank.go Normal file
View File

@@ -0,0 +1,45 @@
package assets
import (
"bytes"
_ "embed"
"image"
_ "image/png"
"log"
"github.com/hajimehoshi/ebiten/v2"
)
type ImgAssetName string
const (
Ducky ImgAssetName = "Ducky"
ReDucky ImgAssetName = "ReDucky"
Orb ImgAssetName = "Orb"
)
var (
ImageBank map[ImgAssetName]*ebiten.Image
//go:embed duck_idle.png
duckidle_img []byte
//go:embed reducky_idle.png
reduckidle_img []byte
//go:embed orb.png
orb_img []byte
)
func LoadImages() {
ImageBank = make(map[ImgAssetName]*ebiten.Image)
ImageBank[Ducky] = LoadImagesFatal(duckidle_img)
ImageBank[ReDucky] = LoadImagesFatal(reduckidle_img)
ImageBank[Orb] = LoadImagesFatal(orb_img)
}
func LoadImagesFatal(b []byte) *ebiten.Image {
img, _, err := image.Decode(bytes.NewReader(b))
if err != nil {
log.Fatal(err)
}
return ebiten.NewImageFromImage(img)
}

BIN
assets/mainloop.ogg Normal file

Binary file not shown.

BIN
assets/orb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
assets/reducky_idle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

74
assets/soundbank.go Normal file
View File

@@ -0,0 +1,74 @@
package assets
import (
"bytes"
"log"
_ "embed"
"github.com/hajimehoshi/ebiten/v2/audio/mp3"
"github.com/hajimehoshi/ebiten/v2/audio/vorbis"
"github.com/hajimehoshi/ebiten/v2/audio/wav"
)
type SndAssetName string
const (
MainLoop SndAssetName = "MainLoop"
MainLoopMp3 SndAssetName = "MainLoopMp3"
MainLoopOgg SndAssetName = "MainLoopOgg"
SampleRate = 44100
)
var (
//SoundBank map[SndAssetName]*wav.Stream
//SoundBankMp3 map[SndAssetName]*mp3.Stream
SoundBankOgg map[SndAssetName]*vorbis.Stream
//go:embed mainloop.ogg
mainloop_snd []byte
)
func init() {
LoadSounds()
}
func LoadSounds() {
//SoundBank = make(map[SndAssetName]*wav.Stream)
//SoundBankMp3 = make(map[SndAssetName]*mp3.Stream)
SoundBankOgg = make(map[SndAssetName]*vorbis.Stream)
//SoundBank[MainLoop] = LoadSoundFatal(SampleRate, hyper_snd)
//SoundBankMp3[MainLoopMp3] = LoadSoundFatalMp3(SampleRate, mainloop_snd)
SoundBankOgg[MainLoopOgg] = LoadSoundFatalOgg(SampleRate, mainloop_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
}
func LoadSoundFatalMp3(rate int, obj []byte) *mp3.Stream {
stream, err := mp3.DecodeWithSampleRate(rate, bytes.NewReader(obj))
if err != nil {
log.Fatal("dead, jim")
}
return stream
}
func LoadSoundFatalOgg(rate int, obj []byte) *vorbis.Stream {
stream, err := vorbis.DecodeWithSampleRate(rate, bytes.NewReader(obj))
if err != nil {
log.Fatal("dead, jim")
}
return stream
}