diff IndoorCameraD3D.cpp @ 784:b3e08a496778

Merge
author Nomad
date Sun, 24 Mar 2013 21:15:01 +0200
parents d170f23f70d1
children 346f7069676a
line wrap: on
line diff
--- a/IndoorCameraD3D.cpp	Sun Mar 24 21:14:28 2013 +0200
+++ b/IndoorCameraD3D.cpp	Sun Mar 24 21:15:01 2013 +0200
@@ -7,10 +7,92 @@
 #include "OutdoorCamera.h"
 #include "Render.h"
 #include "LOD.h"
-
 #include "mm7_data.h"
 
+//----- (004361EF) --------------------------------------------------------
+IndoorCameraD3D::IndoorCameraD3D()
+{
+  IndoorCameraD3D *v1; // esi@1
+  //double v2; // st7@1
+  //double v3; // st6@1
+  //double v4; // st5@1
+  //double v5; // st7@1
+  //double v6; // st6@1
+  //double v7; // st5@1
 
+  v1 = this;
+  //IndoorCameraD3D_Vec3::IndoorCameraD3D_Vec3(&this->field_4);
+  //IndoorCameraD3D_Vec3::IndoorCameraD3D_Vec3(&v1->field_14);
+  //IndoorCameraD3D_Vec3::IndoorCameraD3D_Vec3(&v1->field_24);
+  /*_eh_vector_constructor_iterator_(v1->std__vector_000034_prolly_frustrum,
+    24,
+    6,
+    (void (__thiscall *)(void *))IndoorCameraD3D_Vec4::IndoorCameraD3D_Vec4,
+    (void (__thiscall *)(void *))IndoorCameraD3D_Vec4::dtor);*/
+  //v2 = 0;//(double)pBLVRenderParams->vPartyPos.z;
+  //v3 = 0;//(double)pBLVRenderParams->vPartyPos.y;
+  //v4 = 0;//(double)pBLVRenderParams->vPartyPos.x;
+  v1->field_108 = 0.0;
+  v1->blv_party_x = 0;
+  v1->blv_party_y = 0;
+  v1->blv_party_z = 0;
+  //v5 = 0;//(double)pBLVRenderParams->vPartyPos.z;
+  //v6 = 0;//(double)pBLVRenderParams->vPartyPos.y;
+  //v7 = 300;//(double)(pBLVRenderParams->vPartyPos.x + 300);
+  v1->field_138 = 0.0;
+  v1->blv_party_x_2 = 300;
+  v1->blv_party_y_2 = 0;
+  v1->blv_party_z_2 = 0;
+  v1->field_168 = 0.0;
+  v1->field_198 = 0.0;
+  v1->field_1C8 = 0.0;
+  v1->field_1F8 = 0.0;
+  v1->field_228 = 0.0;
+  v1->field_258 = 0.0;
+  v1->field_288 = 0.0;
+  v1->field_2B8 = 0.0;
+  v1->field_2E8 = 0.0;
+  v1->field_2BC = 0.0;
+  v1->field_2C0 = 0.0;
+  v1->field_2C4 = 0.0;
+  v1->field_318 = 0.0;
+  v1->field_2EC = 0.0;
+  v1->field_2F0 = 0.0;
+  v1->field_2F4 = 0.0;
+  v1->field_348 = 0.0;
+  v1->field_31C = 0.0;
+  v1->field_320 = 0.0;
+  v1->field_324 = 0.0;
+  v1->field_378 = 0.0;
+  v1->field_34C = 0.0;
+  v1->field_350 = 0.0;
+  v1->field_354 = 0.0;
+  for (uint i = 0; i < 16384; ++i)
+  {
+    list_0037C[i].field_0 = 0;
+    list_0037C[i].flt_30 = 0.0f;
+  }
+
+  list_0037C_size = 0;
+  for (uint i = 0; i < 256; ++i)
+    list_E0380[i].mm7__vector_000004_size = 0;
+  /*v10 = v1->list_E0380;
+  v12 = 256;
+  do
+  {
+    v10->mm7__vector_000004_size = 0;
+    //mm7__vector_constructor(
+    //  v10->mm7__vector_000004,
+    //  48,
+    //  64,
+    //  (int (__thiscall *)(int))IndoorCameraD3D_stru1::IndoorCameraD3D_stru1);
+    //++v10;
+    --v12;
+  }
+  while ( v12 );*/
+  list_E0380_size = 0;
+  //v1->vdestructor_ptr = &stru8_pvdtor;
+}
 
 //----- (004364C5) --------------------------------------------------------
 void IndoorCameraD3D::ViewTransfrom_OffsetUV(RenderVertexSoft *pVertices, unsigned int uNumVertices, RenderVertexSoft *pOutVertices, stru320 *a5)
@@ -92,8 +174,6 @@
   return !bDoNotShow || (v12 = *v10, v12 >= (signed int)0x40000u) && v12 <= (signed int)0x1F400000u;
 }
 
-
-
 //----- (00436455) --------------------------------------------------------
 bool IndoorCameraD3D::IsCulled(BLVFace *pFace)
 {
@@ -329,7 +409,6 @@
     pIndoorCamera->ViewTransform(a1a + i);
 }
 
