World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Localization.cpp
См. документацию.
1 #include <stdarg.h>
2 #include <vector>
3 
4 #include "Engine/Engine.h"
5 #include "Engine/LOD.h"
6 #include "Engine/Localization.h"
7 
8 #define MAX_LOC_STRINGS 677
9 extern std::vector<char *> Tokenize(char *input, const char separator);
10 
12 
13 const char *Localization::GetString(unsigned int index) const {
14  return this->localization_strings[index];
15 }
16 
17 String Localization::FormatString(unsigned int index, ...) const {
18  va_list args_ptr;
19 
20  const char *format = (this->GetString(index));
21  char buf[2048];
22 
23  va_start(args_ptr, index); // ?? sometimes args_ptr has junk at start ??
24  // args must pass as type c_str() ??
25  { vsprintf(buf, format, args_ptr); }
26  va_end(args_ptr);
27 
28  extern int sprintfex_internal(char *str);
30  return String(buf);
31 }
32 
33 //----- (00452C49) --------------------------------------------------------
35  char *tmp_pos; // eax@3
36  int step; // ebp@4
37  unsigned char c; // dl@5
38  int temp_str_len; // ecx@5
39  bool string_end; // [sp+14h] [bp-4h]@4
40 
41  this->localization_raw = (char *)pEvents_LOD->LoadCompressedTexture("global.txt");
42  if (!this->localization_raw) {
43  return false;
44  }
45 
46  this->localization_strings = new const char *[MAX_LOC_STRINGS];
47 
48  strtok(this->localization_raw, "\r");
49  strtok(NULL, "\r");
50 
51  for (int i = 0; i < MAX_LOC_STRINGS; ++i) {
52  char *test_string = strtok(NULL, "\r") + 1;
53  step = 0;
54  string_end = false;
55  do {
56  c = *(unsigned char *)test_string;
57  temp_str_len = 0;
58  if (c != '\t') {
59  do {
60  if (!c) break;
61  c = *(test_string + temp_str_len + 1);
62  temp_str_len++;
63  } while (c != '\t');
64  }
65  tmp_pos = test_string + temp_str_len;
66  if (*tmp_pos == 0) string_end = true;
67 
68  *tmp_pos = 0;
69  if (temp_str_len == 0) {
70  string_end = true;
71  } else {
72  if (step == 1)
73  this->localization_strings[i] = RemoveQuotes(test_string);
74  }
75  ++step;
76  test_string = tmp_pos + 1;
77  } while (step <= 2 && !string_end);
78  }
79 
81 
85 
90 
93 
95 
96  return true;
97 }
98 
100  this->spell_names[0] =
101  this->localization_strings[202]; // Protection from Air
102  this->spell_names[1] = this->localization_strings[204];
103  this->spell_names[2] = this->localization_strings[219];
104  this->spell_names[3] = this->localization_strings[215];
105  this->spell_names[4] = this->localization_strings[208];
106  this->spell_names[5] = this->localization_strings[454]; // Feather Fall
107  this->spell_names[6] = this->localization_strings[24];
108  this->spell_names[7] = this->localization_strings[455];
109  this->spell_names[8] = this->localization_strings[441];
110  this->spell_names[9] = this->localization_strings[440];
111  this->spell_names[10] = this->localization_strings[218]; // Ring of Fire
112  this->spell_names[11] = this->localization_strings[217];
113  this->spell_names[12] = this->localization_strings[213];
114  this->spell_names[13] = this->localization_strings[462];
115  this->spell_names[14] = this->localization_strings[279];
116  this->spell_names[15] = this->localization_strings[442]; // Stoneskin
117  this->spell_names[16] = this->localization_strings[452];
118  this->spell_names[17] = this->localization_strings[194];
119  this->spell_names[18] = this->localization_strings[456];
120  this->spell_names[19] = this->localization_strings[453];
121  this->spell_names[20] =
122  this->localization_strings[202]; // Protection from Air
123  this->spell_names[21] = this->localization_strings[443];
124  this->spell_names[22] = this->localization_strings[204];
125  this->spell_names[23] = this->localization_strings[208];
126  this->spell_names[24] = this->localization_strings[221];
127  this->spell_names[25] =
128  this->localization_strings[24]; // Protection from Fire
129  this->spell_names[26] = this->localization_strings[228];
130  this->spell_names[27] = this->localization_strings[441];
131  this->spell_names[28] = this->localization_strings[440];
132  this->spell_names[29] = this->localization_strings[213];
133  this->spell_names[30] = this->localization_strings[229]; // Pain Reflection
134  this->spell_names[31] = this->localization_strings[233];
135  this->spell_names[32] = this->localization_strings[234];
136  this->spell_names[33] = this->localization_strings[279];
137  this->spell_names[34] = this->localization_strings[442];
138  this->spell_names[35] =
139  this->localization_strings[235]; // Temporary Accuracy
140  this->spell_names[36] = this->localization_strings[246];
141  this->spell_names[37] = this->localization_strings[247];
142  this->spell_names[38] = this->localization_strings[248];
143  this->spell_names[39] = this->localization_strings[674];
144  this->spell_names[40] =
145  this->localization_strings[249]; // Temporary Willpower
146  this->spell_names[41] = this->localization_strings[258];
147  this->spell_names[42] = this->localization_strings[194];
148  this->spell_names[43] = this->localization_strings[657]; // Water Breathing
149 }
150 
152  this->npc_profession_names[0] = this->localization_strings[153]; // Nothing
153  this->npc_profession_names[1] = this->localization_strings[308]; // smith
154  this->npc_profession_names[2] =
155  this->localization_strings[309]; // armsmaster
156  this->npc_profession_names[3] = this->localization_strings[7]; // alchemist
157  this->npc_profession_names[4] = this->localization_strings[306];
158  this->npc_profession_names[5] = this->localization_strings[310];
159  this->npc_profession_names[6] = this->localization_strings[311];
160  this->npc_profession_names[7] = this->localization_strings[312];
161  this->npc_profession_names[8] = this->localization_strings[313];
162  this->npc_profession_names[9] = this->localization_strings[314];
163  this->npc_profession_names[10] = this->localization_strings[105];
164  this->npc_profession_names[11] = this->localization_strings[315];
165  this->npc_profession_names[12] = this->localization_strings[316];
166  this->npc_profession_names[13] = this->localization_strings[317];
167  this->npc_profession_names[14] = this->localization_strings[115];
168  this->npc_profession_names[15] = this->localization_strings[318];
169  this->npc_profession_names[16] = this->localization_strings[319];
170  this->npc_profession_names[17] = this->localization_strings[320];
171  this->npc_profession_names[18] = this->localization_strings[321];
172  this->npc_profession_names[19] = this->localization_strings[322];
173  this->npc_profession_names[20] = this->localization_strings[323];
174  this->npc_profession_names[21] = this->localization_strings[293];
175  this->npc_profession_names[22] = this->localization_strings[324];
176  this->npc_profession_names[23] = this->localization_strings[498];
177  this->npc_profession_names[24] = this->localization_strings[525];
178  this->npc_profession_names[25] = this->localization_strings[327];
179  this->npc_profession_names[26] = this->localization_strings[328];
180  this->npc_profession_names[27] = this->localization_strings[329];
181  this->npc_profession_names[28] = this->localization_strings[330];
182  this->npc_profession_names[29] = this->localization_strings[331];
183  this->npc_profession_names[30] = this->localization_strings[332];
184  this->npc_profession_names[31] = this->localization_strings[333];
185  this->npc_profession_names[32] = this->localization_strings[334];
186  this->npc_profession_names[33] = this->localization_strings[335];
187  this->npc_profession_names[34] = this->localization_strings[336];
188  this->npc_profession_names[35] = this->localization_strings[337];
189  this->npc_profession_names[36] = this->localization_strings[338];
190  this->npc_profession_names[37] = this->localization_strings[339];
191  this->npc_profession_names[38] = this->localization_strings[340];
192  this->npc_profession_names[39] = this->localization_strings[341];
193  this->npc_profession_names[40] = this->localization_strings[342];
194  this->npc_profession_names[41] = this->localization_strings[343];
195  this->npc_profession_names[42] = this->localization_strings[596];
196  this->npc_profession_names[43] = this->localization_strings[345];
197  this->npc_profession_names[44] = this->localization_strings[346];
198  this->npc_profession_names[45] = this->localization_strings[347];
199  this->npc_profession_names[46] = this->localization_strings[348];
200  this->npc_profession_names[47] = this->localization_strings[349];
201  this->npc_profession_names[48] = this->localization_strings[350];
202  this->npc_profession_names[49] = this->localization_strings[597];
203  this->npc_profession_names[50] = this->localization_strings[352];
204  this->npc_profession_names[51] = this->localization_strings[353];
205  this->npc_profession_names[52] = this->localization_strings[598];
206  this->npc_profession_names[53] = this->localization_strings[344];
207  this->npc_profession_names[54] = this->localization_strings[26];
208  this->npc_profession_names[55] = this->localization_strings[599];
209  this->npc_profession_names[56] = this->localization_strings[21];
210  this->npc_profession_names[57] = this->localization_strings[600];
211  this->npc_profession_names[58] = this->localization_strings[370];
212 }
213 
215  this->character_conditions[0] = this->localization_strings[52]; // Cursed
216  this->character_conditions[1] = this->localization_strings[241];
217  this->character_conditions[2] = this->localization_strings[14]; // Asleep
218  this->character_conditions[3] = this->localization_strings[4]; // Fear
219  this->character_conditions[4] = this->localization_strings[69]; // Drunk
220  this->character_conditions[5] = this->localization_strings[117]; // Insane
221  this->character_conditions[6] =
222  this->localization_strings[166]; // Poisoned
223  this->character_conditions[7] = this->localization_strings[65]; // Diseased
224  this->character_conditions[8] =
225  this->localization_strings[166]; // Poisoned
226  this->character_conditions[9] = this->localization_strings[65]; // Diseased
227  this->character_conditions[10] =
228  this->localization_strings[166]; // Poisoned
229  this->character_conditions[11] =
230  this->localization_strings[65]; // Diseased
231  this->character_conditions[12] =
232  this->localization_strings[162]; // Paralyzed
233  this->character_conditions[13] =
234  this->localization_strings[231]; // Unconcious
235  this->character_conditions[14] = this->localization_strings[58]; // Dead
236  this->character_conditions[15] =
237  this->localization_strings[220]; // Pertified
238  this->character_conditions[16] =
239  this->localization_strings[76]; // Eradicated
240  this->character_conditions[17] = this->localization_strings[601]; // Zombie
241  this->character_conditions[18] = this->localization_strings[98]; // Good
242 }
243 
245  this->skill_names[0] = this->localization_strings[271]; // Staff
246  this->skill_names[1] = this->localization_strings[272];
247  this->skill_names[2] = this->localization_strings[273];
248  this->skill_names[3] = this->localization_strings[274];
249  this->skill_names[4] = this->localization_strings[275];
250  this->skill_names[5] = this->localization_strings[276]; // Bow
251  this->skill_names[6] = this->localization_strings[277];
252  this->skill_names[7] = this->localization_strings[278];
253  this->skill_names[8] = this->localization_strings[279];
254  this->skill_names[9] = this->localization_strings[280];
255  this->skill_names[10] = this->localization_strings[281]; // Chain
256  this->skill_names[11] = this->localization_strings[282];
257  this->skill_names[12] = this->localization_strings[283];
258  this->skill_names[13] = this->localization_strings[284];
259  this->skill_names[14] = this->localization_strings[285];
260  this->skill_names[15] = this->localization_strings[286]; // Earth
261  this->skill_names[16] = this->localization_strings[289];
262  this->skill_names[17] = this->localization_strings[290];
263  this->skill_names[18] = this->localization_strings[291];
264  this->skill_names[19] = this->localization_strings[287];
265  this->skill_names[20] = this->localization_strings[288]; // Dark
266  this->skill_names[21] = this->localization_strings[292];
267  this->skill_names[22] = this->localization_strings[293];
268  this->skill_names[23] = this->localization_strings[294];
269  this->skill_names[24] = this->localization_strings[295];
270  this->skill_names[25] = this->localization_strings[296]; // Meditation
271  this->skill_names[26] = this->localization_strings[297];
272  this->skill_names[27] = this->localization_strings[298];
273  this->skill_names[28] = this->localization_strings[299];
274  this->skill_names[29] = this->localization_strings[300];
275  this->skill_names[30] = this->localization_strings[50]; // Dodge
276  this->skill_names[31] = this->localization_strings[77];
277  this->skill_names[32] = this->localization_strings[88];
278  this->skill_names[33] = this->localization_strings[89];
279  this->skill_names[34] = this->localization_strings[90];
280  this->skill_names[35] = this->localization_strings[95]; // Alchemy
281  this->skill_names[36] = this->localization_strings[301];
282  this->skill_names[37] = this->localization_strings[153]; // Nothing
283 
284  skill_desc_raw = (char *)pEvents_LOD->LoadCompressedTexture("skilldes.txt");
285  strtok(skill_desc_raw, "\r");
286  for (int i = 0; i < 37; ++i) {
287  char *test_string = strtok(NULL, "\r") + 1;
288 
289  auto tokens = Tokenize(test_string, '\t');
290  Assert(tokens.size() >= 6, "Invalid number of tokens");
291 
292  this->skill_descriptions[i] = RemoveQuotes(tokens[1]);
293  this->skill_descriptions_normal[i] = RemoveQuotes(tokens[2]);
294  this->skill_descriptions_expert[i] = RemoveQuotes(tokens[3]);
295  this->skill_descriptions_master[i] = RemoveQuotes(tokens[4]);
296  this->skill_descriptions_grand[i] = RemoveQuotes(tokens[5]);
297  }
298 }
299 
301  this->class_names[0] = this->localization_strings[253]; // Knight
302  this->class_names[1] = this->localization_strings[254]; // Cavalier
303  this->class_names[2] = this->localization_strings[255]; // Champion
304  this->class_names[3] = this->localization_strings[2]; // Black Knight
305 
306  this->class_names[4] = this->localization_strings[307]; // Thief
307  this->class_names[5] = this->localization_strings[114]; // Rogue
308  this->class_names[6] = this->localization_strings[3]; // Spy
309  this->class_names[7] = this->localization_strings[13]; // Assassin
310 
311  this->class_names[8] = this->localization_strings[21]; // Monk
312  this->class_names[9] = this->localization_strings[26]; // Initiate
313  this->class_names[10] = this->localization_strings[432]; // Master
314  this->class_names[11] = this->localization_strings[27]; // Ninja
315 
316  this->class_names[12] = this->localization_strings[262]; // Paladin
317  this->class_names[13] = this->localization_strings[263]; // Crusader
318  this->class_names[14] = this->localization_strings[264]; // Hero
319  this->class_names[15] = this->localization_strings[28]; // Villian
320 
321  this->class_names[16] = this->localization_strings[265]; // Archer
322  this->class_names[17] = this->localization_strings[267]; // Battle Mage
323  this->class_names[18] = this->localization_strings[119];
324  this->class_names[19] = this->localization_strings[124]; // Sniper
325 
326  this->class_names[20] = this->localization_strings[31]; // Ranger
327  this->class_names[21] = this->localization_strings[370]; // Hunter
328  this->class_names[22] = this->localization_strings[33]; // Ranger Lord
329  this->class_names[23] = this->localization_strings[40];
330 
331  this->class_names[24] = this->localization_strings[256]; // Cleric
332  this->class_names[25] = this->localization_strings[257];
333  this->class_names[26] = this->localization_strings[44];
334  this->class_names[27] = this->localization_strings[46];
335 
336  this->class_names[28] = this->localization_strings[268]; // Druid
337  this->class_names[29] = this->localization_strings[269];
338  this->class_names[30] = this->localization_strings[270];
339  this->class_names[31] = this->localization_strings[48]; // Warlock
340 
341  this->class_names[32] = this->localization_strings[259]; // Sorcerer
342  this->class_names[33] = this->localization_strings[260]; // Wizard
343  this->class_names[34] = this->localization_strings[261]; // Archmage
344  this->class_names[35] = this->localization_strings[49]; // Lich
345 
346  this->class_desc_raw = (char *)pEvents_LOD->LoadCompressedTexture("class.txt");
347  strtok(this->class_desc_raw, "\r");
348  for (int i = 0; i < 36; ++i) {
349  char *test_string = strtok(NULL, "\r") + 1;
350  auto tokens = Tokenize(test_string, '\t');
351  Assert(tokens.size() == 3, "Invalid number of tokens");
352  class_desciptions[i] = RemoveQuotes(tokens[1]);
353  }
354 }
355 
356 //----- (00452B95) --------------------------------------------------------
358  this->mm6_item_categories[0] = this->localization_strings[568]; // Club
359  this->mm6_item_categories[1] = this->localization_strings[271]; // Staff
360  this->mm6_item_categories[2] = this->localization_strings[272]; // Sword
361  this->mm6_item_categories[3] = this->localization_strings[273]; // Dagger
362  this->mm6_item_categories[4] = this->localization_strings[274]; // Axe
363  this->mm6_item_categories[5] = this->localization_strings[275]; // Spear
364  this->mm6_item_categories[6] = this->localization_strings[276]; // Bow
365  this->mm6_item_categories[7] = this->localization_strings[277]; // Mace
366  this->mm6_item_categories[8] = this->localization_strings[278]; // Blaster
367  this->mm6_item_categories[9] = this->localization_strings[279]; // Shield
368  this->mm6_item_categories[10] =
369  this->localization_strings[280]; // Leather armour
370  this->mm6_item_categories[11] =
371  this->localization_strings[281]; // Chainmail
372  this->mm6_item_categories[12] =
373  this->localization_strings[282]; // Plate armour
374  this->mm6_item_categories[13] = this->localization_strings[143]; // Other
375 }
376 
377 //----- (00413FF1) --------------------------------------------------------
379  this->month_names[0] = this->localization_strings[415]; // january
380  this->month_names[1] = this->localization_strings[416];
381  this->month_names[2] = this->localization_strings[417];
382  this->month_names[3] = this->localization_strings[418];
383  this->month_names[4] = this->localization_strings[419];
384  this->month_names[5] = this->localization_strings[420];
385  this->month_names[6] = this->localization_strings[421];
386  this->month_names[7] = this->localization_strings[422];
387  this->month_names[8] = this->localization_strings[423];
388  this->month_names[9] = this->localization_strings[424];
389  this->month_names[10] = this->localization_strings[425];
390  this->month_names[11] = this->localization_strings[426]; // december
391 }
392 
393 //----- (0041406F) --------------------------------------------------------
395  this->day_names[0] = this->localization_strings[145]; // monday
396  this->day_names[1] = this->localization_strings[230];
397  this->day_names[2] = this->localization_strings[243];
398  this->day_names[3] = this->localization_strings[227];
399  this->day_names[4] = this->localization_strings[91];
400  this->day_names[5] = this->localization_strings[188];
401  this->day_names[6] = this->localization_strings[222]; // sunday
402 }
403 
404 //----- (004140BB) --------------------------------------------------------
406  this->spell_school_names[0] = this->localization_strings[87]; // Fire
407  this->spell_school_names[1] = this->localization_strings[6]; // Air
408  this->spell_school_names[2] = this->localization_strings[240]; // Water
409  this->spell_school_names[3] = this->localization_strings[70]; // Earth
410  this->spell_school_names[4] = this->localization_strings[142]; // Mind
411  this->spell_school_names[5] = this->localization_strings[214]; // Spirit
412  this->spell_school_names[6] = this->localization_strings[29]; // Body
413  this->spell_school_names[7] = this->localization_strings[133]; // Light
414  this->spell_school_names[8] = this->localization_strings[54]; // Dark
415 }
416 
417 //----- (0041411B) --------------------------------------------------------
419  this->attribute_names[0] = this->localization_strings[144]; // Might
420  this->attribute_names[1] = this->localization_strings[116]; // Intelligence
421  this->attribute_names[2] = this->localization_strings[163]; // Willpower
422  this->attribute_names[3] = this->localization_strings[75]; // Endurance
423  this->attribute_names[4] = this->localization_strings[1]; // Accuracy
424  this->attribute_names[5] = this->localization_strings[211]; // Speed
425  this->attribute_names[6] = this->localization_strings[136]; // Luck
426 
427  this->attribute_desc_raw = (char *)pEvents_LOD->LoadCompressedTexture("stats.txt");
428  strtok(this->attribute_desc_raw, "\r");
429  for (int i = 0; i < 26; ++i) {
430  char *test_string = strtok(NULL, "\r") + 1;
431  auto tokens = Tokenize(test_string, '\t');
432  Assert(tokens.size() == 2, "Invalid number of tokens");
433  switch (i) {
434  case 0:
435  case 1:
436  case 2:
437  case 3:
438  case 4:
439  case 5:
440  case 6:
441  this->attribute_descriptions[i] = RemoveQuotes(tokens[1]);
442  break;
443  case 7:
445  break;
446  case 8:
448  break;
449  case 9:
451  break;
452  case 10:
454  break;
455  case 11:
457  break;
458  case 12:
460  break;
461  case 13:
463  break;
464  case 14:
466  break;
467  case 15:
469  break;
470  case 16:
472  break;
473  case 17:
475  break;
476  case 18:
478  break;
479  case 19:
481  break;
482  case 20:
484  break;
485  case 21:
487  break;
488  case 22:
490  break;
491  case 23:
493  break;
494  case 24:
496  break;
497  case 25:
499  break;
500  }
501  }
502 }
503 
504 //----- (00410AF5) --------------------------------------------------------
506  this->moon_phase_names[0] = this->localization_strings[150];
507  this->moon_phase_names[1] = this->localization_strings[171];
508  this->moon_phase_names[2] = this->localization_strings[102];
509  this->moon_phase_names[3] = this->localization_strings[169];
510  this->moon_phase_names[4] = this->localization_strings[92];
511 }
512 
513 /*
514 enum GLOBAL_LOCALIZ_INDEX
515 {
516  LOCSTR_AC = 0, //"AC"
517  LOCSTR_ACCURACY = 1, //"Accuracy"
518  LOCSTR_BLK_KNIGHT = 2, //"Black Knight"
519  LOCSTR_SPY = 3, // "Spy"
520 
521  LOCSTR_TOWN_PORTAL = 10, // "Town Portal"
522 
523  LOCSTR_ASSASIN = 13, // "Assassin"
524 
525  LOCSTR_AUTOSAVE = 16, // "Autosave"
526 
527  LOCSTR_ATTACK = 18, // "Attack"
528  LOCSTR_AVAILABLE = 19, //"Available"
529 
530  LOCSTR_MONK = 21, //"Monk"
531 
532  LOCSTR_AVARDS_FOR = 23, //"Awards for"
533 
534 
535  LOCSTR_RANGER = 31, //"Ranger"
536 
537  LOCSTR_CANCEL = 34, //"Cancel"
538 
539 
540  LOCSTR_SELECT_TGT = 39, ///"Select Target"
541 
542  LOCSTR_CLASS = 41, // "Class"
543 
544  LOCSTR_CONDITION = 47, //"Condition"
545 
546  LOCSTR_CREATE_PARTY = 51, //"C R E A T E P A R T Y"
547 
548  LOCSTR_DAWN = 55, //"Dawn"
549  LOCSTR_DAY = 56, //"Day"
550  LOCSTR_DAYS = 57, /// "Days"
551 
552  LOCSTR_PRESS_ESCAPE = 61, // "Press Escape"
553 
554  LOCSTR_TROUBLE_LOAD = 63,//"Might and Magic VII is having trouble loading
555 files.
556  // Please re-install to fix this problem. Note:
557 Re-installing will not destroy your save games." LOCSTR_DETAIL_TOGGLE = 64,
558 //"Detail Toggle"
559 
560  LOCSTR_DMG = 66, /// "Dmg"
561 
562  LOCSTR_EMPTY = 72, // "Empty"
563 
564  LOCSTR_EXIT = 79, // "Exit"
565  LOCSTR_EXIT_BLDNG = 80, // "Exit Building"
566 
567  LOCSTR_EXPIRIENCE = 83, //"Experience"
568 
569  LOCSTR_GRAND = 96, // "Grand"
570 
571  LOCSTR_HP = 107, // "HP"
572  LOCSTR_HIT_POINTS = 108, // "Hit Points"
573  LOCSTR_HOUR = 109, //"Hour"
574  LOCSTR_HOURS = 110, //"Hours"
575 
576  LOCSTR_ROGUE = 114, //"Rogue"
577 
578  LOCSTR_LEVEL = 131, // "Level"
579 
580  LOCSTR_LOADING = 135, //"Loading"
581 
582  LOCSTR_MIGHT = 144, //"Might"
583 
584  LOCSTR_NAME = 149, // "Name"
585 
586  LOCSTR_YOU_TO_TRAIN = 147, // "You are eligible to train to %u."
587 
588  LOCSTR_STAY_IN_AREA = 156, //"Stay in this Area"
589  LOCSTR_3DO_COPYRHT = 157, // ""© 1999 The 3DO Company.
590 
591  LOCSTR_PLEASE_WAIT = 165, // "Please Wait"
592 
593  LOCSTR_REPUTATION = 180, //"Reputation"
594 
595  LOCSTR_REST_HEAL_8 = 183, //"Rest & Heal 8 Hours"
596 
597  LOCSTR_TIME_ERATHIA = 186, // "Time in Erathia"
598 
599  LOCSTR_SAVING = 190, // "Saving"
600 
601  LOCSTR_SKILL_POINTS = 207, /// "Skill Points"
602 
603  LOCSTR_KNIGHT = 253, //"Knight"
604  LOCSTR_CAVALIER = 254, //"Cavalier"
605  LOCSTR_CHAMPION = 255, //"Champion"
606  LOCSTR_CLERIC = 256, //"Cleric"
607  LOCSTR_PRIEST = 257, //"Priest"
608 
609  LOCSTR_SORCERER = 259, // "Sorcerer"
610 
611  LOCSTR_PALADIN = 262, // "Paladin"
612 
613  LOCSTR_ARCHER = 265, /// "Archer"
614 
615  LOCSTR_DRUID = 268, // "Druid"
616 
617  LOCSTR_THIEF = 307, //"Thief"
618 
619  LOCSTR_SET_BEACON = 375, // "Set Beacon"
620 
621  LOCSTR_HATED = 379,// "Hated"
622 
623  LOCSTR_UNFRENDLY = 392, //"Unfriendly"
624 
625  LOCSTR_NEITRAL = 399, // "Neutral"
626 
627  LOCSTR_FRENDLY = 402, // "Friendly"
628 
629  LOCSTR_D_DAYS_TO_S = 404, //"%d days to %s"
630  LOCSTR_TRAVEL_COST = 405, //"Travel Cost %d gold"
631 
632  LOCSTR_ENTER_S = 411, // "Enter %s"
633 
634  LOCSTR_IS_IN_NO_COND = 427, // "%s is in no condition to %s"
635 
636  LOCSTR_S_THE_S = 429, //"%s the %s"
637 
638  LOCSTR_NORMAL = 431, //"Normal"
639  LOCSTR_MASTER = 432, //"Master"
640  LOCSTR_EXPERT = 433, //"Expert"
641  LOCSTR_LIKED = 434, //"Liked"
642 
643  LOCSTR_ACTIVE_SPELL = 450, // "Active Spells: %s"
644 
645  LOCSTR_READING = 505, ///"Reading..."
646 
647  LOCSTR_NOTHING_HERE = 521, // "Nothing here"
648 
649  LOCSTR_SP_COST = 522, //"SP Cost"
650  LOCSTR_RECALL_BEACON = 523, // "Recall Beacon"
651 
652  LOCSTR_TIME = 526, //"Time"
653 
654  LOCSTR_NEED_MORE_EXP = 538, //"You need %d more experience to train to level
655 %d"
656 
657  LOCSTR_IDENT_ITEM = 541, // "Identify Items"
658 
659  LOCSTR_DUSK = 566, //"Dusk"
660  LOCSTR_NIGHT = 567, // "Night"
661 
662  LOCSTR_NO_SAVING = 583, //"No saving in the Arena"
663 
664  LOCSTR_AUTOSAVE_MM7 = 613, // "AutoSave.MM7"
665 
666  LOCSTR_BONUS = 623, //"Bonus"
667 
668  LOCSTR_GAME_SAVED = 656, // "Game Saved!"
669 
670  MAX_LOC_STRINGS = 677
671 
672 };*/
673 
674 /*
675 
676 + [4] 0x04102dab "Afraid" unsigned char *
677 + [5] 0x04102db5 "Age" unsigned char *
678 + [6] 0x04102dbc "Air" unsigned char *
679 + [7] 0x04102dc3 "Alchemist" unsigned char *
680 + [8] 0x04102dd0 "Obelisk Notes" unsigned char *
681 + [9] 0x04102de1 "Congratulations!" unsigned char *
682 
683 + [11] 0x04102e06 "Armor" unsigned char *
684 + [0xc] 0x04102e10 "Armor Class" unsigned char *
685 
686 + [0xe] 0x04102e2d "Asleep" unsigned char *
687 + [0xf] 0x04102e38 "Assertion failed at %d in %s"
688 unsigned char *
689 
690 + [17] 0x04102e66 "Exp." unsigned char *
691 
692 
693 + [20] 0x04102e88 "Available Skills" unsigned char *
694 
695 + [22] 0x04102ea6 "Awards" unsigned char *
696 
697 + [24] 0x04102ec0 "Fire Res" unsigned char *
698 + [25] 0x04102ecd "Balance" unsigned char *
699 + [26] 0x04102ed9 "Initiate" unsigned char *
700 + [27] 0x04102ee6 "Ninja" unsigned char *
701 + [28] 0x04102ef0 "Villain" unsigned char *
702 + [29] 0x04102efc "Body" unsigned char *
703 + [30] 0x04102f05 "Bonus" unsigned char *
704 
705 + [32] 0x04102f1a "Broken Item" unsigned char *
706 + [33] 0x04102f2a "Ranger Lord" unsigned char *
707 + [34] 0x04102f3a "Cancel" unsigned char *
708 + [35] 0x04102f45 "Town Portal to %s" unsigned char *
709 + [36] 0x04102f5b "%s can not be used that way"
710 unsigned char * + [37] 0x04102f7b "Total Time:"
711 unsigned char * + [38] 0x04102f8b "Cast Spell" unsigned char *
712 
713 + [0x28] 0x04102fac "Bounty Hunter" unsigned char *
714 
715 + [0x2a] 0x04102fc8 "Clerk" unsigned char *
716 + [0x2b] 0x04102fd2 "Cold" unsigned char *
717 + [0x2c] 0x04102fdb "Priest of Light" unsigned char *
718 + [45] 0x04102fef "Cond" unsigned char *
719 + [46] 0x04102ff8 "Priest of Dark" unsigned char *
720 
721 + [48] 0x04103019 "Warlock" unsigned char *
722 + [49] 0x04103025 "Lich" unsigned char *
723 + [50] 0x0410302e "Dodging" unsigned char *
724 
725 + [52] 0x04103056 "Cursed" unsigned char *
726 + [0x35] 0x04103061 "Damage" unsigned char *
727 + [0x36] 0x0410306c "Dark" unsigned char *
728 
729 
730 
731 + [58] 0x0410308f "Dead" unsigned char *
732 + [59] 0x04103098 "Internal Error" unsigned char *
733 + [60] 0x041030ab "Deposit" unsigned char *
734 
735 + [62] 0x041030c8 "Might and Magic VII requires your desktop to
736 be in 16bit (32k or 65k) Color mode in order to operate in a window." unsigned
737 char *
738 
739 
740 + [65] 0x041031e6 "Diseased" unsigned char *
741 
742 + [0x43] 0x041031fb "%s does not have the skill" unsigned char *
743 + [68] 0x0410321a "Donate" unsigned char *
744 + [69] 0x04103225 "Drunk" unsigned char *
745 + [70] 0x0410322f "Earth" unsigned char *
746 + [71] 0x04103239 "Electricity" unsigned char *
747 
748 + [73] 0x04103253 "Enter" unsigned char *
749 + [74] 0x0410325d "End Conversation" unsigned char *
750 + [75] 0x04103272 "Endurance" unsigned char *
751 + [0x4c] 0x04103280 "Eradicated" unsigned char *
752 + [0x4d] 0x0410328f "Unarmed" unsigned char *
753 + [0x4e] 0x0410329b "Calendar" unsigned char *
754 + [0x4f] 0x041032a8 "Exit" unsigned char *
755 
756 + [81] 0x041032c3 "Exit Rest" unsigned char *
757 + [82] 0x041032d1 "Are you sure? Click again to quit" unsigned
758 char *
759 
760 + [84] 0x04103307 "Fame" unsigned char *
761 + [85] 0x04103310 "Potion Notes" unsigned char *
762 + [86] 0x04103321 "Fill Packs to %d days for %d gold" unsigned
763 char * + [87] 0x04103347 "Fire" unsigned char * +
764 [88] 0x04103350 "Identify Monster" unsigned char * + [89]
765 0x04103365 "Armsmaster" unsigned char * + [90] 0x04103374
766 "Stealing" unsigned char * + [91] 0x04103381 "Friday"
767 unsigned char * + [92] 0x0410338c "Full" unsigned char *
768 + [93] 0x04103395 "Game Options" unsigned char *
769 + [94] 0x041033a6 "Your score: %lu" unsigned char *
770 + [95] 0x041033ba "Alchemy" unsigned char *
771 
772 
773 
774 + [97] 0x041033d0 "Gold" unsigned char *
775 + [98] 0x041033d9 "Good" unsigned char *
776 + [99] 0x041033e2 "Human" unsigned char *
777 + [100] 0x041033ed "Guard" unsigned char *
778 + [101] 0x041033f8 "Dwarf" unsigned char *
779 + [102] 0x04103403 "Half" unsigned char *
780 + [103] 0x0410340d "Elf" unsigned char *
781 + [104] 0x04103416 "Heal" unsigned char *
782 + [105] 0x04103420 "Healer" unsigned char *
783 + [106] 0x0410342c "Goblin" unsigned char *
784 
785 + [108] 0x04103440 "Hit Points" unsigned char *
786 
787 + [111] 0x04103465 "Grand" unsigned char *
788 + [112] 0x04103470 "How Much?" unsigned char *
789 + [113] 0x0410347f "Identify" unsigned char *
790 
791 + [115] 0x04103498 "Instructor" unsigned char *
792 + [116] 0x041034a8 "Intellect" unsigned char *
793 + [117] 0x041034b7 "Insane" unsigned char *
794 + [118] 0x041034c3 "We hope that you've enjoyed playing Might and Magic VII as much as we did making it. We have saved this screen as MM7_WIN.PCX in your MM7 directory. You can print it out as proof of your accomplishment." unsigned char *
795 + [119] 0x04103593 "Master Archer" unsigned char *
796 + [120] 0x041035a6 "Inventory" unsigned char *
797 + [121] 0x041035b5 "Permanent" unsigned char *
798 + [122] 0x041035c4 "Join" unsigned char *
799 + [123] 0x041035ce "Miscellaneous Notes" unsigned char *
800 + [124] 0x041035e7 "Sniper" unsigned char *
801 + [125] 0x041035f3 "+2 Skill Points!" unsigned char *
802 + [126] 0x04103609 "Do you wish to leave %s?" unsigned char *
803 + [127] 0x04103627 "No Text!" unsigned char *
804 + [128] 0x04103635 "It will take %d days to travel to %s."
805 unsigned char * + [129] 0x04103660 "%s the Level %u %s" unsigned
806 char * + [130] 0x04103678 "Player" unsigned char *
807 
808 + [132] 0x0410368f "Years" unsigned char *
809 + [133] 0x0410369a "Light" unsigned char *
810 + [134] 0x041036a5 "Buy Standard" unsigned char *
811 
812 + [136] 0x041036c4 "Luck" unsigned char *
813 + [137] 0x041036ce "Fountain Notes" unsigned char *
814 + [138] 0x041036e2 "Magic" unsigned char *
815 + [139] 0x041036ed "Maps" unsigned char *
816 + [140] 0x041036f7 "Your packs are already full!"
817 unsigned char * + [141] 0x04103719 "Seer Notes" unsigned char *
818 + [142] 0x04103729 "Mind" unsigned char *
819 + [143] 0x04103733 "Misc" unsigned char *
820 
821 + [145] 0x04103748 "Monday" unsigned char *
822 + [146] 0x04103754 "Month" unsigned char *
823 
824 + [148] 0x04103785 "Months" unsigned char *
825 
826 + [150] 0x0410379b "New" unsigned char *
827 + [151] 0x041037a4 "Congratulations Adventurer."
828 unsigned char * + [152] 0x041037c5 "Buy Special"
829 unsigned char * + [153] 0x041037d6 "None" unsigned char *
830 + [154] 0x041037e0 "Auto Notes" unsigned char *
831 + [155] 0x041037f0 "You don't have enough gold" unsigned char *
832 
833 + [157] 0x04103827 ""© 1999 The 3DO Company. All Rights
834 Reserved. Might and Magic, Blood and Honor, New World Computing, 3DO, and their
835 respective logos, are trademarks and/or service marks of The 3DO Company in the
836 U.S. and other countries. All other trademarks belong to their respective
837 owners. New World Computing is a division of The 3DO Company."" unsigned
838 char * + [158] 0x0410397d "Bootleg Bay East" unsigned char *
839 + [159] 0x04103993 "Display Inventory" unsigned char *
840 + [160] 0x041039aa "Learn Skills" unsigned char *
841 + [161] 0x041039bc "Steal" unsigned char *
842 + [162] 0x041039c7 "Paralyzed" unsigned char *
843 + [163] 0x041039d6 "Personality" unsigned char *
844 + [164] 0x041039e7 "%s hits %s for %lu damage" unsigned char *
845 
846 + [166] 0x04103a17 "Poison" unsigned char *
847 + [167] 0x04103a23 "- The Might and Magic VII Development Team."
848 unsigned char * + [168] 0x04103a54 "Points" unsigned char *
849 + [169] 0x04103a60 "Three Quarter" unsigned char *
850 + [170] 0x04103a73 "QSpell" unsigned char *
851 + [171] 0x04103a7f "Quarter" unsigned char *
852 + [172] 0x04103a8c "Quick Spell" unsigned char *
853 + [173] 0x04103a9d "Quick Reference" unsigned char *
854 + [174] 0x04103ab2 "Current Quests" unsigned char *
855 + [175] 0x04103ac6 "%s inflicts %lu points killing %s" unsigned
856 char *
857 + [176] 0x04103aed "Might and Magic VII has detected an internal
858 error and will be forced to close. Would you like us to autosave your game
859 before closing?" unsigned char * + [177] 0x04103b7b
860 "Standard" unsigned char * + [178] 0x04103b89 "Rent Room
861 for %d gold" unsigned char * + [179] 0x04103ba4 "Repair"
862 unsigned char *
863 
864 + [181] 0x04103bc0 "Steal %24" unsigned char *
865 + [182] 0x04103bcf "Rest" unsigned char *
866 
867 + [184] 0x04103bf2 "Reinstall Necessary" unsigned char *
868 + [185] 0x04103c0b "Steal item" unsigned char *
869 
870 + [187] 0x04103c30 "Stolen" unsigned char *
871 + [188] 0x04103c3c "Saturday" unsigned char *
872 + [189] 0x04103c4a "%s shoots %s for %lu points"
873 unsigned char *
874 
875 + [191] 0x04103c77 "You've been banned from this shop!" unsigned
876 char * + [192] 0x04103c9f "Scroll Up" unsigned char * +
877 [193] 0x04103cae "Scroll Down" unsigned char * + [194]
878 0x04103cbf "Water Res" unsigned char * + [195] 0x04103cce
879 "Select the Item to Buy" unsigned char * + [196]
880 0x04103cea "Select the Special Item to Buy" unsigned char * +
881 [197] 0x04103d0e "Select the Item to Identify" unsigned char * +
882 [198] 0x04103d2f "Select the Item to Repair" unsigned char * +
883 [199] 0x04103d4e "Select the Item to Sell" unsigned char * +
884 [200] 0x04103d6b "Sell" unsigned char * + [201]
885 0x04103d75 "Are you sure? Click again to start a New Game" unsigned char *
886 + [202] 0x04103da9 "Air Res" unsigned char *
887 + [203] 0x04103db6 "Shoot" unsigned char *
888 + [204] 0x04103dc1 "Body Res" unsigned char *
889 + [205] 0x04103dcf "Skills" unsigned char *
890 + [206] 0x04103ddb "Skills for" unsigned char *
891 
892 + [208] 0x04103dfd "Earth Res" unsigned char *
893 + [209] 0x04103e0c "SP" unsigned char *
894 + [210] 0x04103e14 "Special" unsigned char *
895 + [211] 0x04103e21 "Speed" unsigned char *
896 + [212] 0x04103e2c "Spell Points" unsigned char *
897 + [213] 0x04103e3e "Mind Res" unsigned char *
898 + [214] 0x04103e4c "Spirit" unsigned char *
899 + [215] 0x04103e58 "Detect Life" unsigned char *
900 + [216] 0x04103e69 "Stats" unsigned char *
901 + [217] 0x04103e74 "Invisibility" unsigned char *
902 + [218] 0x04103e86 "Immolation" unsigned char *
903 + [219] 0x04103e96 "Day of the Gods" unsigned char *
904 + [220] 0x04103eab "Stoned" unsigned char *
905 + [221] 0x04103eb7 "Fate" unsigned char *
906 + [222] 0x04103ec1 "Sunday" unsigned char *
907 + [223] 0x00000000 <Bad Ptr> unsigned char *
908 + [224] 0x00000000 <Bad Ptr> unsigned char *
909 + [225] 0x04103ed9 "Grandmaster" unsigned char *
910 + [226] 0x04103eea ""Gamma controls the relative ""brightness""
911 of the game. May vary depending on your monitor."" unsigned char * +
912 [227] 0x04103f4e "Thursday" unsigned char * + [228]
913 0x04103f5c "Hammerhands" unsigned char * + [229]
914 0x04103f6d "Pain Reflection" unsigned char * + [230]
915 0x04103f82 "Tuesday" unsigned char * + [231] 0x04103f8f
916 "Unconscious" unsigned char * + [232] 0x04103fa0 "Not
917 Identified" unsigned char * + [233] 0x04103fb4
918 "Preservation" unsigned char * + [234] 0x04103fc6
919 "Regeneration" unsigned char * + [235] 0x04103fd8 "Temp
920 Accuracy" unsigned char * + [236] 0x04103feb "Wait without
921 healing" unsigned char * + [237] 0x04104005 "Wait until
922 Dawn" unsigned char * + [238] 0x0410401a "Wait 5 Minutes"
923 unsigned char * + [239] 0x0410402e "Wait 1 Hour"
924 unsigned char * + [240] 0x0410403f "Water" unsigned char *
925 + [241] 0x0410404a "Weak" unsigned char *
926 + [242] 0x04104054 "Weapons" unsigned char *
927 + [243] 0x04104061 "Wednesday" unsigned char *
928 + [244] 0x04104070 "Withdraw" unsigned char *
929 + [245] 0x0410407e "Year" unsigned char *
930 + [246] 0x04104088 "Temp Endurance" unsigned char *
931 + [247] 0x0410409c "Temp Intelligence" unsigned char *
932 + [248] 0x041040b3 "Temp Luck" unsigned char *
933 + [249] 0x041040c2 "Temp Personality" unsigned char *
934 + [250] 0x041040d8 "You need %s" unsigned char *
935 + [251] 0x041040e9 "Zoom In" unsigned char *
936 + [252] 0x041040f6 "Zoom Out" unsigned char *
937 
938 
939 + [258] 0x04104144 "Temp Speed" unsigned char *
940 
941 + [260] 0x04104162 "Wizard" unsigned char *
942 + [261] 0x0410416e "Archmage" unsigned char *
943 
944 + [263] 0x04104189 "Crusader" unsigned char *
945 + [264] 0x04104197 "Hero" unsigned char *
946 
947 + [266] 0x041041ad "DISCARD A CARD" unsigned char *
948 + [267] 0x041041c1 "Warrior Mage" unsigned char *
949 
950 + [269] 0x041041de "Greater Druid" unsigned char *
951 + [270] 0x041041f1 "Arch Druid" unsigned char *
952 + [271] 0x04104201 "Staff" unsigned char *
953 + [272] 0x0410420c "Sword" unsigned char *
954 + [273] 0x04104217 "Dagger" unsigned char *
955 + [274] 0x04104223 "Axe" unsigned char *
956 + [275] 0x0410422c "Spear" unsigned char *
957 + [276] 0x04104237 "Bow" unsigned char *
958 + [277] 0x04104240 "Mace" unsigned char *
959 + [278] 0x0410424a "Blaster" unsigned char *
960 + [279] 0x04104257 "Shield" unsigned char *
961 + [280] 0x04104263 "Leather" unsigned char *
962 + [281] 0x04104270 "Chain" unsigned char *
963 + [282] 0x0410427b "Plate" unsigned char *
964 + [283] 0x04104286 "Fire Magic" unsigned char *
965 + [284] 0x04104296 "Air Magic" unsigned char *
966 + [285] 0x041042a5 "Water Magic" unsigned char *
967 + [286] 0x041042b6 "Earth Magic" unsigned char *
968 + [287] 0x041042c7 "Light Magic" unsigned char *
969 + [288] 0x041042d8 "Dark Magic" unsigned char *
970 + [289] 0x041042e8 "Spirit Magic" unsigned char *
971 + [290] 0x041042fa "Mind Magic" unsigned char *
972 + [291] 0x0410430a "Body Magic" unsigned char *
973 + [292] 0x0410431a "Identify Item" unsigned char *
974 + [293] 0x0410432d "Merchant" unsigned char *
975 + [294] 0x0410433b "Repair Item" unsigned char *
976 + [295] 0x0410434c "Body Building" unsigned char *
977 + [296] 0x0410435f "Meditation" unsigned char *
978 + [297] 0x0410436f "Perception" unsigned char *
979 + [298] 0x0410437f "Diplomacy" unsigned char *
980 + [299] 0x0410438e "Thievery" unsigned char *
981 + [300] 0x0410439c "Disarm Trap" unsigned char *
982 + [301] 0x041043ad "Learning" unsigned char *
983 + [302] 0x041043bb "%s stole %d gold!" unsigned char *
984 + [303] 0x041043d2 "Noble" unsigned char *
985 + [304] 0x041043dd "Official" unsigned char *
986 + [305] 0x041043eb "Peasant" unsigned char *
987 + [306] 0x041043f8 "Scholar" unsigned char *
988 
989 + [308] 0x04104410 "Smith" unsigned char *
990 + [309] 0x0410441b "Armorer" unsigned char *
991 + [310] 0x04104428 "Guide" unsigned char *
992 + [311] 0x04104433 "Tracker" unsigned char *
993 + [312] 0x04104440 "Pathfinder" unsigned char *
994 + [313] 0x04104450 "Sailor" unsigned char *
995 + [314] 0x0410445c "Navigator" unsigned char *
996 + [315] 0x0410446b "Expert Healer" unsigned char *
997 + [316] 0x0410447e "Master Healer" unsigned char *
998 + [317] 0x04104491 "Teacher" unsigned char *
999 + [318] 0x0410449e "Arms Master" unsigned char *
1000 + [319] 0x041044af "Weapons Master" unsigned char *
1001 + [320] 0x041044c3 "Apprentice" unsigned char *
1002 + [321] 0x041044d3 "Mystic" unsigned char *
1003 + [322] 0x041044df "Spell Master" unsigned char *
1004 + [323] 0x041044f1 "Trader" unsigned char *
1005 + [324] 0x041044fd "Scout" unsigned char *
1006 + [325] 0x04104508 "Counselor" unsigned char *
1007 + [326] 0x04104517 "Barrister" unsigned char *
1008 + [327] 0x04104526 "Tinker" unsigned char *
1009 + [328] 0x04104532 "Locksmith" unsigned char *
1010 + [329] 0x04104541 "Fool" unsigned char *
1011 + [330] 0x0410454b "Chimney Sweep" unsigned char *
1012 + [331] 0x0410455e "Porter" unsigned char *
1013 + [332] 0x0410456a "Quarter Master" unsigned char *
1014 + [333] 0x0410457e "Factor" unsigned char *
1015 + [334] 0x0410458a "Banker" unsigned char *
1016 + [335] 0x04104596 "Cook" unsigned char *
1017 + [336] 0x041045a0 "Chef" unsigned char *
1018 + [337] 0x041045aa "Horseman" unsigned char *
1019 + [338] 0x041045b8 "Bard" unsigned char *
1020 + [339] 0x041045c2 "Enchanter" unsigned char *
1021 + [340] 0x041045d1 "Cartographer" unsigned char *
1022 + [341] 0x041045e3 "Wind Master" unsigned char *
1023 + [342] 0x041045f4 "Water Master" unsigned char *
1024 + [343] 0x04104606 "Gate Master" unsigned char *
1025 + [344] 0x04104617 "Acolyte" unsigned char *
1026 + [345] 0x04104624 "Piper" unsigned char *
1027 + [346] 0x0410462f "Explorer" unsigned char *
1028 + [347] 0x0410463d "Pirate" unsigned char *
1029 + [348] 0x04104649 "Squire" unsigned char *
1030 + [349] 0x04104655 "Psychic" unsigned char *
1031 + [350] 0x04104662 "Gypsy" unsigned char *
1032 + [351] 0x0410466d "Negotiator" unsigned char *
1033 + [352] 0x0410467d "Duper" unsigned char *
1034 + [353] 0x04104688 "Burglar" unsigned char *
1035 + [354] 0x04104695 "Serf" unsigned char *
1036 + [355] 0x0410469f "Tailor" unsigned char *
1037 + [356] 0x041046ab "Laborer" unsigned char *
1038 + [357] 0x041046b8 "Farmer" unsigned char *
1039 + [358] 0x041046c4 "Cooper" unsigned char *
1040 + [359] 0x041046d0 "Potter" unsigned char *
1041 + [360] 0x041046dc "Weaver" unsigned char *
1042 + [361] 0x041046e8 "Cobbler" unsigned char *
1043 + [362] 0x041046f5 "Ditch Digger" unsigned char *
1044 + [363] 0x04104707 "Miller" unsigned char *
1045 + [364] 0x04104713 "Carpenter" unsigned char *
1046 + [365] 0x04104722 "Stone Cutter" unsigned char *
1047 + [366] 0x04104734 "Jester" unsigned char *
1048 + [367] 0x04104740 "Trapper" unsigned char *
1049 + [368] 0x0410474d "Beggar" unsigned char *
1050 + [369] 0x04104759 "Rustler" unsigned char *
1051 + [370] 0x04104766 "Hunter" unsigned char *
1052 + [371] 0x04104772 "Scribe" unsigned char *
1053 + [372] 0x0410477e "Missionary" unsigned char *
1054 + [373] 0x0410478e "Follower of Baa" unsigned char *
1055 + [374] 0x041047a3 "Gambler" unsigned char *
1056 
1057 + [376] 0x041047c0 "%s was caught stealing!" unsigned char *
1058 + [377] 0x041047dd "%s failed to steal anything!"
1059 unsigned char * + [378] 0x041047ff ""%s %d, %d""
1060 unsigned char *
1061 
1062 + [380] 0x0410481b "You already know the %s spell"
1063 unsigned char * + [381] 0x0410483e "You don't have the skill to
1064 learn %s" unsigned char * + [382] 0x04104868 "That player
1065 is %s" unsigned char * + [383] 0x0410487f "his"
1066 unsigned char * + [384] 0x04104888 "her" unsigned char *
1067 + [385] 0x04104891 "sir" unsigned char *
1068 + [386] 0x0410489a "Sir" unsigned char *
1069 + [387] 0x041048a3 "lady" unsigned char *
1070 + [388] 0x041048ad "Lord" unsigned char *
1071 + [389] 0x041048b7 "Lady" unsigned char *
1072 + [390] 0x041048c1 "brother" unsigned char *
1073 + [391] 0x041048ce "sister" unsigned char *
1074 
1075 + [393] 0x041048ea "daughter" unsigned char *
1076 + [394] 0x041048f8 "Unknown" unsigned char *
1077 + [395] 0x04104905 "morning" unsigned char *
1078 + [396] 0x04104912 "day" unsigned char *
1079 + [397] 0x0410491b "evening" unsigned char *
1080 + [398] 0x04104928 "Have a Drink" unsigned char *
1081 
1082 + [400] 0x04104947 "Buy Spells" unsigned char *
1083 + [401] 0x04104957 "Skill Cost: %lu" unsigned char *
1084 
1085 + [403] 0x0410497a "You already know the %s skill"
1086 unsigned char *
1087 
1088 + [406] 0x041049c9 "Hire" unsigned char *
1089 + [407] 0x041049d3 "More Information" unsigned char *
1090 + [408] 0x041049e9 "Dismiss %s" unsigned char *
1091 + [409] 0x041049f9 "Do you wish to leave %s?" unsigned char *
1092 + [410] 0x04104a17 "Leave %s" unsigned char *
1093 
1094 + [412] 0x04104a33 "Create Party cannot be completed unless you
1095 have assigned all characters 2 extra skills and have spent all of your bonus
1096 points." unsigned char * + [413] 0x04104ab9 "You can't
1097 spend more than 50 points." unsigned char * + [414]
1098 0x04104ae3 "This place is open from %d%s to %d%s" unsigned char * +
1099 [415] 0x04104b0d "January" unsigned char * + [416]
1100 0x04104b1a "February" unsigned char * + [417] 0x04104b28
1101 "March" unsigned char * + [418] 0x04104b33 "April"
1102 unsigned char * + [419] 0x04104b3e "May" unsigned char *
1103 + [420] 0x04104b47 "June" unsigned char *
1104 + [421] 0x04104b51 "July" unsigned char *
1105 + [422] 0x04104b5b "August" unsigned char *
1106 + [423] 0x04104b67 "September" unsigned char *
1107 + [424] 0x04104b76 "October" unsigned char *
1108 + [425] 0x04104b83 "November" unsigned char *
1109 + [426] 0x04104b91 "December" unsigned char *
1110 
1111 + [428] 0x04104bc0 "Spell failed" unsigned char *
1112 
1113 + [430] 0x04104be1 "%s is now Level %lu and has earned %lu Skill
1114 Points!" unsigned char *
1115 
1116 
1117 + [435] 0x04104c4a "Converse with %s" unsigned char *
1118 + [436] 0x04104c60 "Minutes" unsigned char *
1119 + [437] 0x04104c6d "Minute" unsigned char *
1120 + [438] 0x04104c79 "Seconds" unsigned char *
1121 + [439] 0x04104c86 "Second" unsigned char *
1122 + [440] 0x04104c92 "Heroism" unsigned char *
1123 + [441] 0x04104c9f "Haste" unsigned char *
1124 + [442] 0x04104caa "Stoneskin" unsigned char *
1125 + [443] 0x04104cb9 "Bless" unsigned char *
1126 + [444] 0x04104cc4 "Ooops!" unsigned char *
1127 + [445] 0x04104cd0 "Lucky Day" unsigned char *
1128 + [446] 0x04104cdf "Identify Failed" unsigned char *
1129 + [447] 0x04104cf4 "Precision" unsigned char *
1130 + [448] 0x04104d03 "Repair Failed" unsigned char *
1131 + [449] 0x04104d16 "Power" unsigned char *
1132 + [450] 0x04104d21 "Active Spells: %s" unsigned char *
1133 + [451] 0x04104d38 "Active Party Spells" unsigned char *
1134 + [452] 0x04104d51 "Torch Light" unsigned char *
1135 + [453] 0x04104d62 "Wizard Eye" unsigned char *
1136 + [454] 0x04104d72 "Feather Fall" unsigned char *
1137 + [455] 0x04104d84 "Fly" unsigned char *
1138 + [456] 0x04104d8d "Water Walk" unsigned char *
1139 + [457] 0x04104d9d "Guardian" unsigned char *
1140 + [458] 0x04104dab "Prot Fire" unsigned char *
1141 + [459] 0x04104dba "Prot Elec" unsigned char *
1142 + [460] 0x04104dc9 "Prot Cold" unsigned char *
1143 + [461] 0x04104dd8 "Prot Poison" unsigned char *
1144 + [462] 0x04104de9 "Prot Magic" unsigned char *
1145 + [463] 0x04104df9 "Type: %s" unsigned char *
1146 + [464] 0x04104e07 "Charges" unsigned char *
1147 + [465] 0x04104e14 "Value" unsigned char *
1148 + [466] 0x04104e1f "You found %lu gold (followers take %lu)!"
1149 unsigned char * + [467] 0x04104e4d "You found %lu gold!"
1150 unsigned char * + [468] 0x04104e66 "Clicking here will spend %d
1151 Skill Points" unsigned char * + [469] 0x04104e94 "You need %d
1152 more Skill Points to advance here" unsigned char * + [470]
1153 0x04104ec7 "Get %s" unsigned char * + [471] 0x04104ed3 "You
1154 found an item (%s)!" unsigned char * + [472] 0x04104ef0 "am"
1155 unsigned char * + [473] 0x04104ef8 "pm" unsigned char * +
1156 [474] 0x04104f00 "Recall to %s" unsigned char * + [475]
1157 0x04104f12 "Set %s over %s" unsigned char * + [476]
1158 0x04104f26 "Set to %s" unsigned char * + [477] 0x04104f35 "You
1159 are already resting!" unsigned char * + [478] 0x04104f53 "You
1160 can't rest in turn-based mode!" unsigned char * + [479]
1161 0x04104f7b "You can't rest here!" unsigned char * + [480]
1162 0x04104f95 "There are hostile enemies near!" unsigned char * +
1163 [481] 0x04104fba "Encounter!" unsigned char * + [482]
1164 0x04104fca "You don't have enough food to rest" unsigned char * +
1165 [483] 0x04104ff2 "Set %s as the Ready Spell" unsigned char * +
1166 [484] 0x04105011 "Select a spell then click here to set a QuickSpell" unsigned
1167 char * + [485] 0x04105049 "Cast %s" unsigned char * +
1168 [486] 0x04105056 "Select %s" unsigned char * + [487]
1169 0x04105065 "You have already mastered this skill!" unsigned char * +
1170 [488] 0x04105090 "You don't have enough skill points!" unsigned char *
1171 + [489] 0x041050b9 ""You have %d total gold, %d in the Bank""
1172 unsigned char * + [490] 0x041050e7 "You found %d gold and an
1173 item (%s)!" unsigned char * + [491] 0x04105110 "Can't cast
1174 Meteor Shower indoors!" unsigned char * + [492] 0x04105137
1175 "Can't cast Inferno outdoors!" unsigned char * + [493]
1176 0x04105159 "Can't cast Jump while airborne! " unsigned char * +
1177 [494] 0x0410517f "Can not cast Fly indoors!" unsigned char * +
1178 [495] 0x0410519e "Can't cast Starburst indoors!" unsigned char * +
1179 [496] 0x041051c1 "No valid target exists! " unsigned char * +
1180 [497] 0x041051df "Can't cast Prismatic Light outdoors!" unsigned char *
1181 + [498] 0x04105209 "Herbalist" unsigned char *
1182 + [499] 0x04105218 "Can't cast Armageddon indoors!" unsigned
1183 char * + [500] 0x0410523c "You have %lu gold" unsigned char *
1184 + [501] 0x04105253 "You have %lu food" unsigned char *
1185 + [502] 0x0410526a "You find %lu food" unsigned char *
1186 + [503] 0x04105281 "You lose %lu gold" unsigned char *
1187 + [504] 0x04105298 "You lose %lu food" unsigned char *
1188 
1189 + [506] 0x041052bf "Roderick" unsigned char *
1190 + [507] 0x041052cd "Alexis" unsigned char *
1191 + [508] 0x041052d9 "Serena" unsigned char *
1192 + [509] 0x041052e5 "Zoltan" unsigned char *
1193 
1194 + [510] 0x041052f1 "Saintly" unsigned char *
1195 + [511] 0x041052fe "Angelic" unsigned char *
1196 + [512] 0x0410530b "Glorious" unsigned char *
1197 + [513] 0x04105319 "Honorable" unsigned char *
1198 + [514] 0x04105328 "Respectable" unsigned char *
1199 + [515] 0x04105339 "Average" unsigned char *
1200 + [516] 0x04105346 "Bad" unsigned char *
1201 + [517] 0x0410534f "Vile" unsigned char *
1202 + [518] 0x04105359 "Despicable" unsigned char *
1203 + [519] 0x04105369 "Monstrous" unsigned char *
1204 + [520] 0x04105378 "Notorious" unsigned char *
1205 
1206 
1207 
1208 + [524] 0x041053b9 "Once again you've cheated death! …" unsigned
1209 char * + [525] 0x041053e1 "Apothecary" unsigned char *
1210 
1211 + [527] 0x041053fb "Thank You!" unsigned char *
1212 + [528] 0x0410540b "I can offer you nothing further." unsigned
1213 char *
1214 + [529] 0x04105431 ""Sorry, but we are unable to train you.""
1215 unsigned char * + [530] 0x0410545f "Moon" unsigned char *
1216 + [531] 0x04105469 "Location" unsigned char *
1217 + [532] 0x04105477 "Please try back in " unsigned char *
1218 + [533] 0x04105490 ""I cannot join you, you're party is full""
1219 unsigned char * + [534] 0x041054bf "Become %s in %s for %lu
1220 gold" unsigned char * + [535] 0x041054e1 "Learn"
1221 unsigned char * + [536] 0x041054ec ""With your skills, you
1222 should be working here as a teacher."" unsigned char * + [537]
1223 0x0410552e "Train to level %d for %d gold" unsigned char *
1224 
1225 + [539] 0x04105587 "Buy Items" unsigned char *
1226 + [540] 0x04105596 "Sell Items" unsigned char *
1227 
1228 + [542] 0x041055ba "Repair Items" unsigned char *
1229 + [543] 0x041055cc "Special Items" unsigned char *
1230 + [544] 0x041055df "Seek knowledge elsewhere %s the %s" unsigned
1231 char * + [545] 0x04105607 "Castle Ironfist" unsigned char *
1232 + [546] 0x0410561c "New Sorpigal" unsigned char *
1233 + [547] 0x0410562e "Free Haven" unsigned char *
1234 + [548] 0x0410563e "Arena" unsigned char *
1235 + [549] 0x04105649 "Blackshire" unsigned char *
1236 + [550] 0x04105659 "Kriegspire" unsigned char *
1237 + [551] 0x04105669 "White Cap" unsigned char *
1238 + [552] 0x04105678 "Silver Cove" unsigned char *
1239 + [553] 0x04105689 "Darkmoor" unsigned char *
1240 + [554] 0x04105697 "Mist" unsigned char *
1241 + [555] 0x041056a1 "Bootleg Bay West" unsigned char *
1242 + [556] 0x041056b7 "Volcano" unsigned char *
1243 + [557] 0x041056c4 "Hermit's Isle" unsigned char *
1244 + [558] 0x041056d7 "Child" unsigned char *
1245 + [559] 0x041056e2 "Island North" unsigned char *
1246 + [560] 0x041056f4 "Island South" unsigned char *
1247 + [561] 0x04105706 ""Sorry, come back another day"" unsigned
1248 char * + [562] 0x0410572a "do anything" unsigned char *
1249 + [563] 0x0410573b "Pack is Full!" unsigned char *
1250 + [564] 0x0410574e "Hic..." unsigned char *
1251 + [565] 0x0410575a "Have a Drink first..." unsigned char *
1252 
1253 + [568] 0x0410578a "Club" unsigned char *
1254 + [569] 0x04105794 "Done!" unsigned char *
1255 + [570] 0x0410579f "Good as New!" unsigned char *
1256 + [571] 0x041057b1 "Ready Spell: %s" unsigned char *
1257 + [572] 0x041057c6 "Scroll Left" unsigned char *
1258 + [573] 0x041057d7 "Scroll Right" unsigned char *
1259 + [574] 0x041057e9 ""Welcome to the Arena of Life and Death.
1260 Remember, you are only allowed one arena combat per visit. To fight an arena
1261 battle, select the option that best describes your abilities and return to me-
1262 if you survive…"" unsigned char * + [575] 0x041058c6
1263 "Please wait while I summon the monsters. Good luck." unsigned char * +
1264 [576] 0x04105900 "Congratulations on your win… here's your stuff… %u gold."
1265 unsigned char * + [577] 0x0410593e "Get back in there you
1266 wimps…" unsigned char * + [578] 0x04105960 "Page"
1267 unsigned char * + [579] 0x0410596a "Squire" unsigned char *
1268 + [580] 0x04105976 "Knight" unsigned char *
1269 + [581] 0x04105982 "Lord" unsigned char *
1270 + [582] 0x0410598c "You already won this trip to the Arena…"
1271 unsigned char *
1272 
1273 + [584] 0x041059d5 "Click here to remove your Quick Spell"
1274 unsigned char * + [585] 0x04105a00 "Item is not of high enough quality" unsigned char * + [586] 0x04105a28 "Not enough
1275 spell points" unsigned char * + [587] 0x04105a45 "Attack
1276 Bonus" unsigned char * + [588] 0x04105a57 "Attack Damage"
1277 unsigned char * + [589] 0x04105a6a "Shoot Bonus"
1278 unsigned char * + [590] 0x04105a7b "Shoot Damage"
1279 unsigned char * + [591] 0x04105a8d "Charmed" unsigned char *
1280 + [592] 0x04105a9a "Shrunk" unsigned char *
1281 + [593] 0x04105aa6 "Slowed" unsigned char *
1282 + [594] 0x04105ab2 "Feebleminded" unsigned char *
1283 + [595] 0x04105ac4 "Wand" unsigned char *
1284 + [596] 0x04105ace "Chaplain" unsigned char *
1285 + [597] 0x04105adc "Diplomat" unsigned char *
1286 + [598] 0x04105aea "Fallen Wizard" unsigned char *
1287 + [599] 0x04105afd "Prelate" unsigned char *
1288 + [600] 0x04105b0a "Sage" unsigned char *
1289 + [601] 0x04105b14 "Zombie" unsigned char *
1290 + [602] 0x04105b20 "History" unsigned char *
1291 + [603] 0x04105b2d "Pay Fine" unsigned char *
1292 + [604] 0x04105b3b "Bounty Hunt" unsigned char *
1293 + [605] 0x04105b4c "Current Fine" unsigned char *
1294 + [606] 0x04105b5e "Pay" unsigned char *
1295 + [607] 0x04105b67 "Enslaved" unsigned char *
1296 + [608] 0x04105b75 "Berserk" unsigned char *
1297 + [609] 0x04105b82 "Hour of Power" unsigned char *
1298 + [610] 0x04105b95 "Day of Protection" unsigned char *
1299 + [611] 0x04105bac "Play ArcoMage" unsigned char *
1300 + [612] 0x04105bbf "Save game corrupted! Code=%d"
1301 unsigned char *
1302 
1303 + [614] 0x04105bf4 "New Game" unsigned char *
1304 + [615] 0x04105c02 "Save Game" unsigned char *
1305 + [616] 0x04105c11 "Load Game" unsigned char *
1306 + [617] 0x04105c20 ""Sound, Keyboard, Game Options…"" unsigned
1307 char * + [618] 0x04105c46 "Quit" unsigned char * +
1308 [619] 0x04105c50 "Return to Game" unsigned char * + [620]
1309 0x04105c64 "Rules" unsigned char * + [621] 0x04105c6f
1310 "Play" unsigned char * + [622] 0x04105c79 "Victory Conditions"
1311 unsigned char *
1312 
1313 + [624] 0x04105c9c "Physical" unsigned char *
1314 + [625] 0x04105caa "Immune" unsigned char *
1315 + [626] 0x04105cb6 "Resistances" unsigned char *
1316 + [627] 0x04105cc7 "Resistant" unsigned char *
1317 + [628] 0x04105cd6 "Spell" unsigned char *
1318 + [629] 0x04105ce1 "Spells" unsigned char *
1319 + [630] 0x04105ced "?" unsigned char *
1320 + [631] 0x04105cf4 "Effects" unsigned char *
1321 + [632] 0x04105d01 "This skill level can not be learned by the
1322 %s class." unsigned char * + [633] 0x04105d3b "You have to
1323 be promoted to %s to learn this skill level." unsigned char * +
1324 [634] 0x04105d79 "You have to be promoted to %s or %s to learn this skill
1325 level." unsigned char * + [635] 0x04105dbd "%s stuns %s"
1326 unsigned char * + [636] 0x04105dce "%s paralyzes %s" unsigned
1327 char * + [637] 0x04105de3 "%s evades damage" unsigned char *
1328 + [638] 0x04105df9 "There are hostile creatures nearby!"
1329 unsigned char * + [639] 0x04105e22 "A tie!" unsigned char *
1330 + [640] 0x04105e2e "You won!" unsigned char *
1331 + [641] 0x04105e3c "You lost!" unsigned char *
1332 + [642] 0x04105e4b "Error" unsigned char *
1333 + [643] 0x04105e56 "by a Tower Building Victory!"
1334 unsigned char * + [644] 0x04105e78 "by Wall Building due to a
1335 Tower Building Tie!" unsigned char * + [645] 0x04105eab "by a
1336 Tower Destruction Victory!" unsigned char * + [646]
1337 0x04105ed0 "by a Resource Victory!" unsigned char * + [647]
1338 0x04105eec "by a Resource Victory due to a Tower & Wall Building Tie!" unsigned
1339 char *
1340 + [648] 0x04105f2b "This character can't summon any more
1341 monsters!" unsigned char * + [649] 0x04105f5f "Summoned"
1342 unsigned char * + [650] 0x04105f6d "Current Hit Points" unsigned
1343 char * + [651] 0x04105f85 "Hardened" unsigned char * +
1344 [652] 0x04105f93 "You can not do that while you are underwater!"
1345 unsigned char * + [653] 0x04105fc6 "Food" unsigned char *
1346 + [654] 0x04105fd0 "%s's Jar" unsigned char *
1347 + [655] 0x04105fde "%s' Jar" unsigned char *
1348 
1349 + [657] 0x04105ffc "Water Breathing" unsigned char *
1350 + [658] 0x04106011 "Collect Prize" unsigned char *
1351 + [659] 0x04106024 "x: %d y: %d" unsigned char *
1352 + [660] 0x04106036 "You are drowning!" unsigned char *
1353 + [661] 0x0410604d "You are burning!" unsigned char *
1354 + [662] 0x04106063 "Instructors" unsigned char *
1355 + [663] 0x04106074 "It will take %d day to cross to %s."
1356 unsigned char * + [664] 0x0410609d "Click here to accept this
1357 party and continue to the game." unsigned char * + [665]
1358 0x041060dc "Ok Button" unsigned char * + [666] 0x041060eb
1359 "Clears all party stats and skills." unsigned char * + [667]
1360 0x04106113 "Clear Button" unsigned char * + [668]
1361 0x04106125 "Subtract" unsigned char * + [669] 0x04106133
1362 ""Subtracts a point from the highlighted skill, returning it to the bonus pool""
1363 unsigned char * + [670] 0x04106187 "Add" unsigned char *
1364 + [671] 0x04106190 ""Adds a point from the highlighted skill,
1365 taking it from the bonus pool"" unsigned char * + [672]
1366 0x041061de ""For your numerous crimes and evil deeds, you have been sentenced to
1367 one year in prison."" unsigned char * + [673] 0x0410623d "You
1368 have an outstanding fine of %lu gold. Pay your fine now or be sentenced to jail
1369 for 1 year?" unsigned char * + [674] 0x041062a3 "Temp Might"
1370 unsigned char * + [675] 0x041062b3 ""Splendid job! With the
1371 activation of the Gate, a thousand worlds lie at your feet. Perhaps on one of
1372 them you will find the Ancients themselves, and return with the fruits their
1373 great civilization has to offer your world and your kingdom."" unsigned char *
1374 + [676] 0x041063ab ""Brilliant! The completion of the Heavenly
1375 Forge has provided enough Ancient weapons to crush all resistance to your plans.
1376 Soon the world will bow to your every whim! Still, you can't help but wonder
1377 what was beyond the Gate the other side was trying so hard to build."" unsigned
1378 char *
1379 */
pPlayerConditionAttributeDescription
char * pPlayerConditionAttributeDescription
Definition: mm7_data.cpp:655
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
Localization::InitializeSkillNames
void InitializeSkillNames()
Definition: Localization.cpp:244
RemoveQuotes
char * RemoveQuotes(char *str)
Definition: Strings.h:17
Localization::skill_descriptions_grand
const char * skill_descriptions_grand[38]
Definition: Localization.h:134
Tokenize
std::vector< char * > Tokenize(char *input, const char separator)
Definition: Strings.cpp:30
LOD.h
Localization::class_desc_raw
char * class_desc_raw
Definition: Localization.h:115
Localization::InitializeSpellSchoolNames
void InitializeSpellSchoolNames()
Definition: Localization.cpp:405
pMindResistanceAttributeDescription
char * pMindResistanceAttributeDescription
Definition: mm7_data.cpp:668
Localization::InitializeAttributeNames
void InitializeAttributeNames()
Definition: Localization.cpp:418
Localization::spell_names
const char * spell_names[44]
Definition: Localization.h:124
LOD::File::LoadCompressedTexture
void * LoadCompressedTexture(const String &pContainer, size_t *data_size=nullptr)
Definition: LOD.cpp:921
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
Localization * localization
Definition: Localization.cpp:11
Localization::attribute_desc_raw
char * attribute_desc_raw
Definition: Localization.h:116
Localization::mm6_item_categories
const char * mm6_item_categories[14]
Definition: Localization.h:119
pSpellPointsAttributeDescription
char * pSpellPointsAttributeDescription
Definition: mm7_data.cpp:653
input
GLenum GLenum GLenum input
Definition: SDL_opengl_glext.h:9377
index
GLuint index
Definition: SDL_opengl_glext.h:663
Engine.h
Localization::moon_phase_names
const char * moon_phase_names[5]
Definition: Localization.h:122
pFastSpellAttributeDescription
char * pFastSpellAttributeDescription
Definition: mm7_data.cpp:656
Localization::class_names
const char * class_names[36]
Definition: Localization.h:125
pArmourClassAttributeDescription
char * pArmourClassAttributeDescription
Definition: mm7_data.cpp:654
Localization::npc_profession_names
const char * npc_profession_names[59]
Definition: Localization.h:136
format
SDL_AudioFormat format
Definition: SDL_audio.h:194
Localization.h
buf
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: SDL_opengl_glext.h:2483
Localization::attribute_descriptions
const char * attribute_descriptions[7]
Definition: Localization.h:128
Localization::day_names
const char * day_names[7]
Definition: Localization.h:121
pMissleDamageAttributeDescription
char * pMissleDamageAttributeDescription
Definition: mm7_data.cpp:663
pHealthPointsAttributeDescription
char * pHealthPointsAttributeDescription
Definition: mm7_data.cpp:652
sprintfex_internal
int sprintfex_internal(char *str)
Definition: mm7text_ru.cpp:664
pPlayerExperienceAttributeDescription
char * pPlayerExperienceAttributeDescription
Definition: mm7_data.cpp:659
Localization::InitializeMonthNames
void InitializeMonthNames()
Definition: Localization.cpp:378
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
pMissleBonusAttributeDescription
char * pMissleBonusAttributeDescription
Definition: mm7_data.cpp:662
Localization::skill_descriptions_normal
const char * skill_descriptions_normal[38]
Definition: Localization.h:131
pAttackDamageAttributeDescription
char * pAttackDamageAttributeDescription
Definition: mm7_data.cpp:661
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
pBodyResistanceAttributeDescription
char * pBodyResistanceAttributeDescription
Definition: mm7_data.cpp:669
Localization::InitializeMm6ItemCategories
void InitializeMm6ItemCategories()
Definition: Localization.cpp:357
pEvents_LOD
LODFile_IconsBitmaps * pEvents_LOD
Definition: LOD.cpp:10
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
c
const GLubyte * c
Definition: SDL_opengl_glext.h:11096
Localization::InitializeDayNames
void InitializeDayNames()
Definition: Localization.cpp:394
Localization::FormatString
String FormatString(unsigned int index,...) const
Definition: Localization.cpp:17
pSkillPointsAttributeDescription
char * pSkillPointsAttributeDescription
Definition: mm7_data.cpp:670
pPlayerAgeAttributeDescription
char * pPlayerAgeAttributeDescription
Definition: mm7_data.cpp:657
pAttackBonusAttributeDescription
char * pAttackBonusAttributeDescription
Definition: mm7_data.cpp:660
pPlayerLevelAttributeDescription
char * pPlayerLevelAttributeDescription
Definition: mm7_data.cpp:658
pWaterResistanceAttributeDescription
char * pWaterResistanceAttributeDescription
Definition: mm7_data.cpp:666
pFireResistanceAttributeDescription
char * pFireResistanceAttributeDescription
Definition: mm7_data.cpp:664
Localization::skill_desc_raw
char * skill_desc_raw
Definition: Localization.h:117
Localization::localization_strings
const char ** localization_strings
Definition: Localization.h:114
pAirResistanceAttributeDescription
char * pAirResistanceAttributeDescription
Definition: mm7_data.cpp:665
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
pEarthResistanceAttributeDescription
char * pEarthResistanceAttributeDescription
Definition: mm7_data.cpp:667
Localization::skill_descriptions_master
const char * skill_descriptions_master[38]
Definition: Localization.h:133
Localization::InitializeNpcProfessionNames
void InitializeNpcProfessionNames()
Definition: Localization.cpp:151
Localization::InitializeSpellNames
void InitializeSpellNames()
Definition: Localization.cpp:99
Localization::InitializeClassNames
void InitializeClassNames()
Definition: Localization.cpp:300