gsdx linux: implement GSdxApp::LoadResource based on g_resource

v2: use early return to reduce code/branch complexity
v3: use nullptr
This commit is contained in:
Gregory Hainaut 2017-04-08 17:58:20 +02:00
parent 1cbade511d
commit ebae8b65f8
1 changed files with 25 additions and 2 deletions

View File

@ -59,11 +59,34 @@ bool GSdxApp::LoadResource(int id, std::vector<char>& buff, const char* type)
#else #else
#include "GSdxResources.h"
bool GSdxApp::LoadResource(int id, std::vector<char>& buff, const char* type) bool GSdxApp::LoadResource(int id, std::vector<char>& buff, const char* type)
{ {
buff.clear(); std::string path;
printf("LoadResource not implemented\n"); switch (id) {
default:
printf("LoadResource not implemented for id %d\n", id);
return false; return false;
}
GBytes *bytes = g_resource_lookup_data(GSdx_res_get_resource(), path.c_str(), G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr);
size_t size = 0;
const void* data = g_bytes_get_data(bytes, &size);
if (data == nullptr || size == 0) {
printf("Failed to get data for resource: %d\n", id);
return false;
}
buff.clear();
buff.resize(size + 1);
memcpy(buff.data(), data, size + 1);
g_bytes_unref(bytes);
return true;
} }
size_t GSdxApp::GetPrivateProfileString(const char* lpAppName, const char* lpKeyName, const char* lpDefault, char* lpReturnedString, size_t nSize, const char* lpFileName) size_t GSdxApp::GetPrivateProfileString(const char* lpAppName, const char* lpKeyName, const char* lpDefault, char* lpReturnedString, size_t nSize, const char* lpFileName)