mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-27 04:00:42 +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;
|
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);
|
||||||
|
|
Loading…
Reference in a new issue