mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-01 22:30:42 -07:00
iidx, sdvx: booting fullscreen with three or more monitors (#612)
## Link to GitHub Issue or related Pull Request, if one exists #345 Hoping that #180 is also addressed by this change, but I can't test it. ## Description of change IIDX (TDJ) and SDVX (Valk) will now be able to boot in full screen even with 3 or more monitors attached. spice will "hide" from the game any monitors other than the primary monitor and one other monitor for subscreen, allowing it to boot without crashing - accomplished by clearing `DISPLAY_DEVICE_ATTACHED_TO_DESKTOP` flag when monitors are enumerated over `EnumDisplayDevicesA`, and fortunately both games seem to respect that flag. Add options (one for IIDX, another for SDVX) that lets you specify the monitor ID of the second monitor. When the option is set, user-specified monitor will be used as the subscreen. When the option is not set, spice will just pick the lowest-indexed monitor as the subscreen, not counting the primary one of course. ## Testing Tested both games with three monitors. Should probably work for four or more.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "util/socd_cleaner.h"
|
||||
#include "util/time.h"
|
||||
#include "util/libutils.h"
|
||||
#include "util/sysutils.h"
|
||||
#include "misc/eamuse.h"
|
||||
#include "misc/nativetouchhook.h"
|
||||
#include "misc/wintouchemu.h"
|
||||
@@ -354,7 +355,7 @@ namespace games::sdvx {
|
||||
if (!GRAPHICS_WINDOWED && D3D9_ADAPTER.has_value() && is_valkyrie_model()) {
|
||||
SHOW_VM_MONITOR_WARNING = true;
|
||||
log_warning(
|
||||
"iidx",
|
||||
"sdvx",
|
||||
"\n\n"
|
||||
"!!! using -dxmainadapter option with Valkyrie mode is NOT !!!\n"
|
||||
"!!! recommended due to known compatibility issues with the game !!!\n"
|
||||
@@ -391,7 +392,7 @@ namespace games::sdvx {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SDVXGame::attach() {
|
||||
Game::attach();
|
||||
|
||||
@@ -466,6 +467,7 @@ namespace games::sdvx {
|
||||
ENABLE_COM_PORT_SCAN_HOOK = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// ASIO device hook
|
||||
@@ -501,6 +503,9 @@ namespace games::sdvx {
|
||||
// remove log spam
|
||||
logger::hook_add(sdvx64_spam_remover, nullptr);
|
||||
|
||||
if (is_valkyrie_model()) {
|
||||
sysutils::hook_EnumDisplayDevicesA();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user