Mercurial > mm7
changeset 337:d27e30e0158a
Merge
author | Gloval |
---|---|
date | Thu, 21 Feb 2013 00:35:45 +0400 |
parents | ea55d6414029 (current diff) 4e63b7396b24 (diff) |
children | 1c681ad45653 |
files | Player.cpp mm7_5.cpp mm7_data.cpp |
diffstat | 2 files changed, 250 insertions(+), 158 deletions(-) [+] |
line wrap: on
line diff
--- a/mm7_5.cpp Thu Feb 21 00:33:12 2013 +0400 +++ b/mm7_5.cpp Thu Feb 21 00:35:45 2013 +0400 @@ -7005,11 +7005,11 @@ //----- (0043CC7C) -------------------------------------------------------- void __fastcall CharacterUI_DrawPaperdoll(unsigned int uPlayerID) { - Player **ppPlayer; // esi@1 + //Player **ppPlayer; // esi@1 Player *pPlayer; // ebx@1 - enum CHARACTER_RACE pRace; // edi@1 + //enum CHARACTER_RACE pRace; // edi@1 signed int pSex; // eax@1 - int v5; // edi@4 + //int v5; // edi@4 unsigned int v6; // ecx@9 int v7; // ecx@10 unsigned int v8; // eax@14 @@ -7072,7 +7072,7 @@ int v65; // edi@148 char *v66; // eax@148 Texture *v67; // edi@149 - Player *v68; // ebx@155 + //Player *v68; // ebx@155 unsigned int v69; // edx@155 int v70; // edx@156 unsigned int v71; // eax@160 @@ -7221,7 +7221,7 @@ 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 + //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 @@ -7254,28 +7254,23 @@ 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 - - ppPlayer = &pPlayers[uPlayerID]; - pPlayer = *ppPlayer; + //signed int v250; // [sp+44h] [bp-8h]@1 + + pPlayer = pPlayers[uPlayerID]; uPlayerID_ = uPlayerID; - v217 = *ppPlayer; pIcons_LOD->LoadTexture("sptext01", TEXTURE_16BIT_PALETTE); - pRace = pPlayer->GetRace(); pSex = pPlayer->GetSexByVoice(); - v250 = pSex; - if ( pRace && pRace != 1 && pRace != 2 ) + if ( pPlayer->GetRace() && pPlayer->GetRace() != 1 && pPlayer->GetRace() != 2 ) { IsDwarf = 1; - v5 = (pSex != 0) + 2; + pBodyComplection = (pSex != 0) + 2; } else { IsDwarf = 0; - v5 = pSex != 0; - } - pBodyComplection = v5; - v244 = (*ppPlayer)->uFace; + pBodyComplection = pSex != 0; + } + v244 = pPlayer->uFace; pRenderer->ResetClip(); pRenderer->DrawTextureIndexed(0x1D3u, 0, (Texture *)(uTextureID_BACKDOLL != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BACKDOLL] : 0));//Подложка if ( !IsPlayerWearingWatersuit[uPlayerID_] ) @@ -7284,7 +7279,7 @@ if ( !v21 ) goto LABEL_59; v230 = pPlayer->pEquipment.uBow; - v22 = (int)&v217->pInventoryItems[v21-1]; + 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; @@ -7316,11 +7311,11 @@ if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(v24, a3b, v27, v230); LABEL_59: - v31 = v217->pEquipment.uCloak;// потом плащ + v31 = pPlayer->pEquipment.uCloak;// потом плащ if ( !v31 ) goto LABEL_93; - v231 = v217->pEquipment.uCloak; - v32 = (int)&v217->pInventoryItems[v31-1]; + v231 = pPlayer->pEquipment.uCloak; + v32 = (int)&pPlayer->pInventoryItems[v31-1]; v219 = v32; if ( *(int *)v32 != 525 ) { @@ -7368,11 +7363,11 @@ 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 = v217->pEquipment.uBody;// потом тело + v43 = pPlayer->pEquipment.uBody;// потом тело if ( !v43 ) goto LABEL_127; - v232 = v217->pEquipment.uBody; - v44 = (int)&v217->pInventoryItems[v43-1]; + v232 = pPlayer->pEquipment.uBody; + v44 = (int)&pPlayer->pInventoryItems[v43-1]; v220 = v44; if ( *(int *)v44 != 504 ) { @@ -7427,11 +7422,11 @@ if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2d, a3d, v54, v232); LABEL_127: - v56 = v217->pEquipment.field_20; + v56 = pPlayer->pEquipment.field_20; if ( !v56 ) goto LABEL_155; - v233 = v217->pEquipment.field_20; - v57 = (int)&v217->pInventoryItems[v56-1]; + v233 = pPlayer->pEquipment.field_20; + v57 = (int)&pPlayer->pInventoryItems[v56-1]; v221 = v57; v58 = *(int *)v57; if ( *(int *)v57 == 529 ) @@ -7492,19 +7487,18 @@ if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2e, a3e, v67, v233); LABEL_155: - v68 = v217; - v69 = v217->pEquipment.uMainHand; + v69 = pPlayer->pEquipment.uMainHand; uPlayerID_a = 2 * pBodyComplection; - if ( !v69 || (v70 = *(int *)&v217->pInventoryItems[v69-1], pItemsTable->pItems[v70].uEquipType != 1) - && (pItemsTable->pItems[v70].uSkillType != 4 || v217->pEquipment.uOffHand) ) + 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 = v217->pEquipment.uBelt; + v71 = pPlayer->pEquipment.uBelt; if ( v71 ) { - v234 = v217->pEquipment.uBelt; - v72 = (int)&v217->pInventoryItems[v71-1]; + v234 = pPlayer->pEquipment.uBelt; + v72 = (int)&pPlayer->pInventoryItems[v71-1]; v222 = v72; if ( *(int *)v72 == 524 ) { @@ -7529,8 +7523,8 @@ v75 = stru_511718.texids[v74]; else v75 = stru_511718.texids[v73 + 7 * (pBodyComplection - 2)]; - v76 = *(int *)&v217->field_1F5[36 * v71 + 15]; - if ( !(*(int *)&v217->field_1F5[36 * v71 + 15] & 0xF0) ) + 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]; @@ -7554,12 +7548,11 @@ } if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2f, a3f, v81, v234); - v68 = v217; goto LABEL_192; } - if ( (*(int *)&v217->field_1F5[36 * v71 + 15] & 0xF0) != 16 ) + if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) != 16 ) { - if ( (*(int *)&v217->field_1F5[36 * v71 + 15] & 0xF0) == 32 ) + if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) == 32 ) { v172 = "sp28a"; v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)]; @@ -7572,10 +7565,9 @@ } v78 = (double)GetTickCount() * 0.1; pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255); - v68 = v217; goto LABEL_192; } - if ( (*(int *)&v217->field_1F5[36 * v71 + 15] & 0xF0) == 64 ) + if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) == 64 ) { v172 = "sp30a"; v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)]; @@ -7588,10 +7580,9 @@ } v78 = (double)GetTickCount() * 0.1; pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255); - v68 = v217; goto LABEL_192; } - if ( (*(int *)&v217->field_1F5[36 * v71 + 15] & 0xF0) == 128 ) + if ( (*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) == 128 ) { v172 = "sp91a"; v77 = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(v172, TEXTURE_16BIT_PALETTE)]; @@ -7604,7 +7595,6 @@ } v78 = (double)GetTickCount() * 0.1; pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255); - v68 = v217; goto LABEL_192; } } @@ -7619,24 +7609,23 @@ } v78 = (double)GetTickCount() * 0.1; pRenderer->_4A63E6(a2f, a3f, (Texture *)(v75 != -1 ? (int)&pIcons_LOD->pTextures[v75] : 0), v77, (signed __int64)v78, 0, 255); - v68 = v217; goto LABEL_192; } } LABEL_192: - v82 = v68->pEquipment.uMainHand; + v82 = pPlayer->pEquipment.uMainHand; if ( v82 ) { - v83 = *(int *)&v68->pInventoryItems[v82-1]; + v83 = *(int *)&pPlayer->pInventoryItems[v82-1]; if ( pItemsTable->pItems[v83].uEquipType == 1 - || pItemsTable->pItems[v83].uSkillType == 4 && !v68->pEquipment.uOffHand ) + || 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 = v68->pEquipment.uBody; + v84 = pPlayer->pEquipment.uBody; v235 = v84; - v85 = (int)((char *)v68 + 36 * v84); + v85 = (int)((char *)pPlayer + 36 * v84); v242 = v85; v86 = *(int *)(v85 + 496); v87 = *(int *)(v85 + 496) - 504; @@ -7655,11 +7644,11 @@ if ( v90 < 0 || v90 > 17 ) { LABEL_259: - v111 = v68->pEquipment.uCloak; + v111 = pPlayer->pEquipment.uCloak; if ( !v111 ) goto LABEL_293; - v236 = v68->pEquipment.uCloak; - v112 = (int)&v68->pInventoryItems[v111-1]; + v236 = pPlayer->pEquipment.uCloak; + v112 = (int)&pPlayer->pInventoryItems[v111-1]; v225 = v112; v113 = *(int *)v112; if ( v113 != 525 ) @@ -7692,7 +7681,6 @@ if ( v116 == pIcons_LOD->FindTextureByName("pending") ) { LABEL_292: - v68 = v217; LABEL_293: if ( v244 == 12 || v244 == 13 ) { @@ -7702,11 +7690,11 @@ pPaperdoll_BodyY + pPaperdoll_Beards[2 * v244 - 23], (Texture *)(v122 != -1 ? (int)&pIcons_LOD->pTextures[v122] : 0)); } - v123 = v68->pEquipment.uHelm; + v123 = pPlayer->pEquipment.uHelm; if ( !v123 ) goto LABEL_335; v237 = v123; - v124 = (int)&v217->pInventoryItems[v123-1]; + v124 = (int)&pPlayer->pInventoryItems[v123-1]; v226 = v124; if ( *(int *)v124 != 521 ) { @@ -7738,7 +7726,7 @@ a2j = pPaperdoll_BodyX + dword_4E58D0[v126]; a3i = pPaperdoll_BodyY + dword_4E58D4[v126]; if ( IsDwarf != 1 || *(int *)v124 != 92 ) - v127 = stru_511698.texids[v125 + 16 * v250]; + v127 = stru_511698.texids[v125 + 16 * pSex]; else v127 = papredoll_dbrds[11]; v128 = *(int *)(v124 + 20); @@ -7832,11 +7820,11 @@ if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2j, a3i, v133, v237); LABEL_335: - v134 = v217->pEquipment.uMainHand; + v134 = pPlayer->pEquipment.uMainHand; if ( !v134 ) goto LABEL_358; - v238 = v217->pEquipment.uMainHand; - v135 = (int)&v217->pInventoryItems[v134-1]; + v238 = pPlayer->pEquipment.uMainHand; + v135 = (int)&pPlayer->pInventoryItems[v134-1]; v227 = v135; v136 = *(int *)v135; v137 = *(int *)v135; @@ -7873,11 +7861,11 @@ if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2k, a3j, v144, v238); LABEL_358: - v145 = v217->pEquipment.uOffHand; - v249 = v217->pEquipment.uOffHand; + v145 = pPlayer->pEquipment.uOffHand; + v249 = pPlayer->pEquipment.uOffHand; if ( !v145 ) goto LABEL_393; - v146 = (int)&v217->pInventoryItems[v145-1]; + v146 = (int)&pPlayer->pInventoryItems[v145-1]; v228 = v146; v147 = *(int *)v146; v148 = *(int *)v146; @@ -8204,10 +8192,10 @@ goto LABEL_272; } LABEL_209: - if ( v68->pEquipment.uMainHand - && (v68->GetEquippedItemEquipType(1u) == 1 - || v68->GetEquippedItemSkillType(EQUIP_TWO_HANDED) == 4 - && !v68->pEquipment.uOffHand) ) + if ( pPlayer->pEquipment.uMainHand + && (pPlayer->GetEquippedItemEquipType(1u) == 1 + || pPlayer->GetEquippedItemSkillType(EQUIP_TWO_HANDED) == 4 + && !pPlayer->pEquipment.uOffHand) ) { v91 = 17 * pBodyComplection + v90; v92 = v91; @@ -8227,10 +8215,7 @@ } a3g = pPaperdoll_BodyY + v95; if ( v94 == pIcons_LOD->FindTextureByName("pending") ) - { - v68 = v217; goto LABEL_259; - } if ( *(int *)(v242 + 516) & 0xF0 ) { if ( (*(int *)(v242 + 516) & 0xF0) != 16 ) @@ -8251,7 +8236,6 @@ 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); - v68 = v217; goto LABEL_259; } if ( (*(int *)(v242 + 516) & 0xF0) == 64 ) @@ -8270,7 +8254,6 @@ 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); - v68 = v217; goto LABEL_259; } if ( (*(int *)(v242 + 516) & 0xF0) == 128 ) @@ -8289,7 +8272,6 @@ 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); - v68 = v217; goto LABEL_259; } } @@ -8307,7 +8289,6 @@ 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); - v68 = v217; goto LABEL_259; } v98 = v94 + 1; @@ -8322,7 +8303,6 @@ v100->DrawTransparentRedShade(v163, v175, v188); if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2g, a3g, v101, v235); - v68 = v217; goto LABEL_259; } if ( *(char *)(v242 + 516) & 1 ) @@ -8334,7 +8314,6 @@ pRenderer->DrawTextureTransparent(v164, v176, v189); if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2g, a3g, v101, v235); - v68 = v217; goto LABEL_259; } v101 = (Texture *)(v98 != 0 ? (int)v99 : 0); @@ -8344,16 +8323,12 @@ pRenderer->DrawTransparentGreenShade(v165, v177, v190); if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2g, a3g, v101, v235); - v68 = v217; goto LABEL_259; } v102 = 17 * pBodyComplection + v90; v94 = paperdoll_array_511290[0][v102][1]; if ( v94 == pIcons_LOD->FindTextureByName("pending") ) - { - v68 = v217; goto LABEL_259; - } v103 = pPaperdoll_BodyX + paperdoll_shoulder[0][v102][0]; v104 = pPaperdoll_BodyY + paperdoll_shoulder[0][v102][1]; v224 = *(int *)(v242 + 516); @@ -8374,7 +8349,6 @@ v100->DrawTransparentRedShade(v163, v175, v188); if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2g, a3g, v101, v235); - v68 = v217; goto LABEL_259; } if ( v224 & 1 ) @@ -8387,7 +8361,6 @@ pRenderer->DrawTextureTransparent(v164, v176, v189); if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2g, a3g, v101, v235); - v68 = v217; goto LABEL_259; } v101 = (Texture *)(v109 != 0 ? (int)v110 : 0); @@ -8398,7 +8371,6 @@ pRenderer->DrawTransparentGreenShade(v165, v177, v190); if ( !bRingsShownInCharScreen ) pRenderer->_4A612A(a2g, a3g, v101, v235); - v68 = v217; goto LABEL_259; } v106 = v105 - 16; @@ -8421,7 +8393,6 @@ 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); - v68 = v217; goto LABEL_259; } v108 = v107 - 32; @@ -8441,7 +8412,6 @@ 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); - v68 = v217; goto LABEL_259; } if ( v108 == 64 ) @@ -8460,7 +8430,6 @@ 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); - v68 = v217; goto LABEL_259; } } @@ -8478,7 +8447,6 @@ 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); - v68 = v217; goto LABEL_259; } v186 = 16; @@ -8806,23 +8774,23 @@ pRenderer->_4A612A(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 * v5; + 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[v5][0], pPaperdoll_BodyY + pPaperdoll_LeftHand[v5][1], + 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 ) { v229 = pPlayer->pEquipment.uMainHand; - v9 = (int)&v217->pInventoryItems[v8-1]; - v10 = v5 << 7; + v9 = (int)&pPlayer->pInventoryItems[v8-1]; + v10 = pBodyComplection << 7; v218 = v9; v11 = *(int *)v9; v12 = *(int *)v9; - v13 = pPaperdoll_BodyX + paperdoll_Weapon[v5][1][0] - pItemsTable->pItems[v12].uEquipX; + v13 = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[v12].uEquipX; a2a = v13; a3a = pPaperdoll_BodyY + *(int *)((char *)&paperdoll_Weapon[0][1][1] + v10) - pItemsTable->pItems[v12].uEquipY; if ( v11 == 64 ) @@ -8925,11 +8893,11 @@ 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 = v217->pEquipment.uMainHand; + v161 = pPlayer->pEquipment.uMainHand; if ( v161 ) { - v162 = *(int *)&v217->pInventoryItems[v161-1]; - if ( pItemsTable->pItems[v162].uEquipType == 1 || pItemsTable->pItems[v162].uSkillType == 4 && !v217->pEquipment.uOffHand ) + 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));
--- a/mm7_data.cpp Thu Feb 21 00:33:12 2013 +0400 +++ b/mm7_data.cpp Thu Feb 21 00:35:45 2013 +0400 @@ -69,68 +69,192 @@ #include "stru159.h" stru159 pAnimatedRooms[196] = { - "", 0x00000004, 0x000001F4, 0x00000000, - "Human Armor01", 0x00000020, 0x000002C0, 0x00003A02, - "Necromancer Armor01", 0x00000020, 0x000002D7, 0x00004602, - "Dwarven Armor01", 0x00000020, 0x000002EE, 0x00000502, - "Wizard Armor", 0x00000020, 0x000003BD, 0x00001302, - "Warlock Armor", 0x00000020, 0x000002D6, 0x00002302, - "Elf Armor", 0x00000020, 0x000002BC, 0x00004F02, - "Human Alchemisht01", 0x0000000E, 0x000002BE, 0x00005F04, - "Necromancer Alchemist01", 0x0000000E, 0x000002D6, 0x00004504, - "Dwarven Achemist01", 0x0000000E, 0x00000387, 0x00000404, - "Wizard Alchemist", 0x0000000E, 0x00000232, 0x00001904, - "Warlock Alchemist", 0x0000000E, 0x000002BE, 0x00002A04, - "Elf Alchemist", 0x0000000E, 0x0000038A, 0x00005404, - "Human Bank01", 0x00000006, 0x00000384, 0x00003416, - "Necromancer Bank01", 0x00000006, 0x000002D8, 0x00004716, - "Dwarven Bank", 0x00000006, 0x000002F3, 0x00000616, - "Wizard Bank", 0x00000006, 0x000003BA, 0x00001416, - "Warlock Bank", 0x00000006, 0x0000039F, 0x00002416, - "Elf Bank", 0x00000006, 0x000002BC, 0x00004716, - "Boat01", 0x0000000F, 0x0000004C, 0x0003351C, - "Boat01d", 0x0000000F, 0x0000004C, 0x0003351C, - "Human Magic Shop01", 0x0000000A, 0x000002C8, 0x00003603, - "Necromancer Magic Shop01", 0x0000000E, 0x000002DC, 0x00004203, - "Dwarven Magic Shop01", 0x0000002A, 0x000002EF, 0x00005B03, - "Wizard Magic Shop", 0x0000001E, 0x000002DF, 0x00000F03, - "Warlock Magic Shop", 0x00000007, 0x000003B9, 0x00001F03, - "Elf Magic Shop", 0x00000024, 0x000002CC, 0x00005203, - "Human Stables01", 0x00000021, 0x00000031, 0x0003301B, - "Necromancer Stables", 0x00000021, 0x000002DD, 0x0003431B, - "", 0x00000021, 0x000002F0, 0x00035B1B, - "Wizard Stables", 0x00000021, 0x000003BA, 0x0003101B, - "Warlock Stables", 0x00000021, 0x00000181, 0x0003201B, - "Elf Stables", 0x00000021, 0x00000195, 0x00034D1B, - "Human Tavern01", 0x0000000D, 0x000002C2, 0x00003115, - "Necromancer Tavern 01", 0x0000000D, 0x000003B0, 0x00003915, - "Dwarven Tavern01", 0x0000000D, 0x000002FE, 0x00005E15, - "Wizard Tavern", 0x0000000D, 0x000003BB, 0x00001115, - "Warlock Tavern", 0x0000000D, 0x000003A8, 0x00002115, - "Elf Tavern", 0x0000000D, 0x000002CD, 0x00004E15, - "Human Temple01", 0x00000024, 0x000002DB, 0x00033217, - "Necromancer Temple", 0x00000024, 0x000002DF, 0x00033C17, - "Dwarven Temple01", 0x00000024, 0x000002F1, 0x00035617, - "Wizard Temple", 0x00000024, 0x000002E0, 0x00030A17, - "Warlock Temple", 0x00000024, 0x000003A4, 0x00031B17, - "Elf Temple", 0x00000024, 0x000002CE, 0x00034817, - "Human Town Hall", 0x00000010, 0x0000039C, 0x00000E11, - "Necromancer Town Hall01", 0x00000010, 0x000003A4, 0x00003D11, - "Dwarven Town Hall", 0x00000010, 0x000002DB, 0x00005811, - "Wizard Town Hall", 0x00000010, 0x000003BD, 0x00000B11, - "Warlock Town Hall", 0x00000010, 0x000002DB, 0x00001C11, - "Elf Town Hall", 0x00000010, 0x0000027A, 0x00004911, - "Human Training Ground01", 0x00000018, 0x000002C7, 0x00002C1E, - "Necromancer Training Ground", 0x00000018, 0x000003AD, 0x00003E1E, - "Dwarven Training Ground", 0x00000018, 0x000002F2, 0x0000591E, - "Wizard Training Ground", 0x00000018, 0x000003A3, 0x00000C1E, - "Warlock Training Ground", 0x00000018, 0x000003A6, 0x00001D1E, - "Elf Training Ground", 0x00000018, 0x0000019F, 0x00004A1E, - "Human Weapon Smith01", 0x00000016, 0x000002C1, 0x00042D01, - "Necromancer Weapon Smith01", 0x00000016, 0x000002D9, 0x00043F01, - "Dwarven Weapon Smith01", 0x00000016, 0x000002EE, 0x00045201, - "Wizard Weapon Smith", 0x00000016, 0x000002D5, 0x00040D01, - "Warlock Weapon Smith", 0x00000016, 0x000002D7, 0x00041701 + "", 0x4, 0x1F4, 0, + "Human Armor01", 0x20, 0x2C0, 0x3A02, + "Necromancer Armor01", 0x20, 0x2D7, 0x4602, + "Dwarven Armor01", 0x20, 0x2EE, 0x502, + "Wizard Armor", 0x20, 0x3BD, 0x1302, + "Warlock Armor", 0x20, 0x2D6, 0x2302, + "Elf Armor", 0x20, 0x2BC, 0x4F02, + "Human Alchemisht01", 0xE, 0x2BE, 0x5F04, + "Necromancer Alchemist01", 0xE, 0x2D6, 0x4504, + "Dwarven Achemist01", 0xE, 0x387, 0x404, + "Wizard Alchemist", 0xE, 0x232, 0x1904, + "Warlock Alchemist", 0xE, 0x2BE, 0x2A04, + "Elf Alchemist", 0xE, 0x38A, 0x5404, + "Human Bank01", 0x6, 0x384, 0x3416, + "Necromancer Bank01", 0x6, 0x2D8, 0x4716, + "Dwarven Bank", 0x6, 0x2F3, 0x616, + "Wizard Bank", 0x6, 0x3BA, 0x1416, + "Warlock Bank", 0x6, 0x39F, 0x2416, + "Elf Bank", 0x6, 0x2BC, 0x4716, + "Boat01", 0xF, 0x4C, 0x3351C, + "Boat01d", 0xF, 0x4C, 0x3351C, + "Human Magic Shop01", 0xA, 0x2C8, 0x3603, + "Necromancer Magic Shop01", 0xE, 0x2DC, 0x4203, + "Dwarven Magic Shop01", 0x2A, 0x2EF, 0x5B03, + "Wizard Magic Shop", 0x1E, 0x2DF, 0xF03, + "Warlock Magic Shop", 0x7, 0x3B9, 0x1F03, + "Elf Magic Shop", 0x24, 0x2CC, 0x5203, + "Human Stables01", 0x21, 0x31, 0x3301B, + "Necromancer Stables", 0x21, 0x2DD, 0x3431B, + "", 0x21, 0x2F0, 0x35B1B, + "Wizard Stables", 0x21, 0x3BA, 0x3101B, + "Warlock Stables", 0x21, 0x181, 0x3201B, + "Elf Stables", 0x21, 0x195, 0x34D1B, + "Human Tavern01", 0xD, 0x2C2, 0x3115, + "Necromancer Tavern 01", 0xD, 0x3B0, 0x3915, + "Dwarven Tavern01", 0xD, 0x2FE, 0x5E15, + "Wizard Tavern", 0xD, 0x3BB, 0x1115, + "Warlock Tavern", 0xD, 0x3A8, 0x2115, + "Elf Tavern", 0xD, 0x2CD, 0x4E15, + "Human Temple01", 0x24, 0x2DB, 0x33217, + "Necromancer Temple", 0x24, 0x2DF, 0x33C17, + "Dwarven Temple01", 0x24, 0x2F1, 0x35617, + "Wizard Temple", 0x24, 0x2E0, 0x30A17, + "Warlock Temple", 0x24, 0x3A4, 0x31B17, + "Elf Temple", 0x24, 0x2CE, 0x34817, + "Human Town Hall", 0x10, 0x39C, 0xE11, + "Necromancer Town Hall01", 0x10, 0x3A4, 0x3D11, + "Dwarven Town Hall", 0x10, 0x2DB, 0x5811, + "Wizard Town Hall", 0x10, 0x3BD, 0xB11, + "Warlock Town Hall", 0x10, 0x2DB, 0x1C11, + "Elf Town Hall", 0x10, 0x27A, 0x4911, + "Human Training Ground01", 0x18, 0x2C7, 0x2C1E, + "Necromancer Training Ground", 0x18, 0x3AD, 0x3E1E, + "Dwarven Training Ground", 0x18, 0x2F2, 0x591E, + "Wizard Training Ground", 0x18, 0x3A3, 0xC1E, + "Warlock Training Ground", 0x18, 0x3A6, 0x1D1E, + "Elf Training Ground", 0x18, 0x19F, 0x4A1E, + "Human Weapon Smith01", 0x16, 0x2C1, 0x42D01, + "Necromancer Weapon Smith01", 0x16, 0x2D9, 0x43F01, + "Dwarven Weapon Smith01", 0x16, 0x2EE, 0x45201, + "Wizard Weapon Smith", 0x16, 0x2D5, 0x40D01, + "Warlock Weapon Smith", 0x16, 0x2D7, 0x41701, + "Elf Weapon Smith", 0x16, 0x2CA, 0x44B01, + "Air Guild", 0x1D, 0xA4, 0x30106, + "Body Guild", 0x19, 0x3BF, 0x20B, + "DarkGuild", 0x19, 0x2D1, 0x30D, + "EarthGuild", 0x19, 0x2CB, 0x5308, + "Fire Guild", 0x1C, 0x2BF, 0x3805, + "Light Guild", 0x1C, 0x2D5, 0x2E0C, + "Mind Guild", 0x1C, 0xE5, 0x280A, + "Spirit Guild", 0x1C, 0x2D2, 0x2909, + "Water Guild", 0x1B, 0x2D3, 0x1807, + "Lord And Judge Out01", 1, 0, 0x271D, + "Human Poor House 1", 8, 0, 0x1D, + "Human Poor House 2", 8, 0, 0x1D, + "Human Medium House 1", 8, 0, 0x1D, + "Human Medium House 2", 8, 0, 0x1D, + "Human Rich House 1", 8, 0, 0x1D, + "Human Rich House 2", 8, 0, 0x1D, + "Elven Poor House 1", 8, 0, 0x1D, + "Elven Poor House 2", 8, 0, 0x1D, + "Elven Poor House 3", 8, 0, 0x1D, + "Elven Medium House 1", 8, 0, 0x1D, + "Elven Medium House 2", 8, 0, 0x1D, + "Elven Medium House 3", 8, 0, 0x1D, + "Elven Rich House 1", 8, 0, 0x1D, + "Elven Rich House 2", 8, 0, 0x1D, + "Elven Rich House 3", 8, 0, 0x1D, + "Dwarven Poor House 1", 8, 0, 0x1D, + "Dwarven Poor House 2", 8, 0, 0x1D, + "Dwarven Poor House 3", 8, 0, 0x1D, + "Dwarven Medium House 1", 8, 0, 0x1D, + "Dwarven Medium house 2", 8, 0, 0x1D, + "Dwarven Medium House 3", 8, 0, 0x1D, + "Dwarven Rich House 1", 8, 0, 0x1D, + "Dwarven Rich House 2", 8, 0, 0x1D, + "Dwarven Rich House 3", 8, 0, 0x1D, + "Wizard Poor House 1", 8, 0, 0x1D, + "Wizard Poor House 2", 8, 0, 0x1D, + "Wizard Poor House 3", 8, 0, 0x1D, + "Wizard Medium House 1", 8, 0, 0x1D, + "Wizard Medium House 2", 8, 0, 0x1D, + "Wizard Mdeium House 3", 8, 0, 0x1D, + "Wizard Rich House 1", 8, 0, 0x1D, + "Wizard Rich House 2", 8, 0, 0x1D, + "Wizard Rich House 3", 8, 0, 0x1D, + "Necromancer Poor House 1", 8, 0, 0x1D, + "Necromancer Poor House 2", 8, 0, 0x1D, + "Necromancer Poor House 3", 8, 0, 0x1D, + "Necromancer Medium House 1", 8, 0, 0x1D, + "Necromancer Medium House 2", 8, 0, 0x1D, + "Necromancer Mdeium House 3", 8, 0, 0x1D, + "Necromancer Rich House 1", 8, 0, 0x1D, + "Necromancer Rich House 2", 8, 0, 0x1D, + "Necromancer Rich House 3", 8, 0, 0x1D, + "Warlock Poor House 1", 8, 0, 0x1D, + "Warlock Poor House 2", 8, 0, 0x1D, + "Warlock Poor House 3", 8, 0, 0x1D, + "Warlock Medium House 1", 8, 0, 0x1D, + "Warlock Medium House 2", 8, 0, 0x1D, + "Warlock Mdeium House 3", 8, 0, 0x1D, + "Warlock Rich House 1", 8, 0, 0x1D, + "Warlock Rich House 2", 8, 0, 0x1D, + "Warlock Rich House 3", 8, 0, 0x1D, + "Out01 Temple of the Moon", 0x24, 0, 0x19, + "Out01 Dragon Cave", 0x24, 0, 0x19, + "Out02 Castle Harmondy", 0x24, 0, 0x19, + "Out02 White Cliff Cave", 0x24, 0, 0x19, + "Out03 Erathian Sewer", 0x24, 0, 0x19, + "Out03 Fort Riverstride", 0x24, 0, 0x19, + "Out03 Castle Gryphonheart", 0x24, 0, 0x19, + "Out04 Elf Castle", 0x24, 0, 0x19, + "Out04 Tularean Caves", 0x24, 0, 0x19, + "Out04 Clanker's Laboratory", 0x24, 0, 0x19, + "Out05 Hall of the Pit", 0x24, 0, 0x19, + "Out05 Watchtower 6", 0x24, 0, 0x19, + "Out06 School of Sorcery", 0x24, 0, 0x19, + "Out06 Red Dwarf Mines", 0x24, 0, 0x19, + "Out07 Castle Lambert", 0x24, 0, 0x19, + "Out07 Walls of Mist", 0x24, 0, 0x19, + "Out07 Temple of the Light", 0x24, 0, 0x19, + "Out08 Evil Entrance", 0x24, 0, 0x19, + "Out08 Breeding Zone", 0x24, 0, 0x19, + "Out08 Temple of the Dark", 0x24, 0, 0x19, + "Out09 Grand Temple of the Moon", 0x24, 0, 0x19, + "Out09 Grand Tempple of the Sun", 0x24, 0, 0x19, + "Out10 Thunderfist Mountain", 0x24, 0, 0x19, + "Out10 The Maze", 0x24, 0, 0x19, + "Out10 Connecting Tunnel Cave #1", 0x24, 0, 0x19, + "", 0x24, 0, 0x19, + "Out11 Stone City", 0x24, 0, 0x19, + "", 0x24, 0, 0x19, + "Out12 Colony Zod", 0x24, 0, 0x19, + "Out12 Connecting Tunnel Cave #1", 0x24, 0, 0x19, + "", 0x24, 0, 0x19, + "Out13 Mercenary Guild", 0x24, 0, 0x19, + "Out13 Tidewater Caverns", 0x24, 0, 0x19, + "Out13 Wine Cellar", 0x24, 0, 0x19, + "Out14 Titan's Stronghold", 0x24, 0, 0x19, + "Out14 Temple Of Baa", 0x24, 0, 0x19, + "Out14 Hall under the Hill", 0x24, 0, 0x19, + "Out15 The Linclon", 0x24, 0, 0x19, + "Jail", 0x24, 0, 0x1F, + "Harmondale Throne Room", 0x24, 0, 0x1D, + "Gryphonheart Throne Room", 0x24, 0, 0x14, + "Elf Castle Throne Room", 0x24, 0, 0x14, + "Wizard Castle Throne Room", 0x24, 0, 0x14, + "Necromancer Casstle Trone Room", 0x24, 0, 0x14, + "Master Thief", 0x24, 0, 0x1D, + "Dwarven King", 0x24, 0, 0x14, + "Arms Master", 0x24, 0, 0x1D, + "Warlock", 0x24, 0, 0x1D, + "Lord Markam", 0x24, 0, 0x14, + "Arbiter Neutral Town", 0x24, 0, 0x1D, + "Arbiter Good Town", 0x24, 0, 0x1D, + "Arbiter Evil Town", 0x24, 0, 0x1D, + "Necromancer Throne Room Empty", 0x24, 0, 0x14, + "", 0x24, 0, 0x1D, + "Boat01", 0xF, 0, 0x3351D, + "", 0x24, 0, 0x1C, + "", 0x24, 0, 0x1D, + "Arbiter Room Neutral", 0x24, 0, 0x1D, + "Out02 Castle Harmondy Abandoned", 0x24, 0, 0x19, + "Human Temple02", 0x24, 0x3AB, 0x1B17, + "Player Castle Good", 0x24, 0, 0x19, + "Player Castle Bad", 0x24, 0, 0x19, }; #include "stru160.h"