Mercurial > mm7
diff Render.cpp @ 63:a96ebf3123d2
23.01.13 (Rotate)
author | Ritor1 |
---|---|
date | Wed, 23 Jan 2013 13:14:10 +0600 |
parents | 63cfe63ac4c5 |
children | f6e7d7110512 |
line wrap: on
line diff
--- a/Render.cpp Tue Jan 22 17:50:36 2013 +0600 +++ b/Render.cpp Wed Jan 23 13:14:10 2013 +0600 @@ -1621,10 +1621,10 @@ } v103 = abs((int)pIndoorCamera->uMapGridCellZ - terrain_76D9C8[v70]); v104 = abs((int)pIndoorCamera->uMapGridCellX - terrain_76DBC8[v70]); - if ( pRenderer->pRenderD3D ) - Render::DrawTerrainD3D(v111, 0, (int)&v102); - else - Render::DrawTerrainSW(v111, 0, (int)&v102); + //if ( pRenderer->pRenderD3D ) + //Render::DrawTerrainD3D(v111, 0, (int)&v102); + //else + //Render::DrawTerrainSW(v111, 0, (int)&v102); } } else @@ -1686,10 +1686,10 @@ } v103 = abs((int)pIndoorCamera->uMapGridCellX - terrain_76DBC8[v86]); v104 = abs((int)pIndoorCamera->uMapGridCellZ - terrain_76D9C8[v86]); - if ( pRenderer->pRenderD3D ) - Render::DrawTerrainD3D(v111, 1, (int)&v102); - else - Render::DrawTerrainSW(v111, 1, (int)&v102); + //if ( pRenderer->pRenderD3D ) + //Render::DrawTerrainD3D(v111, 1, (int)&v102); + //else + //Render::DrawTerrainSW(v111, 1, (int)&v102); } } result = v126; @@ -2836,7 +2836,7 @@ int v13; // eax@14 RenderBillboardTransform_local0 billboard; // [sp+4h] [bp-60h]@1 int v15; // [sp+54h] [bp-10h]@13 - int v16; // [sp+58h] [bp-Ch]@1 + int i; // [sp+58h] [bp-Ch]@1 int v17; // [sp+5Ch] [bp-8h]@2 int v18; // [sp+60h] [bp-4h]@13 @@ -2850,39 +2850,41 @@ billboard.uViewportW = pViewport->uViewportW; v0 = 0; pOutdoorCamera->uNumBillboards = uNumBillboardsToDraw; - v16 = 0; - if ( (signed int)uNumBillboardsToDraw > 0 ) + //v16 = 0; + for (i = 0; i < uNumBillboardsToDraw; ++i)//if ( (signed int)uNumBillboardsToDraw > 0 ) { v17 = 0; + struct RenderBillboard *pBillboard; + pBillboard = &pBillboardRenderList[i]; v1 = (char *)&pBillboardRenderList[0].uScreenSpaceY; - do - { - billboard.uScreenSpaceX = *((short *)v1 - 1); - v2 = *((short *)v1 - 5); - billboard.uScreenSpaceY = *(short *)v1; - v3 = *((int *)v1 - 10); - billboard.uParentBillboardID = v0; - v4 = *((int *)v1 + 1); - billboard.field_10 = v3; - v5 = *((int *)v1 - 9); - billboard.uTintColor = v4; - v6 = *((short *)v1 - 8); - billboard.field_14 = v5; - v7 = *((int *)v1 - 6); - billboard.sZValue = *((int *)v1 - 6); - billboard.uFlags = v2; - if ( v6 != -1 ) - { - v8 = *((short *)v1 + 1); - if ( pRenderer->pRenderD3D ) - { - billboard.sZValue = v7; - billboard.uFlags = v2; - pRenderer->TransformBillboard(&billboard, &pSprites_LOD->pHardwareSprites[v6], v8, (RenderBillboard *)(v1 - 40)); - } - else - { - if ( *(v1 - 10) & 2 ) + //do + //{ + billboard.uScreenSpaceX = pBillboard->uScreenSpaceX;; + v2 = pBillboard->field_1E; + billboard.uScreenSpaceY = pBillboard->uScreenSpaceY; + //v3 = *((int *)v1 - 10); + billboard.uParentBillboardID = i; + //v4 = *((int *)v1 + 1); + billboard.field_10 = pBillboard->field_0; + //v5 = *((int *)v1 - 9); + billboard.uTintColor = pBillboard->uTintColor; + //v6 = *((short *)v1 - 8); + billboard.field_14 = pBillboard->field_4; + //v7 = *((int *)v1 - 6); + billboard.sZValue = pBillboard->sZValue; + billboard.uFlags = pBillboard->field_1E; + if ( pBillboard->uHwSpriteID != -1 ) + { + v8 = pBillboard->uPaletteSubindex;; + //if ( pRenderer->pRenderD3D ) + //{ + billboard.sZValue = pBillboard->sZValue; + billboard.uFlags = pBillboard->field_1E; + pRenderer->TransformBillboard(&billboard, &pSprites_LOD->pHardwareSprites[pBillboard->uHwSpriteID], pBillboard->uPaletteSubindex, pBillboard); + //} + //else + //{ + /*if ( *(v1 - 10) & 2 ) v9 = PaletteManager::Get_Dark_or_Red_LUT(*((short *)v1 - 7), 0, 1); else v9 = GetBillboardPalette((RenderBillboard *)(v1 - 40), *((short *)v1 - 7), v7, *((short *)v1 + 1)); @@ -2900,15 +2902,15 @@ } v13 = *((short *)v1 - 8); if ( v13 >= 0 ) - pSprites_LOD->pSpriteHeaders[v13]._4ACC38(&billboard, 1); - } + pSprites_LOD->pSpriteHeaders[v13]._4ACC38(&billboard, 1);*/ + //} } v17 += 5; - v0 = v16 + 1; + //v0 = i + 1; v1 += 52; - ++v16; - } - while ( v16 < (signed int)uNumBillboardsToDraw ); + //++v16; + //} + //while ( v16 < (signed int)uNumBillboardsToDraw ); } } @@ -7079,7 +7081,7 @@ if (pRenderD3D) { pGame->draw_debug_outlines(); - DoRenderBillboards_D3D(); //Ritor1: it's temporarily + //DoRenderBillboards_D3D(); //Ritor1: it's temporarily pGame->pStru6Instance->RenderSpecialEffects(); pRenderD3D->pDevice->EndScene(); }