Project

General

Profile

Actions

Emulator Issues #5646

closed

Support MultiMon && Show Current Screen Resolution in DX9

Added by iluck.org about 12 years ago.

Status:
Duplicate
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp
index d24bd2f..039ec66 100644
--- a/Source/Core/DolphinWX/Src/FrameTools.cpp
+++ b/Source/Core/DolphinWX/Src/FrameTools.cpp
@@ -932,6 +932,17 @@ void CFrame::StartGame(const std::string& filename)
if (position == wxPoint(0, 0))
position = wxDefaultPosition;
#endif

  •   //Add here: If use FullScreen mode, show Window at current CursorPos to support MultiMon
    
  •   if(SConfig::GetInstance().m_LocalCoreStartupParameter.bFullscreen)
    
  •   {
    
  •   	POINT pt;
    
  •   	GetCursorPos(&pt);
    
  •   	position.x=pt.x;
    
  •   	position.y=pt.y;
    
  •   }
    
  •   else
    
  •   	position = wxDefaultPosition;
    
  •   //End
    
      m_RenderFrame = new CRenderFrame((wxFrame*)this, wxID_ANY, _("Dolphin"), position);
      if (SConfig::GetInstance().m_LocalCoreStartupParameter.bKeepWindowOnTop)
    

diff --git a/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp b/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp
index ff3f68a..7b9fa56 100644
--- a/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp
+++ b/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp
@@ -21,6 +21,7 @@
#include "XFStructs.h"
#include "StringUtil.h"
#include "VideoCommon.h"
+#include "OnScreenDisplay.h"

D3DXSAVESURFACETOFILEATYPE PD3DXSaveSurfaceToFileA = NULL;
D3DXSAVETEXTURETOFILEATYPE PD3DXSaveTextureToFileA = NULL;
@@ -207,6 +208,18 @@ void InitPP(int adapter, int f, int aa_mode, D3DPRESENT_PARAMETERS *pp)
GetClientRect(hWnd, &client);
xres = pp->BackBufferWidth = client.right - client.left;
yres = pp->BackBufferHeight = client.bottom - client.top;
+

  •   //Add here: Show Current Screen resolution
    
  •   char x[100]={0};
    
  •   char y[100]={0};
    
  •   char Cur_Res[100]="Current Screen resolution: ";
    
  •   _itoa(xres,x,10);
    
  •   _itoa(yres,y,10);
    
  •   strcat(Cur_Res,x);
    
  •   strcat(Cur_Res," x ");
    
  •   strcat(Cur_Res,y);
    
  •   OSD::AddMessage(Cur_Res , 6000);
    
  •   //End
    
    }
    pp->SwapEffect = D3DSWAPEFFECT_DISCARD;
    pp->PresentationInterval = g_Config.bVSync ? D3DPRESENT_INTERVAL_DEFAULT : D3DPRESENT_INTERVAL_IMMEDIATE;

Related issues 1 (0 open1 closed)

Is duplicate of Emulator - Emulator Issues #1433: Video plugins need better multimonitor supportFixed

Actions
Actions #1

Updated by iluck.org about 12 years ago

More demo pictures please visit:
http://iluck.org/129.html

Actions #2

Updated by NeoBrainX about 12 years ago

Why?

Actions #3

Updated by iluck.org about 12 years ago

Default Game-Form location of the Window is always based on X = 0, Y = 0 as a reference, and this is OK in a single monitor, if the program onto the second display (extended display), use X = 0, Y = 0 as a reference, then, the Full screen or Window of the game when the picture will appear in a first display. In fact, the second display position is not X = 0, Y = 0, assumingthe two display resolution all is 800 * 600, made ​​around the type of expansion, the second display position should be: X = 800, Y = 0. Now the second monitor to play the game I think should be full screen, so I made a judgment:

if(SConfig::GetInstance().m_LocalCoreStartupParameter.bFullscreen)
.
.
.

When the full-screen mode, the current mouse position as the starting position of the Game-Form.

Into the full screen, MS-WINDOWS system determines the current form where the Virtual position of the window, in the Virtual Window (Second Display) to enter Full-Screen mode.
If you do not the following judgment:

if(SConfig::GetInstance().m_LocalCoreStartupParameter.bFullscreen)

The Game-Form will always appear at the current location of the mouse, no problem, but it seems some torque.

Sorry my English.

Actions #4

Updated by NeoBrainX about 12 years ago

  • Status changed from New to Duplicate

Sorry, but this is a really hacky fix. Instead it should be possible to select the monitor index (or monitor name) from the video config. That's very possible with the Win32 API, and likely also doable from X11 and OS X.

Take a look at the other issue for details.

Actions #5

Updated by NeoBrainX about 12 years ago

Fwiw, if you're willing to work on a proper fix, I'm willing to help you with any questions that might arise. Just ask me (no_cluez) on IRC.

Actions #6

Updated by iluck.org about 12 years ago

The time difference is a big problem.
BTW:IRC address and channels?

Actions #7

Updated by NeoBrainX about 12 years ago

#dolphin-emu @ efnet

Actions

Also available in: Atom PDF