summarylogtreecommitdiffstats
path: root/tsc-2.0.0-mga-rename-custom-filesystem-relative.patch
diff options
context:
space:
mode:
authorRafael Fontenelle2016-05-08 15:54:15 -0300
committerRafael Fontenelle2016-05-08 15:54:15 -0300
commit742379c07eedb6947581879952a68ba31f57e174 (patch)
treed7e2ffd46c8e9c931069220e415adda4e3bdf64f /tsc-2.0.0-mga-rename-custom-filesystem-relative.patch
parent5ca1e6a596bf65b5cf83adcd9fc862da090b5a52 (diff)
downloadaur-742379c07eedb6947581879952a68ba31f57e174.tar.gz
Fix build errors
Diffstat (limited to 'tsc-2.0.0-mga-rename-custom-filesystem-relative.patch')
-rw-r--r--tsc-2.0.0-mga-rename-custom-filesystem-relative.patch468
1 files changed, 468 insertions, 0 deletions
diff --git a/tsc-2.0.0-mga-rename-custom-filesystem-relative.patch b/tsc-2.0.0-mga-rename-custom-filesystem-relative.patch
new file mode 100644
index 000000000000..8889782e4ab4
--- /dev/null
+++ b/tsc-2.0.0-mga-rename-custom-filesystem-relative.patch
@@ -0,0 +1,468 @@
+diff -Naur TSC-2.0.0/tsc/src/core/filesystem/boost_relative.cpp TSC-2.0.0-patch/tsc/src/core/filesystem/boost_relative.cpp
+--- TSC-2.0.0/tsc/src/core/filesystem/boost_relative.cpp 2015-03-31 14:36:44.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/core/filesystem/boost_relative.cpp 1970-01-01 01:00:00.000000000 +0100
+@@ -1,81 +0,0 @@
+-/***************************************************************************
+- * boost_relative.cpp - Implementation of boost::filesystem::relvative()
+- *
+- * Copyright © 2013 - 2014 The TSC Contributors
+- ***************************************************************************/
+-/*
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 3 of the License, or
+- (at your option) any later version.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#include "boost_relative.hpp"
+-
+-namespace boost {
+-namespace filesystem {
+-
+-/**
+- * Returns the path you need to walk in order to go from `start_path' to
+- * `target_path'. Examples:
+- *
+- * /foo/bar/baz to /foo/blubb/zubb/xx => ../../blubb/zubb/xx
+- * /foo/bar to /foo => ..
+- * /foo to /foo/bar => bar
+- * /foo/bar to /foo/bar => .
+- *
+- * Only works with absolute pathes. If relative ones are passed, boost::filesystem::absolute()
+- * is called on them previously.
+- */
+-boost::filesystem::path relative(boost::filesystem::path start_path, boost::filesystem::path target_path)
+-{
+- start_path = boost::filesystem::absolute(start_path);
+- target_path = boost::filesystem::absolute(target_path);
+-
+- if (start_path == target_path)
+- return boost::filesystem::path(".");
+-
+- boost::filesystem::path result;
+- boost::filesystem::path::iterator startpath_iter = start_path.begin();
+- boost::filesystem::path::iterator targetpath_iter = target_path.begin();
+-
+- while(true) {
+- if (targetpath_iter == target_path.end()) {
+- /* /foo/bar
+- * /foo
+- */
+- for(; startpath_iter != start_path.end(); startpath_iter++) {
+- result /= "..";
+- }
+- break;
+- }
+- else if (startpath_iter == start_path.end()) {
+- /* /foo
+- * /foo/bar
+- */
+- for(; targetpath_iter != target_path.end(); targetpath_iter++) {
+- result /= (*targetpath_iter);
+- }
+- break;
+- }
+- else if (*startpath_iter != *targetpath_iter) {
+- // Both are inequal at this part, but not terminal
+- result /= "..";
+- }
+- else {
+- // Both are equal at this part of the path (part of common root), skip to next one
+- // (ignore)
+- }
+-
+- startpath_iter++;
+- targetpath_iter++;
+- }
+-
+- return result;
+-}
+-
+-}
+-}
+diff -Naur TSC-2.0.0/tsc/src/core/filesystem/boost_relative.hpp TSC-2.0.0-patch/tsc/src/core/filesystem/boost_relative.hpp
+--- TSC-2.0.0/tsc/src/core/filesystem/boost_relative.hpp 2015-03-31 14:36:44.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/core/filesystem/boost_relative.hpp 1970-01-01 01:00:00.000000000 +0100
+@@ -1,33 +0,0 @@
+-/***************************************************************************
+- * boost_relative.hpp - Implementation of boost::filesystem::relvative()
+- *
+- * Copyright © 2013 - 2014 The TSC Contributors
+- ***************************************************************************/
+-/*
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 3 of the License, or
+- (at your option) any later version.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-/*
+- * This file adds a function make_relative() to boost::filesystem that
+- * allows us to create a relative path from a given “root”, i.e. the
+- * common parts of both paths are missing in the returned path object.
+- */
+-
+-#ifndef TSC_BOOST_RELATIVE_HPP
+-#define TSC_BOOST_RELATIVE_HPP
+-#include <boost/filesystem.hpp>
+-
+-namespace boost {
+-
+- namespace filesystem {
+- /// Find the relative path from start_path to target_path.
+- boost::filesystem::path relative(boost::filesystem::path start_path, boost::filesystem::path target_path);
+- }
+-}
+-#endif
+diff -Naur TSC-2.0.0/tsc/src/core/filesystem/relative.cpp TSC-2.0.0-patch/tsc/src/core/filesystem/relative.cpp
+--- TSC-2.0.0/tsc/src/core/filesystem/relative.cpp 1970-01-01 01:00:00.000000000 +0100
++++ TSC-2.0.0-patch/tsc/src/core/filesystem/relative.cpp 2016-01-12 08:31:43.537609273 +0100
+@@ -0,0 +1,89 @@
++/***************************************************************************
++ * boost_relative.cpp - Implementation of boost::filesystem::relvative()
++ *
++ * Copyright © 2013 - 2014 The TSC Contributors
++ ***************************************************************************/
++/*
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>.
++*/
++
++#include <boost/version.hpp>
++#include <boost/filesystem.hpp>
++#include "relative.hpp"
++
++/**
++ * Returns the path you need to walk in order to go from `start_path' to
++ * `target_path'. Examples:
++ *
++ * /foo/bar/baz to /foo/blubb/zubb/xx => ../../blubb/zubb/xx
++ * /foo/bar to /foo => ..
++ * /foo to /foo/bar => bar
++ * /foo/bar to /foo/bar => .
++ *
++ * Only works with absolute pathes. If relative ones are passed, boost::filesystem::absolute()
++ * is called on them previously.
++ *
++ * With boost >= 1.60.0 this function is implemented on top of
++ * boost::filesystem::relative(). With boost versions below that
++ * we provide our own implementation.
++ *
++ * TODO: If boost 1.60.0 becomes common enough among distros, remove
++ * our custom implementation.
++ */
++boost::filesystem::path TSC::fs_relative(boost::filesystem::path start_path, boost::filesystem::path target_path)
++{
++#if BOOST_VERSION >= 106000
++ // Boost 1.60.0 has fs::relative(). Beware inverted argument order.
++ return boost::filesystem::relative(target_path, start_path);
++#else
++ start_path = boost::filesystem::absolute(start_path);
++ target_path = boost::filesystem::absolute(target_path);
++
++ if (start_path == target_path)
++ return boost::filesystem::path(".");
++
++ boost::filesystem::path result;
++ boost::filesystem::path::iterator startpath_iter = start_path.begin();
++ boost::filesystem::path::iterator targetpath_iter = target_path.begin();
++
++ while(true) {
++ if (targetpath_iter == target_path.end()) {
++ /* /foo/bar
++ * /foo
++ */
++ for(; startpath_iter != start_path.end(); startpath_iter++) {
++ result /= "..";
++ }
++ break;
++ }
++ else if (startpath_iter == start_path.end()) {
++ /* /foo
++ * /foo/bar
++ */
++ for(; targetpath_iter != target_path.end(); targetpath_iter++) {
++ result /= (*targetpath_iter);
++ }
++ break;
++ }
++ else if (*startpath_iter != *targetpath_iter) {
++ // Both are inequal at this part, but not terminal
++ result /= "..";
++ }
++ else {
++ // Both are equal at this part of the path (part of common root), skip to next one
++ // (ignore)
++ }
++
++ startpath_iter++;
++ targetpath_iter++;
++ }
++
++ return result;
++#endif
++}
+diff -Naur TSC-2.0.0/tsc/src/core/filesystem/relative.hpp TSC-2.0.0-patch/tsc/src/core/filesystem/relative.hpp
+--- TSC-2.0.0/tsc/src/core/filesystem/relative.hpp 1970-01-01 01:00:00.000000000 +0100
++++ TSC-2.0.0-patch/tsc/src/core/filesystem/relative.hpp 2016-01-12 08:31:45.176534981 +0100
+@@ -0,0 +1,34 @@
++/***************************************************************************
++ * relative.hpp - Implementation of relative path detector
++ *
++ * Copyright © 2013 - 2014 The TSC Contributors
++ ***************************************************************************/
++/*
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>.
++*/
++
++/*
++ * This file adds a function fs_relative() to boost::filesystem that
++ * allows us to create a relative path from a given “root”, i.e. the
++ * common parts of both paths are missing in the returned path object.
++ *
++ * Boost >= 1.60.0 includes such a function, but for the sake of
++ * supporting older versions as well we provide our own version
++ * here.
++ */
++
++#ifndef TSC_RELATIVE_HPP
++#define TSC_RELATIVE_HPP
++
++namespace TSC {
++
++ /// Find the relative path from start_path to target_path.
++ boost::filesystem::path fs_relative(boost::filesystem::path start_path, boost::filesystem::path target_path);
++}
++#endif
+diff -Naur TSC-2.0.0/tsc/src/core/global_basic.hpp TSC-2.0.0-patch/tsc/src/core/global_basic.hpp
+--- TSC-2.0.0/tsc/src/core/global_basic.hpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/core/global_basic.hpp 2016-01-12 08:32:15.508164917 +0100
+@@ -75,7 +75,6 @@
+ #include <boost/thread/thread.hpp>
+ #include <boost/chrono.hpp>
+ #include <boost/system/error_code.hpp>
+-#include "filesystem/boost_relative.hpp"
+
+ // libxml++ (with its prerequisite glibmm)
+ #include <glibmm.h>
+diff -Naur TSC-2.0.0/tsc/src/enemies/static.cpp TSC-2.0.0-patch/tsc/src/enemies/static.cpp
+--- TSC-2.0.0/tsc/src/enemies/static.cpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/enemies/static.cpp 2016-01-12 08:32:15.512164737 +0100
+@@ -25,11 +25,9 @@
+ #include "../objects/path.hpp"
+ #include "../core/filesystem/filesystem.hpp"
+ #include "../core/filesystem/resource_manager.hpp"
+-#include "../core/filesystem/boost_relative.hpp"
++#include "../core/filesystem/relative.hpp"
+ #include "../core/xml_attributes.hpp"
+
+-namespace fs = boost::filesystem;
+-
+ namespace TSC {
+
+ /* *** *** *** *** *** *** cStaticEnemy *** *** *** *** *** *** *** *** *** *** *** */
+@@ -292,7 +290,7 @@
+ CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_static_enemy_image"));
+ Editor_Add(UTF8_("Image"), UTF8_("Image filename"), editbox, 200);
+
+- editbox->setText(path_to_utf8(fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_image->Get_Path())).c_str());
++ editbox->setText(path_to_utf8(fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_image->Get_Path())).c_str());
+ editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cStaticEnemy::Editor_Image_Text_Changed, this));
+
+ // rotation speed
+diff -Naur TSC-2.0.0/tsc/src/level/level_background.cpp TSC-2.0.0-patch/tsc/src/level/level_background.cpp
+--- TSC-2.0.0/tsc/src/level/level_background.cpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/level/level_background.cpp 2016-01-12 08:32:15.509164872 +0100
+@@ -20,7 +20,7 @@
+ #include "../video/gl_surface.hpp"
+ #include "../core/framerate.hpp"
+ #include "../core/filesystem/resource_manager.hpp"
+-#include "../core/filesystem/boost_relative.hpp"
++#include "../core/filesystem/relative.hpp"
+ #include "../core/xml_attributes.hpp"
+
+ namespace fs = boost::filesystem;
+@@ -195,7 +195,7 @@
+
+ // Make the path relative to pixmaps/ if it isn’t yet
+ if (m_image_1_filename.is_absolute())
+- m_image_1_filename = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_image_1_filename);
++ m_image_1_filename = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_image_1_filename);
+
+ m_image_1 = pVideo->Get_Surface(m_image_1_filename);
+ }
+diff -Naur TSC-2.0.0/tsc/src/level/level.cpp TSC-2.0.0-patch/tsc/src/level/level.cpp
+--- TSC-2.0.0/tsc/src/level/level.cpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/level/level.cpp 2016-01-12 08:32:15.509164872 +0100
+@@ -56,7 +56,7 @@
+ #include "../objects/path.hpp"
+ #include "../core/filesystem/filesystem.hpp"
+ #include "../core/filesystem/resource_manager.hpp"
+-#include "../core/filesystem/boost_relative.hpp"
++#include "../core/filesystem/relative.hpp"
+ #include "../overworld/world_editor.hpp"
+ #include "../scripting/events/key_down_event.hpp"
+
+@@ -930,7 +930,7 @@
+
+ fs::path cLevel::Get_Music_Filename() const
+ {
+- return fs::relative(pResource_Manager->Get_Game_Music_Directory(), m_musicfile);
++ return fs_relative(pResource_Manager->Get_Game_Music_Directory(), m_musicfile);
+ }
+
+ void cLevel::Set_Music(fs::path filename)
+diff -Naur TSC-2.0.0/tsc/src/objects/moving_platform.cpp TSC-2.0.0-patch/tsc/src/objects/moving_platform.cpp
+--- TSC-2.0.0/tsc/src/objects/moving_platform.cpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/objects/moving_platform.cpp 2016-01-12 08:32:15.510164827 +0100
+@@ -29,7 +29,7 @@
+ #include "../objects/path.hpp"
+ #include "../input/mouse.hpp"
+ #include "../core/filesystem/resource_manager.hpp"
+-#include "../core/filesystem/boost_relative.hpp"
++#include "../core/filesystem/relative.hpp"
+ #include "../core/xml_attributes.hpp"
+
+ namespace fs = boost::filesystem;
+@@ -209,15 +209,15 @@
+
+ fs::path rel;
+ // image top left
+- rel = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[0].m_image->Get_Path());
++ rel = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[0].m_image->Get_Path());
+ Convert_Path_Separators(rel);
+ Add_Property(p_node, "image_top_left", path_to_utf8(rel));
+ // image top middle
+- rel = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[1].m_image->Get_Path());
++ rel = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[1].m_image->Get_Path());
+ Convert_Path_Separators(rel);
+ Add_Property(p_node, "image_top_middle", path_to_utf8(rel));
+ // image top right
+- rel = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[2].m_image->Get_Path());
++ rel = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[2].m_image->Get_Path());
+ Convert_Path_Separators(rel);
+ Add_Property(p_node, "image_top_right", path_to_utf8(rel));
+
+@@ -1043,7 +1043,7 @@
+ editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_moving_platform_image_top_left"));
+ Editor_Add(UTF8_("Image top left"), UTF8_("Image top left"), editbox, 200);
+
+- rel = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[0].m_image->Get_Path());
++ rel = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[0].m_image->Get_Path());
+ editbox->setText(path_to_utf8(rel));
+ editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cMoving_Platform::Editor_Image_Top_Left_Text_Changed, this));
+
+@@ -1051,7 +1051,7 @@
+ editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_moving_platform_image_top_middle"));
+ Editor_Add(UTF8_("Image top middle"), UTF8_("Image top middle"), editbox, 200);
+
+- rel = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[1].m_image->Get_Path());
++ rel = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[1].m_image->Get_Path());
+ editbox->setText(path_to_utf8(rel));
+ editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cMoving_Platform::Editor_Image_Top_Middle_Text_Changed, this));
+
+@@ -1059,7 +1059,7 @@
+ editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_moving_platform_image_top_right"));
+ Editor_Add(UTF8_("Image top right"), UTF8_("Image top right"), editbox, 200);
+
+- rel = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[2].m_image->Get_Path());
++ rel = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_images[2].m_image->Get_Path());
+ editbox->setText(path_to_utf8(rel));
+ editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cMoving_Platform::Editor_Image_Top_Right_Text_Changed, this));
+
+diff -Naur TSC-2.0.0/tsc/src/objects/sprite.cpp TSC-2.0.0-patch/tsc/src/objects/sprite.cpp
+--- TSC-2.0.0/tsc/src/objects/sprite.cpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/objects/sprite.cpp 2016-01-12 08:32:15.510164827 +0100
+@@ -28,6 +28,7 @@
+ #include "../core/i18n.hpp"
+ #include "../scripting/events/touch_event.hpp"
+ #include "../level/level_editor.hpp"
++#include "../core/filesystem/relative.hpp"
+ #include "../core/filesystem/resource_manager.hpp"
+ #include "../core/xml_attributes.hpp"
+
+@@ -462,7 +463,7 @@
+ // Only save the relative part of the filename -- otherwise the
+ // generated levels wouldn’t be portable.
+ if (img_filename.is_absolute())
+- img_filename = boost::filesystem::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), img_filename);
++ img_filename = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), img_filename);
+
+ Add_Property(p_node, "image", img_filename.generic_string());
+
+@@ -1400,7 +1401,7 @@
+ CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(wmgr.createWindow("TaharezLook/Editbox", "editor_sprite_image"));
+ Editor_Add(UTF8_("Image"), UTF8_("Image filename"), editbox, 200);
+
+- fs::path rel = fs::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_start_image->Get_Path());
++ fs::path rel = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), m_start_image->Get_Path());
+ editbox->setText(path_to_utf8(rel));
+ editbox->subscribeEvent(CEGUI::Editbox::EventTextChanged, CEGUI::Event::Subscriber(&cSprite::Editor_Image_Text_Changed, this));
+
+diff -Naur TSC-2.0.0/tsc/src/video/animation.cpp TSC-2.0.0-patch/tsc/src/video/animation.cpp
+--- TSC-2.0.0/tsc/src/video/animation.cpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/video/animation.cpp 2016-01-12 08:32:15.511164782 +0100
+@@ -23,7 +23,7 @@
+ #include "../core/i18n.hpp"
+ #include "../core/filesystem/filesystem.hpp"
+ #include "../core/filesystem/resource_manager.hpp"
+-#include "../core/filesystem/boost_relative.hpp"
++#include "../core/filesystem/relative.hpp"
+ #include "../core/xml_attributes.hpp"
+ #include "../input/mouse.hpp"
+
+@@ -1149,7 +1149,7 @@
+ // remember the filename for saving
+ m_image_filename = filename;
+ if (filename.is_absolute())
+- m_image_filename = boost::filesystem::relative(pResource_Manager->Get_Game_Pixmaps_Directory(), filename);
++ m_image_filename = fs_relative(pResource_Manager->Get_Game_Pixmaps_Directory(), filename);
+
+ // set new image
+ Set_Image(pVideo->Get_Surface(m_image_filename, 0));
+diff -Naur TSC-2.0.0/tsc/src/video/video.cpp TSC-2.0.0-patch/tsc/src/video/video.cpp
+--- TSC-2.0.0/tsc/src/video/video.cpp 2015-07-16 19:18:42.000000000 +0200
++++ TSC-2.0.0-patch/tsc/src/video/video.cpp 2016-01-12 08:32:15.511164782 +0100
+@@ -29,6 +29,7 @@
+ #include "../core/math/size.hpp"
+ #include "../core/filesystem/filesystem.hpp"
+ #include "../core/filesystem/resource_manager.hpp"
++#include "../core/filesystem/relative.hpp"
+ #include "../gui/spinner.hpp"
+
+ namespace fs = boost::filesystem;
+@@ -663,7 +664,7 @@
+ for (vector<fs::path>::iterator itr = image_files.begin(); itr != image_files.end(); ++itr) {
+ // get filenames
+ fs::path filename = (*itr);
+- fs::path cache_filename = imgcache_dir_active / fs::relative(pResource_Manager->Get_Game_Data_Directory(), filename);
++ fs::path cache_filename = imgcache_dir_active / fs_relative(pResource_Manager->Get_Game_Data_Directory(), filename);
+
+ // if directory
+ if (fs::is_directory(filename)) {
+@@ -1011,7 +1012,7 @@
+ if (fs::exists(settings_file) && fs::is_regular_file(settings_file)) {
+ settings = pSettingsParser->Get(settings_file);
+
+- fs::path img_filename_cache = m_imgcache_dir / fs::relative(pResource_Manager->Get_Game_Data_Directory(), settings_file); // Why add .png here? Should be in the return value of fs::relative() anyway.
++ fs::path img_filename_cache = m_imgcache_dir / fs_relative(pResource_Manager->Get_Game_Data_Directory(), settings_file); // Why add .png here? Should be in the return value of fs_relative() anyway.
+ // check if image cache file exists
+ if (fs::exists(img_filename_cache) && fs::is_regular_file(img_filename_cache))
+ sdl_surface = IMG_Load(path_to_utf8(img_filename_cache).c_str());