changeset 898:10fa7dad1391

DrawPaperdoll clean
author Ritor1
date Mon, 15 Apr 2013 16:36:56 +0600
parents d3228f46ef68
children 393a83dcc359
files Events.cpp GUIWindow.cpp GUIWindow.h Player.cpp Player.h Render.cpp UICharacter.cpp UIHouses.cpp VideoPlayer.cpp VideoPlayer.h mm7_1.cpp mm7_2.cpp mm7_4.cpp mm7_5.cpp mm7_data.cpp mm7_data.h
diffstat 16 files changed, 951 insertions(+), 1886 deletions(-) [+]
line wrap: on
line diff
--- a/Events.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/Events.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -401,7 +401,7 @@
 						if ( v128 == 3 )
 							pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen;
 						if ( v128 == 13 )
-							pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);
+							pVideoPlayer->OpenHouseMovie(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);
 						}
 					if (pAsyncMouse)
 						pAsyncMouse->Resume();
@@ -424,7 +424,7 @@
 						if ( v128 == 3 )
 							pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen;
 						if ( v128 == 13 )
-							pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);
+							pVideoPlayer->OpenHouseMovie(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);
 						}
 					if (pAsyncMouse)
 						pAsyncMouse->Resume();
@@ -448,7 +448,7 @@
 					if ( v128 == 3 )
 						pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen;
 					if ( v128 == 13 )
-						pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);
+						pVideoPlayer->OpenHouseMovie(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);
 					}
 				if (pAsyncMouse)
 					pAsyncMouse->Resume();
@@ -865,7 +865,7 @@
 					{
 						if ( *(int *)v69 && (int)&pPlayers[uActiveCharacter]->pInventoryItems[v69] == pValue )
 						{
-							*(&pPlayers[uActiveCharacter]->pEquipment.uOffHand + v68) = 0;
+							*(&pPlayers[uActiveCharacter]->pEquipment.uShield + v68) = 0;
 							++curr_seq_num;
 							v4 = v124;
 							break;
@@ -893,7 +893,7 @@
 							if ( v73 >= 16 )
 								break;
 						}
-						*(&pPlayers[i]->pEquipment.uOffHand + v73) = 0;
+						*(&pPlayers[i]->pEquipment.uShield + v73) = 0;
 					}
 				}
 				if ( player_choose <= 3 )
--- a/GUIWindow.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/GUIWindow.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -1995,7 +1995,7 @@
       pWindow->CreateButton(0, 0, 0, 0, 1, 0, UIMSG_CycleCharacters, 0, 9u, "", 0);
       return pWindow;
     }
