diff --git a/r5dev/codecs/Miles/miles_impl.cpp b/r5dev/codecs/Miles/miles_impl.cpp new file mode 100644 index 00000000..173f1672 --- /dev/null +++ b/r5dev/codecs/Miles/miles_impl.cpp @@ -0,0 +1,39 @@ +#include "core/stdafx.h" +#include "miles_impl.h" + +//----------------------------------------------------------------------------- +// Purpose: logs debug output emitted from the Miles Sound System +// Input : nLogLevel - +// pszMessage - +//----------------------------------------------------------------------------- +void AIL_LogFunc(int64_t nLogLevel, const char* pszMessage) +{ + DevMsg(eDLL_T::AUDIO, pszMessage); + v_AIL_LogFunc(nLogLevel, pszMessage); +} + +//----------------------------------------------------------------------------- +// Purpose: initializes the miles sound system +// Output : true on success, false otherwise +//----------------------------------------------------------------------------- +bool Miles_Initialize() +{ + bool result = v_Miles_Initialize(); + + DevMsg(eDLL_T::AUDIO, "Miles_Initialize: %s\n", result ? "initialized successfully" : "failed to initialize"); + + return result; +} + +/////////////////////////////////////////////////////////////////////////////// +void MilesCore_Attach() +{ + DetourAttach(&v_AIL_LogFunc, &AIL_LogFunc); + DetourAttach(&v_Miles_Initialize, &Miles_Initialize); +} + +void MilesCore_Detach() +{ + DetourDetach(&v_AIL_LogFunc, &AIL_LogFunc); + DetourDetach(&v_Miles_Initialize, &Miles_Initialize); +} \ No newline at end of file diff --git a/r5dev/milessdk/shared/core.h b/r5dev/codecs/Miles/miles_impl.h similarity index 94% rename from r5dev/milessdk/shared/core.h rename to r5dev/codecs/Miles/miles_impl.h index 3dc7c6e0..f6e4acc9 100644 --- a/r5dev/milessdk/shared/core.h +++ b/r5dev/codecs/Miles/miles_impl.h @@ -16,6 +16,7 @@ class MilesCore : public IDetour virtual void GetAdr(void) const { spdlog::debug("| FUN: AIL_LogFunc : {:#18x} |\n", p_AIL_LogFunc.GetPtr()); + spdlog::debug("| FUN: Miles_Initialize : {:#18x} |\n", p_Miles_Initialize.GetPtr()); spdlog::debug("+----------------------------------------------------------------+\n"); } virtual void GetFun(void) const diff --git a/r5dev/milessdk/win64_rrthreads.h b/r5dev/codecs/Miles/radshal_wasapi.h similarity index 93% rename from r5dev/milessdk/win64_rrthreads.h rename to r5dev/codecs/Miles/radshal_wasapi.h index 9d2fdba7..29374b0c 100644 --- a/r5dev/milessdk/win64_rrthreads.h +++ b/r5dev/codecs/Miles/radshal_wasapi.h @@ -4,7 +4,7 @@ inline CMemory p_WASAPI_GetAudioDevice; /////////////////////////////////////////////////////////////////////////////// -class VWASAPIServiceThread : public IDetour +class VRadShal : public IDetour { virtual void GetAdr(void) const { @@ -23,4 +23,4 @@ class VWASAPIServiceThread : public IDetour }; /////////////////////////////////////////////////////////////////////////////// -REGISTER(VWASAPIServiceThread); +REGISTER(VRadShal); diff --git a/r5dev/codecs/bink/bink_impl.cpp b/r5dev/codecs/bink/bink_impl.cpp new file mode 100644 index 00000000..9abab80e --- /dev/null +++ b/r5dev/codecs/bink/bink_impl.cpp @@ -0,0 +1,31 @@ +#include "core/stdafx.h" +#include "codecs/bink/bink_impl.h" + +//----------------------------------------------------------------------------- +// Purpose: opens bik video by handle, and logs any error caused during loading +// Input : hBinkFile - +// nFlags - +// Output : pointer to bik video structure, null if failed +//----------------------------------------------------------------------------- +void* BinkOpen(HANDLE hBinkFile, UINT32 nFlags) +{ + void* pHandle = v_BinkOpen(hBinkFile, nFlags); + if (!pHandle) + { + // Retrieve BinkOpen error using the DLL's exported function "BinkGetError()". + Error(eDLL_T::VIDEO, NO_ERROR, "%s: %s\n", __FUNCTION__, v_BinkGetError()); + } + + return pHandle; +} + +/////////////////////////////////////////////////////////////////////////////// +void BinkImpl_Attach() +{ + DetourAttach(&v_BinkOpen, &BinkOpen); +} + +void BinkImpl_Detach() +{ + DetourDetach(&v_BinkOpen, &BinkOpen); +} \ No newline at end of file diff --git a/r5dev/codecs/bink_impl.h b/r5dev/codecs/bink/bink_impl.h similarity index 100% rename from r5dev/codecs/bink_impl.h rename to r5dev/codecs/bink/bink_impl.h diff --git a/r5dev/codecs/bink_impl.cpp b/r5dev/codecs/bink_impl.cpp deleted file mode 100644 index 71e4e601..00000000 --- a/r5dev/codecs/bink_impl.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "core/stdafx.h" -#include "codecs/bink_impl.h" - -void* BinkOpen(HANDLE hBinkFile, UINT32 nFlags) -{ - void* pHandle = v_BinkOpen(hBinkFile, nFlags); - if (!pHandle) - { - // Retrieve BinkOpen error using the DLL's exported function "BinkGetError()". - Error(eDLL_T::VIDEO, NO_ERROR, "%s: %s\n", __FUNCTION__, v_BinkGetError()); - } - - return pHandle; -} - -void BinkImpl_Attach() -{ - DetourAttach(&v_BinkOpen, &BinkOpen); -} - -void BinkImpl_Detach() -{ - DetourDetach(&v_BinkOpen, &BinkOpen); -} \ No newline at end of file diff --git a/r5dev/common/opcodes.cpp b/r5dev/common/opcodes.cpp index 586fc20e..0ffdd67e 100644 --- a/r5dev/common/opcodes.cpp +++ b/r5dev/common/opcodes.cpp @@ -31,7 +31,7 @@ #include "bsplib/bsplib.h" #include "ebisusdk/EbisuSDK.h" #ifndef DEDICATED -#include "milessdk/win64_rrthreads.h" +#include "codecs/miles/radshal_wasapi.h" #endif // !DEDICATED #ifdef DEDICATED diff --git a/r5dev/core/init.cpp b/r5dev/core/init.cpp index bc5a267d..6aa1b579 100644 --- a/r5dev/core/init.cpp +++ b/r5dev/core/init.cpp @@ -34,9 +34,9 @@ #include "datacache/mdlcache.h" #include "ebisusdk/EbisuSDK.h" #ifndef DEDICATED -#include "milessdk/shared/core.h" -#include "milessdk/win64_rrthreads.h" -#include "codecs/bink_impl.h" +#include "codecs/bink/bink_impl.h" +#include "codecs/miles/miles_impl.h" +#include "codecs/miles/radshal_wasapi.h" #endif // !DEDICATED #include "vphysics/QHull.h" #include "bsplib/bsplib.h" @@ -167,8 +167,8 @@ void Systems_Init() MDLCache_Attach(); #ifndef DEDICATED - MilesCore_Attach(); BinkImpl_Attach(); + MilesCore_Attach(); CMaterialSystem_Attach(); #endif // !DEDICATED @@ -305,8 +305,8 @@ void Systems_Shutdown() MDLCache_Detach(); #ifndef DEDICATED - MilesCore_Detach(); BinkImpl_Detach(); + MilesCore_Detach(); CMaterialSystem_Detach(); #endif // !DEDICATED diff --git a/r5dev/milessdk/shared/core.cpp b/r5dev/milessdk/shared/core.cpp deleted file mode 100644 index feeb60ec..00000000 --- a/r5dev/milessdk/shared/core.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "core/stdafx.h" -#include "milessdk/shared/core.h" - -void AIL_LogFunc(int64_t nLogLevel, const char* pszMessage) -{ - DevMsg(eDLL_T::AUDIO, pszMessage); - v_AIL_LogFunc(nLogLevel, pszMessage); -} - -bool Miles_Initialize() -{ - bool result = v_Miles_Initialize(); - - DevMsg(eDLL_T::AUDIO, "Miles_Initialize: %s\n", result ? "initialized successfully" : "failed to initialize"); - - return result; -} - -void MilesCore_Attach() -{ - DetourAttach(&v_AIL_LogFunc, &AIL_LogFunc); - DetourAttach(&v_Miles_Initialize, &Miles_Initialize); -} - -void MilesCore_Detach() -{ - DetourDetach(&v_AIL_LogFunc, &AIL_LogFunc); - DetourDetach(&v_Miles_Initialize, &Miles_Initialize); -} \ No newline at end of file diff --git a/r5dev/vproj/clientsdk.vcxproj b/r5dev/vproj/clientsdk.vcxproj index b2a4cddb..e1310094 100644 --- a/r5dev/vproj/clientsdk.vcxproj +++ b/r5dev/vproj/clientsdk.vcxproj @@ -15,7 +15,8 @@ - + + @@ -82,7 +83,6 @@ - @@ -157,7 +157,9 @@ - + + + @@ -246,8 +248,6 @@ - - diff --git a/r5dev/vproj/clientsdk.vcxproj.filters b/r5dev/vproj/clientsdk.vcxproj.filters index a205070e..66315198 100644 --- a/r5dev/vproj/clientsdk.vcxproj.filters +++ b/r5dev/vproj/clientsdk.vcxproj.filters @@ -109,9 +109,6 @@ {55bb4f60-5f5a-4780-a7a2-b3db51c53680} - - {f52dfb17-f5bd-4258-91a2-500587bee708} - {c5adc45b-d14c-4d52-9835-29948cab931a} @@ -232,12 +229,15 @@ {565eefdf-15cf-47dc-a22b-0d3521e8c5c9} - - {7823b9d7-9d02-4936-b326-4b6351df0c7e} - {3b14367c-17f1-43d8-b8f5-a55506ac961f} + + {20572d96-e629-45f1-8ae2-224a776bfb19} + + + {5529291a-e3b6-44a7-8edf-f0fe4e0ac4dc} + @@ -624,11 +624,11 @@ sdk\tier1 - - sdk\milessdk\shared + + sdk\codecs\bink - - sdk\codecs + + sdk\codecs\miles @@ -1112,9 +1112,6 @@ sdk\engine - - sdk\milessdk - sdk\mathlib @@ -1832,11 +1829,14 @@ sdk\public - - sdk\milessdk\shared + + sdk\codecs\bink - - sdk\codecs + + sdk\codecs\miles + + + sdk\codecs\miles diff --git a/r5dev/vproj/gamesdk.vcxproj b/r5dev/vproj/gamesdk.vcxproj index 63e4241b..80d5f8fc 100644 --- a/r5dev/vproj/gamesdk.vcxproj +++ b/r5dev/vproj/gamesdk.vcxproj @@ -15,7 +15,8 @@ - + + @@ -90,7 +91,6 @@ - @@ -168,7 +168,9 @@ - + + + @@ -270,8 +272,6 @@ - - diff --git a/r5dev/vproj/gamesdk.vcxproj.filters b/r5dev/vproj/gamesdk.vcxproj.filters index 3d28a14f..a4f62f98 100644 --- a/r5dev/vproj/gamesdk.vcxproj.filters +++ b/r5dev/vproj/gamesdk.vcxproj.filters @@ -112,9 +112,6 @@ {55bb4f60-5f5a-4780-a7a2-b3db51c53680} - - {f52dfb17-f5bd-4258-91a2-500587bee708} - {c5adc45b-d14c-4d52-9835-29948cab931a} @@ -241,12 +238,15 @@ {1718d302-db9b-4d2e-b666-cb9f2712eef4} - - {14049eac-0367-4235-b555-c4815be3e905} - {389ac126-74f8-456a-93f3-aae243804dcc} + + {e10598dd-d765-4394-a017-a3847ded2045} + + + {f53df686-70b6-4883-a966-1eb3fd7eb2b1} + @@ -666,11 +666,11 @@ sdk\tier1 - - sdk\milessdk\shared + + sdk\codecs\bink - - sdk\codecs + + sdk\codecs\miles @@ -1157,9 +1157,6 @@ sdk\engine - - sdk\milessdk - sdk\mathlib @@ -1928,11 +1925,14 @@ sdk\public - - sdk\milessdk\shared + + sdk\codecs\bink - - sdk\codecs + + sdk\codecs\miles + + + sdk\codecs\miles