improved file read/copy logic
This commit is contained in:
68
gameinfo.go
Normal file
68
gameinfo.go
Normal file
@@ -0,0 +1,68 @@
|
||||
package main
|
||||
|
||||
import "slices"
|
||||
|
||||
var REQUIRED_IMAGES = []string{
|
||||
"ART",
|
||||
"CREDIT",
|
||||
"FLOOR",
|
||||
"ROOF",
|
||||
"WALL",
|
||||
}
|
||||
var OPTIONAL_BUTREQUIRED_IMAGES = []string{
|
||||
"MINI",
|
||||
"INTERACT",
|
||||
"LAYER",
|
||||
}
|
||||
var OPTIONAL_IMAGES = []string{
|
||||
"WALL2",
|
||||
"WALL3",
|
||||
"WALL4",
|
||||
}
|
||||
var ACCEPTED_IMAGE_EXT = []string{
|
||||
"PNG",
|
||||
"JPG",
|
||||
"BMP",
|
||||
}
|
||||
|
||||
var OPTIONAL_BUTREQUIRED_AUDIO = []string{
|
||||
"FOOT",
|
||||
"MUSIC",
|
||||
}
|
||||
var ACCEPTED_AUDIO_EXT = []string{
|
||||
"WAV",
|
||||
"MP3",
|
||||
"OGG",
|
||||
"MIDI",
|
||||
}
|
||||
|
||||
func gameRequiredImages() []string {
|
||||
minimal := make([]string, len(REQUIRED_IMAGES))
|
||||
copy(minimal, REQUIRED_IMAGES)
|
||||
return minimal
|
||||
}
|
||||
|
||||
func gameExtraRequiredImages() []string {
|
||||
extra := make([]string, len(OPTIONAL_BUTREQUIRED_IMAGES))
|
||||
copy(extra, OPTIONAL_BUTREQUIRED_IMAGES)
|
||||
return extra
|
||||
}
|
||||
|
||||
func gameExtraRequiredAudios() []string {
|
||||
extra := make([]string, len(OPTIONAL_BUTREQUIRED_AUDIO))
|
||||
copy(extra, OPTIONAL_BUTREQUIRED_AUDIO)
|
||||
return extra
|
||||
}
|
||||
|
||||
func isAcceptedImageExt(ext string) bool {
|
||||
return slices.Contains(ACCEPTED_IMAGE_EXT, ext)
|
||||
}
|
||||
|
||||
func isAcceptedAudioExt(ext string) bool {
|
||||
return slices.Contains(ACCEPTED_AUDIO_EXT, ext)
|
||||
}
|
||||
|
||||
func isAcceptedFile(name, ext string) bool {
|
||||
return (isAcceptedImageExt(ext) && (slices.Contains(REQUIRED_IMAGES, name) || slices.Contains(OPTIONAL_BUTREQUIRED_IMAGES, name) || slices.Contains(OPTIONAL_IMAGES, name))) ||
|
||||
(isAcceptedAudioExt(ext) && slices.Contains(OPTIONAL_BUTREQUIRED_AUDIO, name))
|
||||
}
|
||||
Reference in New Issue
Block a user