Forums
October 23, 2017, 11:37 AM

Author Topic: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support  (Read 34018 times)

0 Members and 1 Guest are viewing this topic.

Offline StepS

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?
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline j0e

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.

Offline StepS

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.
« Last Edit: November 06, 2013, 11:24 AM by StepS »
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline j0e

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.

Offline StepS

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
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline j0e

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!

Offline StepS

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.
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline j0e

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!!!!

Offline kaelin

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?

Offline StepS

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.
« Last Edit: November 14, 2013, 01:17 PM by StepS »
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline kaelin

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.

Offline avirex

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.

Offline StepS

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?
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline Eirken Uarbe

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/
.
.

Offline StepS

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:
  • You're checking a RAR archive: this means you can put anything into a perfectly good archive and then claim it is malware altogether. Check files one by one.
  • 5 out of 43 is a perfectly safe detection rate. If it was a malware it would have quickly gotten to at least 25/43 in less than 24 hours of its appearance. Don't claim you're smart
  • The AVs you provided are the worst in the world, they don't even have proper customer support. Don't expect them not to lie.
  • The false detections are due to madCHook.dll, the file which comes in the archive: it is needed to hook the required Windows APIs as well as other code in order for the module to work. This is a known issue since malware writers liked to use it a lot, but it not malware by itself.

There, just verified with my newest version 0.5.5.6:
https://www.virustotal.com/en/file/a1490232542c40a1658b8f7f8245693dfd837cf151bdd33b910273b15504c445/analysis/1385288761/
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]