Mercurial > mm7
changeset 1925:f4d5082b4a39
Merge
author | Nomad |
---|---|
date | Wed, 23 Oct 2013 15:37:51 +0200 |
parents | 8cd321994943 (current diff) f92e0bab7c78 (diff) |
children | 3eb0c4f3d899 |
files | Render.cpp |
diffstat | 5 files changed, 87 insertions(+), 88 deletions(-) [+] |
line wrap: on
line diff
--- a/Indoor.cpp Wed Oct 23 15:37:17 2013 +0200 +++ b/Indoor.cpp Wed Oct 23 15:37:51 2013 +0200 @@ -561,7 +561,7 @@ stru_F7B60C.face_plane.dist = pFace->pFacePlane.dist; } - if (stru_F8AD28.uNumLightsApplied > 0 && !(pFace->uAttributes & FACE_DO_NOT_LIGHT)) + if (stru_F8AD28.uNumLightsApplied > 0 && !(pFace->uAttributes & FACE_INDOOR_SKY)) pGame->pLightmapBuilder->ApplyLights(&stru_F8AD28, &stru_F7B60C, uNumVerticesa, array_507D30, pVertices, 0); if (pDecalBuilder->uNumDecals > 0) @@ -601,8 +601,8 @@ v27 = pBitmaps_LOD->pHardwareTextures[v23]; } - if (pFace->uAttributes & FACE_DO_NOT_LIGHT) - pRenderer->DrawIndoorPolygonNoLight(uNumVerticesa, uFaceID); + if (pFace->uAttributes & FACE_INDOOR_SKY) + pRenderer->DrawIndoorSky(uNumVerticesa, uFaceID); else pRenderer->DrawIndoorPolygon(uNumVerticesa, pFace, v27, v28, PID(OBJECT_BModel, uFaceID), v17, 0); return;
--- a/Indoor.h Wed Oct 23 15:37:17 2013 +0200 +++ b/Indoor.h Wed Oct 23 15:37:51 2013 +0200 @@ -235,7 +235,7 @@ #define FACE_TEXTURE_FRAME 0x00004000 // Texture ID is a frameset from TextureFrameTable, otherwise BitmapID #define FACE_OUTLINED 0x00010000 // outline face edges #define FACE_TEXTURE_FLOW 0x00040000 // The texture moves slowly. For horizontal facets only. -#define FACE_DO_NOT_LIGHT 0x00400000 +#define FACE_INDOOR_SKY 0x00400000 #define FACE_CLICKABLE 0x02000000 // Event can be triggered by clicking on the facet. #define FACE_PRESSURE_PLATE 0x04000000 // Event can be triggered by stepping on the facet. #define FACE_ETHEREAL 0x20000000 // Untouchable. You can pass through it.
--- a/Outdoor.cpp Wed Oct 23 15:37:17 2013 +0200 +++ b/Outdoor.cpp Wed Oct 23 15:37:51 2013 +0200 @@ -113,7 +113,7 @@ if (pRenderer->pRenderD3D) // d3d - redraw always { - pRenderer->DrawSkyD3D(); + pRenderer->DrawOutdoorSkyD3D(); pRenderer->DrawBuildingsD3D(); pRenderer->RenderTerrainD3D(); }
--- a/Render.cpp Wed Oct 23 15:37:17 2013 +0200 +++ b/Render.cpp Wed Oct 23 15:37:51 2013 +0200 @@ -4925,7 +4925,7 @@ // 4D864C: using guessed type char byte_4D864C; //----- (004A2DA3) -------------------------------------------------------- -void Render::DrawSkyPolygon(unsigned int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture) +void Render::DrawOutdoorSkyPolygon(unsigned int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture) { int v7; // eax@7 @@ -4962,7 +4962,7 @@ } //----- (004A2ED5) -------------------------------------------------------- -void Render::_4A2ED5(signed int a2, struct Polygon *a3, IDirect3DTexture2 *pHwTex) +void Render::DrawIndoorSkyPolygon(signed int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture) { signed int v4; // edi@2 int v5; // eax@3 @@ -4975,15 +4975,15 @@ if ( this->uNumD3DSceneBegins ) { - v4 = a2; - if ( a2 >= 3 ) + v4 = uNumVertices; + if ( uNumVertices >= 3 ) { ErrD3D(pRenderD3D->pDevice->SetTextureStageState(0, D3DTSS_ADDRESS, D3DTADDRESS_WRAP)); - v5 = 31 - (a3->dimming_level & 0x1F); + v5 = 31 - (pSkyPolygon->dimming_level & 0x1F); if ( v5 < pOutdoor->max_terrain_dimming_level ) v5 = pOutdoor->max_terrain_dimming_level; v6 = 8 * v5 | ((8 * v5 | (v5 << 11)) << 8); - for (uint i = 0; i < a2; ++i) + for (uint i = 0; i < uNumVertices; ++i) { d3d_vertex_buffer[i].pos.x = array_507D30[i].vWorldViewProjX; d3d_vertex_buffer[i].pos.y = array_507D30[i].vWorldViewProjY; @@ -4995,19 +4995,18 @@ d3d_vertex_buffer[i].texcoord.y = array_507D30[i].v; } - ErrD3D(pRenderD3D->pDevice->SetTexture(0, pHwTex)); + ErrD3D(pRenderD3D->pDevice->SetTexture(0, pTexture)); ErrD3D(pRenderD3D->pDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1, d3d_vertex_buffer, - a2, + uNumVertices, 28)); } } } - //----- (00479A53) -------------------------------------------------------- -void Render::DrawIndoorPolygonNoLight(unsigned int uNumVertices, unsigned int uFaceID) +void Render::DrawIndoorSky(unsigned int uNumVertices, unsigned int uFaceID) { BLVFace *pFace; // esi@1 //unsigned int v3; // edi@1 @@ -5034,7 +5033,7 @@ double v24; // st7@16 unsigned __int8 v25; // sf@16 unsigned __int8 v26; // of@16 - Render *v27; // ecx@17 + //Render *v27; // ecx@17 double v28; // st7@20 char *v29; // ebx@20 char *v30; // edx@20 @@ -5069,7 +5068,7 @@ signed int v59; // [sp-4h] [bp-178h]@17 struct Polygon *v60; // [sp+0h] [bp-174h]@17 IDirect3DTexture2 *v61; // [sp+4h] [bp-170h]@17 - struct Polygon v62; // [sp+14h] [bp-160h]@6 + struct Polygon pSkyPoligon; // [sp+14h] [bp-160h]@6 unsigned int v63; // [sp+120h] [bp-54h]@7 //double v64; // [sp+124h] [bp-50h]@7 unsigned int v65; // [sp+128h] [bp-4Ch]@1 @@ -5104,55 +5103,55 @@ return; } - *(float *)&v74 = (double)pBLVRenderParams->uViewportCenterY; + //*(float *)&v74 = (double)pBLVRenderParams->uViewportCenterY; v70 = (signed __int64)((double)(pBLVRenderParams->fov_rad_fixpoint * pGame->pIndoorCameraD3D->vPartyPos.z) / (((double)pBLVRenderParams->fov_rad_fixpoint + 16192.0) * 65536.0) - + *(float *)&v74); + + (double)pBLVRenderParams->uViewportCenterY); v5 = (double)pGame->pIndoorCameraD3D->sRotationX * 0.0030664064; - *(float *)&v75 = v5; - v6 = (signed __int64)(*(float *)&v74 + //*(float *)&v75 = v5; + v6 = (signed __int64)((double)pBLVRenderParams->uViewportCenterY - (double)pBLVRenderParams->fov_rad_fixpoint / ((cos(v5) * 16192.0 + 0.0000001) * 65535.0) - * (sin(*(float *)&v75) * -16192.0 - (double)pGame->pIndoorCameraD3D->vPartyPos.z)); + * (sin(v5) * -16192.0 - (double)pGame->pIndoorCameraD3D->vPartyPos.z)); stru_8019C8._48653D_frustum_blv(65536, 0, 0, 0, 65536, 0); - v62.Create_48607B(&stru_8019C8); - v62.uTileBitmapID = pFace->uBitmapID; - - v62.pTexture = pBitmaps_LOD->GetTexture(v62.uTileBitmapID); - if ( !v62.pTexture ) + pSkyPoligon.Create_48607B(&stru_8019C8); + pSkyPoligon.uTileBitmapID = pFace->uBitmapID; + + pSkyPoligon.pTexture = pBitmaps_LOD->GetTexture(pSkyPoligon.uTileBitmapID); + if ( !pSkyPoligon.pTexture ) return; - v62.dimming_level = 0; - v62.uNumVertices = uNumVertices; - v62.v_18.y = 0; - v62.v_18.x = -stru_5C6E00->Sin(pGame->pIndoorCameraD3D->sRotationX + 16); - v62.v_18.z = -stru_5C6E00->Cos(pGame->pIndoorCameraD3D->sRotationX + 16); + pSkyPoligon.dimming_level = 0; + pSkyPoligon.uNumVertices = uNumVertices; + pSkyPoligon.v_18.y = 0; + pSkyPoligon.v_18.x = -stru_5C6E00->Sin(pGame->pIndoorCameraD3D->sRotationX + 16); + pSkyPoligon.v_18.z = -stru_5C6E00->Cos(pGame->pIndoorCameraD3D->sRotationX + 16); memcpy(&array_507D30[uNumVertices], array_507D30, sizeof(array_507D30[uNumVertices])); - v62.field_24 = 0x2000000; + pSkyPoligon.field_24 = 0x2000000; extern float _calc_fov(int viewport_width, int angle_degree); //v64 = (double)(signed int)(pBLVRenderParams->uViewportZ - pBLVRenderParams->uViewportX) * 0.5; //v72 = 65536 / (signed int)(signed __int64)(v64 / tan(0.6457717418670654) + 0.5); v72 = 65536.0f / _calc_fov(pBLVRenderParams->uViewportZ - pBLVRenderParams->uViewportX, 74); - v12 = v62.pTexture->uWidthMinus1; - v13 = v62.pTexture->uHeightMinus1; - v67 = 1.0 / (double)v62.pTexture->uTextureWidth; + v12 = pSkyPoligon.pTexture->uWidthMinus1; + v13 = pSkyPoligon.pTexture->uHeightMinus1; + v67 = 1.0 / (double)pSkyPoligon.pTexture->uTextureWidth; v63 = 224 * pMiscTimer->uTotalGameTimeElapsed & v13; v66 = 224 * pMiscTimer->uTotalGameTimeElapsed & v12; v78 = 0; v81 = 0; - float v68 = 1.0 / (double)v62.pTexture->uTextureHeight; - if ( (signed int)v62.uNumVertices <= 0 ) + float v68 = 1.0 / (double)pSkyPoligon.pTexture->uTextureHeight; + if ( (signed int)pSkyPoligon.uNumVertices <= 0 ) { LABEL_17: - v61 = pBitmaps_LOD->pHardwareTextures[(signed __int16)v62.uTileBitmapID]; - v27 = pRenderer; - v60 = &v62; - v59 = v62.uNumVertices; + v61 = pBitmaps_LOD->pHardwareTextures[(signed __int16)pSkyPoligon.uTileBitmapID]; + //v27 = pRenderer; + v60 = &pSkyPoligon; + v59 = pSkyPoligon.uNumVertices; goto LABEL_18; } @@ -5161,18 +5160,18 @@ while ( 2 ) { v15 = (void *)(v72 * (v70 - (int)array_507D30[_507D30_idx].vWorldViewProjY)); - v77 = (unsigned __int64)(v62.ptr_38->viewing_angle_from_west_east * (signed __int64)(signed int)v15) >> 16; - v74 = v77 + v62.ptr_38->angle_from_north; + v77 = (unsigned __int64)(pSkyPoligon.ptr_38->viewing_angle_from_west_east * (signed __int64)(signed int)v15) >> 16; + v74 = v77 + pSkyPoligon.ptr_38->angle_from_north; v77 = (int)v15; - v77 = (unsigned __int64)(v62.ptr_38->viewing_angle_from_north_south * (signed __int64)(signed int)v15) >> 16; + v77 = (unsigned __int64)(pSkyPoligon.ptr_38->viewing_angle_from_north_south * (signed __int64)(signed int)v15) >> 16; v79 = v15; - v75 = (RenderVertexSoft *)(v77 + v62.ptr_38->angle_from_east); - v79 = (void *)((unsigned __int64)(v62.v_18.z * (signed __int64)(signed int)v15) >> 16); + v75 = (RenderVertexSoft *)(v77 + pSkyPoligon.ptr_38->angle_from_east); + v79 = (void *)((unsigned __int64)(pSkyPoligon.v_18.z * (signed __int64)(signed int)v15) >> 16); v17 = v72 * (pBLVRenderParams->uViewportCenterX - (int)array_507D30[_507D30_idx].vWorldViewProjX); v18 = array_507D30[_507D30_idx].vWorldViewProjY - 1.0; - v19 = -v62.field_24; - v77 = -v62.field_24; - X = (int)((char *)v79 + v62.v_18.x); + v19 = -pSkyPoligon.field_24; + v77 = -pSkyPoligon.field_24; + X = (int)((char *)v79 + pSkyPoligon.v_18.x); LODWORD(v76) = (signed __int64)v18; v20 = (void *)(v72 * (v70 - LODWORD(v76))); while ( 1 ) @@ -5188,11 +5187,11 @@ v19 = v77; v20 = v79; LABEL_14: - v79 = (void *)((unsigned __int64)(v62.v_18.z * (signed __int64)(signed int)v20) >> 16); - v22 = (unsigned __int64)(v62.v_18.z * (signed __int64)(signed int)v20) >> 16; + v79 = (void *)((unsigned __int64)(pSkyPoligon.v_18.z * (signed __int64)(signed int)v20) >> 16); + v22 = (unsigned __int64)(pSkyPoligon.v_18.z * (signed __int64)(signed int)v20) >> 16; --LODWORD(v76); v20 = (char *)v20 + v72; - X = v22 + v62.v_18.x; + X = v22 + pSkyPoligon.v_18.x; v78 = 1; } if ( !v78 ) @@ -5202,8 +5201,8 @@ v79 = (void *)(v23 / X); v77 = v17; v77 = v17; - LODWORD(v76) = v74 + ((unsigned __int64)(v62.ptr_38->angle_from_west * (signed __int64)v17) >> 16); - v75 = (RenderVertexSoft *)((char *)v75 + ((unsigned __int64)(v62.ptr_38->angle_from_south * (signed __int64)v17) >> 16)); + LODWORD(v76) = v74 + ((unsigned __int64)(pSkyPoligon.ptr_38->angle_from_west * (signed __int64)v17) >> 16); + v75 = (RenderVertexSoft *)((char *)v75 + ((unsigned __int64)(pSkyPoligon.ptr_38->angle_from_south * (signed __int64)v17) >> 16)); v77 = (unsigned __int64)(SLODWORD(v76) * v23 / X) >> 16; LODWORD(v73) = (unsigned __int64)((signed int)v75 * v23 / X) >> 16; //v14 += 48; @@ -5211,8 +5210,8 @@ v81 = (char *)v81 + 1; v24 = (double)SLODWORD(v80) * 0.000015259022; LODWORD(v80) = v63 + ((signed int)((unsigned __int64)((signed int)v75 * v23 / X) >> 16) >> 4); - v26 = __OFSUB__((int)v81, v62.uNumVertices); - v25 = (signed int)((char *)v81 - v62.uNumVertices) < 0; + v26 = __OFSUB__((int)v81, pSkyPoligon.uNumVertices); + v25 = (signed int)((char *)v81 - pSkyPoligon.uNumVertices) < 0; array_507D30[_507D30_idx].u = v24 * v67; array_507D30[_507D30_idx].v = (double)SLODWORD(v80) * 0.000015259022 * v68; array_507D30[_507D30_idx]._rhw = 65536.0 / (double)(signed int)v79; @@ -5225,7 +5224,7 @@ } LODWORD(v73) = 0; v80 = v76; - if ( (signed int)v62.uNumVertices > 0 ) + if ( (signed int)pSkyPoligon.uNumVertices > 0 ) { v28 = (double)SLODWORD(v76); LODWORD(v76) = (int)(char *)array_50AC10 + 28; @@ -5233,7 +5232,7 @@ v30 = (char *)&array_507D30[1].vWorldViewProjY; v79 = array_50AC10; v81 = array_507D30; - v78 = v62.uNumVertices; + v78 = pSkyPoligon.uNumVertices; do { v31 = v28 < *((float *)v30 - 12); @@ -5276,17 +5275,17 @@ do { v35 = (const void *)(v72 * (v70 - (unsigned __int64)(signed __int64)*(float *)v34)); - v78 = v62.ptr_38->viewing_angle_from_west_east; + v78 = pSkyPoligon.ptr_38->viewing_angle_from_west_east; v81 = (const void *)((unsigned __int64)(v78 * (signed __int64)(signed int)v35) >> 16); - v36 = (int)((char *)v81 + v62.ptr_38->angle_from_north); + v36 = (int)((char *)v81 + pSkyPoligon.ptr_38->angle_from_north); v81 = v35; v74 = v36; - v78 = v62.ptr_38->viewing_angle_from_north_south; + v78 = pSkyPoligon.ptr_38->viewing_angle_from_north_south; v81 = (const void *)((unsigned __int64)(v78 * (signed __int64)(signed int)v35) >> 16); v78 = (int)v35; - v75 = (RenderVertexSoft *)((char *)v81 + v62.ptr_38->angle_from_east); - v81 = (const void *)v62.v_18.z; - v78 = (unsigned __int64)(v62.v_18.z * (signed __int64)(signed int)v35) >> 16; + v75 = (RenderVertexSoft *)((char *)v81 + pSkyPoligon.ptr_38->angle_from_east); + v81 = (const void *)pSkyPoligon.v_18.z; + v78 = (unsigned __int64)(pSkyPoligon.v_18.z * (signed __int64)(signed int)v35) >> 16; v37 = (const void *)(v72 * (pBLVRenderParams->uViewportCenterX - (unsigned __int64)(signed __int64)*((float *)v34 - 1))); v38 = (signed __int64)(*(float *)v34 - 1.0); @@ -5305,34 +5304,34 @@ break; v39 = v78; LABEL_36: - v78 = v62.v_18.z; - v41 = (unsigned __int64)(v62.v_18.z * (signed __int64)v39) >> 16; + v78 = pSkyPoligon.v_18.z; + v41 = (unsigned __int64)(pSkyPoligon.v_18.z * (signed __int64)v39) >> 16; --LODWORD(v76); v39 += v72; - X = v41 + v62.v_18.x; + X = v41 + pSkyPoligon.v_18.x; v81 = (const void *)1; } if ( v81 ) { - v79 = (void *)v62.v_18.z; + v79 = (void *)pSkyPoligon.v_18.z; v78 = 2 * LODWORD(v76); - v81 = (const void *)((unsigned __int64)(v62.v_18.z + v81 = (const void *)((unsigned __int64)(pSkyPoligon.v_18.z * (signed __int64)(signed int)(signed __int64)(((double)v70 - ((double)(2 * LODWORD(v76)) - *(float *)v34)) * (double)v72)) >> 16); - X = (int)((char *)v81 + v62.v_18.x); + X = (int)((char *)v81 + pSkyPoligon.v_18.x); } LODWORD(v42) = v77 << 16; HIDWORD(v42) = v77 >> 16; v79 = (void *)(v42 / X); v81 = v37; - v78 = v62.ptr_38->angle_from_west; + v78 = pSkyPoligon.ptr_38->angle_from_west; v81 = (const void *)((unsigned __int64)(v78 * (signed __int64)(signed int)v37) >> 16); v43 = v74 + ((unsigned __int64)(v78 * (signed __int64)(signed int)v37) >> 16); v74 = (unsigned int)v37; LODWORD(v76) = v43; - v78 = v62.ptr_38->angle_from_south; + v78 = pSkyPoligon.ptr_38->angle_from_south; v75 = (RenderVertexSoft *)((char *)v75 + ((unsigned __int64)(v78 * (signed __int64)(signed int)v37) >> 16)); v74 = (unsigned __int64)(v43 * v42 / X) >> 16; v81 = (const void *)((unsigned __int64)((signed int)v75 * v42 / X) >> 16); @@ -5370,8 +5369,8 @@ } while ( HIDWORD(v69) ); } - v62.uNumVertices = v47; - pRenderer->_4A2ED5(v47, &v62, pBitmaps_LOD->pHardwareTextures[(signed __int16)v62.uTileBitmapID]); + pSkyPoligon.uNumVertices = v47; + pRenderer->DrawIndoorSkyPolygon(v47, &pSkyPoligon, pBitmaps_LOD->pHardwareTextures[(signed __int16)pSkyPoligon.uTileBitmapID]); *(float *)&v74 = 0.0; if ( SLODWORD(v73) > 0 ) { @@ -5393,13 +5392,13 @@ } while ( v80 != 0.0 ); } - v62.uNumVertices = v74; - v61 = pBitmaps_LOD->pHardwareTextures[(signed __int16)v62.uTileBitmapID]; - v60 = &v62; + pSkyPoligon.uNumVertices = v74; + v61 = pBitmaps_LOD->pHardwareTextures[(signed __int16)pSkyPoligon.uTileBitmapID]; + v60 = &pSkyPoligon; v59 = v74; - v27 = pRenderer; + //v27 = pRenderer; LABEL_18: - v27->_4A2ED5(v59, v60, v61); + pRenderer->DrawIndoorSkyPolygon(v59, v60, v61); } @@ -8885,7 +8884,7 @@ array_77EC08[pODMRenderParams->uNumPolygons].pTexture = pFaceTexture; if (pOutdoor->pBModels[model_id].pFaces[face_id].uAttributes & FACE_FLUID) array_77EC08[pODMRenderParams->uNumPolygons].flags |= 2; - if (pOutdoor->pBModels[model_id].pFaces[face_id].uAttributes & FACE_DO_NOT_LIGHT ) + if (pOutdoor->pBModels[model_id].pFaces[face_id].uAttributes & FACE_INDOOR_SKY ) HIBYTE(array_77EC08[pODMRenderParams->uNumPolygons].flags) |= 4; if ( pOutdoor->pBModels[model_id].pFaces[face_id].uAttributes & 4 ) HIBYTE(array_77EC08[pODMRenderParams->uNumPolygons].flags) |= 4; @@ -9046,7 +9045,7 @@ return; } //----- (00479543) -------------------------------------------------------- -void Render::DrawSkyD3D() +void Render::DrawOutdoorSkyD3D() { int v9; // eax@4 int v10; // ebx@4 @@ -9189,12 +9188,12 @@ array_50AC10[i].vWorldViewPosition.x = (double)0x2000;//pODMRenderParams->shading_dist_mist array_50AC10[i]._rhw = 1.0 / (double)(v18 >> 16); } - pRenderer->DrawSkyPolygon(pSkyPolygon.uNumVertices, &pSkyPolygon, pBitmaps_LOD->pHardwareTextures[(signed __int16)pSkyPolygon.uTileBitmapID]); + pRenderer->DrawOutdoorSkyPolygon(pSkyPolygon.uNumVertices, &pSkyPolygon, pBitmaps_LOD->pHardwareTextures[(signed __int16)pSkyPolygon.uTileBitmapID]); array_50AC10[0].vWorldViewProjY = (double)v38; array_50AC10[1].vWorldViewProjY = array_50AC10[1].vWorldViewProjY + 30.0; array_50AC10[2].vWorldViewProjY = array_50AC10[2].vWorldViewProjY + 30.0; array_50AC10[3].vWorldViewProjY = (double)v38; - pRenderer->DrawSkyPolygon(pSkyPolygon.uNumVertices, &pSkyPolygon, pBitmaps_LOD->pHardwareTextures[(signed __int16)pSkyPolygon.uTileBitmapID]); + pRenderer->DrawOutdoorSkyPolygon(pSkyPolygon.uNumVertices, &pSkyPolygon, pBitmaps_LOD->pHardwareTextures[(signed __int16)pSkyPolygon.uTileBitmapID]); return; } }
--- a/Render.h Wed Oct 23 15:37:17 2013 +0200 +++ b/Render.h Wed Oct 23 15:37:51 2013 +0200 @@ -320,10 +320,10 @@ unsigned int GetActorTintColor(float a2, int tint, int a4, int a5, RenderBillboard *a6); void DrawPolygon(unsigned int uNumVertices, struct Polygon *a3, ODMFace *a4, IDirect3DTexture2 *pTexture); void DrawTerrainPolygon(unsigned int uNumVertices, struct Polygon *a4, IDirect3DTexture2 *a5, bool transparent, bool clampAtTextureBorders); - void DrawSkyPolygon(unsigned int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture); - void _4A2ED5(signed int a2, struct Polygon *a3, IDirect3DTexture2 *pHwTex); + void DrawOutdoorSkyPolygon(unsigned int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture); + void DrawIndoorSkyPolygon(signed int uNumVertices, struct Polygon *pSkyPolygon, IDirect3DTexture2 *pTexture); void DrawIndoorPolygon(unsigned int uNumVertices, struct BLVFace *a3, IDirect3DTexture2 *pHwTex, struct Texture *pTex, int uPackedID, unsigned int uColor, int a8); - void DrawIndoorPolygonNoLight(unsigned int uNumVertices, unsigned int uFaceID); + void DrawIndoorSky(unsigned int uNumVertices, unsigned int uFaceID); void MakeParticleBillboardAndPush_BLV(RenderBillboardTransform_local0 *a2, IDirect3DTexture2 *a3, unsigned int uDiffuse, int angle); void MakeParticleBillboardAndPush_ODM(RenderBillboardTransform_local0 *a2, IDirect3DTexture2 *a3, unsigned int uDiffuse, int angle); void TransformBillboard(RenderBillboardTransform_local0 *a2, Sprite *pSprite, int dimming_level, RenderBillboard *pBillboard); @@ -357,7 +357,7 @@ void DrawBuildingsD3D(); //struct BSPModel *DrawBuildingsSW(); //int OnOutdoorRedrawSW(); - void DrawSkyD3D(); + void DrawOutdoorSkyD3D(); //int DrawSkySW(struct Span *a1, Polygon *a2, int a3); void PrepareDecorationsRenderList_ODM(); void DrawSpriteObjects_ODM();