128 lines
3.7 KiB
Go
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
|
|
}
|