mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-15 16:51:31 +00:00
- fixed: cached GL nodes should use ZGL3 format for maximum precision.
This commit is contained in:
parent
bcfa8da4a3
commit
84f8c299ce
1 changed files with 7 additions and 7 deletions
|
@ -1116,10 +1116,10 @@ static void CreateCachedNodes(MapData *map)
|
|||
WriteLong(ZNodes, numnodes);
|
||||
for(int i=0;i<numnodes;i++)
|
||||
{
|
||||
WriteWord(ZNodes, nodes[i].x >> FRACBITS);
|
||||
WriteWord(ZNodes, nodes[i].y >> FRACBITS);
|
||||
WriteWord(ZNodes, nodes[i].dx >> FRACBITS);
|
||||
WriteWord(ZNodes, nodes[i].dy >> FRACBITS);
|
||||
WriteLong(ZNodes, nodes[i].x);
|
||||
WriteLong(ZNodes, nodes[i].y);
|
||||
WriteLong(ZNodes, nodes[i].dx);
|
||||
WriteLong(ZNodes, nodes[i].dy);
|
||||
for (int j = 0; j < 2; ++j)
|
||||
{
|
||||
for (int k = 0; k < 4; ++k)
|
||||
|
@ -1168,7 +1168,7 @@ static void CreateCachedNodes(MapData *map)
|
|||
DWORD ndx[2] = {LittleLong(DWORD(lines[i].v1 - vertexes)), LittleLong(DWORD(lines[i].v2 - vertexes)) };
|
||||
memcpy(compressed+8+16+8*i, ndx, 8);
|
||||
}
|
||||
memcpy(compressed + offset - 4, "ZGL2", 4);
|
||||
memcpy(compressed + offset - 4, "ZGL3", 4);
|
||||
|
||||
FString path = CreateCacheName(map, true);
|
||||
FILE *f = fopen(path, "wb");
|
||||
|
@ -1218,7 +1218,7 @@ static bool CheckCachedNodes(MapData *map)
|
|||
if (fread(verts, 8, numlin, f) != numlin) goto errorout;
|
||||
|
||||
if (fread(magic, 1, 4, f) != 4) goto errorout;
|
||||
if (memcmp(magic, "ZGL2", 4)) goto errorout;
|
||||
if (memcmp(magic, "ZGL2", 4) && memcmp(magic, "ZGL3", 4)) goto errorout;
|
||||
|
||||
|
||||
try
|
||||
|
@ -1226,7 +1226,7 @@ static bool CheckCachedNodes(MapData *map)
|
|||
long pos = ftell(f);
|
||||
FileReader fr(f);
|
||||
fr.Seek(pos, SEEK_SET);
|
||||
P_LoadZNodes (fr, MAKE_ID('Z','G','L','2'));
|
||||
P_LoadZNodes (fr, MAKE_ID(magic[0],magic[1],magic[2],magic[3]));
|
||||
}
|
||||
catch (CRecoverableError &error)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue