comparison Render.cpp @ 58:764abc86ce90

22.01.13
author Ritor1
date Tue, 22 Jan 2013 00:59:02 +0600
parents 86d05cff0a35
children 285e144d0b8b
comparison
equal deleted inserted replaced
57:8af333180755 58:764abc86ce90
7081 return; 7081 return;
7082 7082
7083 if (pRenderD3D) 7083 if (pRenderD3D)
7084 { 7084 {
7085 pGame->draw_debug_outlines(); 7085 pGame->draw_debug_outlines();
7086 //DoRenderBillboards_D3D(); //Ritor1: it's temporarily 7086 DoRenderBillboards_D3D(); //Ritor1: it's temporarily
7087 pGame->pStru6Instance->RenderSpecialEffects(); 7087 pGame->pStru6Instance->RenderSpecialEffects();
7088 pRenderD3D->pDevice->EndScene(); 7088 pRenderD3D->pDevice->EndScene();
7089 } 7089 }
7090 else 7090 else
7091 pGame->pStru6Instance->RenderSpecialEffects(); 7091 pGame->pStru6Instance->RenderSpecialEffects();
8226 auto a1 = this; 8226 auto a1 = this;
8227 a3 = a1; 8227 a3 = a1;
8228 if ( a1->uNumD3DSceneBegins ) 8228 if ( a1->uNumD3DSceneBegins )
8229 { 8229 {
8230 v5 = a2; 8230 v5 = a2;
8231 v6 = (double)HIWORD(a2->sZValue); 8231 v6 = (double)a2->sZValue; //Ritor1:begin pBillboardRenderListD3D
8232 v31 = v6; 8232 v31 = v6;
8233 v7 = v6; 8233 v7 = v6;
8234 v8 = Billboard_ProbablyAddToListAndSortByZOrder(LODWORD(v7)); 8234 v8 = Billboard_ProbablyAddToListAndSortByZOrder(v7);
8235 if ( BYTE3(v5->uTintColor) ) 8235 if ( v5->uTintColor )
8236 pBillboardRenderListD3D[v8].uOpacity = RenderBillboardD3D::Opaque_3; 8236 pBillboardRenderListD3D[v8].uOpacity = RenderBillboardD3D::Opaque_3;
8237 else 8237 else
8238 pBillboardRenderListD3D[v8].uOpacity = RenderBillboardD3D::Transparent; 8238 pBillboardRenderListD3D[v8].uOpacity = RenderBillboardD3D::Transparent;
8239 v9 = pSprite; 8239 v9 = pSprite;
8240 pBillboardRenderListD3D[v8].field_90 = v5->field_44; 8240 pBillboardRenderListD3D[v8].field_90 = v5->field_44;
8265 pBillboardRenderListD3D[v8].pQuards[0].pos.x = pBillboarda - pSpritea * v30; 8265 pBillboardRenderListD3D[v8].pQuards[0].pos.x = pBillboarda - pSpritea * v30;
8266 a1b = (double)v23; 8266 a1b = (double)v23;
8267 pBillboardRenderListD3D[v8].pQuards[0].pos.y = a1b - v26 * v29; 8267 pBillboardRenderListD3D[v8].pQuards[0].pos.y = a1b - v26 * v29;
8268 v27 = v31 * 1000.0; 8268 v27 = v31 * 1000.0;
8269 v13 = 1.0; 8269 v13 = 1.0;
8270 pBillboardRenderListD3D[v8].pQuards[0].pos.z = 1.0 8270 pBillboardRenderListD3D[v8].pQuards[0].pos.z = 1.0 - 1.0 / (v27 / (double)pOutdoorCamera->shading_dist_mist);
8271 - 1.0 / (v27 / (double)pOutdoorCamera->shading_dist_mist);
8272 v25 = 1.0 / v31; 8271 v25 = 1.0 / v31;
8273 pBillboardRenderListD3D[v8].pQuards[0].rhw = v25; 8272 pBillboardRenderListD3D[v8].pQuards[0].rhw = v25;
8274 if ( a3->bUsingSpecular ) 8273 if ( a3->bUsingSpecular )
8275 { 8274 {
8276 v12 = sub_47C3D7_get_fog_related_stuff(0, 0, v31); 8275 v12 = sub_47C3D7_get_fog_related_stuff(0, 0, v31);
11082 11081
11083 11082
11084 //----- (004A1C1E) -------------------------------------------------------- 11083 //----- (004A1C1E) --------------------------------------------------------
11085 void DoRenderBillboards_D3D() 11084 void DoRenderBillboards_D3D()
11086 { 11085 {
11087 ErrD3D(pRenderer->pRenderD3D->pDevice->SetTextureStageState(0, D3DTSS_ADDRESS, 3u)); 11086 ErrD3D(pRenderer->pRenderD3D->pDevice->SetTextureStageState(0, D3DTSS_ADDRESS, 3));
11088 ErrD3D(pRenderer->pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, 1u)); 11087 ErrD3D(pRenderer->pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, 1));
11089 ErrD3D(pRenderer->pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_ZWRITEENABLE, 0)); 11088 ErrD3D(pRenderer->pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_ZWRITEENABLE, 0));
11090 ErrD3D(pRenderer->pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_CULLMODE, 1u)); 11089 ErrD3D(pRenderer->pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_CULLMODE, 1));
11091 11090
11092 for (uint i = pRenderer->uNumBillboardsToDraw - 1; i != (uint)-1; --i) 11091 for (uint i = pRenderer->uNumBillboardsToDraw - 1; i != (uint)-1; --i)
11093 { 11092 {
11094 auto p = pRenderer->pBillboardRenderListD3D + i; 11093 auto p = pRenderer->pBillboardRenderListD3D + i;
11095 11094