# HG changeset patch # User Ritor1 # Date 1366373461 -21600 # Node ID 6daea87a3fe37025a28e4dcd93e1c7b7f81fd8a0 # Parent addae461eeb49ee74f86c4a513d83d3e154d5a3d m diff -r addae461eeb4 -r 6daea87a3fe3 Player.h --- a/Player.h Wed Apr 03 19:33:02 2013 +0600 +++ b/Player.h Fri Apr 19 18:11:01 2013 +0600 @@ -338,7 +338,7 @@ 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; diff -r addae461eeb4 -r 6daea87a3fe3 UICharacter.cpp --- a/UICharacter.cpp Wed Apr 03 19:33:02 2013 +0600 +++ b/UICharacter.cpp Fri Apr 19 18:11:01 2013 +0600 @@ -1183,95 +1183,70 @@ } } - //----- (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 pBodyNum; // eax@93 + ItemGen *body; // 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 + //Texture *pBodyTexture; // 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 pBodyNum2; // eax@197 + ItemGen *body2; // ecx@197 int v87; // eax@197 int v88; // eax@198 int v89; // eax@199 @@ -1285,20 +1260,17 @@ 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_armor; // eax@237 + int pY_armor; // ecx@237 + //int v105; // edx@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 pCloakNum2; // eax@259 + ItemGen *item_Cloak2; // eax@260 int v114; // eax@265 int v115; // eax@274 int v116; // ebx@274 @@ -1306,51 +1278,35 @@ 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 pOffHandNum; // eax@358 + ItemGen *item_OffHand; // eax@359 int v149; // edx@359 - int v150; // ebx@362 + int pX_OffHand; // 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,1736 +1315,880 @@ 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 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 + 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_Body; // [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 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 + int pY_Helm; // [sp+10h] [bp-3Ch]@312 + int pY_MainHand3; // [sp+10h] [bp-3Ch]@336 + int pY_OffHand; // [sp+10h] [bp-3Ch]@362 signed int a2; // [sp+14h] [bp-38h]@7 - unsigned int a2a; // [sp+14h] [bp-38h]@15 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 pX_Cloak; // [sp+14h] [bp-38h]@74 + int pX_Body; // [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 a2h; // [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 pX_Helm; // [sp+14h] [bp-38h]@312 + int pX_MainHand3; // [sp+14h] [bp-38h]@336 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 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] ) + { + 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 + { + 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 )//(itemBow->uAttributes & 0xF0) - ??? + 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 - { - IsDwarf = 0; - pBodyComplection = pSex != 0; - } - v244 = pPlayer->uFace; - pRenderer->ResetTextureClipRect(); - pRenderer->DrawTextureIndexed(0x1D3u, 0, pIcons_LOD->GetTexture(uTextureID_BACKDOLL));//Подложка - if ( !IsPlayerWearingWatersuit[uPlayerID_] ) + { + 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)); + pBodyNum = pPlayers[uPlayerID]->pEquipment.uBody;// потом броня + if ( pBodyNum ) + { + body = &pPlayers[uPlayerID]->pInventoryItems[pBodyNum-1]; + switch ( body->uItemID ) + { + case 504: + v45 = 15; + break; + case 505: + v45 = 14; + break; + case 516: + v45 = 13; + break; + case 533: + v45 = 16; + break; + default: + v45 = body->uItemID - 66; + break; + } + if ( v45 >= 0 && v45 < 17 ) + { + v46 = 17 * pBodyComplection + v45; + pX_Body = pPaperdoll_BodyX + paperdoll_Armor[0][v46][0]; + pY_Body = pPaperdoll_BodyY + paperdoll_Armor[0][v46][1]; + v48 = paperdoll_array_511290[0][v46][0];//Texture_Armor + if ( !(body->uAttributes & 0xF0) ) + { + v53 = v48 + 1; + if ( body->uAttributes & 2 ) + pRenderer->DrawTransparentRedShade(pX_Body, pY_Body, (Texture *)(v53 != 0 ? (int)&pIcons_LOD->pTextures[v48] : 0)); + else + { + v55 = (char *)&pIcons_LOD->pTextures[v48]; + if ( !(body->uAttributes & 1) ) + pRenderer->DrawTransparentGreenShade(pX_Body, pY_Body, (Texture *)(v53 != 0 ? (int)v55 : 0)); + else + pRenderer->DrawTextureTransparent(pX_Body, pY_Body, (Texture *)(v53 != 0 ? (int)v55 : 0)); + } + } + else + { + if ( (body->uAttributes & 0xF0) == 16 ) + v170 = "sptext01"; + if ( (body->uAttributes & 0xF0) == 32 ) + v170 = "sp28a"; + if ( (body->uAttributes & 0xF0) == 64 ) + v170 = "sp30a"; + if ( (body->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; + body->uAttributes &= 0xFu; + ptr_50C9A4 = 0; + } + v52 = (double)GetTickCount() * 0.1; + pRenderer->_4A63E6(pX_Body, pY_Body, (Texture *)(v48 != -1 ? (int)&pIcons_LOD->pTextures[v48] : 0), v51, (signed __int64)v52, 0, 255); + } + if ( !bRingsShownInCharScreen ) + pRenderer->DrawMaskToZBuffer(pX_Body, pY_Body, (Texture *)(v53 != 0 ? (int)v55 : 0), pBodyNum); + } + 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 { - 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)]; - 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; - } - v26 = pIcons_LOD; - v168 = "sptext01"; - a2b = &pIcons_LOD->pTextures[v26->LoadTexture(v168, TEXTURE_16BIT_PALETTE)]; + 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; + uPlayerID_a = 2 * pBodyComplection; + if ( !pMainHandNum || (v70 = *(int *)&pPlayers[uPlayerID]->pInventoryItems[pMainHandNum -1], pItemsTable->pItems[v70].uEquipType != 1) + && (pItemsTable->pItems[v70].uSkillType != 4 || pPlayers[uPlayerID]->pEquipment.uOffHand) ) + 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; + item_Belt->uAttributes &= 0xFu; + ptr_50C9A4 = 0; + } + 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.uOffHand ) + pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[0][uPlayerID_a], + pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[0][uPlayerID_a + 1], + (Texture *)(papredoll_dlaus[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlaus[uPlayerID - 1]] : 0)); + } + pBodyNum2 = pPlayers[uPlayerID]->pEquipment.uBody; + if ( pBodyNum2 ) + { + body2 = &pPlayers[uPlayerID]->pInventoryItems[pBodyNum2 - 1]; + switch ( body2->uItemID ) + { + case 504: + v90 = 15; + break; + case 505: + v90 = 14; + break; + case 516: + v90 = 13; + break; + case 533: + v90 = 16; + break; + default: + v90 = body2->uItemID - 66; + break; + } + if ( v90 >= 0 && v90 < 17 ) + { + v102 = 17 * pBodyComplection + v90; + v94 = paperdoll_array_511290[0][v102][1]; + if ( v94 != pIcons_LOD->FindTextureByName("pending") ) + { + pX_armor = pPaperdoll_BodyX + paperdoll_shoulder[0][v102][0]; + pY_armor = pPaperdoll_BodyY + paperdoll_shoulder[0][v102][1]; + if ( !(body2->uAttributes & 0xF0) ) + { + v109 = v94 + 1; + v110 = (char *)&pIcons_LOD->pTextures[v94]; + if ( body2->uAttributes & 2 ) + pRenderer->DrawTransparentRedShade(pX_armor, pY_armor, (Texture *)(v109 != 0 ? (int)v110 : 0)); + else + { + if ( body2->uAttributes & 1 ) + pRenderer->DrawTextureTransparent(pX_armor, pY_armor, (Texture *)(v109 != 0 ? (int)v110 : 0)); + else + pRenderer->DrawTransparentGreenShade(pX_armor, pY_armor, (Texture *)(v109 != 0 ? (int)v110 : 0)); + } + } + else + { + if ( (item_Belt->uAttributes & 0xF0) == 16 ) + v178 = "sptext01"; + if ( (item_Belt->uAttributes & 0xF0) == 32 ) + v178 = "sp28a"; + if ( (item_Belt->uAttributes & 0xF0) == 64 ) + v178 = "sp30a"; + if ( (item_Belt->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; - *(char *)(v22 + 20) &= 0xFu; + body2->uAttributes &= 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;; + } + v97 = (double)GetTickCount(); + pRenderer->_4A63E6(pX_armor, pY_armor, (Texture *)(v94 != -1 ? (int)&pIcons_LOD->pTextures[v94] : 0), (Texture *)v96, (signed __int64)(v97 * 0.1), 0, 255); } - 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(pX_armor, pY_armor, (Texture *)(v109 != 0 ? (int)v110 : 0), pBodyNum2); + } + } + pCloakNum2 = pPlayers[uPlayerID]->pEquipment.uCloak; + if ( pCloakNum2 ) + { + item_Cloak2 = &pPlayers[uPlayerID]->pInventoryItems[pCloakNum2 - 1]; + switch ( item_Cloak2->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_Cloak2->uItemID - 105; + } + if ( v114 >= 0 && v114 < 10 ) + { + v115 = v114 + 10 * pBodyComplection; + v116 = dword_511788[v115]; + v115 *= 8; + v117 = pPaperdoll_BodyX + *(int *)((char *)&dword_4E56B0[v115][0]);//Cloak + a2h = pPaperdoll_BodyX + *(int *)((char *)&dword_4E56B0[v115][0]); + a3h = pPaperdoll_BodyY + *(int *)((char *)&dword_4E56B0[v115][1]); + if ( v116 == pIcons_LOD->FindTextureByName("pending") ) + { + if ( !(item_Cloak2->uAttributes & 0xF0) ) + { + v119 = v116 + 1; + v120 = (char *)&pIcons_LOD->pTextures[v116]; + if ( item_Cloak2->uAttributes & 2 ) + pRenderer->DrawTransparentRedShade(a2h, a3h, (Texture *)(v119 != 0 ? (int)v120 : 0)); + else + pRenderer->DrawTextureTransparent(a2h, a3h, (Texture *)(v119 != 0 ? (int)v120 : 0)); + } + else + { + if ( (item_Cloak2->uAttributes & 0xF0) == 16 ) + v179 = "sptext01"; + if ( (item_Cloak2->uAttributes & 0xF0) == 32 ) + v179 = "sp28a"; + if ( (item_Cloak2->uAttributes & 0xF0) == 64 ) + v179 = "sp30a"; + if ( (item_Cloak2->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_Cloak2->uAttributes &= 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); + } + } + } 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 ) + pRenderer->DrawMaskToZBuffer(a2h, a3h, (Texture *)(v119 != 0 ? (int)v120 : 0), pCloakNum2); + } + 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 = 2 * (v125 + 16 * pBodyComplection); + pX_Helm = pPaperdoll_BodyX + paperdoll_Helm[v126][0]; + pY_Helm = pPaperdoll_BodyY + paperdoll_Helm[v126][1]; + 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 + pRenderer->DrawTransparentGreenShade(pX_Helm, pY_Helm, (Texture *)(v131 != 0 ? (int)v132 : 0)); + } + 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 ) { - 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"; + 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); + } + if ( !bRingsShownInCharScreen ) + pRenderer->DrawMaskToZBuffer(pX_Helm, pY_Helm, (Texture *)(v131 != 0 ? (int)v132 : 0), pHelmNum); + } + } + pMainHandNum3 = pPlayers[uPlayerID]->pEquipment.uMainHand; + 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 - 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); - } - 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); - } + 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); + } + pOffHandNum = pPlayers[uPlayerID]->pEquipment.uOffHand; + if ( !pOffHandNum ) + goto LABEL_393; + item_OffHand = &pPlayers[uPlayerID]->pInventoryItems[pOffHandNum - 1]; + v149 = pItemsTable->pItems[item_OffHand->uItemID].uSkillType; + if ( v149 != 2 && v149 != 1 ) + { + v245 = 0; + pX_OffHand = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item_OffHand->uItemID].uEquipX; + pY_OffHand = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item_OffHand->uItemID].uEquipY; + goto LABEL_370; + } + v151 = item_OffHand->uItemID - 400; + v245 = 1; + if ( v151 ) + { + v152 = v151 - 3; + if ( v152 ) + { + if ( v152 != 12 ) + { + pX_OffHand = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item_OffHand->uItemID].uEquipX; + pY_OffHand = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item_OffHand->uItemID].uEquipY; + goto LABEL_370; + } + pX_OffHand = 595; + pY_OffHand = 33; +LABEL_370: + v153 = pIcons_LOD->LoadTexture(pItemsTable->pItems[item_OffHand->uItemID].pIconName, TEXTURE_16BIT_PALETTE); + if ( !(item_OffHand->uAttributes & 0xF0) ) + { + if ( item_OffHand->uAttributes & 2 ) + pRenderer->DrawTransparentRedShade(pX_OffHand, pY_OffHand, (Texture *)(v153 != -1 ? (int)&pIcons_LOD->pTextures[v153] : 0)); + else + { + v160 = (char *)&pIcons_LOD->pTextures[v153]; + if ( !(item_OffHand->uAttributes & 1) ) + pRenderer->DrawTransparentGreenShade(pX_OffHand, pY_OffHand, (Texture *)(v153 != -1 ? (int)v160 : 0)); + else + pRenderer->DrawTextureTransparent(pX_OffHand, pY_OffHand, (Texture *)(v153 != -1 ? (int)v160 : 0)); + } + if ( !bRingsShownInCharScreen ) + pRenderer->DrawMaskToZBuffer(pX_OffHand, pY_OffHand, (Texture *)(v153 != -1 ? (int)&pIcons_LOD->pTextures[v153] : 0), pOffHandNum); + if ( v245 ) + pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[uPlayerID_a], + pPaperdoll_BodyY + pPaperdollLeftEmptyHand[uPlayerID_a + 1], + (Texture *)(papredoll_dlhs[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlhs[uPlayerID - 1]] : 0)); + goto LABEL_393; + } + else + { + if ( (item_OffHand->uAttributes & 0xF0) == 16 ) + v183 = "sptext01"; + if ( (item_OffHand->uAttributes & 0xF0) == 32 ) + v183 = "sp28a"; + if ( (item_OffHand->uAttributes & 0xF0) == 64 ) + v183 = "sp30a"; + if ( (item_OffHand->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_OffHand->uAttributes &= 0xFu; + ptr_50C9A4 = 0; + } + v158 = (double)GetTickCount() * 0.1; + pRenderer->_4A63E6(pX_OffHand, pY_OffHand, (Texture *)(v153 != -1 ? (int)&pIcons_LOD->pTextures[v153] : 0), + v157, (signed __int64)v158, 0, 255); + if ( v245 ) + pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[uPlayerID_a], + pPaperdoll_BodyY + pPaperdollLeftEmptyHand[uPlayerID_a + 1], + (Texture *)(papredoll_dlhs[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dlhs[uPlayerID - 1]] : 0)); + goto LABEL_393; + } + } + pY_OffHand = 28; + } + else + { + pY_OffHand = 86; + } + pX_OffHand = 596; + goto LABEL_370; + } + 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.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]; + pX_shoulder = pPaperdoll_BodyX + paperdoll_shoulder[0][0][v93]; + v95 = paperdoll_shoulder[0][0][v93 + 1]; + } + else + { + v94 = v223; + pX_shoulder = pPaperdoll_BodyX + dword_4E5270[2 * v91]; + v95 = dword_4E5270[2 * v91 + 1]; + } + pY_shoulder = pPaperdoll_BodyY + v95; + if ( !(body2->uAttributes & 0xF0) ) + { + v98 = v94 + 1; + v99 = (char *)&pIcons_LOD->pTextures[v94]; + if ( body2->uAttributes & 2 ) + pRenderer->DrawTransparentRedShade(pX_shoulder, pY_shoulder, (Texture *)(v98 != 0 ? (int)v99 : 0)); + else + { + if ( body2->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 ( body2->uAttributes & 0xF0 )//v242 + 516 + { + if ( (body2->uAttributes & 0xF0) == 16 ) + v173 = "sptext01"; + if ( (body2->uAttributes & 0xF0) == 32 ) + v173 = "sp28a"; + if ( ( body2->uAttributes & 0xF0) == 64 ) + v173 = "sp30a"; + if ( (body2->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; + body2->uAttributes &= 0xFu; + ptr_50C9A4 = 0; + } + 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); + } + } + } + if ( !bRingsShownInCharScreen ) + pRenderer->DrawMaskToZBuffer(pX_shoulder, pY_shoulder, (Texture *)(v98 != 0 ? (int)v99 : 0), pBodyNum2); + } + } + a3 = pPaperdoll_BodyY; + a2 = pPaperdoll_BodyX; + 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(a2, a3, + (Texture *)(papredoll_dbods[uPlayerID - 1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbods[uPlayerID - 1]] : 0), + pPlayers[uPlayerID]->pEquipment.uBody); + uPlayerID_a = 2 * pBodyComplection; + 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.uOffHand) ) + 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); + } 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)); - } - 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->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_RightHand[uPlayerID_a], pPaperdoll_BodyY + pPaperdoll_RightHand[uPlayerID_a + 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.uOffHand ) + pRenderer->DrawTextureTransparent(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[0][uPlayerID_a], pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[0][uPlayerID_a + 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) -------------------------------------------------------- diff -r addae461eeb4 -r 6daea87a3fe3 mm7_data.cpp --- a/mm7_data.cpp Wed Apr 03 19:33:02 2013 +0600 +++ b/mm7_data.cpp Fri Apr 19 18:11:01 2013 +0600 @@ -707,8 +707,8 @@ 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 dword_4E56B0[64][2]; // weak +//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 +716,8 @@ 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]; // HelmX 62 maybe array??? +//int dword_4E58D4[777]; // HelmY 31 int pPaperdoll_Beards[4] = //0x4E5AD0 { 52, 130, 56, 136, diff -r addae461eeb4 -r 6daea87a3fe3 mm7_data.h --- a/mm7_data.h Wed Apr 03 19:33:02 2013 +0600 +++ b/mm7_data.h Fri Apr 19 18:11:01 2013 +0600 @@ -606,11 +606,11 @@ extern int dword_4E5270[8]; 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 dword_4E56B0[64][2]; // weak +//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];