-    if (eWindowType == WINDOW_1F)
+    if (eWindowType == WINDOW_CastSpell_InInventory)
     {
       pMouse->SetCursorBitmap("MICON2");
       pBtn_ExitCancel = pWindow->CreateButton(0x188u, 0x13Eu, 0x4Bu, 0x21u, 1, 0, UIMSG_Escape, 0, 0, pGlobalTXT_LocalizationStrings[34],//Отмена
--- a/GUIWindow.h	Thu Apr 04 09:35:58 2013 +0600
+++ b/GUIWindow.h	Mon Apr 15 16:36:56 2013 +0600
@@ -273,7 +273,7 @@
   WINDOW_Transition = 26,
   WINDOW_1B = 0x1B,
   WINDOW_Scroll = 0x1E,
-  WINDOW_1F = 31,
+  WINDOW_CastSpell_InInventory = 31,
   WINDOW_FinalWindow = 0x46,
   WINDOW_50 = 0x50,
   WINDOW_59 = 0x59,
--- a/Player.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/Player.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -256,8 +256,8 @@
   v2 = &this->pEquipment;
   while ( 1 )
   {
-    result = v2->uOffHand;
-    if ( v2->uOffHand )
+    result = v2->uShield;
+    if ( v2->uShield )
     {
       result = *(int *)&this->pInventoryItems[result-1];
       if ( result )
@@ -1540,7 +1540,7 @@
     v4 = v2 + 1;
     v5 = (char *)this + 36 * v2;
     v6 = &byte_4E8394[pItemsTable->pItems[uItemID].uEquipType + 4];
-    *(&this->pEquipment.uOffHand + (unsigned __int8)*v6) = v4;
+    *(&this->pEquipment.uShield + (unsigned __int8)*v6) = v4;
     *((int *)v5 + 133) = uItemID;
     v5[556] = *v6 + 1;
   }
@@ -2787,7 +2787,7 @@
     v7 = v6->uItemID;
     v8 = v6->uItemID;
     v9 = pItemsTable->pItems[v8].uDamageDice;
-    if ( pItemsTable->pItems[v8].uSkillType == PLAYER_SKILL_SPEAR && !v5->pEquipment.uOffHand )
+    if ( pItemsTable->pItems[v8].uSkillType == PLAYER_SKILL_SPEAR && !v5->pEquipment.uShield )
       ++v9;
     v30 = pItemsTable->pItems[v8].uDamageRoll;
     if ( v9 > 0 )
@@ -2855,7 +2855,7 @@
   {
     if ( v5->HasItemEquipped((ITEM_EQUIP_TYPE)0) )
     {
-      v15 = (ItemGen *)&v5->pInventoryItems[v5->pEquipment.uOffHand-1];
+      v15 = (ItemGen *)&v5->pInventoryItems[v5->pEquipment.uShield - 1];
       v16 = v15->uItemID;
       v17 = v15->uItemID;
       if ( pItemsTable->pItems[v17].uEquipType != 4 )
@@ -3320,7 +3320,7 @@
   }
   if ( resistance == 4 )
   {
-    v14 = v3->pEquipment.uBody;
+    v14 = v3->pEquipment.uArmor;
     if ( v14 )
     {
       if ( !(v3->field_1F5[36 * v14 + 15] & 2) )
@@ -3685,7 +3685,7 @@
     }
     if ( v6 )
     {
-      v7 = v3->pEquipment.uBody;
+      v7 = v3->pEquipment.uArmor;
       if ( v7 )
       {
         v8 = &v3->field_1F5[36 * v7 + 15];
@@ -3815,9 +3815,9 @@
         if ( HasItemEquipped((ITEM_EQUIP_TYPE)v14) )
         {
           if ( v15 == EQUIP_ARMOUR )
-            v46[v4++] = LOBYTE(v5->pEquipment.uBody) - 1;
+            v46[v4++] = LOBYTE(v5->pEquipment.uArmor) - 1;
           if ( (!v15 || v15 == 1) && GetEquippedItemEquipType((ITEM_EQUIP_TYPE)v15) == 4 )
-            v46[v4++] = *((char *)&v5->pEquipment.uOffHand + 4 * v15) - 1;
+            v46[v4++] = *((char *)&v5->pEquipment.uShield + 4 * v15) - 1;
         }
         v14 = v15 + 1;
       }
@@ -3833,7 +3833,7 @@
             v46[v4++] = LOBYTE(v5->pEquipment.uBow) - 1;
           if ( (!v17 || v17 == 1)
             && (!GetEquippedItemEquipType((ITEM_EQUIP_TYPE)v17) || GetEquippedItemEquipType((ITEM_EQUIP_TYPE)v17) == 1) )
-            v46[v4++] = *((char *)&v5->pEquipment.uOffHand + 4 * v17) - 1;
+            v46[v4++] = *((char *)&v5->pEquipment.uShield + 4 * v17) - 1;
         }
         v16 = v17 + 1;
       }
@@ -4107,11 +4107,11 @@
   }
   if (HasItemEquipped(EQUIP_OFF_HAND) && GetEquippedItemEquipType(EQUIP_OFF_HAND) != EQUIP_SHIELD) // ADD: shield check because shield recovery is added later and can be accidentally doubled
   {
-    auto v12 = &pInventoryItems[pEquipment.uOffHand - 1];
+    auto v12 = &pInventoryItems[pEquipment.uShield - 1];
     auto v12_desc = &pItemsTable->pItems[v12->uItemID];
     if (base_recovery_times_per_weapon_type[v12_desc->uSkillType] > weapon_recovery)
     {
-      weapon = &pInventoryItems[pEquipment.uOffHand - 1];
+      weapon = &pInventoryItems[pEquipment.uShield - 1];
       weapon_desc = &pItemsTable->pItems[weapon->uItemID];
       weapon_recovery = base_recovery_times_per_weapon_type[pItemsTable->pItems[weapon->uItemID].uSkillType];
     }
@@ -4121,7 +4121,7 @@
   uint armour_recovery = 0;
   if ( HasItemEquipped(EQUIP_ARMOUR) )
   {
-    auto armour_skill_type = pItemsTable->pItems[pInventoryItems[pEquipment.uBody - 1].uItemID].uSkillType;
+    auto armour_skill_type = pItemsTable->pItems[pInventoryItems[pEquipment.uArmor - 1].uItemID].uSkillType;
     uint base_armour_recovery = base_recovery_times_per_weapon_type[armour_skill_type];
 
     float armour_recovery_multipliers[4];
@@ -4164,7 +4164,7 @@
   {
     float shield_recovery_multipliers[4] = {1, 0, 0, 0};
 
-    auto shield = &pInventoryItems[pEquipment.uOffHand - 1];
+    auto shield = &pInventoryItems[pEquipment.uShield - 1];
     auto skill_type = pItemsTable->pItems[shield->uItemID].uSkillType;
 
     uint shield_base_recovery = base_recovery_times_per_weapon_type[skill_type];
@@ -4839,7 +4839,7 @@
     {
       if ( !HasItemEquipped((ITEM_EQUIP_TYPE)v65) )
         goto LABEL_361;
-      v31 = *(&v6->pEquipment.uOffHand + v65) - 1;
+      v31 = *(&v6->pEquipment.uShield + v65) - 1;
       if ( v3 == 9 )
       {
         v32 = GetEquippedItemEquipType((ITEM_EQUIP_TYPE)v65);
@@ -5411,7 +5411,7 @@
           if ( v22 <= 2 )
           {
 			  v23 = this->pInventoryItems[this->pEquipment.uMainHand].uItemID;
-            if ( v6->pEquipment.uOffHand || pItemsTable->pItems[v23].uSkillType != 4 )
+            if ( v6->pEquipment.uShield || pItemsTable->pItems[v23].uSkillType != 4 )
             {
               v24 = v23;
               v26 = pItemsTable->pItems[v23].uDamageRoll;
@@ -5461,7 +5461,7 @@
     }
     if ( a3 || !v6->HasItemEquipped(EQUIP_OFF_HAND) || (v19 = v6->GetEquippedItemEquipType(EQUIP_OFF_HAND), v19 < 0) || v19 > 2 )
       return v5 + v62 + v61;
-    v20 = *(int *)&v6->pInventoryItems[v6->pEquipment.uOffHand-1];
+    v20 = *(int *)&v6->pInventoryItems[v6->pEquipment.uShield - 1];
     goto LABEL_365;
   }
   if ( attr == 27 )
@@ -5479,7 +5479,7 @@
         if ( v9 <= 2 )
         {
           v5 = pItemsTable->pItems[this->pInventoryItems[this->pEquipment.uMainHand].uItemID].uDamageDice + pItemsTable->pItems[this->pInventoryItems[this->pEquipment.uMainHand].uItemID].uDamageMod;
-          if ( !v6->pEquipment.uOffHand )
+          if ( !v6->pEquipment.uShield )
           {
             if ( pItemsTable->pItems[this->pInventoryItems[this->pEquipment.uMainHand].uItemID].uSkillType == 4 )
               ++v5;
@@ -5489,8 +5489,8 @@
     }
     if ( a3 || !v6->HasItemEquipped(EQUIP_OFF_HAND) || (v12 = v6->GetEquippedItemEquipType(EQUIP_OFF_HAND), v12 < 0) || v12 > 2 )
       return v5 + v62 + v61;
-    v14 = pItemsTable->pItems[this->pInventoryItems[this->pEquipment.uOffHand].uItemID].uDamageMod;
-    v15 = pItemsTable->pItems[this->pInventoryItems[this->pEquipment.uOffHand].uItemID].uDamageDice;
+    v14 = pItemsTable->pItems[this->pInventoryItems[this->pEquipment.uShield].uItemID].uDamageMod;
+    v15 = pItemsTable->pItems[this->pInventoryItems[this->pEquipment.uShield].uItemID].uDamageDice;
 LABEL_88:
     v5 += v15 + v14;
   }
@@ -6190,7 +6190,7 @@
   v69 = &v2->pEquipment;
   do
   {
-    if ( !v69->uOffHand || (v42 = (int)((char *)v2 + 36 * v69->uOffHand), *(char *)(v42 + 516) & 2) )
+    if ( !v69->uShield || (v42 = (int)((char *)v2 + 36 * v69->uShield), *(char *)(v42 + 516) & 2) )
       goto LABEL_117;
     v43 = (PLAYER_SKILL_TYPE)pItemsTable->pItems[*(int *)(v42 + 496)].uSkillType;
     v44 = pItemsTable->pItems[*(int *)(v42 + 496)].uSkillType;
--- a/Player.h	Thu Apr 04 09:35:58 2013 +0600
+++ b/Player.h	Mon Apr 15 16:36:56 2013 +0600
@@ -330,15 +330,15 @@
   {
     struct
     {
-      unsigned int uOffHand;
+      unsigned int uShield;
       unsigned int uMainHand;
       unsigned int uBow;
-      unsigned int uBody;
+      unsigned int uArmor;
       unsigned int uHelm;
       unsigned int uBelt;
       unsigned int uCloak;
       unsigned int field_1C;
-      unsigned int field_20;
+      unsigned int uBoot;
       unsigned int field_24;
       unsigned int field_28;
       unsigned int field_2C;
--- a/Render.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/Render.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -10894,7 +10894,7 @@
     }
     pMouse->bActive = 1;
     if ( pVideoPlayer->AnyMovieLoaded() )
-      pVideoPlayer->_4BF73A();
+      pVideoPlayer->SelectMovieType();
     if ( BYTE1(dword_6BE364_game_settings_1) & 8 )
       BYTE1(dword_6BE364_game_settings_1) &= 0xF7u;
     else
--- a/UICharacter.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/UICharacter.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -1183,174 +1183,127 @@
             }
         }
 
-    //----- (0043CC7C) --------------------------------------------------------
-    void __fastcall CharacterUI_DrawPaperdoll(unsigned int uPlayerID)
-        {
-        //Player **ppPlayer; // esi@1
-        Player *pPlayer; // ebx@1
-        //enum CHARACTER_RACE pRace; // edi@1
-        signed int pSex; // eax@1
-        //int v5; // edi@4
-        unsigned int v6; // ecx@9
+//----- (0043CC7C) --------------------------------------------------------
+void __fastcall CharacterUI_DrawPaperdoll(unsigned int uPlayerID)
+{
+  signed int pSex; // eax@1
+  unsigned int v6; // ecx@9
         int v7; // ecx@10
-        unsigned int v8; // eax@14
-        int v9; // eax@15
+        unsigned int pMainHandNum4; // eax@14
+        ItemGen *item_MainHand4; // eax@15
         int v10; // edx@15
-        int v11; // ecx@15
-        int v12; // eax@15
-        unsigned int v13; // edi@15
+        unsigned int pX_MainHand4; // edi@15
         unsigned int v14; // ebx@18
-        int v15; // ecx@18
         Texture *v16; // ebp@27
         double v17; // st7@29
         int v18; // edi@30
         char *v19; // eax@30
-        Texture *v20; // edi@31
-        unsigned int v21; // eax@37
-        int v22; // edi@38
-        int v23; // eax@38
-        int v24; // ebx@38
-        int v25; // eax@38
-        LODFile_IconsBitmaps *v26; // ecx@42
-        Texture *v27; // edi@51
+        unsigned int pBowNum; // eax@37
+        ItemGen *itemBow; // edi@38
+        int pX_Bow; // ebx@38
         double v28; // st7@51
-        char v29; // zf@54
         char *v30; // eax@54
-        unsigned int v31; // eax@59
-        int v32; // edx@60
+        unsigned int pCloakNum; // eax@59
+        ItemGen *item_Cloak; // edx@60
         int v33; // eax@65
         int v34; // eax@74
         int v35; // ebx@74
-        unsigned int v36; // ecx@74
-        int v37; // eax@74
         LODFile_IconsBitmaps *v38; // ecx@78
         Texture *v39; // edi@85
         double v40; // st7@87
         int v41; // edi@88
-        Texture *v42; // edi@89
-        unsigned int v43; // eax@93
-        int v44; // edx@94
+        unsigned int pArmorNum; // eax@93
+        ItemGen *item_Armor; // edx@94
         int v45; // eax@98
         int v46; // eax@106
-        int v47; // ecx@106
         int v48; // ebx@106
-        int v49; // eax@106
         LODFile_IconsBitmaps *v50; // ecx@110
         Texture *v51; // edi@117
         double v52; // st7@119
         int v53; // edi@120
-        Texture *v54; // edi@121
         char *v55; // eax@122
-        unsigned int v56; // eax@127
-        int v57; // edi@128
-        int v58; // ecx@128
+        unsigned int pBootNum; // eax@127
+        ItemGen *item_Boot; // edi@128
         int v59; // ebx@129
         int v60; // ecx@132
         int v61; // eax@134
-        int v62; // ecx@136
         Texture *v63; // edi@145
         double v64; // st7@147
         int v65; // edi@148
         char *v66; // eax@148
-        Texture *v67; // edi@149
-        //Player *v68; // ebx@155
-        unsigned int v69; // edx@155
+        unsigned int pMainHandNum; // edx@155
         int v70; // edx@156
-        unsigned int v71; // eax@160
-        int v72; // edi@161
+        unsigned int pBeltNum; // eax@160
+        ItemGen *item_Belt; // edi@161
         int v73; // edx@163
         int v74; // ecx@168
         unsigned int v75; // ebx@170
-        int v76; // ecx@172
         Texture *v77; // edi@181
         double v78; // st7@183
         int v79; // edi@184
         char *v80; // eax@184
-        Texture *v81; // edi@185
-        unsigned int v82; // eax@192
+        unsigned int pMainHandNum2; // eax@192
         int v83; // eax@193
-        int v84; // eax@197
-        int v85; // eax@197
-        int v86; // ecx@197
+        int pArmorShoulderNum; // eax@197
+        //ItemGen *item_ArmorShoulder; // ecx@197
         int v87; // eax@197
         int v88; // eax@198
         int v89; // eax@199
-        int v90; // edi@201
+        //int v90; // edi@201
         int v91; // edi@213
-        int v92; // ebx@213
-        int v93; // edi@214
+        //int v92; // ebx@213
+        //int v93; // edi@214
         int v94; // ebx@214
         int v95; // eax@214
         char *v96; // edi@226
         double v97; // st7@228
         int v98; // edi@229
         char *v99; // eax@229
-        Render *v100; // ecx@229
-        Texture *v101; // edi@230
         int v102; // edi@236
-        int v103; // eax@237
-        int v104; // ecx@237
-        int v105; // edx@237
+        int pX_ArmorShoulder; // eax@237
+        int pY_ArmorShoulder; // ecx@237
         int v106; // edx@238
         int v107; // edx@239
         int v108; // edx@240
         int v109; // edi@250
         char *v110; // edx@250
-        unsigned int v111; // eax@259
-        int v112; // eax@260
-        int v113; // eax@260
+        unsigned int pCloakCollarNum; // eax@259
+        ItemGen *item_CloakCollar; // eax@260
         int v114; // eax@265
         int v115; // eax@274
         int v116; // ebx@274
-        unsigned int v117; // edi@274
         double v118; // st7@286
         int v119; // edi@287
         char *v120; // eax@287
-        Texture *v121; // edi@288
         unsigned int v122; // edi@295
-        int v123; // ebx@297
-        int v124; // edi@298
+        int pHelmNum; // ebx@297
+        ItemGen *item_Helm; // edi@298
         int v125; // ecx@303
         int v126; // eax@312
         unsigned int v127; // ebx@314
-        int v128; // ecx@316
         Texture *v129; // edi@325
         double v130; // st7@327
         int v131; // edi@328
         char *v132; // eax@328
-        Texture *v133; // edi@329
-        unsigned int v134; // eax@335
-        int v135; // eax@336
-        int v136; // edx@336
-        int v137; // eax@336
+        unsigned int pMainHandNum3; // eax@335
+        ItemGen *item_MainHand3; // eax@336
         unsigned int v138; // ebx@339
-        int v139; // ecx@339
         Texture *v140; // edi@348
         double v141; // st7@350
         int v142; // edi@351
         char *v143; // eax@351
-        Texture *v144; // edi@352
-        unsigned int v145; // eax@358
-        int v146; // eax@359
-        int v147; // ecx@359
-        int v148; // eax@359
+        unsigned int pShieldNum; // eax@358
+        ItemGen *item_Shield; // eax@359
         int v149; // edx@359
-        int v150; // ebx@362
+        int pX_Shield; // ebx@362
         int v151; // ecx@363
         int v152; // ecx@364
         unsigned int v153; // eax@370
-        unsigned int v154; // edi@370
-        int v155; // eax@370
-        LODFile_IconsBitmaps *v156; // ecx@374
         Texture *v157; // ebp@381
         double v158; // st7@383
-        Texture *v159; // edi@385
         char *v160; // eax@386
-        unsigned int v161; // eax@393
-        int v162; // eax@394
-        unsigned int v163; // [sp-Ch] [bp-58h]@230
-        unsigned int v164; // [sp-Ch] [bp-58h]@233
-        signed int v165; // [sp-Ch] [bp-58h]@235
+        unsigned int pMainHandNum5; // eax@393
+        ItemGen *item_MainHand5; // eax@394
         char *v166; // [sp-8h] [bp-54h]@16
         const char *v167; // [sp-8h] [bp-54h]@23
         const char *v168; // [sp-8h] [bp-54h]@43
@@ -1359,1737 +1312,833 @@
         const char *v171; // [sp-8h] [bp-54h]@141
         const char *v172; // [sp-8h] [bp-54h]@177
         const char *v173; // [sp-8h] [bp-54h]@222
-        int v174; // [sp-8h] [bp-54h]@228
-        unsigned int v175; // [sp-8h] [bp-54h]@230
-        unsigned int v176; // [sp-8h] [bp-54h]@233
-        signed int v177; // [sp-8h] [bp-54h]@235
         const char *v178; // [sp-8h] [bp-54h]@242
         const char *v179; // [sp-8h] [bp-54h]@280
         const char *v180; // [sp-8h] [bp-54h]@321
         char *v181; // [sp-8h] [bp-54h]@337
         const char *v182; // [sp-8h] [bp-54h]@344
         const char *v183; // [sp-8h] [bp-54h]@375
-        signed int v184; // [sp-4h] [bp-50h]@66
-        signed int v185; // [sp-4h] [bp-50h]@99
         signed int v186; // [sp-4h] [bp-50h]@202
-        int v187; // [sp-4h] [bp-50h]@228
-        Texture *v188; // [sp-4h] [bp-50h]@230
-        Texture *v189; // [sp-4h] [bp-50h]@233
-        Texture *v190; // [sp-4h] [bp-50h]@235
         signed int v191; // [sp-4h] [bp-50h]@266
         signed int v192; // [sp-4h] [bp-50h]@304
-        unsigned int a3; // [sp+10h] [bp-3Ch]@7
-        int a3a; // [sp+10h] [bp-3Ch]@15
-        int a3b; // [sp+10h] [bp-3Ch]@38
-        unsigned int a3c; // [sp+10h] [bp-3Ch]@74
-        unsigned int a3d; // [sp+10h] [bp-3Ch]@106
-        int a3e; // [sp+10h] [bp-3Ch]@129
-        int a3f; // [sp+10h] [bp-3Ch]@168
-        unsigned int a3g; // [sp+10h] [bp-3Ch]@216
-        unsigned int a3h; // [sp+10h] [bp-3Ch]@274
-        int a3i; // [sp+10h] [bp-3Ch]@312
-        int a3j; // [sp+10h] [bp-3Ch]@336
-        int a3k; // [sp+10h] [bp-3Ch]@362
-        signed int a2; // [sp+14h] [bp-38h]@7
-        unsigned int a2a; // [sp+14h] [bp-38h]@15
+        int pY_MainHand4; // [sp+10h] [bp-3Ch]@15
+        int pY_Bow; // [sp+10h] [bp-3Ch]@38
+        unsigned int pY_Cloak; // [sp+10h] [bp-3Ch]@74
+        unsigned int pY_Armor; // [sp+10h] [bp-3Ch]@106
+        int pY_Boot; // [sp+10h] [bp-3Ch]@129
+        int pY_Belt; // [sp+10h] [bp-3Ch]@168
+        unsigned int pY_shoulder; // [sp+10h] [bp-3Ch]@216
+        unsigned int pY_CloakCollar; // [sp+10h] [bp-3Ch]@274
+        int pY_Helm; // [sp+10h] [bp-3Ch]@312
+        int pY_MainHand3; // [sp+10h] [bp-3Ch]@336
+        int pY_Shield; // [sp+10h] [bp-3Ch]@362
         Texture *a2b; // [sp+14h] [bp-38h]@49
-        int a2c; // [sp+14h] [bp-38h]@74
-        int a2d; // [sp+14h] [bp-38h]@106
-        int a2e; // [sp+14h] [bp-38h]@129
-        int a2f; // [sp+14h] [bp-38h]@168
-        int a2g; // [sp+14h] [bp-38h]@214
-        int a2h; // [sp+14h] [bp-38h]@274
+        int pX_Cloak; // [sp+14h] [bp-38h]@74
+        int pX_Armor; // [sp+14h] [bp-38h]@106
+        int pX_Boot; // [sp+14h] [bp-38h]@129
+        int pX_Belt; // [sp+14h] [bp-38h]@168
+        int pX_shoulder; // [sp+14h] [bp-38h]@214
+        int pX_CloakCollar; // [sp+14h] [bp-38h]@274
         Texture *a2i; // [sp+14h] [bp-38h]@284
-        int a2j; // [sp+14h] [bp-38h]@312
-        int a2k; // [sp+14h] [bp-38h]@336
-        //Player *v217; // [sp+18h] [bp-34h]@1
-        int v218; // [sp+1Ch] [bp-30h]@15
-        int v219; // [sp+1Ch] [bp-30h]@60
-        int v220; // [sp+1Ch] [bp-30h]@94
-        int v221; // [sp+1Ch] [bp-30h]@128
-        int v222; // [sp+1Ch] [bp-30h]@161
-        int v223; // [sp+1Ch] [bp-30h]@213
-        char v224; // [sp+1Ch] [bp-30h]@237
-        int v225; // [sp+1Ch] [bp-30h]@260
-        int v226; // [sp+1Ch] [bp-30h]@298
-        int v227; // [sp+1Ch] [bp-30h]@336
-        int v228; // [sp+1Ch] [bp-30h]@359
-        int v229; // [sp+20h] [bp-2Ch]@15
-        int v230; // [sp+20h] [bp-2Ch]@38
-        int v231; // [sp+20h] [bp-2Ch]@60
-        int v232; // [sp+20h] [bp-2Ch]@94
-        int v233; // [sp+20h] [bp-2Ch]@128
-        int v234; // [sp+20h] [bp-2Ch]@161
-        int v235; // [sp+20h] [bp-2Ch]@197
-        int v236; // [sp+20h] [bp-2Ch]@260
-        int v237; // [sp+20h] [bp-2Ch]@298
-        int v238; // [sp+20h] [bp-2Ch]@336
+        int pX_Helm; // [sp+14h] [bp-38h]@312
+        int pX_MainHand3; // [sp+14h] [bp-38h]@336
+        //int v223; // [sp+1Ch] [bp-30h]@213
         int pBodyComplection; // [sp+24h] [bp-28h]@6
-        int v240; // [sp+28h] [bp-24h]@7
-        unsigned int v241; // [sp+2Ch] [bp-20h]@38
-        int v242; // [sp+2Ch] [bp-20h]@197
-        unsigned int v243; // [sp+2Ch] [bp-20h]@370
-        int v244; // [sp+34h] [bp-18h]@6
+        unsigned int pBowTextureNum; // [sp+2Ch] [bp-20h]@38
         signed int v245; // [sp+34h] [bp-18h]@361
-        unsigned int uPlayerID_; // [sp+38h] [bp-14h]@1
-        int uPlayerID_a; // [sp+38h] [bp-14h]@9
         signed int IsDwarf; // [sp+40h] [bp-Ch]@4
-        int v249; // [sp+40h] [bp-Ch]@358
-        //signed int v250; // [sp+44h] [bp-8h]@1
 
-        pPlayer = pPlayers[uPlayerID];
-        uPlayerID_ = uPlayerID;
-        pIcons_LOD->LoadTexture("sptext01", TEXTURE_16BIT_PALETTE);
-        pSex = pPlayer->GetSexByVoice();
-        if ( pPlayer->GetRace() && pPlayer->GetRace() != 1 && pPlayer->GetRace() != 2 )
-            {
-            IsDwarf = 1;
-            pBodyComplection = (pSex != 0) + 2;
-            }
+  pIcons_LOD->LoadTexture("sptext01", TEXTURE_16BIT_PALETTE);
+  pSex = pPlayers[uPlayerID]->GetSexByVoice();
+  if ( pPlayers[uPlayerID]->GetRace() && pPlayers[uPlayerID]->GetRace() != 1 && pPlayers[uPlayerID]->GetRace() != 2 )
+  {
+    IsDwarf = 1;
+    pBodyComplection = (pSex != 0) + 2;
+  }
+  else
+  {
+    IsDwarf = 0;
+    pBodyComplection = pSex != 0;
+  }
+  pRenderer->ResetTextureClipRect();
+  pRenderer->DrawTextureIndexed(0x1D3u, 0, pIcons_LOD->GetTexture(uTextureID_BACKDOLL));//Подложка
+  if ( IsPlayerWearingWatersuit[uPlayerID] )//акваланг
+  {
+    pRenderer->DrawTextureTransparent(pPaperdoll_BodyX, pPaperdoll_BodyY,
+            (Texture *)(papredoll_dbods[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbods[uPlayerID - 1]] : 0));
+    if ( !bRingsShownInCharScreen )
+      pRenderer->DrawMaskToZBuffer(pPaperdoll_BodyX, pPaperdoll_BodyY,
+                 (Texture *)(papredoll_dbods[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbods[uPlayerID - 1]] : 0),
+                 pPlayers[uPlayerID]->pEquipment.uArmor);
+    v6 = pPlayers[uPlayerID]->pEquipment.uMainHand;
+    if ( !v6 || (v7 = *(int *)&pPlayers[uPlayerID]->pInventoryItems[v6-1], pItemsTable->pItems[v7].uEquipType != 1)
+         && (pItemsTable->pItems[v7].uSkillType != 4 || pPlayers[uPlayerID]->pEquipment.uShield) )
+         pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1],
+         (Texture *)(papredoll_dlads[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlads[uPlayerID - 1]] : 0));
+    pMainHandNum4 = pPlayers[uPlayerID]->pEquipment.uMainHand;
+    if ( pMainHandNum4 )
+    {
+      item_MainHand4 = &pPlayers[uPlayerID]->pInventoryItems[pMainHandNum4 - 1];
+      pX_MainHand4 = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[item_MainHand4->uItemID].uEquipX;
+      pY_MainHand4 = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item_MainHand4->uItemID].uEquipY;
+      if ( item_MainHand4->uItemID == 64 )
+        v166 = "item64v1";
+      else
+        v166 = pItemsTable->pItems[item_MainHand4->uItemID].pIconName;
+      v14 = pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE);
+      if ( !( item_MainHand4->uAttributes & 0xF0 ) )
+      {
+        v18 = v14 + 1;
+        v19 = (char *)&pIcons_LOD->pTextures[v14];
+        if ( item_MainHand4->uAttributes & 2 )
+          pRenderer->DrawTransparentRedShade(pX_MainHand4, pY_MainHand4, (Texture *)(v18 != 0 ? (int)v19 : 0));
+        else
+        {
+          if ( item_MainHand4->uAttributes & 1 )
+            pRenderer->DrawTextureTransparent(pX_MainHand4, pY_MainHand4, (Texture *)(v18 != 0 ? (int)v19 : 0));
+          else
+            pRenderer->DrawTransparentGreenShade(pX_MainHand4, pY_MainHand4, (Texture *)(v18 != 0 ? (int)v19 : 0));
+        }
+      }
+      if ( item_MainHand4->uAttributes & 0xF0 )
+      {
+        if ( ( item_MainHand4->uAttributes & 0xF0) != 16 )
+          v167 = "sptext01";
+        if ( ( item_MainHand4->uAttributes & 0xF0) == 32 )
+          v167 = "sp28a";
+        if ( (item_MainHand4->uAttributes & 0xF0) == 64 )
+          v167 = "sp30a";
+        if ( (item_MainHand4->uAttributes & 0xF0) == 128 )
+          v167 = "sp91a";
+        v16 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE)];
+        dword_50C9A8 -= pEventTimer->uTimeElapsed;
+        if ( dword_50C9A8 <= 0 )
+        {
+          dword_50C9A8 = 0;
+          item_MainHand4->uAttributes &= 0xFu;
+          ptr_50C9A4 = 0;
+        }
+        v17 = (double)GetTickCount() * 0.1;
+        pRenderer->_4A63E6(pX_MainHand4, pY_MainHand4, (Texture *)(v14 != -1 ? (int)&pIcons_LOD->pTextures[v14] : 0), v16, (signed __int64)v17, 0, 255);
+      }
+      if ( !bRingsShownInCharScreen )
+        pRenderer->DrawMaskToZBuffer(pX_MainHand4, pY_MainHand4, (Texture *)(v18 != 0 ? (int)v19 : 0), pMainHandNum4);
+    }
+  }
+  else// без акваланга
+  {
+    pBowNum = pPlayers[uPlayerID]->pEquipment.uBow; //сначала рисуется лук
+    if ( pBowNum )
+    {
+      itemBow = &pPlayers[uPlayerID]->pInventoryItems[pBowNum - 1];
+      pX_Bow = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][2][0] - pItemsTable->pItems[itemBow->uItemID].uEquipX;
+      pY_Bow = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][2][1] - pItemsTable->pItems[itemBow->uItemID].uEquipY;
+      pBowTextureNum = pIcons_LOD->LoadTexture(pItemsTable->pItems[itemBow->uItemID].pIconName, TEXTURE_16BIT_PALETTE);
+      if ( !(itemBow->uAttributes & 0xF0) )// если не применён закл
+      {
+        if ( itemBow->uAttributes & 2 )
+          pRenderer->DrawTransparentRedShade(pX_Bow, pY_Bow, (Texture *)(pBowTextureNum != -1 ? (int)&pIcons_LOD->pTextures[pBowTextureNum] : 0));
         else
-            {
-            IsDwarf = 0;
-            pBodyComplection = pSex != 0;
-            }
-        v244 = pPlayer->uFace;
-        pRenderer->ResetTextureClipRect();
-        pRenderer->DrawTextureIndexed(0x1D3u, 0, pIcons_LOD->GetTexture(uTextureID_BACKDOLL));//Подложка
-        if ( !IsPlayerWearingWatersuit[uPlayerID_] )
+        {
+          v30 = (char *)&pIcons_LOD->pTextures[pBowTextureNum];
+          if ( !(itemBow->uAttributes & 1) )//не опознанный лук зелёный
+            pRenderer->DrawTransparentGreenShade(pX_Bow, pY_Bow, (Texture *)(pBowTextureNum != -1 ? (int)v30 : 0));
+          else // опознанный лук
+            pRenderer->DrawTextureTransparent(pX_Bow, pY_Bow, (Texture *)(pBowTextureNum != -1 ? (int)v30 : 0));
+        }
+      }
+      else
+      {
+        if ( (itemBow->uAttributes & 0xF0) == 16 )
+          v168 = "sptext01";
+        if ( (itemBow->uAttributes & 0xF0) == 32 )
+          v168 = "sp28a";
+        if ( (itemBow->uAttributes & 0xF0) == 64 )
+          v168 = "sp30a";
+        if ( (itemBow->uAttributes & 0xF0) == 128 )
+          v168 = "sp91a";
+        a2b = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v168, TEXTURE_16BIT_PALETTE)];
+        dword_50C9A8 -= pEventTimer->uTimeElapsed;
+        if ( dword_50C9A8 <= 0 )
+        {
+          dword_50C9A8 = 0;
+          itemBow->uAttributes &= 0xFu;
+          ptr_50C9A4 = 0;
+        }
+        v28 = (double)GetTickCount() * 0.1;
+        pRenderer->_4A63E6(pX_Bow, pY_Bow, (Texture *)(pBowTextureNum != -1 ? (int)&pIcons_LOD->pTextures[pBowTextureNum] : 0), a2b, (signed __int64)v28, 0, 255);
+      }
+      if ( !bRingsShownInCharScreen )
+        pRenderer->DrawMaskToZBuffer(pX_Bow, pY_Bow, (Texture *)(pBowTextureNum != -1 ? (int)&pIcons_LOD->pTextures[pBowTextureNum] : 0), pBowNum);
+    }
+    pCloakNum = pPlayers[uPlayerID]->pEquipment.uCloak;// потом плащ
+    if ( pCloakNum )
+    {
+      item_Cloak = &pPlayers[uPlayerID]->pInventoryItems[pCloakNum - 1];
+      switch ( item_Cloak->uItemID )
+      {
+        case 525:
+          v33 = 5;
+          break;
+        case 530:
+          v33 = 6;
+          break;
+        case 547:
+          v33 = 7;
+          break;
+        case 548:
+          v33 = 8;
+          break;
+        case 550:
+          v33 = 9;
+          break;
+        default:
+          v33 = item_Cloak->uItemID - 105;
+          break;
+      }
+      if ( v33 >= 0 && v33 < 10 )
+      {
+        v34 = v33 + 10 * pBodyComplection;
+        v35 = paperdoll_array_511828[0][v34];//Texture_Cloak
+        pX_Cloak = pPaperdoll_BodyX + paperdoll_Cloak[0][v34][0];
+        pY_Cloak = pPaperdoll_BodyY + paperdoll_Cloak[0][v34][1];
+        if ( !(item_Cloak->uAttributes & 0xF0) )
+        {
+          v41 = v35 + 1;
+          if ( item_Cloak->uAttributes & 2 )
+            pRenderer->DrawTransparentRedShade(pX_Cloak, pY_Cloak, (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0));
+          else
+            pRenderer->DrawTextureTransparent(pX_Cloak, pY_Cloak, (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0));
+        }
+        else
+        {
+          if ( (item_Cloak->uAttributes & 0xF0) == 16 )
+            v169 = "sptext01";
+          if ( (item_Cloak->uAttributes & 0xF0) == 32 )
+            v169 = "sp28a";
+          if ( (item_Cloak->uAttributes & 0xF0) != 64 )
+            v169 = "sp30a";
+          if ( (item_Cloak->uAttributes & 0xF0) == 128 )
+            v169 = "sp91a";
+          v39 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v169, TEXTURE_16BIT_PALETTE)];
+          dword_50C9A8 -= pEventTimer->uTimeElapsed;
+          if ( dword_50C9A8 <= 0 )
+          {
+            dword_50C9A8 = 0;
+            item_Cloak->uAttributes &= 0xFu;
+            ptr_50C9A4 = 0;
+          }
+          v40 = (double)GetTickCount() * 0.1;
+          pRenderer->_4A63E6(pX_Cloak, pY_Cloak, (Texture *)(v35 != -1 ? (int)&pIcons_LOD->pTextures[v35] : 0), v39, (signed __int64)v40, 0, 255);
+        }
+        if ( !bRingsShownInCharScreen )
+          pRenderer->DrawMaskToZBuffer(pX_Cloak, pY_Cloak, (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0), pCloakNum);
+      }
+    }
+    pRenderer->DrawTextureTransparent(pPaperdoll_BodyX, pPaperdoll_BodyY,//рисуется кукла
+            (Texture *)(papredoll_dbods[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbods[uPlayerID - 1]] : 0));
+    pArmorNum = pPlayers[uPlayerID]->pEquipment.uArmor;// потом броня
+    if ( pArmorNum )
+    {
+      item_Armor = &pPlayers[uPlayerID]->pInventoryItems[pArmorNum - 1];
+      switch ( item_Armor->uItemID )
+      {
+        case 504:
+          v45 = 15;
+          break;
+        case 505:
+          v45 = 14;
+          break;
+        case 516:
+          v45 = 13;
+          break;
+        case 533:
+          v45 = 16;
+          break;
+        default:
+          v45 = item_Armor->uItemID - 66;
+          break;
+      }
+      if ( v45 >= 0 && v45 < 17 )
+      {
+        v46 = 17 * pBodyComplection + v45;
+        pX_Armor = pPaperdoll_BodyX + paperdoll_Armor[0][v46][0];
+        pY_Armor = pPaperdoll_BodyY + paperdoll_Armor[0][v46][1];
+        v48 = paperdoll_array_511290[0][v46][0];//Texture_Armor
+        if ( !(item_Armor->uAttributes & 0xF0) )
+        {
+          v53 = v48 + 1;
+          if ( item_Armor->uAttributes & 2 )
+            pRenderer->DrawTransparentRedShade(pX_Armor, pY_Armor, (Texture *)(v53 != 0 ? (int)&pIcons_LOD->pTextures[v48] : 0));
+          else
+          {
+            v55 = (char *)&pIcons_LOD->pTextures[v48];
+            if ( !(item_Armor->uAttributes & 1) )
+              pRenderer->DrawTransparentGreenShade(pX_Armor, pY_Armor, (Texture *)(v53 != 0 ? (int)v55 : 0));
+            else
+              pRenderer->DrawTextureTransparent(pX_Armor, pY_Armor, (Texture *)(v53 != 0 ? (int)v55 : 0));
+          }
+        }
+        else
+        {
+          if ( (item_Armor->uAttributes & 0xF0) == 16 )
+            v170 = "sptext01";
+          if ( (item_Armor->uAttributes & 0xF0) == 32 )
+            v170 = "sp28a";
+          if ( (item_Armor->uAttributes & 0xF0) == 64 )
+            v170 = "sp30a";
+          if ( (item_Armor->uAttributes & 0xF0) == 128 )
+            v170 = "sp91a";
+          v51 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v170, TEXTURE_16BIT_PALETTE)];
+          dword_50C9A8 -= pEventTimer->uTimeElapsed;
+          if ( dword_50C9A8 <= 0 )
+          {
+            dword_50C9A8 = 0;
+            item_Armor->uAttributes &= 0xFu;
+            ptr_50C9A4 = 0;
+          }
+          v52 = (double)GetTickCount() * 0.1;
+          pRenderer->_4A63E6(pX_Armor, pY_Armor, (Texture *)(v48 != -1 ? (int)&pIcons_LOD->pTextures[v48] : 0), v51, (signed __int64)v52, 0, 255);
+        }
+        if ( pPlayers[uPlayerID]->pEquipment.uMainHand //далее плечи брони
+          && (pPlayers[uPlayerID]->GetEquippedItemEquipType(EQUIP_MAIN_HAND) == EQUIP_MAIN_HAND ||
+           pPlayers[uPlayerID]->GetEquippedItemSkillType(EQUIP_MAIN_HAND) == EQUIP_SHIELD &&
+          !pPlayers[uPlayerID]->pEquipment.uShield) )
+        {
+          v91 = 17 * pBodyComplection + v45;
+          v94 = paperdoll_array_511290[0][v91][2];
+          if ( v94 == pIcons_LOD->FindTextureByName("pending") )
+          {
+            v94 = paperdoll_array_511290[0][v91][1];
+            pX_shoulder = pPaperdoll_BodyX + paperdoll_shoulder[0][v91][0];
+            pY_shoulder = pPaperdoll_BodyY + paperdoll_shoulder[0][v91][1];
+          }
+          else
+          {
+            pX_shoulder = pPaperdoll_BodyX + dword_4E5270[v91][0];
+            pY_shoulder = pPaperdoll_BodyY + dword_4E5270[v91][1];
+          }
+          if ( !(item_Armor->uAttributes & 0xF0) )
+          {
+            v98 = v94 + 1;
+            v99 = (char *)&pIcons_LOD->pTextures[v94];
+            if ( item_Armor->uAttributes & 2 )
+              pRenderer->DrawTransparentRedShade(pX_shoulder, pY_shoulder, (Texture *)(v98 != 0 ? (int)v99 : 0));
+            else
             {
-            v21 = pPlayer->pEquipment.uBow; //сначала рисуется лук
-            if ( !v21 )
-                goto LABEL_59;
-            v230 = pPlayer->pEquipment.uBow;
-            v22 = (int)&pPlayer->pInventoryItems[v21-1];
-            v23 = *(int *)v22;
-            v24 = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][2][0] - pItemsTable->pItems[v23].uEquipX;
-            a3b = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][2][1] - pItemsTable->pItems[v23].uEquipY;
-            v241 = pIcons_LOD->LoadTexture(pItemsTable->pItems[v23].pIconName, TEXTURE_16BIT_PALETTE);
-            v25 = *(int *)(v22 + 20);
-            if ( !(*(int *)(v22 + 20) & 0xF0) )
-                {
-                if ( v25 & 2 )
-                    {
-                    v27 = (Texture *)(v241 != -1 ? (int)&pIcons_LOD->pTextures[v241] : 0);
-                    pRenderer->DrawTransparentRedShade(v24, a3b, v27);
-                    }
-                else
-                    {
-                    v29 = (v25 & 1) == 0;
-                    v30 = (char *)&pIcons_LOD->pTextures[v241];
-                    if ( v29 )
-                        {
-                        v27 = (Texture *)(v241 != -1 ? (int)v30 : 0);
-                        pRenderer->DrawTransparentGreenShade(v24, a3b, (Texture *)(v241 != -1 ? (int)v30 : 0));
-                        }
-                    else
-                        {
-                        v27 = (Texture *)(v241 != -1 ? (int)v30 : 0);
-                        pRenderer->DrawTextureTransparent(v24, a3b, (Texture *)(v241 != -1 ? (int)v30 : 0));
-                        }
-                    }
-LABEL_57:
-                if ( !bRingsShownInCharScreen )
-                    pRenderer->DrawMaskToZBuffer(v24, a3b, v27, v230);
-LABEL_59:
-                v31 = pPlayer->pEquipment.uCloak;// потом плащ
-                if ( !v31 )
-                    goto LABEL_93;
-                v231 = pPlayer->pEquipment.uCloak;
-                v32 = (int)&pPlayer->pInventoryItems[v31-1];
-                v219 = v32;
-                if ( *(int *)v32 != 525 )
-                    {
-                    switch ( *(int *)v32 )
-                        {
-                    case 0x212:
-                        v184 = 6;
-                        break;
-                    case 0x223:
-                        v184 = 7;
-                        break;
-                    case 0x224:
-                        v184 = 8;
-                        break;
-                    default:
-                        if ( *(int *)v32 != 550 )
-                            {
-                            v33 = *(int *)v32 - 105;
-LABEL_72:
-                            if ( v33 < 0 || v33 >= 10 )
-                                goto LABEL_93;
-LABEL_74:
-                            v34 = v33 + 10 * pBodyComplection;
-                            v35 = paperdoll_array_511828[0][v34];//Texture_Cloak
-                            a2c = pPaperdoll_BodyX + paperdoll_Cloak[0][v34][0];
-                            v36 = pPaperdoll_BodyY + paperdoll_Cloak[0][v34][1];
-                            v37 = *(int *)(v32 + 20);
-                            a3c = v36;
-                            if ( !(v37 & 0xF0) )
-                                {
-                                v41 = v35 + 1;
-                                if ( v37 & 2 )
-                                    {
-                                    v42 = (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0);
-                                    pRenderer->DrawTransparentRedShade(a2c, v36, v42);
-                                    }
-                                else
-                                    {
-                                    v42 = (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0);
-                                    pRenderer->DrawTextureTransparent(a2c, v36, v42);
-                                    }
-                                if ( !bRingsShownInCharScreen )
-                                    pRenderer->DrawMaskToZBuffer(a2c, a3c, v42, v231);
-LABEL_93:
-                                v240 = 4 * uPlayerID_ - 4;
-                                pRenderer->DrawTextureTransparent(pPaperdoll_BodyX, pPaperdoll_BodyY,
-                                    (Texture *)(*(unsigned int *)((char *)papredoll_dbods + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dbods + v240)] : 0));
-                                v43 = pPlayer->pEquipment.uBody;// потом тело
-                                if ( !v43 )
-                                    goto LABEL_127;
-                                v232 = pPlayer->pEquipment.uBody;
-                                v44 = (int)&pPlayer->pInventoryItems[v43-1];
-                                v220 = v44;
-                                if ( *(int *)v44 != 504 )
-                                    {
-                                    if ( *(int *)v44 == 505 )
-                                        {
-                                        v185 = 14;
-                                        }
-                                    else
-                                        {
-                                        if ( *(int *)v44 == 516 )
-                                            {
-                                            v185 = 13;
-                                            }
-                                        else
-                                            {
-                                            if ( *(int *)v44 != 533 )
-                                                {
-                                                v45 = *(int *)v44 - 66;
-LABEL_104:
-                                                if ( v45 < 0 || v45 >= 17 )
-                                                    goto LABEL_127;
-LABEL_106:
-                                                v46 = 17 * pBodyComplection + v45;
-                                                a2d = pPaperdoll_BodyX + paperdoll_Armor[0][v46][0];
-                                                v47 = pPaperdoll_BodyY + paperdoll_Armor[0][v46][1];
-                                                v48 = paperdoll_array_511290[0][v46][0];//Texture_Armor
-                                                v49 = *(int *)(v44 + 20);
-                                                a3d = v47;
-                                                if ( !(v49 & 0xF0) )
-                                                    {
-                                                    v53 = v48 + 1;
-                                                    if ( v49 & 2 )
-                                                        {
-                                                        v54 = (Texture *)(v53 != 0 ? (int)&pIcons_LOD->pTextures[v48] : 0);
-                                                        pRenderer->DrawTransparentRedShade(a2d, v47, v54);
-                                                        }
-                                                    else
-                                                        {
-                                                        v29 = (v49 & 1) == 0;
-                                                        v55 = (char *)&pIcons_LOD->pTextures[v48];
-                                                        if ( v29 )
-                                                            {
-                                                            v54 = (Texture *)(v53 != 0 ? (int)v55 : 0);
-                                                            pRenderer->DrawTransparentGreenShade(a2d, v47, v54);
-                                                            }
-                                                        else
-                                                            {
-                                                            v54 = (Texture *)(v53 != 0 ? (int)v55 : 0);
-                                                            pRenderer->DrawTextureTransparent(a2d, v47, v54);
-                                                            }
-                                                        }
-                                                    if ( !bRingsShownInCharScreen )
-                                                        pRenderer->DrawMaskToZBuffer(a2d, a3d, v54, v232);
-LABEL_127:
-                                                    v56 = pPlayer->pEquipment.field_20;
-                                                    if ( !v56 )
-                                                        goto LABEL_155;
-                                                    v233 = pPlayer->pEquipment.field_20;
-                                                    v57 = (int)&pPlayer->pInventoryItems[v56-1];
-                                                    v221 = v57;
-                                                    v58 = *(int *)v57;
-                                                    if ( *(int *)v57 == 529 )
-                                                        {
-                                                        a3e = pPaperdoll_BodyY + paperdoll_Boot[pBodyComplection][5][1];
-                                                        a2e = pPaperdoll_BodyX + paperdoll_Boot[pBodyComplection][5][0];
-                                                        v59 = papredoll_flying_feet[v244];
-                                                        }
-                                                    else
-                                                        {
-                                                        if ( v58 == 512 )
-                                                            {
-                                                            a3e = pPaperdoll_BodyY + paperdoll_Boot[pBodyComplection][6][1];
-                                                            a2e = pPaperdoll_BodyX + paperdoll_Boot[pBodyComplection][6][0];
-                                                            v59 = dword_511638[pBodyComplection][5];
-                                                            }
-                                                        else
-                                                            {
-                                                            v60 = v58 - 115;
-                                                            if ( v60 < 0 || v60 >= 5 )
-                                                                {
-                                                                a2e = 0;
-                                                                a3e = 0;
-                                                                v59 = dword_511638[pBodyComplection][0];
-                                                                }
-                                                            else
-                                                                {
-                                                                v61 = v60 + 7 * pBodyComplection;
-                                                                a3e = pPaperdoll_BodyY + paperdoll_Boot[0][v61][1];
-                                                                a2e = pPaperdoll_BodyX + paperdoll_Boot[0][v61][0];
-                                                                v59 = dword_511638[0][v60 + 6 * pBodyComplection];
-                                                                }
-                                                            }
-                                                        }
-                                                    v62 = *(int *)(v57 + 20);
-                                                    if ( !(*(int *)(v57 + 20) & 0xF0) )
-                                                        {
-                                                        v65 = v59 + 1;
-                                                        v66 = (char *)&pIcons_LOD->pTextures[v59];
-                                                        if ( v62 & 2 )
-                                                            {
-                                                            v67 = (Texture *)(v65 != 0 ? (int)v66 : 0);
-                                                            pRenderer->DrawTransparentRedShade(a2e, a3e, v67);
-                                                            }
-                                                        else
-                                                            {
-                                                            if ( v62 & 1 )
-                                                                {
-                                                                v67 = (Texture *)(v65 != 0 ? (int)v66 : 0);
-                                                                pRenderer->DrawTextureTransparent(a2e, a3e, v67);
-                                                                }
-                                                            else
-                                                                {
-                                                                v67 = (Texture *)(v65 != 0 ? (int)v66 : 0);
-                                                                pRenderer->DrawTransparentGreenShade(a2e, a3e, v67);
-                                                                }
-                                                            }
-                                                        if ( !bRingsShownInCharScreen )
-                                                            pRenderer->DrawMaskToZBuffer(a2e, a3e, v67, v233);
-LABEL_155:
-                                                        v69 = pPlayer->pEquipment.uMainHand;
-                                                        uPlayerID_a = 2 * pBodyComplection;
-                                                        if ( !v69 || (v70 = *(int *)&pPlayer->pInventoryItems[v69-1], pItemsTable->pItems[v70].uEquipType != 1)
-                                                            && (pItemsTable->pItems[v70].uSkillType != 4 || pPlayer->pEquipment.uOffHand) )
-                                                            pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0],
-                                                            pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1],
-                                                            (Texture *)(*(unsigned int *)((char *)papredoll_dlads + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlads + v240)] : 0));
-                                                        v71 = pPlayer->pEquipment.uBelt;
-                                                        if ( v71 )
-                                                            {
-                                                            v234 = pPlayer->pEquipment.uBelt;
-                                                            v72 = (int)&pPlayer->pInventoryItems[v71-1];
-                                                            v222 = v72;
-                                                            if ( *(int *)v72 == 524 )
-                                                                {
-                                                                v73 = 5;
-                                                                }
-                                                            else
-                                                                {
-                                                                if ( *(int *)v72 == 535 )
-                                                                    {
-                                                                    v73 = 6;
-                                                                    goto LABEL_168;
-                                                                    }
-                                                                v73 = *(int *)v72 - 100;
-                                                                }
-                                                            if ( v73 >= 0 && v73 < 7 )
-                                                                {
-LABEL_168:
-                                                                v74 = 7 * pBodyComplection + v73;
-                                                                a2f = pPaperdoll_BodyX + paperdoll_Belt[0][v74][0];
-                                                                a3f = pPaperdoll_BodyY + paperdoll_Belt[0][v74][1];
-                                                                if ( IsDwarf != 1 || v73 == 5 )
-                                                                    v75 = stru_511718[pBodyComplection].texids[v73];
-                                                                else
-                                                                    v75 = stru_511718[pBodyComplection - 2].texids[v73];
-                                                                v76 = *(int *)&pPlayer->field_1F5[36 * v71 + 15];
-                                                                if ( !(*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) )
-                                                                    {
-                                                                    v79 = v75 + 1;
-                                                                    v80 = (char *)&pIcons_LOD->pTextures[v75];
-                                                                    if ( v76 & 2 )
-                                                                        {
-                                                                        v81 = (Texture *)(v79 != 0 ? (int)v80 : 0);
-                                                                        pRenderer->DrawTransparentRedShade(a2f, a3f, v81);
-                                                                        }
-                                                                    else
-                                                                        {
-                                                                        if ( v76 & 1 )
-                                                                            {
-                                                                            v81 = (Texture *)(v79 != 0 ? (int)v80 : 0);
-                                                                            pRenderer->DrawTextureTransparent(a2f, a3f, v81);
-                                                                            }
-                                                                        else
-                                                                            {
-                                                                            v81 = (Texture *)(v79 != 0 ? (int)v80 : 0);
-                                                                            pRenderer->DrawTransparentGreenShade(a2f, a3f, v81);
-                                                                            }
-                                                                        }
-                                                                    if ( !bRingsShownInCharScreen )
-                                                                        pRenderer->DrawMaskToZBuffer(a2f, a3f, v81, v234);
-                                                                    goto LABEL_192;
-                                                                    }
-                                                                if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) != 16 )
-                                                                    {
-                                                                    if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) == 32 )
-                                                                        {
-                                                                        v172 = "sp28a";
-                                                                        v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)];
-                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                        if ( dword_50C9A8 <= 0 )
-                                                                            {
-                                                                            dword_50C9A8 = 0;
-                                                                            *(char *)(v222 + 20) &= 0xFu;
-                                                                            ptr_50C9A4 = 0;
-                                                                            }
-                                                                        v78 = (double)GetTickCount() * 0.1;
-                                                                        pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255);
-                                                                        goto LABEL_192;
-                                                                        }
-                                                                    if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) == 64 )
-                                                                        {
-                                                                        v172 = "sp30a";
-                                                                        v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)];
-                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                        if ( dword_50C9A8 <= 0 )
-                                                                            {
-                                                                            dword_50C9A8 = 0;
-                                                                            *(char *)(v222 + 20) &= 0xFu;
-                                                                            ptr_50C9A4 = 0;
-                                                                            }
-                                                                        v78 = (double)GetTickCount() * 0.1;
-                                                                        pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255);
-                                                                        goto LABEL_192;
-                                                                        }
-                                                                    if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) == 128 )
-                                                                        {
-                                                                        v172 = "sp91a";
-                                                                        v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)];
-                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                        if ( dword_50C9A8 <= 0 )
-                                                                            {
-                                                                            dword_50C9A8 = 0;
-                                                                            *(char *)(v222 + 20) &= 0xFu;
-                                                                            ptr_50C9A4 = 0;
-                                                                            }
-                                                                        v78 = (double)GetTickCount() * 0.1;
-                                                                        pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255);
-                                                                        goto LABEL_192;
-                                                                        }
-                                                                    }
-                                                                v172 = "sptext01";
-                                                                v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)];
-                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                if ( dword_50C9A8 <= 0 )
-                                                                    {
-                                                                    dword_50C9A8 = 0;
-                                                                    *(char *)(v222 + 20) &= 0xFu;
-                                                                    ptr_50C9A4 = 0;
-                                                                    }
-                                                                v78 = (double)GetTickCount() * 0.1;
-                                                                pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255);
-                                                                goto LABEL_192;
-                                                                }
-                                                            }
-LABEL_192:
-                                                        v82 = pPlayer->pEquipment.uMainHand;
-                                                        if ( v82 )
-                                                            {
-                                                            v83 = *(int *)&pPlayer->pInventoryItems[v82-1];
-                                                            if ( pItemsTable->pItems[v83].uEquipType == 1
-                                                                || pItemsTable->pItems[v83].uSkillType == 4 && !pPlayer->pEquipment.uOffHand )
-                                                                pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[0][uPlayerID_a],
-                                                                pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[0][uPlayerID_a + 1],
-                                                                (Texture *)(*(unsigned int *)((char *)papredoll_dlaus + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlaus + v240)] : 0));
-                                                            }
-                                                        v84 = pPlayer->pEquipment.uBody;
-                                                        v235 = v84;
-                                                        v85 = (int)((char *)pPlayer + 36 * v84);
-                                                        v242 = v85;
-                                                        v86 = *(int *)(v85 + 496);
-                                                        v87 = *(int *)(v85 + 496) - 504;
-                                                        if ( v87 )
-                                                            {
-                                                            v88 = v87 - 1;
-                                                            if ( v88 )
-                                                                {
-                                                                v89 = v88 - 11;
-                                                                if ( v89 )
-                                                                    {
-                                                                    if ( v89 != 17 )
-                                                                        {
-                                                                        v90 = v86 - 66;
-LABEL_207:
-                                                                        if ( v90 < 0 || v90 > 17 )
-                                                                            {
-LABEL_259:
-                                                                            v111 = pPlayer->pEquipment.uCloak;
-                                                                            if ( !v111 )
-                                                                                goto LABEL_293;
-                                                                            v236 = pPlayer->pEquipment.uCloak;
-                                                                            v112 = (int)&pPlayer->pInventoryItems[v111-1];
-                                                                            v225 = v112;
-                                                                            v113 = *(int *)v112;
-                                                                            if ( v113 != 525 )
-                                                                                {
-                                                                                switch ( v113 )
-                                                                                    {
-                                                                                case 530:
-                                                                                    v191 = 6;
-                                                                                    break;
-                                                                                case 547:
-                                                                                    v191 = 7;
-                                                                                    break;
-                                                                                case 548:
-                                                                                    v191 = 8;
-                                                                                    break;
-                                                                                default:
-                                                                                    if ( v113 != 550 )
-                                                                                        {
-                                                                                        v114 = v113 - 105;
-LABEL_272:
-                                                                                        if ( v114 < 0 || v114 >= 10 )
-                                                                                            goto LABEL_293;
-LABEL_274:
-                                                                                        v115 = v114 + 10 * pBodyComplection;
-                                                                                        v116 = dword_511788[v115];
-                                                                                        v115 *= 8;
-                                                                                        v117 = pPaperdoll_BodyX + *(int *)((char *)&dword_4E56B0 + v115);
-                                                                                        a2h = pPaperdoll_BodyX + *(int *)((char *)&dword_4E56B0 + v115);
-                                                                                        a3h = pPaperdoll_BodyY + *(int *)((char *)&dword_4E56B4 + v115);
-                                                                                        if ( v116 == pIcons_LOD->FindTextureByName("pending") )
-                                                                                            {
-LABEL_292:
-LABEL_293:
-                                                                                            if ( v244 == 12 || v244 == 13 )
-                                                                                                {
-                                                                                                v122 = papredoll_dbrds[v244];
-                                                                                                if ( v122 != pIcons_LOD->FindTextureByName("Pending") )
-                                                                                                    pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_Beards[2 * v244 - 24],
-                                                                                                    pPaperdoll_BodyY + pPaperdoll_Beards[2 * v244 - 23],
-                                                                                                    (Texture *)(v122 != -1 ? (int)&pIcons_LOD->pTextures[v122] : 0));
-                                                                                                }
-                                                                                            v123 = pPlayer->pEquipment.uHelm;
-                                                                                            if ( !v123 )
-                                                                                                goto LABEL_335;
-                                                                                            v237 = v123;
-                                                                                            v124 = (int)&pPlayer->pInventoryItems[v123-1];
-                                                                                            v226 = v124;
-                                                                                            if ( *(int *)v124 != 521 )
-                                                                                                {
-                                                                                                switch ( *(int *)v124 )
-                                                                                                    {
-                                                                                                case 0x20A:
-                                                                                                    v192 = 12;
-                                                                                                    break;
-                                                                                                case 0x20B:
-                                                                                                    v192 = 13;
-                                                                                                    break;
-                                                                                                case 0x214:
-                                                                                                    v192 = 14;
-                                                                                                    break;
-                                                                                                default:
-                                                                                                    if ( *(int *)v124 != 544 )
-                                                                                                        {
-                                                                                                        v125 = *(int *)v124 - 89;
-                                                                                                        if ( v125 < 0 || v125 >= 16 )
-                                                                                                            goto LABEL_335;
-                                                                                                        goto LABEL_312;
-                                                                                                        }
-                                                                                                    v192 = 15;
-                                                                                                    break;
-                                                                                                    }
-                                                                                                v125 = v192;
-LABEL_312:
-                                                                                                v126 = 2 * (v125 + 16 * pBodyComplection);
-                                                                                                a2j = pPaperdoll_BodyX + dword_4E58D0[v126];
-                                                                                                a3i = pPaperdoll_BodyY + dword_4E58D4[v126];
-                                                                                                if ( IsDwarf != 1 || *(int *)v124 != 92 )
-                                                                                                    v127 = stru_511698[0].texids[v125 + 16 * pSex];
-                                                                                                else
-                                                                                                    v127 = papredoll_dbrds[11];
-                                                                                                v128 = *(int *)(v124 + 20);
-                                                                                                if ( *(int *)(v124 + 20) & 0xF0 )
-                                                                                                    {
-                                                                                                    if ( (*(int *)(v124 + 20) & 0xF0) != 16 )
-                                                                                                        {
-                                                                                                        if ( (*(int *)(v124 + 20) & 0xF0) == 32 )
-                                                                                                            {
-                                                                                                            v180 = "sp28a";
-                                                                                                            v129 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v180, TEXTURE_16BIT_PALETTE)];
-                                                                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                            if ( dword_50C9A8 <= 0 )
-                                                                                                                {
-                                                                                                                dword_50C9A8 = 0;
-                                                                                                                *(char *)(v226 + 20) &= 0xFu;
-                                                                                                                ptr_50C9A4 = 0;
-                                                                                                                }
-                                                                                                            v130 = (double)GetTickCount() * 0.1;
-                                                                                                            pRenderer->_4A63E6(a2j, a3i, (Texture *)(v127 != -1 ? (int)&pIcons_LOD->pTextures[v127] : 0),
-                                                                                                                v129, (signed __int64)v130, 0, 255);
-                                                                                                            goto LABEL_335;
-                                                                                                            }
-                                                                                                        if ( (*(int *)(v124 + 20) & 0xF0) == 64 )
-                                                                                                            {
-                                                                                                            v180 = "sp30a";
-                                                                                                            v129 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v180, TEXTURE_16BIT_PALETTE)];
-                                                                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                            if ( dword_50C9A8 <= 0 )
-                                                                                                                {
-                                                                                                                dword_50C9A8 = 0;
-                                                                                                                *(char *)(v226 + 20) &= 0xFu;
-                                                                                                                ptr_50C9A4 = 0;
-                                                                                                                }
-                                                                                                            v130 = (double)GetTickCount() * 0.1;
-                                                                                                            pRenderer->_4A63E6(a2j, a3i, (Texture *)(v127 != -1 ? (int)&pIcons_LOD->pTextures[v127] : 0),
-                                                                                                                v129, (signed __int64)v130, 0, 255);
-                                                                                                            goto LABEL_335;
-                                                                                                            }
-                                                                                                        if ( (*(int *)(v124 + 20) & 0xF0) == 128 )
-                                                                                                            {
-                                                                                                            v180 = "sp91a";
-                                                                                                            v129 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v180, TEXTURE_16BIT_PALETTE)];
-                                                                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                            if ( dword_50C9A8 <= 0 )
-                                                                                                                {
-                                                                                                                dword_50C9A8 = 0;
-                                                                                                                *(char *)(v226 + 20) &= 0xFu;
-                                                                                                                ptr_50C9A4 = 0;
-                                                                                                                }
-                                                                                                            v130 = (double)GetTickCount() * 0.1;
-                                                                                                            pRenderer->_4A63E6(a2j, a3i, (Texture *)(v127 != -1 ? (int)&pIcons_LOD->pTextures[v127] : 0),
-                                                                                                                v129, (signed __int64)v130, 0, 255);
-                                                                                                            goto LABEL_335;
-                                                                                                            }
-                                                                                                        }
-                                                                                                    v180 = "sptext01";
-                                                                                                    v129 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v180, TEXTURE_16BIT_PALETTE)];
-                                                                                                    dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                    if ( dword_50C9A8 <= 0 )
-                                                                                                        {
-                                                                                                        dword_50C9A8 = 0;
-                                                                                                        *(char *)(v226 + 20) &= 0xFu;
-                                                                                                        ptr_50C9A4 = 0;
-                                                                                                        }
-                                                                                                    v130 = (double)GetTickCount() * 0.1;
-                                                                                                    pRenderer->_4A63E6(a2j, a3i, (Texture *)(v127 != -1 ? (int)&pIcons_LOD->pTextures[v127] : 0),
-                                                                                                        v129, (signed __int64)v130, 0, 255);
-                                                                                                    goto LABEL_335;
-                                                                                                    }
-                                                                                                v131 = v127 + 1;
-                                                                                                v132 = (char *)&pIcons_LOD->pTextures[v127];
-                                                                                                if ( v128 & 2 )
-                                                                                                    {
-                                                                                                    v133 = (Texture *)(v131 != 0 ? (int)v132 : 0);
-                                                                                                    pRenderer->DrawTransparentRedShade(a2j, a3i, v133);
-                                                                                                    }
-                                                                                                else
-                                                                                                    {
-                                                                                                    if ( v128 & 1 )
-                                                                                                        {
-                                                                                                        v133 = (Texture *)(v131 != 0 ? (int)v132 : 0);
-                                                                                                        pRenderer->DrawTextureTransparent(a2j, a3i, v133);
-                                                                                                        }
-                                                                                                    else
-                                                                                                        {
-                                                                                                        v133 = (Texture *)(v131 != 0 ? (int)v132 : 0);
-                                                                                                        pRenderer->DrawTransparentGreenShade(a2j, a3i, v133);
-                                                                                                        }
-                                                                                                    }
-                                                                                                if ( !bRingsShownInCharScreen )
-                                                                                                    pRenderer->DrawMaskToZBuffer(a2j, a3i, v133, v237);
-LABEL_335:
-                                                                                                v134 = pPlayer->pEquipment.uMainHand;
-                                                                                                if ( !v134 )
-                                                                                                    goto LABEL_358;
-                                                                                                v238 = pPlayer->pEquipment.uMainHand;
-                                                                                                v135 = (int)&pPlayer->pInventoryItems[v134-1];
-                                                                                                v227 = v135;
-                                                                                                v136 = *(int *)v135;
-                                                                                                v137 = *(int *)v135;
-                                                                                                a2k = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[v137].uEquipX;
-                                                                                                a3j = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[v137].uEquipY;
-                                                                                                if ( v136 == 64 )
-                                                                                                    v181 = "item64v1";
-                                                                                                else
-                                                                                                    v181 = pItemsTable->pItems[v137].pIconName;
-                                                                                                v138 = pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE);
-                                                                                                v139 = *(int *)(v227 + 20);
-                                                                                                if ( !(*(int *)(v227 + 20) & 0xF0) )
-                                                                                                    {
-                                                                                                    v142 = v138 + 1;
-                                                                                                    v143 = (char *)&pIcons_LOD->pTextures[v138];
-                                                                                                    if ( v139 & 2 )
-                                                                                                        {
-                                                                                                        v144 = (Texture *)(v142 != 0 ? (int)v143 : 0);
-                                                                                                        pRenderer->DrawTransparentRedShade(a2k, a3j, v144);
-                                                                                                        }
-                                                                                                    else
-                                                                                                        {
-                                                                                                        if ( v139 & 1 )
-                                                                                                            {
-                                                                                                            v144 = (Texture *)(v142 != 0 ? (int)v143 : 0);
-                                                                                                            pRenderer->DrawTextureTransparent(a2k, a3j, v144);
-                                                                                                            }
-                                                                                                        else
-                                                                                                            {
-                                                                                                            v144 = (Texture *)(v142 != 0 ? (int)v143 : 0);
-                                                                                                            pRenderer->DrawTransparentGreenShade(a2k, a3j, v144);
-                                                                                                            }
-                                                                                                        }
-                                                                                                    if ( !bRingsShownInCharScreen )
-                                                                                                        pRenderer->DrawMaskToZBuffer(a2k, a3j, v144, v238);
-LABEL_358:
-                                                                                                    v145 = pPlayer->pEquipment.uOffHand;
-                                                                                                    v249 = pPlayer->pEquipment.uOffHand;
-                                                                                                    if ( !v145 )
-                                                                                                        goto LABEL_393;
-                                                                                                    v146 = (int)&pPlayer->pInventoryItems[v145-1];
-                                                                                                    v228 = v146;
-                                                                                                    v147 = *(int *)v146;
-                                                                                                    v148 = *(int *)v146;
-                                                                                                    v149 = pItemsTable->pItems[v148].uSkillType;
-                                                                                                    if ( v149 != 2 && v149 != 1 )
-                                                                                                        {
-                                                                                                        v245 = 0;
-                                                                                                        v150 = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[v148].uEquipX;
-                                                                                                        a3k = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[v148].uEquipY;
-                                                                                                        goto LABEL_370;
-                                                                                                        }
-                                                                                                    v151 = v147 - 400;
-                                                                                                    v245 = 1;
-                                                                                                    if ( v151 )
-                                                                                                        {
-                                                                                                        v152 = v151 - 3;
-                                                                                                        if ( v152 )
-                                                                                                            {
-                                                                                                            if ( v152 != 12 )
-                                                                                                                {
-                                                                                                                v150 = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[v148].uEquipX;
-                                                                                                                a3k = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[v148].uEquipY;
-                                                                                                                goto LABEL_370;
-                                                                                                                }
-                                                                                                            v150 = 595;
-                                                                                                            a3k = 33;
-LABEL_370:
-                                                                                                            v153 = pIcons_LOD->LoadTexture(pItemsTable->pItems[v148].pIconName, TEXTURE_16BIT_PALETTE);
-                                                                                                            v154 = v153;
-                                                                                                            v243 = v153;
-                                                                                                            v155 = *(int *)(v228 + 20);
-                                                                                                            if ( !(*(int *)(v228 + 20) & 0xF0) )
-                                                                                                                {
-                                                                                                                if ( v155 & 2 )
-                                                                                                                    {
-                                                                                                                    v159 = (Texture *)(v243 != -1 ? (int)&pIcons_LOD->pTextures[v243] : 0);
-                                                                                                                    pRenderer->DrawTransparentRedShade(v150, a3k, v159);
-                                                                                                                    }
-                                                                                                                else
-                                                                                                                    {
-                                                                                                                    v29 = (v155 & 1) == 0;
-                                                                                                                    v160 = (char *)&pIcons_LOD->pTextures[v243];
-                                                                                                                    if ( v29 )
-                                                                                                                        {
-                                                                                                                        v159 = (Texture *)(v243 != -1 ? (int)v160 : 0);
-                                                                                                                        pRenderer->DrawTransparentGreenShade(v150, a3k, (Texture *)(v243 != -1 ? (int)v160 : 0));
-                                                                                                                        }
-                                                                                                                    else
-                                                                                                                        {
-                                                                                                                        v159 = (Texture *)(v243 != -1 ? (int)v160 : 0);
-                                                                                                                        pRenderer->DrawTextureTransparent(v150, a3k, (Texture *)(v243 != -1 ? (int)v160 : 0));
-                                                                                                                        }
-                                                                                                                    }
-                                                                                                                if ( !bRingsShownInCharScreen )
-                                                                                                                    pRenderer->DrawMaskToZBuffer(v150, a3k, v159, v249);
-                                                                                                                if ( v245 )
-                                                                                                                    pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[uPlayerID_a],
-                                                                                                                    pPaperdoll_BodyY + pPaperdollLeftEmptyHand[uPlayerID_a + 1],
-                                                                                                                    (Texture *)(*(unsigned int *)((char *)papredoll_dlhs
-                                                                                                                    + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlhs + v240)] : 0));
-                                                                                                                goto LABEL_393;
-                                                                                                                }
-                                                                                                            if ( (*(int *)(v228 + 20) & 0xF0) != 16 )
-                                                                                                                {
-                                                                                                                if ( (*(int *)(v228 + 20) & 0xF0) == 32 )
-                                                                                                                    {
-                                                                                                                    v183 = "sp28a";
-                                                                                                                    }
-                                                                                                                else
-                                                                                                                    {
-                                                                                                                    if ( (*(int *)(v228 + 20) & 0xF0) != 64 )
-                                                                                                                        {
-                                                                                                                        v156 = pIcons_LOD;
-                                                                                                                        if ( (*(int *)(v228 + 20) & 0xF0) == 128 )
-                                                                                                                            {
-                                                                                                                            v183 = "sp91a";
-                                                                                                                            v157 = &pIcons_LOD->pTextures[v156->LoadTexture(v183, TEXTURE_16BIT_PALETTE)];
-                                                                                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                                            if ( dword_50C9A8 <= 0 )
-                                                                                                                                {
-                                                                                                                                dword_50C9A8 = 0;
-                                                                                                                                *(char *)(v228 + 20) &= 0xFu;
-                                                                                                                                ptr_50C9A4 = 0;
-                                                                                                                                }
-                                                                                                                            v158 = (double)GetTickCount() * 0.1;
-                                                                                                                            pRenderer->_4A63E6(v150, a3k, (Texture *)(v154 != -1 ? (int)&pIcons_LOD->pTextures[v154] : 0),
-                                                                                                                                v157, (signed __int64)v158, 0, 255);
-                                                                                                                            if ( v245 )
-                                                                                                                                pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[uPlayerID_a],
-                                                                                                                                pPaperdoll_BodyY + pPaperdollLeftEmptyHand[uPlayerID_a + 1],
-                                                                                                                                (Texture *)(*(unsigned int *)((char *)papredoll_dlhs
-                                                                                                                                + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlhs + v240)] : 0));
-                                                                                                                            goto LABEL_393;
-                                                                                                                            }
-                                                                                                                        v183 = "sptext01";
-                                                                                                                        v157 = &pIcons_LOD->pTextures[v156->LoadTexture(v183, TEXTURE_16BIT_PALETTE)];
-                                                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                                                            {
-                                                                                                                            dword_50C9A8 = 0;
-                                                                                                                            *(char *)(v228 + 20) &= 0xFu;
-                                                                                                                            ptr_50C9A4 = 0;
-                                                                                                                            }
-                                                                                                                        v158 = (double)GetTickCount() * 0.1;
-                                                                                                                        pRenderer->_4A63E6(v150, a3k, (Texture *)(v154 != -1 ? (int)&pIcons_LOD->pTextures[v154] : 0),
-                                                                                                                            v157, (signed __int64)v158, 0, 255);
-                                                                                                                        if ( v245 )
-                                                                                                                            pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[uPlayerID_a],
-                                                                                                                            pPaperdoll_BodyY + pPaperdollLeftEmptyHand[uPlayerID_a + 1],
-                                                                                                                            (Texture *)(*(unsigned int *)((char *)papredoll_dlhs
-                                                                                                                            + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlhs + v240)] : 0));
-                                                                                                                        goto LABEL_393;
-                                                                                                                        }
-                                                                                                                    v183 = "sp30a";
-                                                                                                                    }
-                                                                                                                v156 = pIcons_LOD;
-                                                                                                                v157 = &pIcons_LOD->pTextures[v156->LoadTexture(v183, TEXTURE_16BIT_PALETTE)];
-                                                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                                                    {
-                                                                                                                    dword_50C9A8 = 0;
-                                                                                                                    *(char *)(v228 + 20) &= 0xFu;
-                                                                                                                    ptr_50C9A4 = 0;
-                                                                                                                    }
-                                                                                                                v158 = (double)GetTickCount() * 0.1;
-                                                                                                                pRenderer->_4A63E6(v150, a3k, (Texture *)(v154 != -1 ? (int)&pIcons_LOD->pTextures[v154] : 0),
-                                                                                                                    v157, (signed __int64)v158, 0, 255);
-                                                                                                                if ( v245 )
-                                                                                                                    pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[uPlayerID_a],
-                                                                                                                    pPaperdoll_BodyY + pPaperdollLeftEmptyHand[uPlayerID_a + 1],
-                                                                                                                    (Texture *)(*(unsigned int *)((char *)papredoll_dlhs
-                                                                                                                    + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlhs + v240)] : 0));
-                                                                                                                goto LABEL_393;
-                                                                                                                }
-                                                                                                            v156 = pIcons_LOD;
-                                                                                                            v183 = "sptext01";
-                                                                                                            v157 = &pIcons_LOD->pTextures[v156->LoadTexture(v183, TEXTURE_16BIT_PALETTE)];
-                                                                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                            if ( dword_50C9A8 <= 0 )
-                                                                                                                {
-                                                                                                                dword_50C9A8 = 0;
-                                                                                                                *(char *)(v228 + 20) &= 0xFu;
-                                                                                                                ptr_50C9A4 = 0;
-                                                                                                                }
-                                                                                                            v158 = (double)GetTickCount() * 0.1;
-                                                                                                            pRenderer->_4A63E6(v150, a3k, (Texture *)(v154 != -1 ? (int)&pIcons_LOD->pTextures[v154] : 0),
-                                                                                                                v157, (signed __int64)v158, 0, 255);
-                                                                                                            if ( v245 )
-                                                                                                                pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[uPlayerID_a],
-                                                                                                                pPaperdoll_BodyY + pPaperdollLeftEmptyHand[uPlayerID_a + 1],
-                                                                                                                (Texture *)(*(unsigned int *)((char *)papredoll_dlhs
-                                                                                                                + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlhs + v240)] : 0));
-                                                                                                            goto LABEL_393;
-                                                                                                            }
-                                                                                                        a3k = 28;
-                                                                                                        }
-                                                                                                    else
-                                                                                                        {
-                                                                                                        a3k = 86;
-                                                                                                        }
-                                                                                                    v150 = 596;
-                                                                                                    goto LABEL_370;
-                                                                                                    }
-                                                                                                if ( (*(int *)(v227 + 20) & 0xF0) != 16 )
-                                                                                                    {
-                                                                                                    if ( (*(int *)(v227 + 20) & 0xF0) == 32 )
-                                                                                                        {
-                                                                                                        v182 = "sp28a";
-                                                                                                        v140 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v182, TEXTURE_16BIT_PALETTE)];
-                                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                                            {
-                                                                                                            dword_50C9A8 = 0;
-                                                                                                            *(char *)(v227 + 20) &= 0xFu;
-                                                                                                            ptr_50C9A4 = 0;
-                                                                                                            }
-                                                                                                        v141 = (double)GetTickCount() * 0.1;
-                                                                                                        pRenderer->_4A63E6(a2k, a3j, (Texture *)(v138 != -1 ? (int)&pIcons_LOD->pTextures[v138] : 0),
-                                                                                                            v140, (signed __int64)v141, 0, 255);
-                                                                                                        goto LABEL_358;
-                                                                                                        }
-                                                                                                    if ( (*(int *)(v227 + 20) & 0xF0) == 64 )
-                                                                                                        {
-                                                                                                        v182 = "sp30a";
-                                                                                                        v140 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v182, TEXTURE_16BIT_PALETTE)];
-                                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                                            {
-                                                                                                            dword_50C9A8 = 0;
-                                                                                                            *(char *)(v227 + 20) &= 0xFu;
-                                                                                                            ptr_50C9A4 = 0;
-                                                                                                            }
-                                                                                                        v141 = (double)GetTickCount() * 0.1;
-                                                                                                        pRenderer->_4A63E6(a2k, a3j, (Texture *)(v138 != -1 ? (int)&pIcons_LOD->pTextures[v138] : 0),
-                                                                                                            v140, (signed __int64)v141, 0, 255);
-                                                                                                        goto LABEL_358;
-                                                                                                        }
-                                                                                                    if ( (*(int *)(v227 + 20) & 0xF0) == 128 )
-                                                                                                        {
-                                                                                                        v182 = "sp91a";
-                                                                                                        v140 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v182, TEXTURE_16BIT_PALETTE)];
-                                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                                            {
-                                                                                                            dword_50C9A8 = 0;
-                                                                                                            *(char *)(v227 + 20) &= 0xFu;
-                                                                                                            ptr_50C9A4 = 0;
-                                                                                                            }
-                                                                                                        v141 = (double)GetTickCount() * 0.1;
-                                                                                                        pRenderer->_4A63E6(a2k, a3j, (Texture *)(v138 != -1 ? (int)&pIcons_LOD->pTextures[v138] : 0),
-                                                                                                            v140, (signed __int64)v141, 0, 255);
-                                                                                                        goto LABEL_358;
-                                                                                                        }
-                                                                                                    }
-                                                                                                v182 = "sptext01";
-                                                                                                v140 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v182, TEXTURE_16BIT_PALETTE)];
-                                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                                    {
-                                                                                                    dword_50C9A8 = 0;
-                                                                                                    *(char *)(v227 + 20) &= 0xFu;
-                                                                                                    ptr_50C9A4 = 0;
-                                                                                                    }
-                                                                                                v141 = (double)GetTickCount() * 0.1;
-                                                                                                pRenderer->_4A63E6(a2k, a3j, (Texture *)(v138 != -1 ? (int)&pIcons_LOD->pTextures[v138] : 0),
-                                                                                                    v140, (signed __int64)v141, 0, 255);
-                                                                                                goto LABEL_358;
-                                                                                                }
-                                                                                            v125 = 11;
-                                                                                            if ( v125 < 0 || v125 >= 16 )
-                                                                                                goto LABEL_335;
-                                                                                            goto LABEL_312;
-                                                                                            }
-                                                                                        if ( !(*(int *)(v225 + 20) & 0xF0) )
-                                                                                            {
-                                                                                            v119 = v116 + 1;
-                                                                                            v120 = (char *)&pIcons_LOD->pTextures[v116];
-                                                                                            if ( *(int *)(v225 + 20) & 2 )
-                                                                                                {
-                                                                                                v121 = (Texture *)(v119 != 0 ? (int)v120 : 0);
-                                                                                                pRenderer->DrawTransparentRedShade(a2h, a3h, v121);
-                                                                                                }
-                                                                                            else
-                                                                                                {
-                                                                                                v121 = (Texture *)(v119 != 0 ? (int)v120 : 0);
-                                                                                                pRenderer->DrawTextureTransparent(a2h, a3h, v121);
-                                                                                                }
-                                                                                            if ( !bRingsShownInCharScreen )
-                                                                                                pRenderer->DrawMaskToZBuffer(a2h, a3h, v121, v236);
-                                                                                            goto LABEL_292;
-                                                                                            }
-                                                                                        if ( (*(int *)(v225 + 20) & 0xF0) != 16 )
-                                                                                            {
-                                                                                            if ( (*(int *)(v225 + 20) & 0xF0) == 32 )
-                                                                                                {
-                                                                                                v179 = "sp28a";
-                                                                                                a2i = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v179, TEXTURE_16BIT_PALETTE)];
-                                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                                    {
-                                                                                                    dword_50C9A8 = 0;
-                                                                                                    *(char *)(v225 + 20) &= 0xFu;
-                                                                                                    ptr_50C9A4 = 0;
-                                                                                                    }
-                                                                                                v118 = (double)GetTickCount() * 0.1;
-                                                                                                pRenderer->_4A63E6(v117, a3h, (Texture *)(v116 != -1 ? (int)&pIcons_LOD->pTextures[v116] : 0),
-                                                                                                    a2i, (signed __int64)v118, 0, 255);
-                                                                                                goto LABEL_292;
-                                                                                                }
-                                                                                            if ( (*(int *)(v225 + 20) & 0xF0) == 64 )
-                                                                                                {
-                                                                                                v179 = "sp30a";
-                                                                                                a2i = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v179, TEXTURE_16BIT_PALETTE)];
-                                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                                    {
-                                                                                                    dword_50C9A8 = 0;
-                                                                                                    *(char *)(v225 + 20) &= 0xFu;
-                                                                                                    ptr_50C9A4 = 0;
-                                                                                                    }
-                                                                                                v118 = (double)GetTickCount() * 0.1;
-                                                                                                pRenderer->_4A63E6(v117, a3h, (Texture *)(v116 != -1 ? (int)&pIcons_LOD->pTextures[v116] : 0),
-                                                                                                    a2i, (signed __int64)v118, 0, 255);
-                                                                                                goto LABEL_292;
-                                                                                                }
-                                                                                            if ( (*(int *)(v225 + 20) & 0xF0) == 128 )
-                                                                                                {
-                                                                                                v179 = "sp91a";
-                                                                                                a2i = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v179, TEXTURE_16BIT_PALETTE)];
-                                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                                    {
-                                                                                                    dword_50C9A8 = 0;
-                                                                                                    *(char *)(v225 + 20) &= 0xFu;
-                                                                                                    ptr_50C9A4 = 0;
-                                                                                                    }
-                                                                                                v118 = (double)GetTickCount() * 0.1;
-                                                                                                pRenderer->_4A63E6(v117, a3h, (Texture *)(v116 != -1 ? (int)&pIcons_LOD->pTextures[v116] : 0),
-                                                                                                    a2i, (signed __int64)v118, 0, 255);
-                                                                                                goto LABEL_292;
-                                                                                                }
-                                                                                            }
-                                                                                        v179 = "sptext01";
-                                                                                        a2i = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v179, TEXTURE_16BIT_PALETTE)];
-                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                            {
-                                                                                            dword_50C9A8 = 0;
-                                                                                            *(char *)(v225 + 20) &= 0xFu;
-                                                                                            ptr_50C9A4 = 0;
-                                                                                            }
-                                                                                        v118 = (double)GetTickCount() * 0.1;
-                                                                                        pRenderer->_4A63E6(v117, a3h, (Texture *)(v116 != -1 ? (int)&pIcons_LOD->pTextures[v116] : 0),
-                                                                                            a2i, (signed __int64)v118, 0, 255);
-                                                                                        goto LABEL_292;
-                                                                                        }
-                                                                                    v191 = 9;
-                                                                                    break;
-                                                                                    }
-                                                                                v114 = v191;
-                                                                                goto LABEL_274;
-                                                                                }
-                                                                            v114 = 5;
-                                                                            goto LABEL_272;
-                                                                            }
-LABEL_209:
-                                                                        if ( pPlayer->pEquipment.uMainHand
-                                                                            && (pPlayer->GetEquippedItemEquipType(EQUIP_MAIN_HAND) == EQUIP_MAIN_HAND ||
-                                                                                pPlayer->GetEquippedItemSkillType(EQUIP_MAIN_HAND) == EQUIP_SHIELD &&
-                                                                                !pPlayer->pEquipment.uOffHand) )
-                                                                            {
-                                                                            v91 = 17 * pBodyComplection + v90;
-                                                                            v92 = v91;
-                                                                            v223 = paperdoll_array_511290[0][v91][2];
-                                                                            if ( v223 == pIcons_LOD->FindTextureByName("pending") )
-                                                                                {
-                                                                                v93 = 2 * v91;
-                                                                                v94 = paperdoll_array_511290[0][v92][1];
-                                                                                a2g = pPaperdoll_BodyX + paperdoll_shoulder[0][0][v93];
-                                                                                v95 = paperdoll_shoulder[0][0][v93 + 1];
-                                                                                }
-                                                                            else
-                                                                                {
-                                                                                v94 = v223;
-                                                                                a2g = pPaperdoll_BodyX + dword_4E5270[2 * v91];
-                                                                                v95 = dword_4E5270[2 * v91 + 1];
-                                                                                }
-                                                                            a3g = pPaperdoll_BodyY + v95;
-                                                                            if ( v94 == pIcons_LOD->FindTextureByName("pending") )
-                                                                                goto LABEL_259;
-                                                                            if ( *(int *)(v242 + 516) & 0xF0 )
-                                                                                {
-                                                                                if ( (*(int *)(v242 + 516) & 0xF0) != 16 )
-                                                                                    {
-                                                                                    if ( (*(int *)(v242 + 516) & 0xF0) == 32 )
-                                                                                        {
-                                                                                        v173 = "sp28a";
-                                                                                        v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v173, TEXTURE_16BIT_PALETTE)];
-                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                            {
-                                                                                            dword_50C9A8 = 0;
-                                                                                            *(char *)(v242 + 516) &= 0xFu;
-                                                                                            ptr_50C9A4 = 0;
-                                                                                            }
-                                                                                        v187 = 255;
-                                                                                        v174 = 0;
-                                                                                        v97 = (double)GetTickCount();
-                                                                                        pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                                            (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                                        goto LABEL_259;
-                                                                                        }
-                                                                                    if ( (*(int *)(v242 + 516) & 0xF0) == 64 )
-                                                                                        {
-                                                                                        v173 = "sp30a";
-                                                                                        v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v173, TEXTURE_16BIT_PALETTE)];
-                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                            {
-                                                                                            dword_50C9A8 = 0;
-                                                                                            *(char *)(v242 + 516) &= 0xFu;
-                                                                                            ptr_50C9A4 = 0;
-                                                                                            }
-                                                                                        v187 = 255;
-                                                                                        v174 = 0;
-                                                                                        v97 = (double)GetTickCount();
-                                                                                        pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                                            (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                                        goto LABEL_259;
-                                                                                        }
-                                                                                    if ( (*(int *)(v242 + 516) & 0xF0) == 128 )
-                                                                                        {
-                                                                                        v173 = "sp91a";
-                                                                                        v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v173, TEXTURE_16BIT_PALETTE)];
-                                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                        if ( dword_50C9A8 <= 0 )
-                                                                                            {
-                                                                                            dword_50C9A8 = 0;
-                                                                                            *(char *)(v242 + 516) &= 0xFu;
-                                                                                            ptr_50C9A4 = 0;
-                                                                                            }
-                                                                                        v187 = 255;
-                                                                                        v174 = 0;
-                                                                                        v97 = (double)GetTickCount();
-                                                                                        pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                                            (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                                        goto LABEL_259;
-                                                                                        }
-                                                                                    }
-                                                                                v173 = "sptext01";
-                                                                                v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v173, TEXTURE_16BIT_PALETTE)];
-                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                    {
-                                                                                    dword_50C9A8 = 0;
-                                                                                    *(char *)(v242 + 516) &= 0xFu;
-                                                                                    ptr_50C9A4 = 0;
-                                                                                    }
-                                                                                v187 = 255;
-                                                                                v174 = 0;
-                                                                                v97 = (double)GetTickCount();
-                                                                                pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                                    (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            v98 = v94 + 1;
-                                                                            v99 = (char *)&pIcons_LOD->pTextures[v94];
-                                                                            v100 = pRenderer;
-                                                                            if ( *(int *)(v242 + 516) & 2 )
-                                                                                {
-                                                                                v101 = (Texture *)(v98 != 0 ? (int)v99 : 0);
-                                                                                v188 = v101;
-                                                                                v175 = a3g;
-                                                                                v163 = a2g;
-                                                                                v100->DrawTransparentRedShade(v163, v175, v188);
-                                                                                if ( !bRingsShownInCharScreen )
-                                                                                    pRenderer->DrawMaskToZBuffer(a2g, a3g, v101, v235);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            if ( *(char *)(v242 + 516) & 1 )
-                                                                                {
-                                                                                v101 = (Texture *)(v98 != 0 ? (int)v99 : 0);
-                                                                                v189 = v101;
-                                                                                v176 = a3g;
-                                                                                v164 = a2g;
-                                                                                pRenderer->DrawTextureTransparent(v164, v176, v189);
-                                                                                if ( !bRingsShownInCharScreen )
-                                                                                    pRenderer->DrawMaskToZBuffer(a2g, a3g, v101, v235);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            v101 = (Texture *)(v98 != 0 ? (int)v99 : 0);
-                                                                            v190 = v101;
-                                                                            v177 = a3g;
-                                                                            v165 = a2g;
-                                                                            pRenderer->DrawTransparentGreenShade(v165, v177, v190);
-                                                                            if ( !bRingsShownInCharScreen )
-                                                                                pRenderer->DrawMaskToZBuffer(a2g, a3g, v101, v235);
-                                                                            goto LABEL_259;
-                                                                            }
-                                                                        v102 = 17 * pBodyComplection + v90;
-                                                                        v94 = paperdoll_array_511290[0][v102][1];
-                                                                        if ( v94 == pIcons_LOD->FindTextureByName("pending") )
-                                                                            goto LABEL_259;
-                                                                        v103 = pPaperdoll_BodyX + paperdoll_shoulder[0][v102][0];
-                                                                        v104 = pPaperdoll_BodyY + paperdoll_shoulder[0][v102][1];
-                                                                        v224 = *(int *)(v242 + 516);
-                                                                        v105 = *(int *)(v242 + 516) & 0xF0;
-                                                                        a2g = pPaperdoll_BodyX + paperdoll_shoulder[0][v102][0];
-                                                                        a3g = pPaperdoll_BodyY + paperdoll_shoulder[0][v102][1];
-                                                                        if ( !v105 )
-                                                                            {
-                                                                            v109 = v94 + 1;
-                                                                            v110 = (char *)&pIcons_LOD->pTextures[v94];
-                                                                            if ( v224 & 2 )
-                                                                                {
-                                                                                v101 = (Texture *)(v109 != 0 ? (int)v110 : 0);
-                                                                                v188 = v101;
-                                                                                v175 = v104;
-                                                                                v163 = v103;
-                                                                                v100 = pRenderer;
-                                                                                v100->DrawTransparentRedShade(v163, v175, v188);
-                                                                                if ( !bRingsShownInCharScreen )
-                                                                                    pRenderer->DrawMaskToZBuffer(a2g, a3g, v101, v235);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            if ( v224 & 1 )
-                                                                                {
-                                                                                v101 = (Texture *)(v109 != 0 ? (int)v110 : 0);
-                                                                                v189 = v101;
-                                                                                v176 = v104;
-                                                                                v164 = v103;
-                                                                                v100 = pRenderer;
-                                                                                pRenderer->DrawTextureTransparent(v164, v176, v189);
-                                                                                if ( !bRingsShownInCharScreen )
-                                                                                    pRenderer->DrawMaskToZBuffer(a2g, a3g, v101, v235);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            v101 = (Texture *)(v109 != 0 ? (int)v110 : 0);
-                                                                            v190 = v101;
-                                                                            v177 = v104;
-                                                                            v165 = v103;
-                                                                            v100 = pRenderer;
-                                                                            pRenderer->DrawTransparentGreenShade(v165, v177, v190);
-                                                                            if ( !bRingsShownInCharScreen )
-                                                                                pRenderer->DrawMaskToZBuffer(a2g, a3g, v101, v235);
-                                                                            goto LABEL_259;
-                                                                            }
-                                                                        v106 = v105 - 16;
-                                                                        if ( v106 )
-                                                                            {
-                                                                            v107 = v106 - 16;
-                                                                            if ( !v107 )
-                                                                                {
-                                                                                v178 = "sp28a";
-                                                                                v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v178, TEXTURE_16BIT_PALETTE)];
-                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                    {
-                                                                                    dword_50C9A8 = 0;
-                                                                                    *(char *)(v242 + 516) &= 0xFu;
-                                                                                    ptr_50C9A4 = 0;
-                                                                                    }
-                                                                                v187 = 255;
-                                                                                v174 = 0;
-                                                                                v97 = (double)GetTickCount();
-                                                                                pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                                    (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            v108 = v107 - 32;
-                                                                            if ( !v108 )
-                                                                                {
-                                                                                v178 = "sp30a";
-                                                                                v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v178, TEXTURE_16BIT_PALETTE)];
-                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                    {
-                                                                                    dword_50C9A8 = 0;
-                                                                                    *(char *)(v242 + 516) &= 0xFu;
-                                                                                    ptr_50C9A4 = 0;
-                                                                                    }
-                                                                                v187 = 255;
-                                                                                v174 = 0;
-                                                                                v97 = (double)GetTickCount();
-                                                                                pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                                    (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            if ( v108 == 64 )
-                                                                                {
-                                                                                v178 = "sp91a";
-                                                                                v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v178, TEXTURE_16BIT_PALETTE)];
-                                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                                if ( dword_50C9A8 <= 0 )
-                                                                                    {
-                                                                                    dword_50C9A8 = 0;
-                                                                                    *(char *)(v242 + 516) &= 0xFu;
-                                                                                    ptr_50C9A4 = 0;
-                                                                                    }
-                                                                                v187 = 255;
-                                                                                v174 = 0;
-                                                                                v97 = (double)GetTickCount();
-                                                                                pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                                    (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                                goto LABEL_259;
-                                                                                }
-                                                                            }
-                                                                        v178 = "sptext01";
-                                                                        v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v178, TEXTURE_16BIT_PALETTE)];
-                                                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                        if ( dword_50C9A8 <= 0 )
-                                                                            {
-                                                                            dword_50C9A8 = 0;
-                                                                            *(char *)(v242 + 516) &= 0xFu;
-                                                                            ptr_50C9A4 = 0;
-                                                                            }
-                                                                        v187 = 255;
-                                                                        v174 = 0;
-                                                                        v97 = (double)GetTickCount();
-                                                                        pRenderer->_4A63E6(a2g, a3g, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0),
-                                                                            (Texture *)v96, (signed __int64)(v97 * 0.1), v174, v187);
-                                                                        goto LABEL_259;
-                                                                        }
-                                                                    v186 = 16;
-                                                                    }
-                                                                else
-                                                                    {
-                                                                    v186 = 13;
-                                                                    }
-                                                                }
-                                                            else
-                                                                {
-                                                                v186 = 14;
-                                                                }
-                                                            v90 = v186;
-                                                            goto LABEL_209;
-                                                            }
-                                                        v90 = 15;
-                                                        goto LABEL_207;
-                                                        }
-                                                    if ( (*(int *)(v57 + 20) & 0xF0) != 16 )
-                                                        {
-                                                        if ( (*(int *)(v57 + 20) & 0xF0) == 32 )
-                                                            {
-                                                            v171 = "sp28a";
-                                                            v63 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v171, TEXTURE_16BIT_PALETTE)];
-                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                            if ( dword_50C9A8 <= 0 )
-                                                                {
-                                                                dword_50C9A8 = 0;
-                                                                *(char *)(v221 + 20) &= 0xFu;
-                                                                ptr_50C9A4 = 0;
-                                                                }
-                                                            v64 = (double)GetTickCount() * 0.1;
-                                                            pRenderer->_4A63E6(a2e, a3e, (Texture *)(v59 != -1 ? (int)&pIcons_LOD->pTextures[v59] : 0), v63,
-                                                                (signed __int64)v64, 0, 255);
-                                                            goto LABEL_155;
-                                                            }
-                                                        if ( (*(int *)(v57 + 20) & 0xF0) == 64 )
-                                                            {
-                                                            v171 = "sp30a";
-                                                            v63 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v171, TEXTURE_16BIT_PALETTE)];
-                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                            if ( dword_50C9A8 <= 0 )
-                                                                {
-                                                                dword_50C9A8 = 0;
-                                                                *(char *)(v221 + 20) &= 0xFu;
-                                                                ptr_50C9A4 = 0;
-                                                                }
-                                                            v64 = (double)GetTickCount() * 0.1;
-                                                            pRenderer->_4A63E6(a2e, a3e, (Texture *)(v59 != -1 ? (int)&pIcons_LOD->pTextures[v59] : 0), v63,
-                                                                (signed __int64)v64, 0, 255);
-                                                            goto LABEL_155;
-                                                            }
-                                                        if ( (*(int *)(v57 + 20) & 0xF0) == 128 )
-                                                            {
-                                                            v171 = "sp91a";
-                                                            v63 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v171, TEXTURE_16BIT_PALETTE)];
-                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                            if ( dword_50C9A8 <= 0 )
-                                                                {
-                                                                dword_50C9A8 = 0;
-                                                                *(char *)(v221 + 20) &= 0xFu;
-                                                                ptr_50C9A4 = 0;
-                                                                }
-                                                            v64 = (double)GetTickCount() * 0.1;
-                                                            pRenderer->_4A63E6(a2e, a3e, (Texture *)(v59 != -1 ? (int)&pIcons_LOD->pTextures[v59] : 0), v63,
-                                                                (signed __int64)v64, 0, 255);
-                                                            goto LABEL_155;
-                                                            }
-                                                        }
-                                                    v171 = "sptext01";
-                                                    v63 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v171, TEXTURE_16BIT_PALETTE)];
-                                                    dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                    if ( dword_50C9A8 <= 0 )
-                                                        {
-                                                        dword_50C9A8 = 0;
-                                                        *(char *)(v221 + 20) &= 0xFu;
-                                                        ptr_50C9A4 = 0;
-                                                        }
-                                                    v64 = (double)GetTickCount() * 0.1;
-                                                    pRenderer->_4A63E6(a2e, a3e, (Texture *)(v59 != -1 ? (int)&pIcons_LOD->pTextures[v59] : 0), v63,
-                                                        (signed __int64)v64, 0, 255);
-                                                    goto LABEL_155;
-                                                    }
-                                                if ( (*(int *)(v44 + 20) & 0xF0) != 16 )
-                                                    {
-                                                    if ( (*(int *)(v44 + 20) & 0xF0) == 32 )
-                                                        {
-                                                        v170 = "sp28a";
-                                                        }
-                                                    else
-                                                        {
-                                                        if ( (*(int *)(v44 + 20) & 0xF0) != 64 )
-                                                            {
-                                                            v50 = pIcons_LOD;
-                                                            if ( (*(int *)(v44 + 20) & 0xF0) == 128 )
-                                                                {
-                                                                v170 = "sp91a";
-                                                                v51 = &pIcons_LOD->pTextures[v50->LoadTexture(v170, TEXTURE_16BIT_PALETTE)];
-                                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                                if ( dword_50C9A8 <= 0 )
-                                                                    {
-                                                                    dword_50C9A8 = 0;
-                                                                    *(char *)(v220 + 20) &= 0xFu;
-                                                                    ptr_50C9A4 = 0;
-                                                                    }
-                                                                v52 = (double)GetTickCount() * 0.1;
-                                                                pRenderer->_4A63E6(a2d, a3d, (Texture *)(v48 != -1 ? (int)&pIcons_LOD->pTextures[v48] : 0),
-                                                                    v51, (signed __int64)v52, 0, 255);
-                                                                goto LABEL_127;
-                                                                }
-                                                            v170 = "sptext01";
-                                                            v51 = &pIcons_LOD->pTextures[v50->LoadTexture(v170, TEXTURE_16BIT_PALETTE)];
-                                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                            if ( dword_50C9A8 <= 0 )
-                                                                {
-                                                                dword_50C9A8 = 0;
-                                                                *(char *)(v220 + 20) &= 0xFu;
-                                                                ptr_50C9A4 = 0;
-                                                                }
-                                                            v52 = (double)GetTickCount() * 0.1;
-                                                            pRenderer->_4A63E6(a2d, a3d, (Texture *)(v48 != -1 ? (int)&pIcons_LOD->pTextures[v48] : 0),
-                                                                v51, (signed __int64)v52, 0, 255);
-                                                            goto LABEL_127;
-                                                            }
-                                                        v170 = "sp30a";
-                                                        }
-                                                    v50 = pIcons_LOD;
-                                                    v51 = &pIcons_LOD->pTextures[v50->LoadTexture(v170, TEXTURE_16BIT_PALETTE)];
-                                                    dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                    if ( dword_50C9A8 <= 0 )
-                                                        {
-                                                        dword_50C9A8 = 0;
-                                                        *(char *)(v220 + 20) &= 0xFu;
-                                                        ptr_50C9A4 = 0;
-                                                        }
-                                                    v52 = (double)GetTickCount() * 0.1;
-                                                    pRenderer->_4A63E6(a2d, a3d, (Texture *)(v48 != -1 ? (int)&pIcons_LOD->pTextures[v48] : 0),
-                                                        v51, (signed __int64)v52, 0, 255);
-                                                    goto LABEL_127;
-                                                    }
-                                                v50 = pIcons_LOD;
-                                                v170 = "sptext01";
-                                                v51 = &pIcons_LOD->pTextures[v50->LoadTexture(v170, TEXTURE_16BIT_PALETTE)];
-                                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                                if ( dword_50C9A8 <= 0 )
-                                                    {
-                                                    dword_50C9A8 = 0;
-                                                    *(char *)(v220 + 20) &= 0xFu;
-                                                    ptr_50C9A4 = 0;
-                                                    }
-                                                v52 = (double)GetTickCount() * 0.1;
-                                                pRenderer->_4A63E6(a2d, a3d, (Texture *)(v48 != -1 ? (int)&pIcons_LOD->pTextures[v48] : 0),
-                                                    v51, (signed __int64)v52, 0, 255);
-                                                goto LABEL_127;
-                                                }
-                                            v185 = 16;
-                                            }
-                                        }
-                                    v45 = v185;
-                                    goto LABEL_106;
-                                    }
-                                v45 = 15;
-                                goto LABEL_104;
-                                }
-                            if ( (*(int *)(v32 + 20) & 0xF0) != 16 )
-                                {
-                                if ( (*(int *)(v32 + 20) & 0xF0) == 32 )
-                                    {
-                                    v169 = "sp28a";
-                                    }
-                                else
-                                    {
-                                    if ( (*(int *)(v32 + 20) & 0xF0) != 64 )
-                                        {
-                                        v38 = pIcons_LOD;
-                                        if ( (*(int *)(v32 + 20) & 0xF0) == 128 )
-                                            {
-                                            v169 = "sp91a";
-                                            v39 = &pIcons_LOD->pTextures[v38->LoadTexture(v169, TEXTURE_16BIT_PALETTE)];
-                                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                            if ( dword_50C9A8 <= 0 )
-                                                {
-                                                dword_50C9A8 = 0;
-                                                *(char *)(v219 + 20) &= 0xFu;
-                                                ptr_50C9A4 = 0;
-                                                }
-                                            v40 = (double)GetTickCount() * 0.1;
-                                            pRenderer->_4A63E6(a2c, a3c, (Texture *)(v35 != -1 ? (int)&pIcons_LOD->pTextures[v35] : 0), v39,
-                                                (signed __int64)v40, 0, 255);
-                                            goto LABEL_93;
-                                            }
-                                        v169 = "sptext01";
-                                        v39 = &pIcons_LOD->pTextures[v38->LoadTexture(v169, TEXTURE_16BIT_PALETTE)];
-                                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                        if ( dword_50C9A8 <= 0 )
-                                            {
-                                            dword_50C9A8 = 0;
-                                            *(char *)(v219 + 20) &= 0xFu;
-                                            ptr_50C9A4 = 0;
-                                            }
-                                        v40 = (double)GetTickCount() * 0.1;
-                                        pRenderer->_4A63E6(a2c, a3c, (Texture *)(v35 != -1 ? (int)&pIcons_LOD->pTextures[v35] : 0), v39,
-                                            (signed __int64)v40, 0, 255);
-                                        goto LABEL_93;
-                                        }
-                                    v169 = "sp30a";
-                                    }
-                                v38 = pIcons_LOD;
-                                v39 = &pIcons_LOD->pTextures[v38->LoadTexture(v169, TEXTURE_16BIT_PALETTE)];
-                                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                                if ( dword_50C9A8 <= 0 )
-                                    {
-                                    dword_50C9A8 = 0;
-                                    *(char *)(v219 + 20) &= 0xFu;
-                                    ptr_50C9A4 = 0;
-                                    }
-                                v40 = (double)GetTickCount() * 0.1;
-                                pRenderer->_4A63E6(a2c, a3c, (Texture *)(v35 != -1 ? (int)&pIcons_LOD->pTextures[v35] : 0), v39,
-                                    (signed __int64)v40, 0, 255);
-                                goto LABEL_93;
-                                }
-                            v38 = pIcons_LOD;
-                            v169 = "sptext01";
-                            v39 = &pIcons_LOD->pTextures[v38->LoadTexture(v169, TEXTURE_16BIT_PALETTE)];
-                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                            if ( dword_50C9A8 <= 0 )
-                                {
-                                dword_50C9A8 = 0;
-                                *(char *)(v219 + 20) &= 0xFu;
-                                ptr_50C9A4 = 0;
-                                }
-                            v40 = (double)GetTickCount() * 0.1;
-                            pRenderer->_4A63E6(a2c, a3c, (Texture *)(v35 != -1 ? (int)&pIcons_LOD->pTextures[v35] : 0), v39,
-                                (signed __int64)v40, 0, 255);
-                            goto LABEL_93;
-                            }
-                        v184 = 9;
-                        break;
-                        }
-                    v33 = v184;
-                    goto LABEL_74;
-                    }
-                v33 = 5;
-                goto LABEL_72;
-                }
-            if ( (*(int *)(v22 + 20) & 0xF0) != 16 )
-                {
-                if ( (*(int *)(v22 + 20) & 0xF0) == 32 )
-                    {
-                    v168 = "sp28a";
-                    }
-                else
-                    {
-                    if ( (*(int *)(v22 + 20) & 0xF0) != 64 )
-                        {
-                        v26 = pIcons_LOD;
-                        if ( (*(int *)(v22 + 20) & 0xF0) == 128 )
-                            {
-                            v168 = "sp91a";
-                            a2b = &pIcons_LOD->pTextures[v26->LoadTexture(v168, TEXTURE_16BIT_PALETTE)];
-                            dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                            if ( dword_50C9A8 <= 0 )
-                                {
-                                dword_50C9A8 = 0;
-                                *(char *)(v22 + 20) &= 0xFu;
-                                ptr_50C9A4 = 0;
-                                }
-                            v27 = (Texture *)(v241 != -1 ? (int)&pIcons_LOD->pTextures[v241] : 0);
-                            v28 = (double)GetTickCount() * 0.1;
-                            pRenderer->_4A63E6(v24, a3b, v27, a2b, (signed __int64)v28, 0, 255);
-                            goto LABEL_57;
-                            }
-                        v168 = "sptext01";
-                        a2b = &pIcons_LOD->pTextures[v26->LoadTexture(v168, TEXTURE_16BIT_PALETTE)];
-                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                        if ( dword_50C9A8 <= 0 )
-                            {
-                            dword_50C9A8 = 0;
-                            *(char *)(v22 + 20) &= 0xFu;
-                            ptr_50C9A4 = 0;
-                            }
-                        v27 = (Texture *)(v241 != -1 ? (int)&pIcons_LOD->pTextures[v241] : 0);
-                        v28 = (double)GetTickCount() * 0.1;
-                        pRenderer->_4A63E6(v24, a3b, v27, a2b, (signed __int64)v28, 0, 255);
-                        goto LABEL_57;
-                        }
-                    v168 = "sp30a";
-                    }
-                v26 = pIcons_LOD;
-                a2b = &pIcons_LOD->pTextures[v26->LoadTexture(v168, TEXTURE_16BIT_PALETTE)];
+              if ( item_Armor->uAttributes & 1 )
+                pRenderer->DrawTextureTransparent(pX_shoulder, pY_shoulder, (Texture *)(v98 != 0 ? (int)v99 : 0));
+              else
+                pRenderer->DrawTransparentGreenShade(pX_shoulder, pY_shoulder, (Texture *)(v98 != 0 ? (int)v99 : 0));
+            }
+          }
+          else
+          {
+            if ( v94 != pIcons_LOD->FindTextureByName("pending") )
+            {
+              if ( item_Armor->uAttributes & 0xF0 )
+              {
+                if ( (item_Armor->uAttributes & 0xF0) == 16 )
+                  v173 = "sptext01";
+                if ( (item_Armor->uAttributes & 0xF0) == 32 )
+                  v173 = "sp28a";
+                if ( ( item_Armor->uAttributes & 0xF0) == 64 )
+                  v173 = "sp30a";
+                if ( (item_Armor->uAttributes & 0xF0) == 128 )
+                  v173 = "sp91a";
+                v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v173, TEXTURE_16BIT_PALETTE)];
                 dword_50C9A8 -= pEventTimer->uTimeElapsed;
                 if ( dword_50C9A8 <= 0 )
-                    {
-                    dword_50C9A8 = 0;
-                    *(char *)(v22 + 20) &= 0xFu;
-                    ptr_50C9A4 = 0;
-                    }
-                v27 = (Texture *)(v241 != -1 ? (int)&pIcons_LOD->pTextures[v241] : 0);
-                v28 = (double)GetTickCount() * 0.1;
-                pRenderer->_4A63E6(v24, a3b, v27, a2b, (signed __int64)v28, 0, 255);
-                goto LABEL_57;
+                {
+                  dword_50C9A8 = 0;
+                  item_Armor->uAttributes &= 0xFu;
+                  ptr_50C9A4 = 0;
                 }
-            v26 = pIcons_LOD;
-            v168 = "sptext01";
-            a2b = &pIcons_LOD->pTextures[v26->LoadTexture(v168, TEXTURE_16BIT_PALETTE)];
+                v97 = (double)GetTickCount();
+                pRenderer->_4A63E6(pX_shoulder, pY_shoulder, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0), (Texture *)v96, (signed __int64)(v97 * 0.1), 0, 255);
+              }
+            }
+          }
+        }
+        else
+        {
+          v102 = 17 * pBodyComplection + v45;
+          v94 = paperdoll_array_511290[0][v102][1];
+          if ( v94 != pIcons_LOD->FindTextureByName("pending") )
+          {
+            pX_ArmorShoulder = pPaperdoll_BodyX + paperdoll_shoulder[0][v102][0];
+            pY_ArmorShoulder = pPaperdoll_BodyY + paperdoll_shoulder[0][v102][1];
+            if ( !(item_Armor->uAttributes & 0xF0) )
+            {
+              v109 = v94 + 1;
+              v110 = (char *)&pIcons_LOD->pTextures[v94];
+              if ( item_Armor->uAttributes & 2 )
+                pRenderer->DrawTransparentRedShade(pX_ArmorShoulder, pY_ArmorShoulder, (Texture *)(v109 != 0 ? (int)v110 : 0));
+              else
+              {
+                if ( item_Armor->uAttributes & 1 )
+                  pRenderer->DrawTextureTransparent(pX_ArmorShoulder, pY_ArmorShoulder, (Texture *)(v109 != 0 ? (int)v110 : 0));
+                else
+                  pRenderer->DrawTransparentGreenShade(pX_ArmorShoulder, pY_ArmorShoulder, (Texture *)(v109 != 0 ? (int)v110 : 0));
+              }
+            }
+            else
+            {
+              if ( (item_Armor->uAttributes & 0xF0) == 16 )
+                v178 = "sptext01";
+              if ( (item_Armor->uAttributes & 0xF0) == 32 )
+                v178 = "sp28a";
+              if ( (item_Armor->uAttributes & 0xF0) == 64 )
+                v178 = "sp30a";
+              if ( (item_Armor->uAttributes & 0xF0) == 128 )
+                v178 = "sp91a";
+              v96 = (char *)&pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v178, TEXTURE_16BIT_PALETTE)];
+              dword_50C9A8 -= pEventTimer->uTimeElapsed;
+              if ( dword_50C9A8 <= 0 )
+              {
+                dword_50C9A8 = 0;
+                item_Armor->uAttributes &= 0xFu;
+                ptr_50C9A4 = 0;
+              }
+              v97 = (double)GetTickCount();
+              pRenderer->_4A63E6(pX_ArmorShoulder, pY_ArmorShoulder, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0), (Texture *)v96, (signed __int64)(v97 * 0.1), 0, 255);
+            }
+          }
+        }
+        if ( !bRingsShownInCharScreen )
+          pRenderer->DrawMaskToZBuffer(pX_Armor, pY_Armor, (Texture *)(v53 != 0 ? (int)v55 : 0), pArmorNum);
+      }
+    }
+    pBootNum = pPlayers[uPlayerID]->pEquipment.uBoot;//далее обувь
+    if ( pBootNum )
+    {
+      item_Boot = &pPlayers[uPlayerID]->pInventoryItems[pBootNum - 1];
+      switch ( item_Boot->uItemID )
+      {
+        case 529:
+          v60 = 5;
+          v59 = papredoll_flying_feet[pPlayers[uPlayerID]->uFace];
+          break;
+        case 512:
+          v60 = 6;
+          v59 = dword_511638[pBodyComplection][5];
+          break;
+        default:
+          v60 = item_Boot->uItemID - 115;
+          v59 = dword_511638[0][v60 + 6 * pBodyComplection];
+          break;
+      }
+      if ( v60 >= 0 && v60 < 7 )
+      {
+        v61 = v60 + 7 * pBodyComplection;
+        pY_Boot = pPaperdoll_BodyY + paperdoll_Boot[0][v61][1];
+        pX_Boot = pPaperdoll_BodyX + paperdoll_Boot[0][v61][0];
+        if ( !(item_Boot->uAttributes & 0xF0) )
+        {
+          v65 = v59 + 1;
+          v66 = (char *)&pIcons_LOD->pTextures[v59];
+          if ( item_Boot->uAttributes & 2 )
+            pRenderer->DrawTransparentRedShade(pX_Boot, pY_Boot, (Texture *)(v65 != 0 ? (int)v66 : 0));
+          else
+          {
+            if ( item_Boot->uAttributes & 1 )
+              pRenderer->DrawTextureTransparent(pX_Boot, pY_Boot, (Texture *)(v65 != 0 ? (int)v66 : 0));
+            else
+              pRenderer->DrawTransparentGreenShade(pX_Boot, pY_Boot, (Texture *)(v65 != 0 ? (int)v66 : 0));
+          }
+        }
+        else
+        {
+          if ( (item_Boot->uAttributes & 0xF0) == 16 )
+            v171 = "sptext01";
+          if ( (item_Boot->uAttributes & 0xF0) == 32 )
+            v171 = "sp28a";
+          if ( (item_Boot->uAttributes & 0xF0) == 64 )
+            v171 = "sp30a";
+          if ( (item_Boot->uAttributes & 0xF0) == 128 )
+            v171 = "sp91a";
+          v63 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v171, TEXTURE_16BIT_PALETTE)];
+          dword_50C9A8 -= pEventTimer->uTimeElapsed;
+          if ( dword_50C9A8 <= 0 )
+          {
+            dword_50C9A8 = 0;
+            item_Boot->uAttributes &= 0xFu;
+            ptr_50C9A4 = 0;
+          }
+          v64 = (double)GetTickCount() * 0.1;
+          pRenderer->_4A63E6(pX_Boot, pY_Boot, (Texture *)(v59 != -1 ? (int)&pIcons_LOD->pTextures[v59] : 0), v63, (signed __int64)v64, 0, 255);
+        }
+        if ( !bRingsShownInCharScreen )
+          pRenderer->DrawMaskToZBuffer(pX_Boot, pY_Boot, (Texture *)(v65 != 0 ? (int)v66 : 0), pBootNum);
+      }
+    }
+    pMainHandNum = pPlayers[uPlayerID]->pEquipment.uMainHand;
+    if ( !pMainHandNum || (v70 = *(int *)&pPlayers[uPlayerID]->pInventoryItems[pMainHandNum -1], pItemsTable->pItems[v70].uEquipType != 1)
+        && (pItemsTable->pItems[v70].uSkillType != 4 || pPlayers[uPlayerID]->pEquipment.uShield) )
+      pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0],
+            pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1],
+                     (Texture *)(papredoll_dlads[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlads[uPlayerID - 1]] : 0));
+        pBeltNum = pPlayers[uPlayerID]->pEquipment.uBelt;// далее пояс
+        if ( pBeltNum )
+        {
+          item_Belt = &pPlayers[uPlayerID]->pInventoryItems[pBeltNum - 1];
+        switch ( item_Belt->uItemID )
+        {
+          case 524:
+            v73 = 5;
+            break;
+          case 535:
+            v73 = 6;
+            break;
+          default:
+            v73 = item_Belt->uItemID - 100;
+            break;
+        }
+        if ( v73 >= 0 && v73 < 7 )
+        {
+          v74 = 7 * pBodyComplection + v73;
+          pX_Belt = pPaperdoll_BodyX + paperdoll_Belt[0][v74][0];
+          pY_Belt = pPaperdoll_BodyY + paperdoll_Belt[0][v74][1];
+          if ( IsDwarf != 1 || v73 == 5 )
+            v75 = stru_511718[pBodyComplection].texids[v73];
+          else
+           v75 = stru_511718[pBodyComplection - 2].texids[v73];
+          if ( !(item_Belt->uAttributes & 0xF0) )
+          {
+            v79 = v75 + 1;
+            v80 = (char *)&pIcons_LOD->pTextures[v75];
+            if ( item_Belt->uAttributes & 2 )
+              pRenderer->DrawTransparentRedShade(pX_Belt, pY_Belt, (Texture *)(v79 != 0 ? (int)v80 : 0));
+            else
+            {
+              if ( item_Belt->uAttributes & 1 )
+                pRenderer->DrawTextureTransparent(pX_Belt, pY_Belt, (Texture *)(v79 != 0 ? (int)v80 : 0));
+              else
+                pRenderer->DrawTransparentGreenShade(pX_Belt, pY_Belt, (Texture *)(v79 != 0 ? (int)v80 : 0));
+            }
+            if ( !bRingsShownInCharScreen )
+              pRenderer->DrawMaskToZBuffer(pX_Belt, pY_Belt, (Texture *)(v79 != 0 ? (int)v80 : 0), pBeltNum);
+          }
+          else
+          {
+            if ( (item_Belt->uAttributes & 0xF0) == 16 )
+              v172 = "sptext01";
+            if ( (item_Belt->uAttributes & 0xF0) == 32 )
+              v172 = "sp28a";
+            if ( (item_Belt->uAttributes & 0xF0) == 64 )
+              v172 = "sp30a";
+            if ( (item_Belt->uAttributes & 0xF0) == 128 )
+              v172 = "sp91a";
+            v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)];
             dword_50C9A8 -= pEventTimer->uTimeElapsed;
             if ( dword_50C9A8 <= 0 )
-                {
-                dword_50C9A8 = 0;
-                *(char *)(v22 + 20) &= 0xFu;
-                ptr_50C9A4 = 0;
-                }
-            v27 = (Texture *)(v241 != -1 ? (int)&pIcons_LOD->pTextures[v241] : 0);
-            v28 = (double)GetTickCount() * 0.1;
-            pRenderer->_4A63E6(v24, a3b, v27, a2b, (signed __int64)v28, 0, 255);
-            goto LABEL_57;;
+            {
+              dword_50C9A8 = 0;
+              item_Belt->uAttributes &= 0xFu;
+              ptr_50C9A4 = 0;
             }
-        a3 = pPaperdoll_BodyY;
-        a2 = pPaperdoll_BodyX;
-        v240 = 4 * uPlayerID_ - 4;
-        pRenderer->DrawTextureTransparent(pPaperdoll_BodyX, pPaperdoll_BodyY,
-            (Texture *)(*(unsigned int *)((char *)papredoll_dbods + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dbods + v240)] : 0));
-        if ( !bRingsShownInCharScreen )
-            pRenderer->DrawMaskToZBuffer(a2, a3,
-            (Texture *)(*(unsigned int *)((char *)papredoll_dbods + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dbods + v240)] : 0),
-            pPlayer->pEquipment.uBody);
-        uPlayerID_a = 2 * pBodyComplection;
-        v6 = pPlayer->pEquipment.uMainHand;
-        if ( !v6
-            || (v7 = *(int *)&pPlayer->pInventoryItems[v6-1], pItemsTable->pItems[v7].uEquipType != 1)
-            && (pItemsTable->pItems[v7].uSkillType != 4 || pPlayer->pEquipment.uOffHand) )
-            pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1],
-            (Texture *)(*(unsigned int *)((char *)papredoll_dlads + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlads + v240)] : 0));
-        v8 = pPlayer->pEquipment.uMainHand;
-        if ( v8 )
+            v78 = (double)GetTickCount() * 0.1;
+            pRenderer->_4A63E6(pX_Belt, pY_Belt, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255);
+          }
+        }
+      }
+      pMainHandNum2 = pPlayers[uPlayerID]->pEquipment.uMainHand;
+      if ( pMainHandNum2 )
+      {
+        v83 = *(int *)&pPlayers[uPlayerID]->pInventoryItems[pMainHandNum2 - 1];
+        if ( pItemsTable->pItems[v83].uEquipType == 1
+             || pItemsTable->pItems[v83].uSkillType == 4 && !pPlayers[uPlayerID]->pEquipment.uShield )
+          pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0],
+             pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1],
+             (Texture *)(papredoll_dlaus[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlaus[uPlayerID - 1]] : 0));
+      }
+      pCloakCollarNum = pPlayers[uPlayerID]->pEquipment.uCloak;//далее воротник плаща
+      if ( pCloakCollarNum )
+      {
+        item_CloakCollar = &pPlayers[uPlayerID]->pInventoryItems[pCloakCollarNum - 1];
+        switch ( item_CloakCollar->uItemID )
+        {
+          case 525:
+            v114 = 5;
+            break;
+          case 530:
+            v114 = 6;
+            break;
+          case 547:
+            v114 = 7;
+            break;
+          case 548:
+            v114 = 8;
+            break;
+          case 550:
+            v114 = 9;
+            break;
+          default:
+            v114 = item_CloakCollar->uItemID - 105;
+        }
+        if ( v114 >= 0 && v114 < 10 )
+        {
+          v115 = v114 + 10 * pBodyComplection;
+          v116 = dword_511788[v115];
+          pX_CloakCollar = pPaperdoll_BodyX + paperdoll_CloakCollar[0][v115][0];
+          pY_CloakCollar = pPaperdoll_BodyY + paperdoll_CloakCollar[0][v115][1];
+          if ( v116 != pIcons_LOD->FindTextureByName("pending") )
+          {
+            if ( !(item_CloakCollar->uAttributes & 0xF0) )
             {
-            v229 = pPlayer->pEquipment.uMainHand;
-            v9 = (int)&pPlayer->pInventoryItems[v8-1];
-            // v10 = pBodyComplection << 7;
-            v218 = v9;
-            v11 = *(int *)v9;
-            v12 = *(int *)v9;
-            v13 = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[v12].uEquipX;
-            a2a = v13;
-            a3a = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[v12].uEquipY;
-            if ( v11 == 64 )
-                v166 = "item64v1";
+              v119 = v116 + 1;
+              v120 = (char *)&pIcons_LOD->pTextures[v116];
+              if ( item_CloakCollar->uAttributes & 2 )
+                pRenderer->DrawTransparentRedShade(pX_CloakCollar, pY_CloakCollar, (Texture *)(v119 != 0 ? (int)v120 : 0));
+              else
+                pRenderer->DrawTextureTransparent(pX_CloakCollar, pY_CloakCollar, (Texture *)(v119 != 0 ? (int)v120 : 0));
+              if ( !bRingsShownInCharScreen )
+                pRenderer->DrawMaskToZBuffer(pX_CloakCollar, pY_CloakCollar, (Texture *)(v119 != 0 ? (int)v120 : 0), pCloakCollarNum);
+            }
             else
-                v166 = pItemsTable->pItems[v12].pIconName;
-            v14 = pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE);
-            v15 = *(int *)(v218 + 20);
-            if ( *(int *)(v218 + 20) & 0xF0 )
-                {
-                if ( (*(int *)(v218 + 20) & 0xF0) != 16 )
-                    {
-                    if ( (*(int *)(v218 + 20) & 0xF0) == 32 )
-                        {
-                        v167 = "sp28a";
-                        //v16 = (Texture *)(72 * pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE) + 7145548);
-                        v16 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE)];
-                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                        if ( dword_50C9A8 <= 0 )
-                            {
-                            dword_50C9A8 = 0;
-                            *(char *)(v218 + 20) &= 0xFu;
-                            ptr_50C9A4 = 0;
-                            }
-                        v17 = (double)GetTickCount() * 0.1;
-                        pRenderer->_4A63E6(v13, a3a, (Texture *)(v14 != -1 ? (int)&pIcons_LOD->pTextures[v14] : 0), v16, (signed __int64)v17, 0, 255);
-                        goto LABEL_393;;
-                        }
-                    if ( (*(int *)(v218 + 20) & 0xF0) == 64 )
-                        {
-                        v167 = "sp30a";
-                        //v16 = (Texture *)(72 * pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE) + 7145548);
-                        v16 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE)];
-                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                        if ( dword_50C9A8 <= 0 )
-                            {
-                            dword_50C9A8 = 0;
-                            *(char *)(v218 + 20) &= 0xFu;
-                            ptr_50C9A4 = 0;
-                            }
-                        v17 = (double)GetTickCount() * 0.1;
-                        pRenderer->_4A63E6(v13, a3a, (Texture *)(v14 != -1 ? (int)&pIcons_LOD->pTextures[v14] : 0), v16, (signed __int64)v17, 0, 255);
-                        goto LABEL_393;
-                        }
-                    if ( (*(int *)(v218 + 20) & 0xF0) == 128 )
-                        {
-                        v167 = "sp91a";
-                        //v16 = (Texture *)(72 * pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE) + 7145548);
-                        v16 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE)];
-                        dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                        if ( dword_50C9A8 <= 0 )
-                            {
-                            dword_50C9A8 = 0;
-                            *(char *)(v218 + 20) &= 0xFu;
-                            ptr_50C9A4 = 0;
-                            }
-                        v17 = (double)GetTickCount() * 0.1;
-                        pRenderer->_4A63E6(v13, a3a, (Texture *)(v14 != -1 ? (int)&pIcons_LOD->pTextures[v14] : 0), v16, (signed __int64)v17, 0, 255);
-                        goto LABEL_393;
-                        }
-                    }
-                v167 = "sptext01";
-                //v16 = (Texture *)(72 * pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE) + 7145548);
-                v16 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v167, TEXTURE_16BIT_PALETTE)];
-                dword_50C9A8 -= pEventTimer->uTimeElapsed;
-                if ( dword_50C9A8 <= 0 )
-                    {
-                    dword_50C9A8 = 0;
-                    *(char *)(v218 + 20) &= 0xFu;
-                    ptr_50C9A4 = 0;
-                    }
-                v17 = (double)GetTickCount() * 0.1;
-                pRenderer->_4A63E6(v13, a3a, (Texture *)(v14 != -1 ? (int)&pIcons_LOD->pTextures[v14] : 0), v16, (signed __int64)v17, 0, 255);
-                goto LABEL_393;
-                }
-            v18 = v14 + 1;
-            v19 = (char *)&pIcons_LOD->pTextures[v14];
-            if ( v15 & 2 )
-                {
-                v20 = (Texture *)(v18 != 0 ? (int)v19 : 0);
-                pRenderer->DrawTransparentRedShade(a2a, a3a, v20);
-                }
+            {
+              if ( (item_CloakCollar->uAttributes & 0xF0) == 16 )
+                v179 = "sptext01";
+              if ( (item_CloakCollar->uAttributes & 0xF0) == 32 )
+                v179 = "sp28a";
+              if ( (item_CloakCollar->uAttributes & 0xF0) == 64 )
+                v179 = "sp30a";
+              if ( (item_CloakCollar->uAttributes & 0xF0) == 128 )
+                v179 = "sp91a";
+              a2i = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v179, TEXTURE_16BIT_PALETTE)];
+              dword_50C9A8 -= pEventTimer->uTimeElapsed;
+              if ( dword_50C9A8 <= 0 )
+              {
+                dword_50C9A8 = 0;
+                item_CloakCollar->uAttributes &= 0xFu;
+                ptr_50C9A4 = 0;
+              }
+              v118 = (double)GetTickCount() * 0.1;
+              pRenderer->_4A63E6(pX_CloakCollar, pY_CloakCollar, (Texture *)(v116 != -1 ? (int)&pIcons_LOD->pTextures[v116] : 0), a2i, (signed __int64)v118, 0, 255);
+            }
+          }
+        }
+      }
+      if ( pPlayers[uPlayerID]->uFace == 12 || pPlayers[uPlayerID]->uFace == 13 )
+      {
+        v122 = papredoll_dbrds[pPlayers[uPlayerID]->uFace];
+        if ( v122 != pIcons_LOD->FindTextureByName("Pending") )
+          pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_Beards[2 * pPlayers[uPlayerID]->uFace - 24],
+                     pPaperdoll_BodyY + pPaperdoll_Beards[2 * pPlayers[uPlayerID]->uFace - 23],
+                     (Texture *)(v122 != -1 ? (int)&pIcons_LOD->pTextures[v122] : 0));
+      }
+    pHelmNum = pPlayers[uPlayerID]->pEquipment.uHelm;//далее шлем
+    if ( pHelmNum )
+    {
+      item_Helm = &pPlayers[uPlayerID]->pInventoryItems[pHelmNum-1];
+      switch ( item_Helm->uItemID )
+      {
+        case 521:
+          v125 = 11;
+          break;
+        case 522:
+          v125 = 12;
+          break;
+        case 523:
+          v125 = 13;
+          break;
+        case 532:
+          v125 = 14;
+          break;
+        case 544:
+          v125 = 15;
+          break;
+        default:
+          v125 = item_Helm->uItemID - 89;
+      }
+      if ( v125 >= 0 && v125 < 16 )
+      {
+        v126 = v125 + 16 * pBodyComplection;
+        pX_Helm = pPaperdoll_BodyX + paperdoll_Helm[v126][0];
+        pY_Helm = pPaperdoll_BodyY + paperdoll_Helm[v126][1];
+        if ( IsDwarf != 1 || item_Helm->uItemID != 92 )
+          v127 = stru_511698[0].texids[v125 + 16 * pSex];
+        else
+          v127 = papredoll_dbrds[11];
+        if ( item_Helm->uAttributes & 0xF0 )
+        {
+          if ( (item_Helm->uAttributes & 0xF0) == 16 )
+            v180 = "sptext01";
+          if ( (item_Helm->uAttributes & 0xF0) == 32 )
+            v180 = "sp28a";
+          if ( (item_Helm->uAttributes & 0xF0) == 64 )
+            v180 = "sp30a";
+          if ( (item_Helm->uAttributes & 0xF0) == 128 )
+            v180 = "sp91a";
+          v129 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v180, TEXTURE_16BIT_PALETTE)];
+          dword_50C9A8 -= pEventTimer->uTimeElapsed;
+          if ( dword_50C9A8 <= 0 )
+          {
+            dword_50C9A8 = 0;
+            item_Helm->uAttributes &= 0xFu;
+            ptr_50C9A4 = 0;
+          }
+          v130 = (double)GetTickCount() * 0.1;
+          pRenderer->_4A63E6(pX_Helm, pY_Helm, (Texture *)(v127 != -1 ? (int)&pIcons_LOD->pTextures[v127] : 0), v129, (signed __int64)v130, 0, 255);
+        }
+        else
+        {
+          v131 = v127 + 1;
+          v132 = (char *)&pIcons_LOD->pTextures[v127];
+          if ( item_Helm->uAttributes & 2 )
+            pRenderer->DrawTransparentRedShade(pX_Helm, pY_Helm, (Texture *)(v131 != 0 ? (int)v132 : 0));
+          else
+          {
+            if ( item_Helm->uAttributes & 1 )
+              pRenderer->DrawTextureTransparent(pX_Helm, pY_Helm, (Texture *)(v131 != 0 ? (int)v132 : 0));
             else
-                {
-                if ( v15 & 1 )
-                    {
-                    v20 = (Texture *)(v18 != 0 ? (int)v19 : 0);
-                    pRenderer->DrawTextureTransparent(a2a, a3a, v20);
-                    }
-                else
-                    {
-                    v20 = (Texture *)(v18 != 0 ? (int)v19 : 0);
-                    pRenderer->DrawTransparentGreenShade(a2a, a3a, v20);
-                    }
-                }
-            if ( !bRingsShownInCharScreen )
-                pRenderer->DrawMaskToZBuffer(a2a, a3a, v20, v229);
-            }
-LABEL_393:
-        pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_RightHand[uPlayerID_a],
-            pPaperdoll_BodyY + pPaperdoll_RightHand[uPlayerID_a + 1],
-            (Texture *)(*(unsigned int *)((char *)papredoll_drhs + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_drhs + v240)] : 0));
-        v161 = pPlayer->pEquipment.uMainHand;
-        if ( v161 )
-            {
-            v162 = *(int *)&pPlayer->pInventoryItems[v161-1];
-            if ( pItemsTable->pItems[v162].uEquipType == 1 || pItemsTable->pItems[v162].uSkillType == 4 && !pPlayer->pEquipment.uOffHand )
-                pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[0][uPlayerID_a],
-                pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[0][uPlayerID_a + 1],
-                (Texture *)(*(unsigned int *)((char *)papredoll_dlhus + v240) != -1 ? (int)&pIcons_LOD->pTextures[*(unsigned int *)((char *)papredoll_dlhus + v240)] : 0));
-            }
+              pRenderer->DrawTransparentGreenShade(pX_Helm, pY_Helm, (Texture *)(v131 != 0 ? (int)v132 : 0));
+          }
+        }
         if ( !bRingsShownInCharScreen )
