-
Notifications
You must be signed in to change notification settings - Fork 7
/
Filenames.go
127 lines (91 loc) · 3.7 KB
/
Filenames.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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
}