69 lines
1.4 KiB
Go
69 lines
1.4 KiB
Go
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))
|
|
}
|