summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/HiresTextures.cpp
diff options
context:
space:
mode:
authorRachel Bryk <RachelBryk@gmail.com>2014-09-22 12:13:29 -0400
committerRachel Bryk <RachelBryk@gmail.com>2014-09-22 12:51:30 -0400
commit4ed9b561bd002545fc7178d404b169b1914c17bd (patch)
tree5e59d7e16f16082e09bd973f7d423fd2edae6723 /Source/Core/VideoCommon/HiresTextures.cpp
parentd4952c7637b5e0f820eb2278df9b89c0fb22d819 (diff)
Allow custom textures to load from unicode paths.
Diffstat (limited to 'Source/Core/VideoCommon/HiresTextures.cpp')
-rw-r--r--Source/Core/VideoCommon/HiresTextures.cpp8
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());