1 /** 2 ** Items.h - Names of items. 3 ** 4 ** Written: 12/3/98 - JSF 5 **/ 6 7 /* 8 Copyright (C) 1998 Jeffrey S. Freedman 9 Copyright (C) 2000? - 2013 The Exult Team 10 11 This program is free software; you can redistribute it and/or 12 modify it under the terms of the GNU General Public License 13 as published by the Free Software Foundation; either version 2 14 of the License, or (at your option) any later version. 15 16 This program is distributed in the hope that it will be useful, 17 but WITHOUT ANY WARRANTY; without even the implied warranty of 18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 GNU General Public License for more details. 20 21 You should have received a copy of the GNU General Public License 22 along with this program; if not, write to the Free Software 23 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 24 */ 25 26 #ifndef INCL_ITEMS 27 #define INCL_ITEMS 1 28 29 #include <iosfwd> 30 31 // The game items' names. 32 int get_num_item_names(); 33 char const *get_item_name(unsigned num); 34 void Set_item_name(unsigned num, char const *name); 35 36 // Msgs. (0x400 - ). 37 int get_num_text_msgs(); 38 char const *get_text_msg(unsigned num); 39 void Set_text_msg(unsigned num, char const *msg); 40 41 // Frames, etc (0x500 - 0x5ff/0x685 (BG/SI)). 42 int get_num_misc_names(); 43 char const *get_misc_name(unsigned num); 44 void Set_misc_name(unsigned num, char const *name); 45 46 void Setup_text(bool si, bool expansion, bool sibeta); 47 void Free_text(); 48 void Write_text_file(); 49 50 /* 51 * Message #'s. These are (offset-0x400) in text.flx and exultmsg.txt: 52 */ 53 // Schedule barks. 54 const int first_move_aside = 0x00, last_move_aside = 0x02; // For guards when blocked. 55 const int first_preach = 0x03, last_preach = 0x07; 56 const int first_preach2 = 0x08, last_preach2 = 0x0b; 57 const int first_amen = 0x0c, last_amen = 0x0f; 58 const int first_thief = 0x10, last_thief = 0x13; 59 const int first_talk = 0x14, last_talk = 0x16; 60 const int first_arrest = 0x17, last_arrest = 0x1a; 61 const int first_waiter_ask = 0x1b, last_waiter_ask = 0x1f; 62 const int first_more_food = 0x20, last_more_food = 0x24; 63 const int first_munch = 0x25, last_munch = 0x28; 64 const int first_farmer = 0x3f, last_farmer = 0x41; 65 const int first_miner = 0x42, last_miner = 0x44; 66 const int first_miner_gold = 0x45, last_miner_gold = 0x47; 67 const int first_farmer2 = 0x60, last_farmer2 = 0x62; 68 const int first_lamp_on = 0x63, last_lamp_on = 0x66; 69 const int lamp_off = 0x67; 70 const int new_candle = 0x68; 71 const int first_close_shutters = 0x71, last_close_shutters = 0x73; 72 const int first_open_shutters = 0x74, last_open_shutters = 0x76; 73 // Combat-related barks. 74 const int first_ouch = 0x29, last_ouch = 0x2c; 75 const int first_need_help = 0x30, last_need_help = 0x33; 76 const int first_will_help = 0x34, last_will_help = 0x36; 77 const int first_to_battle = 0x39, last_to_battle = 0x3b; 78 const int flee_screaming = 0x37; 79 const int first_flee = 0x48, last_flee = 0x52; 80 const int first_taunt = 0x53, last_taunt = 0x59; 81 const int goblin_ouch = 0xcc; 82 const int first_goblin_taunt = 0xcd, last_goblin_taunt = 0xce; 83 // Goblin barks 0xcf, 0xd0 and 0xd1 probably come here, but how??? 84 const int goblin_need_help = 0xd2; 85 const int goblin_will_help = 0xd3; 86 const int goblin_flee_screaming = 0xd4; 87 const int first_goblin_flee = 0xd5, last_goblin_flee = 0xd9; 88 const int goblin_to_battle = 0xda; 89 // Thieving avatar warnings. 90 const int first_theft = 0x6e, last_theft = 0x70; 91 const int goblin_theft = 0xcb; 92 // Invisible thieving avatar warnings. 93 const int first_invis_theft = 0x85, last_invis_theft = 0x87; 94 const int goblin_invis_theft = 0xc8; 95 // Call guards. 96 const int first_call_guards_theft = 0x3c, last_call_guards_theft = 0x3e; 97 const int first_call_police = 0x69, last_call_police = 0x6d; 98 const int first_call_guards = 0x6c, last_call_guards = 0x6d; 99 const int first_goblin_call_police = 0xc6, last_goblin_call_police = 0xc7; 100 const int first_goblin_call_guards = 0xc6, last_goblin_call_guards = 0xc7; 101 const int goblin_call_guards_theft = 0xc9; 102 // Awoke sleeper. 103 const int heard_something = 0x95; 104 const int first_awakened = 0x95, last_awakened = 0x9a; 105 const int goblin_heard_something = 0xca; 106 const int goblin_awakened = 0xca; 107 // Magebane (SI only). 108 const int first_magebane_struck = 0x9b, last_magebane_struck = 0x9d; 109 // Hunger. 110 const int first_hunger = 0x77, last_hunger = 0x79; // A little hungry. 111 const int first_needfood = 0x7a, last_needfood = 0x7c; // Must have food. 112 const int first_starving = 0x7d, last_starving = 0x7f; // Starving. 113 // Cold. 114 const int first_chilly = 0x9e, last_chilly = 0xa0; // 0 - 9 temp 115 const int first_cold = 0xa1, last_cold = 0xa3; // 10 - 19 temp 116 const int first_colder = 0xa4, last_colder = 0xa6; // 20 - 29 temp 117 const int first_frostbite = 0xa7, last_frostbite = 0xa9; // 30 - 39 temp 118 const int first_warming_in_cold_2 = 0xaa, last_warming_in_cold_2 = 0xb0; // < 30 temp 119 const int first_warming_in_cold = 0xb1, last_warming_in_cold = 0xb5; // 30+ temp 120 const int first_frostbite_2 = 0xb6, last_frostbite_2 = 0xb8; // 40 - 49 temp 121 const int first_frostbite_3 = 0xb9, last_frostbite_3 = 0xbb; // 50 - 59 temp 122 const int first_frozen = 0xbc, last_frozen = 0xbd; // 60+ temp 123 const int first_warming_up_2 = 0xbe, last_warming_up_2 = 0xc1; // < 30 temp (warm area) 124 const int first_warming_up = 0xc2, last_warming_up = 0xc5; // 30+ temp (warm area) 125 126 // Messages in exultmsg.txt ( - 0x400): 127 const int first_chair_thief = 0x100, last_chair_thief = 0x104; 128 const int first_waiter_banter = 0x105, last_waiter_banter = 0x107; 129 const int first_waiter_serve = 0x108, last_waiter_serve = 0x109; 130 const int first_bed_occupied = 0x10a, num_bed_occupied = 3; 131 const int first_catchup = 0x10d, last_catchup = 0x10f; 132 //const int with_help_from = 0x110, exult_team = 0x111, driven_by_exult = 0x112; 133 const int end_of_ultima7 = 0x113, end_of_britannia = 0x114; 134 const int you_cannot_do_that = 0x115, damn_avatar = 0x116; 135 const int blackgate_destroyed = 0x117, guardian_has_stopped = 0x118; 136 const int txt_screen0 = 0x119; //to 0x120 137 const int txt_screen1 = 0x121; //to 0x12B 138 const int txt_screen2 = 0x12C; //to 0x134 139 const int txt_screen3 = 0x135; //to 0x13C 140 const int txt_screen4 = 0x13D; //to 0x141 141 const int congrats = 0x142; //to 0x14A 142 const int lord_castle = 0x14B, dick_castle = 0x14C; 143 const int bg_fellow = 0x14D; //to 0x14F 144 const int my_leige = 0x150, yo_homes = 0x151; 145 const int all_we0 = 0x152; //to 0x153 146 const int and_a0 = 0x154; //to 0x155 147 const int indeed = 0x156; //to 0x157 148 const int iree = 0x158; 149 const int stand_back = 0x159; 150 const int jump_back = 0x15A; 151 const int batlin = 0x15B; //to 0x15C 152 const int you_shall = 0x15D; //to 0x15E 153 const int there_i = 0x15F; //to 0x160 154 const int batlin2 = 0x161; //to 0x162 155 const int you_must = 0x163; //to 0x164 156 const int soon_i = 0x165; //to 0x166 157 const int tis_my = 0x167; //to 0x169 158 const int balance = 0x16A; //to 0x16B 159 const int si_earth = 0x16C; //to 0x16D 160 const int dupre = 0x16E; //to 0x16F 161 const int goodbye = 0x170; //to 0x171 162 const int well_well = 0x172; //to 0x173 163 const int balance2 = 0x174; //to 0x176 164 const int poised = 0x177; //to 0x179 165 const int brit_earth = 0x17A; //to 0x17B 166 const int pagan = 0x17C; //to 0x17E 167 168 // Misc. text (frames, etc.) start at 0x500 in text.flx. 169 const int misc_name0 = 0x500; 170 171 #endif 172 173 174 175 176 177