LoadIQM: attempt to load texture from IQM at loadtime. (#4029)

tries to load the texture with the base path of the original IQM file, relative paths should work.
This commit is contained in:
Jett 2024-06-03 03:03:33 -04:00 committed by GitHub
parent 0cad25f798
commit 06f8c4f733
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 0 deletions

View File

@ -4268,6 +4268,8 @@ static Model LoadIQM(const char *fileName)
// In case file can not be read, return an empty model
if (fileDataPtr == NULL) return model;
const char* basePath = GetDirectoryPath(fileName);
// Read IQM header
IQMHeader *iqmHeader = (IQMHeader *)fileDataPtr;
@ -4312,6 +4314,7 @@ static Model LoadIQM(const char *fileName)
memcpy(material, fileDataPtr + iqmHeader->ofs_text + imesh[i].material, MATERIAL_NAME_LENGTH*sizeof(char));
model.materials[i] = LoadMaterialDefault();
model.materials[i].maps[MATERIAL_MAP_ALBEDO].texture = LoadTexture(TextFormat("%s/%s", basePath, material));
TRACELOG(LOG_DEBUG, "MODEL: [%s] mesh name (%s), material (%s)", fileName, name, material);