-
 //----- (00436932) --------------------------------------------------------
 bool IndoorCameraD3D::GetFacetOrientation(char polyType, Vec3_float_ *a2, Vec3_float_ *a3, Vec3_float_ *a4)
 {
@@ -392,7 +471,6 @@
   }
 }
 
-
 //----- (00438258) --------------------------------------------------------
 bool IndoorCameraD3D::is_face_faced_to_camera(BLVFace *pFace, RenderVertexSoft *a2)
 {
@@ -414,7 +492,6 @@
   this->list_0037C_size = 0;
 }
 
-
 //----- (00438240) --------------------------------------------------------
 void IndoorCameraD3D::_438240_draw_lits()
 {
@@ -479,7 +556,6 @@
   }
 }
 
-
 //----- (00438141) --------------------------------------------------------
 void IndoorCameraD3D::_438141_draw_list_0037C()
 {
@@ -528,7 +604,6 @@
   }
 }
 
-
 //----- (00437D4A) --------------------------------------------------------
 void IndoorCameraD3D::_437D4A_draw_some_vertices(float x, float y, float z, unsigned int a5, char a6, float a7)
 {
@@ -713,7 +788,6 @@
   }
 }
 
-
 //----- (00437C96) --------------------------------------------------------
 void IndoorCameraD3D::do_draw_debug_line_d3d(const RenderVertexD3D3 *pLineBegin, unsigned int uDiffuseBegin, const RenderVertexD3D3 *pLineEnd, unsigned int uDiffuseEnd, float z_stuff)
 {
@@ -867,7 +941,6 @@
     MessageBoxW(nullptr, L"draw_debug_line() not implemented for SW rendering", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Core3D.cpp:1383", 0);
 }
 
-
 //----- (00437A55) --------------------------------------------------------
 void IndoorCameraD3D::debug_outline_d3d(const RenderVertexD3D3 *pLineVertices, unsigned int uNumLines, int uDiffuse, float z_stuff)
 {
@@ -896,7 +969,6 @@
   do_draw_debug_line_d3d(&pLineVertices[v5], uDiffuse, pLineVertices, uDiffuse, z_stuff);
 }
 
-
 //----- (004379EE) --------------------------------------------------------
 void IndoorCameraD3D::debug_outline_sw(RenderVertexSoft *a2, unsigned int uNumVertices, unsigned int uDiffuse, float a5)
 {
@@ -926,7 +998,6 @@
   do_draw_debug_line_sw(&a2[v5], uDiffuse, a2, uDiffuse, 0, a5);
 }
 
-
 //----- (00437906) --------------------------------------------------------
 void IndoorCameraD3D::PrepareAndDrawDebugOutline(BLVFace *pFace, unsigned int uDiffuse)
 {
@@ -972,7 +1043,6 @@
 }
 // 50D9D0: using guessed type char static_sub_437906_byte_50D9D0_init_flag;
 
-
 //----- (004378BA) --------------------------------------------------------
 void IndoorCameraD3D::MatrixMultiply(Matrix3x3_float_ *a1, Matrix3x3_float_ *a2, Matrix3x3_float_ *out)
 {
@@ -1010,7 +1080,6 @@
   while ( v6 );
 }
 
-
 //----- (004376E7) --------------------------------------------------------
 void IndoorCameraD3D::CreateWorldMatrixAndSomeStuff()
 {
@@ -1067,7 +1136,6 @@
   screenCenterY = (double)(pViewport->uScreenCenterY - pViewport->uScreen_TL_Y);
 }
 
-
 //----- (00437691) --------------------------------------------------------
 void IndoorCameraD3D::Vec3Transform(const IndoorCameraD3D_Vec3 *pVector, IndoorCameraD3D_Vec3 *pOut)
 {
@@ -1390,6 +1458,7 @@
   *pOutNumVertices = v5;
   return result;
 }
+
 //----- (00436F09) --------------------------------------------------------
 void IndoorCameraD3D::_436F09_mess_with_lightmap__clipflag_4(RenderVertexSoft *pInVertices, int uNumInVertices, RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices)
 {
@@ -1492,7 +1561,6 @@
   }
 }
 
-
 //----- (00436CDC) --------------------------------------------------------
 void IndoorCameraD3D::_436CDC_mess_with_lightmap__clipflag_2(RenderVertexSoft *pInVertices, int uNumInVertices, RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices)
 {
@@ -1588,7 +1656,6 @@
   }
 }
 
-
 //----- (00436BB7) --------------------------------------------------------
 void IndoorCameraD3D::Project(RenderVertexSoft *pVertices, unsigned int uNumVertices, char a4)
 {
@@ -1658,7 +1725,6 @@
   }
 }
 
-
 //----- (00436A9A) --------------------------------------------------------
 void IndoorCameraD3D::Project(signed int x, signed int y, signed int z, int *a5, int *a6)
 {
@@ -1717,7 +1783,6 @@
   return result;
 }
 
-
 //----- (00436A24) --------------------------------------------------------
 struct IDirect3DTexture2 *IndoorCameraD3D::LoadTextureAndGetHardwarePtr(char *Str1)
 {