- file system update from Raze.

This commit is contained in:
Christoph Oelckers 2021-08-11 12:39:32 +02:00
parent 3adadfe4d3
commit 26d00e14c7

View file

@ -113,7 +113,20 @@ struct FileSystem::LumpRecord
if (Namespace == ns_hidden) shortName.qword = 0; if (Namespace == ns_hidden) shortName.qword = 0;
else else
{ {
long slash = longName.LastIndexOf('/'); ptrdiff_t encodedResID = longName.LastIndexOf(".{");
if (resourceId == -1 && encodedResID >= 0)
{
const char* p = longName.GetChars() + encodedResID;
char* q;
int id = (int)strtoull(p+2, &q, 10); // only decimal numbers allowed here.
if (q[0] == '}' && (q[1] == '.' || q[1] == 0))
{
FString toDelete(p, q - p + 1);
longName.Substitute(toDelete, "");
resourceId = id;
}
}
ptrdiff_t slash = longName.LastIndexOf('/');
FString base = (slash >= 0) ? longName.Mid(slash + 1) : longName; FString base = (slash >= 0) ? longName.Mid(slash + 1) : longName;
auto dot = base.LastIndexOf('.'); auto dot = base.LastIndexOf('.');
if (dot >= 0) base.Truncate(dot); if (dot >= 0) base.Truncate(dot);