-            pRenderer->DrawTextureTransparent(0x25Bu, 0x12Bu,
-            (Texture *)(uTextureID_MAGNIF_B != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_MAGNIF_B] : 0));
-        pRenderer->DrawTextureTransparent(0x1D4u, 0,
-            (Texture *)(uTextureID_507B04 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507B04] : 0));
+          pRenderer->DrawMaskToZBuffer(pX_Helm, pY_Helm, (Texture *)(v131 != 0 ? (int)v132 : 0), pHelmNum);
+      }
+    }
+    pMainHandNum3 = pPlayers[uPlayerID]->pEquipment.uMainHand;//weapon in right hand
+    if ( pMainHandNum3 )
+    {
+      item_MainHand3 = &pPlayers[uPlayerID]->pInventoryItems[pMainHandNum3 - 1];
+      pX_MainHand3 = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[item_MainHand3->uItemID].uEquipX;
+      pY_MainHand3 = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item_MainHand3->uItemID].uEquipY;
+      if ( item_MainHand3->uItemID == 64 )
+        v181 = "item64v1";
+      else
+        v181 = pItemsTable->pItems[item_MainHand3->uItemID].pIconName;
+      v138 = pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE);
+      if ( !(item_MainHand3->uAttributes & 0xF0) )
+      {
+        v142 = v138 + 1;
+        v143 = (char *)&pIcons_LOD->pTextures[v138];
+        if ( item_MainHand3->uAttributes & 2 )
+          pRenderer->DrawTransparentRedShade(pX_MainHand3, pY_MainHand3, (Texture *)(v142 != 0 ? (int)v143 : 0));
+        else
+        {
+          if ( item_MainHand3->uAttributes & 1 )
+            pRenderer->DrawTextureTransparent(pX_MainHand3, pY_MainHand3, (Texture *)(v142 != 0 ? (int)v143 : 0));
+          else
+            pRenderer->DrawTransparentGreenShade(pX_MainHand3, pY_MainHand3, (Texture *)(v142 != 0 ? (int)v143 : 0));
+        }
+      }
+      else
+      {
+        if ( (item_MainHand3->uAttributes & 0xF0) == 16 )
+          v182 = "sptext01";
+        if ( (item_MainHand3->uAttributes & 0xF0) == 32 )
+          v182 = "sp28a";
+        if ( (item_MainHand3->uAttributes & 0xF0) == 64 )
+           v182 = "sp30a";
+        if ( (item_MainHand3->uAttributes & 0xF0) == 128 )
+          v182 = "sp91a";
+        v140 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v182, TEXTURE_16BIT_PALETTE)];
+        dword_50C9A8 -= pEventTimer->uTimeElapsed;
+        if ( dword_50C9A8 <= 0 )
+        {
+          dword_50C9A8 = 0;
+          item_MainHand3->uAttributes &= 0xFu;
+          ptr_50C9A4 = 0;
         }
