PDA

View Full Version : D3D9Wnd - a Direct3D 9-based windowed mode without emulator


StepS
21 Jan 2013, 12:44
Hello.
Me and Kawoosh want to present you a windowed mode made using the native Direct3D 9 renderer, which allows some brilliant features, as well as no lags and full FPS (no emulator), stretching of the window, unpinning/pinning mouse from the game window, producing and streaming full HD videos and screenshots on any monitor and system.

The way of windowing the Direct3D 9 mode was originally found and written by Kawoosh, and then I extended it with some fixes and features:

Stretched mode - enable with StretchFrontend=1 and StretchInGame=1 respectively for needed places in ini. It is still windowed mode, but here it is enlarged to fill your screen in full, and looks just the same as if you were in fullscreen. This is especially useful if your monitor doesn't support 640×480 (and you want fullscreen) or if you plan on speeding up your game (by not having to wait until your monitor switches the resolution): instant return to frontend after the game has ended, instant minimization, ability to set the resolution higher than your own, etc. NOTE: on some GPUs there may be need to enable smoothing if you enlarge from a smaller window to prevent pixels.
Unpin and pin the mouse: a feature requested by someone to be able to unpin the mouse in-game and move it over WA's window. This can be useful for border (see below).
Ctrl+G to unpin or pin the mouse.
Active Background: available in both Windowed and Stretched modes. Allows to view the gameplay even when the window is not in focus. This is permanently enabled for non-aero users as a fix, and also moves the window into top left corner. Cannot be enabled when border is on.
Ctrl+H to enable Active Background
Custom frontend size and frontend centering: options to customize frontend position and size, but eating the mouse.
Window border in-game: allows to have a window border around the window. Using the previously mentioned unpinning feature you are able to move the in-game window.
Use WindowBorderInGame=1 to enable this. Use Ctrl+D to quickly enable/disable this directly during gameplay.
And of course, I made the module intelligent to prevent sillies from running into issues.


Unlike wndmode, D3D9Wnd works only with 3.7.0.0 and 3.7.2.1, including Steam (works with both), because it uses native renderer and depends on hardcoded offsets which control D3D9CreateStart.

Additional notes:

