Sliver-X Posted December 18, 2022 (edited) My son recently wanted to play split screen Doom, including a bunch of mods that require GZDoom features to function. Since the only source ports that support split screen are either extremely old (Doom Legacy) or based on ZDoom, I looked into how to accomplish this and ran across a forum post here that I used as a starting point: I ended up coding a GUI/launcher in AutoIT 3 to make this process easier and more elegant: While what I've done is still a kludge, it is a much shinier kludge, and I doubt split screen will ever be added to GZDoom itself. It basically runs simultaneous instances of LZDoom and "networks" them together via loopback, then strips/resizes/moves the windows based on the system's primary display resolution. Up to four XInput gamepads are supported with default controls, though these can be remapped in Player 1's instance and the changes will propagate to the other players on next launch. You can download the latest version here: https://www.mediafire.com/file/sp8ugxkmdapa1u9/LZSplitDoom_v1.52.7z/file [133MB] (Note that it only includes freely distributed IWADs such as Freedoom, etc: You must supply the others yourself) Windows XP through Windows 10 (x86 or x64) , Windows 11 and Linux (Using Wine) are supported. An OpenGL 2.1 compliant GPU is required for the default hardware rendering mode (GeForce FX/Radeon 9500/Intel HD Graphics or newer). Changes: v1.52 ~~~~~ 1) Removed Tri-Split mode, replaced with TriH and TriV modes (TriHorizontal/TriVertical). 2) Removed Doom 64 Retribution and Wolf3D TC due to severe technical issues with multiplayer in both. 3) -split parameter can be put anywhere in a command line string now instead of needing to be the first defined: This should allow 100% compatability with being launched from another Doom launcher. 4) Added "Discount Doom 3D" Custom Game: Freedoom 1 maps using maximal Doom assets along with Voxel Doom and more. Requires doom.wad to function. 5) Added Sigil 2. Edited April 19, 2024 by Sliver-X 28 Quote Share this post Link to post
taufan99 Posted December 19, 2022 This looks impressive! It's nice to have a modern source port with a split-screen multiplayer feature. 0 Quote Share this post Link to post
G-FORCE Posted December 21, 2022 (edited) i downloaded your thing off of mediafire and tried it it didn't work... do i have to have a copy of LZDOOM to use it? and this menu screen... Awesome. oh and how do i add custom mods like if i wanted black gloves smooth (for instance) in doom how would i add that ? Edited December 21, 2022 by G-FORCE 0 Quote Share this post Link to post
Sliver-X Posted December 21, 2022 (edited) It has LZDoom included: Make sure Windows Defender or Smartscreen isn't blocking either LZSplitDoom.exe or any of the four LZDoom exes under the BIN folder. I ran it on one of my corporate Windows 10 machines today and it was fine, and we have those things pretty locked down at my job, so I'm not sure what may be going on for you? Also make sure you've copied it to a place where your user account has write access as it needs to manipulate several INI files under the BIN folder. There are folders for the main IWADs named the same as them under the DATA folder where anything added is autoloaded. You can also just put files under DATA (Or anywhere, really, so long as you supply the full path) and load them via the "Custom Command Line" box on the menu. I've added full command line support to it as of today along with better HighDPI support, handling of multi-monitor setups much better and was able to remove the redundant lzdoom.exe copies so there's just a single one. I'm in the process of testing it now and will probably update this within the next few days. Edited December 21, 2022 by Sliver-X 0 Quote Share this post Link to post
G-FORCE Posted December 21, 2022 11 minutes ago, Sliver-X said: It has LZDoom included: Make sure Windows Defender or Smartscreen isn't blocking either LZSplitDoom.exe or any of the four LZDoom exes under the BIN folder. I ran it on one of my corporate Windows 10 machines today and it was fine, and we have those things pretty locked down at my job, so I'm not sure what may be going on for you? Also make sure you've copied it to a place that your user account has write access as it needs to manipulate several INI files under the BIN folder. There are folders for the main IWADs named the same as them under the DATA folder where anything added is autoloaded. You can also just put files under DATA (Or anywhere, really, so long as you supply the full path) and load them via the "Custom Command Line" box on the menu. I've added full command line support to it as of today along with better HighDPI support, handling of multi-monitor setups much better and was able to remove the redundant lzdoom.exe copies so there's just a single one. I'm in the process of testing it now and will probably update this within the next few days. So i just download the thing off of mediafire and it should work right ? 0 Quote Share this post Link to post
G-FORCE Posted December 21, 2022 4 minutes ago, Sliver-X said: Yes. i'm sorry but i don't understand any of this... can you maybe do a video showing what to do maybe if i see i'll understand better breaking it down in word format is confusing 0 Quote Share this post Link to post
Sliver-X Posted December 21, 2022 (edited) It's a 7zip file: Extract it with a utility like 7-zip (https://www.7-zip.org). There will be folder, and under this folder is a single EXE called LZSplitDoom.exe as shown in the video. I'll probably just put it in a Zip for the next (And hopefully final) version. Edited December 21, 2022 by Sliver-X 0 Quote Share this post Link to post
G-FORCE Posted December 21, 2022 (edited) it says "this app cant run on your pc" when i click it i have a Windows 10 can i fix it??? Edited December 21, 2022 by G-FORCE 0 Quote Share this post Link to post
Sliver-X Posted December 22, 2022 (edited) That sounds like you're running 32 bit Windows 10? This is 64 bit only, unfortunately. I'll add 32 bit support in the next release. Edited December 22, 2022 by Sliver-X 0 Quote Share this post Link to post
G-FORCE Posted December 22, 2022 On 12/22/2022 at 11:09 AM, Sliver-X said: A day or two? I had to make some fairly big code changes when I added command line support so I'm testing things to make sure I didn't inadvertently break anything. Having dual architecture LZDoom setups will be fairly trivial to implement, though. ok cool any way you know of to convert 64bit exe's to 32bit exe's ? 0 Quote Share this post Link to post
Edward850 Posted December 22, 2022 (edited) 34 minutes ago, G-FORCE said: any way you know of to convert 64bit exe's to 32bit exe's ? You need to recompile the executable from its source into 32bit, you can't simply convert it. (You can technically convert bytecode, but it's one of those "if you have to ask, you can't" type of deals.) Edited December 22, 2022 by Edward850 0 Quote Share this post Link to post
xX_Lol6_Xx Posted December 22, 2022 (edited) Really good, I've always found LZDoom's pseudo splitscreen a killer feature, but I always had issues when manually setting it up. I'll check it out (by compiling it for Artix Linux) and see if it works :-) Edit: Errors while compiling, sad. Edited December 22, 2022 by xX_Lol6_Xx 0 Quote Share this post Link to post
Sliver-X Posted December 22, 2022 I ended up having tonight free and believe I have this finished: I've updated the original post with the new download link as well. Command line support. Better HighDPI Support. 32 bit and 64 bit with separate launchers. Configuration data is shared between them and the two LZDoom builds. Screens are now only displayed on Primary Monitor only instead of spanning all displays in multi-monitor setups. Fixed several errors in map select lists for some games. Player 1 window always set to focused on launch. Single lzdoom.exe for all players instead of 4 separate copies. https://www.mediafire.com/file/5grxyltv66sdf6l/LZSplitDoom_1.0.zip Let me know if you run into any bugs/issues. 0 Quote Share this post Link to post
taufan99 Posted December 22, 2022 2 minutes ago, G-FORCE said: well it says it has an error and unwanted viruses... what do i do ? Most probably a false positive. 0 Quote Share this post Link to post
G-FORCE Posted December 22, 2022 (edited) but nothing helps on how to run custom wads like black gloves smooth and such and how do i play custom MegaWads like doom zero ? Edited December 22, 2022 by G-FORCE 0 Quote Share this post Link to post
prfunky Posted December 22, 2022 Did you know you're my new Doom hero? Downloaded; will test on XP box later because I generally live in Linux. @Doomkid should look into this one based on previous comments/posts. 2 Quote Share this post Link to post
Mr Masker Posted December 22, 2022 (edited) 4 hours ago, G-FORCE said: so how do i run custom WADS,MEGAWADS with it ? Saying the same thing again isn't usually going to get your answer. However, I would recommend maybe trying the command line section. You can usually run wads through that. Edited December 22, 2022 by Mr Masker 0 Quote Share this post Link to post
Sliver-X Posted December 23, 2022 (edited) I've found some issues with DPI scaling in certain situations, so I'll probably have another version out to fix that at some point. I would be highly interested if anyone running XP, 7, 8.1 or Windows 10 Pre-v1709 could give me feedback when that happens (The HighDPI API in various versions of Windows is kind of a mess). Edited December 23, 2022 by Sliver-X 0 Quote Share this post Link to post
G-FORCE Posted December 23, 2022 Just now, xX_Lol6_Xx said: try -file name_of_wad.wad or .pk3 or whatever oh thanks say do you know how to assign a gamepad/keyboard to control player 2? 0 Quote Share this post Link to post
xX_Lol6_Xx Posted December 23, 2022 1 minute ago, G-FORCE said: say do you know how to assign a gamepad/keyboard to control player 2? Does player2 have access to the menu? If so go to gamepad or joystick options and turn it on (I believe in plain LZDoom is off by default) I really can't help you out that much, it didn't build for me in Artix and tbh I don't plan to use Windows ever again. 0 Quote Share this post Link to post
G-FORCE Posted December 23, 2022 6 minutes ago, xX_Lol6_Xx said: Does player2 have access to the menu? If so go to gamepad or joystick options and turn it on (I believe in plain LZDoom is off by default) I really can't help you out that much, it didn't build for me in Artix and tbh I don't plan to use Windows ever again. well i did get the menu to work on player 2's screen but if i'm on his screen the controls dont work on player 1 and other way around on player 1's screen 0 Quote Share this post Link to post
xX_Lol6_Xx Posted December 23, 2022 Just now, G-FORCE said: well i did get the menu to work on player 2's screen but if i'm on his screen the controls dont work on player 1 and other way around on player 1's screen If I remember correctly there's a console command to allow movement in background. In fact here it is, from the original YT Video's description: Open a game session and try these commands, maybe that'll work 0 Quote Share this post Link to post
G-FORCE Posted December 23, 2022 (edited) 13 minutes ago, xX_Lol6_Xx said: If I remember correctly there's a console command to allow movement in background. In fact here it is, from the original YT Video's description: Open a game session and try these commands, maybe that'll work Oh i see so both players can't use the same type of gamepad man that sucks but no biggie i'll figure it out thanks Edited December 23, 2022 by G-FORCE 0 Quote Share this post Link to post
G-FORCE Posted December 23, 2022 Do you know if a PS4 gamepad will work ? 0 Quote Share this post Link to post
G-FORCE Posted December 23, 2022 2 minutes ago, xX_Lol6_Xx said: It should cool thanks !!! 0 Quote Share this post Link to post
Sliver-X Posted December 23, 2022 (edited) This part isn't mentioned in the readme (But will be for any future releases): Player 1's INI is copied to P2-4 at every load to avoid conflicting settings, then P2-4's INIs are edited in place before executing LZDoom to assign a different color to them and a name of Player_2, Player_3 or Player_4, swapping Gamepad IDs so any connected controllers don't interfere with each other and muting music on all clients except Player 1. The menu button (By default, Back on Gamepad 1) is also only bound to Player 1, and if that client quits, all others are terminated. If Player 1's INI has been deleted somehow it is recreated from a default template with the settings needed to make all this work. This means controls, system settings, etc are always the same as Player 1 for all other players. You can edit Player 1's config (Either .\BIN\player1.ini manually or from the in-game menu) and the changes will be pushed to the other three players on next load. Simultaneous keyboard controls fundamentally can't work because there's no way to run them in the background on each client in LZDoom: Only gamepads. Windows only: Won't work even under Wine due to WinAPI calls used for window handling, but it should run on any PC/Server version of Windows from XP to 11 without issues. What *is* mentioned in the readme: Where wads, by default, are expected to be at. How to run wads and mods in both the graphical and command line modes. There are even literal examples of how to do so listed, or you can run lzsplitdoom32.exe -help for more information. The fact that up to 4 XInput controllers are supported (And required, though theoretically you could run P1 with a keyboard and additional players using gamepads): A PS4 controller is not an XInput controller unless you use a third party driver like DS4Windows. An XBox 360/One/Series X controller (As well as 30,000 other gamepads that adhere to the XInput standard either natively or via software drivers) is an XInput controller. ... I used four 8bitdo Pro 2 gamepads in XInput mode all connected at the same time when I made this and it works flawlessly with them. I also primarily play it with two 8bitdo Ultimate controllers on another machine with my son (Also in XInput mode) and they too function as expected. Edited December 23, 2022 by Sliver-X 1 Quote Share this post Link to post
Sliver-X Posted December 23, 2022 (edited) Yes. You can download it here: https://github.com/Ryochan7/DS4Windows/releases I am not going to support you getting it set up. There is a guide for that here: https://vigem.org/projects/DsHidMini/DS4-Mode-User-Guide/ Edited December 23, 2022 by Sliver-X 0 Quote Share this post Link to post
G-FORCE Posted December 23, 2022 1 hour ago, Sliver-X said: Yes. You can download it here: https://github.com/Ryochan7/DS4Windows/releases I am not going to support you getting it set up. There is a guide for that here: https://vigem.org/projects/DsHidMini/DS4-Mode-User-Guide/ thanks 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.