1 #pragma once 2 3 /* Game resources */ 4 5 #include "Types.h" 6 #include "IEncodingCorrector.h" 7 #include "stracciatella.h" 8 9 #include "StringEncodingTypes.h" 10 11 #include <string_theory/string> 12 13 #include <vector> 14 15 /** List of supported game versions (localizations). */ 16 using GameVersion = VanillaVersion; 17 18 enum MultiLanguageGraphic 19 { 20 MLG_AIMSYMBOL, 21 MLG_BOBBYNAME, 22 MLG_BOBBYRAYAD21, 23 MLG_BOBBYRAYLINK, 24 MLG_CLOSED, 25 MLG_CONFIRMORDER, 26 MLG_DESKTOP, 27 MLG_FUNERALAD9, 28 MLG_GOLDPIECEBUTTONS, 29 MLG_HISTORY, 30 MLG_IMPSYMBOL, 31 MLG_INSURANCEAD10, 32 MLG_INSURANCELINK, 33 MLG_INSURANCETITLE, //LargeTitle 34 MLG_LARGEFLORISTSYMBOL, //LargeSymbol 35 MLG_LOADSAVEHEADER, //LoadScreenAddOns 36 MLG_MCGILLICUTTYS, 37 MLG_MORTUARY, 38 MLG_MORTUARYLINK, 39 MLG_OPTIONHEADER, //OptionScreenAddOns 40 MLG_ORDERGRID, 41 MLG_PREBATTLEPANEL, 42 MLG_SMALLFLORISTSYMBOL, //SmallSymbol 43 MLG_SMALLTITLE, 44 MLG_SPLASH, 45 MLG_STATSBOX, 46 MLG_STOREPLAQUE, 47 MLG_TITLETEXT, 48 MLG_TOALUMNI, 49 MLG_TOMUGSHOTS, 50 MLG_TOSTATS, 51 MLG_WARNING, 52 MLG_YOURAD13, 53 MSG__LAST 54 }; 55 56 char const* GetMLGFilename(MultiLanguageGraphic); 57 58 /** Choose game version. */ 59 void setGameVersion(GameVersion ver); 60 61 /** Get list of resource libraries. */ 62 std::vector<ST::string> GetResourceLibraries(const ST::string &dataDir); 63 64 /** 65 * Get encoding corrector for strings in data files. 66 * @return NULL when no encoding corrector is required */ 67 const IEncodingCorrector* getDataFilesEncodingCorrector(); 68 69 /** Check if this is English version of the game. */ 70 bool isEnglishVersion(); 71 72 /** Check if this is German version of the game. */ 73 bool isGermanVersion(); 74 75 /** Check if this is Polish version of the game. */ 76 bool isPolishVersion(); 77 78 /** Check if this is Russian version of the game. */ 79 bool isRussianVersion(); 80 81 /** Check if this is Russian GOLD version of the game. */ 82 bool isRussianGoldVersion(); 83 84 /** Get major map version. */ 85 FLOAT getMajorMapVersion(); 86 87 char32_t getZeroGlyphChar(); 88 89 /************************************************************* 90 * 91 ************************************************************/ 92 93 /** Get current string encoding type. */ 94 STRING_ENC_TYPE getStringEncType(); 95