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