Mercurial > mm7
annotate UI/UICharacter.cpp @ 2149:d4f00d622889
SortByScreenSpaceX and SortByScreenSpaceY for Vis fix
author | Ritor1 |
---|---|
date | Wed, 08 Jan 2014 15:01:58 +0600 |
parents | 68fbaf45ef66 |
children | d28d3c006077 |
rev | line source |
---|---|
1298 | 1 #ifdef _MSC_VER |
2 #define _CRT_SECURE_NO_WARNINGS | |
3 #endif | |
4 | |
5 #include <algorithm> | |
1299 | 6 #include "..\MM7.h" |
7 #include "..\MapInfo.h" | |
8 #include "..\Game.h" | |
9 #include "..\GUIWindow.h" | |
10 #include "..\GUIFont.h" | |
11 #include "..\GUIProgressBar.h" | |
12 #include "..\Party.h" | |
13 #include "..\AudioPlayer.h" | |
14 #include "..\Render.h" | |
15 #include "..\LOD.h" | |
16 #include "..\Viewport.h" | |
2044 | 17 #include "..\Timer.h" |
1299 | 18 #include "..\Awards.h" |
19 #include "..\CastSpellInfo.h" | |
20 #include "..\texts.h" | |
1583 | 21 #include "..\Mouse.h" |
22 | |
1299 | 23 #include "..\mm7_data.h" |
1298 | 24 |
25 int bRingsShownInCharScreen; // 5118E0 | |
26 | |
27 unsigned int ui_mainmenu_copyright_color; | |
28 | |
1393 | 29 unsigned int ui_character_tooltip_header_default_color; |
1298 | 30 unsigned int ui_character_default_text_color; |
31 unsigned int ui_character_skill_highlight_color; | |
32 unsigned int ui_character_header_text_color; | |
33 unsigned int ui_character_bonus_text_color; | |
34 unsigned int ui_character_bonus_text_color_neg; | |
35 unsigned int ui_character_skill_upgradeable_color; | |
36 unsigned int ui_character_skill_default_color; | |
1393 | 37 unsigned int ui_character_stat_default_color; |
38 unsigned int ui_character_stat_buffed_color; | |
39 unsigned int ui_character_stat_debuffed_color; | |
40 unsigned int ui_character_skillinfo_can_learn; | |
41 unsigned int ui_character_skillinfo_can_learn_gm; | |
42 unsigned int ui_character_skillinfo_cant_learn; | |
1458 | 43 unsigned int ui_character_condition_normal_color; |
44 unsigned int ui_character_condition_light_color; | |
45 unsigned int ui_character_condition_moderate_color; | |
46 unsigned int ui_character_condition_severe_color; | |
1298 | 47 std::array<unsigned int, 6> ui_character_award_color; |
48 | |
49 unsigned int ui_game_minimap_outline_color; | |
50 unsigned int ui_game_minimap_actor_friendly_color; | |
51 unsigned int ui_game_minimap_actor_hostile_color; | |
52 unsigned int ui_game_minimap_actor_corpse_color; | |
53 unsigned int ui_game_minimap_decoration_color_1; | |
54 unsigned int ui_game_minimap_projectile_color; | |
55 unsigned int ui_game_minimap_treasure_color; | |
56 std::array<unsigned int, 24> ui_game_character_record_playerbuff_colors; | |
57 | |
58 unsigned int ui_gamemenu_video_gamma_title_color; | |
59 unsigned int ui_gamemenu_keys_action_name_color; | |
60 unsigned int ui_gamemenu_keys_key_selection_blink_color_1; | |
61 unsigned int ui_gamemenu_keys_key_selection_blink_color_2; | |
62 unsigned int ui_gamemenu_keys_key_default_color; | |
63 | |
64 unsigned int ui_book_quests_title_color; | |
65 unsigned int ui_book_quests_text_color; | |
66 unsigned int ui_book_autonotes_title_color; | |
67 unsigned int ui_book_autonotes_text_color; | |
68 unsigned int ui_book_map_title_color; | |
69 unsigned int ui_book_map_coordinates_color; | |
70 | |
71 unsigned int ui_book_calendar_title_color; | |
72 unsigned int ui_book_calendar_time_color; | |
73 unsigned int ui_book_calendar_day_color; | |
74 unsigned int ui_book_calendar_month_color; | |
75 unsigned int ui_book_calendar_year_color; | |
76 unsigned int ui_book_calendar_moon_color; | |
77 unsigned int ui_book_calendar_location_color; | |
78 | |
79 unsigned int ui_book_journal_title_color; | |
80 unsigned int ui_book_journal_text_color; | |
81 unsigned int ui_book_journal_text_shadow; | |
82 | |
1393 | 83 unsigned int ui_game_dialogue_npc_name_color; |
84 unsigned int ui_game_dialogue_option_highlight_color; | |
85 unsigned int ui_game_dialogue_option_normal_color; | |
86 | |
87 unsigned int ui_house_player_cant_interact_color; | |
88 | |
89 | |
90 void set_default_ui_skin() | |
91 { | |
2069 | 92 ui_mainmenu_copyright_color = Color16(255, 255, 255); |
1393 | 93 |
2069 | 94 ui_character_tooltip_header_default_color = Color16(255, 255, 155); |
95 ui_character_default_text_color = Color16(255, 255, 255); | |
96 ui_character_header_text_color = Color16(255, 255, 155); | |
97 ui_character_bonus_text_color = Color16(0, 255, 0); | |
98 ui_character_bonus_text_color_neg = Color16(255, 0, 0); | |
1393 | 99 |
2069 | 100 ui_character_skill_upgradeable_color = Color16(0, 175, 255); |
101 ui_character_skill_default_color = Color16(255, 0, 0); | |
102 ui_character_skill_highlight_color = Color16(255, 0, 0); | |
1393 | 103 |
2069 | 104 ui_character_stat_default_color = Color16(255, 255, 255); |
105 ui_character_stat_buffed_color = Color16(0, 255, 0); | |
106 ui_character_stat_debuffed_color = Color16(255, 35, 0); | |
1393 | 107 |
2069 | 108 ui_character_skillinfo_can_learn = Color16(255, 255, 255); |
109 ui_character_skillinfo_can_learn_gm = Color16(255, 255, 0); | |
110 ui_character_skillinfo_cant_learn = Color16(255, 0, 0); | |
1458 | 111 |
2069 | 112 ui_character_condition_normal_color = Color16(255, 255, 255); |
113 ui_character_condition_light_color = Color16(0, 255, 0); | |
114 ui_character_condition_moderate_color = Color16(225, 205, 35); | |
115 ui_character_condition_severe_color = Color16(255, 35, 0); | |
1393 | 116 |
2069 | 117 ui_character_award_color[0] = Color16(248, 108, 160); |
118 ui_character_award_color[1] = Color16(112, 220, 248); | |
119 ui_character_award_color[2] = Color16(192, 192, 240); | |
120 ui_character_award_color[3] = Color16( 64, 244, 96); | |
121 ui_character_award_color[4] = Color16(232, 244, 96); | |
122 ui_character_award_color[5] = Color16(240, 252, 192); | |
1393 | 123 |
2069 | 124 ui_game_minimap_outline_color = Color16(0, 0, 255); |
125 ui_game_minimap_actor_friendly_color = Color16(0, 255, 0); | |
126 ui_game_minimap_actor_hostile_color = Color16(255, 0, 0); | |
127 ui_game_minimap_actor_corpse_color = Color16(255, 255, 0); | |
128 ui_game_minimap_decoration_color_1 = Color16(255, 255, 255); | |
129 ui_game_minimap_projectile_color = Color16(255, 0, 0); | |
130 ui_game_minimap_treasure_color = Color16(0, 0, 255); | |
1393 | 131 |
2069 | 132 ui_game_character_record_playerbuff_colors[0] = Color16(150, 212, 255); |
133 ui_game_character_record_playerbuff_colors[1] = Color16(225, 225, 225); | |
134 ui_game_character_record_playerbuff_colors[2] = Color16(255, 128, 0); | |
135 ui_game_character_record_playerbuff_colors[3] = Color16(128, 128, 128); | |
136 ui_game_character_record_playerbuff_colors[4] = Color16(225, 225, 225); | |
137 ui_game_character_record_playerbuff_colors[5] = Color16(255, 85, 0); | |
138 ui_game_character_record_playerbuff_colors[6] = Color16(255, 128, 0); | |
139 ui_game_character_record_playerbuff_colors[7] = Color16(255, 85, 0); | |
140 ui_game_character_record_playerbuff_colors[8] = Color16(225, 225, 225); | |
141 ui_game_character_record_playerbuff_colors[9] = Color16(235, 15, 255); | |
142 ui_game_character_record_playerbuff_colors[10] = Color16(192, 192, 240); | |
143 ui_game_character_record_playerbuff_colors[11] = Color16(225, 225, 225); | |
144 ui_game_character_record_playerbuff_colors[12] = Color16(255, 128, 0); | |
145 ui_game_character_record_playerbuff_colors[13] = Color16(150, 212, 255); | |
146 ui_game_character_record_playerbuff_colors[14] = Color16(128, 128, 128); | |
147 ui_game_character_record_playerbuff_colors[15] = Color16(255, 255, 155); | |
148 ui_game_character_record_playerbuff_colors[16] = Color16(255, 255, 155); | |
149 ui_game_character_record_playerbuff_colors[17] = Color16(255, 255, 155); | |
150 ui_game_character_record_playerbuff_colors[18] = Color16(255, 255, 155); | |
151 ui_game_character_record_playerbuff_colors[19] = Color16(255, 255, 155); | |
152 ui_game_character_record_playerbuff_colors[20] = Color16(255, 255, 155); | |
153 ui_game_character_record_playerbuff_colors[21] = Color16(255, 255, 155); | |
154 ui_game_character_record_playerbuff_colors[22] = Color16(0, 128, 255); | |
155 ui_game_character_record_playerbuff_colors[23] = Color16(0, 128, 255); | |
1393 | 156 |
2069 | 157 ui_gamemenu_video_gamma_title_color = Color16(255, 255, 155); |
158 ui_gamemenu_keys_action_name_color = Color16(255, 255, 255); | |
159 ui_gamemenu_keys_key_selection_blink_color_1 = Color16(50, 0, 0); | |
160 ui_gamemenu_keys_key_selection_blink_color_2 = Color16(225, 205, 35); | |
161 ui_gamemenu_keys_key_default_color = Color16(255, 255, 255); | |
1393 | 162 |
2069 | 163 ui_book_quests_title_color = Color16(255, 255, 255); |
164 ui_book_quests_text_color = Color16(255, 255, 255); | |
165 ui_book_autonotes_title_color = Color16(255, 255, 255); | |
166 ui_book_autonotes_text_color = Color16(255, 255, 255); | |
167 ui_book_map_title_color = Color16(255, 255, 255); | |
168 ui_book_map_coordinates_color = Color16(255, 255, 255); | |
1393 | 169 |
2069 | 170 ui_book_calendar_title_color = Color16(255, 255, 255); |
171 ui_book_calendar_time_color = Color16(75, 75, 75); | |
172 ui_book_calendar_day_color = Color16(75, 75, 75); | |
173 ui_book_calendar_month_color = Color16(75, 75, 75); | |
174 ui_book_calendar_year_color = Color16(75, 75, 75); | |
175 ui_book_calendar_moon_color = Color16(75, 75, 75); | |
176 ui_book_calendar_location_color = Color16(75, 75, 75); | |
1393 | 177 |
2069 | 178 ui_book_journal_title_color = Color16(255, 255, 255); |
179 ui_book_journal_text_color = Color16(255, 255, 255); | |
180 ui_book_journal_text_shadow = Color16(0, 0, 0); | |
1393 | 181 |
2069 | 182 ui_game_dialogue_npc_name_color = Color16(21, 153, 233); |
183 ui_game_dialogue_option_highlight_color = Color16(225, 205, 35); | |
184 ui_game_dialogue_option_normal_color = Color16(255, 255, 255); | |
1393 | 185 |
2069 | 186 ui_house_player_cant_interact_color = Color16(255, 255, 155); |
1393 | 187 } |
188 | |
1298 | 189 std::array<unsigned int, 16> papredoll_dbrds; |
190 unsigned int papredoll_drhs[4]; | |
191 unsigned int papredoll_dlhus[4]; | |
192 unsigned int papredoll_dlhs[4]; | |
193 unsigned int papredoll_dbods[5]; | |
1464 | 194 int paperdoll_armor_texture[4][17][3];//0x511294 |
1298 | 195 //int paperdoll_array_51132C[165]; |
196 unsigned int papredoll_dlaus[5]; | |
197 unsigned int papredoll_dlads[4]; | |
198 int papredoll_flying_feet[777]; // idb | |
199 int paperdoll_boots_texture[4][6];//0x511638 | |
200 int paperdoll_cloak_collar_texture[4][10]; // weak | |
201 int paperdoll_cloak_texture[4][10]; | |
202 int paperdoll_helm_texture[2][16]; //511698 | |
203 int paperdoll_belt_texture[4][7]; //511718 | |
204 | |
205 const int paperdoll_Weapon[4][16][2] = {//4E4C30 | |
206 {{128, 205}, {30, 144}, {88, 85}, {0, 0}, {0, 0}, {0, 0}, {17, 104}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, | |
207 {{131, 201}, {38, 158}, {98, 87}, {0, 0}, {0, 0}, {0, 0}, {21, 100}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, | |
208 {{131, 216}, {29, 186}, {88, 119}, {0, 0}, {0, 0}, {0, 0}, { 0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, | |
209 {{123, 216}, {35, 184}, {98, 119}, {0, 0}, {0, 0}, {0, 0}, { 0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, | |
210 }; | |
211 | |
212 const int paperdoll_Boot[4][7][2] = //4E5490 | |
213 { | |
214 0xE, 0x11D, 0xD, 0x11D, 0xC, 0x10A, 0xA, 0xFF, 0xD, 0xF9, 0xD, 0x137, 0xC, 0x10E, | |
215 0x14, 0x125, 0x13, 0x122, 0x15, 0x120, 0x15, 0x114, 0x13, 0x10A, 0x11, 0x13E, 0x11, 0x116, | |
216 0x1D, 0x121, 0x1C, 0x11F, 0x1B, 0x11B, 0x1C, 0x117, 0x16, 0x116, 0x1B, 0x137, 0x1B, 0x11B, | |
217 0x1F, 0x127, 0x1F, 0x122, 0x1B, 0x11B, 0x1D, 0x117, 0x1D, 0x116, 0x1D, 0x137, 0x1B, 0x11F, | |
218 }; | |
219 const int paperdoll_Cloak[4][10][2] = //4E5570 | |
220 { | |
221 0x11, 0x68, 0xF, 0x68, 0x14, 0x71, 0x19, 0x6B, 0x21, 0x6F, 0x5, 0x68, 0x5, 0x68, 0x14, 0x71, 0x3, 0x6B, 0xF, 0x6F, | |
222 0x15, 0x64, 0xB, 0x6B, 0xE, 0x67, 0x15, 0x6B, 0x1B, 0x6F, 0x3, 0x6B, 0, 0x6B, 0xE, 0x67, 0, 0x6B, 0x3, 0x6F, | |
223 0x10, 0x8A, 0x9, 0x8B, 0x18, 0x98, 0x25, 0x91, 0x29, 0x90, 0x8, 0x8A, 0x9, 0x8B, 0x18, 0x98, 0x3, 0x91, 0x3, 0x90, | |
224 0x14, 0x92, 0x10, 0x92, 0x15, 0x98, 0x1F, 0x91, 0x22, 0x90, 0x8, 0x92, 0xC, 0x92, 0x15, 0x98, 0x3, 0x91, 0x3, 0x90, | |
225 }; | |
226 const int paperdoll_CloakCollar[4][10][2] = //4E56B0 | |
227 { | |
228 0x11, 0x68, 0x34, 0x64, 0x21, 0x69, 0x1D, 0x67, 0x20, 0x67, 0x21, 0x68, 0x34, 0x64, 0x21, 0x69, 0x1D, 0x67, 0x1F, 0x67, | |
229 0x13, 0x64, 0x35, 0x66, 0x29, 0x68, 0x1F, 0x68, 0x1F, 0x6A, 0x21, 0x6A, 0x2B, 0x66, 0x26, 0x68, 0x1F, 0x68, 0x1F, 0x6A, | |
230 0, 0, 0x30, 0x87, 0x1E, 0x86, 0x1B, 0x86, 0x1C, 0x8A, 0x21, 0x87, 0x30, 0x87, 0x1E, 0x86, 0x1B, 0x86, 0x1C, 0x8A, | |
231 0, 0, 0x38, 0x8A, 0x24, 0x8B, 0x1D, 0x8B, 0x21, 0x8C, 0x27, 0x8A, 0x34, 0x8A, 0x24, 0x8B, 0x25, 0x8B, 0x21, 0x8C, | |
232 }; | |
233 //int dword_4E56B4; // weak | |
234 const int paperdoll_Belt[4][7][2] = //4E57F0 | |
235 { | |
236 0x3A, 0xB6, 0x37, 0xB2, 0x34, 0xB9, 0x3A, 0xB9, 0x37, 0xB7, 0x38, 0xAC, 0x37, 0xB7, | |
237 0x3E, 0xAD, 0x3A, 0xAC, 0x37, 0xB0, 0x3A, 0xB1, 0x39, 0xB0, 0x3C, 0xA5, 0x39, 0xB0, | |
238 0x3B, 0xD5, 0x37, 0xD2, 0x31, 0xD5, 0x39, 0xD6, 0x37, 0xD8, 0x37, 0xD1, 0x37, 0xD8, | |
239 0x42, 0xD2, 0x3F, 0xD0, 0x3B, 0xD7, 0x3C, 0xD5, 0x3B, 0xD6, 0x3E, 0xCF, 0x36, 0xD6, | |
240 }; | |
241 const int paperdoll_Helm[4][16][2] = //4E58D0 | |
242 { | |
243 0x3E, 0x1F, 0x41, 0x2C, 0x37, 0x2F, 0x31, 0x32, 0x37, 0x2A, 0x39, 0x28, 0x36, 0x34, 0x41, 0x38, 0x40, 0x31, 0x40, 0x21, 0x40, 0x31, 0x3C, 0x33, 0x3D, 0x24, 0x3A, 0x1A, 0x37, 0x2A, 0x41, 0x48, | |
244 0x41, 0x1E, 0x42, 0x2B, 0x37, 0x2F, 0x34, 0x30, 0x39, 0x29, 0x3A, 0x26, 0x36, 0x34, 0x41, 0x37, 0x42, 0x32, 0x40, 0x21, 0x40, 0x31, 0x40, 0x2F, 0x3E, 0x22, 0x3B, 0x1A, 0x39, 0x29, 0x42, 0x47, | |
245 0x3F, 0x47, 0x41, 0x56, 0x37, 0x59, 0x32, 0x5E, 0x37, 0x58, 0x39, 0x54, 0x34, 0x61, 0x40, 0x61, 0x41, 0x5D, 0x3E, 0x4F, 0x3E, 0x5B, 0x3D, 0x5B, 0x3F, 0x4C, 0x3B, 0x45, 0x37, 0x58, 0x41, 0x74, | |
246 0x45, 0x45, 0x46, 0x54, 0x3A, 0x55, 0x38, 0x58, 0x3C, 0x54, 0x3F, 0x52, 0x39, 0x5B, 0x45, 0x5C, 0x47, 0x5C, 0x44, 0x4B, 0x44, 0x57, 0x43, 0x55, 0x44, 0x4A, 0x3E, 0x45, 0x3C, 0x54, 0x47, 0x70, | |
247 }; | |
248 const int pPaperdoll_Beards[4] = //4E5AD0 | |
249 { | |
250 52, 130, 56, 136, | |
251 }; | |
252 const int pPaperdoll_LeftHand[4][2] = //4E5AE0 | |
253 { | |
254 0x67, 0x6A, | |
255 0x65, 0x6C, | |
256 0x74, 0x8D, | |
257 0x74, 0x93, | |
258 }; | |
259 const int pPaperdoll_SecondLeftHand[4][2] = //4E5B00 | |
260 { | |
261 0x1A, 0x6B, | |
262 0x28, 0x6D, | |
263 0x19, 0x8D, | |
264 0x20, 0x92, | |
265 }; | |
266 const int pPaperdoll_RightHand[4][2] = //4E5B20 | |
267 { | |
268 0x1E, 0x90, | |
269 0x22, 0x9E, | |
270 0x19, 0xBA, | |
271 0x1F, 0xB8, | |
272 }; | |
273 const int pPaperdollLeftEmptyHand[4][2] = //4E5B40 | |
274 { | |
275 0x80, 0xCD, | |
276 0x83, 0xC9, | |
277 0x83, 0xD8, | |
278 0x7B, 0xD8, | |
279 }; | |
280 | |
281 int pPaperdoll_BodyX = 481; // 004E4C28 | |
282 int pPaperdoll_BodyY = 0; // 004E4C2C | |
1466 | 283 const int paperdoll_Armor_Coord[4][17][2] = //4E4E30 |
1298 | 284 { |
285 // X Y | |
286 0x2C, 0x67, 0x30, 0x69, 0x2D, 0x67, 0x2C, 0x64, 0x14, 0x66, 0x22, 0x67, 0x20, 0x66, 0x25, 0x66, 0x12, 0x66,//Human | |
287 0x0A, 0x66, 0x13, 0x64, 0x0E, 0x64, 0x0A, 0x63, 0x14, 0x66, 0x0A, 0x63, 0x0A, 0x66, 0x25, 0x66, | |
288 | |
289 0x32, 0x68, 0x32, 0x69, 0x35, 0x69, 0x33, 0x68, 0x24, 0x67, 0x30, 0x69, 0x33, 0x68, 0x31, 0x69, 0x19, 0x69, | |
290 0x19, 0x6A, 0x16, 0x66, 0x16, 0x65, 0x0F, 0x6B, 0x24, 0x67, 0x0F, 0x6B, 0x19, 0x6A, 0x31, 0x69, | |
291 | |
292 0x2A, 0x8C, 0x29, 0x8C, 0x2A, 0x89, 0x29, 0x86, 0x12, 0x87, 0x2D, 0x89, 0x2A, 0x88, 0x25, 0x87, 0x12, 0x8B, | |
293 0x12, 0x8B, 0x11, 0x8A, 0x15, 0x87, 0x09, 0x89, 0x12, 0x87, 0x09, 0x89, 0x12, 0x8B, 0x25, 0x87, | |
294 | |
295 0x33, 0x90, 0x32, 0x90, 0x34, 0x91, 0x32, 0x8E, 0x21, 0x8B, 0x31, 0x8B, 0x33, 0x8E, 0x2F, 0x8F, 0x16, 0x8D, | |
296 0x18, 0x8C, 0x19, 0x8C, 0x1B, 0x8E, 0x0C, 0x8C, 0x21, 0x8B, 0x0C, 0x8C, 0x18, 0x8C, 0x2F, 0x8F, | |
297 }; | |
1466 | 298 const int paperdoll_shoulder_coord[4][17][2] = //4E5050 |
1298 | 299 { |
300 0x64, 0x67, 0x61, 0x67, 0x65, 0x68, 0x6E, 0x74, 0x6C, 0x68, 0x61, 0x67, 0x66, 0x68, 0x6C, 0x6A, 0x6E, 0x6D, | |
301 0x67, 0x69, 0x70, 0x67, 0x6E, 0x6D, 0x6C, 0x6F, 0x6C, 0x68, 0x6C, 0x6F, 0x67, 0x69, 0x6C, 0x6A, | |
302 | |
303 0x60, 0x6B, 0x60, 0x6C, 0x60, 0x6B, 0x61, 0x6A, 0x60, 0x69, 0x60, 0x6A, 0x60, 0x6A, 0x61, 0x69, 0x63, 0x6A, | |
304 0x64, 0x6A, 0x61, 0x66, 0x66, 0x67, 0x64, 0x6C, 0x60, 0x69, 0x64, 0x6C, 0x64, 0x6A, 0x61, 0x69, | |
305 | |
306 0x6D, 0x8C, 0x75, 0x8C, 0, 0, 0x72, 0x8D, 0x6A, 0x89, 0, 0, 0x73, 0x8C, 0x69, 0x8C, 0x6E, 0x8D, | |
307 0x71, 0x8D, 0x70, 0x8D, 0x72, 0x8D, 0x74, 0x8E, 0x6A, 0x89, 0x74, 0x8E, 0x71, 0x8D, 0x69, 0x8C, | |
308 | |
309 0x72, 0x91, 0x72, 0x91, 0, 0, 0x6E, 0x92, 0x6F, 0x91, 0, 0, 0, 0, 0x6E, 0x91, 0x71, 0x90, | |
310 0x72, 0x8D, 0x72, 0x90, 0x73, 0x93, 0x73, 0x90, 0x6F, 0x91, 0x73, 0x90, 0x72, 0x8D, 0x6E, 0x91, | |
311 }; | |
1466 | 312 const int paperdoll_shoulder_second_coord[4][17][2] = //dword_4E5270 |
1298 | 313 { |
1466 | 314 0, 0, 0x61, 0x67, 0, 0, 0x64, 0x69, 0x64, 0x68, 0, 0, 0, 0, 0x5E, 0x66, 0x5F, 0x69, |
315 0x55, 0x69, 0x5F, 0x67, 0x5F, 0x68, 0x32, 0x69, 0x64, 0x68, 0x32, 0x69, 0x55, 0x69, 0x5E, 0x66, | |
316 | |
317 0, 0, 0x60, 0x6C, 0, 0, 0x60, 0x6C, 0x5E, 0x69, 0, 0, 0, 0, 0x5D, 0x6A, 0x5B, 0x6A, | |
318 0x5B, 0x6A, 0x59, 0x69, 0x56, 0x68, 0x38, 0x6E, 0x5E, 0x69, 0x38, 0x6E, 0x5B, 0x6A, 0x5D, 0x6A, | |
319 | |
320 0, 0, 0x75, 0x8C, 0, 0, 0x72, 0x8D, 0x62, 0x89, 0, 0, 0, 0, 0x69, 0x8C, 0x5E, 0x8D, | |
321 0x61, 0x8D, 0x5F, 0x8D, 0x60, 0x8D, 0x2E, 0x8C, 0x62, 0x89, 0x2E, 0x8C, 0x61, 0x8D, 0x69, 0x8C, | |
322 | |
323 0, 0, 0x72, 0x91, 0, 0, 0x72, 0x91, 0x67, 0x8F, 0, 0, 0, 0, 0x6E, 0x91, 0x64, 0x93, | |
324 0x65, 0x8C, 0x65, 0x91, 0x67, 0x91, 0x36, 0x90, 0x67, 0x8F, 0x36, 0x90, 0x65, 0x8C, 0x6E, 0x91, | |
1298 | 325 }; |
326 | |
327 const char *dlad_texnames_by_face[25] = | |
328 { | |
329 "pc01lad", "pc02lad", "pc03lad", "pc04lad", "pc05lad", "pc06lad", | |
330 "pc07lad", "pc08lad", "pc09lad", "pc10lad", "pc11lad", "pc12lad", | |
331 "pc13lad", "pc14lad", "pc15lad", "pc16lad", "pc17lad", "pc18lad", | |
332 "pc19lad", "pc20lad", "pc21lad", "pc22lad", "pc23lad", "pc24lad", | |
333 "pc25lad" | |
334 }; | |
335 const char *dlau_texnames_by_face[25] = | |
336 { | |
337 "pc01lau", "pc02lau", "pc03lau", "pc04lau", "pc05lau", "pc06lau", | |
338 "pc07lau", "pc08lau", "pc09lau", "pc10lau", "pc11lau", "pc12lau", | |
339 "pc13lau", "pc14lau", "pc15lau", "pc16lau", "pc17lau", "pc18lau", | |
340 "pc19lau", "pc20lau", "pc21lau", "pc22lau", "pc23lau", "pc24lau", | |
341 "pc25lau" | |
342 }; | |
343 const char *dbod_texnames_by_face[25] = | |
344 { | |
345 "pc01bod", "pc02bod", "pc03bod", "pc04bod", "pc05bod", "pc06bod", | |
346 "pc07bod", "pc08bod", "pc09bod", "pc10bod", "pc11bod", "pc12bod", | |
347 "pc13bod", "pc14bod", "pc15bod", "pc16bod", "pc17bod", "pc18bod", | |
348 "pc19bod", "pc20bod", "pc21bod", "pc22bod", "pc23bod", "pc24bod", | |
349 "pc25bod" | |
350 }; | |
351 const char *drh_texnames_by_face[25] = | |
352 { | |
353 | |
354 "pc01rh", "pc02rh", "pc03rh", "pc04rh", "pc05rh", "pc06rh", | |
355 "pc07rh", "pc08rh", "pc09rh", "pc10rh", "pc11rh", "pc12rh", | |
356 "pc13rh", "pc14rh", "pc15rh", "pc16rh", "pc17rh", "pc18rh", | |
357 "pc19rh", "pc20rh", "pc21rh", "pc22rh", "pc23rh", "pc24rh", | |
358 "pc25rh" | |
359 }; | |
360 const char *dlh_texnames_by_face[25] = | |
361 { | |
362 "pc01lh", "pc02lh", "pc03lh", "pc04lh", "pc05lh", "pc06lh", | |
363 "pc07lh", "pc08lh", "pc09lh", "pc10lh", "pc11lh", "pc12lh", | |
364 "pc13lh", "pc14lh", "pc15lh", "pc16lh", "pc17lh", "pc18lh", | |
365 "pc19lh", "pc20lh", "pc21lh", "pc22lh", "pc23lh", "pc24lh", | |
366 "pc25lh" | |
367 }; | |
368 const char *dlhu_texnames_by_face[25] = | |
369 { | |
370 "pc01lhu", "pc02lhu", "pc03lhu", "pc04lhu", "pc05lhu", "pc06lhu", | |
371 "pc07lhu", "pc08lhu", "pc09lhu", "pc10lhu", "pc11lhu", "pc12lhu", | |
372 "pc13lhu", "pc14lhu", "pc15lhu", "pc16lhu", "pc17lhu", "pc18lhu", | |
373 "pc19lhu", "pc20lhu", "pc21lhu", "pc22lhu", "pc23lhu", "pc24lhu", | |
374 "pc25lhu" | |
375 }; | |
376 | |
377 const int pArmorSkills[5] = {PLAYER_SKILL_LEATHER, PLAYER_SKILL_CHAIN, PLAYER_SKILL_PLATE, PLAYER_SKILL_SHIELD, PLAYER_SKILL_DODGE}; | |
378 const int pWeaponSkills[9] = {PLAYER_SKILL_AXE, PLAYER_SKILL_BOW, PLAYER_SKILL_DAGGER, PLAYER_SKILL_MACE, PLAYER_SKILL_SPEAR, | |
379 PLAYER_SKILL_STAFF, PLAYER_SKILL_SWORD, PLAYER_SKILL_UNARMED, PLAYER_SKILL_BLASTER}; | |
380 const int pMiscSkills[12] = {PLAYER_SKILL_ALCHEMY, PLAYER_SKILL_ARMSMASTER, PLAYER_SKILL_BODYBUILDING, PLAYER_SKILL_ITEM_ID, PLAYER_SKILL_MONSTER_ID, | |
381 PLAYER_SKILL_LEARNING, PLAYER_SKILL_TRAP_DISARM, PLAYER_SKILL_MEDITATION, PLAYER_SKILL_MERCHANT, PLAYER_SKILL_PERCEPTION, | |
382 PLAYER_SKILL_REPAIR, PLAYER_SKILL_STEALING}; | |
383 const int pMagicSkills[9] = {PLAYER_SKILL_FIRE, PLAYER_SKILL_AIR, PLAYER_SKILL_WATER, PLAYER_SKILL_EARTH, PLAYER_SKILL_SPIRIT, | |
384 PLAYER_SKILL_MIND, PLAYER_SKILL_BODY, PLAYER_SKILL_LIGHT, PLAYER_SKILL_DARK}; | |
385 | |
386 //----- (00421626) -------------------------------------------------------- | |
387 GUIWindow *CharacterUI_Initialize(unsigned int _this) | |
388 { | |
389 GUIWindow *pWindow; // edi@3 | |
390 | |
391 ++pIcons_LOD->uTexturePacksCount; | |
392 if ( !pIcons_LOD->uNumPrevLoadedFiles ) | |
393 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles; | |
394 | |
395 pEventTimer->Pause(); | |
396 pAudioPlayer->StopChannels(-1, -1); | |
397 bRingsShownInCharScreen = false; | |
398 CharacterUI_LoadPaperdollTextures(); | |
399 pCurrentScreen = _this; | |
400 | |
401 pWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_CharacterRecord, uActiveCharacter, 0); | |
402 pCharacterScreen_StatsBtn = pWindow->CreateButton(pViewport->uViewportTL_X + 12, pViewport->uViewportTL_Y + 308, | |
403 pIcons_LOD->GetTexture(papredoll_dbrds[9])->uTextureWidth, | |
404 pIcons_LOD->GetTexture(papredoll_dbrds[9])->uTextureHeight, | |
405 1, 0, UIMSG_ClickStatsBtn, 0, 'S', pGlobalTXT_LocalizationStrings[216],// Stats | |
406 pIcons_LOD->GetTexture(papredoll_dbrds[10]), | |
407 pIcons_LOD->GetTexture(papredoll_dbrds[9]), 0); | |
408 pCharacterScreen_SkillsBtn = pWindow->CreateButton(pViewport->uViewportTL_X + 102, pViewport->uViewportTL_Y + 308, | |
409 pIcons_LOD->GetTexture(papredoll_dbrds[7])->uTextureWidth, | |
410 pIcons_LOD->GetTexture(papredoll_dbrds[7])->uTextureHeight, | |
411 1, 0, UIMSG_ClickSkillsBtn, 0, 'K', pGlobalTXT_LocalizationStrings[205],//Skills | |
412 pIcons_LOD->GetTexture(papredoll_dbrds[8]), | |
413 pIcons_LOD->GetTexture(papredoll_dbrds[7]), 0); | |
414 pCharacterScreen_InventoryBtn = pWindow->CreateButton(pViewport->uViewportTL_X + 192, pViewport->uViewportTL_Y + 308, | |
415 pIcons_LOD->GetTexture(papredoll_dbrds[5])->uTextureWidth, | |
416 pIcons_LOD->GetTexture(papredoll_dbrds[5])->uTextureHeight, | |
417 1, 0, UIMSG_ClickInventoryBtn, 0, 'I', pGlobalTXT_LocalizationStrings[120], //Inventory | |
418 pIcons_LOD->GetTexture(papredoll_dbrds[6]), | |
419 pIcons_LOD->GetTexture(papredoll_dbrds[5]), 0); | |
420 pCharacterScreen_AwardsBtn = pWindow->CreateButton(pViewport->uViewportTL_X + 282, pViewport->uViewportTL_Y + 308, | |
421 pIcons_LOD->GetTexture(papredoll_dbrds[3])->uTextureWidth, | |
422 pIcons_LOD->GetTexture(papredoll_dbrds[3])->uTextureHeight, | |
423 1, 0, UIMSG_ClickAwardsBtn, 0, 'A', pGlobalTXT_LocalizationStrings[22], //Awards | |
424 pIcons_LOD->GetTexture(papredoll_dbrds[4]), | |
425 pIcons_LOD->GetTexture(papredoll_dbrds[3]), 0); | |
426 pCharacterScreen_ExitBtn = pWindow->CreateButton(pViewport->uViewportTL_X + 371, pViewport->uViewportTL_Y + 308, | |
427 pIcons_LOD->GetTexture(papredoll_dbrds[1])->uTextureWidth, | |
428 pIcons_LOD->GetTexture(papredoll_dbrds[1])->uTextureHeight, | |
429 1, 0, UIMSG_ClickExitCharacterWindowBtn, 0, 0, pGlobalTXT_LocalizationStrings[79],//Exit | |
430 pIcons_LOD->GetTexture(papredoll_dbrds[2]), | |
431 pIcons_LOD->GetTexture(papredoll_dbrds[1]), 0); | |
432 pWindow->CreateButton(0, 0, 0x1DCu, 0x159u, 1, 122, UIMSG_InventoryLeftClick, 0, 0, "", 0); | |
433 pCharacterScreen_DetalizBtn = pWindow->CreateButton(0x258u, 0x12Cu, 30, 30, 1, 0, UIMSG_ChangeDetaliz, 0, 0, pGlobalTXT_LocalizationStrings[64], 0); | |
434 pCharacterScreen_DollBtn = pWindow->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, UIMSG_ClickPaperdoll, 0, 0, "", 0); | |
435 | |
436 pWindow->CreateButton( 61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0); | |
437 pWindow->CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0); | |
438 pWindow->CreateButton(292, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0); | |
439 pWindow->CreateButton(407, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0); | |
440 | |
441 pWindow->CreateButton(0, 0, 0, 0, 1, 0, UIMSG_CycleCharacters, 0, '\t', "", 0); | |
442 FillAwardsData(); | |
443 return pWindow; | |
444 } | |
445 | |
446 //----- (004219BE) -------------------------------------------------------- | |
1455 | 447 GUIWindow *CastSpellInfo::GetCastSpellInInventoryWindow() |
1298 | 448 { |
1455 | 449 GUIWindow *CS_inventory_window; // ebx@1 |
1298 | 450 |
451 pEventTimer->Pause(); | |
452 pAudioPlayer->StopChannels(-1, -1); | |
453 bRingsShownInCharScreen = 0; | |
454 CharacterUI_LoadPaperdollTextures(); | |
455 pCurrentScreen = SCREEN_CASTING; | |
1455 | 456 CS_inventory_window = GUIWindow::Create(0, 0, 640, 480, WINDOW_CastSpell_InInventory, (int)this, 0); |
457 pCharacterScreen_ExitBtn = CS_inventory_window->CreateButton(394, 318, 75, 33, 1, 0, UIMSG_ClickExitCharacterWindowBtn, 0, 0, | |
1298 | 458 pGlobalTXT_LocalizationStrings[79], // Close |
459 pIcons_LOD->GetTexture(papredoll_dbrds[2]), | |
460 pIcons_LOD->GetTexture(papredoll_dbrds[1]), 0); | |
1455 | 461 CS_inventory_window->CreateButton(0, 0, 0x1DCu, 0x159u, 1, 122, UIMSG_InventoryLeftClick, 0, 0, "", 0); |
462 pCharacterScreen_DollBtn = CS_inventory_window->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, UIMSG_ClickPaperdoll, 0, 0, "", 0); | |
1298 | 463 |
1455 | 464 CS_inventory_window->CreateButton( 61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0); |
465 CS_inventory_window->CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0); | |
466 CS_inventory_window->CreateButton(292, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0); | |
467 CS_inventory_window->CreateButton(407, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0); | |
1298 | 468 |
1455 | 469 return CS_inventory_window; |
1298 | 470 } |
471 | |
472 static int CharacterUI_SkillsTab_Draw__DrawSkillTable(Player *player, int x, int y, const int *skill_list, int skill_list_size, int right_margin, const char *skill_group_name) | |
473 { | |
474 int y_offset = y; | |
475 | |
476 sprintf(pTmpBuf.data(), "%s\r%03d%s", skill_group_name, right_margin, pGlobalTXT_LocalizationStrings[131]); //"Level" | |
477 pGUIWindow_CurrentMenu->DrawText(pFontArrus, x, y, ui_character_header_text_color, pTmpBuf.data(), 0, 0, 0); | |
478 | |
479 int num_skills_drawn = 0; | |
1455 | 480 for (int i = 0; i < skill_list_size; ++i) |
1298 | 481 { |
1980 | 482 PLAYER_SKILL_TYPE skill = (PLAYER_SKILL_TYPE)skill_list[i]; |
1298 | 483 for (uint j = 0; j < pGUIWindow_CurrentMenu->uNumControls; ++j) |
484 { | |
1980 | 485 GUIButton* v8 = pGUIWindow_CurrentMenu->pControlsHead; |
1298 | 486 |
487 for (int v7 = j; v7 > 0; --v7) | |
488 v8 = v8->pNext; | |
489 | |
1980 | 490 int v9 = v8->field_1C; |
1298 | 491 if ((short)(v8->field_1C) >= 0) |
492 continue; | |
493 if ( (v9 & 0x7FFF) != skill ) | |
494 continue; | |
495 | |
496 ++num_skills_drawn; | |
497 y_offset = v8->uY; | |
498 | |
1980 | 499 ushort skill_value = player->pActiveSkills[skill]; |
500 int skill_level = skill_value & 0x3F; | |
1298 | 501 |
502 uint skill_color = 0; | |
503 uint skill_mastery_color = 0; | |
504 if (player->uSkillPoints > skill_level) | |
505 skill_color = ui_character_skill_upgradeable_color; | |
506 | |
507 if (pGUIWindow_CurrentMenu->pCurrentPosActiveItem == j) | |
508 { | |
509 if (player->uSkillPoints > skill_level) | |
510 skill_mastery_color = ui_character_bonus_text_color; | |
511 else | |
512 skill_mastery_color = ui_character_skill_default_color; | |
513 skill_color = skill_mastery_color; | |
514 } | |
515 | |
516 if (SkillToMastery(skill_value) == 1) | |
517 { | |
518 sprintfex(pTmpBuf.data(), "%s\r%03d%2d", pSkillNames[skill], right_margin, skill_level); | |
519 pGUIWindow_CurrentMenu->DrawText(pFontLucida, x, v8->uY, skill_color, pTmpBuf.data(), 0, 0, 0); | |
520 } | |
521 else | |
522 { | |
523 const char *skill_level_str = nullptr; | |
524 | |
525 switch (SkillToMastery(skill_value)) | |
526 { | |
527 case 4: skill_level_str = pGlobalTXT_LocalizationStrings[96]; break; // "Grand" | |
528 case 3: skill_level_str = pGlobalTXT_LocalizationStrings[432]; break; // Master | |
529 case 2: skill_level_str = pGlobalTXT_LocalizationStrings[433]; break; // Expert | |
530 } | |
531 | |
532 if (!skill_mastery_color) | |
533 skill_mastery_color = ui_character_header_text_color; | |
534 sprintfex(pTmpBuf.data(), "%s \f%05d%s\f%05d\r%03d%2d", pSkillNames[skill], skill_mastery_color, skill_level_str, skill_color, right_margin, skill_level); | |
535 pGUIWindow_CurrentMenu->DrawText(pFontLucida, x, v8->uY, skill_color, pTmpBuf.data(), 0, 0, 0); | |
536 } | |
537 } | |
538 } | |
539 | |
540 if (!num_skills_drawn) | |
541 { | |
542 y_offset += LOBYTE(pFontLucida->uFontHeight) - 3; | |
543 pGUIWindow_CurrentMenu->DrawText(pFontLucida, x, y_offset, 0, pGlobalTXT_LocalizationStrings[153], 0, 0, 0); //"None" | |
544 } | |
545 | |
546 return y_offset; | |
547 } | |
548 | |
549 //----- (00419719) -------------------------------------------------------- | |
550 void CharacterUI_SkillsTab_Draw(Player *player) | |
551 { | |
552 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->LoadTexturePtr("fr_skill", TEXTURE_16BIT_PALETTE)); | |
553 | |
554 sprintfex(pTmpBuf.data(), "%s \f%05d^Pv[%s]\f00000\r177%s: \f%05d%d\f00000", | |
555 pGlobalTXT_LocalizationStrings[206], // Skills for | |
556 ui_character_header_text_color, | |
557 player->pName, | |
558 pGlobalTXT_LocalizationStrings[207], // Skill Points | |
559 player->uSkillPoints ? ui_character_bonus_text_color : ui_character_default_text_color, | |
560 player->uSkillPoints); | |
561 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 24, 18, 0, pTmpBuf.data(), 0, 0, 0); | |
562 | |
563 int y = 2 * LOBYTE(pFontLucida->uFontHeight) + 13; | |
564 y = CharacterUI_SkillsTab_Draw__DrawSkillTable(player, 24, y, pWeaponSkills, 9, 400, pGlobalTXT_LocalizationStrings[242]); // "Weapons" | |
565 | |
566 y += 2 * LOBYTE(pFontLucida->uFontHeight) - 10; | |
567 CharacterUI_SkillsTab_Draw__DrawSkillTable(player, 24, y, pMagicSkills, 9, 400, pGlobalTXT_LocalizationStrings[138]); // "Magic" | |
568 | |
569 y = 2 * LOBYTE(pFontLucida->uFontHeight) + 13; | |
570 y = CharacterUI_SkillsTab_Draw__DrawSkillTable(player, 248, y, pArmorSkills, 5, 177, pGlobalTXT_LocalizationStrings[11]); // "Armor" | |
571 | |
572 y += 2 * LOBYTE(pFontLucida->uFontHeight) - 10; | |
573 y = CharacterUI_SkillsTab_Draw__DrawSkillTable(player, 248, y, pMiscSkills, 12, 177, pGlobalTXT_LocalizationStrings[143]); //"Misc" | |
574 } | |
575 | |
576 //----- (0041A000) -------------------------------------------------------- | |
577 void CharacterUI_AwardsTab_Draw(Player *player) | |
578 { | |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
579 int items_per_page; // eax@1 |
1455 | 580 char *v6; // ebx@15 |
581 char Source[100]; // [sp+Ch] [bp-C4h]@1 | |
582 GUIWindow awards_window; // [sp+70h] [bp-60h]@1 | |
1298 | 583 |
584 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->LoadTexturePtr("fr_award", TEXTURE_16BIT_PALETTE)); | |
585 sprintfex(pTmpBuf.data(), "%s \f%05d", pGlobalTXT_LocalizationStrings[LOCSTR_AVARDS_FOR], ui_character_header_text_color); | |
586 sprintfex(Source, pGlobalTXT_LocalizationStrings[LOCSTR_S_THE_S], player->pName, pClassNames[player->classType]); | |
587 strcat(pTmpBuf.data(), Source); | |
588 strcat(pTmpBuf.data(), "\f00000"); | |
589 | |
590 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 24, 18, 0, pTmpBuf.data(), 0, 0, 0); | |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
591 items_per_page = books_primary_item_per_page; |
1455 | 592 awards_window.uFrameX = 12; |
593 awards_window.uFrameY = 48; | |
594 awards_window.uFrameWidth = 424; | |
595 awards_window.uFrameHeight = 290; | |
596 awards_window.uFrameZ = 435; | |
597 awards_window.uFrameW = 337; | |
1446 | 598 if (BtnDown_flag && num_achieved_awards + books_primary_item_per_page < full_num_items_in_book) |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
599 items_per_page = books_primary_item_per_page++ + 1; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
600 if (BtnUp_flag && items_per_page) |
1298 | 601 { |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
602 --items_per_page; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
603 books_primary_item_per_page = items_per_page; |
1298 | 604 } |
605 | |
1455 | 606 if ( books_page_number < 0 ) |
607 { | |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
608 items_per_page += num_achieved_awards; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
609 books_primary_item_per_page = items_per_page; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
610 if ( (signed int)(num_achieved_awards + items_per_page) > full_num_items_in_book ) |
1298 | 611 { |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
612 items_per_page = full_num_items_in_book - num_achieved_awards; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
613 books_primary_item_per_page = items_per_page; |
1455 | 614 } |
615 } | |
616 else if ( books_page_number > 0 ) | |
617 { | |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
618 items_per_page -= num_achieved_awards; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
619 books_primary_item_per_page = items_per_page; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
620 if ( items_per_page < 0 ) |
1455 | 621 { |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
622 items_per_page = 0; |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
623 books_primary_item_per_page = items_per_page; |
1455 | 624 } |
625 } | |
626 BtnDown_flag = 0; | |
627 BtnUp_flag = 0; | |
628 num_achieved_awards = 0; | |
629 books_page_number = 0; | |
1298 | 630 |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
631 for ( int i = items_per_page; i < full_num_items_in_book; ++i) |
1455 | 632 { |
633 v6 = (char *)pAwards[achieved_awards[i]].pText;//(char *)dword_723E80_award_related[v20 / 4]; | |
634 pTmpBuf[0] = 0; | |
635 switch (achieved_awards[i]) | |
636 { | |
637 case Award_Arena_PageWins: sprintf(pTmpBuf.data(), v6, pParty->uNumArenaPageWins); break; | |
638 case Award_Arena_SquireWins: sprintf(pTmpBuf.data(), v6, pParty->uNumArenaSquireWins); break; | |
639 case Award_Arena_KnightWins: sprintf(pTmpBuf.data(), v6, pParty->uNumArenaKnightWins); break; | |
640 case Award_Arena_LordWins: sprintf(pTmpBuf.data(), v6, pParty->uNumArenaLordWins); break; | |
641 case Award_ArcomageWins: sprintf(pTmpBuf.data(), v6, pParty->uNumArcomageWins); break; | |
642 case Award_ArcomageLoses: sprintf(pTmpBuf.data(), v6, pParty->uNumArcomageLoses); break; | |
643 case Award_Deaths: sprintf(pTmpBuf.data(), v6, pParty->uNumDeaths); break; | |
644 case Award_BountiesCollected: sprintf(pTmpBuf.data(), v6, pParty->uNumBountiesCollected); break; | |
645 case Award_Fine: sprintf(pTmpBuf.data(), v6, pParty->uFine); break; | |
646 case Award_PrisonTerms: sprintf(pTmpBuf.data(), v6, pParty->uNumPrisonTerms); break; | |
647 } | |
1298 | 648 |
1455 | 649 if (*pTmpBuf.data()) |
650 v6 = pTmpBuf.data(); | |
1298 | 651 |
1455 | 652 awards_window.DrawText(pFontArrus, 0, 0, ui_character_award_color[pAwards[achieved_awards[i]].uPriority % 6], v6, 0, 0, 0); |
653 awards_window.uFrameY = pFontArrus->CalcTextHeight(v6, &awards_window, 0, 0) + awards_window.uFrameY + 8; | |
654 if (awards_window.uFrameY > awards_window.uFrameHeight) | |
655 break; | |
1298 | 656 |
1455 | 657 ++num_achieved_awards; |
658 } | |
659 } | |
1298 | 660 |
661 //----- (0041A2C1) -------------------------------------------------------- | |
662 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels) | |
663 { | |
664 if ( (signed int)uNumPixels < 14 ) | |
665 uNumPixels = 14; | |
666 return ((signed int)(uNumPixels - 14) >> 5) + 1; | |
667 } | |
668 | |
669 //----- (0041A556) -------------------------------------------------------- | |
670 void draw_leather() | |
671 { | |
672 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->GetTexture(uTextureID_Leather)); | |
673 } | |
674 | |
675 //----- (0041ABFD) -------------------------------------------------------- | |
676 void CharacterUI_CharacterScreen_Draw(Player *player) | |
677 { | |
678 pRenderer->ClearZBuffer(0, 479); | |
679 switch (pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0]) | |
680 { | |
681 case WINDOW_CharacterWindow_Stats: // stats | |
682 CharacterUI_ReleaseButtons(); | |
1458 | 683 ReleaseAwardsScrollBar(); |
1298 | 684 CharacterUI_StatsTab_Draw(player); |
685 pRenderer->DrawTextureIndexed(pCharacterScreen_StatsBtn->uX, | |
686 pCharacterScreen_StatsBtn->uY, | |
687 pIcons_LOD->LoadTexturePtr("ib-cd1-d", TEXTURE_16BIT_PALETTE)); | |
688 break; | |
689 | |
690 case WINDOW_CharacterWindow_Skills: // skills | |
691 if (dword_507CC0_activ_ch != uActiveCharacter) | |
692 { | |
693 CharacterUI_ReleaseButtons(); | |
694 CharacterUI_SkillsTab_CreateButtons(); | |
695 } | |
1458 | 696 ReleaseAwardsScrollBar(); |
1298 | 697 CharacterUI_SkillsTab_Draw(player); |
698 pRenderer->DrawTextureIndexed(pCharacterScreen_SkillsBtn->uX, | |
699 pCharacterScreen_SkillsBtn->uY, | |
700 pIcons_LOD->LoadTexturePtr("ib-cd2-d", TEXTURE_16BIT_PALETTE)); | |
701 break; | |
702 | |
703 case WINDOW_CharacterWindow_Awards: // awards | |
704 CharacterUI_ReleaseButtons(); | |
1458 | 705 ReleaseAwardsScrollBar(); |
1455 | 706 CreateAwardsScrollBar(); |
1298 | 707 CharacterUI_AwardsTab_Draw(player); |
708 pRenderer->DrawTextureIndexed(pCharacterScreen_AwardsBtn->uX, | |
709 pCharacterScreen_AwardsBtn->uY, | |
710 pIcons_LOD->LoadTexturePtr("ib-cd4-d", TEXTURE_16BIT_PALETTE)); | |
711 break; | |
712 | |
713 case WINDOW_CharacterWindow_Inventory: // inventory and other | |
714 CharacterUI_ReleaseButtons(); | |
1458 | 715 ReleaseAwardsScrollBar(); |
1298 | 716 CharacterUI_InventoryTab_Draw(player, false); |
717 pRenderer->DrawTextureIndexed(pCharacterScreen_InventoryBtn->uX, | |
718 pCharacterScreen_InventoryBtn->uY, | |
719 pIcons_LOD->LoadTexturePtr("ib-cd3-d", TEXTURE_16BIT_PALETTE)); | |
720 break; | |
721 | |
722 default: break; | |
723 } | |
724 | |
725 if (bRingsShownInCharScreen) | |
726 CharacterUI_DrawPaperdollWithRingOverlay(player); | |
727 else | |
728 CharacterUI_DrawPaperdoll(player); | |
729 } | |
730 | |
731 //----- (0043CC7C) -------------------------------------------------------- | |
732 void CharacterUI_DrawPaperdoll(Player *player) | |
733 { | |
1455 | 734 ItemGen *item; // edi@38 |
735 int item_X; // ebx@38 | |
736 int index; // eax@65 | |
1298 | 737 int v59; // ebx@129 |
738 unsigned int v75; // ebx@170 | |
739 int pArmorShoulderNum; // eax@197 | |
740 int v94; // ebx@214 | |
1455 | 741 unsigned int v127; // ebx@314 |
742 unsigned int v153; // eax@370 | |
743 char *v166; // [sp-8h] [bp-54h]@16 | |
744 const char *container; // [sp-8h] [bp-54h]@79 | |
745 char *v181; // [sp-8h] [bp-54h]@337 | |
746 int item_Y; // [sp+10h] [bp-3Ch]@38 | |
747 int pBodyComplection; // [sp+24h] [bp-28h]@6 | |
748 signed int v245; // [sp+34h] [bp-18h]@361 | |
749 signed int IsDwarf; // [sp+40h] [bp-Ch]@4 | |
1298 | 750 |
751 pIcons_LOD->LoadTexture("sptext01", TEXTURE_16BIT_PALETTE); | |
752 if (player->GetRace() == CHARACTER_RACE_DWARF) | |
753 { | |
754 IsDwarf = 1; | |
755 pBodyComplection = player->GetSexByVoice() == SEX_MALE ? 2 : 3; | |
756 } | |
757 else | |
758 { | |
759 IsDwarf = 0; | |
760 pBodyComplection = player->GetSexByVoice() == SEX_MALE ? 0 : 1; | |
761 } | |
762 | |
763 int uPlayerID = 0; | |
764 for (uint i = 0; i < 4; ++i) | |
765 if (pPlayers[i + 1] == player) | |
766 { | |
767 uPlayerID = i + 1; | |
768 break; | |
769 } | |
770 | |
771 pRenderer->ResetTextureClipRect(); | |
772 pRenderer->DrawTextureIndexed(467, 0, pIcons_LOD->GetTexture(uTextureID_BACKDOLL));//Подложка | |
773 if ( IsPlayerWearingWatersuit[uPlayerID] )//акваланг | |
774 { | |
775 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX, pPaperdoll_BodyY, pIcons_LOD->GetTexture(papredoll_dbods[uPlayerID - 1])); | |
776 if ( !bRingsShownInCharScreen ) | |
777 pRenderer->DrawMaskToZBuffer(pPaperdoll_BodyX, pPaperdoll_BodyY, pIcons_LOD->GetTexture(papredoll_dbods[uPlayerID - 1]), player->pEquipment.uArmor); | |
1455 | 778 //Рука не занята или ... |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
779 if ( !player->GetItem(&PlayerEquipment::uMainHand) |
1989 | 780 || ( player->GetMainHandItem()->GetItemEquipType() != EQUIP_TWO_HANDED) |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
781 && (player->GetMainHandItem()->GetItemEquipType() != PLAYER_SKILL_SPEAR |
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
782 || player->GetItem(&PlayerEquipment::uShield)) ) |
1455 | 783 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1], |
784 pIcons_LOD->GetTexture(papredoll_dlads[uPlayerID - 1])); | |
785 //-----------------------------------------------------(Hand/Рука)--------------------------------------------------------------- | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
786 if ( player->GetItem(&PlayerEquipment::uMainHand) ) |
1298 | 787 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
788 item = player->GetMainHandItem(); |
1455 | 789 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[item->uItemID].uEquipX; |
790 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item->uItemID].uEquipY; | |
791 if ( item->uItemID == 64 ) //blaster | |
1298 | 792 v166 = "item64v1"; |
793 else | |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
794 v166 = item->GetIconName(); |
2092 | 795 if ( !( item->uAttributes & ITEM_ENCHANT_ANIMATION ) ) |
1298 | 796 { |
2092 | 797 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 798 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE))); |
1298 | 799 else |
800 { | |
2092 | 801 if ( item->uAttributes & ITEM_IDENTIFIED ) |
1455 | 802 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE))); |
1298 | 803 else |
1455 | 804 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE))); |
1298 | 805 } |
806 } | |
2092 | 807 if ( item->uAttributes & ITEM_ENCHANT_ANIMATION ) |
1298 | 808 { |
2092 | 809 if ( ( item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 810 container = "sptext01"; |
2092 | 811 if ( ( item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 812 container = "sp28a"; |
2092 | 813 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 814 container = "sp30a"; |
2092 | 815 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 816 container = "sp91a"; |
1298 | 817 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
818 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
819 { | |
820 _50C9A8_item_enchantment_timer = 0; | |
1455 | 821 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 822 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 823 } |
1455 | 824 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE)), |
825 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); | |
1298 | 826 } |
827 if ( !bRingsShownInCharScreen ) | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
828 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE)), player->pEquipment.uMainHand); |
1298 | 829 } |
830 } | |
831 else// без акваланга | |
832 { | |
1455 | 833 //----------------(Bow/ Лук)------------------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
834 if ( player->GetItem(&PlayerEquipment::uBow) ) |
1298 | 835 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
836 item = player->GetBowItem(); |
1455 | 837 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][2][0] - pItemsTable->pItems[item->uItemID].uEquipX; |
838 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][2][1] - pItemsTable->pItems[item->uItemID].uEquipY; | |
2092 | 839 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) )// если не применён закл |
1298 | 840 { |
2092 | 841 if ( item->uAttributes & ITEM_BROKEN ) |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
842 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE))); |
1298 | 843 else |
844 { | |
2092 | 845 if ( !(item->uAttributes & ITEM_IDENTIFIED) )//не опознанный лук зелёный |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
846 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE))); |
1298 | 847 else // опознанный лук |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
848 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE))); |
1298 | 849 } |
850 } | |
851 else | |
852 { | |
2092 | 853 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 854 container = "sptext01"; |
2092 | 855 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 856 container = "sp28a"; |
2092 | 857 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 858 container = "sp30a"; |
2092 | 859 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 860 container = "sp91a"; |
1298 | 861 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
862 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
863 { | |
864 _50C9A8_item_enchantment_timer = 0; | |
1455 | 865 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 866 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 867 } |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
868 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE)), |
1455 | 869 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), |
870 GetTickCount() * 0.1, 0, 255); | |
1298 | 871 } |
872 if ( !bRingsShownInCharScreen ) | |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
873 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE)), |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
874 player->pEquipment.uBow); |
1298 | 875 } |
1455 | 876 //-----------------------------(Cloak/Плащ)--------------------------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
877 if ( player->GetItem(&PlayerEquipment::uCloak) ) |
1298 | 878 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
879 item = player->GetCloakItem(); |
1455 | 880 switch ( item->uItemID ) |
1298 | 881 { |
882 case ITEM_RELIC_TWILIGHT: | |
1455 | 883 index = 5; |
1298 | 884 break; |
885 case ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP: | |
1455 | 886 index = 6; |
1298 | 887 break; |
888 case ITEM_RARE_SUN_CLOAK: | |
1455 | 889 index = 7; |
1298 | 890 break; |
891 case ITEM_RARE_MOON_CLOAK: | |
1455 | 892 index = 8; |
1298 | 893 break; |
894 case ITEM_RARE_VAMPIRES_CAPE: | |
1455 | 895 index = 9; |
1298 | 896 break; |
897 default: | |
1455 | 898 index = item->uItemID - 105; |
1298 | 899 break; |
900 } | |
1455 | 901 if ( index >= 0 && index < 10 ) |
1298 | 902 { |
1455 | 903 item_X = pPaperdoll_BodyX + paperdoll_Cloak[pBodyComplection][index][0]; |
904 item_Y = pPaperdoll_BodyY + paperdoll_Cloak[pBodyComplection][index][1]; | |
2092 | 905 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1298 | 906 { |
2092 | 907 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 908 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index])); |
1298 | 909 else |
1455 | 910 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index])); |
1298 | 911 } |
912 else | |
913 { | |
2092 | 914 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 915 container = "sptext01"; |
2092 | 916 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 917 container = "sp28a"; |
2092 | 918 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 919 container = "sp30a"; |
2092 | 920 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 921 container = "sp91a"; |
1298 | 922 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
923 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
924 { | |
925 _50C9A8_item_enchantment_timer = 0; | |
1455 | 926 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 927 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 928 } |
1455 | 929 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index]), |
930 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); | |
1298 | 931 } |
932 if ( !bRingsShownInCharScreen ) | |
1455 | 933 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index]), |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
934 player->pEquipment.uCloak); |
1298 | 935 } |
936 } | |
1455 | 937 //-------------------------------(Paperdoll/Кукла)------------------------------------------- |
938 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX, pPaperdoll_BodyY, pIcons_LOD->GetTexture(papredoll_dbods[uPlayerID - 1])); | |
939 //-------------------------------(Armor/Броня)----------------------------------------------- | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
940 if ( player->GetItem(&PlayerEquipment::uArmor) ) |
1298 | 941 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
942 item = player->GetArmorItem(); |
1455 | 943 switch ( item->uItemID ) |
1298 | 944 { |
1648 | 945 case ITEM_ARTIFACT_GOVERNORS_ARMOR: |
1455 | 946 index = 15; |
1298 | 947 break; |
948 case ITEM_ARTIFACT_YORUBA: | |
1455 | 949 index = 14; |
1298 | 950 break; |
951 case ITEM_RELIC_HARECS_LEATHER: | |
1455 | 952 index = 13; |
1298 | 953 break; |
954 case ITEM_ELVEN_CHAINMAIL: | |
1455 | 955 index = 16; |
1298 | 956 break; |
957 default: | |
1455 | 958 index = item->uItemID - 66; |
1298 | 959 break; |
960 } | |
1455 | 961 if ( index >= 0 && index < 17 ) |
1298 | 962 { |
1466 | 963 item_X = pPaperdoll_BodyX + paperdoll_Armor_Coord[pBodyComplection][index][0]; |
964 item_Y = pPaperdoll_BodyY + paperdoll_Armor_Coord[pBodyComplection][index][1]; | |
2092 | 965 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1298 | 966 { |
2092 | 967 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 968 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][0])); |
1298 | 969 else |
970 { | |
2092 | 971 if ( !(item->uAttributes & ITEM_IDENTIFIED) ) |
1455 | 972 pRenderer->DrawTransparentGreenShade(item_X, item_Y, &pIcons_LOD->pTextures[paperdoll_armor_texture[pBodyComplection][index][0]]); |
1298 | 973 else |
1455 | 974 pRenderer->DrawTextureTransparent(item_X, item_Y, &pIcons_LOD->pTextures[paperdoll_armor_texture[pBodyComplection][index][0]]); |
1298 | 975 } |
976 } | |
977 else | |
978 { | |
2092 | 979 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 980 container = "sptext01"; |
2092 | 981 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 982 container = "sp28a"; |
2092 | 983 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 984 container = "sp30a"; |
2092 | 985 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 986 container = "sp91a"; |
1298 | 987 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
988 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
989 { | |
990 _50C9A8_item_enchantment_timer = 0; | |
1455 | 991 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 992 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 993 } |
1455 | 994 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][0]), |
995 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); | |
1298 | 996 } |
1455 | 997 |
1298 | 998 if ( !bRingsShownInCharScreen ) |
1455 | 999 pRenderer->DrawMaskToZBuffer(item_X, item_Y, &pIcons_LOD->pTextures[paperdoll_armor_texture[pBodyComplection][index][0]], |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1000 player->pEquipment.uArmor); |
1298 | 1001 } |
1002 } | |
1455 | 1003 //----------------------------------(End of Armor/Конец Брони)------------------------------------------ |
1004 //----------------------------------(Boot/Обувь)-------------------------------------------------------- | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1005 if ( player->GetItem(&PlayerEquipment::uBoot) ) |
1298 | 1006 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1007 item = player->GetBootItem(); |
1455 | 1008 switch ( item->uItemID ) |
1298 | 1009 { |
1455 | 1010 case ITEM_ARTIFACT_HERMES_SANDALS: |
1011 index = 5; | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1012 v59 = papredoll_flying_feet[player->uCurrentFace]; |
1298 | 1013 break; |
1455 | 1014 case ITEM_ARTIFACT_LEAGUE_BOOTS: |
1015 index = 6; | |
1298 | 1016 v59 = paperdoll_boots_texture[pBodyComplection][5]; |
1017 break; | |
1018 default: | |
1455 | 1019 index = item->uItemID - 115; |
1020 v59 = paperdoll_boots_texture[pBodyComplection][index]; | |
1298 | 1021 break; |
1022 } | |
1455 | 1023 if ( index >= 0 && index < 7 ) |
1298 | 1024 { |
1455 | 1025 item_X = pPaperdoll_BodyX + paperdoll_Boot[pBodyComplection][index][0]; |
1026 item_Y = pPaperdoll_BodyY + paperdoll_Boot[pBodyComplection][index][1]; | |
2092 | 1027 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1298 | 1028 { |
2092 | 1029 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 1030 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v59)); |
1298 | 1031 else |
1032 { | |
2092 | 1033 if ( item->uAttributes & ITEM_IDENTIFIED ) |
1455 | 1034 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(v59)); |
1298 | 1035 else |
1455 | 1036 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v59)); |
1298 | 1037 } |
1038 } | |
1039 else | |
1040 { | |
2092 | 1041 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 1042 container = "sptext01"; |
2092 | 1043 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 1044 container = "sp28a"; |
2092 | 1045 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 1046 container = "sp30a"; |
2092 | 1047 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 1048 container = "sp91a"; |
1298 | 1049 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
1050 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1051 { | |
1052 _50C9A8_item_enchantment_timer = 0; | |
1455 | 1053 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 1054 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1055 } |
1455 | 1056 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v59), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), |
1057 GetTickCount() * 0.1, 0, 255); | |
1298 | 1058 } |
1059 if ( !bRingsShownInCharScreen ) | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1060 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v59), player->pEquipment.uBoot); |
1298 | 1061 } |
1062 } | |
1455 | 1063 //--------------------------------------------(Hand/Рука)------------------------------------------------------ |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1064 if ( !player->GetItem(&PlayerEquipment::uMainHand) |
1989 | 1065 || ( player->GetMainHandItem()->GetItemEquipType() != EQUIP_TWO_HANDED) |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1066 && (player->GetMainHandItem()->GetPlayerSkillType() != PLAYER_SKILL_SPEAR |
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1067 || player->GetItem(&PlayerEquipment::uShield)) ) |
1455 | 1068 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0], |
1069 pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_dlads[uPlayerID - 1])); | |
1070 //--------------------------------------------(Belt/Пояс)------------------------------------------------------- | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1071 if ( player->GetItem(&PlayerEquipment::uBelt)) |
1455 | 1072 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1073 item = player->GetBeltItem(); |
1455 | 1074 switch ( item->uItemID ) |
1298 | 1075 { |
1076 case ITEM_RILIC_TITANS_BELT: | |
1455 | 1077 index = 5; |
1298 | 1078 break; |
1079 case ITEM_ARTIFACT_HEROS_BELT: | |
1455 | 1080 index = 6; |
1298 | 1081 break; |
1082 default: | |
1455 | 1083 index = item->uItemID - 100; |
1298 | 1084 break; |
1085 } | |
1455 | 1086 if ( index >= 0 && index < 7 ) |
1298 | 1087 { |
1455 | 1088 item_X = pPaperdoll_BodyX + paperdoll_Belt[pBodyComplection][index][0]; |
1089 item_Y = pPaperdoll_BodyY + paperdoll_Belt[pBodyComplection][index][1]; | |
1090 if ( IsDwarf != 1 || index == 5 ) | |
1091 v75 = paperdoll_belt_texture[pBodyComplection][index]; | |
1298 | 1092 else |
1455 | 1093 v75 = paperdoll_belt_texture[pBodyComplection - 2][index]; |
2092 | 1094 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1298 | 1095 { |
2092 | 1096 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 1097 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v75)); |
1298 | 1098 else |
1099 { | |
2092 | 1100 if ( item->uAttributes & ITEM_IDENTIFIED ) |
1455 | 1101 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(v75)); |
1298 | 1102 else |
1455 | 1103 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v75)); |
1298 | 1104 } |
1105 if ( !bRingsShownInCharScreen ) | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1106 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v75), player->pEquipment.uBelt); |
1298 | 1107 } |
1108 else | |
1109 { | |
2092 | 1110 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 1111 container = "sptext01"; |
2092 | 1112 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 1113 container = "sp28a"; |
2092 | 1114 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 1115 container = "sp30a"; |
2092 | 1116 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 1117 container = "sp91a"; |
1298 | 1118 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
1119 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1120 { | |
1121 _50C9A8_item_enchantment_timer = 0; | |
1455 | 1122 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 1123 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1124 } |
1455 | 1125 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v75), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), |
1126 GetTickCount() * 0.1, 0, 255); | |
1298 | 1127 } |
1128 } | |
1129 } | |
1455 | 1130 //---------------------------------------------(Hand2/Рука2)-------------------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1131 if ( player->GetItem(&PlayerEquipment::uMainHand) ) |
1298 | 1132 { |
1989 | 1133 if ( player->GetMainHandItem()->GetItemEquipType() == EQUIP_TWO_HANDED |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1134 || player->GetMainHandItem()->GetPlayerSkillType() == PLAYER_SKILL_SPEAR |
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1135 && !player->GetItem(&PlayerEquipment::uShield) ) |
1298 | 1136 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0], |
1455 | 1137 pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_dlaus[uPlayerID - 1])); |
1298 | 1138 } |
1466 | 1139 //--------------------------------(Shoulder/Плечи)--------------------------------------------- |
1822 | 1140 if (player->GetItem(&PlayerEquipment::uArmor)) |
1466 | 1141 { |
1822 | 1142 item = player->GetArmorItem(); |
1143 switch ( item->uItemID ) | |
1144 { | |
1648 | 1145 case ITEM_ARTIFACT_GOVERNORS_ARMOR: |
1466 | 1146 index = 15; |
1147 break; | |
1148 case ITEM_ARTIFACT_YORUBA: | |
1149 index = 14; | |
1150 break; | |
1151 case ITEM_RELIC_HARECS_LEATHER: | |
1152 index = 13; | |
1153 break; | |
1154 case ITEM_ELVEN_CHAINMAIL: | |
1155 index = 16; | |
1156 break; | |
1157 default: | |
1158 index = item->uItemID - 66; | |
1159 break; | |
1822 | 1160 } |
1161 if ( index >= 0 && index < 17 ) | |
1466 | 1162 { |
1822 | 1163 if ( player->GetItem(&PlayerEquipment::uMainHand) |
1989 | 1164 && (player->GetMainHandItem()->GetItemEquipType() == EQUIP_TWO_HANDED |
1822 | 1165 || player->GetMainHandItem()->GetPlayerSkillType() == PLAYER_SKILL_SPEAR |
1166 && !player->GetItem(&PlayerEquipment::uShield) ))//без щита | |
1466 | 1167 { |
1822 | 1168 v94 = paperdoll_armor_texture[pBodyComplection][index][2]; |
1169 if ( paperdoll_armor_texture[pBodyComplection][index][2] == pIcons_LOD->FindTextureByName("pending") ) | |
1466 | 1170 { |
1822 | 1171 v94 = paperdoll_armor_texture[pBodyComplection][index][1]; |
1172 item_X = pPaperdoll_BodyX + paperdoll_shoulder_coord[pBodyComplection][index][0]; | |
1173 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_coord[pBodyComplection][index][1]; | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1174 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1175 else |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1176 { |
1822 | 1177 item_X = pPaperdoll_BodyX + paperdoll_shoulder_second_coord[pBodyComplection][index][0]; |
1178 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_second_coord[pBodyComplection][index][1]; | |
1179 } | |
1180 if ( v94 != pIcons_LOD->FindTextureByName("pending") ) | |
1181 { | |
2092 | 1182 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1466 | 1183 { |
2092 | 1184 if ( item->uAttributes & ITEM_BROKEN ) |
1822 | 1185 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v94)); |
1186 else | |
1187 { | |
2092 | 1188 if ( item->uAttributes & ITEM_IDENTIFIED ) |
1822 | 1189 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(v94)); |
1190 else | |
1191 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v94)); | |
1192 } | |
1193 } | |
1194 else | |
1195 { | |
1196 if ( paperdoll_armor_texture[pBodyComplection][index][2] != pIcons_LOD->FindTextureByName("pending") ) | |
1466 | 1197 { |
2092 | 1198 if ( item->uAttributes & ITEM_ENCHANT_ANIMATION ) |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1199 { |
2092 | 1200 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1822 | 1201 container = "sptext01"; |
2092 | 1202 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1822 | 1203 container = "sp28a"; |
2092 | 1204 if ( ( item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1822 | 1205 container = "sp30a"; |
2092 | 1206 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1822 | 1207 container = "sp91a"; |
1208 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; | |
1209 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1210 { | |
1211 _50C9A8_item_enchantment_timer = 0; | |
1212 item->uAttributes &= 0xFFFFFF0Fu; | |
1213 ptr_50C9A4_ItemToEnchant = 0; | |
1214 } | |
1215 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v94), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), | |
1216 GetTickCount() * 0.1, 0, 255); | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1217 } |
1466 | 1218 } |
1219 } | |
1220 } | |
1221 } | |
1822 | 1222 else//без ничего или с щитом |
1466 | 1223 { |
1822 | 1224 //v94 = paperdoll_armor_texture[pBodyComplection][index][1]; |
1225 if ( paperdoll_armor_texture[pBodyComplection][index][1] != pIcons_LOD->FindTextureByName("pending") ) | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1226 { |
1822 | 1227 item_X = pPaperdoll_BodyX + paperdoll_shoulder_coord[pBodyComplection][index][0]; |
1228 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_coord[pBodyComplection][index][1]; | |
2092 | 1229 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1822 | 1230 { |
2092 | 1231 if ( item->uAttributes & ITEM_BROKEN ) |
1822 | 1232 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1])); |
1233 else | |
1234 { | |
2092 | 1235 if ( item->uAttributes & ITEM_IDENTIFIED ) |
1822 | 1236 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1])); |
1237 else | |
1238 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1])); | |
1239 } | |
1240 } | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1241 else |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1242 { |
2092 | 1243 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1822 | 1244 container = "sptext01"; |
2092 | 1245 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1822 | 1246 container = "sp28a"; |
2092 | 1247 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1822 | 1248 container = "sp30a"; |
2092 | 1249 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1822 | 1250 container = "sp91a"; |
1251 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; | |
1252 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1253 { | |
1254 _50C9A8_item_enchantment_timer = 0; | |
1255 item->uAttributes &= 0xFFFFFF0Fu; | |
1256 ptr_50C9A4_ItemToEnchant = 0; | |
1257 } | |
1258 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1]), | |
1259 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1260 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1261 } |
1466 | 1262 } |
1263 } | |
1264 } | |
1455 | 1265 //----------------------------------------------(Cloak collar/воротник плаща)------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1266 if ( player->GetItem(&PlayerEquipment::uCloak) ) |
1298 | 1267 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1268 item = player->GetCloakItem(); |
1455 | 1269 switch ( item->uItemID ) |
1298 | 1270 { |
1455 | 1271 case ITEM_RELIC_TWILIGHT: |
1272 index = 5; | |
1298 | 1273 break; |
1455 | 1274 case ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP: |
1275 index = 6; | |
1298 | 1276 break; |
1455 | 1277 case ITEM_RARE_SUN_CLOAK: |
1278 index = 7; | |
1298 | 1279 break; |
1455 | 1280 case ITEM_RARE_MOON_CLOAK: |
1281 index = 8; | |
1298 | 1282 break; |
1455 | 1283 case ITEM_RARE_VAMPIRES_CAPE: |
1284 index = 9; | |
1298 | 1285 break; |
1286 default: | |
1455 | 1287 index = item->uItemID - 105; |
1298 | 1288 } |
1455 | 1289 if ( index >= 0 && index < 10 ) |
1298 | 1290 { |
1455 | 1291 item_X = pPaperdoll_BodyX + paperdoll_CloakCollar[pBodyComplection][index][0]; |
1292 item_Y = pPaperdoll_BodyY + paperdoll_CloakCollar[pBodyComplection][index][1]; | |
1293 if ( paperdoll_cloak_collar_texture[pBodyComplection][index] != pIcons_LOD->FindTextureByName("pending") ) | |
1298 | 1294 { |
2092 | 1295 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1298 | 1296 { |
2092 | 1297 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 1298 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index])); |
1298 | 1299 else |
1455 | 1300 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index])); |
1298 | 1301 if ( !bRingsShownInCharScreen ) |
1455 | 1302 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index]), |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1303 player->pEquipment.uCloak); |
1298 | 1304 } |
1305 else | |
1306 { | |
2092 | 1307 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 1308 container = "sptext01"; |
2092 | 1309 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 1310 container = "sp28a"; |
2092 | 1311 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 1312 container = "sp30a"; |
2092 | 1313 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 1314 container = "sp91a"; |
1298 | 1315 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
1316 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1317 { | |
1318 _50C9A8_item_enchantment_timer = 0; | |
1455 | 1319 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 1320 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1321 } |
1455 | 1322 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index]), |
1323 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); | |
1298 | 1324 } |
1325 } | |
1326 } | |
1327 } | |
1455 | 1328 //--------------------------------------------(Beards/Борода)------------------------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1329 if ( player->uCurrentFace == 12 || player->uCurrentFace == 13 ) |
1298 | 1330 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1331 if ( papredoll_dbrds[player->uCurrentFace] != pIcons_LOD->FindTextureByName("Pending") ) |
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1332 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_Beards[2 * player->uCurrentFace - 24], |
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1333 pPaperdoll_BodyY + pPaperdoll_Beards[2 * player->uCurrentFace - 23], |
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1334 pIcons_LOD->GetTexture(papredoll_dbrds[player->uCurrentFace])); |
1298 | 1335 } |
1455 | 1336 //--------------------------------------------(Helm/Шлем)------------------------------------------------------------ |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1337 if ( player->GetItem(&PlayerEquipment::uHelm) ) |
1298 | 1338 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1339 item = player->GetHelmItem(); |
1455 | 1340 switch ( item->uItemID ) |
1298 | 1341 { |
1455 | 1342 case ITEM_RELIC_TALEDONS_HELM: |
1343 index = 11; | |
1298 | 1344 break; |
1455 | 1345 case ITEM_RELIC_SCHOLARS_CAP: |
1346 index = 12; | |
1298 | 1347 break; |
1455 | 1348 case ITEM_RELIC_PHYNAXIAN_CROWN: |
1349 index = 13; | |
1298 | 1350 break; |
1455 | 1351 case ITEM_ARTIFACT_MINDS_EYE: |
1352 index = 14; | |
1298 | 1353 break; |
1455 | 1354 case ITEM_RARE_SHADOWS_MASK: |
1355 index = 15; | |
1298 | 1356 break; |
1357 default: | |
1455 | 1358 index = item->uItemID - 89; |
1298 | 1359 } |
1455 | 1360 if ( index >= 0 && index < 16 ) |
1298 | 1361 { |
1455 | 1362 item_X = pPaperdoll_BodyX + paperdoll_Helm[pBodyComplection][index][0]; |
1363 item_Y = pPaperdoll_BodyY + paperdoll_Helm[pBodyComplection][index][1]; | |
1364 if ( IsDwarf != 1 || item->uItemID != 92 ) | |
1365 v127 = paperdoll_helm_texture[player->GetSexByVoice()][index]; | |
1298 | 1366 else |
1367 v127 = papredoll_dbrds[11]; | |
2092 | 1368 if ( item->uAttributes & ITEM_ENCHANT_ANIMATION ) |
1298 | 1369 { |
2092 | 1370 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 1371 container = "sptext01"; |
2092 | 1372 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 1373 container = "sp28a"; |
2092 | 1374 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 1375 container = "sp30a"; |
2092 | 1376 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 1377 container = "sp91a"; |
1298 | 1378 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
1379 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1380 { | |
1381 _50C9A8_item_enchantment_timer = 0; | |
1455 | 1382 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 1383 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1384 } |
1455 | 1385 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v127), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), |
1386 GetTickCount() * 0.1, 0, 255); | |
1298 | 1387 } |
1388 else | |
1389 { | |
2093 | 1390 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 1391 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v127)); |
1298 | 1392 else |
1393 { | |
2093 | 1394 if ( item->uAttributes & ITEM_IDENTIFIED ) |
1455 | 1395 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(v127)); |
1298 | 1396 else |
1455 | 1397 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v127)); |
1298 | 1398 } |
1399 } | |
1400 if ( !bRingsShownInCharScreen ) | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1401 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v127), player->pEquipment.uHelm); |
1298 | 1402 } |
1403 } | |
1455 | 1404 //------------------------------------------------(Hand3/Рука3)------------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1405 if ( player->GetItem(&PlayerEquipment::uMainHand) ) |
1298 | 1406 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1407 item = player->GetMainHandItem(); |
1455 | 1408 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[item->uItemID].uEquipX; |
1409 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item->uItemID].uEquipY; | |
1410 if ( item->uItemID == 64 ) | |
1298 | 1411 v181 = "item64v1"; |
1412 else | |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
1413 v181 = item->GetIconName(); |
2092 | 1414 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1298 | 1415 { |
2092 | 1416 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 1417 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE))); |
1298 | 1418 else |
1419 { | |
2092 | 1420 if ( item->uAttributes & ITEM_IDENTIFIED ) |
1455 | 1421 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE))); |
1298 | 1422 else |
1455 | 1423 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE))); |
1298 | 1424 } |
1425 } | |
1426 else | |
1427 { | |
2092 | 1428 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 1429 container = "sptext01"; |
2092 | 1430 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 1431 container = "sp28a"; |
2092 | 1432 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 1433 container = "sp30a"; |
2092 | 1434 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 1435 container = "sp91a"; |
1298 | 1436 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
1437 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1438 { | |
1439 _50C9A8_item_enchantment_timer = 0; | |
1455 | 1440 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 1441 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1442 } |
1455 | 1443 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE)), |
1444 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); | |
1298 | 1445 } |
1446 if ( !bRingsShownInCharScreen ) | |
1455 | 1447 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE)), |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1448 player->pEquipment.uMainHand); |
1298 | 1449 } |
1455 | 1450 //--------------------------------------------------(Shield/Щит)--------------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1451 if ( player->GetItem(&PlayerEquipment::uShield) ) |
1298 | 1452 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1453 item = player->GetOffHandItem(); |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
1454 if ( item->GetPlayerSkillType() == PLAYER_SKILL_DAGGER |
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
1455 || item->GetPlayerSkillType() == PLAYER_SKILL_SWORD ) |
1298 | 1456 { |
1455 | 1457 //v151 = item->uItemID - 400; |
1458 item_X = 596; | |
1298 | 1459 v245 = 1; |
1455 | 1460 switch ( item->uItemID ) |
1298 | 1461 { |
1462 case 400: | |
1455 | 1463 item_Y = 86; |
1298 | 1464 break; |
1465 case 403: | |
1455 | 1466 item_Y = 28; |
1298 | 1467 break; |
1468 case 415: | |
1455 | 1469 item_X = 595; |
1470 item_Y = 33; | |
1298 | 1471 break; |
1472 default: | |
1455 | 1473 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item->uItemID].uEquipX; |
1474 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item->uItemID].uEquipY; | |
1298 | 1475 break; |
1476 } | |
1477 } | |
1478 else | |
1479 { | |
1480 v245 = 0; | |
1455 | 1481 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item->uItemID].uEquipX; |
1482 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item->uItemID].uEquipY; | |
1298 | 1483 } |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
1484 v153 = pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE); |
2092 | 1485 if ( !(item->uAttributes & ITEM_ENCHANT_ANIMATION) ) |
1298 | 1486 { |
2092 | 1487 if ( item->uAttributes & ITEM_BROKEN ) |
1455 | 1488 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v153)); |
1298 | 1489 else |
1490 { | |
1455 | 1491 //v160 = (char *)pIcons_LOD->GetTexture(v153); |
2092 | 1492 if ( !(item->uAttributes & ITEM_IDENTIFIED) ) |
1455 | 1493 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v153)); |
1298 | 1494 else |
1455 | 1495 pRenderer->DrawTextureTransparent(item_X, item_Y, pIcons_LOD->GetTexture(v153)); |
1298 | 1496 } |
1497 } | |
1498 else | |
1499 { | |
2092 | 1500 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED ) |
1455 | 1501 container = "sptext01"; |
2092 | 1502 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE ) |
1455 | 1503 container = "sp28a"; |
2092 | 1504 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN ) |
1455 | 1505 container = "sp30a"; |
2092 | 1506 if ( (item->uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE ) |
1455 | 1507 container = "sp91a"; |
1298 | 1508 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; |
1509 if ( _50C9A8_item_enchantment_timer <= 0 ) | |
1510 { | |
1511 _50C9A8_item_enchantment_timer = 0; | |
1455 | 1512 item->uAttributes &= 0xFFFFFF0Fu; |
1682 | 1513 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1514 } |
1455 | 1515 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v153), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), |
1516 GetTickCount() * 0.1, 0, 255); | |
1298 | 1517 if ( v245 ) |
1518 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[pBodyComplection][0], | |
1519 pPaperdoll_BodyY + pPaperdollLeftEmptyHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_dlhs[uPlayerID - 1])); | |
1520 } | |
1521 if ( !bRingsShownInCharScreen ) | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1522 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v153), player->pEquipment.uShield); |
1298 | 1523 } |
1524 } | |
1455 | 1525 //--------------------------------------------------------(RightHand/Правая рука)-------------------------------------------------- |
1298 | 1526 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_RightHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_RightHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_drhs[uPlayerID - 1])); |
1455 | 1527 //--------------------------------------------------------(LeftHand/Левая рука)---------------------------------------------------- |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1528 if ( player->GetItem(&PlayerEquipment::uMainHand)) |
1298 | 1529 { |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1530 item = player->GetMainHandItem(); |
1989 | 1531 if ( item->GetItemEquipType() == EQUIP_TWO_HANDED |
1717 | 1532 || item->GetPlayerSkillType() == PLAYER_SKILL_SPEAR |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1533 && !player->GetItem(&PlayerEquipment::uShield) ) |
1298 | 1534 pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0], |
1535 pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1], | |
1536 pIcons_LOD->GetTexture(papredoll_dlhus[uPlayerID - 1])); | |
1537 } | |
1538 if ( !bRingsShownInCharScreen )//рисование лупы | |
1539 pRenderer->DrawTextureTransparent(603, 299, pIcons_LOD->GetTexture(uTextureID_MAGNIF_B)); | |
1540 pRenderer->DrawTextureTransparent(468, 0, pIcons_LOD->GetTexture(uTextureID_right_panel_loop));//обрамление | |
1541 } | |
1542 | |
1543 //----- (0041A2D1) -------------------------------------------------------- | |
1544 void CharacterUI_InventoryTab_Draw(Player *player, bool a2) | |
1545 { | |
1466 | 1546 Texture *pTexture; // esi@6 |
1547 int v13; // eax@13 | |
2114 | 1548 //int v15; // eax@13 |
1466 | 1549 unsigned int v17; // edi@15 |
1550 unsigned int uCellX; // [sp+30h] [bp-8h]@5 | |
1551 unsigned int uCellY; // [sp+34h] [bp-4h]@5 | |
1298 | 1552 |
1553 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->GetTexture(uTextureID_CharacterUI_InventoryBackground)); | |
1554 if (a2) | |
1555 pRenderer->DrawTextureIndexed(8, 305, pIcons_LOD->LoadTexturePtr("fr_strip", TEXTURE_16BIT_PALETTE)); | |
1556 for (uint i = 0; i < 126; ++i) | |
1557 { | |
1466 | 1558 if ( player->pInventoryMatrix[i] <= 0 ) |
1298 | 1559 continue; |
1466 | 1560 if ( !player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uItemID ) |
1298 | 1561 continue; |
1562 uCellY = 32 * (i / 14) + 17; | |
1563 uCellX = 32 * (i % 14) + 14; | |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
1564 uint item_texture_id = pIcons_LOD->LoadTexture(player->pInventoryItemList[player->pInventoryMatrix[i] - 1].GetIconName(), TEXTURE_16BIT_PALETTE); |
1466 | 1565 pTexture = pIcons_LOD->GetTexture(item_texture_id); |
1566 if (pTexture->uTextureWidth < 14) | |
1567 pTexture->uTextureWidth = 14; | |
1568 if ( (pTexture->uTextureWidth - 14) / 32 == 0 && pTexture->uTextureWidth < 32) | |
1569 uCellX += (32 - pTexture->uTextureWidth) / 2; | |
2114 | 1570 //v13 = pTexture->uTextureWidth - 14; |
1571 //LOBYTE(v13) = v13 & 0xE0; | |
1572 //v15 = v13 + 32; | |
1466 | 1573 if (pTexture->uTextureHeight < 14 ) |
1574 pTexture->uTextureHeight = 14; | |
2114 | 1575 v17 = uCellX + (( (int)((pTexture->uTextureWidth - 14) & 0xE0) + 32 - pTexture->uTextureWidth) / 2) |
1576 + pSRZBufferLineOffsets[uCellY + (( (int)((pTexture->uTextureHeight - 14) & 0xFFFFFFE0) - pTexture->uTextureHeight + 32) / 2)]; //added typecast. without it the value in the brackets got cat to unsigned which messed stuff up | |
2092 | 1577 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes & ITEM_ENCHANT_ANIMATION) |
1298 | 1578 { |
1978
2233efdc8d00
fixing wrong shape of element being enchanted in inventory
Grumpy7
parents:
1861
diff
changeset
|
1579 Texture *loadedTextureptr = nullptr; |
2092 | 1580 switch (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes & ITEM_ENCHANT_ANIMATION) |
1298 | 1581 { |
1978
2233efdc8d00
fixing wrong shape of element being enchanted in inventory
Grumpy7
parents:
1861
diff
changeset
|
1582 case ITEM_AURA_EFFECT_RED: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sptext01", TEXTURE_16BIT_PALETTE); break; |
2233efdc8d00
fixing wrong shape of element being enchanted in inventory
Grumpy7
parents:
1861
diff
changeset
|
1583 case ITEM_AURA_EFFECT_BLUE: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sp28a", TEXTURE_16BIT_PALETTE); break; |
2233efdc8d00
fixing wrong shape of element being enchanted in inventory
Grumpy7
parents:
1861
diff
changeset
|
1584 case ITEM_AURA_EFFECT_GREEN: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sp30a", TEXTURE_16BIT_PALETTE); break; |
2233efdc8d00
fixing wrong shape of element being enchanted in inventory
Grumpy7
parents:
1861
diff
changeset
|
1585 case ITEM_AURA_EFFECT_PURPLE: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sp91a", TEXTURE_16BIT_PALETTE); break; |
1298 | 1586 } |
1587 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; | |
1588 if (_50C9A8_item_enchantment_timer <= 0) | |
1589 { | |
1590 _50C9A8_item_enchantment_timer = 0; | |
1466 | 1591 LOBYTE(player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes) &= 0xF; |
1682 | 1592 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1593 } |
1978
2233efdc8d00
fixing wrong shape of element being enchanted in inventory
Grumpy7
parents:
1861
diff
changeset
|
1594 |
2233efdc8d00
fixing wrong shape of element being enchanted in inventory
Grumpy7
parents:
1861
diff
changeset
|
1595 pRenderer->DrawAura(uCellX, uCellY, pTexture, loadedTextureptr, GetTickCount() * 0.1, 0, 255); |
1466 | 1596 ZBuffer_Fill(&pRenderer->pActiveZBuffer[v17], item_texture_id, player->pInventoryMatrix[i]); |
1298 | 1597 } |
1598 else | |
1599 { | |
1567
9f8b3e904e14
Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents:
1545
diff
changeset
|
1600 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].IsIdentified() || pCurrentScreen != SCREEN_HOUSE) |
1298 | 1601 { |
1567
9f8b3e904e14
Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents:
1545
diff
changeset
|
1602 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].IsBroken()) |
1466 | 1603 pRenderer->DrawTransparentRedShade(uCellX, uCellY, pTexture); |
1298 | 1604 else |
1466 | 1605 pRenderer->DrawTextureTransparent(uCellX, uCellY, pTexture); |
1298 | 1606 } |
1607 else | |
1466 | 1608 pRenderer->DrawTransparentGreenShade(uCellX, uCellY, pTexture); |
1609 ZBuffer_Fill(&pRenderer->pActiveZBuffer[v17], item_texture_id, player->pInventoryMatrix[i]); | |
1298 | 1610 continue; |
1611 } | |
1612 } | |
1613 } | |
1614 | |
1615 static void CharacterUI_DrawItem(int x, int y, ItemGen *item, int id) | |
1616 { | |
1980 | 1617 Texture* item_texture = pIcons_LOD->LoadTexturePtr(item->GetIconName(), TEXTURE_16BIT_PALETTE); |
1298 | 1618 |
2092 | 1619 if (item->uAttributes & ITEM_ENCHANT_ANIMATION) // enchant animation |
1298 | 1620 { |
1621 Texture *enchantment_texture = nullptr; | |
2092 | 1622 switch (item->uAttributes & ITEM_ENCHANT_ANIMATION) |
1298 | 1623 { |
1624 case ITEM_AURA_EFFECT_RED: enchantment_texture = pIcons_LOD->LoadTexturePtr("sptext01", TEXTURE_16BIT_PALETTE); break; | |
1625 case ITEM_AURA_EFFECT_BLUE: enchantment_texture = pIcons_LOD->LoadTexturePtr("sp28a", TEXTURE_16BIT_PALETTE); break; | |
1626 case ITEM_AURA_EFFECT_GREEN: enchantment_texture = pIcons_LOD->LoadTexturePtr("sp30a", TEXTURE_16BIT_PALETTE); break; | |
1627 case ITEM_AURA_EFFECT_PURPLE: enchantment_texture = pIcons_LOD->LoadTexturePtr("sp91a", TEXTURE_16BIT_PALETTE); break; | |
1628 } | |
1629 | |
1630 _50C9A8_item_enchantment_timer -= pEventTimer->uTimeElapsed; | |
1631 if (_50C9A8_item_enchantment_timer <= 0) | |
1632 { | |
1633 _50C9A8_item_enchantment_timer = 0; | |
1634 item->uAttributes &= 0xFFFFFF0F; | |
1682 | 1635 ptr_50C9A4_ItemToEnchant = 0; |
1298 | 1636 } |
1455 | 1637 pRenderer->DrawAura(x, y, item_texture, enchantment_texture, GetTickCount() * 0.1, 0, 255); |
1298 | 1638 } |
1639 else | |
1640 { | |
1567
9f8b3e904e14
Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents:
1545
diff
changeset
|
1641 if (item->IsBroken()) |
1298 | 1642 pRenderer->DrawTransparentRedShade(x, y, item_texture); |
1567
9f8b3e904e14
Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents:
1545
diff
changeset
|
1643 else if (!item->IsIdentified()) |
1298 | 1644 pRenderer->DrawTransparentGreenShade(x, y, item_texture); |
1645 else | |
1646 pRenderer->DrawTextureTransparent(x, y, item_texture); | |
1647 | |
1648 pRenderer->ZBuffer_Fill_2(x, y, item_texture, id); | |
1649 } | |
1650 } | |
1651 | |
1652 //----- (0043E825) -------------------------------------------------------- | |
1653 void CharacterUI_DrawPaperdollWithRingOverlay(Player *player) | |
1654 { | |
1655 CharacterUI_DrawPaperdoll(player); | |
1656 pRenderer->DrawTextureTransparent(0x1D9u, 0, pIcons_LOD->GetTexture(uTextureID_BACKHAND)); | |
1657 pRenderer->DrawTextureTransparent(0x1D4u, 0, pIcons_LOD->GetTexture(uTextureID_right_panel_loop)); | |
1466 | 1658 pRenderer->DrawTextureIndexed(pCharacterScreen_DetalizBtn->uX, pCharacterScreen_DetalizBtn->uY, |
1298 | 1659 pIcons_LOD->GetTexture(uTextureID_detaliz_close_button)); |
1660 for (uint i = 0; i < 6; ++i) | |
1661 { | |
1662 if (!player->pEquipment.uRings[i]) | |
1663 continue; | |
1664 static int pPaperdollRingsX[6] = {0x1EA, 0x21A, 0x248, 0x1EA, 0x21A, 0x248}; | |
1665 static int pPaperdollRingsY[6] = {0x0CA, 0x0CA, 0x0CA, 0x0FA, 0x0FA, 0x0FA}; | |
1466 | 1666 CharacterUI_DrawItem(pPaperdollRingsX[i], pPaperdollRingsY[i], &player->pInventoryItemList[player->pEquipment.uRings[i] - 1], |
1298 | 1667 player->pEquipment.uRings[i]); |
1668 } | |
1669 if (player->pEquipment.uAmulet) | |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1670 CharacterUI_DrawItem(493, 91, player->GetAmuletItem(), player->pEquipment.uAmulet); |
1298 | 1671 if (player->pEquipment.uGlove) |
1817
0f1543750bf8
Changing itemlist accesses to helper functions + getting rid of some pPlayers array accesses
Grumpy7
parents:
1754
diff
changeset
|
1672 CharacterUI_DrawItem(586, 88, player->GetGloveItem(), player->pEquipment.uGlove); |
1298 | 1673 } |
1674 | |
1675 //----- (0043BCA7) -------------------------------------------------------- | |
1676 void CharacterUI_LoadPaperdollTextures() | |
1677 { | |
1678 int v3; // ebx@10 | |
1679 Player *pPlayer; // edi@12 | |
1680 int v6; // edi@16 | |
1681 unsigned int v7; // eax@16 | |
1682 Player *pPlayer2; // ebx@16 | |
1683 char *v9; // ebx@16 | |
1684 unsigned int v22; // eax@76 | |
1685 int v23; // ecx@76 | |
1686 unsigned int v24; // eax@78 | |
1687 int v25; // ecx@78 | |
1688 unsigned int v27; // eax@80 | |
1689 int v28; // ecx@80 | |
1690 signed int v32; // [sp+10h] [bp-28h]@75 | |
1691 signed int v33; // [sp+10h] [bp-28h]@77 | |
1692 int v34; // [sp+10h] [bp-28h]@79 | |
1693 int pItemTXTNum; // [sp+14h] [bp-24h]@75 | |
1694 int v37; // [sp+14h] [bp-24h]@77 | |
1695 signed int v38; // [sp+14h] [bp-24h]@79 | |
1696 char pContainer[128]; // [sp+24h] [bp-14h]@12 | |
1697 | |
1698 uTextureID_MAGNIF_B = pIcons_LOD->LoadTexture("MAGNIF-B", TEXTURE_16BIT_PALETTE); | |
1699 //if ( !pParty->uAlignment || pParty->uAlignment == 1 || pParty->uAlignment == 2 ) | |
1700 uTextureID_BACKDOLL = pIcons_LOD->LoadTexture("BACKDOLL", TEXTURE_16BIT_PALETTE); | |
1701 uTextureID_right_panel_loop = uTextureID_right_panel; | |
1702 uTextureID_BACKHAND = pIcons_LOD->LoadTexture("BACKHAND", TEXTURE_16BIT_PALETTE); | |
1703 uTextureID_detaliz_close_button = uExitCancelTextureId; | |
1466 | 1704 for ( uint i = 0; i < 4; ++i ) |
1298 | 1705 { |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1706 if ( pPlayers[i + 1]->HasUnderwaterSuitEquipped() ) |
1298 | 1707 { |
1466 | 1708 if ( pPlayers[i + 1]->GetRace() == CHARACTER_RACE_DWARF ) |
1709 v3 = (pPlayers[i + 1]->GetSexByVoice() != 0) + 3; | |
1298 | 1710 else |
1466 | 1711 v3 = (pPlayers[i + 1]->GetSexByVoice() != 0) + 1; |
1298 | 1712 wsprintfA(pContainer, "pc23v%dBod", v3); |
1466 | 1713 papredoll_dbods[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);//Body texture |
1298 | 1714 wsprintfA(pContainer, "pc23v%dlad", v3); |
1466 | 1715 papredoll_dlads[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Left Hand |
1298 | 1716 wsprintfA(pContainer, "pc23v%dlau", v3); |
1466 | 1717 papredoll_dlaus[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Left Hand2 |
1298 | 1718 wsprintfA(pContainer, "pc23v%drh", v3); |
1466 | 1719 papredoll_drhs[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Right Hand |
1298 | 1720 wsprintfA(pContainer, "pc23v%dlh", v3); |
1466 | 1721 papredoll_dlhs[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Left Fist |
1298 | 1722 wsprintfA(pContainer, "pc23v%dlhu", v3); |
1466 | 1723 papredoll_dlhus[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); // Left Fist 2 |
1724 pPlayer = pPlayers[i + 1]; | |
1725 if ( pPlayer->uCurrentFace == 12 || pPlayer->uCurrentFace == 13 ) | |
1726 papredoll_dbrds[(char)pPlayer->uCurrentFace] = 0; | |
1298 | 1727 papredoll_flying_feet[pPlayer->uCurrentFace] = 0; |
1466 | 1728 IsPlayerWearingWatersuit[i + 1] = 1; |
1298 | 1729 } |
1730 else | |
1731 { | |
1466 | 1732 papredoll_dbods[i] = pIcons_LOD->LoadTexture(dbod_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); |
1733 papredoll_dlads[i] = pIcons_LOD->LoadTexture(dlad_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); | |
1734 papredoll_dlaus[i] = pIcons_LOD->LoadTexture(dlau_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); | |
1735 papredoll_drhs[i] = pIcons_LOD->LoadTexture(drh_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); | |
1736 papredoll_dlhs[i] = pIcons_LOD->LoadTexture(dlh_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); | |
1737 papredoll_dlhus[i] = pIcons_LOD->LoadTexture(dlhu_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); | |
1738 if ( pPlayers[i + 1]->uCurrentFace == 12 || pPlayers[i + 1]->uCurrentFace == 13 ) | |
1298 | 1739 { |
1466 | 1740 wsprintfA(pContainer, "pc%02dbrd", pPlayers[i + 1]->uCurrentFace + 1); |
1741 papredoll_dbrds[pPlayers[i + 1]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1298 | 1742 } |
1466 | 1743 wsprintfA(pContainer, "item281pc%02d", pPlayers[i + 1]->uCurrentFace + 1); |
1744 papredoll_flying_feet[pPlayers[i + 1]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1745 IsPlayerWearingWatersuit[i + 1] = 0; | |
1298 | 1746 } |
1747 } | |
1466 | 1748 |
1298 | 1749 uTextureID_ar_up_up = pIcons_LOD->LoadTexture("ar_up_up", TEXTURE_16BIT_PALETTE); |
1750 uTextureID_ar_up_dn = pIcons_LOD->LoadTexture("ar_up_dn", TEXTURE_16BIT_PALETTE); | |
1751 uTextureID_ar_dn_up = pIcons_LOD->LoadTexture("ar_dn_up", TEXTURE_16BIT_PALETTE); | |
1752 uTextureID_ar_dn_dn = pIcons_LOD->LoadTexture("ar_dn_dn", TEXTURE_16BIT_PALETTE); | |
1753 papredoll_dbrds[9] = pIcons_LOD->LoadTexture("ib-cd1-d", TEXTURE_16BIT_PALETTE); | |
1754 papredoll_dbrds[7] = pIcons_LOD->LoadTexture("ib-cd2-d", TEXTURE_16BIT_PALETTE); | |
1755 papredoll_dbrds[5] = pIcons_LOD->LoadTexture("ib-cd3-d", TEXTURE_16BIT_PALETTE); | |
1756 papredoll_dbrds[3] = pIcons_LOD->LoadTexture("ib-cd4-d", TEXTURE_16BIT_PALETTE); | |
1757 papredoll_dbrds[1] = pIcons_LOD->LoadTexture("ib-cd5-d", TEXTURE_16BIT_PALETTE); | |
1466 | 1758 for ( uint i = 0; i < 54; ++i )// test equipment |
1298 | 1759 { |
1466 | 1760 party_has_equipment[i] = 0; |
1761 if ( pParty->pPickedItem.uItemID != i + 66 ) | |
1298 | 1762 { |
1466 | 1763 for ( uint j = 0; j < 4; ++j) |
1298 | 1764 { |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1765 if ( pParty->pPlayers[j].HasItem(i + 66, 0) ) |
1466 | 1766 party_has_equipment[i] = 1; |
1298 | 1767 } |
1768 } | |
1769 } | |
1518
091c5eb46a0e
Fix size of byte_5111F6, it must include unk_511206 (as byte).
yoctozepto
parents:
1507
diff
changeset
|
1770 memset(byte_5111F6.data(), 0, sizeof(byte_5111F6)); |
1298 | 1771 for (uint i = 0; i < 4; ++i) |
1772 { | |
1980 | 1773 Player* player = &pParty->pPlayers[i]; |
1298 | 1774 |
1648 | 1775 if (player->HasItem(ITEM_ARTIFACT_GOVERNORS_ARMOR, 1)) byte_5111F6[0] = 1; |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1776 if (player->HasItem(ITEM_ARTIFACT_YORUBA, 1)) byte_5111F6[1] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1777 if (player->HasItem(ITEM_RELIC_HARECS_LEATHER, 1)) byte_5111F6[2] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1778 if (player->HasItem(ITEM_ARTIFACT_LEAGUE_BOOTS, 1)) byte_5111F6[3] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1779 if (player->HasItem(ITEM_RELIC_TALEDONS_HELM, 1)) byte_5111F6[4] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1780 if (player->HasItem(ITEM_RELIC_SCHOLARS_CAP, 1)) byte_5111F6[5] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1781 if (player->HasItem(ITEM_RELIC_PHYNAXIAN_CROWN, 1)) byte_5111F6[6] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1782 if (player->HasItem(ITEM_ARTIFACT_MINDS_EYE, 1)) byte_5111F6[7] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1783 if (player->HasItem(ITEM_RARE_SHADOWS_MASK, 1)) byte_5111F6[8] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1784 if (player->HasItem(ITEM_RILIC_TITANS_BELT, 1)) byte_5111F6[9] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1785 if (player->HasItem(ITEM_ARTIFACT_HEROS_BELT, 1)) byte_5111F6[10] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1786 if (player->HasItem(ITEM_RELIC_TWILIGHT, 1)) byte_5111F6[11] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1787 if (player->HasItem(ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP, 1)) byte_5111F6[12] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1788 if (player->HasItem(ITEM_RARE_SUN_CLOAK, 1)) byte_5111F6[13] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1789 if (player->HasItem(ITEM_RARE_MOON_CLOAK, 1)) byte_5111F6[14] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1790 if (player->HasItem(ITEM_RARE_VAMPIRES_CAPE, 1)) byte_5111F6[15] = 1; |
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1791 if (player->HasItem(ITEM_ELVEN_CHAINMAIL, 1)) byte_5111F6[16] = 1; |
1298 | 1792 } |
1793 | |
1794 for (uint i = 0; i < 2; ++i) | |
1795 { | |
1796 for ( uint j = 0; j < 5; ++j )//Belt | |
1797 { | |
1798 GetItemTextureFilename(pContainer, j + 100, i + 1, 0); | |
1799 paperdoll_belt_texture[i][j] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1800 } | |
1801 GetItemTextureFilename(pContainer, 535, i + 1, 0); | |
1802 paperdoll_belt_texture[i][6] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1803 for ( uint j = 0; j < 11; ++j )//Helm | |
1804 { | |
1805 GetItemTextureFilename(pContainer, j + 89, i + 1, 0); | |
1806 paperdoll_helm_texture[i][j] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1807 } | |
1808 GetItemTextureFilename(pContainer, 521, i + 1, 0); | |
1809 paperdoll_helm_texture[i][11] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1810 GetItemTextureFilename(pContainer, 522, i + 1, 0); | |
1811 paperdoll_helm_texture[i][12] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1812 GetItemTextureFilename(pContainer, 523, i + 1, 0); | |
1813 paperdoll_helm_texture[i][13] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1814 GetItemTextureFilename(pContainer, 532, i + 1, 0); | |
1815 paperdoll_helm_texture[i][14] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1816 GetItemTextureFilename(pContainer, 544, i + 1, 0); | |
1817 paperdoll_helm_texture[i][15] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1647
511cd6dd1048
_43ED6F_check_party_races to IsDwarfPresentInParty
Grumpy7
parents:
1620
diff
changeset
|
1818 if ( IsDwarfPresentInParty(true) ) //the phynaxian helm uses a slightly different graphic for dwarves |
1298 | 1819 papredoll_dbrds[11] = pIcons_LOD->LoadTexture("item092v3", TEXTURE_16BIT_PALETTE); |
1820 } | |
1466 | 1821 //v43 = 0; |
1298 | 1822 for (uint i = 0; i < 4; ++i) |
1823 { | |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
1824 if ( ShouldLoadTexturesForRaceAndGender(i) ) |
1298 | 1825 { |
1826 GetItemTextureFilename(pContainer, 524, i + 1, 0); | |
1827 paperdoll_belt_texture[i][5] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);//Titans belt | |
1828 pItemTXTNum = 66; | |
1829 for ( v32 = 0; v32 < 13; ++v32 )//simple armor | |
1830 { | |
1831 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 0); | |
1466 | 1832 paperdoll_armor_texture[i][v32][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// armor |
1298 | 1833 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 1); |
1466 | 1834 paperdoll_armor_texture[i][v32][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// shoulder 1 |
1298 | 1835 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 2); |
1466 | 1836 paperdoll_armor_texture[i][v32][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// shoulder 2 |
1298 | 1837 pItemTXTNum++; |
1838 } | |
1839 GetItemTextureFilename(pContainer, 516, i + 1, 0);//artefacts | |
1840 paperdoll_armor_texture[i][v32][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1841 GetItemTextureFilename(pContainer, 516, i + 1, 1); | |
1842 paperdoll_armor_texture[i][v32][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1843 GetItemTextureFilename(pContainer, 516, i + 1, 2); | |
1844 paperdoll_armor_texture[i][v32][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1845 GetItemTextureFilename(pContainer, 505, i + 1, 0); | |
1846 paperdoll_armor_texture[i][v32 + 1][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1847 GetItemTextureFilename(pContainer, 505, i + 1, 1); | |
1848 paperdoll_armor_texture[i][v32 + 1][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1849 GetItemTextureFilename(pContainer, 505, i + 1, 2); | |
1850 paperdoll_armor_texture[i][v32 + 1][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1851 GetItemTextureFilename(pContainer, 504, i + 1, 0); | |
1852 paperdoll_armor_texture[i][v32 + 2][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1853 GetItemTextureFilename(pContainer, 504, i + 1, 1); | |
1854 paperdoll_armor_texture[i][v32 + 2][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1855 GetItemTextureFilename(pContainer, 504, i + 1, 2); | |
1856 paperdoll_armor_texture[i][v32 + 2][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1857 GetItemTextureFilename(pContainer, 533, i + 1, 0); | |
1858 paperdoll_armor_texture[i][v32 + 3][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1859 GetItemTextureFilename(pContainer, 533, i + 1, 1); | |
1860 paperdoll_armor_texture[i][v32 + 3][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1861 GetItemTextureFilename(pContainer, 533, i + 1, 2); | |
1862 paperdoll_armor_texture[i][v32 + 3][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1863 for ( v33 = 0; v33 < 5; ++v33 )//boots | |
1864 { | |
1865 GetItemTextureFilename(pContainer, v33 + 115, i + 1, 0); | |
1866 paperdoll_boots_texture[i][v33] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1867 } | |
1868 GetItemTextureFilename(pContainer, 512, i + 1, 0); | |
1869 paperdoll_boots_texture[i][v33] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1870 for ( v38 = 0; v38 < 5; ++v38 )//Cloak | |
1871 { | |
1872 GetItemTextureFilename(pContainer, v38 + 105, i + 1, 0); | |
1873 paperdoll_cloak_texture[i][v38] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1874 GetItemTextureFilename(pContainer, v38 + 105, i + 1, 1); | |
1875 paperdoll_cloak_collar_texture[i][v38] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1876 } | |
1877 GetItemTextureFilename(pContainer, 525, i + 1, 0); | |
1878 paperdoll_cloak_texture[i][5] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1879 GetItemTextureFilename(pContainer, 530, i + 1, 0); | |
1880 paperdoll_cloak_texture[i][6] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1881 GetItemTextureFilename(pContainer, 547, i + 1, 0); | |
1882 paperdoll_cloak_texture[i][7] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1883 GetItemTextureFilename(pContainer, 548, i + 1, 0); | |
1884 paperdoll_cloak_texture[i][8] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1885 GetItemTextureFilename(pContainer, 550, i + 1, 0); | |
1886 paperdoll_cloak_texture[i][9] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1887 GetItemTextureFilename(pContainer, 525, i + 1, 1); | |
1888 paperdoll_cloak_collar_texture[i][5] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1889 GetItemTextureFilename(pContainer, 530, i + 1, 1); | |
1890 paperdoll_cloak_collar_texture[i][6] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1891 GetItemTextureFilename(pContainer, 547, i + 1, 1); | |
1892 paperdoll_cloak_collar_texture[i][7] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1893 GetItemTextureFilename(pContainer, 548, i + 1, 1); | |
1894 paperdoll_cloak_collar_texture[i][8] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1895 GetItemTextureFilename(pContainer, 550, i + 1, 1); | |
1896 paperdoll_cloak_collar_texture[i][9] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); | |
1897 } | |
1466 | 1898 //else |
1899 //{ | |
1900 //v26 = v43; | |
1901 //} | |
1902 //v43 = v26 + 40; | |
1298 | 1903 } |
1904 } | |
1905 | |
1906 //----- (00419401) -------------------------------------------------------- | |
1907 void CharacterUI_SkillsTab_CreateButtons() | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1908 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1909 GUIButton *pButton; // eax@3 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1910 unsigned int current_Y; // esi@8 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1911 int buttons_count; // [sp+10h] [bp-14h]@1 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1912 int first_rows; // [sp+14h] [bp-10h]@19 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1913 int skill_id; // [sp+18h] [bp-Ch]@8 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1914 Player *curr_player; // [sp+1Ch] [bp-8h]@8 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1915 int i; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1916 int uCurrFontHeght; |
1298 | 1917 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1918 buttons_count = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1919 if ( dword_507CC0_activ_ch ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1920 CharacterUI_ReleaseButtons(); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1921 dword_507CC0_activ_ch = uActiveCharacter; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1922 for ( pButton = pGUIWindow_CurrentMenu->pControlsHead; pButton; pButton = pButton->pNext ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1923 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1924 if ( pButton->msg == UIMSG_InventoryLeftClick ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1925 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1926 dword_50698C_uX = pButton->uX; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1927 dword_506988_uY = pButton->uY; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1928 dword_506984_uZ = pButton->uZ; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1929 dword_506980_uW = pButton->uW; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1930 pButton->uW = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1931 pButton->uZ = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1932 pButton->uY = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1933 pButton->uX = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1934 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1935 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1936 first_rows = 0; |
2100 | 1937 int a5 = pGUIWindow_CurrentMenu->uNumControls; |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1938 curr_player = &pParty->pPlayers[uActiveCharacter-1]; |
1298 | 1939 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1940 uCurrFontHeght=pFontLucida->uFontHeight; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1941 current_Y = 2 *uCurrFontHeght + 13; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1942 for( i = 0; i < 9; ++i ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1943 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1944 skill_id = pWeaponSkills[i]; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1945 if ( curr_player->pActiveSkills[skill_id] & 0x3F ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1946 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1947 current_Y += uCurrFontHeght - 3; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1948 ++buttons_count; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1949 ++first_rows; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1950 pGUIWindow_CurrentMenu->CreateButton(24, current_Y, 204, uCurrFontHeght - 3, 3, skill_id | 0x8000, UIMSG_SkillUp, skill_id, 0, "", 0, 0); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1951 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1952 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1953 if ( !first_rows ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1954 current_Y += uCurrFontHeght - 3; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1955 current_Y += 2 * uCurrFontHeght - 6; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1956 for ( i = 0; i < 9; ++i ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1957 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1958 skill_id = pMagicSkills[i]; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1959 if ( curr_player->pActiveSkills[skill_id] & 0x3F && buttons_count < 15 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1960 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1961 current_Y += uCurrFontHeght - 3; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1962 ++buttons_count; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1963 pGUIWindow_CurrentMenu->CreateButton(24, current_Y, 204, uCurrFontHeght - 3, 3, skill_id | 0x8000, UIMSG_SkillUp, skill_id, 0, "", 0, 0); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1964 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1965 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1966 first_rows = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1967 current_Y = 2 * uCurrFontHeght + 13; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1968 for ( i = 0; i < 5; ++i ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1969 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1970 skill_id = pArmorSkills[i]; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1971 if ( curr_player->pActiveSkills[skill_id] & 0x3F ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1972 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1973 current_Y+= uCurrFontHeght - 3; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1974 ++buttons_count; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1975 ++first_rows; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1976 pGUIWindow_CurrentMenu->CreateButton(246, current_Y, 204, uCurrFontHeght - 3, 3, skill_id | 0x8000, UIMSG_SkillUp, skill_id, 0, "", 0, 0); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1977 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1978 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1979 if ( !first_rows ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1980 current_Y += uCurrFontHeght - 3; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1981 current_Y += 2 * uCurrFontHeght - 6; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1982 for ( i = 0; i < 12; ++i ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1983 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1984 skill_id = pMiscSkills[i]; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1985 if ( curr_player->pActiveSkills[skill_id] & 0x3F ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1986 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1987 current_Y += uCurrFontHeght - 3; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1988 ++buttons_count; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1989 pGUIWindow_CurrentMenu->CreateButton(246, current_Y, 204, uCurrFontHeght - 3, 3, skill_id | 0x8000, UIMSG_SkillUp, skill_id, 0, "", 0, 0); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1990 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1991 } |
1298 | 1992 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1993 if ( buttons_count ) |
2100 | 1994 pGUIWindow_CurrentMenu->_41D08F_set_keyboard_control_group(buttons_count, 1, 0, a5); |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1995 } |
1298 | 1996 |
1997 //----- (00418511) -------------------------------------------------------- | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1998 void CharacterUI_StatsTab_Draw( Player *player ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
1999 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2000 int pY; // ST34_4@4 |
1838 | 2001 const char *pText; // eax@9 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2002 const char *a2; // [sp+14h] [bp-Ch]@4 |
1298 | 2003 |
2004 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->LoadTexturePtr("fr_stats", TEXTURE_16BIT_PALETTE)); | |
2005 sprintf(pTmpBuf.data(), "\f%05d", ui_character_header_text_color); | |
2006 sprintfex(pTmpBuf2.data(), pGlobalTXT_LocalizationStrings[429], player->pName, pClassNames[player->classType]);//"^Pi[%s] %s" / "%s the %s" | |
2007 strcat(pTmpBuf.data(), pTmpBuf2.data()); | |
2008 sprintfex(pTmpBuf2.data(), "\f00000\r180%s: \f%05d%d\f00000\n\n\n", | |
2009 pGlobalTXT_LocalizationStrings[207], // "Skill points" | |
2010 player->uSkillPoints ? ui_character_bonus_text_color : ui_character_default_text_color, | |
2011 player->uSkillPoints); | |
2012 strcat(pTmpBuf.data(), pTmpBuf2.data()); | |
2013 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, 18, 0, pTmpBuf.data(), 0, 0, 0); | |
2014 | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2015 //First column(Первая колонка) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2016 pY = 53; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2017 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n", pGlobalTXT_LocalizationStrings[144], |
1507 | 2018 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualMight(), player->GetBaseStrength()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2019 player->GetActualMight(), player->GetBaseStrength());//Might |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2020 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2021 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2022 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2023 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n", pGlobalTXT_LocalizationStrings[116], |
1507 | 2024 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualIntelligence(), player->GetBaseIntelligence()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2025 player->GetActualIntelligence(), player->GetBaseIntelligence());//Intellect |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2026 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2027 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2028 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2029 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n", pGlobalTXT_LocalizationStrings[163], |
1507 | 2030 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualWillpower(), player->GetBaseWillpower()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2031 player->GetActualWillpower(), player->GetBaseWillpower());// |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2032 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2033 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2034 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2035 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n", pGlobalTXT_LocalizationStrings[75], |
1507 | 2036 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualEndurance(), player->GetBaseEndurance()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2037 player->GetActualEndurance(), player->GetBaseEndurance());// |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2038 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2039 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2040 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2041 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n", pGlobalTXT_LocalizationStrings[1], |
1507 | 2042 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualAccuracy(), player->GetBaseAccuracy()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2043 player->GetActualAccuracy(), player->GetBaseAccuracy()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2044 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2045 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2046 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2047 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n", pGlobalTXT_LocalizationStrings[211], |
1507 | 2048 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualSpeed(), player->GetBaseSpeed()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2049 player->GetActualSpeed(), player->GetBaseSpeed()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2050 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2051 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2052 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2053 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n\n", pGlobalTXT_LocalizationStrings[136], |
1507 | 2054 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualLuck(), player->GetBaseLuck()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2055 player->GetActualLuck(), player->GetBaseLuck()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2056 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2057 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2058 a2 = "%s\f%05u\r424%d\f00000 /\t185%d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2059 if ( player->GetMaxHealth() >= 1000 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2060 a2 = "%s\f%05u\r388%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2061 pY += 2 * LOBYTE(pFontArrus->uFontHeight) + 5; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2062 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[108], |
1507 | 2063 UI_GetHealthManaAndOtherQualitiesStringColor(player->sHealth, player->GetMaxHealth()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2064 player->sHealth, player->GetMaxHealth()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2065 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2066 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2067 a2 = "%s\f%05u\r424%d\f00000 /\t185%d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2068 if ( player->GetMaxMana() >= 1000 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2069 a2 = "%s\f%05u\r388%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2070 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2071 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[212], |
1507 | 2072 UI_GetHealthManaAndOtherQualitiesStringColor(player->sMana, player->GetMaxMana()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2073 player->sMana, player->GetMaxMana()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2074 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2075 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2076 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2077 sprintf(pTmpBuf.data(), "%s\f%05u\r424%d\f00000 /\t185%d\n\n", pGlobalTXT_LocalizationStrings[12], |
1507 | 2078 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualAC(), player->GetBaseAC()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2079 player->GetActualAC(), player->GetBaseAC()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2080 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2081 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2082 pY += 2 * LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2083 sprintf(pTmpBuf.data(), "%s: \f%05d%s\n", pGlobalTXT_LocalizationStrings[47], GetConditionDrawColor(player->GetMajorConditionIdx()), |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2084 aCharacterConditionNames[player->GetMajorConditionIdx()]);//Состояние |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2085 pGUIWindow_CurrentMenu->DrawTextInRect(pFontArrus, 26, pY, 0, pTmpBuf.data(), 226, 0); |
1298 | 2086 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2087 pY += LOBYTE(pFontArrus->uFontHeight) + - 1; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2088 pText = pGlobalTXT_LocalizationStrings[153];//Нет |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2089 if (player->uQuickSpell) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2090 pText = pSpellStats->pInfos[player->uQuickSpell].pShortName; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2091 sprintf(pTmpBuf.data(), "%s: %s", pGlobalTXT_LocalizationStrings[172], pText);//Б. применение |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2092 pGUIWindow_CurrentMenu->DrawTextInRect(pFontArrus, 26, pY, 0, pTmpBuf.data(), 226, 0); |
1298 | 2093 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2094 //Second column (Вторая колонка) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2095 pY = 50; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2096 sprintf(pTmpBuf.data(), "%s\f%05u\t100%d\f00000 / %d\n", pGlobalTXT_LocalizationStrings[5], |
1507 | 2097 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualAge(), player->GetBaseAge()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2098 player->GetActualAge(), player->GetBaseAge()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2099 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2100 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2101 a2 = "%s\f%05u\t100%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2102 if ( player->GetBaseLevel() > 99 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2103 a2 = "%s\f%05u\t180%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2104 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2105 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[131],//Уров. |
1507 | 2106 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualLevel(), player->GetBaseLevel()), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2107 player->GetActualLevel(), player->GetBaseLevel()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2108 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2109 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2110 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2111 pText = pGlobalTXT_LocalizationStrings[17]; // "Exp." |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2112 if (player->uExperience <= 9999999) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2113 pText = pGlobalTXT_LocalizationStrings[83]; // "Experience" |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2114 sprintf(pTmpBuf.data(), "%s\r180\f%05d%lu\f00000\n\n", pText, player->GetExperienceDisplayColor(), LODWORD(player->uExperience)); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2115 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2116 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2117 pY += 2 * LOBYTE(pFontArrus->uFontHeight); |
1684 | 2118 sprintf(pTmpBuf.data(), "%s\t100%+d\n", pGlobalTXT_LocalizationStrings[18], player->GetActualAttack(false)); |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2119 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2120 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2121 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2122 sprintf(pTmpBuf.data(), "%s\t100 %s\n", pGlobalTXT_LocalizationStrings[53], player->GetMeleeDamageString()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2123 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2124 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2125 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2126 sprintf(pTmpBuf.data(), "%s\t100%+d\n", pGlobalTXT_LocalizationStrings[203], player->GetRangedAttack()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2127 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2128 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2129 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2130 sprintf(pTmpBuf.data(), "%s\t100 %s\n\n", pGlobalTXT_LocalizationStrings[53], player->GetRangedDamageString()); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2131 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2132 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2133 a2 = format_4E2E10; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2134 if ( player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_FIRE) > 99 || player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_FIRE) > 99 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2135 a2 = "%s\f%05u\t180%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2136 pY += 2 * LOBYTE(pFontArrus->uFontHeight) - 4; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2137 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[87], |
1507 | 2138 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_FIRE), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_FIRE)), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2139 player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_FIRE), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_FIRE)); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2140 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2141 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2142 a2 = format_4E2E10; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2143 if ( player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_AIR) > 99 || player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_AIR) > 99 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2144 a2 = "%s\f%05u\t180%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2145 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2146 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[6], |
1507 | 2147 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_AIR), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_AIR)), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2148 player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_AIR), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_AIR)); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2149 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2150 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2151 a2 = format_4E2E10; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2152 if ( player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_WATER) > 99 || player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_WATER) > 99 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2153 a2 = "%s\f%05u\t180%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2154 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2155 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[240], |
1507 | 2156 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_WATER), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_WATER)), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2157 player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_WATER), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_WATER)); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2158 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2159 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2160 a2 = format_4E2E10; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2161 if ( player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_EARTH) > 99 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2162 a2 = "%s\f%05u\t180%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2163 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2164 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[70], |
1507 | 2165 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_EARTH), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_EARTH)), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2166 player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_EARTH), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_EARTH)); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2167 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2168 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2169 a2 = format_4E2E10; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2170 if ( player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_MIND) > 99 || player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_MIND) > 99 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2171 a2 = "%s\f%05u\t180%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2172 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2173 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[142], |
1507 | 2174 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_MIND), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_MIND)), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2175 player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_MIND), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_MIND)); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2176 if ( player->classType == PLAYER_CLASS_LICH && player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_MIND) == 200 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2177 sprintf(pTmpBuf.data(), format_4E2E00, pGlobalTXT_LocalizationStrings[142], |
1507 | 2178 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_MIND), 200), pGlobalTXT_LocalizationStrings[625]); |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2179 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2180 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2181 a2 = format_4E2E10; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2182 if ( player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_BODY) > 99 || player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_BODY) > 99 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2183 a2 = "%s\f%05u\t180%d\f00000 / %d\n"; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2184 pY += LOBYTE(pFontArrus->uFontHeight) - 2; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2185 sprintf(pTmpBuf.data(), a2, pGlobalTXT_LocalizationStrings[29], |
1507 | 2186 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_BODY), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_BODY)), |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2187 player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_BODY), player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_BODY)); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2188 if ( player->classType == PLAYER_CLASS_LICH && player->GetBaseResistance(CHARACTER_ATTRIBUTE_RESIST_BODY) == 200 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2189 sprintf(pTmpBuf.data(), format_4E2E00, pGlobalTXT_LocalizationStrings[29], |
1507 | 2190 UI_GetHealthManaAndOtherQualitiesStringColor(player->GetActualResistance(CHARACTER_ATTRIBUTE_RESIST_BODY), 200), pGlobalTXT_LocalizationStrings[625]); |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2191 pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, pY, 0, pTmpBuf.data(), 0, 0, 0); |
1298 | 2192 } |
2193 | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2194 bool awardSort (int i, int j) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2195 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2196 if (pAwards[i].uPriority == 0) //none |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2197 return false; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2198 else if (pAwards[j].uPriority == 0) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2199 return true; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2200 else if(pAwards[i].uPriority == 1) //fines,arena stuff,etc |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2201 return false; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2202 else if(pAwards[j].uPriority == 1) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2203 return true; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2204 else if(pAwards[i].uPriority == 5) //joined guilds |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2205 return false; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2206 else if(pAwards[j].uPriority == 5) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2207 return true; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2208 else |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2209 return (pAwards[i].uPriority < pAwards[j].uPriority); |
1298 | 2210 } |
2211 | |
2212 //----- (00419100) -------------------------------------------------------- | |
2213 void FillAwardsData() | |
2214 { | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2215 Player* pPlayer = pPlayers[uActiveCharacter]; |
1298 | 2216 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2217 memset(achieved_awards.data(), 0, 4000); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2218 num_achieved_awards = 0; |
1298 | 2219 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2220 memset(pTmpBuf2.data(), 0, 0x7D0u); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2221 BtnDown_flag = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2222 BtnUp_flag = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2223 books_page_number = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2224 books_primary_item_per_page = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2225 for ( int i = 1; i < 105; ++i ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2226 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2227 if ( _449B57_test_bit(pPlayer->_achieved_awards_bits, i) && pAwards[i].pText ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2228 achieved_awards[num_achieved_awards++] = (AwardType)i; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2229 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2230 full_num_items_in_book = num_achieved_awards; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2231 num_achieved_awards = 0; |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
2232 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2233 //sort awards index |
1298 | 2234 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2235 if (full_num_items_in_book>0) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2236 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2237 for (int i = 0; i< full_num_items_in_book; ++i) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2238 achieved_awards[full_num_items_in_book+i] = (AwardType)(rand()%16); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2239 for (int i = 1; i< full_num_items_in_book; ++i) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2240 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2241 for (int j = i; j< full_num_items_in_book; ++j) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2242 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2243 AwardType tmp; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2244 if (pAwards[achieved_awards[j]].uPriority < pAwards[achieved_awards[i]].uPriority) |
1298 | 2245 { |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2246 tmp= achieved_awards[j]; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2247 achieved_awards[j] = achieved_awards[i]; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2248 achieved_awards[i] = tmp; |
1298 | 2249 } |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2250 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2251 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2252 } |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
2253 |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
2254 // if (full_num_items_in_book > 0) |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
2255 /* { |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
2256 std::stable_sort(achieved_awards.begin(), achieved_awards.end(), awardSort); |
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1455
diff
changeset
|
2257 }*/ |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2258 } |
1298 | 2259 |
2260 //----- (0043EF2B) -------------------------------------------------------- | |
2261 void WetsuitOn( unsigned int uPlayerID ) | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2262 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2263 CHARACTER_RACE player_race; // edi@2 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2264 signed int player_sex; // eax@2 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2265 int texture_num; // ecx@5 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2266 char pContainer[20]; // [sp+4h] [bp-1Ch]@7 |
1298 | 2267 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2268 if ( uPlayerID> 0 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2269 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2270 player_race = pPlayers[uPlayerID]->GetRace(); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2271 player_sex = pPlayers[uPlayerID]->GetSexByVoice(); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2272 if ( player_race == CHARACTER_RACE_DWARF ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2273 texture_num = (player_sex != 0) + 3; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2274 else |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2275 texture_num = (player_sex != 0) + 1; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2276 wsprintfA(pContainer, "pc23v%dBod", texture_num); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2277 papredoll_dbods[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2278 wsprintfA(pContainer, "pc23v%dlad", texture_num); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2279 papredoll_dlads[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2280 wsprintfA(pContainer, "pc23v%dlau", texture_num); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2281 papredoll_dlaus[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2282 wsprintfA(pContainer, "pc23v%drh", texture_num); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2283 papredoll_drhs[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2284 wsprintfA(pContainer, "pc23v%dlh", texture_num); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2285 papredoll_dlhs[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2286 wsprintfA(pContainer, "pc23v%dlhu", texture_num); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2287 papredoll_dlhus[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
1298 | 2288 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2289 if ( pPlayers[uPlayerID]->uCurrentFace == 12 || pPlayers[uPlayerID]->uCurrentFace == 13 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2290 papredoll_dbrds[pPlayers[uPlayerID]->uCurrentFace] = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2291 papredoll_flying_feet[pPlayers[uPlayerID]->uCurrentFace] = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2292 IsPlayerWearingWatersuit[uPlayerID] = 1; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2293 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2294 } |
1298 | 2295 |
2296 //----- (0043F0BD) -------------------------------------------------------- | |
2297 void WetsuitOff( unsigned int uPlayerID ) | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2298 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2299 char pContainer[20]; // [sp+0h] [bp-18h]@4 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2300 |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2301 if (uPlayerID > 0 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2302 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2303 papredoll_dbods[uPlayerID - 1] = pIcons_LOD->LoadTexture(dbod_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2304 papredoll_dlads[uPlayerID - 1] = pIcons_LOD->LoadTexture(dlad_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2305 papredoll_dlaus[uPlayerID - 1] = pIcons_LOD->LoadTexture(dlau_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2306 papredoll_drhs [uPlayerID - 1] = pIcons_LOD->LoadTexture(drh_texnames_by_face [pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2307 papredoll_dlhs [uPlayerID - 1] = pIcons_LOD->LoadTexture(dlh_texnames_by_face [pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2308 papredoll_dlhus[uPlayerID - 1] = pIcons_LOD->LoadTexture(dlhu_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); |
1298 | 2309 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2310 if ( pPlayers[uPlayerID]->uCurrentFace == 12 || pPlayers[uPlayerID]->uCurrentFace == 13 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2311 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2312 wsprintfA(pContainer, "pc%02dbrd", pPlayers[uPlayerID]->uCurrentFace + 1); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2313 papredoll_dbrds[pPlayers[uPlayerID]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2314 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2315 wsprintfA(pContainer, "item281pc%02d", pPlayers[uPlayerID]->uCurrentFace + 1); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2316 papredoll_flying_feet[pPlayers[uPlayerID]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2317 IsPlayerWearingWatersuit[uPlayerID] = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2318 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2319 } |
1298 | 2320 |
2321 //----- (00468F8A) -------------------------------------------------------- | |
1458 | 2322 void OnPaperdollLeftClick() |
1298 | 2323 { |
2324 int v1; // ecx@1 | |
2325 unsigned int v2; // edi@1 | |
2326 unsigned int v3; // edx@4 | |
2327 unsigned int pSkillType; // esi@5 | |
2328 unsigned __int16 v5; // ax@7 | |
2329 int v7; // esi@27 | |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2330 int v8; // eax@29 |
1298 | 2331 int v17; // eax@44 |
2332 unsigned int v18; // ecx@55 | |
2333 unsigned int v19; // eax@55 | |
2334 unsigned int v22; // eax@61 | |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2335 int v23; // eax@62 |
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2336 int v26; // eax@69 |
1298 | 2337 int v34; // esi@90 |
2338 int v36; // esi@93 | |
2339 ItemGen *v38; // edi@93 | |
2340 ItemGen _this; // [sp+Ch] [bp-40h]@1 | |
2341 unsigned int v48; // [sp+30h] [bp-1Ch]@88 | |
2342 unsigned int v50; // [sp+38h] [bp-14h]@50 | |
2343 int v51; // [sp+3Ch] [bp-10h]@1 | |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2344 int v52; // [sp+40h] [bp-Ch]@5 |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2345 ITEM_EQUIP_TYPE pEquipType; |
1298 | 2346 |
2347 v51 = 0; | |
2348 _this.Reset(); | |
2349 v1 = pPlayers[uActiveCharacter]->pEquipment.uMainHand; | |
2350 v2 = pPlayers[uActiveCharacter]->pEquipment.uShield; | |
1989 | 2351 if ( v1 && pPlayers[uActiveCharacter]->pInventoryItemList[v1 - 1].GetItemEquipType() == EQUIP_TWO_HANDED ) |
1298 | 2352 v51 = v1; |
2353 v3 = pParty->pPickedItem.uItemID; | |
2354 if ( pParty->pPickedItem.uItemID ) | |
2355 { | |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
2356 pEquipType = pParty->pPickedItem.GetItemEquipType(); |
1716 | 2357 pSkillType = pParty->pPickedItem.GetPlayerSkillType(); |
1298 | 2358 if ( pSkillType == 4 ) |
2359 { | |
2360 if ( v2 ) | |
2361 { | |
2362 LOBYTE(v5) = pPlayers[uActiveCharacter]->GetActualSkillLevel(PLAYER_SKILL_SPEAR); | |
2363 if ( (signed int)SkillToMastery(v5) < 3 ) | |
2364 { | |
2365 pPlayers[uActiveCharacter]->PlaySound(SPEECH_39, 0); | |
2366 return; | |
2367 } | |
2368 v3 = pParty->pPickedItem.uItemID; | |
2369 } | |
2370 } | |
2371 else | |
2372 { | |
2373 if ( (pSkillType == 8 || pSkillType == 1 || pSkillType == 2) | |
2374 && v1 | |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
2375 && pPlayers[uActiveCharacter]->pInventoryItemList[v1 - 1].GetPlayerSkillType() == 4 ) |
1484
62c7f07bc05a
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(3)
Ritor1
parents:
1483
diff
changeset
|
2376 { |
1298 | 2377 LOBYTE(v5) = pPlayers[uActiveCharacter]->GetActualSkillLevel(PLAYER_SKILL_SPEAR); |
2378 if ( (signed int)SkillToMastery(v5) < 3 ) | |
2379 { | |
2380 pPlayers[uActiveCharacter]->PlaySound(SPEECH_39, 0); | |
2381 return; | |
2382 } | |
1484
62c7f07bc05a
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(3)
Ritor1
parents:
1483
diff
changeset
|
2383 } |
1298 | 2384 } |
2385 if ( !pPlayers[uActiveCharacter]->CanEquip_RaceAndAlignmentCheck(v3) ) | |
2386 { | |
2387 | |
2388 pPlayers[uActiveCharacter]->PlaySound(SPEECH_39, 0); | |
2389 return; | |
2390 } | |
1358
61010a655c94
a few itemID changed to their enum values + added a few new ones
Grumpy7
parents:
1299
diff
changeset
|
2391 if ( pParty->pPickedItem.uItemID == ITEM_WETSUIT ) |
1298 | 2392 { |
2393 pPlayers[uActiveCharacter]->EquipBody((ITEM_EQUIP_TYPE)3); | |
2394 WetsuitOn(uActiveCharacter); | |
2395 return; | |
2396 } | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2397 switch ( pEquipType ) |
1298 | 2398 { |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2399 case EQUIP_BOW: |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2400 case EQUIP_ARMOUR: |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2401 case EQUIP_HELMET: |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2402 case EQUIP_BELT: |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2403 case EQUIP_CLOAK: |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2404 case EQUIP_GAUNTLETS: |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2405 case EQUIP_BOOTS: |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2406 case EQUIP_AMULET: |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2407 if ( !pPlayers[uActiveCharacter]->HasSkill(pSkillType) )//нет навыка |
1298 | 2408 { |
2409 pPlayers[uActiveCharacter]->PlaySound(SPEECH_39, 0); | |
2410 return; | |
2411 } | |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
2412 if ( pPlayers[uActiveCharacter]->HasUnderwaterSuitEquipped() && (pEquipType != EQUIP_ARMOUR || bUnderwater) ) |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2413 { |
1754 | 2414 pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2415 return; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2416 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2417 pPlayers[uActiveCharacter]->EquipBody(pEquipType); |
1358
61010a655c94
a few itemID changed to their enum values + added a few new ones
Grumpy7
parents:
1299
diff
changeset
|
2418 if ( pParty->pPickedItem.uItemID == ITEM_WETSUIT ) |
1298 | 2419 WetsuitOff(uActiveCharacter); |
2420 return; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2421 //------------------------dress rings(одевание колец)---------------------------------- |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2422 case EQUIP_RING: |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
2423 if ( pPlayers[uActiveCharacter]->HasUnderwaterSuitEquipped() ) |
1298 | 2424 { |
1754 | 2425 pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2426 return; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2427 } |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2428 //слоты для колец |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2429 v7 = 0; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2430 for ( v52 = 10; (signed int)v52 < 16; ++v52 ) |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2431 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2432 if ( !pPlayers[uActiveCharacter]->pEquipment.uRings[v7] ) |
1298 | 2433 { |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2434 v8 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2435 if ( v8 >= 0 ) |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2436 { |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2437 pParty->pPickedItem.uBodyAnchor = v52 + 1; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2438 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v8], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v8])); |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2439 pPlayers[uActiveCharacter]->pEquipment.uRings[v7] = v8 + 1; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2440 pMouse->RemoveHoldingItem(); |
1298 | 2441 break; |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2442 } |
1298 | 2443 } |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2444 v7++; |
1298 | 2445 } |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2446 if ( v52 == 16 )//замещение последнего кольца |
1298 | 2447 { |
1484
62c7f07bc05a
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(3)
Ritor1
parents:
1483
diff
changeset
|
2448 v52 = pPlayers[uActiveCharacter]->pEquipment.uRings[5] - 1; |
1298 | 2449 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2450 pPlayers[uActiveCharacter]->pInventoryItemList[v52].uBodyAnchor = 0; |
1298 | 2451 pParty->pPickedItem.Reset(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2452 pParty->SetHoldingItem(&pPlayers[uActiveCharacter]->pInventoryItemList[v52]); |
1298 | 2453 _this.uBodyAnchor = 16; |
1485 | 2454 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v52], &_this, 0x24u); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2455 pPlayers[uActiveCharacter]->pEquipment.uRings[5] = v52 + 1; |
1298 | 2456 } |
2457 return; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2458 //------------------dress shield(одеть щит)------------------------------------------------------ |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2459 case EQUIP_SHIELD://Щит |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
2460 if ( pPlayers[uActiveCharacter]->HasUnderwaterSuitEquipped() )//в акваланге |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2461 { |
1754 | 2462 pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2463 return; |
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2464 } |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2465 if ( !pPlayers[uActiveCharacter]->HasSkill(pSkillType) )//нет навыка |
1298 | 2466 { |
2467 pPlayers[uActiveCharacter]->PlaySound(SPEECH_39, 0); | |
2468 return; | |
2469 } | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2470 if ( v2 )//смена щита щитом |
1298 | 2471 { |
2472 --v2; | |
2473 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2474 pPlayers[uActiveCharacter]->pInventoryItemList[v2].uBodyAnchor = 0; |
1298 | 2475 pParty->pPickedItem.Reset(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2476 pParty->SetHoldingItem(&pPlayers[uActiveCharacter]->pInventoryItemList[v2]); |
1298 | 2477 _this.uBodyAnchor = 1; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2478 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v2], &_this, 0x24u); |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2479 pPlayers[uActiveCharacter]->pEquipment.uShield = v2 + 1; |
1989 | 2480 if ( v51 == EQUIP_SINGLE_HANDED ) |
1298 | 2481 return; |
2482 } | |
2483 else | |
2484 { | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2485 v52 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2486 if ( v52 < 0 ) |
1298 | 2487 return; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2488 if ( !v51 )// обычная установка щита на пустую руку |
1298 | 2489 { |
2490 pParty->pPickedItem.uBodyAnchor = 1; | |
2491 v17 = v52 + 1; | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2492 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v52], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v52])); |
1298 | 2493 pPlayers[uActiveCharacter]->pEquipment.uShield = v17; |
2494 pMouse->RemoveHoldingItem(); | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2495 return; |
1496 | 2496 } |
2497 v1--;//ставим щит когда держит двуручный меч | |
1298 | 2498 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2499 pPlayers[uActiveCharacter]->pInventoryItemList[v1].uBodyAnchor = 0; |
1298 | 2500 pParty->pPickedItem.Reset(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2501 pParty->SetHoldingItem(&pPlayers[uActiveCharacter]->pInventoryItemList[v1]); |
1298 | 2502 _this.uBodyAnchor = 1; |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2503 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v52], &_this, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v52])); |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2504 pPlayers[uActiveCharacter]->pEquipment.uShield = v52 + 1; |
1298 | 2505 } |
2506 pPlayers[uActiveCharacter]->pEquipment.uMainHand = 0; | |
2507 return; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2508 //-------------------------taken in hand(взять в руку)------------------------------------------- |
1989 | 2509 case EQUIP_SINGLE_HANDED: |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2510 case EQUIP_WAND: |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
2511 if ( pPlayers[uActiveCharacter]->HasUnderwaterSuitEquipped() |
1298 | 2512 && pParty->pPickedItem.uItemID != 64 |
2513 && pParty->pPickedItem.uItemID != 65 ) | |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2514 { |
1754 | 2515 pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2516 return; |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2517 } |
1298 | 2518 if ( !pPlayers[uActiveCharacter]->HasSkill(pSkillType) ) |
2519 { | |
2520 pPlayers[uActiveCharacter]->PlaySound(SPEECH_39, 0); | |
2521 return; | |
2522 } | |
2523 v50 = 0; | |
2524 if ( pSkillType == 2 && (unsigned __int16)(pPlayers[uActiveCharacter]->pActiveSkills[2] & 0xFFC0) | |
2525 || pSkillType == 1 && (signed int)SkillToMastery(pPlayers[uActiveCharacter]->pActiveSkills[1]) >= 3 ) | |
2526 { | |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2527 v18 = pMouse->uMouseClickX; |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2528 v19 = pMouse->uMouseClickY; |
1298 | 2529 if ( (signed int)v18 >= 560 ) |
2530 { | |
2531 if ( !v51 ) | |
2532 { | |
2533 if ( v2 ) | |
2534 { | |
2535 --v2; | |
2536 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2537 pPlayers[uActiveCharacter]->pInventoryItemList[v2].uBodyAnchor = 0; |
1298 | 2538 pParty->pPickedItem.Reset(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2539 pParty->SetHoldingItem(&pPlayers[uActiveCharacter]->pInventoryItemList[v2]); |
1298 | 2540 _this.uBodyAnchor = 1; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2541 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v2], &_this, 0x24u); |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2542 pPlayers[uActiveCharacter]->pEquipment.uShield = v2 + 1; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2543 if ( pEquipType != EQUIP_WAND ) |
1298 | 2544 return; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2545 v50 = _this.uItemID; |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2546 if ( _this.uItemID ) |
1298 | 2547 { |
2548 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 | |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2549 stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); |
1298 | 2550 } |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2551 break; |
1298 | 2552 } |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2553 v23 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2554 if ( v23 < 0 ) |
1298 | 2555 return; |
2556 pParty->pPickedItem.uBodyAnchor = 1; | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2557 v50 = (unsigned int)&pPlayers[uActiveCharacter]->pInventoryItemList[v23]; |
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2558 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v23], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v23])); |
1298 | 2559 pPlayers[uActiveCharacter]->pEquipment.uShield = v23 + 1; |
2560 pMouse->RemoveHoldingItem(); | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2561 if ( pEquipType != EQUIP_WAND ) |
1298 | 2562 return; |
2563 v22 = *(int *)v50; | |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2564 v50 = v22; |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2565 if ( v50 ) |
1298 | 2566 { |
2567 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 | |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2568 stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); |
1298 | 2569 } |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2570 break; |
1298 | 2571 } |
2572 } | |
2573 } | |
2574 if ( !v1 ) | |
2575 { | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2576 v26 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2577 if ( v26 < 0 ) |
1298 | 2578 return; |
2579 pParty->pPickedItem.uBodyAnchor = 2; | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2580 v50 = (unsigned int)&pPlayers[uActiveCharacter]->pInventoryItemList[v26]; |
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2581 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v26], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v26])); |
1298 | 2582 pPlayers[uActiveCharacter]->pEquipment.uMainHand = v26 + 1; |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2583 pMouse->RemoveHoldingItem(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2584 if ( pEquipType != EQUIP_WAND ) |
1476
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2585 return; |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2586 v22 = *(int *)v50; |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2587 v50 = v22; |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2588 if ( v50 ) |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2589 { |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2590 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2591 stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2592 } |
92b63e3dca90
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(2)
Ritor1
parents:
1474
diff
changeset
|
2593 break; |
1298 | 2594 } |
2595 --v1; | |
2596 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2597 pPlayers[uActiveCharacter]->pInventoryItemList[v1].uBodyAnchor = 0; |
1298 | 2598 pParty->pPickedItem.Reset(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2599 pParty->SetHoldingItem(&pPlayers[uActiveCharacter]->pInventoryItemList[v1]); |
1298 | 2600 _this.uBodyAnchor = 2; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2601 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v1], &_this, 0x24u); |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2602 pPlayers[uActiveCharacter]->pEquipment.uMainHand = v1 + 1; |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2603 if ( pEquipType == EQUIP_WAND ) |
1298 | 2604 v50 = _this.uItemID; |
2605 if ( v51 ) | |
2606 pPlayers[uActiveCharacter]->pEquipment.uShield = 0; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2607 if ( v50 )//взять жезл |
1298 | 2608 { |
2609 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 | |
2610 stru_A750F8[uActiveCharacter - 1]._494836( *((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); | |
2611 } | |
2612 break; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2613 //---------------------------take two hands(взять двумя руками)--------------------------------- |
1989 | 2614 case EQUIP_TWO_HANDED: |
1620
61ea994a1812
sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped to Player::HasUnderwaterSuitEquipped, sub_43EDB9_get_some_race_sex_relation_2 to ShouldLoadTexturesForRaceAndGender, Player_has_item to Player::HasItem
Grumpy7
parents:
1583
diff
changeset
|
2615 if ( pPlayers[uActiveCharacter]->HasUnderwaterSuitEquipped() ) |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2616 { |
1754 | 2617 pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2618 return; |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2619 } |
1298 | 2620 if ( !pPlayers[uActiveCharacter]->HasSkill(pSkillType) ) |
2621 { | |
2622 pPlayers[uActiveCharacter]->PlaySound(SPEECH_39, 0); | |
2623 return; | |
2624 } | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2625 if ( v1 )//взять двуручный меч кода нет щита(замещение оружия) |
1298 | 2626 { |
2627 if ( v2 ) | |
2628 { | |
1754 | 2629 pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2630 return; |
1298 | 2631 } |
2632 --v1; | |
2633 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2634 pPlayers[uActiveCharacter]->pInventoryItemList[v1].uBodyAnchor = 0; |
1298 | 2635 pParty->pPickedItem.Reset(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2636 pParty->SetHoldingItem(&pPlayers[uActiveCharacter]->pInventoryItemList[v1]); |
1298 | 2637 _this.uBodyAnchor = 2; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2638 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v1], &_this, 0x24u); |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2639 pPlayers[uActiveCharacter]->pEquipment.uMainHand = v1 + 1; |
1298 | 2640 } |
2641 else | |
2642 { | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2643 v52 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); |
1365
b691c96d8e06
Player::FindFreeInventorySlot and Player::CreateItemInInventory refactoring
Grumpy7
parents:
1358
diff
changeset
|
2644 if ( v52 >= 0 ) |
1298 | 2645 { |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2646 if ( v2 )//взять двуручный меч кода есть щит(замещение щитом) |
1298 | 2647 { |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2648 v2--; |
1298 | 2649 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2650 pPlayers[uActiveCharacter]->pInventoryItemList[v2].uBodyAnchor = 0; |
1298 | 2651 pParty->pPickedItem.Reset(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2652 pParty->SetHoldingItem(&pPlayers[uActiveCharacter]->pInventoryItemList[v2]); |
1298 | 2653 _this.uBodyAnchor = 2; |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2654 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v52], &_this, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v52])); |
1298 | 2655 pPlayers[uActiveCharacter]->pEquipment.uShield = 0; |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2656 pPlayers[uActiveCharacter]->pEquipment.uMainHand = v52 + 1; |
1298 | 2657 } |
2658 else | |
2659 { | |
2660 pParty->pPickedItem.uBodyAnchor = 2; | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1365
diff
changeset
|
2661 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v52], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v52])); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2662 pPlayers[uActiveCharacter]->pEquipment.uMainHand = v52 + 1; |
1298 | 2663 pMouse->RemoveHoldingItem(); |
2664 } | |
2665 } | |
2666 } | |
2667 return; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2668 //------------------------------------------------------------------------------- |
1298 | 2669 default: |
1496 | 2670 pPlayers[uActiveCharacter]->UseItem_DrinkPotion_etc(uActiveCharacter, 0);//выпить напиток и др. |
1298 | 2671 return; |
2672 } | |
2673 return; | |
2674 } | |
2675 | |
1496 | 2676 v34 = pRenderer->pActiveZBuffer[pMouse->uMouseClickX + pSRZBufferLineOffsets[pMouse->uMouseClickY]] & 0xFFFF; |
1298 | 2677 if ( v34 ) |
2678 { | |
2679 v36 = v34 - 1; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2680 v38 = &pPlayers[uActiveCharacter]->pInventoryItemList[v36]; |
1709
8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents:
1702
diff
changeset
|
2681 pEquipType = v38->GetItemEquipType(); |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2682 if ( v38->uItemID == ITEM_WETSUIT ) |
1298 | 2683 { |
2684 if ( bUnderwater ) | |
2685 { | |
1754 | 2686 pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); |
1298 | 2687 return; |
2688 } | |
2689 WetsuitOff(uActiveCharacter); | |
2690 } | |
1682 | 2691 if ( _50C9A0_IsEnchantingInProgress )//наложить закл на экипировку |
1298 | 2692 { |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2693 *((char *)pGUIWindow_Settings->ptr_1C + 8) &= 0x7Fu;//CastSpellInfo |
1298 | 2694 *((short *)pGUIWindow_Settings->ptr_1C + 2) = uActiveCharacter - 1; |
2695 *((int *)pGUIWindow_Settings->ptr_1C + 3) = v36; | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2696 *((short *)pGUIWindow_Settings->ptr_1C + 3) = pEquipType; |
1682 | 2697 ptr_50C9A4_ItemToEnchant = v38; |
2698 _50C9A0_IsEnchantingInProgress = 0; | |
1298 | 2699 if ( pMessageQueue_50CBD0->uNumMessages ) |
2700 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | |
2701 pMouse->SetCursorBitmap("MICON1"); | |
1682 | 2702 _50C9D4_AfterEnchClickEventSecondParam = 0; |
2703 _50C9D0_AfterEnchClickEventId = 113; | |
2704 _50C9D8_AfterEnchClickEventTimeout = 256; | |
1298 | 2705 } |
2706 else | |
2707 { | |
1682 | 2708 if ( !ptr_50C9A4_ItemToEnchant )//снять вещь |
1298 | 2709 { |
2710 pParty->SetHoldingItem(v38); | |
1702 | 2711 pPlayers[uActiveCharacter]->pEquipment.pIndices[pPlayers[uActiveCharacter]->pInventoryItemList[v36].uBodyAnchor - 1] = 0; |
1298 | 2712 v38->Reset(); |
2713 } | |
2714 } | |
2715 } | |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2716 else//снять лук |
1298 | 2717 { |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2718 if ( pPlayers[uActiveCharacter]->pEquipment.uBow ) |
1298 | 2719 { |
1488
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2720 _this = pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->pEquipment.uBow - 1]; |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2721 pParty->SetHoldingItem(&_this); |
f62e6d06acac
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick(4)
Ritor1
parents:
1485
diff
changeset
|
2722 _this.Reset(); |
1298 | 2723 pPlayers[uActiveCharacter]->pEquipment.uBow = 0; |
2724 } | |
2725 } | |
2726 } | |
1474
3cda66022a77
UICharacter.cpp cleaning(continue) OnPaperdollLeftClick
Ritor1
parents:
1466
diff
changeset
|
2727 |
1298 | 2728 //----- (004196A0) -------------------------------------------------------- |
2729 void CharacterUI_ReleaseButtons() | |
2730 { | |
2731 GUIButton *i; // esi@2 | |
2732 GUIButton *j; // esi@7 | |
2733 | |
2734 if ( dword_507CC0_activ_ch ) | |
2735 { | |
2736 dword_507CC0_activ_ch = 0; | |
2737 for ( i = pGUIWindow_CurrentMenu->pControlsHead; i; i = j ) | |
2738 { | |
1462 | 2739 j = i->pNext; |
2740 if ( BYTE1(i->field_1C) & 0x80 ) | |
2741 { | |
1298 | 2742 i->Release(); |
1583 | 2743 free(i); |
1462 | 2744 } |
1298 | 2745 } |
2746 for ( j = pGUIWindow_CurrentMenu->pControlsHead; j; j = j->pNext ) | |
2747 { | |
2748 if ( j->msg == UIMSG_InventoryLeftClick) | |
2749 { | |
2750 j->uX = dword_50698C_uX; | |
2751 j->uY = dword_506988_uY; | |
2752 j->uZ = dword_506984_uZ; | |
2753 j->uW = dword_506980_uW; | |
2754 pGUIWindow_CurrentMenu->_41D08F_set_keyboard_control_group(1, 0, 0, 0); | |
2755 } | |
2756 } | |
2757 } | |
2758 } |