Skip to content

Commit ff3aaca

Browse files
committed
Improve log message when no valid locations were found for patching
1 parent e953aa4 commit ff3aaca

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

RS_ASIO/Patcher.cpp

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -130,26 +130,27 @@ static void Patch_CallRelativeAddress(const std::vector<void*>& offsets)
130130
void PatchOriginalCode()
131131
{
132132
rslog::info_ts() << __FUNCTION__ << std::endl;
133-
134-
// patch CoCreateInstance calls
135-
{
136-
rslog::info_ts() << "Patching CoCreateInstance" << std::endl;
137133

138-
std::vector<void*> offsets = FindBytesOffsets(originalBytes_call_CoCreateInstance, sizeof(originalBytes_call_CoCreateInstance));
139-
Patch_CallAbsoluteAddress<(void*)&Patched_CoCreateInstance>(offsets);
140-
}
134+
std::vector<void*> offsets_CoCreateInstance = FindBytesOffsets(originalBytes_call_CoCreateInstance, sizeof(originalBytes_call_CoCreateInstance));
135+
std::vector<void*> offsets_PaMarshalPointers = FindBytesOffsets(originalBytes_call_PortAudio_MarshalStreamComPointers, sizeof(originalBytes_call_PortAudio_MarshalStreamComPointers));
136+
std::vector<void*> offsets_PaUnmarshalPointers = FindBytesOffsets(originalBytes_call_UnmarshalStreamComPointers, sizeof(originalBytes_call_UnmarshalStreamComPointers));
141137

142-
// patch PortAudio MarshalStreamComPointers
138+
if (offsets_CoCreateInstance.size() == 0 && offsets_PaMarshalPointers.size() == 0 && offsets_PaUnmarshalPointers.size() == 0)
143139
{
144-
rslog::info_ts() << "Patching PortAudio MarshalStreamComPointers" << std::endl;
145-
std::vector<void*> offsets = FindBytesOffsets(originalBytes_call_PortAudio_MarshalStreamComPointers, sizeof(originalBytes_call_PortAudio_MarshalStreamComPointers));
146-
Patch_CallRelativeAddress<(void*)&Patched_PortAudio_MarshalStreamComPointers>(offsets);
140+
rslog::error_ts() << "No valid locations for patching were found. Make sure you're trying this on the right game version." << std::endl;
147141
}
148-
149-
// patch PortAudio UnmarshalStreamComPointers
142+
else
150143
{
144+
// patch CoCreateInstance calls
145+
rslog::info_ts() << "Patching CoCreateInstance" << std::endl;
146+
Patch_CallAbsoluteAddress<(void*)&Patched_CoCreateInstance>(offsets_CoCreateInstance);
147+
148+
// patch PortAudio MarshalStreamComPointers
149+
rslog::info_ts() << "Patching PortAudio MarshalStreamComPointers" << std::endl;
150+
Patch_CallRelativeAddress<(void*)&Patched_PortAudio_MarshalStreamComPointers>(offsets_PaMarshalPointers);
151+
152+
// patch PortAudio UnmarshalStreamComPointers
151153
rslog::info_ts() << "Patching PortAudio UnmarshalStreamComPointers" << std::endl;
152-
std::vector<void*> offsets = FindBytesOffsets(originalBytes_call_UnmarshalStreamComPointers, sizeof(originalBytes_call_UnmarshalStreamComPointers));
153-
Patch_CallRelativeAddress<(void*)&Patched_PortAudio_UnmarshalStreamComPointers>(offsets);
154+
Patch_CallRelativeAddress<(void*)&Patched_PortAudio_UnmarshalStreamComPointers>(offsets_PaUnmarshalPointers);
154155
}
155156
}

0 commit comments

Comments
 (0)