How to splitscreen/couch coop?

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
User avatar
Daniel
Posts: 811
Joined: Sun Jul 04, 2004 3:21 pm
Contact:

Re: How to splitscreen/couch coop?

Post by Daniel »

I was veery long hoping that some day ZDoom/GZDoom would finally have splitscreen support - something like 15 years ago... thanks a lot for the people that allowed this to be possible!

After some tests, I finally made it work with player 1 in keyboard and player 2 in a XBOX controller. But I couldn't make it run with two XBOX controllers, since GZDoom is (still) not compatible with multiple controller support. I've tried to use Joy2Key and separate INI files for each instance, but it didn't work for two reasons: a) the keyboard is only detectable by the window in focus, so the controller bindings via Joy2Key don't work in both instances; and b) the controllers are always detected by both GZDoom instances - and also the buttons. Actually, we can remove each controller sensitivity, but not the working buttons for each controller.

If we could select the controllers to be used in GZDoom (avoiding it to use ALL at once), this problem would be solved quickly, since we could make two separate INI files, each one using a different XBOX controller.

Follows a screenshot of GZDoom(s) running perfectly!
Attachments
Untitled 1.jpg
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: How to splitscreen/couch coop?

Post by drfrag »

So XInput joysticks already worked in the background... I added support for 4 DInput controllers in LZDoom (will be in the next release) and XInput controllers are compatible with DInput. For it to work you need to configure the axes for each instance (set all to none for players not using that joystick). Previously the buttons were the same for all joysticks (same events).
User avatar
Zenon
Posts: 530
Joined: Thu Apr 20, 2006 6:05 pm
Graphics Processor: nVidia with Vulkan support
Location: New Zealand

Re: How to splitscreen/couch coop?

Post by Zenon »

What mod is that a screenshot of?
Is it something you've made/you're making?
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: How to splitscreen/couch coop?

Post by drfrag »

I've been confirmed that multiple XInput controllers work in LZDoom as DInput ones disabling ingame XInput support.
RUDE also supports fake splitscreen out of the box (same as old Choco) but since it's on SDL1 you cannot resize the window freely.
johnkimonster
Posts: 3
Joined: Mon Mar 30, 2020 4:48 pm

Re: How to splitscreen/couch coop?

Post by johnkimonster »

So... Hello, people

I was playing mods for some months now, and then stumbled wih this thread and tried to configure lzdoom with the the backgroundvideo thing as true and the backgroundaudio thing as true too, with the second window connecting to 127.0.0.1.

And it works perfectly... except for the background input thing. As only the character on the focused window can be controlled, while the one from the other window just stares at them moving.

So... I looked at this:
drfrag wrote:I've tested this and it doesn't work.
DabbingSquidward wrote:Last time I recall only the window in focus would receive inputs, be it gamepad or otherwise.
That's precisely the problem, otherwise it would work well on a dual core pc. It doesn't work on windows, can this input problem be easily solved? That would be great.

Edit: allowing gamepads to work in the background would solve this.
DISCL_BACKGROUND: The application requires background access. If background access is granted, the device can be acquired at any time, even when the associated window is not the active window.
https://bell0bytes.eu/directinput/

Edit2: done. :mrgreen: https://github.com/drfrag666/gzdoom/com ... d52b9a3c14
And i don't know what to do with that.

I guess it is some change made at some part of the code ¿right? I dunno

So then, i was wondering if someone here has already compiled some copy of lzdoom for windows for themselves (it doesn't matter if is a 32 or 64 version) with that change implemented. and if that copy could be shared here.

I am not really in particular need of the "multiple input" thing, as my brother and me agreed we could configure different parts of the keyboard at both copies (he: wasd+keyboard me: arrows+ctrl+space+dot strafing, MsDOS style), and then use two keyboards. So my problem is kind of simpler than usual ¿i guess?

Anyway thanks for your attention (very common phrase here to end letters, i guess it doesnt sound good in english)
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: How to splitscreen/couch coop?

Post by drfrag »

Keyboard and mouse input only work in the foreground, you need a DirectInput or XInput gamepad (or several). And to configure them for each instance.
johnkimonster
Posts: 3
Joined: Mon Mar 30, 2020 4:48 pm

Re: How to splitscreen/couch coop?

Post by johnkimonster »

¿Then what about sszdoom?

¿is it mandatory to have a gamepad too if its just une program?
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: How to splitscreen/couch coop?

Post by drfrag »

It only worked with two XInput gamepads i believe.
johnkimonster
Posts: 3
Joined: Mon Mar 30, 2020 4:48 pm

Re: How to splitscreen/couch coop?

Post by johnkimonster »

Wow...

It's a shame, because there still a whole silent crowd out there that could benefit from sharing a more user friendly split screen way to pley this otherwise accesible, low spec, funny and full of fresh mod content game, specially in countries like mine, where most of the households have a poor internet connection, and more family members than computers.

I mean, at least i know a lot of nerdy 3rd world boys and girls (me included, of course) and not-so-boys and not-so-girls, who have some golden memories with their siblings playing splitscreen PS2 UT or Smash Brothers, turned houses in The Sims 1, Hotseat Civilization, or old-ass two-controller Playstation 1 games (at least here in Mexico, there was some huge revolution of pirated PSX games sold at equivalent of 2/3 dollar outside elementary schools in the 2000s, and i suspect in Brazil too, because now they have a giant modding comunity of that one PS1 YuGiOh game)

TLDR: Then i go back to my original question...

¿Does someone here have a binary of 64 bits lzdoom with the background directinput change already implemented to share, so i can go questing in search of some chinese controller at pericoapa or the frikiplaza or something like that?
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: How to splitscreen/couch coop?

Post by drfrag »

But if you had read the previous messages right above yours you'd had noticed the feature is in and it's not that hard to set up. In RUDE it also works and it's easier to setup but that's a Chocolate Doom fork without viewport scaling. In LZDoom now the joy_background cvar defaults to true so no need to change that. The key is to set axes to none for each controller in the other instances (and you need to configure the buttons of course). Any cheap controller will do (i use a pair of those joint by a cable). Don't forget to change the cvars for audio and video. See changes here:
viewtopic.php?f=231&t=62157
Edit: the feature is in also in ZDoom32 (it's faster), but there isn't a joy_background cvar there.
User avatar
Kostov
 
 
Posts: 2020
Joined: Thu Dec 26, 2013 3:26 pm
Location: Sweden
Contact:

Re: How to splitscreen/couch coop?

Post by Kostov »

In GZDoom, I was able to get keyboard and controller splitscreen working under the condition that client #1 (keyboard) was in focus and had gamepad support turned off while client #2 (controller) was in the background with the vid_activeinbackground cvar turned on.

My question is: is it currently possible to have two controllers function in two clients separately specifically in GZDoom? As I see it, the controllers would theoretically always send input to both clients.
1996DoomChild
Posts: 1
Joined: Tue May 04, 2021 12:32 pm

Re: How to splitscreen/couch coop?

Post by 1996DoomChild »

Thanks for develop this! I played doom when I was a child back in 1997. Now I wanna play this game in coop with a friend. We got cheap gamepads and don't know how to make it playable for player 2? Only player 1 can be moved. What should I install or setup to play this game with sszdoom?

Please help me.


Thanks

1996DoomChild :D
Post Reply

Return to “General”