예제 #1
0
        // For the case where we already have a native IDirectInput8 object and we want to override some of it's functions.
        public unsafe IDirectInput8(DirectInput8.IDirectInput8 *InNativeIDirectInput8, YggdrasillInterface iface)
        {
            Context   = InNativeIDirectInput8;
            Interface = iface;

            /* Hook up any functions we care about */
            OverrideFunctions();
        }
예제 #2
0
        // For the case where we already have a native IDirect3D8 object and we want to override some of it's functions.
        public unsafe IDirect3D8(D3D8.IDirect3D8 *InContext, YggdrasillInterface iface)
        {
            Context   = InContext;
            Interface = iface;

            // Override the functions in the vtable of the context with our own.
            OverrideFunctions();
        }
예제 #3
0
        public unsafe IDirectInputDevice8(DirectInput8.IDirectInputDevice8 *InDevice, YggdrasillInterface iface)
        {
            Device    = InDevice;
            Interface = iface;

            /* Hook up any functions we care about */
            OverrideFunctions();
        }
예제 #4
0
        // For the case where we don't have a native IDirect3D object so we want one created for us.
        public IDirect3D8(uint SdkVersion, YggdrasillInterface iface)
        {
            // Create the real IDirect3D8 object.
            Context   = D3D8.Direct3DCreate8(SdkVersion);
            Interface = iface;

            // Override the functions in the vtable of the context with our own.
            OverrideFunctions();
        }
예제 #5
0
        // For the case where we don't have a native IDirectInput8 object so we want one created for us.
        public unsafe IDirectInput8(IntPtr hInst, UInt32 dwVersion, IntPtr riidltf,
                                    DirectInput8.IDirectInput8 **ppvOut, IntPtr punkOuter, YggdrasillInterface iface, out int rv)
        {
            // Create the real IDirectInput8 object.
            rv        = DirectInput8.DirectInput8Create(hInst, dwVersion, riidltf, ppvOut, punkOuter);
            Context   = *ppvOut;
            Interface = iface;

            /* Hook up any functions we care about */
            OverrideFunctions();
        }
예제 #6
0
 public Mithos(RemoteHooking.IContext InContext, string channel, bool disableime,
               bool windowed)
 {
     Interface = RemoteHooking.IpcConnectClient <YggdrasillInterface>(channel);
 }