comparison Items.h @ 222:8113753ed2ae

more item init fixing
author Gloval
date Sun, 17 Feb 2013 11:29:10 +0400
parents 821fd955c379
children 1bd823f52e3a
comparison
equal deleted inserted replaced
193:821fd955c379 222:8113753ed2ae
121 121
122 122
123 /* 175 */ 123 /* 175 */
124 #pragma pack(push, 1) 124 #pragma pack(push, 1)
125 struct ItemDesc 125 struct ItemDesc
126 { 126 { //Item # |Pic File|Name|Value|Equip Stat|Skill Group|Mod1|Mod2|material|
127 unsigned int uItemID; 127 ///ID/Rep/St|Not identified name|Sprite Index|VarA|VarB|Equip X|Equip Y|Notes
128 char *pIconName; 128 char *pIconName; //0 4
129 char *pName; 129 char *pName; //4 8
130 char *pUnidentifiedName; 130 char *pUnidentifiedName; //8 c
131 char *pDescription; 131 char *pDescription; //0c 10
132 unsigned int uValue; 132 unsigned int uValue; //10 14
133 unsigned __int16 uSpriteID; 133 unsigned __int16 uSpriteID; //14 18
134 __int16 field_1A; 134 __int16 field_1A; //16
135 unsigned __int16 uEquipX; 135 unsigned __int16 uEquipX; //18 1c
136 unsigned __int16 uEquipY; 136 unsigned __int16 uEquipY; //1a 1e
137 unsigned __int8 uEquipType; 137 unsigned __int8 uEquipType; //1c 20
138 unsigned __int8 uSkillType; 138 unsigned __int8 uSkillType; //1d 21
139 unsigned __int8 uDamageDice; 139 unsigned __int8 uDamageDice; //1e 22
140 unsigned __int8 uDamageRoll; 140 unsigned __int8 uDamageRoll; //1f 23
141 unsigned __int8 uDamageMod; 141 unsigned __int8 uDamageMod; //20 24
142 unsigned __int8 uMaterial; 142 unsigned __int8 uMaterial; //21 25
143 char _additional_value; 143 char _additional_value; //22 26
144 char _bonus_type; 144 char _bonus_type; //23 27
145 char _bonus_strength; 145 char _bonus_strength; //24 28
146 char field_25; //
147 char field_26;
148 char field_27;
149 char field_28;
146 char field_29; 150 char field_29;
147 char field_2A; 151 char field_2a;
148 char field_2B; 152 char field_2b;
149 char field_2C; 153 char field_2C;
150 char field_2D; 154 unsigned char uItemID_Rep_St; //2d
151 char field_2E; 155 char field_2e;
152 char field_2F; 156 char field_2f;
153 }; 157 };
154 #pragma pack(pop) 158 #pragma pack(pop)
155 159
156 160
157 161
158 /* 177 */ 162 /* 177 */
159 #pragma pack(push, 1) 163 #pragma pack(push, 1)
160 struct ItemEnchantment 164 struct ItemEnchantment
161 { 165 { //Bonus|Sta|Of Name|Arm|Shld|Helm|Belt|Cape|Gaunt|Boot|Ring|Amul
162 char *pName; 166 char *pBonusStat;
163 char *pParam; 167 char *pOfName;
164 char field_8[12]; 168 /* union{
165 }; 169 struct {
170 unsigned char to_arm;
171 unsigned char to_shld;
172 unsigned char to_helm;
173 unsigned char to_belt;
174 unsigned char to_cape;
175 unsigned char to_gaunt;
176 unsigned char to_boot;
177 unsigned char to_ring;
178 unsigned char to_amul;
179 }; */
180 unsigned char to_item[12];
181 // };
182 };
166 #pragma pack(pop) 183 #pragma pack(pop)
167 184
168 /* 178 */ 185 /* 178 */
169 #pragma pack(push, 1) 186 #pragma pack(push, 1)
170 struct ItemSpecialEnchantment 187 struct ItemSpecialEnchantment
171 { 188 { //Bonus Stat|Name Add|W1|W2|Miss|Arm|Shld|Helm|Belt|Cape|Gaunt|Boot|Ring|Amul|Value|Lvl|Description fo special Bonuses and values
172 char *pName; 189
173 char *pParam; 190 char *pBonusStatement;
174 char field_8[12]; 191 char *pNameAdd;
175 int field_14; 192 char to_item_apply[12];
176 int field_18; 193 int iValue;
177 }; 194 int iTreasureLevel;
178 #pragma pack(pop) 195 };
179 196 #pragma pack(pop)
180 197
198 #pragma pack(push, 1)
199 struct BonusRange
200 {
201 unsigned int minR;
202 unsigned int maxR;
203 };
204 #pragma pack(pop)
181 205
182 /* 176 */ 206 /* 176 */
183 #pragma pack(push, 1) 207 #pragma pack(push, 1)
184 struct ItemsTable 208 struct ItemsTable
185 { 209 {
190 void SetSpecialBonus(ItemGen *pItem); 214 void SetSpecialBonus(ItemGen *pItem);
191 bool _456D43_is_material_equals_3(ItemGen *pItem); 215 bool _456D43_is_material_equals_3(ItemGen *pItem);
192 bool _456D5E_is_some_material(ItemGen *pItem); 216 bool _456D5E_is_some_material(ItemGen *pItem);
193 char *Release(); 217 char *Release();
194 218
195 219 int uAllItemsCount;
196 ItemDesc pItems[638]; 220 ItemDesc pItems[800]; //4-9604h
197 char align1[18]; 221 ItemEnchantment pEnchantments[24]; //9604h
198 unsigned __int8 potion_data[50][50]; //int8!!!! not int16 as in decomp code. hexrays wrong!! 222 ItemSpecialEnchantment pSpecialEnchantments[72]; //97E4h
199 unsigned __int8 potion_note[50][50];
200 char align2[2758];
201 ItemEnchantment pEnchantments[24];
202 ItemSpecialEnchantment pSpecialEnchantments[72];
203 char field_9FC0[5000]; 223 char field_9FC0[5000];
204 char field_B348[5000]; 224 char field_B348[5000];
205 char field_C6D0[5000]; 225 char field_C6D0[5000];
206 char field_DA58[5000]; 226 char field_DA58[5000];
207 char field_EDE0[5000]; 227 char field_EDE0[184];
208 char field_10168[5000]; 228 unsigned __int16 potion_data[50][50]; // 77B2h*2=EF64h -102ECh
209 char field_114F0[388]; 229 unsigned __int16 potion_note[50][50]; // 8176h*2=102ECh -11674h
210 char *pItemsTXT_Raw; 230 char *pItemsTXT_Raw; //11674h
211 char *pRndItemsTXT_Raw; 231 char *pRndItemsTXT_Raw;
212 char *pStdItemsTXT_Raw; 232 char *pStdItemsTXT_Raw; //1167Ch
213 char *pSpcItemsTXT_Raw; 233 char *pSpcItemsTXT_Raw; //11680h
214 int field_11684[6]; 234 int field_11684[6];
215 char field_1169C[60]; 235 char field_1169C[60];
216 int field_116D8[24]; 236 int field_116D8[3];
217 int field_11738[24]; 237 unsigned int pEnchantmentsSumm[9]; //116E4h -11708h
218 int field_11798; 238 BonusRange bonus_ranges[6]; //45C2h*4 =11708h
239 int pSpecialEnchantmentsSumm[24]; //11738h
240 int pSpecialEnchantments_count; //11798h
219 char field_1179C; 241 char field_1179C;
220 }; 242 };
221 #pragma pack(pop) 243 #pragma pack(pop)
222 244
223 245