comparison mm7_5.cpp @ 315:2a09e1d6fc8f

Some 0041D895 GameUI_DrawItemInfo overhaul
author Nomad
date Wed, 20 Feb 2013 01:17:13 +0200
parents e33f5a1cdc46
children 981fbe2da232 5a66be213cff
comparison
equal deleted inserted replaced
306:e33f5a1cdc46 315:2a09e1d6fc8f
7309 if ( !(*(int *)(v22 + 20) & 0xF0) ) 7309 if ( !(*(int *)(v22 + 20) & 0xF0) )
7310 { 7310 {
7311 if ( v25 & 2 ) 7311 if ( v25 & 2 )
7312 { 7312 {
7313 v27 = (Texture *)(v241 != -1 ? (int)&pIcons_LOD->pTextures[v241] : 0); 7313 v27 = (Texture *)(v241 != -1 ? (int)&pIcons_LOD->pTextures[v241] : 0);
7314 pRenderer->_4A6776(v24, a3b, v27); 7314 pRenderer->DrawTransparentRedShade(v24, a3b, v27);
7315 } 7315 }
7316 else 7316 else
7317 { 7317 {
7318 v29 = (v25 & 1) == 0; 7318 v29 = (v25 & 1) == 0;
7319 v30 = (char *)&pIcons_LOD->pTextures[v241]; 7319 v30 = (char *)&pIcons_LOD->pTextures[v241];
7369 { 7369 {
7370 v41 = v35 + 1; 7370 v41 = v35 + 1;
7371 if ( v37 & 2 ) 7371 if ( v37 & 2 )
7372 { 7372 {
7373 v42 = (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0); 7373 v42 = (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0);
7374 pRenderer->_4A6776(a2c, v36, v42); 7374 pRenderer->DrawTransparentRedShade(a2c, v36, v42);
7375 } 7375 }
7376 else 7376 else
7377 { 7377 {
7378 v42 = (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0); 7378 v42 = (Texture *)(v41 != 0 ? (int)&pIcons_LOD->pTextures[v35] : 0);
7379 pRenderer->DrawTextureTransparent(a2c, v36, v42); 7379 pRenderer->DrawTextureTransparent(a2c, v36, v42);
7421 { 7421 {
7422 v53 = v48 + 1; 7422 v53 = v48 + 1;
7423 if ( v49 & 2 ) 7423 if ( v49 & 2 )
7424 { 7424 {
7425 v54 = (Texture *)(v53 != 0 ? (int)&pIcons_LOD->pTextures[v48] : 0); 7425 v54 = (Texture *)(v53 != 0 ? (int)&pIcons_LOD->pTextures[v48] : 0);
7426 pRenderer->_4A6776(a2d, v47, v54); 7426 pRenderer->DrawTransparentRedShade(a2d, v47, v54);
7427 } 7427 }
7428 else 7428 else
7429 { 7429 {
7430 v29 = (v49 & 1) == 0; 7430 v29 = (v49 & 1) == 0;
7431 v55 = (char *)&pIcons_LOD->pTextures[v48]; 7431 v55 = (char *)&pIcons_LOD->pTextures[v48];
7488 v65 = v59 + 1; 7488 v65 = v59 + 1;
7489 v66 = (char *)&pIcons_LOD->pTextures[v59]; 7489 v66 = (char *)&pIcons_LOD->pTextures[v59];
7490 if ( v62 & 2 ) 7490 if ( v62 & 2 )
7491 { 7491 {
7492 v67 = (Texture *)(v65 != 0 ? (int)v66 : 0); 7492 v67 = (Texture *)(v65 != 0 ? (int)v66 : 0);
7493 pRenderer->_4A6776(a2e, a3e, v67); 7493 pRenderer->DrawTransparentRedShade(a2e, a3e, v67);
7494 } 7494 }
7495 else 7495 else
7496 { 7496 {
7497 if ( v62 & 1 ) 7497 if ( v62 & 1 )
7498 { 7498 {
7551 v79 = v75 + 1; 7551 v79 = v75 + 1;
7552 v80 = (char *)&pIcons_LOD->pTextures[v75]; 7552 v80 = (char *)&pIcons_LOD->pTextures[v75];
7553 if ( v76 & 2 ) 7553 if ( v76 & 2 )
7554 { 7554 {
7555 v81 = (Texture *)(v79 != 0 ? (int)v80 : 0); 7555 v81 = (Texture *)(v79 != 0 ? (int)v80 : 0);
7556 pRenderer->_4A6776(a2f, a3f, v81); 7556 pRenderer->DrawTransparentRedShade(a2f, a3f, v81);
7557 } 7557 }
7558 else 7558 else
7559 { 7559 {
7560 if ( v76 & 1 ) 7560 if ( v76 & 1 )
7561 { 7561 {
7828 v131 = v127 + 1; 7828 v131 = v127 + 1;
7829 v132 = (char *)&pIcons_LOD->pTextures[v127]; 7829 v132 = (char *)&pIcons_LOD->pTextures[v127];
7830 if ( v128 & 2 ) 7830 if ( v128 & 2 )
7831 { 7831 {
7832 v133 = (Texture *)(v131 != 0 ? (int)v132 : 0); 7832 v133 = (Texture *)(v131 != 0 ? (int)v132 : 0);
7833 pRenderer->_4A6776(a2j, a3i, v133); 7833 pRenderer->DrawTransparentRedShade(a2j, a3i, v133);
7834 } 7834 }
7835 else 7835 else
7836 { 7836 {
7837 if ( v128 & 1 ) 7837 if ( v128 & 1 )
7838 { 7838 {
7869 v142 = v138 + 1; 7869 v142 = v138 + 1;
7870 v143 = (char *)&pIcons_LOD->pTextures[v138]; 7870 v143 = (char *)&pIcons_LOD->pTextures[v138];
7871 if ( v139 & 2 ) 7871 if ( v139 & 2 )
7872 { 7872 {
7873 v144 = (Texture *)(v142 != 0 ? (int)v143 : 0); 7873 v144 = (Texture *)(v142 != 0 ? (int)v143 : 0);
7874 pRenderer->_4A6776(a2k, a3j, v144); 7874 pRenderer->DrawTransparentRedShade(a2k, a3j, v144);
7875 } 7875 }
7876 else 7876 else
7877 { 7877 {
7878 if ( v139 & 1 ) 7878 if ( v139 & 1 )
7879 { 7879 {
7928 if ( !(*(int *)(v228 + 20) & 0xF0) ) 7928 if ( !(*(int *)(v228 + 20) & 0xF0) )
7929 { 7929 {
7930 if ( v155 & 2 ) 7930 if ( v155 & 2 )
7931 { 7931 {
7932 v159 = (Texture *)(v243 != -1 ? (int)&pIcons_LOD->pTextures[v243] : 0); 7932 v159 = (Texture *)(v243 != -1 ? (int)&pIcons_LOD->pTextures[v243] : 0);
7933 pRenderer->_4A6776(v150, a3k, v159); 7933 pRenderer->DrawTransparentRedShade(v150, a3k, v159);
7934 } 7934 }
7935 else 7935 else
7936 { 7936 {
7937 v29 = (v155 & 1) == 0; 7937 v29 = (v155 & 1) == 0;
7938 v160 = (char *)&pIcons_LOD->pTextures[v243]; 7938 v160 = (char *)&pIcons_LOD->pTextures[v243];
8132 v119 = v116 + 1; 8132 v119 = v116 + 1;
8133 v120 = (char *)&pIcons_LOD->pTextures[v116]; 8133 v120 = (char *)&pIcons_LOD->pTextures[v116];
8134 if ( *(int *)(v225 + 20) & 2 ) 8134 if ( *(int *)(v225 + 20) & 2 )
8135 { 8135 {
8136 v121 = (Texture *)(v119 != 0 ? (int)v120 : 0); 8136 v121 = (Texture *)(v119 != 0 ? (int)v120 : 0);
8137 pRenderer->_4A6776(a2h, a3h, v121); 8137 pRenderer->DrawTransparentRedShade(a2h, a3h, v121);
8138 } 8138 }
8139 else 8139 else
8140 { 8140 {
8141 v121 = (Texture *)(v119 != 0 ? (int)v120 : 0); 8141 v121 = (Texture *)(v119 != 0 ? (int)v120 : 0);
8142 pRenderer->DrawTextureTransparent(a2h, a3h, v121); 8142 pRenderer->DrawTextureTransparent(a2h, a3h, v121);
8333 { 8333 {
8334 v101 = (Texture *)(v98 != 0 ? (int)v99 : 0); 8334 v101 = (Texture *)(v98 != 0 ? (int)v99 : 0);
8335 v188 = v101; 8335 v188 = v101;
8336 v175 = a3g; 8336 v175 = a3g;
8337 v163 = a2g; 8337 v163 = a2g;
8338 v100->_4A6776(v163, v175, v188); 8338 v100->DrawTransparentRedShade(v163, v175, v188);
8339 if ( !bRingsShownInCharScreen ) 8339 if ( !bRingsShownInCharScreen )
8340 pRenderer->_4A612A(a2g, a3g, v101, v235); 8340 pRenderer->_4A612A(a2g, a3g, v101, v235);
8341 v68 = v217; 8341 v68 = v217;
8342 goto LABEL_259; 8342 goto LABEL_259;
8343 } 8343 }
8385 v101 = (Texture *)(v109 != 0 ? (int)v110 : 0); 8385 v101 = (Texture *)(v109 != 0 ? (int)v110 : 0);
8386 v188 = v101; 8386 v188 = v101;
8387 v175 = v104; 8387 v175 = v104;
8388 v163 = v103; 8388 v163 = v103;
8389 v100 = pRenderer; 8389 v100 = pRenderer;
8390 v100->_4A6776(v163, v175, v188); 8390 v100->DrawTransparentRedShade(v163, v175, v188);
8391 if ( !bRingsShownInCharScreen ) 8391 if ( !bRingsShownInCharScreen )
8392 pRenderer->_4A612A(a2g, a3g, v101, v235); 8392 pRenderer->_4A612A(a2g, a3g, v101, v235);
8393 v68 = v217; 8393 v68 = v217;
8394 goto LABEL_259; 8394 goto LABEL_259;
8395 } 8395 }
8917 v18 = v14 + 1; 8917 v18 = v14 + 1;
8918 v19 = (char *)&pIcons_LOD->pTextures[v14]; 8918 v19 = (char *)&pIcons_LOD->pTextures[v14];
8919 if ( v15 & 2 ) 8919 if ( v15 & 2 )
8920 { 8920 {
8921 v20 = (Texture *)(v18 != 0 ? (int)v19 : 0); 8921 v20 = (Texture *)(v18 != 0 ? (int)v19 : 0);
8922 pRenderer->_4A6776(a2a, a3a, v20); 8922 pRenderer->DrawTransparentRedShade(a2a, a3a, v20);
8923 } 8923 }
8924 else 8924 else
8925 { 8925 {
8926 if ( v15 & 1 ) 8926 if ( v15 & 1 )
8927 { 8927 {
9077 } 9077 }
9078 v9 = v5 + 1; 9078 v9 = v5 + 1;
9079 if ( v6 & 2 ) 9079 if ( v6 & 2 )
9080 { 9080 {
9081 v10 = (Texture *)(v9 != 0 ? (int)&pIcons_LOD->pTextures[v5] : 0); 9081 v10 = (Texture *)(v9 != 0 ? (int)&pIcons_LOD->pTextures[v5] : 0);
9082 pRenderer->_4A6776(a2, a3, v10); 9082 pRenderer->DrawTransparentRedShade(a2, a3, v10);
9083 } 9083 }
9084 else 9084 else
9085 { 9085 {
9086 v11 = (v6 & 1) == 0; 9086 v11 = (v6 & 1) == 0;
9087 v12 = &pIcons_LOD->pTextures[v5]; 9087 v12 = &pIcons_LOD->pTextures[v5];
9121 if ( v17 & 2 ) 9121 if ( v17 & 2 )
9122 { 9122 {
9123 v21 = 9 * v16; 9123 v21 = 9 * v16;
9124 v22 = 493; 9124 v22 = 493;
9125 v23 = (Texture *)(v20 != 0 ? (int)&pIcons_LOD->pTextures[8 * v21 / 0x48u] : 0); 9125 v23 = (Texture *)(v20 != 0 ? (int)&pIcons_LOD->pTextures[8 * v21 / 0x48u] : 0);
9126 pRenderer->_4A6776(0x1EDu, 0x5Bu, v23); 9126 pRenderer->DrawTransparentRedShade(0x1EDu, 0x5Bu, v23);
9127 } 9127 }
9128 else 9128 else
9129 { 9129 {
9130 v11 = (v17 & 1) == 0; 9130 v11 = (v17 & 1) == 0;
9131 v24 = 9 * v16; 9131 v24 = 9 * v16;
9201 { 9201 {
9202 v33 = v28 + 1; 9202 v33 = v28 + 1;
9203 if ( v29 & 2 ) 9203 if ( v29 & 2 )
9204 { 9204 {
9205 v34 = v33 != 0 ? (int)&pIcons_LOD->pTextures[v28] : 0; 9205 v34 = v33 != 0 ? (int)&pIcons_LOD->pTextures[v28] : 0;
9206 pRenderer->_4A6776(0x24Au, 0x58u, (Texture *)v34); 9206 pRenderer->DrawTransparentRedShade(0x24Au, 0x58u, (Texture *)v34);
9207 } 9207 }
9208 else 9208 else
9209 { 9209 {
9210 v11 = (v29 & 1) == 0; 9210 v11 = (v29 & 1) == 0;
9211 v35 = &pIcons_LOD->pTextures[v28]; 9211 v35 = &pIcons_LOD->pTextures[v28];
11855 sDepthb < *(__int16 *)((char *)&pIndoor->pSectors->field_C + v61) 11855 sDepthb < *(__int16 *)((char *)&pIndoor->pSectors->field_C + v61)
11856 + 2 * *(__int16 *)((char *)&pIndoor->pSectors->uNumFloors + v61); 11856 + 2 * *(__int16 *)((char *)&pIndoor->pSectors->uNumFloors + v61);
11857 ++sDepthb ) 11857 ++sDepthb )
11858 { 11858 {
11859 v62 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v60->pWalls + v61))[sDepthb]]; 11859 v62 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v60->pWalls + v61))[sDepthb]];
11860 if ( v62->uAttributes & 1 11860 if ( v62->TwoSided()
11861 || v119 > v62->pBounding.x2 11861 || v119 > v62->pBounding.x2
11862 || v123 < v62->pBounding.x1 11862 || v123 < v62->pBounding.x1
11863 || v127 > v62->pBounding.y2 11863 || v127 > v62->pBounding.y2
11864 || v131 < v62->pBounding.y1 11864 || v131 < v62->pBounding.y1
11865 || v135 > v62->pBounding.z2 11865 || v135 > v62->pBounding.z2
12021 v82 = pOut.x; 12021 v82 = pOut.x;
12022 } 12022 }
12023 while ( 1 ) 12023 while ( 1 )
12024 { 12024 {
12025 v90 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v88->pWalls + v89))[v162]]; 12025 v90 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v88->pWalls + v89))[v162]];
12026 if ( v90->uAttributes & 1 12026 if ( v90->TwoSided()
12027 || v120 > v90->pBounding.x2 12027 || v120 > v90->pBounding.x2
12028 || v124 < v90->pBounding.x1 12028 || v124 < v90->pBounding.x1
12029 || v128 > v90->pBounding.y2 12029 || v128 > v90->pBounding.y2
12030 || v132 < v90->pBounding.y1 12030 || v132 < v90->pBounding.y1
12031 || v136 > v90->pBounding.z2 12031 || v136 > v90->pBounding.z2
15576 v26 = atoi((const char *)pKeyActionMap->pPressedKeysBuffer); 15576 v26 = atoi((const char *)pKeyActionMap->pPressedKeysBuffer);
15577 if ( v26 > 0 ) 15577 if ( v26 > 0 )
15578 { 15578 {
15579 if ( v26 < 800 ) 15579 if ( v26 < 800 )
15580 { 15580 {
15581 pItemGen.uAttributes |= 1u; 15581 pItemGen.SetIdentified();
15582 pItemGen.uItemID = v26; 15582 pItemGen.uItemID = v26;
15583 if ( pItemsTable->pItems[v26].uEquipType == 12 ) 15583 if ( pItemsTable->pItems[v26].uEquipType == 12 )
15584 { 15584 {
15585 pItemGen.uNumCharges = rand() % 6 + pItemsTable->pItems[pItemGen.uItemID].uDamageMod + 1; 15585 pItemGen.uNumCharges = rand() % 6 + pItemsTable->pItems[pItemGen.uItemID].uDamageMod + 1;
15586 pItemGen.uMaxCharges = LOBYTE(pItemGen.uNumCharges); 15586 pItemGen.uMaxCharges = LOBYTE(pItemGen.uNumCharges);