World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Localization.h
См. документацию.
1 #pragma once
2 #include "Engine/Strings.h"
3 
4 #define LSTR_ELIGIBLE_TO_LEVELUP 147 // "You are eligible to train to %u."
5 #define LSTR_NOT_ENOUGH_GOLD 155 // "You don't have enough gold"
6 #define LSTR_XP_UNTIL_NEXT_LEVEL 538 // "You need %d more experience to train to level %d"
7 
8 class Localization {
9  public:
10  bool Initialize();
11 
12  const char *GetString(unsigned int index) const;
13  String FormatString(unsigned int index, ...) const;
14 
15  const char *GetDayName(unsigned int index) const {
16  return this->day_names[index];
17  }
18 
19  const char *GetMonthName(unsigned int index) const {
20  return this->month_names[index];
21  }
22 
23  const char *GetMoonPhaseName(unsigned int index) const {
24  return this->moon_phase_names[index];
25  }
26 
27  const char *GetSpellSchoolName(unsigned int index) const {
28  return this->spell_school_names[index];
29  }
30 
31  const char *GetSpellName(unsigned int index) const {
32  return this->spell_names[index];
33  }
34 
35  const char *GetClassName(unsigned int index) const {
36  return this->class_names[index];
37  }
38 
39  const char *GetClassDescription(unsigned int index) const {
40  return this->class_desciptions[index];
41  }
42 
43  const char *GetAttirubteName(unsigned int index) const {
44  return this->attribute_names[index];
45  }
46 
47  const char *GetAttributeDescription(unsigned int index) const {
48  return this->attribute_descriptions[index];
49  }
50 
51  const char *GetSkillName(unsigned int index) const {
52  return this->skill_names[index];
53  }
54 
55  const char *GetSkillDescription(unsigned int index) const {
56  return this->skill_descriptions[index];
57  }
58 
59  const char *GetSkillDescriptionNormal(unsigned int index) const {
60  return this->skill_descriptions_normal[index];
61  }
62 
63  const char *GetSkillDescriptionExpert(unsigned int index) const {
64  return this->skill_descriptions_expert[index];
65  }
66 
67  const char *GetSkillDescriptionMaster(unsigned int index) const {
68  return this->skill_descriptions_master[index];
69  }
70 
71  const char *GetSkillDescriptionGrand(unsigned int index) const {
72  return this->skill_descriptions_grand[index];
73  }
74 
75  const char *GetCharacterConditionName(unsigned int index) const {
76  return this->character_conditions[index];
77  }
78 
79  const char *GetAmPm(unsigned int index) const {
80  return this->GetString(472 + index);
81  }
82 
83  const char *GetNpcProfessionName(unsigned int index) const {
84  return this->npc_profession_names[index];
85  }
86 
87  public:
89  : localization_raw(nullptr),
90  localization_strings(nullptr),
91  class_desc_raw(nullptr),
92  attribute_desc_raw(nullptr),
93  skill_desc_raw(nullptr) {}
94 
95  private:
97 
98  void InitializeMonthNames();
99  void InitializeDayNames();
101 
103  void InitializeSpellNames();
104 
105  void InitializeClassNames();
107  void InitializeSkillNames();
109 
111 
112  private:
114  const char **localization_strings;
118 
119  const char *mm6_item_categories[14];
120  const char *month_names[12];
121  const char *day_names[7];
122  const char *moon_phase_names[5];
123  const char *spell_school_names[9];
124  const char *spell_names[44];
125  const char *class_names[36];
126  const char *class_desciptions[36];
127  const char *attribute_names[7];
128  const char *attribute_descriptions[7];
129  const char *skill_names[38];
130  const char *skill_descriptions[38];
131  const char *skill_descriptions_normal[38];
132  const char *skill_descriptions_expert[38];
133  const char *skill_descriptions_master[38];
134  const char *skill_descriptions_grand[38];
135  const char *character_conditions[19];
136  const char *npc_profession_names[59];
137 };
138 
139 extern Localization *localization;
Localization::Localization
Localization()
Definition: Localization.h:88
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
Localization::GetCharacterConditionName
const char * GetCharacterConditionName(unsigned int index) const
Definition: Localization.h:75
Localization::InitializeSkillNames
void InitializeSkillNames()
Definition: Localization.cpp:244
Localization::skill_descriptions_grand
const char * skill_descriptions_grand[38]
Definition: Localization.h:134
Localization::class_desc_raw
char * class_desc_raw
Definition: Localization.h:115
Localization::InitializeSpellSchoolNames
void InitializeSpellSchoolNames()
Definition: Localization.cpp:405
Localization::InitializeAttributeNames
void InitializeAttributeNames()
Definition: Localization.cpp:418
Localization::spell_names
const char * spell_names[44]
Definition: Localization.h:124
Localization::attribute_names
const char * attribute_names[7]
Definition: Localization.h:127
Localization::skill_names
const char * skill_names[38]
Definition: Localization.h:129
Localization::attribute_desc_raw
char * attribute_desc_raw
Definition: Localization.h:116
Localization::GetSpellName
const char * GetSpellName(unsigned int index) const
Definition: Localization.h:31
Localization::mm6_item_categories
const char * mm6_item_categories[14]
Definition: Localization.h:119
index
GLuint index
Definition: SDL_opengl_glext.h:663
Localization::GetSkillName
const char * GetSkillName(unsigned int index) const
Definition: Localization.h:51
Localization::moon_phase_names
const char * moon_phase_names[5]
Definition: Localization.h:122
Localization::class_names
const char * class_names[36]
Definition: Localization.h:125
Localization::npc_profession_names
const char * npc_profession_names[59]
Definition: Localization.h:136
Localization::GetMoonPhaseName
const char * GetMoonPhaseName(unsigned int index) const
Definition: Localization.h:23
Localization::GetSkillDescriptionExpert
const char * GetSkillDescriptionExpert(unsigned int index) const
Definition: Localization.h:63
Localization::GetSkillDescriptionNormal
const char * GetSkillDescriptionNormal(unsigned int index) const
Definition: Localization.h:59
Localization::attribute_descriptions
const char * attribute_descriptions[7]
Definition: Localization.h:128
Localization::GetAttributeDescription
const char * GetAttributeDescription(unsigned int index) const
Definition: Localization.h:47
Localization::day_names
const char * day_names[7]
Definition: Localization.h:121
Localization::InitializeMonthNames
void InitializeMonthNames()
Definition: Localization.cpp:378
Localization::GetSpellSchoolName
const char * GetSpellSchoolName(unsigned int index) const
Definition: Localization.h:27
Localization
Definition: Localization.h:8
Localization::skill_descriptions
const char * skill_descriptions[38]
Definition: Localization.h:130
Localization::InitializeCharacterConditionNames
void InitializeCharacterConditionNames()
Definition: Localization.cpp:214
Localization::GetSkillDescriptionGrand
const char * GetSkillDescriptionGrand(unsigned int index) const
Definition: Localization.h:71
Localization::skill_descriptions_normal
const char * skill_descriptions_normal[38]
Definition: Localization.h:131
localization
Localization * localization
Definition: Localization.cpp:11
Localization::GetSkillDescription
const char * GetSkillDescription(unsigned int index) const
Definition: Localization.h:55
Localization::GetClassDescription
const char * GetClassDescription(unsigned int index) const
Definition: Localization.h:39
Localization::class_desciptions
const char * class_desciptions[36]
Definition: Localization.h:126
Localization::skill_descriptions_expert
const char * skill_descriptions_expert[38]
Definition: Localization.h:132
Localization::month_names
const char * month_names[12]
Definition: Localization.h:120
Localization::GetAmPm
const char * GetAmPm(unsigned int index) const
Definition: Localization.h:79
Localization::InitializeMm6ItemCategories
void InitializeMm6ItemCategories()
Definition: Localization.cpp:357
Localization::GetAttirubteName
const char * GetAttirubteName(unsigned int index) const
Definition: Localization.h:43
Localization::Initialize
bool Initialize()
Definition: Localization.cpp:34
Localization::localization_raw
char * localization_raw
Definition: Localization.h:113
Localization::character_conditions
const char * character_conditions[19]
Definition: Localization.h:135
Localization::GetMonthName
const char * GetMonthName(unsigned int index) const
Definition: Localization.h:19
Localization::InitializeDayNames
void InitializeDayNames()
Definition: Localization.cpp:394
Localization::FormatString
String FormatString(unsigned int index,...) const
Definition: Localization.cpp:17
Localization::GetNpcProfessionName
const char * GetNpcProfessionName(unsigned int index) const
Definition: Localization.h:83
Localization::GetDayName
const char * GetDayName(unsigned int index) const
Definition: Localization.h:15
Localization::GetClassName
const char * GetClassName(unsigned int index) const
Definition: Localization.h:35
Localization::skill_desc_raw
char * skill_desc_raw
Definition: Localization.h:117
Localization::localization_strings
const char ** localization_strings
Definition: Localization.h:114
Localization::InitializeMoonPhaseNames
void InitializeMoonPhaseNames()
Definition: Localization.cpp:505
Localization::spell_school_names
const char * spell_school_names[9]
Definition: Localization.h:123
String
std::string String
Definition: Strings.h:10
Localization::skill_descriptions_master
const char * skill_descriptions_master[38]
Definition: Localization.h:133
Localization::GetSkillDescriptionMaster
const char * GetSkillDescriptionMaster(unsigned int index) const
Definition: Localization.h:67
Localization::InitializeNpcProfessionNames
void InitializeNpcProfessionNames()
Definition: Localization.cpp:151
Localization::InitializeSpellNames
void InitializeSpellNames()
Definition: Localization.cpp:99
Localization::InitializeClassNames
void InitializeClassNames()
Definition: Localization.cpp:300
Strings.h