diff --git a/Plugin/Plugin.vcxproj b/Plugin/Plugin.vcxproj
index 055bb879..929d2f03 100644
--- a/Plugin/Plugin.vcxproj
+++ b/Plugin/Plugin.vcxproj
@@ -20,13 +20,13 @@
DynamicLibrary
true
- v142
+ v143
Unicode
DynamicLibrary
false
- v142
+ v143
false
Unicode
diff --git a/Plugin64/Plugin64.vcxproj b/Plugin64/Plugin64.vcxproj
index 00fe6ae8..512c712c 100644
--- a/Plugin64/Plugin64.vcxproj
+++ b/Plugin64/Plugin64.vcxproj
@@ -29,26 +29,26 @@
DynamicLibrary
true
- v142
+ v143
Unicode
DynamicLibrary
false
- v142
+ v143
true
Unicode
DynamicLibrary
true
- v142
+ v143
Unicode
DynamicLibrary
false
- v142
+ v143
true
Unicode
diff --git a/Plugin64/file_save.cpp b/Plugin64/file_save.cpp
index 748f6b1f..129e1d96 100644
--- a/Plugin64/file_save.cpp
+++ b/Plugin64/file_save.cpp
@@ -16,6 +16,7 @@ namespace FileSave {
void fileSaveProc6();
void fileSaveProc6V130();
void fileSaveProc7();
+ void fileSaveProc8();
uintptr_t fileSaveProc1ReturnAddress;
uintptr_t fileSaveProc2ReturnAddress;
uintptr_t fileSaveProc2CallAddress;
@@ -490,6 +491,30 @@ namespace FileSave {
return e;
}
+ DllError fileSaveProc8Injector(RunOptions options) {
+ DllError e = {};
+
+ switch (options.version) {
+ case v1_33_3_0:
+ // nop
+ BytePattern::temp_instance().find_pattern("90 48 8D 55 0F 48 8D 4D EF E8");
+ if (BytePattern::temp_instance().has_size(3, u8"ISSUE-231")) {
+ uintptr_t address = BytePattern::temp_instance().get(2).address();
+
+ Injector::MakeRangedNOP(address, address + 0xE);
+ }
+ else {
+ e.fileSave.unmatchdFileSaveProc8Injector = true;
+ }
+
+ break;
+ default:
+ e.fileSave.versionFileSaveProc8Injector = true;
+ }
+
+ return e;
+ }
+
DllError Init(RunOptions options) {
DllError result = {};
@@ -502,6 +527,7 @@ namespace FileSave {
result |= fileSaveProc5Injector(options);
result |= fileSaveProc6Injector(options);
result |= fileSaveProc7Injector(options);
+ result |= fileSaveProc8Injector(options);
return result;
}
diff --git a/Plugin64/plugin_64.h b/Plugin64/plugin_64.h
index 4be4683b..288eed3a 100644
--- a/Plugin64/plugin_64.h
+++ b/Plugin64/plugin_64.h
@@ -101,6 +101,8 @@ struct DllError{
bool versionFileSaveProc6Injector : 1;
bool unmatchdFileSaveProc7Injector : 1;
bool versionFileSaveProc7Injector : 1;
+ bool unmatchdFileSaveProc8Injector : 1;
+ bool versionFileSaveProc8Injector : 1;
};
std::string print() {
@@ -117,7 +119,9 @@ struct DllError{
+ PL(unmatchdFileSaveProc6Injector)
+ PL(versionFileSaveProc6Injector)
+ PL(unmatchdFileSaveProc7Injector)
- + PL(versionFileSaveProc7Injector);
+ + PL(versionFileSaveProc7Injector)
+ + PL(unmatchdFileSaveProc8Injector)
+ + PL(versionFileSaveProc8Injector);
}
} fileSave;
diff --git a/d3d9/d3d9.vcxproj b/d3d9/d3d9.vcxproj
index 72614bd2..7a63f711 100644
--- a/d3d9/d3d9.vcxproj
+++ b/d3d9/d3d9.vcxproj
@@ -20,13 +20,13 @@
DynamicLibrary
true
- v142
+ v143
Unicode
DynamicLibrary
false
- v142
+ v143
true
Unicode
diff --git a/version/version.vcxproj b/version/version.vcxproj
index 74de8f56..e3b32bc2 100644
--- a/version/version.vcxproj
+++ b/version/version.vcxproj
@@ -29,26 +29,26 @@
DynamicLibrary
true
- v142
+ v143
Unicode
DynamicLibrary
false
- v142
+ v143
true
Unicode
DynamicLibrary
true
- v142
+ v143
Unicode
DynamicLibrary
false
- v142
+ v143
true
Unicode