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