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)) }