-
+        v141 = (double)GetTickCount() * 0.1;
+        pRenderer->_4A63E6(pX_MainHand3, pY_MainHand3, (Texture *)(v138 != -1 ? (int)&pIcons_LOD->pTextures[v138] : 0), v140, (signed __int64)v141, 0, 255);
+      }
+      if ( !bRingsShownInCharScreen )
+        pRenderer->DrawMaskToZBuffer(pX_MainHand3, pY_MainHand3, (Texture *)(v142 != 0 ? (int)v143 : 0), pMainHandNum3);
+    }
+    pShieldNum = pPlayers[uPlayerID]->pEquipment.uShield;// далее щит
+    if ( pShieldNum )
+    {
+      item_Shield = &pPlayers[uPlayerID]->pInventoryItems[pShieldNum - 1];
+      v149 = pItemsTable->pItems[item_Shield->uItemID].uSkillType;
+      if ( v149 == 2 || v149 == 1 )
+      {
+        v151 = item_Shield->uItemID - 400;
+        pX_Shield = 596;
+        v245 = 1;
+        switch ( item_Shield->uItemID )
+        {
+          case 400:
+            pY_Shield = 86;
+            break;
+          case 403:
+            pY_Shield = 28;
+            break;
+          case 415:
+            pX_Shield = 595;
+            pY_Shield = 33;
+            break;
+          default:
+            pX_Shield = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item_Shield->uItemID].uEquipX;
+            pY_Shield = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item_Shield->uItemID].uEquipY;
+            break;
+        }
+      }
+      else
+      {
+        v245 = 0;
+        pX_Shield = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item_Shield->uItemID].uEquipX;
+        pY_Shield = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item_Shield->uItemID].uEquipY;
+      }
+      v153 = pIcons_LOD->LoadTexture(pItemsTable->pItems[item_Shield->uItemID].pIconName, TEXTURE_16BIT_PALETTE);
+      if ( !(item_Shield->uAttributes & 0xF0) )
+      {
+        if ( item_Shield->uAttributes & 2 )
+          pRenderer->DrawTransparentRedShade(pX_Shield, pY_Shield, (Texture *)(v153 != -1 ? (int)&pIcons_LOD->pTextures[v153] : 0));
+        else
+        {
+          v160 = (char *)&pIcons_LOD->pTextures[v153];
+          if ( !(item_Shield->uAttributes & 1) )
+          pRenderer->DrawTransparentGreenShade(pX_Shield, pY_Shield, (Texture *)(v153 != -1 ? (int)v160 : 0));
+          else
+            pRenderer->DrawTextureTransparent(pX_Shield, pY_Shield, (Texture *)(v153 != -1 ? (int)v160 : 0));
+        }
+      }
+      else
+      {
+        if ( (item_Shield->uAttributes & 0xF0) == 16 )
+          v183 = "sptext01";
+        if ( (item_Shield->uAttributes & 0xF0) == 32 )
+          v183 = "sp28a";
+        if ( (item_Shield->uAttributes & 0xF0) == 64 )
+          v183 = "sp30a";
+        if ( (item_Shield->uAttributes & 0xF0) == 128 )
+          v183 = "sp91a";
+        v157 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v183, TEXTURE_16BIT_PALETTE)];
+        dword_50C9A8 -= pEventTimer->uTimeElapsed;
+        if ( dword_50C9A8 <= 0 )
+        {
+          dword_50C9A8 = 0;
+          item_Shield->uAttributes &= 0xFu;
+          ptr_50C9A4 = 0;
+        }
+        v158 = (double)GetTickCount() * 0.1;
+        pRenderer->_4A63E6(pX_Shield, pY_Shield, (Texture *)(v153 != -1 ? (int)&pIcons_LOD->pTextures[v153] : 0), v157, (signed __int64)v158, 0, 255);
+        if ( v245 )
+          pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[pBodyComplection][0],
+                 pPaperdoll_BodyY + pPaperdollLeftEmptyHand[pBodyComplection][1],
+                 (Texture *)(papredoll_dlhs[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlhs[uPlayerID - 1]] : 0));
+      }
+      if ( !bRingsShownInCharScreen )
+        pRenderer->DrawMaskToZBuffer(pX_Shield, pY_Shield, (Texture *)(v153 != -1 ? (int)&pIcons_LOD->pTextures[v153] : 0), pShieldNum);
+    }
+  }
+  pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_RightHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_RightHand[pBodyComplection][1],
+             (Texture *)(papredoll_drhs[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_drhs[uPlayerID - 1]] : 0));
+  pMainHandNum5 = pPlayers[uPlayerID]->pEquipment.uMainHand;
+  if ( pMainHandNum5 )
+  {
+    item_MainHand5 = &pPlayers[uPlayerID]->pInventoryItems[pMainHandNum5 - 1];
+    if ( pItemsTable->pItems[item_MainHand5->uItemID].uEquipType == 1 || pItemsTable->pItems[item_MainHand5->uItemID].uSkillType == 4 && !pPlayers[uPlayerID]->pEquipment.uShield )
+      pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1],
+                 (Texture *)(papredoll_dlhus[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlhus[uPlayerID - 1]] : 0));
+  }
+  if ( !bRingsShownInCharScreen )//рисование лупы
+    pRenderer->DrawTextureTransparent(603, 299, (Texture *)(uTextureID_MAGNIF_B != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_MAGNIF_B] : 0));
+  pRenderer->DrawTextureTransparent(468, 0, (Texture *)(uTextureID_507B04 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507B04] : 0));//обрамление
+}
 
     //----- (0043E825) --------------------------------------------------------
     void __fastcall CharacterUI_DrawPaperdollWithRingOverlay(unsigned int uPlayerID)
