Files
survive/assets/imagebank.go

100 lines
2.6 KiB
Go
Raw Normal View History

package assets
import (
"bytes"
"image"
"log"
_ "embed"
"github.com/hajimehoshi/ebiten/v2"
)
2024-11-11 14:07:02 -05:00
type ImgAssetName string
const (
2024-11-11 15:43:24 -05:00
Title ImgAssetName = "Title"
2024-11-11 14:07:02 -05:00
FlyEyeNormal ImgAssetName = "FlyEyeNormal"
FlyEyeDamaged ImgAssetName = "FlyEyeDamaged"
FlyEyeDying ImgAssetName = "FlyEyeDying"
FlyEyeShadow ImgAssetName = "FlyEyeShadow"
HeroNormal ImgAssetName = "HeroNormal"
HeroDying ImgAssetName = "HeroDying"
TileSet ImgAssetName = "TileSet"
Altar ImgAssetName = "Altar"
Weapon ImgAssetName = "Weapon"
WormDamaged ImgAssetName = "WormDamaged"
Worm ImgAssetName = "WormDefault"
2024-11-16 12:31:22 -05:00
Cloud ImgAssetName = "Cloud"
2024-11-16 19:03:07 -05:00
Fireball ImgAssetName = "Fireball"
2024-11-21 13:20:17 -05:00
Splash ImgAssetName = "Splash"
2024-11-21 16:26:25 -05:00
LaserBeam ImgAssetName = "LaserBeam"
)
var (
2024-11-11 14:07:02 -05:00
ImageBank map[ImgAssetName]*ebiten.Image
2024-11-11 15:43:24 -05:00
//go:embed title.png
title_img []byte
//go:embed fly-eye.png
flyeye_img []byte
//go:embed fly-eye2.png
flyeye_img2 []byte
//go:embed fly-eye3.png
flyeye_img3 []byte
//go:embed shadow.png
shadow_img []byte
//go:embed hero.png
hero_img []byte
//go:embed herodeath.png
herodeath_img []byte
//go:embed grasstile.png
tileset_img []byte
//go:embed altar.png
altar_img []byte
//go:embed weapon.png
weapon_img []byte
2024-11-13 07:44:56 -05:00
//go:embed worm.png
worm_img []byte
//go:embed wormdefault.png
wormdefault_img []byte
2024-11-16 12:31:22 -05:00
//go:embed cloud.png
cloud_img []byte
2024-11-16 19:03:07 -05:00
//go:embed hot.png
fireball_img []byte
2024-11-21 13:20:17 -05:00
//go:embed splash.png
splash_img []byte
2024-11-21 16:26:25 -05:00
//go:embed laserbeam.png
laserbeam_img []byte
)
func LoadImages() {
2024-11-11 14:07:02 -05:00
ImageBank = make(map[ImgAssetName]*ebiten.Image)
2024-11-11 15:43:24 -05:00
ImageBank[Title] = LoadImagesFatal(title_img)
ImageBank[FlyEyeNormal] = LoadImagesFatal(flyeye_img)
ImageBank[FlyEyeDamaged] = LoadImagesFatal(flyeye_img2)
ImageBank[FlyEyeDying] = LoadImagesFatal(flyeye_img3)
ImageBank[FlyEyeShadow] = LoadImagesFatal(shadow_img)
ImageBank[HeroNormal] = LoadImagesFatal(hero_img)
ImageBank[HeroDying] = LoadImagesFatal(herodeath_img)
ImageBank[TileSet] = LoadImagesFatal(tileset_img)
ImageBank[Altar] = LoadImagesFatal(altar_img)
ImageBank[Weapon] = LoadImagesFatal(weapon_img)
ImageBank[WormDamaged] = LoadImagesFatal(worm_img)
ImageBank[Worm] = LoadImagesFatal(wormdefault_img)
2024-11-16 12:31:22 -05:00
ImageBank[Cloud] = LoadImagesFatal(cloud_img)
2024-11-16 19:03:07 -05:00
ImageBank[Fireball] = LoadImagesFatal(fireball_img)
2024-11-21 13:20:17 -05:00
ImageBank[Splash] = LoadImagesFatal(splash_img)
2024-11-21 16:26:25 -05:00
ImageBank[LaserBeam] = LoadImagesFatal(laserbeam_img)
}
func LoadImagesFatal(b []byte) *ebiten.Image {
img, _, err := image.Decode(bytes.NewReader(b))
if err != nil {
log.Fatal(err)
}
return ebiten.NewImageFromImage(img)
}