comparison Render.cpp @ 47:8a8dd0164b12

BLV render cd check fix
author Nomad
date Tue, 23 Oct 2012 13:51:21 +0200
parents 79a30ee1ecdb
children fde5c5acb66e
comparison
equal deleted inserted replaced
46:79a30ee1ecdb 47:8a8dd0164b12
4612 v1->bTinting = 1; 4612 v1->bTinting = 1;
4613 LOBYTE(v1->field_103668) = 0; 4613 LOBYTE(v1->field_103668) = 0;
4614 v1->field_1036B8 = 0; 4614 v1->field_1036B8 = 0;
4615 v1->_gpu_memory_used = 0; 4615 v1->_gpu_memory_used = 0;
4616 uNumBillboardsToDraw = 0; 4616 uNumBillboardsToDraw = 0;
4617 bFogEnabled = false;
4617 } 4618 }
4618 4619
4619 bool Render::Initialize(bool bWindowed, uint uDefaultDevice, 4620 bool Render::Initialize(bool bWindowed, uint uDefaultDevice,
4620 bool bColoredLights, uint uDetailLevel, uint bTinting) 4621 bool bColoredLights, uint uDetailLevel, uint bTinting)
4621 { 4622 {
7104 { 7105 {
7105 return pRenderer->pBillboardRenderListD3D[uBillboardID].uParentBillboardID; 7106 return pRenderer->pBillboardRenderListD3D[uBillboardID].uParentBillboardID;
7106 } 7107 }
7107 7108
7108 //----- (004A1EB6) -------------------------------------------------------- 7109 //----- (004A1EB6) --------------------------------------------------------
7109 void Render::SetGameRenderStates() 7110 void Render::BeginSceneD3D()
7110 { 7111 {
7111 Render *v1; // esi@1 7112 if (!uNumD3DSceneBegins++)
7112 unsigned int v2; // eax@1 7113 {
7113 RenderD3D *v3; // ecx@2
7114 unsigned int uFogColor; // edi@6
7115 IDirect3DDevice3 *v5; // eax@8
7116 //IDirect3DDevice3Vtbl *v6; // ecx@8
7117 RenderD3D *v7; // eax@9
7118 RenderD3D *v8; // eax@9
7119 std::string v9; // [sp-14h] [bp-2Ch]@4
7120 IDirect3DDevice3 *v10; // [sp-8h] [bp-20h]@9
7121 signed int v11; // [sp-4h] [bp-1Ch]@4
7122 int v12; // [sp+0h] [bp-18h]@4
7123 std::string *v13; // [sp+10h] [bp-8h]@4
7124 int a3; // [sp+17h] [bp-1h]@4
7125
7126 v1 = this;
7127 v2 = this->uNumD3DSceneBegins;
7128 this->uNumD3DSceneBegins = v2 + 1;
7129 if ( !v2 )
7130 {
7131 v3 = this->pRenderD3D;
7132 if (pRenderD3D) 7114 if (pRenderD3D)
7133 { 7115 {
7134 pRenderD3D->ClearTarget(1u, 0, 1u, 1.0); 7116 pRenderD3D->ClearTarget(1u, 0, 1u, 1.0);
7135 pRenderer->uNumBillboardsToDraw = 0; 7117 pRenderer->uNumBillboardsToDraw = 0;
7136 pRenderD3D->pDevice->BeginScene(); 7118 pRenderD3D->pDevice->BeginScene();
7140 } 7122 }
7141 if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor ) 7123 if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor )
7142 uFogColor = GetLevelFogColor(); 7124 uFogColor = GetLevelFogColor();
7143 else 7125 else
7144 uFogColor = 0; 7126 uFogColor = 0;
7145 v5 = v1->pRenderD3D->pDevice; 7127
7146 //v6 = v5->lpVtbl;
7147 if ( uFogColor & 0xFF000000 ) 7128 if ( uFogColor & 0xFF000000 )
7148 { 7129 {
7149 v12 = 1; 7130 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGENABLE, 1);
7150 v11 = 28;
7151 v10 = v5;
7152 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGENABLE, 1u);
7153 //v7 = v1->pRenderD3D;
7154 v12 = uFogColor & 0xFFFFFF;
7155 v11 = 34;
7156 //v10 = v7->pDevice;
7157 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGCOLOR, uFogColor & 0xFFFFFF); 7131 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGCOLOR, uFogColor & 0xFFFFFF);
7158 v8 = v1->pRenderD3D;
7159 *(float *)&v12 = 0.0;
7160 v11 = 35;
7161 //v10 = v8->pDevice;
7162 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGTABLEMODE, 0); 7132 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGTABLEMODE, 0);
7163 v1->bUsingSpecular = 1; 7133 bUsingSpecular = true;
7164 } 7134 }
7165 else 7135 else
7166 { 7136 {
7167 *(float *)&v12 = 0.0;
7168 v11 = 28;
7169 v10 = v5;
7170 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGENABLE, 0); 7137 pRenderD3D->pDevice->SetRenderState(D3DRENDERSTATE_FOGENABLE, 0);
7171 v1->bUsingSpecular = 0; 7138 bUsingSpecular = 0;
7172 } 7139 }
7173 } 7140 }
7174 else 7141 else
7175 { 7142 {
7176 LockRenderSurface((void **)&v1->pTargetSurface, &v1->uTargetSurfacePitch); 7143 LockRenderSurface((void **)&pTargetSurface, &uTargetSurfacePitch);
7177 if ( v1->pTargetSurface ) 7144 if (pTargetSurface)
7178 v1->field_18_locked_pitch = v1->uTargetSurfacePitch; 7145 field_18_locked_pitch = uTargetSurfacePitch;
7179 else 7146 else
7180 --v1->uNumD3DSceneBegins; 7147 --uNumD3DSceneBegins;
7181 } 7148 }
7182 } 7149 }
7183 } 7150 }
7184 7151
7185 //----- (004A1FE1) -------------------------------------------------------- 7152 //----- (004A1FE1) --------------------------------------------------------