mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 14:52:01 +00:00
- added means to define resource IDs in all container formats allowing long file names.
To define these, construct a file name like "basename.{resourceid}.extension", e.g. blaster.{65}.qav will define 'blaster.qav' with a resource ID of 65.
This commit is contained in:
parent
b2f7eb5b4f
commit
23b8707fc2
1 changed files with 14 additions and 1 deletions
|
@ -113,7 +113,20 @@ struct FileSystem::LumpRecord
|
|||
if (Namespace == ns_hidden) shortName.qword = 0;
|
||||
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;
|
||||
auto dot = base.LastIndexOf('.');
|
||||
if (dot >= 0) base.Truncate(dot);
|
||||
|
|
Loading…
Reference in a new issue