예제 #1
0
        internal static IntPtr ToPointer()
        {
            if (EndScenePtr != IntPtr.Zero)
            {
                return(EndScenePtr);
            }

            _isSceneEndDelegate =
                Memory.Reader.RegisterDelegate <Direct3D9IsSceneEnd>(funcs.IsSceneEnd);
            _isSceneEndHook =
                Memory.Reader.Detours.CreateAndApply(
                    _isSceneEndDelegate,
                    new Direct3D9IsSceneEnd(IsSceneEndHook),
                    "IsSceneEnd");

            while (EndScenePtr == IntPtr.Zero)
            {
                Thread.Sleep(5);
            }

            return(EndScenePtr);
        }
예제 #2
0
        internal IntPtr ToPointer()
        {
            if (EndScenePtr != IntPtr.Zero)
            {
                return(EndScenePtr);
            }

            _isSceneEndDelegate =
                Memory.Reader.RegisterDelegate <Direct3D9IsSceneEnd>((IntPtr)0x005A17A0);
            _isSceneEndHook =
                Memory.Reader.Detours.CreateAndApply(
                    _isSceneEndDelegate,
                    new Direct3D9IsSceneEnd(IsSceneEndHook),
                    "IsSceneEnd");

            while (EndScenePtr == IntPtr.Zero)
            {
                Task.Delay(5).Wait();
            }

            return(EndScenePtr);
        }