To fully disable the module without deleting it, use "Disabled=1" in the ini file. To disable for one session only, run WA with a command-line parameter: /wkargs -nowindow
This could possibly fix FIXES the Windows 7 multiple monitors issue! (thanks Obn3g0n)
With help of wkLobbyCmd (http://worms2d.info/WormKit#Additional_modules) you can switch resolutions on fly and specify a resolution which is even higher than your own (in this case it'll be stretched to fit the screen). This allows everyone to produce full-HD (and bigger ;) ) screenshots and videos regardless of their monitor. Aspect ratio can be any, as seen in examples (http://puu.sh/1QzdW).
The maximal possible resolution is your GPU's max texture size (4096x4096, 8192x8192 or 16384x16384, example with 4096×4096 (http://puu.sh/1Q8qp)) and the minimal is 143×1. But you can not set a resolution which is bigger than "YourOwnSize * 2". Why? Because W:A catches mouse by centering it into the expected resolution's center, and when you set such a big size, it is out of your screen and W:A gonna freeze. So, double size of your resolution is your personal limit. You could overcome this by using the unpinning mouse feature but then the mouse would be unusable in-game.
So, basically, here's an example: let's say I have 1920×1080, I multiply it by two and get 3840×2160. This is my personal limit. But on this size the game already fails because the limitation is higher than and including this size. So, to make the mouse move freely we substract a few hundreds (2 or 3) and try again. Use a bit of mathematics if you know your monitor's aspect ratio (16:9, 16:10...)
This module can currently only be loaded by integrated "Load WormKit modules" feature due to the fact that it requires W:A's settings to be already loaded in the RAM. This may change later.
The frontend is still in the corner, like in wndmode. Why that? Well, it's because of the messy W:A's frontend crutches preventing from moving the W:A's window properly without having mouse glitches. So let it be this way until W:A devs come with their own solution.


The latest version is 0.5.0.0, DOWNLOAD (http://myfiles.my1.ru/wa/wk/wkD3D9Wnd.rar). Extract everything into your W:A folder and run the game. You must have "Load WormKit modules" option from Advanced Settings enabled.

Obn3g0n
22 Jan 2013, 02:05
Steps and Kawoosh, thank you so much for finding a way to make this! I've been hoping for a stretch feature, and didn't think it was likely to happen.

-I can confirm the stretch thing works great with or without aero enabled on windows 7, and solves the frontend multi-monitor glitchiness of 3.7. However...

A big problem:
-Once WA loses in-game mouse focus (eg. if I minimize, using Shift-Esc or otherwise), I can't get the mouse focus back or use the mouse in WA at all for the rest of the game. Ctrl-G and Ctrl-H don't have any effect so there's no way to pin the mouse focus back to WA after minimizing. I also can't give focus to the other monitor without minimizing WA, which obviously then messes up WA. Tried both D3D9 Shader and CPU. Makes it impossible to use teleports or girders, or to look at the weapons panel.

-Ctrl-G and Ctrl-H don't seem to do anything in the frontend either.

-Tried adding WindowBorderExperimental=1 to wkD3D9Wnd.ini with no effect.


I've got Rubberworm .16 installed, if that matters. Many thanks for that too by the way! Renaming the rubberworm .dll extension doesn't change anything.

Unrelatedly - I'm looking forward to seeing some humungous videos on WormTube!

StepS
22 Jan 2013, 07:50
enable Aero and dont disable it

StepS
22 Jan 2013, 18:36
Updated. 0.3.0.0.

Fully fixed mouse issue with non-aero users, however they lose window border and centering.
Ctrl+G is now for both pin/unpin.
Ctrl+H is now for new feature: Active Background, in this way you can see the gameplay even when the window is not in focus. This is permanently enabled for non-aero users as a fix, and also moves the window into top left corner. Cannot be enabled when border is on.
Message boxes are also in Italian for italians now. :)
Added "Disabled" option into ini file, which will fully disable the module without need to delete it.


thanks to Casso for testing on disabled desktop composition and italian boxes!

Obn3g0n
22 Jan 2013, 18:49
Your new fixes work perfectly. Truly amazing job. Thank you!! It's soooo nice not having to minimize.

I tested it with Aero disabled and it still works perfectly, when border is not enabled.

Is it possible to make Ctrl-G work with the stretched frontend too?


I've updated my desktop shortcuts to run 3.7.0.0 by default from now on :)

StepS
22 Jan 2013, 18:54
Is it possible to make Ctrl-G work with the stretched frontend too?

no, and that's the reason why I disable hardware cursor in stretched mode. it is not possible at all
also, why do you want that :D

Pac-Man
22 Jan 2013, 19:20
Well I don't know how much you programmed of this by yourself (since I was surprised that it behaves exactly as stupid as DxWnd...), but:

You have to recalc the window size if you add a window border !_!
Use AdjustWindowRect with the same flags as the Window style flags of the window.
For example:

RECT rect;
SetRect(&rect, 0, 0, resWidth, resHeight);
AdjustWindowRect(&rect, WS_VISIBLE | WS_OVERLAPPEDWINDOW, FALSE);

Then ugly frontend doesn't get compressed anymore.

StepS
22 Jan 2013, 19:23
Well I don't know how much you programmed of this by yourself (since I was surprised that it behaves exactly as stupid as DxWnd...), but:

You have to recalc the window size if you add a window border !_!
Use AdjustWindowRect with the same flags as the Window style flags of the window.
For example:

RECT rect;
SetRect(&rect, 0, 0, resWidth, resHeight);
AdjustWindowRect(&rect, WS_VISIBLE | WS_OVERLAPPEDWINDOW, FALSE);

Then ugly frontend doesn't get compressed anymore.

that's exactly what I do, mister, and mind you it doesn't work in frontend because stupid frontend overrides this size with its own later than me.

I'll look into this later, not atm, that's why it's entitled "experimental" - not the priority and not the main feature at all, use with no border :).

my primary wish is to be able to remove this border in frontend and I was successful with this on wndmode but can't do the same here - WA window "becomes afraid" and self minimizes, doing nothing.

Alloc
23 Jan 2013, 18:07
That's what I waited for. Thanks a lot StepS =)

One question though:
Added "Disabled" option into ini file, which will fully disable the module without need to delete it.
Could it be made so that you cann pass in this option as a commandline argument to WA so you can decide by shortcut to launch in window or normal? Or even a menu option somewhere? That would be even more awesome :D

Regards,
Alloc

Searinox
24 Jan 2013, 19:28
I didn't even expect this to happen, let alone so quickly. It's amazing! Massive framerate improvement for non-aero users, possibly due to D3D9. But wkAntiKeyboardHook no longer works and the game aggressively prevents keyboard shortcuts, even when the mouse cursor is snapped out of the frontend and focused on another program. Also the ingame minimize option just freezes the game until mouse click. Winkey+M doesn't work, and Alt+Tab only works if done Tab+Alt. Still those are only minor problems. Everything else is awesome!

StepS
24 Jan 2013, 22:37
Updated. 0.4.0.0

The "Stretch" option has been divided to support Frontend and InGame separately.
Window border is no longer experimental, it is renamed to WindowBorderInGame, works only in-game as it should, and auto-removes itself if the size fits whole screen.
Added Ctrl+D: quickly enable/disable window border in-game (if the size is sufficient) directly in-game, independently on the setting in ini file.
Minimization improved: now the "Minimize Game" option works too.
Added a new feature: Frontend Centering. This will center frontend, however will also eat the mouse! Not recommended.
Added a new feature: Custom Frontend Size. This will allow you to set custom window size for frontend using the FrontendXsize and FrontendYsize values in ini file. Eats the mouse!
Added command-line option for one-time module deactivation: launch WA.exe with the /wkargs -nowindow command-line parameter to disable D3D9Wnd for a session.


The default .ini file as of version 0.4.0.0:
http://puu.sh/1S9l3

NOTE: Stretched options have the highest priority over everything else.

Could it be made so that you cann pass in this option as a commandline argument to WA so you can decide by shortcut to launch in window or normal? Or even a menu option somewhere? That would be even more awesome :D
added!

wkAntiKeyboardHook no longer works
to everyone having this problem:
http://worms.cinus.org/antikeybhook/
wkAntiKeyboardHook doesn't work anymore because the built-in WormKit loads too late for it, but the solution above existed since ages, just no one paid attention.
if there's need, I could try adding this to the module with the HKCU key.

the game aggressively prevents keyboard shortcuts
No, it's Windows. read the cinus link above.

Winkey+M doesn't work

it does work. maybe not with the Windows block (read the cinus link above). also Win+D is better

Searinox
24 Jan 2013, 23:44
Thanks. That completely fixed windows shortcut keys.

Obn3g0n
25 Jan 2013, 04:23
Awesome work! One minor error I found with this version:

When you exit WA, it returns to the desktop for a second, but then the screen goes black until you click the mouse. This occurs both with CPU and Shader DX9 modes, and with stretched and unstretched frontends, on Windows 7. Haven't tested anything else yet.

StepS
25 Jan 2013, 08:11
then the screen goes black until you click the mouse.

this doesn't happen, i'm not sure what you are talking about

GreeN
25 Jan 2013, 11:24
When you exit WA, it returns to the desktop for a second, but then the screen goes black until you click the mouse. This occurs both with CPU and Shader DX9 modes, and with stretched and unstretched frontends, on Windows 7. Haven't tested anything else yet.

That is a bug with WA itself affecting both D3D9 renderers. There is no fix at the moment, but the bug is not present with D3D7 or DD.

StepS
25 Jan 2013, 11:59
good to know. but there are no such issues on Windows 8 (including multiple monitors which work just fine, as already confirmed)

Alloc
25 Jan 2013, 12:42
Updated. 0.4.0.0
Added command-line option for one-time module deactivation: launch WA.exe with the /wkargs -nowindow command-line parameter to disable D3D9Wnd for a session.
Thanks a lot =)

