Wow application mirror with another GUI menu

User Tag List

Results 1 to 7 of 7
  1. #1
    Fbx's Avatar Member
    Reputation
    1
    Join Date
    Nov 2014
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Wow application mirror with another GUI

    How possible is this? Some people's UI is too complicated to understand, and they movies/streams are not successful, while they are good players.If we could mirror the whole game client to another monitor and somehow configure default game UI there. As I know such tools not exists at the moment, but maybe programmers can give some answers or ideas, thanks.

    Wow application mirror with another GUI
  2. #2
    Fbx's Avatar Member
    Reputation
    1
    Join Date
    Nov 2014
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If we could only render game without GUI on second monitor (while keep rendering with your normal UI on first monitor, where player actually playing) this problem could be probably solved.
    Using any viewport addon we can show default UI on black screen of third monitor, overlay it on second monitor while recording video (or record separated, but merge when making video).

  3. #3
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    That is an interesting question. I suppose you could hook the appropriate graphics engine functions for rendering, mirror the output to cloned device, and combine that with a hook to the function that handles rendering the interface. That's assuming there is one, but since there is an easy way to toggle the interface, I imagine that there should be. This would result in no interface being rendered on the second display, rather than the default one instead.

  4. #4
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    I thought about this pretty well in-depth a while ago. But it's a lot of work, I never even began writing it.

    1. Load the world.
    2. Copy current objects.
    3. Hook player movement functions and forward them to the viewer client.
    4. Hook CGObject_C constructors/destructors on host, create and destroy them on the viewer's client.
    5. Forward incoming packets to the viewer's client. Game server -> host client -> viewer client.

    It sounds easy, but 1, 2 and 3 will probably cause a few headaches. And of course, without any prior testing, there's probably a LOT I'm not accounting for. The viewer client is going to get confused a lot without a LOT of hacks and tweaks.

  5. #5
    Frosttall's Avatar Active Member
    Reputation
    64
    Join Date
    Feb 2011
    Posts
    261
    Thanks G/R
    16/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Jadd View Post
    I thought about this pretty well in-depth a while ago. But it's a lot of work, I never even began writing it.

    1. Load the world.
    2. Copy current objects.
    3. Hook player movement functions and forward them to the viewer client.
    4. Hook CGObject_C constructors/destructors on host, create and destroy them on the viewer's client.
    5. Forward incoming packets to the viewer's client. Game server -> host client -> viewer client.

    It sounds easy, but 1, 2 and 3 will probably cause a few headaches. And of course, without any prior testing, there's probably a LOT I'm not accounting for. The viewer client is going to get confused a lot without a LOT of hacks and tweaks.
    Why not hook the function which accesses the current render-device (aka the current DirectX-Viewport) and forward these actions to a self-created viewport and call the original viewport aswell. It should display the whole game including the custom UI, but proves that it is working.

    From this point check the stack trace on each call to that hooked function and determine which function has the job to draw the interface. Now start playing and there could be magic happening.



    Your way would basically copy the technical background of the whole action which is happening on the client, even though only the visible part is important.
    Last edited by Frosttall; 05-23-2015 at 05:20 AM.

  6. #6
    Master674's Avatar Elite User
    Reputation
    487
    Join Date
    May 2008
    Posts
    578
    Thanks G/R
    2/23
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Jadd View Post
    I thought about this pretty well in-depth a while ago. But it's a lot of work, I never even began writing it.

    1. Load the world.
    2. Copy current objects.
    3. Hook player movement functions and forward them to the viewer client.
    4. Hook CGObject_C constructors/destructors on host, create and destroy them on the viewer's client.
    5. Forward incoming packets to the viewer's client. Game server -> host client -> viewer client.

    It sounds easy, but 1, 2 and 3 will probably cause a few headaches. And of course, without any prior testing, there's probably a LOT I'm not accounting for. The viewer client is going to get confused a lot without a LOT of hacks and tweaks.
    1. Hook CWorldSceneRender::Render
    2. Copy Color Buffer to a second Texture that you use later on (can be done in DirectX)
    3. Write this blank world frame to a new window (doesn't have any UI but it would look like in a screenshot).

    Easy to do, can be done in 1-2 hours.

    - Deferred shading technique could cause some trouble if the frame isn't written to the color buffer until after the UI has been drawn but for forward rendering this method should work.
    Last edited by Master674; 05-23-2015 at 05:52 AM.

  7. #7
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Master674 View Post
    1. Hook CWorldSceneRender::Render
    2. Copy Color Buffer to a second Texture that you use later on (can be done in DirectX)
    3. Write this blank world frame to a new window (doesn't have any UI but it would look like in a screenshot).

    Easy to do, can be done in 1-2 hours.

    - Deferred shading technique could cause some trouble if the frame isn't written to the color buffer until after the UI has been drawn but for forward rendering this method should work.
    This would use just as much bandwidth as a normal stream (Twitch), my point was to avoid that. Mine also allows for a better spectator vision (free camera etc.).
    Last edited by Jadd; 05-23-2015 at 07:20 PM.

Similar Threads

  1. Am I putting my main wow account in jeopardy if I bot with another
    By dealer91 in forum World of Warcraft General
    Replies: 4
    Last Post: 06-05-2010, 06:04 PM
  2. How to log in on wow with another ip?
    By hellshunter in forum World of Warcraft General
    Replies: 3
    Last Post: 05-19-2009, 11:16 AM
  3. Guide on Making a WoW Server Public (with or without hamachi)
    By ectrianpwnz in forum WoW EMU Guides & Tutorials
    Replies: 5
    Last Post: 10-13-2007, 07:26 AM
  4. Wow emulated sever with the real thing.
    By sa8 in forum World of Warcraft Emulator Servers
    Replies: 22
    Last Post: 09-21-2007, 04:49 PM
  5. WoW Guide Pack. with LvL, Gold, PvE and more.
    By raamoz in forum World of Warcraft Guides
    Replies: 3
    Last Post: 09-19-2006, 07:07 PM
All times are GMT -5. The time now is 01:21 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search