add MilesQueueEventRun debug print

This commit is contained in:
rexx 2022-11-27 20:44:17 +00:00
parent b15b876eed
commit 6695a9bdaf
8 changed files with 49 additions and 0 deletions

View File

@ -1,5 +1,6 @@
#include "core/stdafx.h" #include "core/stdafx.h"
#include "miles_impl.h" #include "miles_impl.h"
#include "tier1/cvar.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: logs debug output emitted from the Miles Sound System // Purpose: logs debug output emitted from the Miles Sound System
@ -18,6 +19,8 @@ void AIL_LogFunc(int64_t nLogLevel, const char* pszMessage)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
bool Miles_Initialize() bool Miles_Initialize()
{ {
DevMsg(eDLL_T::AUDIO, __FUNCTION__": initializing Miles Sound System\n");
bool bResult = v_Miles_Initialize(); bool bResult = v_Miles_Initialize();
bResult ? DevMsg(eDLL_T::AUDIO, __FUNCTION__": %s\n", "initialized successfully") bResult ? DevMsg(eDLL_T::AUDIO, __FUNCTION__": %s\n", "initialized successfully")
@ -26,15 +29,24 @@ bool Miles_Initialize()
return bResult; return bResult;
} }
void MilesQueueEventRun(Miles::Queue* queue, const char* eventName)
{
if(miles_debug->GetBool())
DevMsg(eDLL_T::AUDIO, __FUNCTION__": running event '%s'\n", eventName);
v_MilesQueueEventRun(queue, eventName);
}
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
void MilesCore_Attach() void MilesCore_Attach()
{ {
DetourAttach(&v_AIL_LogFunc, &AIL_LogFunc); DetourAttach(&v_AIL_LogFunc, &AIL_LogFunc);
DetourAttach(&v_Miles_Initialize, &Miles_Initialize); DetourAttach(&v_Miles_Initialize, &Miles_Initialize);
DetourAttach(&v_MilesQueueEventRun, &MilesQueueEventRun);
} }
void MilesCore_Detach() void MilesCore_Detach()
{ {
DetourDetach(&v_AIL_LogFunc, &AIL_LogFunc); DetourDetach(&v_AIL_LogFunc, &AIL_LogFunc);
DetourDetach(&v_Miles_Initialize, &Miles_Initialize); DetourDetach(&v_Miles_Initialize, &Miles_Initialize);
DetourDetach(&v_MilesQueueEventRun, &MilesQueueEventRun);
} }

View File

@ -1,4 +1,5 @@
#pragma once #pragma once
#include "miles_types.h"
/* ==== WASAPI THREAD SERVICE =========================================================================================================================================== */ /* ==== WASAPI THREAD SERVICE =========================================================================================================================================== */
inline CMemory p_AIL_LogFunc; inline CMemory p_AIL_LogFunc;
@ -7,6 +8,8 @@ inline auto v_AIL_LogFunc = p_AIL_LogFunc.RCast<void(*)(int64_t nLogLevel, const
inline CMemory p_Miles_Initialize; inline CMemory p_Miles_Initialize;
inline auto v_Miles_Initialize = p_Miles_Initialize.RCast<bool(*)()>(); inline auto v_Miles_Initialize = p_Miles_Initialize.RCast<bool(*)()>();
inline CMemory p_MilesQueueEventRun;
inline auto v_MilesQueueEventRun = p_MilesQueueEventRun.RCast<void(*)(Miles::Queue*, const char*)>();
void MilesCore_Attach(); void MilesCore_Attach();
void MilesCore_Detach(); void MilesCore_Detach();
@ -28,6 +31,9 @@ class MilesCore : public IDetour
p_Miles_Initialize = g_GameDll.FindPatternSIMD(reinterpret_cast<rsig_t>("\xE8\x00\x00\x00\x00\xFF\x0D\x00\x00\x00\x00\xC6\x05\x00\x00\x00\x00\x00"), "x????xx????xx?????").FollowNearCallSelf(); p_Miles_Initialize = g_GameDll.FindPatternSIMD(reinterpret_cast<rsig_t>("\xE8\x00\x00\x00\x00\xFF\x0D\x00\x00\x00\x00\xC6\x05\x00\x00\x00\x00\x00"), "x????xx????xx?????").FollowNearCallSelf();
v_Miles_Initialize = p_Miles_Initialize.RCast<bool(*)()>(); v_Miles_Initialize = p_Miles_Initialize.RCast<bool(*)()>();
// 0x14095A140 // E8 ? ? ? ? FF 0D ? ? ? ? C6 05 ? ? ? ? ? // // 0x14095A140 // E8 ? ? ? ? FF 0D ? ? ? ? C6 05 ? ? ? ? ? //
p_MilesQueueEventRun = g_RadAudioSystemDll.GetExportedFunction("MilesQueueEventRun");
v_MilesQueueEventRun = p_MilesQueueEventRun.RCast<void(*)(Miles::Queue*, const char*)>();
} }
virtual void GetVar(void) const { } virtual void GetVar(void) const { }
virtual void GetCon(void) const { } virtual void GetCon(void) const { }

