static void getStorageFileName(wchar_t * _fileName) { wchar_t strCacheFolderPath[PLUGIN_PATH_SIZE]; api().GetUserCachePath(strCacheFolderPath); wchar_t strShaderFolderPath[PLUGIN_PATH_SIZE]; swprintf(strShaderFolderPath, PLUGIN_PATH_SIZE, L"%ls/%ls", strCacheFolderPath, SHADER_STORAGE_FOLDER_NAME); wchar_t * pPath = strShaderFolderPath; if (!osal_path_existsW(strShaderFolderPath) || !osal_is_directory(strShaderFolderPath)) { if (osal_mkdirp(strShaderFolderPath) != 0) pPath = strCacheFolderPath; } swprintf(_fileName, PLUGIN_PATH_SIZE, L"%ls/GLideN64.%08lx.shaders", pPath, std::hash<std::string>()(RSP.romname)); }
static void getStorageFileName(wchar_t * _fileName) { wchar_t strCacheFolderPath[PLUGIN_PATH_SIZE]; api().GetUserCachePath(strCacheFolderPath); wchar_t strShaderFolderPath[PLUGIN_PATH_SIZE]; swprintf(strShaderFolderPath, PLUGIN_PATH_SIZE, L"%ls/%ls", strCacheFolderPath, SHADER_STORAGE_FOLDER_NAME); wchar_t * pPath = strShaderFolderPath; if (!osal_path_existsW(strShaderFolderPath) || !osal_is_directory(strShaderFolderPath)) { if (osal_mkdirp(strShaderFolderPath) != 0) pPath = strCacheFolderPath; } #ifdef GLES3 const wchar_t* strOpenGLType = L"GLES3"; #elif GLES3_1 const wchar_t* strOpenGLType = L"GLES3_1"; #else const wchar_t* strOpenGLType = L"OpenGL"; #endif swprintf(_fileName, PLUGIN_PATH_SIZE, L"%ls/GLideN64.%08lx.%ls.shaders", pPath, std::hash<std::string>()(RSP.romname), strOpenGLType); }