The Ultimate Site of Worms Armageddon

Worms: Armageddon => General discussion => Topic started by: StepS on January 21, 2013, 02:09 PM

Title: D3D9Wnd 0.7.1.1: Direct3D 9-based windowed mode with multi-monitor support
Post by: StepS on January 21, 2013, 02:09 PM
[ English | Русский (http://worms.org.ua/forum/viewtopic.php?t=3948) ]

Hello.
I'd like to present you a windowed mode module that takes advantage of the game's Direct3D 9 renderer, which also allows for some brilliant features, such as playing the game on several monitors at once, stretching the window, unpinning/pinning mouse from the game window, playing the game using ultra-high screen resolutions, as well as producing and streaming ultra-high-resolution videos and screenshots on any monitor and system.

The following features can be highlighted:
D3D9Wnd works on W:A 3.7 and higher (CD/Steam/GOG) and makes use of the native Direct3D 9 renderer of the game introduced in 3.7.

Additional notes:
The latest version is 0.7.1.1 (13 April 2019): DOWNLOAD (https://steps.keybase.pub/wa/wk/wkD3D9Wnd.zip) | Mirrors on GitHub (https://github.com/StepS-/D3D9Wnd/releases).

The module is now open-source. Check GitHub (https://github.com/StepS-/D3D9Wnd) to get the source code or suggest improvements.

Extract everything into your W:A folder and run the game, making sure that the "Load WormKit modules" option is enabled in the Advanced Options of your game.

Credits:
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Kaleu on January 21, 2013, 02:40 PM
Kawoosh should add a "Donate" button or something at his releases, you guys are such a heroes giving these stuff for free, this is a example of love to W:A, gratz and thankz guys.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on January 21, 2013, 02:46 PM
Kawoosh should add a "Donate" button or something at his releases, you guys are such a heroes giving these stuff for free, this is a example of love to W:A, gratz and thankz guys.

as Kawoosh said himself before, he doesn't need money (it won't bring inspiration and stuff, it's difficult to explain, Rubber could be ported on the release day already, that's a typical Kawoosh), nor would he if he was to produce a commercial app or game.
you could donate to me though :) I did most of the features/fixes work after the base creation and soon there can be more! that way I'm also learning stuff
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: van on January 21, 2013, 04:46 PM
W00t, exactly what I've been waiting for, thanks!

To minimize in-game, use Shift+Esc. The escape menu button doesn't work

This is going to be a bit of a pain (years of practise). I kinda wish alt+tab worked properly.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Impossible on January 21, 2013, 04:51 PM
you could donate to me though :)
lmao and where do you want me to send you money?
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: OrangE on January 21, 2013, 05:05 PM
i will try this tonight in the streaming tests.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Agassi on January 21, 2013, 06:20 PM
Glory to USSR programmers!
(http://s017.radikal.ru/i422/1301/5b/135f62c8b17c.gif)
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on January 21, 2013, 06:44 PM
W00t, exactly what I've been waiting for, thanks!

To minimize in-game, use Shift+Esc. The escape menu button doesn't work

This is going to be a bit of a pain (years of practise). I kinda wish alt+tab worked properly.
alt+tab does work properly, but W:A window is topmost. Also if someone is having trouble with wkAntiKeyboardHook, may take a look at this (http://worms.cinus.org/antikeybhook/).
I've just added Tab+Alt (Alt+Tab), but probably Alt+Tab won't work on Windows 8. There's no way to detect this anymore, Windows takes full control over Alt+Tab, bummer.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Twyrfher on January 22, 2013, 01:58 PM
It's doesn't work for me @ Windows XP, I got a messy screen in front of the game.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on January 22, 2013, 04:25 PM
It's doesn't work for me @ Windows XP, I got a messy screen in front of the game.
can you try the latest uploaded version?
Windows XP is old and lacks aero so there can be issues, but most of them should be sorted by now.
issues produced by Direct3D 9 itself cannot be solved.
if it still doesn't work, i'd like to see screenshots
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on January 22, 2013, 06:39 PM
Updated. 0.3.0.0.

thanks to Casso for testing on disabled desktop composition and italian boxes!
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Twyrfher on January 23, 2013, 01:30 AM
It's doesn't work for me @ Windows XP, I got a messy screen in front of the game.
can you try the latest uploaded version?
Windows XP is old and lacks aero so there can be issues, but most of them should be sorted by now.
issues produced by Direct3D 9 itself cannot be solved.
if it still doesn't work, i'd like to see screenshots
Now it works perfectly ;)

edit: not perfectly, I can't replay wagames  :'( I can listen to them but can't see nothing.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on January 23, 2013, 08:04 AM
wagames
lol totally forgot about this. i'll look into it later, thanks
it works fine for users with Aero :) why do you still use XP?

--- try it now, should work.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: tuomatz on January 23, 2013, 09:01 PM
Could you add a feature to set frontend resolution to different value than ingame resolution?
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Twyrfher on January 23, 2013, 11:54 PM
it works fine for users with Aero :) why do you still use XP?
Why should I change :D I haven't formated like in 3 or 4 years, my system runs perfectly (anyway, I have win7 in my laptop, I hate it)
Quote
--- try it now, should work.
Ok, later.
Title: D3D9Wnd updated!
Post by: StepS on January 24, 2013, 11:28 PM
Updated. 0.4.0.0
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.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Free on January 25, 2013, 06:30 AM
So if I use this I won't have to worry about screenlag ever again?

2ghz cpu, 2gb ram, no unnecessary shit installed.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on January 25, 2013, 08:12 AM
performance will be the same as if you ran Direct3D 9 without anything. just here it's in window!
Title: D3D9Wnd has been updated!
Post by: StepS on January 25, 2013, 08:36 PM
Updated. 0.4.3.0.

Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: tuomatz on January 25, 2013, 09:59 PM
tmtz thanks you with love <3
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on January 26, 2013, 03:36 PM
Updated. 0.4.4.0.
To enable background WA like on pac-man's screenshot (http://beta.team17.com/showthread.php?p=788862#post788862), 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
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Free on January 27, 2013, 12:13 AM
So let me get this clear, this doesnt work without wormkit yes?
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: van on January 27, 2013, 05:50 AM
Steps, it works flawlessly now, thanks for the frequent updates!

So let me get this clear, this doesnt work without wormkit yes?

Wormkit is built into 3.7.0.0 so it does indeed work 'without' wormkit.
Title: Re:
Post by: StepS on February 19, 2013, 09:28 PM
Updated. 0.4.8.0.
Title: Re:
Post by: StepS on March 15, 2013, 04:12 PM
Updated. 0.4.9.0.

Title: Re:
Post by: StepS on March 15, 2013, 08:34 PM
Updated. 0.5.0.0.

Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Husk on April 27, 2013, 10:26 AM
does this help with crossfire / dual-core etc. compatibility issues?
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: StepS on April 27, 2013, 10:41 AM
does this help with crossfire / dual-core etc. compatibility issues?
are those graphic issues? pretty much yes, also fixes two-monitor bug on Windows 7, as well as Admin-mode maximize.
Title: Re: D3D9Wnd - a Direct3D 9-based windowed mode without emulator
Post by: Husk on April 27, 2013, 04:02 PM
alright, thanks =) I'll try it
Title: D3D9Wnd updated!
Post by: StepS on June 16, 2013, 11:56 PM
A wild update appears. 0.5.2.5
Title: D3D9Wnd updated!
Post by: StepS on June 30, 2013, 11:09 PM
A new update has been released.

Title: Re: D3D9Wnd [MULTIMON CONTEST ONGOING!]
Post by: j0hny on July 02, 2013, 06:54 PM
what would we do without them :) gj guys
Title: UPDATED!!!
Post by: StepS on July 04, 2013, 03:21 PM
A new update released, 0.5.5.0.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on July 04, 2013, 05:04 PM
Very awesome Steps.. I've been hoping for that 'Run frontend in background' feature. One step closer to perfect for multi-monitor users. The only thing that could improve it now is if the mouse didn't get trapped inside stretched/custom-sized frontend windows. The way the default windowed (top left) frontend mode works is perfect, the way you can click freely in and out of WA's focus. It's just a bit hard to read comfortably, with its small size. With stretched/custom sized frontends, you still have to minimize the game to operate other windows.

