Esempio n. 1
0
        public static Int32 ViewDraw_DrawChildren(String message)
        {
            try
            {
                Process process = Process.ThisProcess();

                return(0);


                GUC.WorldObjects.Character.Player pl = GUC.WorldObjects.Character.Player.Hero;
                if (pl == null)
                {
                    return(0);
                }

                if (pl.ItemList.Count == 0)
                {
                    return(0);
                }

                if (pl.ItemList[0].Address == 0)
                {
                    return(0);
                }
                if (oCGame.Game(process).World.Address == 0)
                {
                    return(0);
                }

                if (rndrWorld == null)
                {
                    rndrWorld = zCWorld.Create(process);
                    rndrWorld.IsInventoryWorld = true;
                }
                oCItem item = new oCItem(process, pl.ItemList[0].Address);

                zCView zV = zCView.Create(Process.ThisProcess(), 0, 0, 0x2000, 0x2000);
                zV.FillZ = true;
                zV.Blit();

                zCView.GetScreen(Process.ThisProcess()).InsertItem(zV, 0);
                item.RenderItem(rndrWorld, zV, 0.0f);
                zCView.GetScreen(Process.ThisProcess()).RemoveItem(zV);
                zV.Dispose();
            }
            catch (Exception ex)
            {
                zERROR.GetZErr(Process.ThisProcess()).Report(4, 'G', ex.ToString(), 0, "ViewDraw_DrawChildren", 0);
            }
            return(0);
        }
Esempio n. 2
0
        static void OnDrawItems(WinApiNew.RegisterMemory rmem)
        {
            try
            {
                int viewAddr = rmem.ECX;
                if (rndrDict.TryGetValue(viewAddr, out VobRenderArgs args) && args != null && args.render)
                {
                    var    vob  = args.zenTree ?? args.renderVob;
                    zCView view = new zCView(viewAddr);
                    camera.SetRenderTarget(view);

                    vob.SetPositionWorld(args.Offset.X, args.Offset.Y, args.Offset.Z + 100.0f);
                    lightVob.SetPositionWorld(args.Offset.X, args.Offset.Y, args.Offset.Z); // light in your face
                    args.Rotation.SetMatrix(vob.TrafoObjToWorld);
                    vob.LastTimeDrawn = -1;

                    vob.GroundPoly = 0;
                    rndrWorld.AddVob(vob);

                    bool evMan = zCEventManager.DisableEventManagers;
                    zCEventManager.DisableEventManagers = true;

                    zCRenderer.SetAlphaBlendFunc(zCRenderer.AlphaBlendFuncs.None);
                    rndrWorld.Render(camera);

                    zCEventManager.DisableEventManagers = evMan;

                    rndrWorld.RemoveVobSubTree(vob);

                    view.Blit();
                }
            }
            catch (Exception e)
            {
                Logger.LogError("Hook DrawItems: " + e.ToString());
            }
        }