annotate UI/UICharacter.cpp @ 1466:ec79ee6d44ce

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