@@ -3625,7 +2674,7 @@
       v32 = 66;
       stru_511718[i].texid1 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
       v36 = v21 - 152;
-      do
+      do//armor
       {
         _43C91D_FormItemTextureFilename(pContainer, v32, i + 1, 0);
         *(int *)(v36 - 4) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
--- a/UIHouses.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/UIHouses.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -569,7 +569,7 @@
 		uTextureID_507B04 = uTextureID_right_panel;
 		if ( uNumDialogueNPCPortraits == 1 )
 			pDialogueNPCCount = 1;
-		pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);  
+		pVideoPlayer->OpenHouseMovie(pAnimatedRooms[uCurrentHouse_Animation].video_name, 1u);  
 		dword_5C35D4 = 1;
 		if ( (signed int)uHouseID < 139 || (signed int)uHouseID > 172 )
         {
--- a/VideoPlayer.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/VideoPlayer.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -13,6 +13,7 @@
 #include "Time.h"
 #include "Log.h"
 #include "UIHouses.h"
+#include "texts.h"
 #include "MM7.h"
 #include "mm7_data.h"
 
@@ -348,7 +349,7 @@
     if ( a2 == 2 )
       v4 = 0;
     ShowCursor(0);
-    pVideoPlayer->OpenMovie(pName, 0, ScreenSizeFlag);
+    pVideoPlayer->OpenGlobalMovie(pName, 0, ScreenSizeFlag);
     pVideoPlayer->bPlayingMovie = 1;
     pVideoPlayer->field_44 = v4;
     if ( pRenderer->pRenderD3D )
@@ -908,7 +909,7 @@
 	  if ( !v4 )
 	  {
 	    SetFilePointer(pVideoPlayer->hMightVid, pVideoPlayer->pMightVideoHeaders[v3].uFileOffset, 0, 0);
-        return SmackOpen(pVideoPlayer->hMightVid, 0x7140, -1);
+        return SmackOpen(pVideoPlayer->hMightVid, 0x7140, -1);//problem training house video in WinXP
 	  }
     }
   }