Obn3g0n
25 Jan 2013, 16:39
That is a bug with WA itself affecting both D3D9 renderers. There is no fix at the moment, but the bug is not present with D3D7 or DD.It didn't occur with d3d9wnd 0.3.0 or 0.2.6. But it's not a big deal, i can live with it. Almost looks like the screens are changing resolution.

Actually does anyone have 0.3.0 still? That version works perfectly for me.

StepS
25 Jan 2013, 16:57
do you use window border
is the wa process still alive when the screen is black
did you restart pc

GreeN
25 Jan 2013, 18:20
Sorry, I misread what you said; the bug I was referring to is a black screen after minimising the game in either of the D3D9 modes (also remedied by clicking the left mouse button).

Pac-Man
25 Jan 2013, 19:18
Would be cool to see Worms to continue running as if focused when it's not the active window. Like a fake fullscreen application maybe. That would be one of my wishes :D

Obn3g0n
25 Jan 2013, 19:30
Would be cool to see Worms to continue running as if focused when it's not the active window. Like a fake fullscreen application maybe. That would be one of my wishes :DThis is implemented since version 0.3.0 in-game-- use Ctrl-H instead of Ctrl-G. Very handy feature.

Will test more things like minimizing when I get home.

StepS
25 Jan 2013, 20:30
Updated. 0.4.3.0.


