Mercurial > might-and-magic-trilogy
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; }