@@ -928,7 +929,7 @@
 }
 
 //----- (004BF28F) --------------------------------------------------------
-void VideoPlayer::_4BF28F(const char *pMovieName, unsigned int a3_1)
+void VideoPlayer::OpenHouseMovie(const char *pMovieName, unsigned int a3_1)
 {
   VideoPlayer *v3; // esi@1
   std::string *v4; // ecx@3
@@ -958,11 +959,10 @@
     {
       v15 = "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Video.cpp:925";
       v12 = "Unsupported Bink playback!";
-LABEL_6:
-    MessageBoxA(nullptr, v12, v15, 0);
+      MessageBoxA(nullptr, v12, v15, 0);
       return;
     }
-    sprintf(Str2, "%s.smk", pMovieName);
+    sprintfex(Str2, "%s.smk", pMovieName);
     v5 = OpenSmack(Str2);
     v3->pSmackerMovie = v5;
     if ( !v5 )
@@ -970,8 +970,8 @@
       v3->Unload();
       sprintf(pTmpBuf, "Can't load %s", &Str2);
       v15 = "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Video.cpp:937";
-      v12 = pTmpBuf;
-      goto LABEL_6;
+      MessageBoxA(nullptr, pTmpBuf, v15, 0);
+      return;
     }
     v16 = (int)pMovieName;
     v3->uMovieFormat = 1;
