audio gaming

This commit is contained in:
Sajid
2024-10-01 01:20:29 +06:00
parent 2122f247ac
commit baf24bb36a
10 changed files with 180 additions and 7 deletions
+6 -1
View File
@@ -36,7 +36,12 @@ void* CodeCache::Find(uint32_t guest) const
return *reinterpret_cast<void**>(bucket + static_cast<uint64_t>(guest) * 2);
}
PPCFunc* KeFindHostFunction(uint32_t guest)
SWA_API PPCFunc* KeFindHostFunction(uint32_t guest)
{
return static_cast<PPCFunc*>(gCodeCache.Find(guest));
}
SWA_API void KeInsertHostFunction(uint32_t guest, PPCFunc* function)
{
gCodeCache.Insert(guest, function);
}
+2 -1
View File
@@ -13,6 +13,7 @@ struct CodeCache
void* Find(uint32_t guest) const;
};
PPCFunc* KeFindHostFunction(uint32_t guest);
SWA_API PPCFunc* KeFindHostFunction(uint32_t guest);
SWA_API void KeInsertHostFunction(uint32_t guest, PPCFunc* function);
extern CodeCache gCodeCache;
+1 -1
View File
@@ -1,6 +1,6 @@
#pragma once
#include "ppc_context.h"
#include "memory.h"
#include <kernel/memory.h>
struct GuestCode
{
+15
View File
@@ -133,6 +133,21 @@ DWORD SetThreadIdealProcessorImpl(uint32_t hThread, DWORD dwIdealProcessor)
return SetThreadIdealProcessor((HANDLE)hThread, dwIdealProcessor);
}
GUEST_FUNCTION_HOOK(sub_831B0ED0, memcpy);
GUEST_FUNCTION_HOOK(sub_831CCB98, memcpy);
GUEST_FUNCTION_HOOK(sub_831CEAE0, memcpy);
GUEST_FUNCTION_HOOK(sub_831CEE04, memcpy);
GUEST_FUNCTION_HOOK(sub_831CF2D0, memcpy);
GUEST_FUNCTION_HOOK(sub_831CF660, memcpy);
GUEST_FUNCTION_HOOK(sub_831B1358, memcpy);
GUEST_FUNCTION_HOOK(sub_831B5E00, memmove);
GUEST_FUNCTION_HOOK(sub_831B0BA0, memset);
GUEST_FUNCTION_HOOK(sub_831CCAA0, memset);
GUEST_FUNCTION_HOOK(sub_82BD4CA8, OutputDebugStringA);
GUEST_FUNCTION_HOOK(sub_82DFA2E8, SetThreadNameImpl);
GUEST_FUNCTION_HOOK(sub_82BD57A8, GetThreadPriorityImpl);
GUEST_FUNCTION_HOOK(sub_82BD5910, SetThreadIdealProcessorImpl);
GUEST_FUNCTION_STUB(sub_82BD58F8); // Some function that updates the TEB, don't really care since the field is not set