Added FullscreenFrontend experimental option. Some people don't have smoothing in their system, and the stretched mode was not smoothed. This brings back the 640x480 fullscreen frontend (however minimization will not restore resolution for now), while still using window (or whatever is set in ini file) in-game.
Improved CenteredFrontend a bit (mouse capture)
Improved game startup
Improved WormKitDS check
Possibly fixed the Obn3g0n


NOTE: FullscreenFrontend has the highest priority over all frontend settings.

Searinox
25 Jan 2013, 22:01
Active background running on aero by default can be useful too since users alt+tabbing during a network game will cause a timeout.

StepS
26 Jan 2013, 00:15
alt+tabbing during a network game will cause a timeout.

false, the game progress is always still going internally with the only exception: offline

Obn3g0n
26 Jan 2013, 00:50
Updated. 0.4.3.0.

Possibly fixed the Obn3g0n


The Obn3g0n is fixed. Thank you again, StepS.

Searinox
26 Jan 2013, 06:47
false, the game progress is always still going internally with the only exception: offline

Indeed it does! Funny how I tested it in offline and online single and it didn't work, I actually had to connect a client to the online in order for it to work.

Found a bug. Activate frontend stretching and disable intro. Launch the game and click once in a random empty spot on the frontend. You'll then be able to drag the mouse out of right and lower bounds.

StepS
26 Jan 2013, 08:01
Found a bug. Activate frontend stretching and disable intro. Launch the game and click once in a random empty spot on the frontend. You'll then be able to drag the mouse out of right and lower bounds.

i know this bug. its only in main menu, can't fix

Indeed it does! Funny how I tested it in offline and online single and it didn't work, I actually had to connect a client to the online in order for it to work.

it also works in offline but the only moving parts are water, oil drums, debris and such sprites that don't depend on game frames.
you can't see this here. and the merging keeps activity

Pac-Man
26 Jan 2013, 11:20
This is implemented since version 0.3.0 in-game-- use Ctrl-H instead of Ctrl-G. Very handy feature.

Uhm what? That's absolutely not what I meant.

StepS
26 Jan 2013, 12:09
Uhm what? That's absolutely not what I meant.

what did you mean then?