@@ -1002,7 +1002,7 @@
 }
 
 //----- (004BF411) --------------------------------------------------------
-void VideoPlayer::OpenMovie(const char *pFilename, unsigned int bLoop, int a4)
+void VideoPlayer::OpenGlobalMovie(const char *pFilename, unsigned int bLoop, int a4)
 {
   VideoPlayer *pVideoPlayer; // esi@1
   _BINK *pVideoOpen; // eax@2
@@ -1035,7 +1035,7 @@
     else
     {
       Unload();
-      sprintf(pVideoName, "%s.smk", pFilename);
+      sprintfex(pVideoName, "%s.smk", pFilename);
       v6 = OpenSmack(pVideoName);
       pVideoPlayer->pSmackerMovie = v6;
       if ( !v6 )
@@ -1140,7 +1140,7 @@
 }
 
 //----- (004BF73A) --------------------------------------------------------
-void VideoPlayer::_4BF73A()
+void VideoPlayer::SelectMovieType()
 {
   VideoPlayer *v1; // esi@1
   int v2; // edi@1
@@ -1157,11 +1157,11 @@
   if ( v4 )
   {
     if ( v4 == 1 )
-      OpenMovie(Source, v3, 1);
+      OpenGlobalMovie(Source, v3, 1);
   }
   else
   {
-    _4BF28F(Source, v3);
+    OpenHouseMovie(Source, v3);
   }
 }
 
--- a/VideoPlayer.h	Thu Apr 04 09:35:58 2013 +0600
+++ b/VideoPlayer.h	Mon Apr 15 16:36:56 2013 +0600
@@ -145,11 +145,11 @@
   void SmackUpdatePalette(HWND hWnd);
   _BINK *OpenBink(const char *pName);
   struct _SMACK *OpenSmack(const char *pFilename);
-  void _4BF28F(const char *pMovieName, unsigned int a3_1);
+  void OpenHouseMovie(const char *pMovieName, unsigned int a3_1);//0x4BF28F
   bool AnyMovieLoaded();
-  void OpenMovie(const char *pFilename, unsigned int bLoop, int a4);
+  void OpenGlobalMovie(const char *pFilename, unsigned int bLoop, int a4);
   void _4BF5B2();
-  void _4BF73A();
+  void SelectMovieType();//0x4BF73A
   _BINKBUF *CreateBinkBuffer(HWND a1, unsigned int uWidth, unsigned int uHeight, char a4);
 
   static void __fastcall MovieLoop(const char *pMovieName, int a2, int a3, int a4);
--- a/mm7_1.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/mm7_1.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -694,17 +694,8 @@
   bRingsShownInCharScreen = 0;
   CharacterUI_LoadPaperdollTextures();
   pCurrentScreen = SCREEN_CASTING;
-  v2 = GUIWindow::Create(0, 0, 640, 480, WINDOW_1F, v1, 0);
-  pCharacterScreen_ExitBtn = v2->CreateButton(
-                 394u,
-                 318u,
-                 75u,
-                 33u,
-                 1,
-                 0,
-                 UIMSG_A8,
-                 0,
-                 0,
+  v2 = GUIWindow::Create(0, 0, 640, 480, WINDOW_CastSpell_InInventory, v1, 0);
+  pCharacterScreen_ExitBtn = v2->CreateButton(394, 318, 75, 33, 1, 0, UIMSG_A8, 0, 0,
                  pGlobalTXT_LocalizationStrings[79], // Close
                  (Texture *)(papredoll_dbrds[2] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbrds[2]] : 0),
                  papredoll_dbrds[1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbrds[1]] : 0,
--- a/mm7_2.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/mm7_2.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -9548,8 +9548,8 @@
   _this.Reset();
   v0 = pPlayers[uActiveCharacter];
   v1 = v0->pEquipment.uMainHand;
-  v2 = v0->pEquipment.uOffHand;
-  v54 = v0->pEquipment.uOffHand;
+  v2 = v0->pEquipment.uShield;
+  v54 = v0->pEquipment.uShield;
   v53 = v1;
   if ( v1 && pItemsTable->pItems[*(int *)&v0->pInventoryItems[v1-1]].uEquipType == 1 )
     v51 = v1;
@@ -9654,7 +9654,7 @@
 			  v9 = v52;
 			  pParty->pPickedItem.uBodyAnchor = v52 + 1;
 			  memcpy(&v0->pInventoryItems[v8], &pParty->pPickedItem, sizeof(v0->pInventoryItems[v8]));
-			  *(&v0->pEquipment.uOffHand + v9) = v8 + 1;
+			  *(&v0->pEquipment.uShield + v9) = v8 + 1;
 			  pMouse->RemoveHoldingItem();
               break;
 			}
@@ -9708,7 +9708,7 @@
           v13 = v54 + 1;
           v14 = v51 == 0;
           memcpy((void *)(v12 + 532), &_this, 0x24u);
-          v0->pEquipment.uOffHand = v13;
+          v0->pEquipment.uShield = v13;
           if ( v14 )
             return;
         }
