mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-06-12 18:50:42 +00:00
Opimalisation
This commit is contained in:
parent
a4ded26038
commit
56787b13b8
|
@ -51,7 +51,7 @@ func GetFontCharset(language string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
// modificators for labels (used in string tables
|
// modificators for labels (used in string tables
|
||||||
func getModificators() map[string]int {
|
func getModifiers() map[string]int {
|
||||||
return map[string]int{
|
return map[string]int{
|
||||||
"ENG": 0, // (English) // checked
|
"ENG": 0, // (English) // checked
|
||||||
"ESP": 0, // (Spanish)
|
"ESP": 0, // (Spanish)
|
||||||
|
@ -69,8 +69,8 @@ func getModificators() map[string]int {
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetFontCharset returns modificator for language
|
// GetFontCharset returns modificator for language
|
||||||
func GetLabelModificator(language string) int {
|
func GetLabelModifier(language string) int {
|
||||||
mod := getModificators()
|
mod := getModifiers()
|
||||||
|
|
||||||
return mod[language]
|
return mod[language]
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,44 +278,27 @@ func (am *AssetManager) LoadStringTable(tablePath string) (d2tbl.TextDictionary,
|
||||||
return table, err
|
return table, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// TranslateString returns the translation of the given string. The string is retrieved from
|
func (am *AssetManager) TranslateString(input interface{}) string {
|
||||||
// the loaded string tables.
|
var key string
|
||||||
func (am *AssetManager) TranslateString(key string) string {
|
|
||||||
|
switch s := input.(type) {
|
||||||
|
case string:
|
||||||
|
key = s
|
||||||
|
case fmt.Stringer:
|
||||||
|
key = s.String()
|
||||||
|
}
|
||||||
|
|
||||||
for idx := range am.tables {
|
for idx := range am.tables {
|
||||||
if value, found := am.tables[idx][key]; found {
|
if value, found := am.tables[idx][key]; found {
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix to allow v.setDescLabels("#123") to be bypassed for a patch in issue #360. Reenable later.
|
// Fix to allow v.setDescLabels("#123") to be bypassed for a patch in issue #360. Reenable later.
|
||||||
// log.Panicf("Could not find a string for the key '%s'", key)
|
// log.Panicf("Could not find a string for the key '%s'", key)
|
||||||
return key
|
return key
|
||||||
}
|
}
|
||||||
|
|
||||||
// TranslateHeroClass translates her class given to game locale
|
|
||||||
func (am *AssetManager) TranslateHeroClass(h d2enum.Hero) string {
|
|
||||||
switch h {
|
|
||||||
case d2enum.HeroBarbarian:
|
|
||||||
return am.TranslateString("Barbarian")
|
|
||||||
case d2enum.HeroNecromancer:
|
|
||||||
return am.TranslateString("Necromancer")
|
|
||||||
case d2enum.HeroPaladin:
|
|
||||||
return am.TranslateString("Paladin")
|
|
||||||
case d2enum.HeroAssassin:
|
|
||||||
return am.TranslateString("Assassin")
|
|
||||||
case d2enum.HeroSorceress:
|
|
||||||
return am.TranslateString("Sorceress")
|
|
||||||
case d2enum.HeroAmazon:
|
|
||||||
return am.TranslateString("Amazon")
|
|
||||||
case d2enum.HeroDruid:
|
|
||||||
return am.TranslateString("Druid")
|
|
||||||
default:
|
|
||||||
am.Error("Unknown Hero Class")
|
|
||||||
}
|
|
||||||
|
|
||||||
// should not be reached
|
|
||||||
return "---"
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoadPaletteTransform loads a palette transform file
|
// LoadPaletteTransform loads a palette transform file
|
||||||
func (am *AssetManager) LoadPaletteTransform(path string) (*d2pl2.PL2, error) {
|
func (am *AssetManager) LoadPaletteTransform(path string) (*d2pl2.PL2, error) {
|
||||||
if pl2, found := am.transforms.Retrieve(path); found {
|
if pl2, found := am.transforms.Retrieve(path); found {
|
||||||
|
|
|
@ -349,7 +349,7 @@ func (v *CharacterSelect) updateCharacterBoxes() {
|
||||||
|
|
||||||
heroName := v.gameStates[idx].HeroName
|
heroName := v.gameStates[idx].HeroName
|
||||||
heroInfo := v.asset.TranslateString("level") + " " + strconv.FormatInt(int64(v.gameStates[idx].Stats.Level), 10) +
|
heroInfo := v.asset.TranslateString("level") + " " + strconv.FormatInt(int64(v.gameStates[idx].Stats.Level), 10) +
|
||||||
" " + v.asset.TranslateHeroClass(v.gameStates[idx].HeroType)
|
" " + v.asset.TranslateString(v.gameStates[idx].HeroType.String())
|
||||||
|
|
||||||
v.characterNameLabel[i].SetText(d2ui.ColorTokenize(heroName, d2ui.ColorTokenGold))
|
v.characterNameLabel[i].SetText(d2ui.ColorTokenize(heroName, d2ui.ColorTokenGold))
|
||||||
v.characterStatsLabel[i].SetText(d2ui.ColorTokenize(heroInfo, d2ui.ColorTokenWhite))
|
v.characterStatsLabel[i].SetText(d2ui.ColorTokenize(heroInfo, d2ui.ColorTokenWhite))
|
||||||
|
|
|
@ -282,7 +282,7 @@ func (v *MainMenu) loadBackgroundSprites() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func translateLabel(label int, lng string, asset *d2asset.AssetManager) string {
|
func translateLabel(label int, lng string, asset *d2asset.AssetManager) string {
|
||||||
return asset.TranslateString(fmt.Sprintf("#%d", baseLabelNumbers(label+d2resource.GetLabelModificator(lng))))
|
return asset.TranslateString(fmt.Sprintf("#%d", baseLabelNumbers(label+d2resource.GetLabelModifier(lng))))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *MainMenu) createLabels(loading d2screen.LoadingState) {
|
func (v *MainMenu) createLabels(loading d2screen.LoadingState) {
|
||||||
|
|
|
@ -254,7 +254,7 @@ func (s *HeroStatsPanel) renderStaticLabels(target d2interface.Surface) {
|
||||||
centerAlign bool
|
centerAlign bool
|
||||||
}{
|
}{
|
||||||
{labelHeroNameX, labelHeroNameY, s.heroName, d2resource.Font16, true},
|
{labelHeroNameX, labelHeroNameY, s.heroName, d2resource.Font16, true},
|
||||||
{labelHeroClassX, labelHeroClassY, s.asset.TranslateHeroClass(s.heroClass), d2resource.Font16, true},
|
{labelHeroClassX, labelHeroClassY, s.asset.TranslateString(s.heroClass.String()), d2resource.Font16, true},
|
||||||
|
|
||||||
{labelLevelX, labelLevelY, s.asset.TranslateString("strchrlvl"), d2resource.Font6, true},
|
{labelLevelX, labelLevelY, s.asset.TranslateString("strchrlvl"), d2resource.Font6, true},
|
||||||
{labelExperienceX, labelExperienceY, s.asset.TranslateString("strchrexp"), d2resource.Font6, true},
|
{labelExperienceX, labelExperienceY, s.asset.TranslateString("strchrexp"), d2resource.Font6, true},
|
||||||
|
|
Loading…
Reference in New Issue
Block a user