View File

@ -0,0 +1,11 @@
#pragma once
namespace Miles
{
struct Queue
{
char gap0[0x8];
void* unk;
char gap10[0x20];
};
}

View File

@ -222,6 +222,11 @@ void ConVar::Init(void)
// RUI | // RUI |
#ifndef DEDICATED #ifndef DEDICATED
rui_drawEnable = ConVar::Create("rui_drawEnable", "1", FCVAR_RELEASE, "Draws the RUI if set.", false, 0.f, false, 0.f, nullptr, " 1 = Draw, 0 = No Draw."); rui_drawEnable = ConVar::Create("rui_drawEnable", "1", FCVAR_RELEASE, "Draws the RUI if set.", false, 0.f, false, 0.f, nullptr, " 1 = Draw, 0 = No Draw.");
#endif // !DEDICATED
//-------------------------------------------------------------------------
// MILES |
#ifndef DEDICATED
miles_debug = ConVar::Create("miles_debug", "0", FCVAR_RELEASE, "Enables debug prints for the Miles Sound System", false, 0.f, false, 0.f, nullptr, " 1 = Print, 0 = No Print");
#endif // !DEDICATED #endif // !DEDICATED
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
} }

View File

@ -195,6 +195,12 @@ ConVar* rtech_debug = nullptr;
ConVar* rui_drawEnable = nullptr; ConVar* rui_drawEnable = nullptr;
ConVar* rui_defaultDebugFontFace = nullptr; ConVar* rui_defaultDebugFontFace = nullptr;
#endif // !DEDICATED #endif // !DEDICATED
//-----------------------------------------------------------------------------
// MILES |
#ifndef DEDICATED
ConVar* miles_debug = nullptr;
#endif
struct ConVarFlags_t struct ConVarFlags_t
{ {

View File

@ -191,6 +191,11 @@ extern ConVar* rtech_debug;
extern ConVar* rui_drawEnable; extern ConVar* rui_drawEnable;
extern ConVar* rui_defaultDebugFontFace; extern ConVar* rui_defaultDebugFontFace;
#endif // !DEDICATED #endif // !DEDICATED
//-----------------------------------------------------------------------------
// MILES |
#ifndef DEDICATED
extern ConVar* miles_debug;
#endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:

View File

@ -170,6 +170,7 @@
<ClInclude Include="..\client\vengineclient_impl.h" /> <ClInclude Include="..\client\vengineclient_impl.h" />
<ClInclude Include="..\codecs\bink\bink_impl.h" /> <ClInclude Include="..\codecs\bink\bink_impl.h" />
<ClInclude Include="..\codecs\Miles\miles_impl.h" /> <ClInclude Include="..\codecs\Miles\miles_impl.h" />
<ClInclude Include="..\codecs\Miles\miles_types.h" />
<ClInclude Include="..\codecs\Miles\radshal_wasapi.h" /> <ClInclude Include="..\codecs\Miles\radshal_wasapi.h" />
<ClInclude Include="..\common\igameserverdata.h" /> <ClInclude Include="..\common\igameserverdata.h" />
<ClInclude Include="..\common\netmessages.h" /> <ClInclude Include="..\common\netmessages.h" />

View File

@ -1934,6 +1934,9 @@
<ClInclude Include="..\codecs\Miles\radshal_wasapi.h"> <ClInclude Include="..\codecs\Miles\radshal_wasapi.h">
<Filter>sdk\codecs\miles</Filter> <Filter>sdk\codecs\miles</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\codecs\Miles\miles_types.h">
<Filter>sdk\codecs\miles</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Image Include="..\shared\resource\lockedserver.png"> <Image Include="..\shared\resource\lockedserver.png">