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