Smarter check for texture finding. (#61)
This commit is contained in:
parent
35a1109c21
commit
97b351def9
|
@ -9,15 +9,20 @@ extern "C" {
|
||||||
///////////
|
///////////
|
||||||
|
|
||||||
static TexData* LoadTextureFromFile(GfxData *aGfxData, const String& aFile) {
|
static TexData* LoadTextureFromFile(GfxData *aGfxData, const String& aFile) {
|
||||||
|
|
||||||
// Image file
|
// Image file
|
||||||
String _TexturePath = aFile.SubString(aFile.Find('/') + 1); // Remove the "actors/"
|
SysPath _Filename = fstring("%s/%s.png", aGfxData->mPackFolder.c_str(), aFile.begin());
|
||||||
SysPath _Filename = fstring("%s/%s.png", aGfxData->mPackFolder.c_str(), _TexturePath.begin());
|
|
||||||
FILE *_File = fopen(_Filename.c_str(), "rb");
|
FILE *_File = fopen(_Filename.c_str(), "rb");
|
||||||
|
// Check as if we're an Actor.
|
||||||
if (!_File) {
|
if (!_File) {
|
||||||
PrintError(" ERROR: Unable to open file \"%s\"", _Filename.c_str());
|
String _TexturePath = aFile.SubString(aFile.Find('/') + 1); // Remove the "actors/"
|
||||||
|
SysPath _ActorFilename = fstring("%s/%s.png", aGfxData->mPackFolder.c_str(), _TexturePath.begin());
|
||||||
|
_File = fopen(_ActorFilename.c_str(), "rb");
|
||||||
|
// The file does not exist in either spot!
|
||||||
|
if (!_File) {
|
||||||
|
PrintError(" ERROR: Unable to open file at \"%s\" or \"%s\"", _Filename.c_str(), _ActorFilename.c_str());
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Texture data
|
// Texture data
|
||||||
fseek(_File, 0, SEEK_END);
|
fseek(_File, 0, SEEK_END);
|
||||||
|
|
Loading…
Reference in New Issue