And I just wanna say, your D3d9wnd utility makes WA with multiple monitors sooo much more enjoyable. The Ctrl+G and Ctrl+H in-game feature that lets you browse the internet and watch people's turns at the same time is awesome. Thanks for continuing to develop it, even though you play on 1 screen on a laptop.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on July 04, 2013, 05:09 PM
Very awesome Steps.. I've been hoping for that 'Run frontend in background' feature... One step closer to perfect for multi-monitor users. The only thing that could improve it now is if the mouse didn't get trapped inside stretched/custom-sized frontend windows. So that it would work the same as the default (windowed) size where you can click into and out of the window easily. The way the default (windowed) size works is perfect now, but it's a bit hard to read with its small size.
Man, if it was possible, i'd do it the in the day this was released. But it is not. The current frontend is so buggy that all of its controls, as well as mouse listening is bound to top left angle. Moving that control window will also move any icons or menu elements out the window, leaving us with just sky and stars. There were many attempts at finding a solution to properly move the controls but that solution was never found. Kawoosh wanted to look deeper into it one day, but still didn't get to it.


Quote
There's also a very small quirk with the Ctrl+G/Ctrl+H feature in-game.

When you do Ctrl+G/Ctrl+H the first time, the Ctrl+H has no effect. The Ctrl+G releases the mouse as intended, but as soon as you click outside the WA window, the window is no longer active. The Ctrl+H does not keep the WA window active in the background, and all animation stops.

When you restore focus to the WA window, Ctrl+G/Ctrl+H works as intended --- you can click outside of WA's focus and WA continues to animate in the background.
This doesn't happen for me. Can you show your settings file?

Edit: I understand what you mean there. You first press Ctrl+G and only then Ctrl+H. This will never work because you are not focused on the W:A window anymore (the keyboard keys only work when the game is on foreground). Do it in reverse. Or... you can just not press ctrl+g, because there's the new "AutoUnpin" feature. Btw, check out the "ActiveBackground" in ini file... It can be enabled permanently now.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on July 04, 2013, 05:31 PM
Disregard my post... I figured out the Ctrl+G/Ctrl+H thing while I was testing... I've just been doing it wrong. Thanks for the tip about "ActiveBackground" in the ini file... never knew about that!

