Mercurial > mm7
comparison Render.cpp @ 1936:68f2d9d3a1d9
MSVS 2010 project file
author | Ritor1 |
---|---|
date | Thu, 24 Oct 2013 15:24:14 +0600 |
parents | f4d5082b4a39 |
children | bd5c3f33bff4 |
comparison
equal
deleted
inserted
replaced
1930:df4e27f2a541 | 1936:68f2d9d3a1d9 |
---|---|
4962 } | 4962 } |
4963 | 4963 |
4964 //----- (004A2ED5) -------------------------------------------------------- | 4964 //----- (004A2ED5) -------------------------------------------------------- |
4965 void Render::DrawIndoorSkyPolygon(signed int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture) | 4965 void Render::DrawIndoorSkyPolygon(signed int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture) |
4966 { | 4966 { |
4967 signed int v4; // edi@2 | |
4968 int v5; // eax@3 | 4967 int v5; // eax@3 |
4969 int v6; // edx@5 | |
4970 RenderVertexD3D3 *v7; // eax@6 | |
4971 RenderVertexSoft *v8; // ecx@6 | |
4972 //double v9; // st6@7 | |
4973 //int v10; // ebx@7 | |
4974 //int v11; // ebx@7 | |
4975 | 4968 |
4976 if ( this->uNumD3DSceneBegins ) | 4969 if ( this->uNumD3DSceneBegins ) |
4977 { | 4970 { |
4978 v4 = uNumVertices; | |
4979 if ( uNumVertices >= 3 ) | 4971 if ( uNumVertices >= 3 ) |
4980 { | 4972 { |
4981 ErrD3D(pRenderD3D->pDevice->SetTextureStageState(0, D3DTSS_ADDRESS, D3DTADDRESS_WRAP)); | 4973 ErrD3D(pRenderD3D->pDevice->SetTextureStageState(0, D3DTSS_ADDRESS, D3DTADDRESS_WRAP)); |
4982 v5 = 31 - (pSkyPolygon->dimming_level & 0x1F); | 4974 v5 = 31 - (pSkyPolygon->dimming_level & 0x1F); |
4983 if ( v5 < pOutdoor->max_terrain_dimming_level ) | 4975 if ( v5 < pOutdoor->max_terrain_dimming_level ) |
4984 v5 = pOutdoor->max_terrain_dimming_level; | 4976 v5 = pOutdoor->max_terrain_dimming_level; |
4985 v6 = 8 * v5 | ((8 * v5 | (v5 << 11)) << 8); | |
4986 for (uint i = 0; i < uNumVertices; ++i) | 4977 for (uint i = 0; i < uNumVertices; ++i) |
4987 { | 4978 { |
4988 d3d_vertex_buffer[i].pos.x = array_507D30[i].vWorldViewProjX; | 4979 d3d_vertex_buffer[i].pos.x = array_507D30[i].vWorldViewProjX; |
4989 d3d_vertex_buffer[i].pos.y = array_507D30[i].vWorldViewProjY; | 4980 d3d_vertex_buffer[i].pos.y = array_507D30[i].vWorldViewProjY; |
4990 d3d_vertex_buffer[i].pos.z = 1.0 - 1.0 / array_507D30[i].vWorldViewPosition.y; | 4981 d3d_vertex_buffer[i].pos.z = 1.0 - 1.0 / array_507D30[i].vWorldViewPosition.y; |
4991 d3d_vertex_buffer[i].rhw = array_507D30[i]._rhw; | 4982 d3d_vertex_buffer[i].rhw = array_507D30[i]._rhw; |
4992 d3d_vertex_buffer[i].diffuse = v6; | 4983 d3d_vertex_buffer[i].diffuse = 8 * v5 | ((8 * v5 | (v5 << 11)) << 8); |
4993 d3d_vertex_buffer[i].specular = 0; | 4984 d3d_vertex_buffer[i].specular = 0; |
4994 d3d_vertex_buffer[i].texcoord.x = array_507D30[i].u; | 4985 d3d_vertex_buffer[i].texcoord.x = array_507D30[i].u; |
4995 d3d_vertex_buffer[i].texcoord.y = array_507D30[i].v; | 4986 d3d_vertex_buffer[i].texcoord.y = array_507D30[i].v; |
4996 } | 4987 } |
4997 | 4988 |
4998 ErrD3D(pRenderD3D->pDevice->SetTexture(0, pTexture)); | 4989 ErrD3D(pRenderD3D->pDevice->SetTexture(0, pTexture)); |
4999 ErrD3D(pRenderD3D->pDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, | 4990 ErrD3D(pRenderD3D->pDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1, |
5000 D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1, | 4991 d3d_vertex_buffer, uNumVertices, 28)); |
5001 d3d_vertex_buffer, | |
5002 uNumVertices, | |
5003 28)); | |
5004 } | 4992 } |
5005 } | 4993 } |
5006 } | 4994 } |
5007 | 4995 |
5008 //----- (00479A53) -------------------------------------------------------- | 4996 //----- (00479A53) -------------------------------------------------------- |