annotate UI/UICharacter.cpp @ 1446:8b4f4c723edd

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