Files
questshock/modding/hacked/ss1/world/ids/Filenames.go
T

128 lines
3.7 KiB
Go

package ids
import (
"strings"
"github.com/inkyblackness/hacked/ss1/resource"
)
// CybStrng contains all strings.
var CybStrng = I18nFile([resource.LanguageCount]string{"cybstrng.res", "frnstrng.res", "gerstrng.res"})
// MfdArt contains all MFD graphics.
var MfdArt = I18nFile([resource.LanguageCount]string{"mfdart.res", "mfdfrn.res", "mfdger.res"})
// CitALog contains all log audio.
var CitALog = I18nFile([resource.LanguageCount]string{"citalog.res", "frnalog.res", "geralog.res"})
// CitBark contains all bark audio.
var CitBark = I18nFile([resource.LanguageCount]string{"citbark.res", "frnbark.res", "gerbark.res"})
// LowIntr contains the low-res intro video.
var LowIntr = I18nFile([resource.LanguageCount]string{"lowintr.res", "lofrintr.res", "logeintr.res"})
// SvgaIntr contains the high-res intro video.
var SvgaIntr = I18nFile([resource.LanguageCount]string{"svgaintr.res", "svfrintr.res", "svgeintr.res"})
// Archive contains the game world.
var Archive = AnyLanguage("archive.dat")
// GamePal contains the game palettes.
var GamePal = AnyLanguage("gamepal.res")
// GameScr contains big bitmaps.
var GameScr = AnyLanguage("gamescr.res")
// Texture contains all textures.
var Texture = AnyLanguage("texture.res")
// VidMail contains all video mails.
var VidMail = AnyLanguage("vidmail.res")
// Death contains another death video.
var Death = AnyLanguage("death.res")
// Intro contains another intro video.
var Intro = AnyLanguage("intro.res")
// Start1 contains ... ?.
var Start1 = AnyLanguage("start1.res")
// Win1 contains ... ?.
var Win1 = AnyLanguage("win1.res")
// LowDeth contains the low-res death video.
var LowDeth = AnyLanguage("lowdeth.res")
// LowEnd contains the low-res end video.
var LowEnd = AnyLanguage("lowend.res")
// SvgaDeth contains the high-res death video.
var SvgaDeth = AnyLanguage("svgadeth.res")
// SvgaEnd contains the high-res end video.
var SvgaEnd = AnyLanguage("svgaend.res")
// Obj3D contains 3D objects.
var Obj3D = AnyLanguage("obj3D.res")
// ObjArt contains object art.
var ObjArt = AnyLanguage("objart.res")
// ObjArt2 contains further object art.
var ObjArt2 = AnyLanguage("objart2.res")
// ObjArt3 contains further object art.
var ObjArt3 = AnyLanguage("objart3.res")
// CitMat contains materials for 3D objects.
var CitMat = AnyLanguage("citmat.res")
// CutsPal contains palettes for the cutscenes.
var CutsPal = AnyLanguage("cutspal.res")
// HandArt contains bitmaps for grabbed things.
var HandArt = AnyLanguage("handart.res")
// SideArt contains bitmaps for the side buttons.
var SideArt = AnyLanguage("sideart.res")
// DigiFX contains all the effect sounds.
var DigiFX = AnyLanguage("digifx.res")
// Splash contains the splash screens.
var Splash = AnyLanguage("splash.res")
// SplshPal contains the splash screen palettes.
var SplshPal = AnyLanguage("splspal.res")
// LowResVideos returns the filename descriptors of all low-res videos.
func LowResVideos() FilenameList {
return []Filename{LowIntr, LowDeth, LowEnd, Intro, Start1, Win1}
}
// HighResVideos returns the filename descriptors of all high-res videos.
func HighResVideos() FilenameList {
return []Filename{SvgaIntr, SvgaDeth, SvgaEnd}
}
// LocalizedFiles returns the filename descriptors of all files that are localized.
func LocalizedFiles() []Filename {
return []Filename{CybStrng, MfdArt, CitALog, CitBark, LowIntr, SvgaIntr}
}
// LocalizeFilename returns the language that the resource file would typically contain.
func LocalizeFilename(filename string) resource.Language {
all := LocalizedFiles()
lowercase := strings.ToLower(filename)
result := resource.LangAny
for _, lang := range resource.Languages() {
for _, file := range all {
if file.For(lang) == lowercase {
result = lang
}
}
}
return result
}