Pac-Man
26 Jan 2013, 13:18
Worms acting similar to a "desktop wallpaper" (except with the icons of the desktop over it).
E.g., it creates a borderless window with the same size as the desktop resolution (which looks like to be done with this windowed mode already).
When pressing alt+tab you get another application in the foreground of W:A without actually "pausing" (e.g. stopping the music and sounds etc.) of W:A.
The application is now seen before W:A which is still running as normal. Actually the taskbar should also overlay the W:A window.
When clicking into W:A's window again, the taskbar and all the other application windows are behind it again.

Exactly as one of my games shows it:
http://pacman.highfsb.com/fakefullscreen.jpg

StepS
26 Jan 2013, 14:12
having the game run actively as a background window is already possible.
now we need a correct Z-order. current window is set as topmost by WA

edit: i did it, but maybe should be added as a feature to turn on/off

edit2: i have finished this, pacman:
http://myfiles.my1.ru/wa/other/fpac.png

StepS
26 Jan 2013, 15:31
Updated. 0.4.4.0.

Added NoTopmostInGame: the in-game window will be no longer topmost with this. This can also be turned on/off on fly using the key combination. This allows Alt+Tab and similar to work fine (it's recommended to perform mouse unpinning before switching). People with keyboard hook can use the reg file from archive. This is enabled by default now.
Ctrl+T quickly switches between topmost and non-topmost window type of in-game window independently on the setting in ini file.


To enable background WA like on pac-man's screenshot, do the following:

1) enable NoTopmostInGame in ini or use Ctrl+T later; set your resolution for game
2) when in-game, use Ctrl+H for active background, then unpin mouse with Ctrl+G and then alt tab to any window.
3) have fun

Note: sounds is property of game, the game never enabled sounds when working on background (if you remember PX).
probably a hardhook in memory would be sufficient if there's need

Obn3g0n
26 Jan 2013, 16:10
Found a bug. Activate frontend stretching and disable intro. Launch the game and click once in a random empty spot on the frontend. You'll then be able to drag the mouse out of right and lower bounds.i know this bug. its only in main menu, can't fix
This is a bug? It's actually really handy -- I wish it worked on all frontend screens. The one downside of the stretched frontend is you can't use your mouse on adjacent monitors without minimizing.

I believe Pac Man's suggestions are also aimed at finding a way to avoid minimizing the frontend. Not knowing anything about the mouse hacks implemented, it seems like it might be hard to have windows overlayed a stretched WA frontend, like he suggests, due to the mouse coordinates always changing their scale.

If that's the case, it might be easier to stretch/unstretch the frontend with a keyboard shortcut? Unstretching would return the frontend to its regular window mode, so you could move your mouse around freely. Re-stretching would re-activate the mouse hack and eat the mouse again.

These are just suggestions. If you don't want to do any more, don't. Windowed mode already works perfectly, and we're all very grateful for the work you (and Kawoosh) have done on this and other projects. :)

StepS
26 Jan 2013, 16:16
This is a bug? It's actually really handy -- I wish it worked on all frontend screens.
lol, how can this be handy? Stretched is stretched, where else do you want to move your mouse? whole screen is filled with frontend

A shortcut to unstretch is a good idea but it creates more difficulties to maintain all the settings at the same time. if there's need, i can look into it later
but there will probably be no practical use, as the WA's frontend minimizes itself once you switch away from it, it's how the game is made. We don't have ForegroundControl here like in wndmode, but maybe i can do it later...

Muzer
26 Jan 2013, 17:00
lol, how can this be handy? Stretched is stretched, where else do you want to move your mouse? whole screen is filled with frontend

Did you read his post? He explains why:

The one downside of the stretched frontend is you can't use your mouse on adjacent monitors without minimizing.

Searinox
26 Jan 2013, 17:46
lol, how can this be handy? Stretched is stretched, where else do you want to move your mouse? whole screen is filled with frontend

