diff Indoor.cpp @ 53:fd2fd234a66c

BLV minimap: 2/3
author Nomad
date Wed, 24 Oct 2012 17:33:46 +0200
parents fde5c5acb66e
children 41cbaabde2cb
line wrap: on
line diff
--- a/Indoor.cpp	Wed Oct 24 17:02:44 2012 +0200
+++ b/Indoor.cpp	Wed Oct 24 17:33:46 2012 +0200
@@ -1733,7 +1733,7 @@
   pAllocator->FreeChunk(v1->pLights);
   pAllocator->FreeChunk(v1->pDoors);
   pAllocator->FreeChunk(v1->pNodes);
-  pAllocator->FreeChunk(v1->pMapVertices);
+  pAllocator->FreeChunk(v1->pMapOutlines);
   v1->pVertices = 0;
   v1->pFaces = 0;
   v1->pFaceExtras = 0;
@@ -1741,7 +1741,7 @@
   v1->pLights = 0;
   v1->pDoors = 0;
   v1->pNodes = 0;
-  v1->pMapVertices = 0;
+  v1->pMapOutlines = 0;
   v1->bLoaded = 0;
 }
 
@@ -1787,11 +1787,11 @@
   v13 = v1->pNodes;
   v1->pDoors = (BLVDoor *)v12;
   v14 = pAllocator->AllocNamedChunk(v13, 0x9C40u, "L.BSP");
-  v15 = v1->pMapVertices;
+  v15 = v1->pMapOutlines;
   v1->pNodes = (BSPNode *)v14;
   v16 = pAllocator->AllocNamedChunk(v15, 0x14824u, "L.Map");
   v17 = v1->pVertices;
-  v1->pMapVertices = (BLVMapVertices *)v16;
+  v1->pMapOutlines = (BLVMapOutlines *)v16;
   if ( v17 && v1->pFaces && v1->pFaceExtras && v1->pSectors && v1->pLights && v1->pDoors && v1->pNodes && v16 )
   {
     memset(v17, 90000, 0);
@@ -1801,7 +1801,7 @@
     memset(v1->pLights, 6400, 0);
     memset(v1->pDoors, 16000, 0);
     memset(v1->pNodes, 40000, 0);
-    memset(v1->pMapVertices, 84004, 0);
+    memset(v1->pMapOutlines, 84004, 0);
     result = 1;
   }
   else
@@ -2461,7 +2461,7 @@
       fseek(v7, v234, 0);
       fread(&uLastVisitDay, 1u, 0x38u, v7);
       fseek(v7, v223, 0);
-      v80 = (void **)&pMapVertices;
+      v80 = (void **)&pMapOutlines;
       fread(*v80, 4u, 1u, v7);
       fread((char *)*v80 + 4, 0xCu, *(int *)*v80, v7);
       fclose(v7);
@@ -2550,6 +2550,7 @@
   assert(sizeof(LayingItem) == 112);
   assert(sizeof(Chest) == 5324);
   assert(sizeof(stru123) == 0xC8);
+  assert(sizeof(BLVMapOutline) == 12);
   
   bLoaded = true;
 
@@ -2835,10 +2836,10 @@
   pGameLoadingUI_ProgressBar->Progress();
 
   //v201 = (const char *)v148;
-  //v200 = (size_t)pMapVertices;
-  memcpy(&pMapVertices->uNumVertices, pData, 4);
-  memcpy(pMapVertices->pVertices, pData + 4, pMapVertices->uNumVertices * sizeof(Vec3_int_));
-  //v149 = pMapVertices;
+  //v200 = (size_t)pMapOutlines;
+  memcpy(&pMapOutlines->uNumOutlines, pData, 4);
+  memcpy(pMapOutlines->pOutlines, pData + 4, pMapOutlines->uNumOutlines * sizeof(BLVMapOutline));
+  //v149 = pMapOutlines;
   //v199 = 12 * *v149;
   //memcpy(v149 + 1, (const void *)(v148 + 4), v199);
   free(pRawBLV);
@@ -2959,9 +2960,9 @@
   if ( *(int *)pDest )
     memcpy(_visible_outlines, v203, 875);
 
-  for (uint i = 0; i < pMapVertices->uNumVertices; ++i)
+  for (uint i = 0; i < pMapOutlines->uNumOutlines; ++i)
   {
-    auto pVertex = pMapVertices->pVertices + i;
+    auto pVertex = pMapOutlines->pOutlines + i;
     if ((unsigned __int8)(1 << (7 - i % 8)) & _visible_outlines[i / 8])
       pVertex->uFlags |= 1;
   }