mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-09-25 04:36:12 -04:00
minor edits (#401)
* make game update at 25fps, ui update at max fps * minor edits to func names, d2resource constants * renamed `loadDictionary` to `loadTextDictionary` to avoid confusion with `LoadDataDictionary` * updated line in main.go that calls `loadTextDictionary` * added tokens as constants inside of `d2resource/resource_paths.go` that are used in font/language paths * moved locale string handling stuff into it's own func, now uses tokens defined in d2resource * minor edits to func names, d2resource constants * renamed `loadDictionary` to `loadTextDictionary` to avoid confusion with `LoadDataDictionary` * updated line in main.go that calls `loadTextDictionary` * added tokens as constants inside of `d2resource/resource_paths.go` that are used in font/language paths * moved locale string handling stuff into it's own func, now uses tokens defined in d2resource * fix: accidentally renamed func in d2asset * git is hard accidentally added changes not meant for this commit
This commit is contained in:
parent
0c27ae63e6
commit
953271b8e6
@ -97,21 +97,26 @@ const (
|
|||||||
|
|
||||||
CursorDefault = "/data/global/ui/CURSOR/ohand.DC6"
|
CursorDefault = "/data/global/ui/CURSOR/ohand.DC6"
|
||||||
|
|
||||||
// --- Fonts ---
|
// --- Fonts & Locale (strings) ---
|
||||||
|
|
||||||
Font6 = "/data/local/FONT/{LANG_FONT}/font6"
|
LanguageFontToken = "{LANG_FONT}"
|
||||||
Font8 = "/data/local/FONT/{LANG_FONT}/font8"
|
LanguageTableToken = "{LANG}"
|
||||||
Font16 = "/data/local/FONT/{LANG_FONT}/font16"
|
Font6 = "/data/local/FONT/" + LanguageFontToken + "/font6"
|
||||||
Font24 = "/data/local/FONT/{LANG_FONT}/font24"
|
Font8 = "/data/local/FONT/" + LanguageFontToken + "/font8"
|
||||||
Font30 = "/data/local/FONT/{LANG_FONT}/font30"
|
Font16 = "/data/local/FONT/" + LanguageFontToken + "/font16"
|
||||||
Font42 = "/data/local/FONT/{LANG_FONT}/font42"
|
Font24 = "/data/local/FONT/" + LanguageFontToken + "/font24"
|
||||||
FontFormal12 = "/data/local/FONT/{LANG_FONT}/fontformal12"
|
Font30 = "/data/local/FONT/" + LanguageFontToken + "/font30"
|
||||||
FontFormal11 = "/data/local/FONT/{LANG_FONT}/fontformal11"
|
Font42 = "/data/local/FONT/" + LanguageFontToken + "/font42"
|
||||||
FontFormal10 = "/data/local/FONT/{LANG_FONT}/fontformal10"
|
FontFormal12 = "/data/local/FONT/" + LanguageFontToken + "/fontformal12"
|
||||||
FontExocet10 = "/data/local/FONT/{LANG_FONT}/fontexocet10"
|
FontFormal11 = "/data/local/FONT/" + LanguageFontToken + "/fontformal11"
|
||||||
FontExocet8 = "/data/local/FONT/{LANG_FONT}/fontexocet8"
|
FontFormal10 = "/data/local/FONT/" + LanguageFontToken + "/fontformal10"
|
||||||
FontSucker = "/data/local/FONT/{LANG_FONT}/ReallyTheLastSucker"
|
FontExocet10 = "/data/local/FONT/" + LanguageFontToken + "/fontexocet10"
|
||||||
FontRediculous = "/data/local/FONT/{LANG_FONT}/fontridiculous"
|
FontExocet8 = "/data/local/FONT/" + LanguageFontToken + "/fontexocet8"
|
||||||
|
FontSucker = "/data/local/FONT/" + LanguageFontToken + "/ReallyTheLastSucker"
|
||||||
|
FontRediculous = "/data/local/FONT/" + LanguageFontToken + "/fontridiculous"
|
||||||
|
ExpansionStringTable = "/data/local/lng/" + LanguageTableToken + "/expansionstring.tbl"
|
||||||
|
StringTable = "/data/local/lng/" + LanguageTableToken + "/string.tbl"
|
||||||
|
PatchStringTable = "/data/local/lng/" + LanguageTableToken + "/patchstring.tbl"
|
||||||
|
|
||||||
// --- UI ---
|
// --- UI ---
|
||||||
|
|
||||||
@ -165,16 +170,13 @@ const (
|
|||||||
|
|
||||||
// --- Data ---
|
// --- Data ---
|
||||||
|
|
||||||
ExpansionStringTable = "/data/local/LNG/{LANG}/expansionstring.tbl"
|
LevelPreset = "/data/global/excel/LvlPrest.txt"
|
||||||
StringTable = "/data/local/LNG/{LANG}/string.tbl"
|
LevelType = "/data/global/excel/LvlTypes.txt"
|
||||||
PatchStringTable = "/data/local/LNG/{LANG}/patchstring.tbl"
|
ObjectType = "/data/global/excel/objtype.bin"
|
||||||
LevelPreset = "/data/global/excel/LvlPrest.txt"
|
LevelWarp = "/data/global/excel/LvlWarp.bin"
|
||||||
LevelType = "/data/global/excel/LvlTypes.txt"
|
LevelDetails = "/data/global/excel/Levels.txt"
|
||||||
ObjectType = "/data/global/excel/objtype.bin"
|
LevelMaze = "/data/global/excel/LvlMaze.txt"
|
||||||
LevelWarp = "/data/global/excel/LvlWarp.bin"
|
LevelSubstitutions = "/data/global/excel/LvlSub.txt"
|
||||||
LevelDetails = "/data/global/excel/Levels.txt"
|
|
||||||
LevelMaze = "/data/global/excel/LvlMaze.txt"
|
|
||||||
LevelSubstitutions = "/data/global/excel/LvlSub.txt"
|
|
||||||
|
|
||||||
ObjectDetails = "/data/global/excel/Objects.txt"
|
ObjectDetails = "/data/global/excel/Objects.txt"
|
||||||
SoundSettings = "/data/global/excel/Sounds.txt"
|
SoundSettings = "/data/global/excel/Sounds.txt"
|
||||||
|
@ -33,7 +33,7 @@ func GetDictionaryEntryCount() int {
|
|||||||
return len(lookupTable)
|
return len(lookupTable)
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoadDictionary(dictionaryData []byte) {
|
func LoadTextDictionary(dictionaryData []byte) {
|
||||||
if lookupTable == nil {
|
if lookupTable == nil {
|
||||||
lookupTable = make(map[string]string)
|
lookupTable = make(map[string]string)
|
||||||
}
|
}
|
||||||
|
@ -85,8 +85,7 @@ func LoadFile(filePath string) ([]byte, error) {
|
|||||||
|
|
||||||
data, err := singleton.fileManager.loadFile(filePath)
|
data, err := singleton.fileManager.loadFile(filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
attemptedPath := singleton.fileManager.fixupFilePath(filePath)
|
log.Printf("error loading file %s (%v)", filePath, err.Error())
|
||||||
log.Printf("error loading file %s (%v)", attemptedPath, err.Error())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return data, err
|
return data, err
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/OpenDiablo2/OpenDiablo2/d2common"
|
"github.com/OpenDiablo2/OpenDiablo2/d2common"
|
||||||
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2resource"
|
||||||
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
|
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -50,37 +51,22 @@ func (fm *fileManager) fileExists(filePath string) (bool, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (fm *fileManager) fixupFilePath(filePath string) string {
|
func (fm *fileManager) fixupFilePath(filePath string) string {
|
||||||
filePath = strings.ReplaceAll(filePath, "{LANG}", fm.config.Language)
|
filePath = fm.removeLocaleTokens(filePath)
|
||||||
if fm.config.Language != "ENG" {
|
|
||||||
filePath = strings.ReplaceAll(filePath, "expansionstring", "string")
|
|
||||||
}
|
|
||||||
// hack, no string table entries present in d2exp, set to english instead
|
|
||||||
if fm.config.Language == "RUS" {
|
|
||||||
filePath = strings.ReplaceAll(filePath, "RUS", "ENG")
|
|
||||||
}
|
|
||||||
// hack, POR doesn't have string.tbl
|
|
||||||
if fm.config.Language == "POR" {
|
|
||||||
toReplace := "POR/string.tbl"
|
|
||||||
fallback := "ENG/string.tbl"
|
|
||||||
filePath = strings.ReplaceAll(filePath, toReplace, fallback)
|
|
||||||
}
|
|
||||||
// hack, POL doesn't have string.tbl
|
|
||||||
if fm.config.Language == "POL" {
|
|
||||||
toReplace := "POL/string.tbl"
|
|
||||||
fallback := "ENG/string.tbl"
|
|
||||||
filePath = strings.ReplaceAll(filePath, toReplace, fallback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// hack, CHI doesn't have the fonts in the mpq
|
|
||||||
// if strings.ToUpper(d2resource.LanguageCode) == "CHI" {
|
|
||||||
// filePath = strings.ReplaceAll(filePath, "{LANG_FONT}", fm.config.Language)
|
|
||||||
// } else {
|
|
||||||
filePath = strings.ReplaceAll(filePath, "{LANG_FONT}", "latin")
|
|
||||||
// }
|
|
||||||
|
|
||||||
filePath = strings.ToLower(filePath)
|
filePath = strings.ToLower(filePath)
|
||||||
filePath = strings.ReplaceAll(filePath, `/`, "\\")
|
filePath = strings.ReplaceAll(filePath, `/`, "\\")
|
||||||
filePath = strings.TrimPrefix(filePath, "\\")
|
filePath = strings.TrimPrefix(filePath, "\\")
|
||||||
|
|
||||||
return filePath
|
return filePath
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (fm *fileManager) removeLocaleTokens(filePath string) string {
|
||||||
|
tableToken := d2resource.LanguageTableToken
|
||||||
|
fontToken := d2resource.LanguageFontToken
|
||||||
|
|
||||||
|
filePath = strings.ReplaceAll(filePath, tableToken, fm.config.Language)
|
||||||
|
|
||||||
|
// fixme: not all languages==latin
|
||||||
|
filePath = strings.ReplaceAll(filePath, fontToken, "latin")
|
||||||
|
|
||||||
|
return filePath
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user