@@ -9722,7 +9722,7 @@
             pParty->pPickedItem.uBodyAnchor = 1;
             v17 = v52 + 1;
             memcpy(&v0->pInventoryItems[v52], &pParty->pPickedItem, sizeof(v0->pInventoryItems[v52]));
-            v0->pEquipment.uOffHand = v17;
+            v0->pEquipment.uShield = v17;
             pMouse->RemoveHoldingItem();
 	        return;
           }
@@ -9734,7 +9734,7 @@
           _this.uBodyAnchor = 1;
           v16 = v52 + 1;
           memcpy(&v0->pInventoryItems[v52], &_this, sizeof(v0->pInventoryItems[v52]));
-          v0->pEquipment.uOffHand = v16;
+          v0->pEquipment.uShield = v16;
         }
         v0->pEquipment.uMainHand = 0;
         return;
@@ -9790,7 +9790,7 @@
                 v21 = v54 + 1;
                 v14 = v52 == 12;
                 memcpy((void *)(v20 + 532), &_this, 0x24u);
-                v0->pEquipment.uOffHand = v21;
+                v0->pEquipment.uShield = v21;
                 if ( !v14 )
                   return;
                 v22 = _this.uItemID;
@@ -9810,7 +9810,7 @@
               pParty->pPickedItem.uBodyAnchor = 1;
               v50 = (unsigned int)&v0->pInventoryItems[v23];
               memcpy(&v0->pInventoryItems[v23], &pParty->pPickedItem, sizeof(v0->pInventoryItems[v23]));
-              v0->pEquipment.uOffHand = v23 + 1;
+              v0->pEquipment.uShield = v23 + 1;
               pMouse->RemoveHoldingItem();
               if ( v52 != 12 )
                 return;
@@ -9863,7 +9863,7 @@
         if ( v14 )
           v50 = _this.uItemID;
         if ( v51 )
-          v0->pEquipment.uOffHand = 0;
+          v0->pEquipment.uShield = 0;
         if ( v50 )
         {
                 __debugbreak();  // looks like offset in player's inventory and wand_lut much like case in 0042ECB5
@@ -9930,7 +9930,7 @@
               _this.uBodyAnchor = 2;
               v30 = v52 + 1;
               memcpy(&v0->pInventoryItems[v52], &_this, sizeof(v0->pInventoryItems[v52]));
-              v0->pEquipment.uOffHand = 0;
+              v0->pEquipment.uShield = 0;
               v0->pEquipment.uMainHand = v30;
             }
             else
--- a/mm7_4.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/mm7_4.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -9133,8 +9133,8 @@
   if ( v9 )
   {
     if ( !v23 )
-      //pVideoPlayer->_4BF28F(pAnimatedRooms[p2DEvents_minus1___02[26 * v9]].field_0, 1u);
-      pVideoPlayer->_4BF28F(pAnimatedRooms[p2DEvents[v9 - 1].uAnimationID].video_name, 1u);
+      //pVideoPlayer->OpenHouseMovie(pAnimatedRooms[p2DEvents_minus1___02[26 * v9]].field_0, 1u);
+      pVideoPlayer->OpenHouseMovie(pAnimatedRooms[p2DEvents[v9 - 1].uAnimationID].video_name, 1u);
   }
   else
   {
--- a/mm7_5.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/mm7_5.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -3859,16 +3859,14 @@
           if ( pUIMessageType == UIMSG_PlayerCreationClickPlus )
           {
             GUIWindow::Create(613, 393, 0, 0, (enum WindowType)90, (int)pPlayerCreationUI_BtnPlus, 1);
-            (&pPlayer[uPlayerCreationUI_SelectedCharacter])->IncreaseAttribute(
-              (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7);
+            pPlayer[uPlayerCreationUI_SelectedCharacter].IncreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7);
             pAudioPlayer->PlaySound((SoundID)20, 0, 0, -1, 0, 0, 0, 0);
             continue;
           }
           if ( pUIMessageType == UIMSG_PlayerCreationClickMinus )
           {
             GUIWindow::Create(523, 393, 0, 0, (enum WindowType)90, (int)pPlayerCreationUI_BtnMinus, 1);
-            (&pPlayer[uPlayerCreationUI_SelectedCharacter])->DecreaseAttribute(
-              (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7);
+            pPlayer[uPlayerCreationUI_SelectedCharacter].DecreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7);
             pAudioPlayer->PlaySound((SoundID)23, 0, 0, -1, 0, 0, 0, 0);
             continue;
           }
@@ -5006,7 +5004,7 @@
       {
         if ( player->HasItemEquipped((ITEM_EQUIP_TYPE)v59) )
         {
-          auto _s = (ItemGen *)&player->pInventoryItems[v57->uOffHand-1];
+          auto _s = (ItemGen *)&player->pInventoryItems[v57->uShield - 1];
           a4 = _s->_439DF3_get_additional_damage(&a2, &v62);
           if ( v62 && pMonster->sCurrentHP > 0 )
           {
@@ -5248,7 +5246,7 @@
                                      v75 = v6->sHealth,
                                      !stru_50C198.ActorHitOrMiss(v7, v6)) )
       return;
-    v8 = v6->pEquipment.uBody;
+    v8 = v6->pEquipment.uArmor;
     if ( !v8
       || (v9 = (char *)v6 + 36 * v8, v9[516] & 2)
       || (v10 = pItemsTable->pItems[*((int *)v9 + 124)].uSkillType, v10 < 10)
@@ -5486,7 +5484,7 @@
     if ( v45->HasEnchantedItemEquipped(69) )
       v77 >>= 1;
     if ( v45->HasItemEquipped(EQUIP_ARMOUR)
-		&& *(_DWORD *)&v45->pInventoryItems[v45->pEquipment.uBody-1] == 504 )
+		&& *(_DWORD *)&v45->pInventoryItems[v45->pEquipment.uArmor-1] == 504 )
       v77 >>= 1;
     v75 = 0;
 	v47 = (int)&v45->pEquipment;
@@ -6352,7 +6350,7 @@
         result = sub_43EE15_player_has_item(v5, *pPlayers, 0);
         if ( !result )
           break;
-        result = v6->pEquipment.uBody;
+        result = v6->pEquipment.uArmor;
         if ( !result )
           break;
         result *= 9;
@@ -6367,7 +6365,7 @@
   }
   result = sub_43EE15_player_has_item(604u, ::pPlayers[a1], 0);
   if ( !result
-    || (result = v2->pEquipment.uBody) == 0
+    || (result = v2->pEquipment.uArmor) == 0
     || (result *= 9, *(int *)&v2->spellbook.pDarkSpellbook.bIsSpellAvailable[4 * result + 5] != v3) )
   {
 LABEL_6:
@@ -10782,7 +10780,7 @@
 			sub_4606FE();
 			break;
 			}
-		case WINDOW_1F:
+		case WINDOW_CastSpell_InInventory:
 			{
             pRenderer->ClearZBuffer(0, 479);
             draw_leather();
--- a/mm7_data.cpp	Thu Apr 04 09:35:58 2013 +0600
+++ b/mm7_data.cpp	Mon Apr 15 16:36:56 2013 +0600
@@ -692,7 +692,13 @@
   0x72, 0x91,  0x72, 0x91,  0, 0,        0x6E, 0x92,  0x6F, 0x91,  0, 0,        0, 0,        0x6E, 0x91,  0x71, 0x90,
   0x72, 0x8D,  0x72, 0x90,  0x73, 0x93,  0x73, 0x90,  0x6F, 0x91,  0x73, 0x90,  0x72, 0x8D,  0x6E, 0x91,
 };
-int dword_4E5270[8];
+int dword_4E5270[4][2] = 
+{
+  0, 0,
+  0x61, 0x67,
+  0, 0,
+  0x64, 0x69,
+};
 int paperdoll_Boot[4][7][2] = //4E5490
 {
   0xE, 0x11D,    0xD, 0x11D,    0xC, 0x10A,    0xA, 0xFF,    0xD, 0xF9,    0xD, 0x137,   0xC, 0x10E,
@@ -707,8 +713,14 @@
   0x10, 0x8A,  0x9, 0x8B,  0x18, 0x98,  0x25, 0x91,  0x29, 0x90,  0x8, 0x8A,  0x9, 0x8B,  0x18, 0x98,  0x3, 0x91,  0x3, 0x90,
   0x14, 0x92,  0x10, 0x92, 0x15, 0x98,  0x1F, 0x91,  0x22, 0x90,  0x8, 0x92,  0xC, 0x92,  0x15, 0x98,  0x3, 0x91,  0x3, 0x90,
 };
-int dword_4E56B0; // weak
-int dword_4E56B4; // weak
+int paperdoll_CloakCollar[4][10][2] = //0x4E56B0
+{
+  0x11, 0x68,  0x34, 0x64,  0x21, 0x69,  0x1D, 0x67,  0x20, 0x67,  0x21, 0x68,  0x34, 0x64,  0x21, 0x69,  0x1D, 0x67,  0x1F, 0x67,
+  0x13, 0x64,  0x35, 0x66,  0x29, 0x68,  0x1F, 0x68,  0x1F, 0x6A,  0x21, 0x6A,  0x2B, 0x66,  0x26, 0x68,  0x1F, 0x68,  0x1F, 0x6A,
+  0, 0,        0x30, 0x87,  0x1E, 0x86,  0x1B, 0x86,  0x1C, 0x8A,  0x21, 0x87,  0x30, 0x87,  0x1E, 0x86,  0x1B, 0x86,  0x1C, 0x8A,
+  0, 0,        0x38, 0x8A,  0x24, 0x8B,  0x1D, 0x8B,  0x21, 0x8C,  0x27, 0x8A,  0x34, 0x8A,  0x24, 0x8B,  0x25, 0x8B,  0x21, 0x8C,
+};
+//int dword_4E56B4; // weak
 int paperdoll_Belt[4][7][2] = //0x4E57F0
 {
   0x3A, 0xB6,  0x37, 0xB2,  0x34, 0xB9,  0x3A, 0xB9,  0x37, 0xB7,  0x38, 0xAC,  0x37, 0xB7,
@@ -716,8 +728,17 @@
   0x3B, 0xD5,  0x37, 0xD2,  0x31, 0xD5,  0x39, 0xD6,  0x37, 0xD8,  0x37, 0xD1,  0x37, 0xD8,
   0x42, 0xD2,  0x3F, 0xD0,  0x3B, 0xD7,  0x3C, 0xD5,  0x3B, 0xD6,  0x3E, 0xCF,  0x36, 0xD6,
 };
-int dword_4E58D0[777]; // HelmX 62 maybe array???
-int dword_4E58D4[777]; // HelmY 31
+int paperdoll_Helm[64][2] = //0x4E58D0
+{
+  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,  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,  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,  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,
+};
+//int dword_4E58D4[777]; // HelmY 31
 int pPaperdoll_Beards[4] = //0x4E5AD0
 {
  52, 130, 56, 136,
@@ -737,14 +758,20 @@
   0x19, 0x8D,
   0x20, 0x92,
 };
-int pPaperdoll_RightHand[8] = //fist
+int pPaperdoll_RightHand[4][2] = //fist
 {
   0x1E, 0x90,
   0x22, 0x9E,
   0x19, 0xBA,
   0x1F, 0xB8,
 };
-int pPaperdollLeftEmptyHand[8];
+int pPaperdollLeftEmptyHand[4][2] = //0x4E5B40
+{
+  0x80, 0xCD,
+  0x83, 0xC9,
+  0x83, 0xD8,
+  0x7B, 0xD8,
+};
 int pPaperdollRingsX[6] = {0x1EA, 0x21A, 0x248, 0x1EA, 0x21A, 0x248};
 int pPaperdollRingsY[6] = {0x0CA, 0x0CA, 0x0CA, 0x0FA, 0x0FA, 0x0FA};
 char aItem092v3[777]; // idb
--- a/mm7_data.h	Thu Apr 04 09:35:58 2013 +0600
+++ b/mm7_data.h	Mon Apr 15 16:36:56 2013 +0600
@@ -603,20 +603,20 @@
 extern int pPaperdoll_BodyY; // weak
 extern int paperdoll_Armor[4][17][2];
 extern int paperdoll_shoulder[4][17][2];
-extern int dword_4E5270[8];
+extern int dword_4E5270[4][2];
 extern int paperdoll_Boot[4][7][2];
 extern int paperdoll_Cloak[4][10][2];
-extern int dword_4E56B0; // weak
-extern int dword_4E56B4; // weak
+extern int paperdoll_CloakCollar[4][10][2];
+//extern int dword_4E56B4; // weak
 extern int paperdoll_Belt[4][7][2];
-extern int dword_4E58D0[]; // weak
-extern int dword_4E58D4[]; // weak
+extern int paperdoll_Helm[64][2]; // weak
+//extern int dword_4E58D4[]; // weak
 extern int pPaperdoll_Beards[4]; // weak
 extern int dword_4E5AD4[]; // weak
 extern int pPaperdoll_LeftHand[4][2];
 extern int pPaperdoll_SecondLeftHand[4][2];
-extern int pPaperdoll_RightHand[8];
-extern int pPaperdollLeftEmptyHand[8];
+extern int pPaperdoll_RightHand[4][2];
+extern int pPaperdollLeftEmptyHand[4][2];
 extern int pPaperdollRingsX[6];
 extern int pPaperdollRingsY[6];
 extern char aItem092v3[]; // idb