And I assumed the stretched mouse focus was impossible... just checking since you have made some breakthroughs recently with the frontend.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on July 04, 2013, 05:38 PM
And I assumed the stretched mouse focus was impossible... just checking since you have made some breakthroughs recently with the frontend.
unfortunately those "breakthroughs" (there was only one recently btw which is right now) have nothing to do with that messy control window, on which every button, form, and graphics icons depend :( we have to thank Team17 for using MFC with such a poor implementation some decades ago. That's also the reason why current W:A maintainers don't change the way frontend works. One single change can break everything, and you may spend long hours or days trying to find and resolve the issues. We all hope for 4.0, but until then, this is the only real solution for now.
But still if you need to keep the big window running, just use Alt+Tab or something similar!
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on July 04, 2013, 06:09 PM
Quote from: StepS
...those "breakthroughs" (there was only one recently...
It's a good one though. Useful to monitor chat, see when players light up, etc, while you browse.

Quote from: StepS
But still if you need to keep the big window running, just use Alt+Tab or something similar!
Thanks .. I'll try this when I get home.
Title: D3D9Wnd updated!
Post by: StepS on August 07, 2013, 11:53 AM
A small update (0.5.5.5) was released, sorry for delaying, should have been released many weeks ago.

Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: twistah on September 04, 2013, 02:28 AM
in the options i've selected Direct3D 9 (CPU). aaand.. my worms takes 25% of my screen now while its in the upper left corner? i've downloaded this with the intention to get rid of my lags in rope games. how do i set this up properly? is there a key combo to maximize that window?
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on September 04, 2013, 01:25 PM
in the options i've selected Direct3D 9 (CPU). aaand.. my worms takes 25% of my screen now while its in the upper left corner? i've downloaded this with the intention to get rid of my lags in rope games. how do i set this up properly? is there a key combo to maximize that window?
frontend was always 640x480, and this is how it looks like on a big screen without stretching. you can only stretch it using the settings. to do that, open wkD3D9Wnd.ini. then, depending on what you need, you may want to stretch it to cover the whole screen by enabling Stretch=1 in the FrontendSettings section. or if you want it to be a custom size, do EnableCustomSize=1 and set your size below.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: twistah on September 04, 2013, 01:51 PM
ok, ty. gonna try that later
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: twistah on September 06, 2013, 04:09 PM
hm, i did that with Stretch=1 and chose Direct3D 9 (CPU), but worms is still in the upper left corner? ;/
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on September 07, 2013, 10:13 AM
hm, i did that with Stretch=1 and chose Direct3D 9 (CPU), but worms is still in the upper left corner? ;/

Spoiler! View
(http://puu.sh/4l9IA.png)
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on November 04, 2013, 07:05 PM
Awesome job steps. Steam compatible! Just a suggestion: include some quick instructions in the archive, and use .ZIP instead of .RAR - to make it more noob accessible!

I'm noticing a big surge of new players from the weekend $1 sale. More are likely to stick around if they can figure out how to use this program.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on November 05, 2013, 12:44 PM
Awesome job steps. Steam compatible! Just a suggestion: include some quick instructions in the archive, and use .ZIP instead of .RAR - to make it more noob accessible!

I'm noticing a big surge of new players from the weekend $1 sale. More are likely to stick around if they can figure out how to use this program.
my usual practice is to use RAR for Windows-only designed modules, but I may do it zip as well, good idea. however zip is 16 kB bigger here. link added.

meanwhile I'm working on a little update that will also add DPI-awareness to the game, but I need to finish some stuff first. maybe any feature ideas regarding to the window?
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on November 06, 2013, 04:33 AM
Quote from: StepS
maybe any feature ideas regarding to the window?

When you click outside the main menu frontend window (the mouse is not bounded inside the window), the frontend doesn't minimize.

If you could somehow click outside the other frontend windows, such as the Host/Join lobby (if the mouse wasn't bounded inside the window), would the same non-minimizing behaviour occur?

If not, ignore the rest of this post..


IF yes, a simple hotkey "eg. force mouse position to X=1921, Y=1" might release the mouse for use on monitor #2?

You've almost certainly thought of this and it's probably impossible, or else you would have done this or a workaround similar to it already. I don't really have any other suggestions right now.

(My motivation for this suggestion: It's slightly annoying not being able to "Ctrl-G" on the Host/Join screen when hosting because the game does not notify you when players join your game on the taskbar. If a workaround like the one I suggested above worked, I could do other stuff while waiting for people to join my game, without continuously minimizing/restoring).

Let me just say that D3D9Wnd is almost perfect, so I'm definitely nitpicking, since you asked. And it wouldn't be possible to gracefully minimize the frontend at all (ie. without those annoying slow resolution changes and desktop icons moved) if you hadn't made this program. Shift-Esc is very handy in the frontend already.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on November 06, 2013, 11:07 AM
If you could somehow click outside the other frontend windows, such as the Host/Join lobby (if the mouse wasn't bounded inside the window), would the same non-minimizing behaviour occur?
yes, why not? it's all the same frontend.

the mouse is not bounded inside the window
if you're using a centered/customsized frontend, being able to click outside in the first main screen is a BUG, you shouldnt be able to do that but I don't know how to fix it.

when RunInBackground is active, switching to another window will mean W:A has lost its focus, and will still produce the flashing on join on taskbar even though it is visible on the screen. This is what RunInBackground is about.

if you're using a centered/custom-sized frontend you may use Alt+Tab to switch between windows. It is kinda pointless for a Ctrl+G there because we already have the game's cursor. Unhiding the Windows cursor in those modes would produce lots of confusion as it would be in a wrong position. maybe I could add a teleport-like feature so it would result near the expected graphical's window edge, however to me it seems like a huge crutch and not really worth dealing with yet another frontend issue caused by Team17's design.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on November 08, 2013, 08:11 PM
Quote from: StepS
when RunInBackground is active, switching to another window will mean W:A has lost its focus, and will still produce the flashing on join on taskbar even though it is visible on the screen. This is what RunInBackground is about.

if you're using a centered/custom-sized frontend you may use Alt+Tab to switch between windows.

As far as I can tell, on Windows 7 alt-tab has no effect when the frontend is open. (Ctrl+Shift+Esc (Task Manager) is also blocked.) Therefore RunInBackground doesn't do anything for us W7 people, except maybe affect the taskbar flashing. To "switch between windows" you have to minimize the frontend... which isn't ideal.

Quote from: StepS
maybe I could add a teleport-like feature so it would result near the expected graphical's window edge
This would be very useful, if it's easy to code. I would love to be able to "teleport" the mouse outside of the frontend's window boundaries, so that I could click on stuff on my 2nd monitor, without having to minimize the frontend. It's going to be a long time before WA 4.0 comes out, so I'd say it'd be a very worthwhile fix, as long as it's not difficult to code.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on November 09, 2013, 03:03 PM
As far as I can tell, on Windows 7 alt-tab has no effect when the frontend is open.
This is untrue, please use the reg file from the archive, it is there for a reason.

Quote
Quote from: StepS
maybe I could add a teleport-like feature so it would result near the expected graphical's window edge
This would be very useful, if it's easy to code. I would love to be able to "teleport" the mouse outside of the frontend's window boundaries, so that I could click on stuff on my 2nd monitor, without having to minimize the frontend. It's going to be a long time before WA 4.0 comes out, so I'd say it'd be a very worthwhile fix, as long as it's not difficult to code.
maybe not, but as I said it is a very huge crutch and I don't want an yet another pollution of the code that may break in any unwanted circumstance
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on November 09, 2013, 05:35 PM
AntiKeyboardHookA.reg doesn't have any affect for me. Alt-f4 still doesn't work in the frontend on w7.

Anyway, it doesn't matter. I can understand why you don't want to add obscure 'hackish' workarounds that could break, and would confuse more people than they would help. :)

For anyone just joining the thread now, D3d9wnd is an awesome utility and you should get it!
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on November 09, 2013, 08:00 PM
AntiKeyboardHookA.reg doesn't have any affect for me. Alt-f4 still doesn't work in the frontend on w7.
launch W:A as an admin once, exit W:A, launch WA again or reboot the computer.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on November 09, 2013, 09:56 PM
It worked!!!! Just ran as an admin once, and set RunInBackground=1.

I can now keep the WA frontend open, in the background, while browsing stuff on my other screen! I also have the frontend window stretched so it covers everything except the start menu. Perfect functionality, 10/10.

Thanks StepS- I didn't realize this was even possible!!!!
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: kaelin on November 14, 2013, 10:15 AM
first off, awsome. worms armageddon, epic game, always good to come back toa classic.

2 'big' issues.

I'm trying to center the game on the screen and make the play screen larger. 

edit the file, change centered=1 and customsize=1 with my size being 1024x768

Centered, seems to lock my mouse into game, so that I can't pan my mouse off the edge (like you can when its in the upper left corner).  Not a big loss, but I would prefer not to have to alt tab to click something 'behind' the game.

Custom size, seems to make the game fullscreen (and no i'mnot running at 1024).

Any way to prevent or fix those two big issues?
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on November 14, 2013, 01:08 PM
Centered, seems to lock my mouse into game, so that I can't pan my mouse off the edge (like you can when its in the upper left corner).  Not a big loss, but I would prefer not to have to alt tab to click something 'behind' the game.
If I allow panning your mouse off the edge you would come back and slap me into the face again because your cursor position would be inconsistent (jumping from one edge to another). But it is not my issue. It is a Team17's issue from 1999, for which no cure has been found yet, sorry. Have you ever thought why we still have a 640x480 frontend after more than a decade and with the two programmers even having source code access?

Custom size, seems to make the game fullscreen (and no i'mnot running at 1024).
Custom size is to stretch frontend to the custom size rather than a full "Stretch" setting. Just imagine you're stretching a 640x480 picture to 1024 in photoshop. You can't enlarge frontend without stretching all of its graphics thanks to crutches left by Team17.
I could make a long story about the deep details of this but I just don't want to do so as it is simply a crutch mess and not even worth dealing with.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: kaelin on November 15, 2013, 02:28 AM
I figured it was something complicated like that. Just wasn't sure if I was doing something wrong (which I have a REALLY bad habit of doing). 

So had to ask, thanks for the swift reply.  Now excuse me while I holy hand grenade myself.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: avirex on November 15, 2013, 02:50 AM
ok im a newb....

i have some questions....


my lobby screen is in the top left corner, and thats fine i guess, i can minimize it by mouse clicking in the bottom left corner of that.... so its np...

but when i am in a game, it goes to full screen, which is obviously how i would like it to be.... but how can i minimize so i can do things on windows, but still be viewing the game???


also, what is the lock mouse feature for???


and, i dont think its a feature now, but are you able to make it so your team mate can view that mouse cursor?? would really be a helpful thing in clan games, elite's especially.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on November 15, 2013, 10:03 AM
but when i am in a game, it goes to full screen, which is obviously how i would like it to be.... but how can i minimize so i can do things on windows, but still be viewing the game???
Set ActiveBackground to 1 in the settings file (wkD3D9Wnd.ini) or enable it for just one session with Ctrl+H (will be overridden on next run): now when you're in-game, do alt+tab, and you will see the game running on background. Note that sound is not played in this mode: this is the default behavior of the game (if I ever find how I could make it an option)

also, what is the lock mouse feature for???
pinning mouse? It is now done automatically when switching to any other window (i.e. alt+tab) but you can still do Ctrl+G to unpin the cursor anytime.

and, i dont think its a feature now, but are you able to make it so your team mate can view that mouse cursor?? would really be a helpful thing in clan games, elite's especially.
I don't think this is something feasible. How would you sent it over?
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Eirken Uarbe on November 23, 2013, 10:43 AM
Quote
    SHA256: 6b71f1e0e6448a5ccdc3fe3e8356f4e09c816ab3340706ed18a294f8bcdd67df
    Nombre: wkD3D9Wnd.rar
    Detecciones: 5 / 46
    Fecha de análisis: 2013-11-18 03:48:57 UTC ( hace 2 días, 5 horas )


    Baidu-International Backdoor.Win32.Hupigon.AVyQ 20131117
    ClamAV Win.Trojan.Dadobra-119 20131118
    Jiangmin Backdoor/Huigezi.2007.agwr 20131117
    Sophos MadCodeHook 20131117
    TrendMicro-HouseCall TROJ_GEN.F47V1109 20131118



.
.
https://www.virustotal.com/es/file/6b71f1e0e6448a5ccdc3fe3e8356f4e09c816ab3340706ed18a294f8bcdd67df/analysis/
.
.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on November 24, 2013, 10:26 AM
Quote
    SHA256: 6b71f1e0e6448a5ccdc3fe3e8356f4e09c816ab3340706ed18a294f8bcdd67df
    Nombre: wkD3D9Wnd.rar
    Detecciones: 5 / 46
    Fecha de análisis: 2013-11-18 03:48:57 UTC ( hace 2 días, 5 horas )


    Baidu-International Backdoor.Win32.Hupigon.AVyQ 20131117
    ClamAV Win.Trojan.Dadobra-119 20131118
    Jiangmin Backdoor/Huigezi.2007.agwr 20131117
    Sophos MadCodeHook 20131117
    TrendMicro-HouseCall TROJ_GEN.F47V1109 20131118

and so what? This is quite pointless, let me explain why:

There, just verified with my newest version 0.5.5.6:
https://www.virustotal.com/en/file/a1490232542c40a1658b8f7f8245693dfd837cf151bdd33b910273b15504c445/analysis/1385288761/
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Christian on November 26, 2013, 01:44 PM
This is great! Thanks a lot
Title: D3D9Wnd 0.6.0.0 released!
Post by: StepS on May 22, 2014, 07:23 PM
A new update has been released: 0.6.0.0.

0.6.0.3: minor transparency/FancyStartup fixes
0.6.0.4: FancyStartup will not appear in replays now
0.6.0.5: Fixes for the in-game camera movements when wkSuperFrontend's large frontend is active.
0.6.0.6: Added a FullscreenAlternative option. This is the artificial (non-exclusive) fullscreen that was in the module prior to 0.6.0.0 (but has since been improved a bit). This is useful to eliminate various exclusive fullscreen issues such as Windows 7 Aero multi-monitor flickering issues. Note: this setting takes priority over the vanilla Fullscreen.
0.6.0.7: Changed the way the D3DDevice9 Present hook works. This solves compatibility with all other apps that hook rendering, such as Fraps.
0.6.0.8: Minor fixes to the module's exiting phase.
0.6.0.9: The module will now check if the fullscreen resolution required for frontend is supported by the system. In case of a failure, a warning will be shown, telling the details, and the module will then switch to windowed mode. This is for both standard and alternative fullscreen modes. Useful to determine whether a CreateDevice failure in unmodified game was actually a screen mode switch failure.

Coming soon:
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: rongyao on June 03, 2014, 11:31 AM
A small bug!

Using d3d9wnd in combination with superfrontend, causes hardware mouse to not stay inside the frontend window!

D3d9wnd settings
Quote
[Misc]
EnableModule=1
StaticWindowClass=1
NoTopmost=1
FancyStartup=0

[FrontendSettings]
Fullscreen=0
FullscreenAlternative=0
Stretch=0
Centered=1
RunInBackground=1
EnableCustomSize=1
Xsize=800
Ysize=600

[InGameSettings]
WindowBorder=1
Stretch=0
QuickInfo=1
ActiveBackground=1
TopLeftPosition=0
AutoUnpin=1

[MultiMonitor]
Monitors=2
EnableInFrontend=0
EnableInGame=0
AutoSetResolution=1

Super frontend settings!
Quote
[SuperFrontend]
EnableModule=1
FrontendWidth=800
FrontendHeight=600
AdjustDebris=1

Ingame resolution from registry is set to 800x600 too.

The ingame mouse cursor that is worms colored one stays inside, but the windows cursor in meanwhile i move the game one moves behind worms window and clicks folders or points stuff on the desktop, remaining active there.

If i disable superfrontend it works perfectly fine but the default frontend resolution is not very good.

Also a request, may we get a border on the frontend window too? So to be able to move it around as i can do with the game window if border is enabled.

Update: Ah superfrontend makes the frontend mouse to remain locked inside the invisible window 800x600 square but on top left side of  the screen.
So centering frontend window in combination with superfrontend and the fact windows mouse is not disabled, causes the glitch where mouse is released behind and interacts with screen objects and applications.

Another question, when wkresolution gets released, does wkresolution, wksuperfronted and wkd3d9wnd will get merged into one plugin in near future or they will stay as separate plugins?

Video representing the bug. https://drive.google.com/file/d/0B7MS086qw3wgN0xGLUZNVnlsaVE/edit?usp=sharing
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on June 04, 2014, 08:48 AM
The ingame mouse cursor that is worms colored one stays inside, but the windows cursor in meanwhile i move the game one moves behind worms window and clicks folders or points stuff on the desktop, remaining active there.
I have already explained (https://www.tus-wa.com/forums/worms-armageddon/d3d9wnd-a-native-direct3d-9-based-windowed-mode-and-multi-monitor-support-19063/msg184196/#msg184196) why this happens, and why there's no window border in frontend. It's not my bug, it's the abomination of team17's DXMFC rendering hybrid for all frontend screens that causes it to render graphics for the controls relative to the screen corner, not the window's corner. I still haven't found where and how to fix it. Currently the secondary window with all mfc controls remains in the corner even when what you see is centered, which causes these problems.
It's not superfrontend which causes the issue. It's simply that there are gaps around the default 640x480 controls area when it's active, and no gaps to hide cursor when it isn't active (if you click something in the top left corner normally, you'll see cursor flashing for a bit when switching the screens)
The solution is simple: don't use centering.

Another question, when wkresolution gets released, does wkresolution, wksuperfronted and wkd3d9wnd will get merged into one plugin in near future or they will stay as separate plugins?
wkReSolution is for Worms2. super frontend is currently still under testing phase, and has not been announced officially, it's just a quick hack to change the frontend's dimensions. They won't be merged as one can be used independently of the other, and also superfrontend will likely always stay version-dependent unlike D3D9Wnd.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Nonentity on June 05, 2014, 04:24 PM
I have a couple of suggestions for this module.
1: [FrontendSettings] (there might be some limitations that I'm not aware of, but I think it should work with hardware cursor disabled)
Xposition=
Yposition=

[InGameSettings]
disable=1 (windowed frontend is really useful, but I don't need to change any in-game settings, and I feel like it adds some input lag, disabling aero might help with that, tho)
forcevsync=0 (not sure if this is still a thing, haven't tested the latest version)

Just some more suggestions to improve the module, really awesome if it gets added.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: PyroMan on June 05, 2014, 06:57 PM
yo there x) i`m back!
sry for offtop. cool module btw. I`ll get w:a on steam soon and will be back i guess :D
Will it work with steam version of w:a btw?
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on June 06, 2014, 09:20 AM
Just some more suggestions to improve the module, really awesome if it gets added.
answered in pm

yo there x) i`m back!
sry for offtop. cool module btw. I`ll get w:a on steam soon and will be back i guess :D
Will it work with steam version of w:a btw?
yes. Also in version 0.6.1.2 I have fixed compatibility with steam overlay (where hooks would conflict) so that it now works properly
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: rongyao on June 07, 2014, 02:07 PM
Thank you for the replies! ^^

Also one request here. Ability to choose 0 width and 0 height for frontend resolution in d3d9wnd.ini for windowed mode, which to get current desktop resolution and set it automatically. Fake fullscreen kind of a thing. Or automatically to get worms armageddon resolution from registry and set them to the frontend if width and height are set to 0, that will be even better i think.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on June 07, 2014, 04:52 PM
Ability to choose 0 width and 0 height for frontend resolution in d3d9wnd.ini for windowed mode, which to get current desktop resolution and set it automatically.
This is what SuperFrontend already does: when the sizes are set to 0, you get your desktop resolution. This is the default in the ini file you get from the website.
If you simply want to stretch it, that's what the "Stretch" option does: fills your whole screen.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on October 31, 2014, 11:57 PM
A new update has been released: 0.6.6.6. This update is awesome and everyone who is using an older version must upgrade. More details on that later.
What's new?

Happy Halloween!
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Kaleu on November 01, 2014, 04:20 PM
Thanks StepS.
666 Satanael \,,,/
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StorminASU on December 04, 2014, 06:57 PM
Hello All!
   I recently purchased W:A which is the first and only game I've bought from Steam, but I couldn't pass up the sentimental value of owning it again.  However, I do have a bad habit of "multitasking" at work and need to figure out a way to play W:A without taking up the whole screen and at any time being able to click focus on something in the background and having the game go away: similar to if you're surfing the internet, you minimize the window a little, keep something up behind it to click on in case someone walks in.  Is this possible?

I've tried to download d3d9wnd and make it work, but I can't figure it out because I'm so unfamiliar with registry options and I don't understand what frontend, etc. refer to.  TIA!!!
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on December 07, 2014, 06:34 AM
Quote from: StorminASU
I've tried to download d3d9wnd and make it work, but I can't figure it out because I'm so unfamiliar with registry options and I don't understand what frontend, etc. refer to.  TIA!!!
When editing D3D9Wnd.ini, 0=Off, and 1=On.

"FrontendSettings" refers to the menu system. Anything with the blue background and floating stars basically. Knowing this, combined with knowing the above (0=Off, 1=On) the options are reasonably self-explanatory.

"InGameSettings" controls everything in the actual game.

The "InGameSettings" are a bit difficult to understand at first. As long as you know that with D3d9wnd enabled all aspects of the game are 'windowed' by default, it makes sense. It's only when the Desktop Resolution of the player matches his or her In-Game-configured setting, that the In-Game portion runs in fullscreen.

To achieve what you want to do, you need "Stretch=0" under the InGameSettings, and then in the regular WA options, set a smaller resolution than your regular desktop resolution. For example, most computers use 1366x768 as their default resolution, so you might set WA to use 1024x768, so you can click out of the game on the sides.

Just so you know, since WA makes use of the mouse to control the game's camera, you first will need to press "Ctrl+G" to un-pin the mouse, and then click outside of the window. Alternatively, Windows+D, Windows+M, or Shift+Esc will minimize the game quickly at any time (with or without D3D9Wnd).

To minimize the windowed frontend quickly, you have to press Windows+D or M. Clicking outside the frontend window doesn't make it go away, since it's Always-on-top for some reason.

My recommendation: find some free software that will let you remap Windows+D to an easier single-button shortcut, for when your boss walks in. I know AutoHotKey can do this, but it's extremely confusing.

Getting D3D9Wnd was smart because now minimizing from the Frontend doesn't force your monitor to switch resolutions, so minimizing will be instant, instead of the usual 2-5 second lag.

Edited for clarity.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StorminASU on December 10, 2014, 06:47 PM
Quote from: StorminASU
I've tried to download d3d9wnd and make it work, but I can't figure it out because I'm so unfamiliar with registry options and I don't understand what frontend, etc. refer to.  TIA!!!
When editing D3D9Wnd.ini, 0=Off, and 1=On.

"FrontendSettings" refers to the menu system. Anything with the blue background and floating stars basically. Knowing this, combined with knowing the above (0=Off, 1=On) the options are reasonably self-explanatory.

"InGameSettings" controls everything in the actual game.

The "InGameSettings" are quite confusing in my opinion. There should be a setting to explicitly enable windowed mode in-game. Eg. "Windowed=1". And I'd like to see Comments added with a brief description of what each setting does.

To achieve what you want to do, you need "Stretch=0" under the InGameSettings, and then in the regular WA options, set a smaller resolution than your regular desktop resolution. For example, most computers use 1366x768 as their default resolution, so you might set WA to use 1024x768, so you can click out of the game on the sides.

Just so you know, since WA makes use of the mouse to control the game's camera, you first will need to press "Ctrl+G" to un-pin the mouse, and then click outside of the window. Alternatively, Windows+D, Windows+M, or Shift+Esc will minimize the game quickly at any time (with or without D3D9Wnd).

To minimize the windowed frontend quickly, you have to press Windows+D or M. Clicking outside the frontend window doesn't make it go away, since it's Always-on-top for some reason.

My recommendation: find some free software that will let you remap Windows+D to an easier single-button shortcut, for when your boss walks in. I know AutoHotKey can do this, but it's extremely confusing.

Getting D3D9Wnd was smart because now minimizing from the Frontend doesn't force your monitor to switch resolutions, so minimizing will be instant, instead of the usual 2-5 second lag.

Thank you so much for the very detailed answer and all your help.  I tried implementing your suggestions, but there's still a lag when I open the game and it displays (also when I quit the game, etc), and it still takes up the entire screen.  I've copy and pasted my d3d9wnd settings below:
[Misc]
EnableModule=1
StaticWindowClass=1
NoTopmost=1
SoundInBackground=1
FancyStartup=0

[FrontendSettings]
Fullscreen=0
FullscreenAlternative=0
Stretch=0
Centered=0
RunInBackground=1
EnableCustomSize=0
Xsize=640
Ysize=480

[InGameSettings]
WindowBorder=1
Stretch=0
QuickInfo=1
TopLeftPosition=0

[MultiMonitor]
Monitors=Max
Enable=0
AutoSetResolution=1


Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on December 10, 2014, 07:07 PM
Hey storminASU. Your settings look fine.

But it doesn't sound like d3d9wnd is doing anything. I'm guessing the frontend (menus) are probably still full-screen, etc. That means one of two things: either D3D9Wnd is not enabled yet in WA Advanced Settings, or it's installed in the wrong folder. Make sure this option is ticked:
(http://i58.tinypic.com/2zywuu1.png)

If you've enabled the above option but d3d9wnd is still not working, that means it's probably installed wrong. D3d9wnd has to be extracted (unzipped) into the base Worms Armageddon folder.

For Steam users the base WA folder is something like:
C:\Program Files (x86)\Steam\steamapps\common\Worms Armageddon

and for CD Rom or pirate users something like
C:\Microprose\Worms Armageddon


After you get the module working, you can tweak various settings, like increasing the size of the frontend to make the words easier to read, etc. EnableCustomSize is the one for that.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: rongyao on February 17, 2015, 10:07 AM
I've reinstalled the whole game from the cd, updated it, downloaded the plugin...
running everything default with d3d 9 cpu settings and d3dwnd default settings, my game moves with 10fps when mouse enters in the window, when moves out of the window works normally.

Setting up d3dwnd to use fullscreen makes it work completely fine, but i want to play windowed, previous versions like from 2014 of this plugin used to work fine.

Someone to tell me how to produce log files and send them so to help for this issue to get fixed up please?
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Kangaroo on August 08, 2015, 02:09 AM
ok im getting a few errors.

Main one is when I click start game , I can hear the game load and worms in game walking around and stuff but I get stuck at lobby screen and cannot see the game.. only hear it.

2nd one is the window is very small can i make it bigger ?

Im on windows XP
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on August 08, 2015, 02:29 AM
Which window is small? The menus or the game?
The game window size is controlled by the WA resolution setting,
The menu window size is controlled by editing the wkd3d9wnd.ini file. 0 means off, 1 means on.

Troubleshooting to get the easy things out of the way:
-try different graphics renderers (set in Advanced Settings)
-try using a smaller in-game resolution than your desktop resolution (will make game run in a window), or if game is already in a window, set in-game reso to your desktop reso.
-try changing various settings in the above-mentioned ini file.
-update directx? idk.

I'm not sure whether d3d9wnd was designed for Windows XP. Why do you need d3d9wnd? Multiple monitors? If it's just to make the menus more friendly you could try wkSuperFrontend. I'm sure someone smarter will come along with better suggestions..
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Kangaroo on August 08, 2015, 12:39 PM
Im on laptop and have only ever been able to get 1024x768 as my largest resolution...  I am wanting to find a way to get larger resolution so can play Big RR and see where I am going or see more of a roper map....

Here is main Problem though... I get to this part and then I cannot get into game. I can hear game load and start and my worms walking around and firing zooks ect ect but I cannot see. It just sticks on this screen... I can press ALT f4 and it goes back to menu, so its not game freezing its something else.
(http://s9.postimg.org/uoxtx28pb/lobby.jpg) (http://postimage.org/)
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on August 08, 2015, 12:49 PM
try to remove wkReplayShark, if you have it. I've encountered some weirdnesses with CreateWindow hooking when it's on (it might depend on the order of loading). Due to this, game-detection is malfunctioning, so specific windows are not fixed in the way they should be.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Kangaroo on August 08, 2015, 01:03 PM
try to remove wkReplayShark, if you have it.

dont have it

ok I got it all working... wow its amazing to play big RR with bigger res... so simple ... BUT its seems very laggy.. ;/   is this because I normaly play on 8bit or 32bit ?. and the Direct3D 9 (shader) setting is too much for my pc ?   512mb ram(128mb of that is built in graphics)
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Kangaroo on August 08, 2015, 01:52 PM
(http://s30.postimg.org/mwwpcf0mp/untitled.jpg) (http://postimage.org/)
photo storage (http://postimage.org/)
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on August 08, 2015, 07:39 PM
Try making a separate installation of WA for Project X if you haven't already. PX and high resolution don't mix on old PCs.

edit: er wait I guess if youre using D3d9wnd you can't be using PX.  I dunno then.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on August 08, 2015, 08:46 PM
You should launch the task manager, then run the game with the selected resolution, reproduce the lags, then minimize it and check the CPU/RAM usage.
Big RRs can eat up a lot of RAM. Even if a PNG map is about 1 or 2 MB big, it is compressed, and must fit in memory uncompressed (which can be 100, 200 MB or more). This is why the "Map Memory Warning" slider is present in Advanced settings, to let you know when an uncompressed map is going to hit the threshold (you can set it to "Always" so it'd always display you the amount of RAM it'd be using). It does look like one of the issues you're having here.
Also try to switch between Direct3D 9 (shader) and Direct3D9 (CPU) modes. The shader one should always be preferable, however, but I haven't tried it on systems like yours. The D3D9Wnd module only works with these two modes.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Kaleu on April 22, 2016, 12:43 AM
Hi StepS, thanks a lot for this module, I've been using it since its release and I can say that I'm used to it and I can't play without this module now.
Can you please update the D3D9Wnd? It's lagging for me since 1-2 week, I think its happening due to latest NVidia Drivers with this Vulkan shit that installed togheter, but I'm not sure, by lags I mean fps drops while roping, I am using stretched 1080p in my 1360x768 monitor, when I disable the module game does not lag but I can't see the edges of the screen because of the size higher than my monitor so I need this module.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Rabbzz on April 22, 2016, 01:00 AM
Didn't know I could use this to have a bigger res on laptop. Will be trying it out!! ;D
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Rabbzz on April 22, 2016, 09:10 AM
Is there a way to make res in game bigger then my max? current max is 1366x768 would like to see more on the map in bng's though.

Im sure there is a way using this but i havent figured it out yet
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Kaleu on April 22, 2016, 09:39 AM
Is there a way to make res in game bigger then my max? current max is 1366x768 would like to see more on the map in bng's though.

Im sure there is a way using this but i havent figured it out yet

Check the additional notes of the 1st post, you can switch using wkLobbyCmd, also there's a DL link.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on April 22, 2016, 12:32 PM
No rabbit. 1 pixel = 1 pixel.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Rabbzz on April 22, 2016, 12:38 PM
No rabbit. 1 pixel = 1 pixel.
Well Kaleu understood what I meant haha ;D
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Sensei on April 22, 2016, 02:12 PM
There's an easier way if you have NVidia graphic card. You should run NVidia control panel. Here's tutorial:

(http://s31.postimg.org/pot3408dz/res.jpg) (http://postimg.org/image/pot3408dz/)


Thx to Tomt for showing me this few weeks ago.
Title: Re: D3D9Wnd - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on July 06, 2017, 12:52 AM
D3D9Wnd 0.7.0.0 has been released

Changes:
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: SiD on August 03, 2017, 05:30 PM
My native res is 2560x1440, but I want to play with 1920x1080 fullscreen.
Using this module by far gives me the most stability (with stretch 1 and fullscreen 0), but the only issue I have is input lag, which I understand is caused by v-sync being on when using this module.

If I don't use this module:


I have the option of setting my Windows 10 resolution to 1920x1080 before running W:A but I haven't found a way to automate this.
Is it possible to use this module with V-sync off?
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on August 03, 2017, 06:02 PM
Is it possible to use this module with V-sync off?
If you disable vsync in your game settings, then it is disabled. However, this is not entirely true. Being windowed, the game is now subject to DWM's frame limiting. Therefore it is not really vsync-off anymore. The only way to play without DWM's interference is by using exclusive fullscreen (aka the vanilla one).
It is not possible to use Stretch in an exclusive-fullscreen application without more DirectX engineering than what the module already does.
Changing the resolution before the game can be automated. "FullscreenAlternative" in the frontend does exactly this - changes the system resolution. However it is set to restore it upon minimize/restore, so it'd feel like regular fullscreen. Technically this could be made to change the resolution until the game's shutdown, and not do anything in the process. But it will be your responsibility to fix it, should the game crash.
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: SiD on August 03, 2017, 06:45 PM
Thanks StepS, I'll look into a way of changing res more easily.
A weird thing I encountered:
The warning message which appears when there's an unsupported res specified came up REALLY faint:
http://i.imgur.com/heTKGik.png
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Sensei on August 05, 2017, 12:02 PM
Do I see AHK icon opened there in the right bottom corner SiD?!?
Questions might be asked... Muahahaha

 ;D
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: TheWalrus on August 05, 2017, 09:35 PM
Do I see AHK icon opened there in the right bottom corner SiD?!?
Questions might be asked... Muahahaha

 ;D
THE INTERLOPER IS USING THE CHEATS
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: Sensei on October 27, 2017, 03:56 AM
For twitch streaming purpose I decided to take a shot at D3D9Wnd and wkSuperFrontend today.

Decided to run a few Fraps tests, because game felt awkward and I wasn't drinking.
When using nothing or just wkSuperFrontend - fps in game doesn't drop below 530, and can reach ~580 max.
When using D3D9Wnd, fps never goes above 470.

Call me lunatic, but if everything felt the same, I would never remember to run the tests. Game feels and plays different. Roping, for example.. like worm got 2 pounds.
Jetpacking also felt like a fat worm drive it. Some kind of input lag, or whatever you want to call it.
Merely noticable, but difference exists. Any thoughts on this or I should get hospitalized?

Anyway, about wkSuperFrontend - great job StepS, week ago I thought there's no point in using it, but admit mistake. It really is nicer and more comfortable. Hope someday you'll figure out how to scale map editor on previous size. That would be awesome!



EDIT: hmm, is this answered already :/
Is it possible to use this module with V-sync off?
If you disable vsync in your game settings, then it is disabled. However, this is not entirely true. Being windowed, the game is now subject to DWM's frame limiting. Therefore it is not really vsync-off anymore. The only way to play without DWM's interference is by using exclusive fullscreen (aka the vanilla one).
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: eule on January 05, 2018, 02:37 PM
hi i want get d3d9wnd for 3.6.31.0. because of Project x. StepS do you still have an old Distribution? when i start it with .7.0.0 it says "Your Version is too old for this module"
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on January 05, 2018, 03:21 PM
hi i want get d3d9wnd for 3.6.31.0. because of Project x. StepS do you still have an old Distribution? when i start it with .7.0.0 it says "Your Version is too old for this module"
Hi, D3D9Wnd works with 3.7.0.0. What version does it show in the error?
3.6.31.0 doesn't support Direct3D 9. Project X, however, implements Direct3D 9 support in-game, and has a windowed mode option, so you don't need the module. Perhaps that windowed mode option would be nicer if it had more capabilities, but Project X isn't maintained and I'm not going to patch older versions.
If you want to enable windowed mode in the frontend, try this (https://steps.keybase.pub/wa/wk/old_windowmode_for_wa.zip).
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: KinslayeR on January 05, 2018, 03:28 PM
hi i want get d3d9wnd for 3.6.31.0. because of Project x. StepS do you still have an old Distribution? when i start it with .7.0.0 it says "Your Version is too old for this module"
Hi, D3D9Wnd works with 3.7.0.0. What version does it show in the error?
3.6.31.0 doesn't support Direct3D 9. Project X, however, implements Direct3D 9 support in-game, and has a windowed mode option, so you don't need the module. Perhaps that windowed mode option would be nicer if it had more capabilities, but Project X isn't maintained and I'm not going to patch older versions.
If you want to enable windowed mode in the frontend, try this (https://steps.keybase.pub/wa/wk/old_windowmode_for_wa.zip).

hi steps, is it work with 3.8 too?
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: eule on January 05, 2018, 04:33 PM
Code: [Select]
[quote author=StepS link=topic=19063.msg265673#msg265673 date=1515165667]
[quote author=eule link=topic=19063.msg265671#msg265671 date=1515163054]
hi i want get d3d9wnd for 3.6.31.0. because of Project x. StepS do you still have an old Distribution? when i start it with .7.0.0 it says "Your Version is too old for this module"
[/quote]
Hi, D3D9Wnd works with 3.7.0.0. What version does it show in the error?
3.6.31.0 doesn't support Direct3D 9. Project X, however, implements Direct3D 9 support in-game, and has a windowed mode option, so you don't need the module. Perhaps that windowed mode option would be nicer if it had more capabilities, but Project X isn't maintained and I'm not going to patch older versions.
If you want to enable windowed mode in the frontend, try [url=https://steps.keybase.pub/wa/wk/old_windowmode_for_wa.zip]this[/url].
[/quote]

in 3.6.31.0. on Windows 10 with a AMD Radeon T5. I actually came from this thread: https://steamcommunity.com/app/217200/discussions/2/34093781870846801/ , as i was experiencing the mentioned error. Wormskit.exe doesnt start at all, WA.exe starts, but is super slow in the menus & ingame. the errorlog is empty, so i tried to use D3D9Wnd as a workaround, however i'd love to stay on 3.6.31.0 bcs of Project x.
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on January 07, 2018, 09:06 PM
in 3.6.31.0. on Windows 10 with a AMD Radeon T5. I actually came from this thread: https://steamcommunity.com/app/217200/discussions/2/34093781870846801/ , as i was experiencing the mentioned error. Wormskit.exe doesnt start at all, WA.exe starts, but is super slow in the menus & ingame. the errorlog is empty, so i tried to use D3D9Wnd as a workaround, however i'd love to stay on 3.6.31.0 bcs of Project x.
If WormKit.exe doesn't start, you've messed up with some modules or DLLs. What error does it show?
To fix the "super slow" issue, insert this DLL file (https://steps.keybase.pub/fixes/ddraw_fix_w8_up.zip) into the game dir.
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: eule on January 09, 2018, 05:16 PM
px_errors.txt pxcrashlog.txt errorlog.txt are all empty after unsuccesfuly starting the game
pxlog.txt shows:
Quote
Log started
Project X! Version : 0.8.0.3104
for WA 3.6.31.0
WormKit Module
Wormkit module is used : wkFrontendFix.dll
Unlocked code region
Unlocked data region
Loading from : px3d.dll
Failed to load PX3D library!
Error : Das angegebene Modul wurde nicht gefunden
Can't load PX3D unit, terminating..

px3d.dll is in the diretory
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on January 12, 2018, 01:37 AM
Sounds like you don't have the required DirectX libraries. The library required by PX is d3dx9_33.dll and it comes separately with the DX 9.0c installation package. PX won't run on unupdated systems for this reason.
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: eule on January 17, 2018, 11:04 PM
hey the game is working now after installing direct x 9c, the menus are still slow but ingame everything's fine after using ddrawfix

thanks!  :)
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: oScarDiAnno on January 23, 2018, 12:00 AM
Hello! Thanks a lot for such a great tool, it's what I always wished for multitasking haha. Wish I knew it before!

I'm only struggling with something, I have two monitors and I want to run the game on the secondary one.
Config is set to borderless, but I can't move the "window" by pulsing Ctrl + G and "dragging it" as you say.

I have Windows 10 (updates disabled, i'm at 1607) + SuperFrontendHD, Rubberworm and this one.

Everything else works properly.

Configs:
D3D9Wnd:
Code: [Select]
[Misc]
EnableModule=1
StaticWindowClass=0
NoTopmost=1
SoundInBackground=1
FancyStartup=0

[FrontendSettings]
Fullscreen=0
FullscreenAlternative=0
Stretch=0
Centered=0
RunInBackground=1

[InGameSettings]
Fullscreen=0
WindowBorder=1
Stretch=0
QuickInfo=1
TopLeftPosition=0

[MultiMonitor]
Enable=0
Monitors=Max
AutoSetResolution=1

SuperFrontendHD:
Code: [Select]
[Misc]
EnableModule=1
Resolution=Auto
CustomWidth=0
CustomHeight=0

[Magnification]
FontScaling=Default
SuperGraphics=1
AutoScaleMissingGraphics=0
SetInternalResolution=Auto
CustomInternalWidth=0
CustomInternalHeight=0

Thanks again! :D
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on January 23, 2018, 12:29 AM
Hello! Thanks a lot for such a great tool, it's what I always wished for multitasking haha. Wish I knew it before!

I'm only struggling with something, I have two monitors and I want to run the game on the secondary one.
Config is set to borderless, but I can't move the "window" by pulsing Ctrl + G and "dragging it" as you say.

I have Windows 10 (updates disabled, i'm at 1607) + SuperFrontendHD, Rubberworm and this one.

Everything else works properly.

Agreed, Ctrl-G is a godsend. I don't have multiple displays set up right now, so I can't test an actual solution. You may be able to move the in-game window (only in-game) if you turn borderless off and specify an in-game resolution smaller than your desktop resolution. 

Alternative solution: You can move WA around between screens and stuff if you install it in a virtual machine. I used Oracle VM VirtualBox. You need a good computer though or it will stutter. Probably too much work unless you have a VM set up already.  You will not be able to move the frontend (menus) around or to your secondary monitor unless you use a VM.

I heard a rumour that they made some improvements to the frontend in WA 3.8. I don't know what those improvements consist of, but hopefully some kind of window support (or support for 3rd party windowed support).  We should know soon - the update is finished and is just pending Team17's rubber stamp approval process, and then it'll be released, hopefully.
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: oScarDiAnno on January 23, 2018, 04:05 AM
Agreed, Ctrl-G is a godsend. I don't have multiple displays set up right now, so I can't test an actual solution. You may be able to move the in-game window (only in-game) if you turn borderless off and specify an in-game resolution smaller than your desktop resolution. 

Alternative solution: You can move WA around between screens and stuff if you install it in a virtual machine. I used Oracle VM VirtualBox. You need a good computer though or it will stutter. Probably too much work unless you have a VM set up already.  You will not be able to move the frontend (menus) around or to your secondary monitor unless you use a VM.

I heard a rumour that they made some improvements to the frontend in WA 3.8. I don't know what those improvements consist of, but hopefully some kind of window support (or support for 3rd party windowed support).  We should know soon - the update is finished and is just pending Team17's rubber stamp approval process, and then it'll be released, hopefully.

I see man, thanks a lot for the help!

Also... Those are AMAZING news! I heard before people saying that WA 3.8 would never come and blah-blah. But I'm really excited about that, can't wait! haha.
Big cheers to everyone working on that project, and this one. Thanks to everyone who loves Worms and use their knowledge to make it better <3
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: j0e on January 23, 2018, 04:28 AM
Found a source for that rumour - see page 7:  https://www.pdf-archive.com/2017/08/13/wwm-03-04-last-issue-special-edition/wwm-03-04-last-issue-special-edition.pdf

Probably best to ignore the dates..
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: SiD on January 23, 2018, 11:00 AM
Hello! Thanks a lot for such a great tool, it's what I always wished for multitasking haha. Wish I knew it before!

I'm only struggling with something, I have two monitors and I want to run the game on the secondary one.
Config is set to borderless, but I can't move the "window" by pulsing Ctrl + G and "dragging it" as you say.

I have Windows 10 (updates disabled, i'm at 1607) + SuperFrontendHD, Rubberworm and this one.

Everything else works properly.

Configs:
D3D9Wnd:
Code: [Select]
[Misc]
EnableModule=1
StaticWindowClass=0
NoTopmost=1
SoundInBackground=1
FancyStartup=0

[FrontendSettings]
Fullscreen=0
FullscreenAlternative=0
Stretch=0
Centered=0
RunInBackground=1

[InGameSettings]
Fullscreen=0
WindowBorder=1
Stretch=0
QuickInfo=1
TopLeftPosition=0

[MultiMonitor]
Enable=0
Monitors=Max
AutoSetResolution=1

Thanks again! :D

MultiMonitor isn't enabled in your d3d9wnd config.
my bad
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on January 23, 2018, 01:36 PM
You cannot move the window if you have borderless mode enabled. To move the window you first need to enable the border by pressing Ctrl+D, then pressing Ctrl+G to use your mouse and drag it to the other monitor. However, if your window already covers the entire screen, it is impossible to enable the window border during the game. You may need to lower your resolution in options.
It is not possible to start the game on a non-primary monitor by default. However, you can do something else: in your windows settings, set the secondary monitor as primary. So the left monitor will be non-primary, and the game will run on your right monitor.
MultiMonitor is an option that enables you to span the game across multiple monitors. So it will run using both monitors at once. I guess this is not what oScarDiAnno wanted.
It might also be possible to trick the MultiMonitor mode without changing your monitor from secondary to primary. For that to happen, your secondary monitor needs to be logically positioned on the left side in windows settings. After that, you disable the "AutoSetResolution" option (to prevent automatic spanning) and go into the game options to choose the resolution for your secondary monitor. Then, supposedly, the gameplay should start on your secondary monitor. However, the frontend menus will still be stuck on your primary monitor's top left corner!
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: oScarDiAnno on January 26, 2018, 11:58 PM
You cannot move the window if you have borderless mode enabled. To move the window you first need to enable the border by pressing Ctrl+D, then pressing Ctrl+G to use your mouse and drag it to the other monitor. However, if your window already covers the entire screen, it is impossible to enable the window border during the game. You may need to lower your resolution in options.
It is not possible to start the game on a non-primary monitor by default. However, you can do something else: in your windows settings, set the secondary monitor as primary. So the left monitor will be non-primary, and the game will run on your right monitor.
MultiMonitor is an option that enables you to span the game across multiple monitors. So it will run using both monitors at once. I guess this is not what oScarDiAnno wanted.
It might also be possible to trick the MultiMonitor mode without changing your monitor from secondary to primary. For that to happen, your secondary monitor needs to be logically positioned on the left side in windows settings. After that, you disable the "AutoSetResolution" option (to prevent automatic spanning) and go into the game options to choose the resolution for your secondary monitor. Then, supposedly, the gameplay should start on your secondary monitor. However, the frontend menus will still be stuck on your primary monitor's top left corner!

I understand. Thanks a lot! I found a small workaround, Steam's Big Picture mode let's you choose which monitor you want to play in. However, what it does is to change your primary monitor to your secondary and then it reverts when you close it. It's not exactly what I wanted because I wanted to be able to open stuff from my desktop, and they move to the secondary (now primary monitor) too. But it's not a big deal, I can just open the Desktop folder on the other screen!

Thanks a lot guys. This (and many others) are awesome tools. Long live Worms!
Title: Re: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support
Post by: StepS on October 21, 2018, 04:28 PM
D3D9Wnd 0.7.0.7 has been released

Changes:
Title: Re: D3D9Wnd 0.7.0.7: Direct3D 9-based windowed mode with multi-monitor support
Post by: cgar on November 09, 2018, 08:23 AM
Anyone know how to get this working in wine? The FrontendUseDesktopWindow tweak doesn't seem to fix the black screen issue in D3D9 modes.
Clicking a button in the blackness causes the UI to briefly flash on screen. But it quickly turns black again. Its like a black window is being drawn over it for some reason.
When using stretch you can see this black window obscuring just the top left of the screen.

Works great in windows though. Amazing module.
Title: Re: D3D9Wnd 0.7.0.7: Direct3D 9-based windowed mode with multi-monitor support
Post by: TheMadCharles on November 09, 2018, 04:02 PM
not sure how wine will work for this tbh, as wine wrapper already makes a new window.
Title: Re: D3D9Wnd 0.7.0.7: Direct3D 9-based windowed mode with multi-monitor support
Post by: cgar on November 09, 2018, 04:18 PM
Yea with the force virtual desktop tweak the frontend becomes a nice moveable window. But its so small. Would love the same 1080p fullscreen frontend like I have on windows.

Any idea what causes the black window over everything? Its so strange.
Title: Re: D3D9Wnd 0.7.0.7: Direct3D 9-based windowed mode with multi-monitor support
Post by: StepS on November 09, 2018, 08:18 PM
Yea with the force virtual desktop tweak the frontend becomes a nice moveable window. But its so small. Would love the same 1080p fullscreen frontend like I have on windows.

Any idea what causes the black window over everything? Its so strange.
That's because of the design of the frontend menus, called "DXMFC". What happens is that DirectX and MFC work together, where the former renders graphics on the screen, and the latter specifies the layout of buttons, forms and other controls like in a regular Windows application (you can see what the "innards" look like by opening WA.exe in Resource Hacker and opening "Dialog"). However, the result is that there are two windows: the actual graphical window (or DX), and the MFC window over it. Normally, on Windows systems, the MFC window is transparent and never obscures any part of the screen. However, Wine does not perfectly recreate this weird behavior. The result is that with most renderers (except DirectDraw, where it seems to have been implemented specifically for the game), the MFC window appears black and obscures the screen.

On Windows systems that use DWM (Desktop Window Manager) and fake-fullscreen-emulation, starting with Windows 8, another issue can be seen, where the MFC window is transparent, however all forms appear white and cover their graphical counterparts. That was the famous Windows 8/10 bug in 3.6.31.0 that got fixed in 3.7.0.0, although it still manifests itself when running in windowed mode (which D3D9Wnd works around when it's active), and when minimizing/restoring the game in latest Windows 10 updates (with "Fullscreen optimizations" enabled by default), resulting in even more whiteness.

All of these issues have been completely fixed for the next update (3.8.0.0).
Title: Re: D3D9Wnd 0.7.0.7: Direct3D 9-based windowed mode with multi-monitor support
Post by: cgar on November 09, 2018, 08:36 PM
That's because of the design of the frontend menus, called "DXMFC". What happens is [...]
All of these issues have been completely fixed for the next update (3.8.0.0).

Thank you very much StepS. A very thorough explanation. I had heard rumblings about the upcoming v3.8 release and got exited. If it will also allow me to use D3D9 with wine then I'm extra excited!  :D
Title: D3D9Wnd is now open-source
Post by: StepS on December 28, 2018, 08:05 PM
D3D9Wnd 0.7.1.0 has been released

D3D9Wnd is now open-source
The full source code of the module, along with Worms Helper Tools (used in WormKit module development), has now been released and is available on GitHub (https://github.com/StepS-/D3D9Wnd). In addition, two more editions have been released in separate branches: the original simplistic version (now called "D3D9Wnd_naked"), redesigned to work with any Direct3D 9 application, as well as a lightweight edition for WWP Remastered. The wiki page (https://worms2d.info/D3D9Wnd) has been updated. You can post your issues, suggestions or patches on GitHub from now on.



D3D9Wnd 0.7.1.1 has been released (April 13, 2019)
Title: Re: D3D9Wnd 0.7.1.1: Direct3D 9-based windowed mode with multi-monitor support
Post by: kron on September 30, 2019, 12:42 AM
Just found out about this now, it's amazing! Makes Worms a lot more pleasant on a 1440p monitor. Cheers and thank you Steps.
Title: Re: D3D9Wnd 0.7.1.1: Direct3D 9-based windowed mode with multi-monitor support
Post by: Edoardo Moretti on January 31, 2020, 10:02 PM
Thanks StepS, this will make my steams easier: https://www.tus-wa.com/forums/tus-discussion/working-on-wa-online-matches-on-youtube-32615/ (https://www.tus-wa.com/forums/tus-discussion/working-on-wa-online-matches-on-youtube-32615/)