It's a bug. If it was meant for multiple monitors it would be working all the time. Or it would work or not depending on wether or not you have a 2nd monitor. This "useful feature" stops working the moment you go into another menu and doesn't return until you restart the game. It's inconsistent. Also monitors stretch to the left/right, not down so why would the cursor snap off at the bottom too. This is simply an issue with the cursor "escaping" to its old 640x480 coordinates once it leaves the stretch. Another way to check this is to use DDraw32bit and the old WndMode plugin and software mouse. As soon as the mouse leaves right/down it pops up over the window at what would have been the coordinates if the frontend was default resolution.

Background mode is awesome! It does indeed make things much easier.

Pac-Man
26 Jan 2013, 20:50
well ok now, but it the picture pauses (like a freeze), i meant it to keep running Ctrl+H

Note: sounds is property of game, the game never enabled sounds when working on background (if you remember PX).
probably a hardhook in memory would be sufficient if there's need

maybe it's just the way the directsound device has been created? not exclusive when inactive or how it was called?

Alloc
14 Feb 2013, 18:05
Hi there,

now that exams are over I was actually trying to use this module. Unfortunately it's giving me an error message (see below) on startup. Also tried setting the different renderers in W:A before starting with this module but this didn't work either. I actually do have 3.7.0.0 running though as can be seen e.g. on the fact that I can choose all the renderers. Any hints on this one?

Regards,
Alloc


You have a wrong 3.7.0.0 revision, download the latest 3.7.0.0 installer from Team17 site!

StepS
15 Feb 2013, 07:20
I suggest trying to understand the message.
An old 3.7.0.0 is not supported. You need 3.7.0.0r2. Please redownload and reinstall 3.7.0.0.

Alloc
15 Feb 2013, 10:05
I suggest trying to understand the message.
An old 3.7.0.0 is not supported. You need 3.7.0.0r2. Please redownload and reinstall 3.7.0.0.
Thanks, found out after a while that there was a second release (and as the version stayed the same I did never notice). The message could state that fact a bit clearer though ;)

(My post didn't show up at first so I couldn't edit it to point out I found the solution ;) )

Regards,
Alloc

Alloc
17 Feb 2013, 19:53
Hi again,

everything works smoothly so far. One further suggestion though: Could you make the bordered-window's title include the hotkey for (un)pinning the mouse? Like "Worms Armageddon (windowed) - press Ctrl+G to (un)pin the mouse".

Regards,
Alloc

StepS
19 Feb 2013, 09:53
Hi again,

everything works smoothly so far. One further suggestion though: Could you make the bordered-window's title include the hotkey for (un)pinning the mouse? Like "Worms Armageddon (windowed) - press Ctrl+G to (un)pin the mouse".

Regards,
Alloc

that sounds like a nice idea :D

StepS
19 Feb 2013, 21:24
Updated. 0.4.8.0.

Added QuickInfo: shows some quick information (topmost/pinned states, game resolution) when the Border is enabled. This is enabled by default. http://puu.sh/25f3T
Added StaticWindowClass: the W:A's window class (of the graphical window) no longer changes everytime on startup. This improves compatibility with software such as OpenBroadcaster. This is enabled by default.
Some fixes.

Alloc
19 Feb 2013, 21:28
Too bad there's no thanks-button here :D
Thank you

StepS
15 Mar 2013, 16:05
Updated. 0.4.9.0.


Added support for 3.7.2.1[Steam] version of the game. This D3D9Wnd is compatible with both 3.7.0.0 and 3.7.2.1 now.

Obn3g0n
15 Mar 2013, 16:35
Awesome work StepS!

StepS
15 Mar 2013, 20:32
Updated. 0.5.0.0.


Added support for 3.7.2.1 (CD) version of the game. This D3D9Wnd is compatible with both 3.7.0.0 and 3.7.2.1 now, as well as Steam.

DiscoChao
29 Mar 2013, 15:58
Updated. 0.4.4.0.

This allows Alt+Tab and similar to work fine (it's recommended to perform mouse unpinning before switching). People with keyboard hook can use the reg file from archive. This is enabled by default now.
Ctrl+T quickly switches between topmost and non-topmost window type of in-game window independently on the setting in ini file.

To enable background WA like on pac-man's screenshot, do the following:

1) enable NoTopmostInGame in ini or use Ctrl+T later; set your resolution for game
2) when in-game, use Ctrl+H for active background, then unpin mouse with Ctrl+G and then alt tab to any window.
3) have fun

