1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef ULTIMA_ULTIMA1_CORE_RESOURCES_H 24 #define ULTIMA_ULTIMA1_CORE_RESOURCES_H 25 26 #include "ultima/shared/engine/resources.h" 27 28 namespace Ultima { 29 namespace Ultima1 { 30 31 #define LOCATION_COUNT 84 32 33 class GameResources : public Shared::LocalResourceFile { 34 protected: 35 /** 36 * Synchronize resource data 37 */ 38 void synchronize() override; 39 public: 40 const char *TITLE_MESSAGES[13]; 41 const char *MAIN_MENU_TEXT[7]; 42 const char *CHAR_GEN_TEXT[14]; 43 const char *RACE_NAMES[4]; 44 const char *SEX_NAMES[3]; 45 const char *CLASS_NAMES[4]; 46 const char *TRANSPORT_NAMES[10]; 47 const char *STAT_NAMES[10]; 48 const char *STATUS_TEXT[4]; 49 const char *DIRECTION_NAMES[4]; 50 const char *DUNGEON_MOVES[4]; 51 const char *LOCATION_NAMES[LOCATION_COUNT]; 52 byte LOCATION_X[LOCATION_COUNT]; 53 byte LOCATION_Y[LOCATION_COUNT]; 54 int LOCATION_PEOPLE[150][4]; 55 byte DUNGEON_DRAW_DATA[1964]; 56 const char *DUNGEON_ITEM_NAMES[2]; 57 const char *WEAPON_NAMES_UPPERCASE[16]; 58 const char *WEAPON_NAMES_LOWERCASE[16]; 59 const char *WEAPON_NAMES_ARTICLE[16]; 60 byte WEAPON_DISTANCES[16]; 61 const char *ARMOR_NAMES[6]; 62 const char *ARMOR_NAMES_ARTICLE[6]; 63 const char *SPELL_NAMES[11]; 64 const char *SPELL_PHRASES[14]; 65 const char *GEM_NAMES[4]; 66 byte OVERWORLD_MONSTER_DAMAGE[15]; 67 const char *OVERWORLD_MONSTER_NAMES[15]; 68 const char *DUNGEON_MONSTER_NAMES[99]; 69 const char *LAND_NAMES[4]; 70 const char *BLOCKED; 71 const char *ENTERING; 72 const char *THE_CITY_OF; 73 const char *DUNGEON_LEVEL; 74 const char *ATTACKED_BY; 75 const char *ARMOR_DESTROYED; 76 const char *GREMLIN_STOLE; 77 const char *MENTAL_ATTACK; 78 const char *MISSED; 79 const char *KILLED; 80 const char *DESTROYED; 81 const char *THIEF_STOLE; 82 const char *A, *AN; 83 const char *HIT; 84 const char *HIT_CREATURE; 85 const char *ATTACKS; 86 const char *DAMAGE; 87 const char *BARD_SPEECH1; 88 const char *BARD_SPEECH2; 89 const char *JESTER_SPEECH1; 90 const char *JESTER_SPEECH2; 91 const char *FOUND_KEY; 92 const char *BARD_STOLEN; 93 const char *JESTER_STOLEN; 94 const char *YOU_ARE_AT_SEA; 95 const char *YOU_ARE_IN_WOODS; 96 const char *YOU_ARE_IN_LANDS; 97 const char *FIND; 98 const char *A_SECRET_DOOR; 99 const char *GAIN_HIT_POINTS; 100 const char *OPENED; 101 102 const char *ACTION_NAMES[26]; 103 const char *HUH; 104 const char *WHAT; 105 const char *FACE_THE_LADDER; 106 const char *CAUGHT; 107 const char *NONE_WILL_TALK; 108 const char *NOT_BY_COUNTER; 109 const char *BUY_SELL; 110 const char *BUY; 111 const char *SELL; 112 const char *NOTHING; 113 const char *NONE; 114 const char *NOTHING_HERE; 115 const char *NONE_HERE; 116 const char *SOLD; 117 const char *CANT_AFFORD; 118 const char *DONE; 119 const char *DROP_PENCE_WEAPON_armour; 120 const char *DROP_PENCE; 121 const char *DROP_WEAPON; 122 const char *DROP_armour; 123 const char *NOT_THAT_MUCH; 124 const char *OK; 125 const char *SHAZAM; 126 const char *ALAKAZOT; 127 const char *NO_KINGS_PERMISSION; 128 const char *SET_OFF_TRAP; 129 const char *THOU_DOST_FIND; 130 const char *NO_KEY; 131 const char *INCORRECT_KEY; 132 const char *DOOR_IS_OPEN; 133 const char *CANT_LEAVE_IT_HERE; 134 const char *INVENTORY; 135 const char *PLAYER; 136 const char *PLAYER_DESC; 137 const char *PRESS_SPACE_TO_CONTINUE; 138 const char *MORE; 139 const char *READY_WEAPON_armour_SPELL; 140 const char *WEAPON_armour_SPELL[3]; 141 const char *TRANSPORT_WEAPONS[2]; 142 const char *NO_EFFECT; 143 const char *USED_UP_SPELL; 144 const char *DUNGEON_SPELL_ONLY; 145 const char *MONSTER_REMOVED; 146 const char *FAILED; 147 const char *TELEPORTED; 148 const char *FIELD_CREATED; 149 const char *FIELD_DESTROYED; 150 const char *LADDER_CREATED; 151 const char *QUEST_COMPLETED; 152 const char *EXIT_CRAFT_FIRST; 153 const char *NOTHING_TO_BOARD; 154 const char *CANNOT_OPERATE; 155 156 const char *GROCERY_NAMES[8]; 157 const char *GROCERY_SELL; 158 const char *GROCERY_PACKS1; 159 const char *GROCERY_PACKS2; 160 const char *GROCERY_PACKS3; 161 const char *GROCERY_PACKS_FOOD; 162 const char *GROCERY_FIND_PACKS; 163 const char *WEAPONRY_NAMES[8]; 164 const char *NO_WEAPONRY_TO_SELL; 165 const char *ARMOURY_NAMES[8]; 166 const char *NO_ARMOUR_TO_SELL; 167 const char *MAGIC_NAMES[8]; 168 const char *DONT_BUY_SPELLS; 169 const char *TAVERN_NAMES[8]; 170 const char *TAVERN_TEXT[4]; 171 const char *TAVERN_TIPS[13]; 172 const char *TRANSPORTS_NAMES[8]; 173 const char *TRANSPORTS_TEXT[2]; 174 const char *WITH_KING; 175 const char *HE_IS_NOT_HERE; 176 const char *HE_REJECTS_OFFER; 177 const char *KING_TEXT[12]; 178 179 public: 180 GameResources(); 181 GameResources(Shared::Resources *resManager); 182 }; 183 184 } // End of namespace Ultima1 185 } // End of namespace Ultima 186 187 #endif 188