did some cleanup of the FResourceFile interface.

* making all members protected (but adding friend overrides for the classes which still need it)
* allowing to read data without retrieving the FResourceLump object.
This commit is contained in:
Christoph Oelckers 2023-12-10 10:22:07 +01:00
commit ebc808e2a9
12 changed files with 128 additions and 92 deletions

View file

@ -126,7 +126,7 @@ MapData *P_OpenMapData(const char * mapname, bool justcheck)
return NULL;
}
map->resource = FResourceFile::OpenResourceFile(mapname);
wadReader = map->resource->GetReader();
wadReader = map->resource->GetContainerReader();
}
else
{
@ -265,7 +265,7 @@ MapData *P_OpenMapData(const char * mapname, bool justcheck)
map->lumpnum = lump_wad;
auto reader = fileSystem.ReopenFileReader(lump_wad);
map->resource = FResourceFile::OpenResourceFile(fileSystem.GetFileFullName(lump_wad), reader, true);
wadReader = map->resource->GetReader();
wadReader = map->resource->GetContainerReader();
}
}
uint32_t id;
@ -280,21 +280,21 @@ MapData *P_OpenMapData(const char * mapname, bool justcheck)
char maplabel[9]="";
int index=0;
map->MapLumps[0].Reader = map->resource->GetLump(0)->NewReader();
uppercopy(map->MapLumps[0].Name, map->resource->GetLump(0)->getName());
map->MapLumps[0].Reader = map->resource->GetEntryReader(0);
uppercopy(map->MapLumps[0].Name, map->resource->getName(0));
for(uint32_t i = 1; i < map->resource->LumpCount(); i++)
for(uint32_t i = 1; i < map->resource->EntryCount(); i++)
{
const char* lumpname = map->resource->GetLump(i)->getName();
const char* lumpname = map->resource->getName(i);
if (i == 1 && !strnicmp(lumpname, "TEXTMAP", 8))
{
map->isText = true;
map->MapLumps[ML_TEXTMAP].Reader = map->resource->GetLump(i)->NewReader();
map->MapLumps[ML_TEXTMAP].Reader = map->resource->GetEntryReader(i);
strncpy(map->MapLumps[ML_TEXTMAP].Name, lumpname, 8);
for(int i = 2;; i++)
{
lumpname = map->resource->GetLump(i)->getName();
lumpname = map->resource->getName(i);
if (!strnicmp(lumpname, "ZNODES",8))
{
index = ML_GLZNODES;
@ -326,7 +326,7 @@ MapData *P_OpenMapData(const char * mapname, bool justcheck)
return map;
}
else continue;
map->MapLumps[index].Reader = map->resource->GetLump(i)->NewReader();
map->MapLumps[index].Reader = map->resource->GetEntryReader(i);
strncpy(map->MapLumps[index].Name, lumpname, 8);
}
}
@ -358,7 +358,7 @@ MapData *P_OpenMapData(const char * mapname, bool justcheck)
maplabel[8]=0;
}
map->MapLumps[index].Reader = map->resource->GetLump(i)->NewReader();
map->MapLumps[index].Reader = map->resource->GetEntryReader(i);
strncpy(map->MapLumps[index].Name, lumpname, 8);
}
}