annotate UI/UICharacter.cpp @ 1359:60cdc3eac407

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