From 334cc318a48c54ed865ee13e6044e35bdad4b25f Mon Sep 17 00:00:00 2001 From: momo5502 Date: Wed, 22 Feb 2017 19:03:22 +0100 Subject: [PATCH] [FileSystem] Allow executing configs in subfolders --- src/Components/Modules/FileSystem.cpp | 12 +++++++++++- src/Components/Modules/RawFiles.cpp | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Components/Modules/FileSystem.cpp b/src/Components/Modules/FileSystem.cpp index eeb06e8f..f31715be 100644 --- a/src/Components/Modules/FileSystem.cpp +++ b/src/Components/Modules/FileSystem.cpp @@ -251,7 +251,14 @@ namespace Components int FileSystem::ExecIsFSStub(const char* execFilename) { - return !File(execFilename).exists(); + bool result = !File(execFilename).exists(); + + if(execFilename =="mp/stats_init.cfg"s) + { + OutputDebugStringA(""); + } + + return result; } void FileSystem::FsStartupSync(const char* a1) @@ -290,6 +297,9 @@ namespace Components // Filesystem config checks Utils::Hook(0x6098FD, FileSystem::ExecIsFSStub, HOOK_CALL).install()->quick(); + // Don't strip the folders from the config name (otherwise our ExecIsFSStub fails) + Utils::Hook::Nop(0x6098F2, 5); + // Register additional folders Utils::Hook(0x482647, FileSystem::StartupStub, HOOK_JUMP).install()->quick(); diff --git a/src/Components/Modules/RawFiles.cpp b/src/Components/Modules/RawFiles.cpp index 6eaaf205..486b059e 100644 --- a/src/Components/Modules/RawFiles.cpp +++ b/src/Components/Modules/RawFiles.cpp @@ -17,6 +17,7 @@ namespace Components Utils::Hook(0x59A6F8, RawFiles::LoadModdableRawfileFunc, HOOK_CALL).install()->quick(); Utils::Hook(0x57F1E6, RawFiles::LoadModdableRawfileFunc, HOOK_CALL).install()->quick(); Utils::Hook(0x57ED36, RawFiles::LoadModdableRawfileFunc, HOOK_CALL).install()->quick(); + //Utils::Hook(0x609832, RawFiles::LoadModdableRawfileFunc, HOOK_CALL).install()->quick(); // remove fs_game check for moddable rawfiles - allows non-fs_game to modify rawfiles Utils::Hook::Nop(0x61AB76, 2);