diff options
| author | Rachel Bryk <RachelBryk@gmail.com> | 2014-09-22 12:13:29 -0400 |
|---|---|---|
| committer | Rachel Bryk <RachelBryk@gmail.com> | 2014-09-22 12:51:30 -0400 |
| commit | 4ed9b561bd002545fc7178d404b169b1914c17bd (patch) | |
| tree | 5e59d7e16f16082e09bd973f7d423fd2edae6723 /Source/Core/VideoCommon/HiresTextures.cpp | |
| parent | d4952c7637b5e0f820eb2278df9b89c0fb22d819 (diff) | |
Allow custom textures to load from unicode paths.
Diffstat (limited to 'Source/Core/VideoCommon/HiresTextures.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/HiresTextures.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/HiresTextures.cpp b/Source/Core/VideoCommon/HiresTextures.cpp index 605cef4756..2728725b25 100644 --- a/Source/Core/VideoCommon/HiresTextures.cpp +++ b/Source/Core/VideoCommon/HiresTextures.cpp @@ -94,7 +94,13 @@ PC_TexFormat GetHiresTex(const std::string& filename, unsigned int* pWidth, unsi int height; int channels; - u8 *temp = SOIL_load_image(textureMap[filename].c_str(), &width, &height, &channels, SOIL_LOAD_RGBA); + File::IOFile file; + file.Open(textureMap[filename], "rb"); + std::vector<u8> buffer(file.GetSize()); + file.ReadBytes(buffer.data(), file.GetSize()); + + u8* temp = SOIL_load_image_from_memory(buffer.data(), (int)buffer.size(), &width, &height, &channels, SOIL_LOAD_RGBA); + if (temp == nullptr) { ERROR_LOG(VIDEO, "Custom texture %s failed to load", textureMap[filename].c_str()); |