Win 7 running 3.7.2.1 CD Version here and the Active Background feature doesn't seem to work for me, but I think it's because using the reg file from the archive has not successfully given me the power to alt-tab out of Worms; Nothing happens. I've double checked the registry entry (seems fine (http://i.imgur.com/HJHW5q2.png)) and restarted and no luck.

StepS
29 Mar 2013, 19:37
Win 7 running 3.7.2.1 CD Version here and the Active Background feature doesn't seem to work for me, but I think it's because using the reg file from the archive has not successfully given me the power to alt-tab out of Worms; Nothing happens. I've double checked the registry entry (seems fine (http://i.imgur.com/HJHW5q2.png)) and restarted and no luck.

what happens when you do Alt+Tab? just nothing or does the game look like it's paused?
this registry key could also be applied to the same subkey under HKEY_CURRENT_USER instead of HKLM.
but on Windows 8 no fixes are needed as it already works out of the box... so I cannot be sure :(
if alt+tab won't work then i could make an alias for you to switch the current window while in-game.

and it seems you have Aero disabled, so you cannot use the window border (due to some limitations...) and cannot center the in-game window. if you ran with dwm then the window would be centered but making Active Background enabled would place it into corner until disabled. this is also a technical limitation. probably i could get around this one some day... including the "double res" mouse limit.
but WA really needs fixes for its windows :(

DiscoChao
29 Mar 2013, 20:26
what happens when you do Alt+Tab? just nothing or does the game look like it's paused?
this registry key could also be applied to the same subkey under HKEY_CURRENT_USER instead of HKLM.
but on Windows 8 no fixes are needed as it already works out of the box... so I cannot be sure :(
if alt+tab won't work then i could make an alias for you to switch the current window while in-game.

and it seems you have Aero disabled, so you cannot use the window border (due to some limitations...) and cannot center the in-game window. if you ran with dwm then the window would be centered but making Active Background enabled would place it into corner until disabled. this is also a technical limitation. probably i could get around this one some day... including the "double res" mouse limit.
but WA really needs fixes for its windows :(

Tried adding the the fix under HKCU, no dice. The game provides no feedback whatsover. No pause. It just acts like I hadn't made any sort of input at all. Other combos don't work either, like Winkey + D etc so it's just not taking yes for an answer on "Stahp hookin' da keyboard".

As for Aero, I'm not terribly flustered or concerned about the border (Which, yes, does not work for me.) and I use the stretch settings for the module anyhow, so no worries there on the centering, unless of course I need to NOT stretch it for the active background feature, but before I'd be able to test that, I'd still need to be able to get out of the game without minimizing.

Mostly at this point, I'm just confused about the registry change not doing the job.

StepS
30 Mar 2013, 21:18
the problem is that on most recent systems the Alt+Tab can not be controlled from user mode, it's in kernel. you can't hook it either to perform your own commands. This is at least the case for Windows 8, so the block doesn't occur.

stretch is fine. to get out of the game you could unpin cursor with Ctrl+G. Ctrl+Shift+Esc opens the task manager.

DiscoChao
30 Mar 2013, 22:34
So it turns out, I did some science. I learned the registry hack will work ONLY IF I run Worms as admin, so that's weird, I guess. I'd rather not turn UAC off to deal with the "can't unminimize if running as admin" issue, but now I've learned something, and the BG stuff does work fine when I alt-tabbed in that scenario.

Thanks, StepS.

EDIT: Or apparently, I just need to run it as admin once, and then never again, because voodoo magic computing.

StepS
30 Mar 2013, 23:42
hey i forgot to tell you. The admin maximize issue doesn't exist when using d3d9wnd.

de4thwish
31 Mar 2013, 05:03
fixed all my alt tab issues!
working perfect with steam. Thank you very much.