annotate UI/UICharacter.cpp @ 1464:b870630761df

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