I've got a program that hooks 'EndScene' of a D3D device via native code, with a C++/CLI wrapper to inject into the process (think of an application such as Fraps, or other game video capture apps).
The C++/CLI wrapper loads my assembly, and calls a statically named method (OnFrame) every time EndScene is called from within the game. There is no issues with the C++/CLI wrapper, or the invocation, that all works fine and dandy.
The issue comes from the call within the OnFrame method in my assembly.
Engine.Pulse() resides in another DLL. (In this case; Onyx.Common.dll )
OnFrame is called each frame (as per the debug message), however, Common.Engine.P ulse() is never actually called.
Logging resides in yet another DLL, and everything else in the Onyx.Common.dll is perfectly able to make calls to the Logging class. (Logging is just an event based wrapper so I can display messages on my main window)
Is there something I'm missing? Or just a random bug, etc?
The C++/CLI wrapper loads my assembly, and calls a statically named method (OnFrame) every time EndScene is called from within the game. There is no issues with the C++/CLI wrapper, or the invocation, that all works fine and dandy.
The issue comes from the call within the OnFrame method in my assembly.
Code:
private static uint _frameCount; public static void OnFrame() { Logging.Write("OnFrame " + _frameCount++); Common.Engine.Pulse(); }
OnFrame is called each frame (as per the debug message), however, Common.Engine.P ulse() is never actually called.
Code:
public static void Pulse() { Logging.Write("ENGINE PULSE"); }
Is there something I'm missing? Or just a random bug, etc?
Comment