diff options
author | Paul Gilbert | 2018-02-20 18:50:17 -0500 |
---|---|---|
committer | Paul Gilbert | 2018-02-23 15:23:20 -0500 |
commit | 900ef91aca039dc23e4cf300070f7fa5f6f3a335 (patch) | |
tree | 3fb56a267ea2d8d3b36689eb302d44238645879e /engines/xeen/resources.h | |
parent | 1b85d1dbc966b909f9ff9c9cc0eaac4b8ab872ae (diff) | |
download | scummvm-rg350-900ef91aca039dc23e4cf300070f7fa5f6f3a335.tar.gz scummvm-rg350-900ef91aca039dc23e4cf300070f7fa5f6f3a335.tar.bz2 scummvm-rg350-900ef91aca039dc23e4cf300070f7fa5f6f3a335.zip |
XEEN: Creation of create_xeen tool
Diffstat (limited to 'engines/xeen/resources.h')
-rw-r--r-- | engines/xeen/resources.h | 736 |
1 files changed, 406 insertions, 330 deletions
diff --git a/engines/xeen/resources.h b/engines/xeen/resources.h index c9e0c2ff5a..513e70d1c4 100644 --- a/engines/xeen/resources.h +++ b/engines/xeen/resources.h @@ -26,6 +26,7 @@ #include "common/scummsys.h" #include "common/str-array.h" #include "gui/debugger.h" +#include "xeen/files.h" #include "xeen/party.h" #include "xeen/spells.h" @@ -36,344 +37,419 @@ namespace Xeen { class XeenEngine; class Resources { -protected: - Resources(); + /** + * Derived string class to fix automatic type conversion to const char * + */ + class String : public Common::String { + public: + String() : Common::String() {} + String(const Common::String &s) : Common::String(s) {} + operator const char *() { return c_str(); } + }; + + /** + * Derived file class with sync method aliases so that the same + * code from create_xeen can be re-used for both reading and + * writing the resource data + */ + class ResFile : public File { + public: + ResFile() : File("CONSTANTS") {} + + void syncString(String &str) { + str = readString(); + } + void syncStrings(String *str, int count) { + uint tag = readUint32LE(); + assert(tag == MKTAG(count, 0, 0, 0)); + for (int idx = 0; idx < count; ++idx) + str[idx] = readString(); + } + void syncStrings2D(String *str, int count1, int count2) { + uint tag = readUint32LE(); + assert(tag == MKTAG(count1, count2, 0, 0)); + for (int idx = 0; idx < count1 * count2; ++idx) + str[idx] = readString(); + } + void syncNumber(int &val) { + val = readSint32LE(); + } + void syncNumbers(int *vals, int count) { + uint tag = readUint32LE(); + assert(tag == MKTAG(count, 0, 0, 0)); + for (int idx = 0; idx < count; ++idx) + vals[idx] = readSint32LE(); + } + void syncNumbers2D(int *vals, int count1, int count2) { + uint tag = readUint32LE(); + assert(tag == MKTAG(count1, count2, 0, 0)); + for (int idx = 0; idx < count1 * count2; ++idx) + vals[idx] = readSint32LE(); + } + void syncNumbers3D(int *vals, int count1, int count2, int count3) { + uint tag = readUint32LE(); + assert(tag == MKTAG(count1, count2, count3, 0)); + for (int idx = 0; idx < count1 * count2 * count3; ++idx) + vals[idx] = readSint32LE(); + } + void syncNumbers4D(int *vals, int count1, int count2, int count3, int count4) { + uint tag = readUint32LE(); + assert(tag == MKTAG(count1, count2, count3, count4)); + for (int idx = 0; idx < count1 * count2 * count3 * count4; ++idx) + vals[idx] = readSint32LE(); + } + void syncBytes2D(byte *vals, int count1, int count2) { + uint tag = readUint32LE(); + assert(tag == MKTAG(count1, count2, 0, 0)); + read(vals, count1 * count2); + } + }; +private: + /** + * Loads all the constants data stored in the xeen.css + */ + void loadData(); public: SpriteResource _globalSprites; Common::StringArray _maeNames; // Magic and equipment names - static const char *const CREDITS; - static const char *const OPTIONS_TITLE; - static const char *const THE_PARTY_NEEDS_REST; - static const char *const WHO_WILL; - static const char *const HOW_MUCH; - static const char *const WHATS_THE_PASSWORD; - static const char *const IN_NO_CONDITION; - static const char *const NOTHING_HERE; - static const char *const TERRAIN_TYPES[6]; - static const char *const OUTDOORS_WALL_TYPES[16]; - static const char *const SURFACE_NAMES[16]; - static const char *const WHO_ACTIONS[32]; - static const char *const WHO_WILL_ACTIONS[4]; - static const byte SYMBOLS[20][64]; - static const byte TEXT_COLORS[40][4]; - static const char *const DIRECTION_TEXT_UPPER[4]; - static const char *const DIRECTION_TEXT[4]; - static const char *const RACE_NAMES[5]; - static const int RACE_HP_BONUSES[5]; - static const int RACE_SP_BONUSES[5][2]; - static const char *const CLASS_NAMES[11]; - static const uint CLASS_EXP_LEVELS[10]; - static const char *const ALIGNMENT_NAMES[3]; - static const char *const SEX_NAMES[2]; - static const char *const SKILL_NAMES[18]; - static const char *const CONDITION_NAMES[17]; - static const int CONDITION_COLORS[17]; - static const char *const GOOD; - static const char *const BLESSED; - static const char *const POWER_SHIELD; - static const char *const HOLY_BONUS; - static const char *const HEROISM; - static const char *const IN_PARTY; - static const char *const PARTY_DETAILS; - static const char *const PARTY_DIALOG_TEXT; - static const int FACE_CONDITION_FRAMES[17]; - static const int CHAR_FACES_X[6]; - static const int HP_BARS_X[6]; - static const char *const NO_ONE_TO_ADVENTURE_WITH; - static const byte DARKNESS_XLAT[3][256]; - static const char *const YOUR_ROSTER_IS_FULL; - static const char *const PLEASE_WAIT; - static const char *const OOPS; - static const int8 SCREEN_POSITIONING_X[4][48]; - static const int8 SCREEN_POSITIONING_Y[4][48]; - static const int MONSTER_GRID_BITMASK[12]; - static const int INDOOR_OBJECT_X[2][12]; - static const int MAP_OBJECT_Y[2][12]; - static const int INDOOR_MONSTERS_Y[4]; - static const int OUTDOOR_OBJECT_X[2][12]; - static const int OUTDOOR_MONSTER_INDEXES[26]; - static const int OUTDOOR_MONSTERS_Y[26]; - static const int DIRECTION_ANIM_POSITIONS[4][4]; - static const byte WALL_SHIFTS[4][48]; - static const int DRAW_NUMBERS[25]; - static const int DRAW_FRAMES[25][2]; - static const int COMBAT_FLOAT_X[8]; - static const int COMBAT_FLOAT_Y[8]; - static const int MONSTER_EFFECT_FLAGS[15][8]; - static const uint SPELLS_ALLOWED[3][40]; - static const int BASE_HP_BY_CLASS[10]; - static const int AGE_RANGES[10]; - static const int AGE_RANGES_ADJUST[2][10]; - static const uint STAT_VALUES[24]; - static const int STAT_BONUSES[24]; - static const int ELEMENTAL_CATEGORIES[6]; - static const int ATTRIBUTE_CATEGORIES[10]; - static const int ATTRIBUTE_BONUSES[72]; - static const int ELEMENTAL_RESISTENCES[37]; - static const int ELEMENTAL_DAMAGE[37]; - static const int WEAPON_DAMAGE_BASE[35]; - static const int WEAPON_DAMAGE_MULTIPLIER[35]; - static const int METAL_DAMAGE[22]; - static const int METAL_DAMAGE_PERCENT[22]; - static const int METAL_LAC[9]; - static const int ARMOR_STRENGTHS[14]; - static const int MAKE_ITEM_ARR1[6]; - static const int MAKE_ITEM_ARR2[6][7][2]; - static const int MAKE_ITEM_ARR3[10][7][2]; - static const int MAKE_ITEM_ARR4[2][7][2]; - static const int MAKE_ITEM_ARR5[8][2]; - static const int OUTDOOR_DRAWSTRUCT_INDEXES[44]; - static const int TOWN_MAXES[2][11]; - static const char *const TOWN_ACTION_MUSIC[2][7]; - static const char *const TOWN_ACTION_SHAPES[7]; - static const int TOWN_ACTION_FILES[2][7]; - static const char *const BANK_TEXT; - static const char *const BLACKSMITH_TEXT; - static const char *const GUILD_NOT_MEMBER_TEXT; - static const char *const GUILD_TEXT; - static const char *const TAVERN_TEXT; - static const char *const GOOD_STUFF; - static const char *const HAVE_A_DRINK; - static const char *const YOURE_DRUNK; - static const int TAVERN_EXIT_LIST[2][6][5][2]; - static const char *const FOOD_AND_DRINK; - static const char *const TEMPLE_TEXT; - static const char *const EXPERIENCE_FOR_LEVEL; - static const char *const LEARNED_ALL; - static const char *const ELIGIBLE_FOR_LEVEL; - static const char *const TRAINING_TEXT; - static const char *const GOLD_GEMS; - static const char *const GOLD_GEMS_2; - static const char *const DEPOSIT_WITHDRAWL[2]; - static const char *const NOT_ENOUGH_X_IN_THE_Y; - static const char *const NO_X_IN_THE_Y; - static const char *const STAT_NAMES[16]; - static const char *const CONSUMABLE_NAMES[4]; - static const char *const WHERE_NAMES[2]; - static const char *const AMOUNT; - static const char *const FOOD_PACKS_FULL; - static const char *const BUY_SPELLS; - static const char *const GUILD_OPTIONS; - static const int MISC_SPELL_INDEX[74]; - static const int SPELL_COSTS[77]; - static const int CLOUDS_SPELL_OFFSETS[5][20]; - static const uint DARK_SPELL_OFFSETS[3][39]; - static const int DARK_SPELL_RANGES[12][2]; - static const int SPELL_LEVEL_OFFSETS[3][39]; - static const int SPELL_GEM_COST[77]; - static const char *const NOT_A_SPELL_CASTER; - static const char *const SPELLS_FOR; - static const char *const SPELL_LINES_0_TO_9; - static const char *const SPELLS_DIALOG_SPELLS; - static const char *const SPELL_PTS; - static const char *const GOLD; - static const char *const SPELLS_PRESS_A_KEY; - static const char *const SPELLS_PURCHASE; - static const char *const MAP_TEXT; - static const char *const LIGHT_COUNT_TEXT; - static const char *const FIRE_RESISTENCE_TEXT; - static const char *const ELECRICITY_RESISTENCE_TEXT; - static const char *const COLD_RESISTENCE_TEXT; - static const char *const POISON_RESISTENCE_TEXT; - static const char *const CLAIRVOYANCE_TEXT; - static const char *const LEVITATE_TEXT; - static const char *const WALK_ON_WATER_TEXT; - static const char *const GAME_INFORMATION; - static const char *const WORLD_GAME_TEXT; - static const char *const DARKSIDE_GAME_TEXT; - static const char *const CLOUDS_GAME_TEXT; - static const char *const SWORDS_GAME_TEXT; - static const char *const WEEK_DAY_STRINGS[10]; - static const char *const CHARACTER_DETAILS; - static const char *const PARTY_GOLD; - static const char *const PLUS_14; - static const char *const CHARACTER_TEMPLATE; - static const char *const EXCHANGING_IN_COMBAT; - static const char *const CURRENT_MAXIMUM_RATING_TEXT; - static const char *const CURRENT_MAXIMUM_TEXT; - static const char *const RATING_TEXT[24]; - static const char *const AGE_TEXT; - static const char *const LEVEL_TEXT; - static const char *const RESISTENCES_TEXT; - static const char *const NONE; - static const char *const EXPERIENCE_TEXT; - static const char *const ELIGIBLE; - static const char *const IN_PARTY_IN_BANK; - static const char *const FOOD_TEXT; - static const char *const EXCHANGE_WITH_WHOM; - static const char *const QUICK_REF_LINE; - static const char *const QUICK_REFERENCE; - static const uint BLACKSMITH_MAP_IDS[2][4]; - static const char *const ITEMS_DIALOG_TEXT1; - static const char *const ITEMS_DIALOG_TEXT2; - static const char *const ITEMS_DIALOG_LINE1; - static const char *const ITEMS_DIALOG_LINE2; - static const char *const BTN_BUY; - static const char *const BTN_SELL; - static const char *const BTN_IDENTIFY; - static const char *const BTN_FIX; - static const char *const BTN_USE; - static const char *const BTN_EQUIP; - static const char *const BTN_REMOVE; - static const char *const BTN_DISCARD; - static const char *const BTN_QUEST; - static const char *const BTN_ENCHANT; - static const char *const BTN_RECHARGE; - static const char *const BTN_GOLD; - static const char *const ITEM_BROKEN; - static const char *const ITEM_CURSED; - static const char *const BONUS_NAMES[7]; - static const char *const WEAPON_NAMES[35]; - static const char *const ARMOR_NAMES[14]; - static const char *const ACCESSORY_NAMES[11]; - static const char *const MISC_NAMES[22]; - static const char *const *ITEM_NAMES[4]; - static const char *const ELEMENTAL_NAMES[6]; - static const char *const ATTRIBUTE_NAMES[10]; - static const char *const EFFECTIVENESS_NAMES[7]; - static const char *const QUEST_ITEM_NAMES[85]; - static const int WEAPON_BASE_COSTS[35]; - static const int ARMOR_BASE_COSTS[14]; - static const int ACCESSORY_BASE_COSTS[11]; - static const int MISC_MATERIAL_COSTS[22]; - static const int MISC_BASE_COSTS[76]; - static const int METAL_BASE_MULTIPLIERS[22]; - static const int ITEM_SKILL_DIVISORS[4]; - static const int RESTRICTION_OFFSETS[4]; - static const int ITEM_RESTRICTIONS[86]; - static const char *const NOT_PROFICIENT; - static const char *const NO_ITEMS_AVAILABLE; - static const char *const CATEGORY_NAMES[4]; - static const char *const X_FOR_THE_Y; - static const char *const X_FOR_Y; - static const char *const X_FOR_Y_GOLD; - static const char *const FMT_CHARGES; - static const char *const AVAILABLE_GOLD_COST; - static const char *const CHARGES; - static const char *const COST; - static const char *const ITEM_ACTIONS[7]; - static const char *const WHICH_ITEM; - static const char *const WHATS_YOUR_HURRY; + String *ITEM_NAMES[4]; - static const char *const USE_ITEM_IN_COMBAT; - - static const char *const NO_SPECIAL_ABILITIES; - - static const char *const CANT_CAST_WHILE_ENGAGED; - - static const char *const EQUIPPED_ALL_YOU_CAN; - static const char *const REMOVE_X_TO_EQUIP_Y; - static const char *const RING; - static const char *const MEDAL; - static const char *const CANNOT_REMOVE_CURSED_ITEM; - static const char *const CANNOT_DISCARD_CURSED_ITEM; - static const char *const PERMANENTLY_DISCARD; - static const char *const BACKPACK_IS_FULL; - static const char *const CATEGORY_BACKPACK_IS_FULL[4]; - static const char *const BUY_X_FOR_Y_GOLD; - static const char *const SELL_X_FOR_Y_GOLD; - static const char *const NO_NEED_OF_THIS; - static const char *const NOT_RECHARGABLE; - static const char *const SPELL_FAILED; - static const char *const NOT_ENCHANTABLE; - static const char *const ITEM_NOT_BROKEN; - static const char *const FIX_IDENTIFY[2]; - static const char *const FIX_IDENTIFY_GOLD; - static const char *const IDENTIFY_ITEM_MSG; - static const char *const ITEM_DETAILS; - static const char *const ALL; - static const char *const FIELD_NONE; - static const char *const DAMAGE_X_TO_Y; - static const char *const ELEMENTAL_XY_DAMAGE; - static const char *const ATTR_XY_BONUS; - static const char *const EFFECTIVE_AGAINST; - static const char *const QUESTS_DIALOG_TEXT; - static const char *const CLOUDS_OF_XEEN_LINE; - static const char *const DARKSIDE_OF_XEEN_LINE; - static const char *const NO_QUEST_ITEMS; - static const char *const NO_CURRENT_QUESTS; - static const char *const NO_AUTO_NOTES; - static const char *const QUEST_ITEMS_DATA; - static const char *const CURRENT_QUESTS_DATA; - static const char *const AUTO_NOTES_DATA; - static const char *const REST_COMPLETE; - static const char *const PARTY_IS_STARVING; - static const char *const HIT_SPELL_POINTS_RESTORED; - static const char *const TOO_DANGEROUS_TO_REST; - static const char *const SOME_CHARS_MAY_DIE; - static const char *const CANT_DISMISS_LAST_CHAR; - static const char *const REMOVE_DELETE[2]; - static const char *const REMOVE_OR_DELETE_WHICH; - static const char *const YOUR_PARTY_IS_FULL; - static const char *const HAS_SLAYER_SWORD; - static const char *const SURE_TO_DELETE_CHAR; - static const char *const CREATE_CHAR_DETAILS; - static const char *const NEW_CHAR_STATS; - static const char *const NAME_FOR_NEW_CHARACTER; - static const char *const SELECT_CLASS_BEFORE_SAVING; - static const char *const EXCHANGE_ATTR_WITH; - static const int NEW_CHAR_SKILLS[10]; - static const int NEW_CHAR_SKILLS_LEN[10]; - static const int NEW_CHAR_RACE_SKILLS[10]; - static const int RACE_MAGIC_RESISTENCES[5]; - static const int RACE_FIRE_RESISTENCES[5]; - static const int RACE_ELECTRIC_RESISTENCES[5]; - static const int RACE_COLD_RESISTENCES[5]; - static const int RACE_ENERGY_RESISTENCES[5]; - static const int RACE_POISON_RESISTENCES[5]; - static const int NEW_CHARACTER_SPELLS[10][4]; - static const char *const COMBAT_DETAILS; - static const char *NOT_ENOUGH_TO_CAST; - static const char *SPELL_CAST_COMPONENTS[2]; - static const char *const CAST_SPELL_DETAILS; - static const char *const PARTY_FOUND; - static const char *const BACKPACKS_FULL_PRESS_KEY; - static const char *const HIT_A_KEY; - static const char *const GIVE_TREASURE_FORMATTING; - static const char *const X_FOUND_Y; - static const char *const ON_WHO; - static const char *const WHICH_ELEMENT1; - static const char *const WHICH_ELEMENT2; - static const char *const DETECT_MONSTERS; - static const char *const LLOYDS_BEACON; - static const char *const HOW_MANY_SQUARES; - static const char *const TOWN_PORTAL; - static const int TOWN_MAP_NUMBERS[2][5]; - static const char *const MONSTER_DETAILS; - static const char *const MONSTER_SPECIAL_ATTACKS[23]; - static const char *const IDENTIFY_MONSTERS; - static const char *const EVENT_SAMPLES[6]; - static const char *const MOONS_NOT_ALIGNED; - static const char *const AWARDS_FOR; - static const char *const AWARDS_TEXT; - static const char *const NO_AWARDS; - static const char *const WARZONE_BATTLE_MASTER; - static const char *const WARZONE_MAXED; - static const char *const WARZONE_LEVEL; - static const char *const WARZONE_HOW_MANY; - static const char *const PICKS_THE_LOCK; - static const char *const UNABLE_TO_PICK_LOCK; - static const char *const CONTROL_PANEL_TEXT; - static const char *const CONTROL_PANEL_BUTTONS; - static const char *const ON; - static const char *const OFF; - static const char *const CONFIRM_QUIT; - static const char *const MR_WIZARD; - static const char *const NO_LOADING_IN_COMBAT; - static const char *const NO_SAVING_IN_COMBAT; - static const char *const QUICK_FIGHT_TEXT; - static const char *const QUICK_FIGHT_OPTIONS[4]; - static const char *const WORLD_END_TEXT[9]; - static const char *const WORLD_CONGRATULATIONS; - static const char *const WORLD_CONGRATULATIONS2; - static const char *const CLOUDS_CONGRATULATIONS1; - static const char *const CLOUDS_CONGRATULATIONS2; - static const char *const GOOBER[3]; + // Data loaded from xeen.ccs + String CREDITS; + String OPTIONS_TITLE; + String THE_PARTY_NEEDS_REST; + String WHO_WILL; + String HOW_MUCH; + String WHATS_THE_PASSWORD; + String IN_NO_CONDITION; + String NOTHING_HERE; + String TERRAIN_TYPES[6]; + String OUTDOORS_WALL_TYPES[16]; + String SURFACE_NAMES[16]; + String WHO_ACTIONS[32]; + String WHO_WILL_ACTIONS[4]; + byte SYMBOLS[20][64]; + byte TEXT_COLORS[40][4]; + String DIRECTION_TEXT_UPPER[4]; + String DIRECTION_TEXT[4]; + String RACE_NAMES[5]; + int RACE_HP_BONUSES[5]; + int RACE_SP_BONUSES[5][2]; + String CLASS_NAMES[11]; + int CLASS_EXP_LEVELS[10]; + String ALIGNMENT_NAMES[3]; + String SEX_NAMES[2]; + String SKILL_NAMES[18]; + String CONDITION_NAMES[17]; + int CONDITION_COLORS[17]; + String GOOD; + String BLESSED; + String POWER_SHIELD; + String HOLY_BONUS; + String HEROISM; + String IN_PARTY; + String PARTY_DETAILS; + String PARTY_DIALOG_TEXT; + int FACE_CONDITION_FRAMES[17]; + int CHAR_FACES_X[6]; + int HP_BARS_X[6]; + String NO_ONE_TO_ADVENTURE_WITH; + byte DARKNESS_XLAT[3][256]; + String YOUR_ROSTER_IS_FULL; + String PLEASE_WAIT; + String OOPS; + int SCREEN_POSITIONING_X[4][48]; + int SCREEN_POSITIONING_Y[4][48]; + int MONSTER_GRID_BITMASK[12]; + int INDOOR_OBJECT_X[2][12]; + int MAP_OBJECT_Y[2][12]; + int INDOOR_MONSTERS_Y[4]; + int OUTDOOR_OBJECT_X[2][12]; + int OUTDOOR_MONSTER_INDEXES[26]; + int OUTDOOR_MONSTERS_Y[26]; + int DIRECTION_ANIM_POSITIONS[4][4]; + byte WALL_SHIFTS[4][48]; + int DRAW_NUMBERS[25]; + int DRAW_FRAMES[25][2]; + int COMBAT_FLOAT_X[8]; + int COMBAT_FLOAT_Y[8]; + int MONSTER_EFFECT_FLAGS[15][8]; + int SPELLS_ALLOWED[3][40]; + int BASE_HP_BY_CLASS[10]; + int AGE_RANGES[10]; + int AGE_RANGES_ADJUST[2][10]; + int STAT_VALUES[24]; + int STAT_BONUSES[24]; + int ELEMENTAL_CATEGORIES[6]; + int ATTRIBUTE_CATEGORIES[10]; + int ATTRIBUTE_BONUSES[72]; + int ELEMENTAL_RESISTENCES[37]; + int ELEMENTAL_DAMAGE[37]; + int WEAPON_DAMAGE_BASE[35]; + int WEAPON_DAMAGE_MULTIPLIER[35]; + int METAL_DAMAGE[22]; + int METAL_DAMAGE_PERCENT[22]; + int METAL_LAC[9]; + int ARMOR_STRENGTHS[14]; + int MAKE_ITEM_ARR1[6]; + int MAKE_ITEM_ARR2[6][7][2]; + int MAKE_ITEM_ARR3[10][7][2]; + int MAKE_ITEM_ARR4[2][7][2]; + int MAKE_ITEM_ARR5[8][2]; + int OUTDOOR_DRAWSTRUCT_INDEXES[44]; + int TOWN_MAXES[2][11]; + String TOWN_ACTION_MUSIC[2][7]; + String TOWN_ACTION_SHAPES[7]; + int TOWN_ACTION_FILES[2][7]; + String BANK_TEXT; + String BLACKSMITH_TEXT; + String GUILD_NOT_MEMBER_TEXT; + String GUILD_TEXT; + String TAVERN_TEXT; + String GOOD_STUFF; + String HAVE_A_DRINK; + String YOURE_DRUNK; + int TAVERN_EXIT_LIST[2][6][5][2]; + String FOOD_AND_DRINK; + String TEMPLE_TEXT; + String EXPERIENCE_FOR_LEVEL; + String LEARNED_ALL; + String ELIGIBLE_FOR_LEVEL; + String TRAINING_TEXT; + String GOLD_GEMS; + String GOLD_GEMS_2; + String DEPOSIT_WITHDRAWL[2]; + String NOT_ENOUGH_X_IN_THE_Y; + String NO_X_IN_THE_Y; + String STAT_NAMES[16]; + String CONSUMABLE_NAMES[4]; + String WHERE_NAMES[2]; + String AMOUNT; + String FOOD_PACKS_FULL; + String BUY_SPELLS; + String GUILD_OPTIONS; + int MISC_SPELL_INDEX[74]; + int SPELL_COSTS[77]; + int CLOUDS_SPELL_OFFSETS[5][20]; + int DARK_SPELL_OFFSETS[3][39]; + int DARK_SPELL_RANGES[12][2]; + int SPELL_LEVEL_OFFSETS[3][39]; + int SPELL_GEM_COST[77]; + String NOT_A_SPELL_CASTER; + String SPELLS_FOR; + String SPELL_LINES_0_TO_9; + String SPELLS_DIALOG_SPELLS; + String SPELL_PTS; + String GOLD; + String SPELLS_PRESS_A_KEY; + String SPELLS_PURCHASE; + String MAP_TEXT; + String LIGHT_COUNT_TEXT; + String FIRE_RESISTENCE_TEXT; + String ELECRICITY_RESISTENCE_TEXT; + String COLD_RESISTENCE_TEXT; + String POISON_RESISTENCE_TEXT; + String CLAIRVOYANCE_TEXT; + String LEVITATE_TEXT; + String WALK_ON_WATER_TEXT; + String GAME_INFORMATION; + String WORLD_GAME_TEXT; + String DARKSIDE_GAME_TEXT; + String CLOUDS_GAME_TEXT; + String SWORDS_GAME_TEXT; + String WEEK_DAY_STRINGS[10]; + String CHARACTER_DETAILS; + String PARTY_GOLD; + String PLUS_14; + String CHARACTER_TEMPLATE; + String EXCHANGING_IN_COMBAT; + String CURRENT_MAXIMUM_RATING_TEXT; + String CURRENT_MAXIMUM_TEXT; + String RATING_TEXT[24]; + String AGE_TEXT; + String LEVEL_TEXT; + String RESISTENCES_TEXT; + String NONE; + String EXPERIENCE_TEXT; + String ELIGIBLE; + String IN_PARTY_IN_BANK; + String FOOD_TEXT; + String EXCHANGE_WITH_WHOM; + String QUICK_REF_LINE; + String QUICK_REFERENCE; + int BLACKSMITH_MAP_IDS[2][4]; + String ITEMS_DIALOG_TEXT1; + String ITEMS_DIALOG_TEXT2; + String ITEMS_DIALOG_LINE1; + String ITEMS_DIALOG_LINE2; + String BTN_BUY; + String BTN_SELL; + String BTN_IDENTIFY; + String BTN_FIX; + String BTN_USE; + String BTN_EQUIP; + String BTN_REMOVE; + String BTN_DISCARD; + String BTN_QUEST; + String BTN_ENCHANT; + String BTN_RECHARGE; + String BTN_GOLD; + String ITEM_BROKEN; + String ITEM_CURSED; + String BONUS_NAMES[7]; + String WEAPON_NAMES[35]; + String ARMOR_NAMES[14]; + String ACCESSORY_NAMES[11]; + String MISC_NAMES[22]; + String ELEMENTAL_NAMES[6]; + String ATTRIBUTE_NAMES[10]; + String EFFECTIVENESS_NAMES[7]; + String QUEST_ITEM_NAMES[85]; + int WEAPON_BASE_COSTS[35]; + int ARMOR_BASE_COSTS[14]; + int ACCESSORY_BASE_COSTS[11]; + int MISC_MATERIAL_COSTS[22]; + int MISC_BASE_COSTS[76]; + int METAL_BASE_MULTIPLIERS[22]; + int ITEM_SKILL_DIVISORS[4]; + int RESTRICTION_OFFSETS[4]; + int ITEM_RESTRICTIONS[86]; + String NOT_PROFICIENT; + String NO_ITEMS_AVAILABLE; + String CATEGORY_NAMES[4]; + String X_FOR_THE_Y; + String X_FOR_Y; + String X_FOR_Y_GOLD; + String FMT_CHARGES; + String AVAILABLE_GOLD_COST; + String CHARGES; + String COST; + String ITEM_ACTIONS[7]; + String WHICH_ITEM; + String WHATS_YOUR_HURRY; + String USE_ITEM_IN_COMBAT; + String NO_SPECIAL_ABILITIES; + String CANT_CAST_WHILE_ENGAGED; + String EQUIPPED_ALL_YOU_CAN; + String REMOVE_X_TO_EQUIP_Y; + String RING; + String MEDAL; + String CANNOT_REMOVE_CURSED_ITEM; + String CANNOT_DISCARD_CURSED_ITEM; + String PERMANENTLY_DISCARD; + String BACKPACK_IS_FULL; + String CATEGORY_BACKPACK_IS_FULL[4]; + String BUY_X_FOR_Y_GOLD; + String SELL_X_FOR_Y_GOLD; + String NO_NEED_OF_THIS; + String NOT_RECHARGABLE; + String SPELL_FAILED; + String NOT_ENCHANTABLE; + String ITEM_NOT_BROKEN; + String FIX_IDENTIFY[2]; + String FIX_IDENTIFY_GOLD; + String IDENTIFY_ITEM_MSG; + String ITEM_DETAILS; + String ALL; + String FIELD_NONE; + String DAMAGE_X_TO_Y; + String ELEMENTAL_XY_DAMAGE; + String ATTR_XY_BONUS; + String EFFECTIVE_AGAINST; + String QUESTS_DIALOG_TEXT; + String CLOUDS_OF_XEEN_LINE; + String DARKSIDE_OF_XEEN_LINE; + String NO_QUEST_ITEMS; + String NO_CURRENT_QUESTS; + String NO_AUTO_NOTES; + String QUEST_ITEMS_DATA; + String CURRENT_QUESTS_DATA; + String AUTO_NOTES_DATA; + String REST_COMPLETE; + String PARTY_IS_STARVING; + String HIT_SPELL_POINTS_RESTORED; + String TOO_DANGEROUS_TO_REST; + String SOME_CHARS_MAY_DIE; + String CANT_DISMISS_LAST_CHAR; + String REMOVE_DELETE[2]; + String REMOVE_OR_DELETE_WHICH; + String YOUR_PARTY_IS_FULL; + String HAS_SLAYER_SWORD; + String SURE_TO_DELETE_CHAR; + String CREATE_CHAR_DETAILS; + String NEW_CHAR_STATS; + String NAME_FOR_NEW_CHARACTER; + String SELECT_CLASS_BEFORE_SAVING; + String EXCHANGE_ATTR_WITH; + int NEW_CHAR_SKILLS[10]; + int NEW_CHAR_SKILLS_LEN[10]; + int NEW_CHAR_RACE_SKILLS[10]; + int RACE_MAGIC_RESISTENCES[5]; + int RACE_FIRE_RESISTENCES[5]; + int RACE_ELECTRIC_RESISTENCES[5]; + int RACE_COLD_RESISTENCES[5]; + int RACE_ENERGY_RESISTENCES[5]; + int RACE_POISON_RESISTENCES[5]; + int NEW_CHARACTER_SPELLS[10][4]; + String COMBAT_DETAILS; + String NOT_ENOUGH_TO_CAST; + String SPELL_CAST_COMPONENTS[2]; + String CAST_SPELL_DETAILS; + String PARTY_FOUND; + String BACKPACKS_FULL_PRESS_KEY; + String HIT_A_KEY; + String GIVE_TREASURE_FORMATTING; + String X_FOUND_Y; + String ON_WHO; + String WHICH_ELEMENT1; + String WHICH_ELEMENT2; + String DETECT_MONSTERS; + String LLOYDS_BEACON; + String HOW_MANY_SQUARES; + String TOWN_PORTAL; + int TOWN_MAP_NUMBERS[2][5]; + String MONSTER_DETAILS; + String MONSTER_SPECIAL_ATTACKS[23]; + String IDENTIFY_MONSTERS; + String EVENT_SAMPLES[6]; + String MOONS_NOT_ALIGNED; + String AWARDS_FOR; + String AWARDS_TEXT; + String NO_AWARDS; + String WARZONE_BATTLE_MASTER; + String WARZONE_MAXED; + String WARZONE_LEVEL; + String WARZONE_HOW_MANY; + String PICKS_THE_LOCK; + String UNABLE_TO_PICK_LOCK; + String CONTROL_PANEL_TEXT; + String CONTROL_PANEL_BUTTONS; + String ON; + String OFF; + String CONFIRM_QUIT; + String MR_WIZARD; + String NO_LOADING_IN_COMBAT; + String NO_SAVING_IN_COMBAT; + String QUICK_FIGHT_TEXT; + String QUICK_FIGHT_OPTIONS[4]; + String WORLD_END_TEXT[9]; + String WORLD_CONGRATULATIONS; + String WORLD_CONGRATULATIONS2; + String CLOUDS_CONGRATULATIONS1; + String CLOUDS_CONGRATULATIONS2; + String GOOBER[3]; + String MUSIC_FILES1[5]; + String MUSIC_FILES2[6][7]; public: /** + * Constructor + */ + Resources(); + + /** * Initializes an instnace of the resources */ - static Resources *init(XeenEngine *vm); + Resources *init(XeenEngine *vm); }; extern Resources *g_resources; |