Mercurial > mm7
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