WIP GZDoom for Switch

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by fgsfds, May 7, 2019.

  1. fgsfds
    OP

    fgsfds GBAtemp Regular

    Member
    6
    Aug 28, 2018
    Russia
    Github repo: fgsfdsfgs/gzdoom
    Latest version: 1 (07 May 2019)
    Download link

    2019050716183600-DA63280140B1530CD17755515D814CFE. 2019050716200400-DA63280140B1530CD17755515D814CFE. 2019050716213200-DA63280140B1530CD17755515D814CFE. 2019050716231100-DA63280140B1530CD17755515D814CFE.

    Features:
    • most things work, including sound, music, multiplayer and the hardware renderer;
    • launcher that lets you pick mods and start network games.
    To install, unzip gzdoom_nx_1.zip to the switch folder on your SD card, then place at least one supported IWAD (eg doom2.wad) into gzdoom/iwads/. For the complete list of what GZDoom supports, see the wiki.
    To run, start GZDoom Launcher from HBMenu. You can start GZDoom by itself, but it will default to the last played IWAD (or the one it finds in the folder).

    Known bugs (as of v1):
    • When you exit the game via the Quit option in the menu, something doesn't deinitialize properly and the next homebrew you run will crash, unless you exit and reenter hbmenu.
    • Joystick axis settings might reset after restart.
    • Startup takes a while.
    Some notes:
    • Launcher controls:
      • D-PAD: navigation
      • L/R: change tab
      • A: activate option
      • B: cancel/exit
      • X: reset option
      • PLUS: start game
    • GZDoom (especially some more complex mods) may require more RAM than is available in applet mode, so better use another title instead of the Album for HBMenu override, or use NSP HBMenu;
    • you can technically place the game into any folder, as long as the gzdoom folder is next to gzdoom_launcher.nro;
    • mods are supported (yes, Brutal Doom as well) and should be placed in the gzdoom/pwads folder because the launcher only scans that folder;
    • the launcher has predefined default profiles for most IWADs, you can add your own profiles by pressing Y on the main tab;
    • multiplayer was only tested between a Switch and a PC, but Switch <=> Switch will probably work as well;
    • you can start a netgame from the launcher; don't forget to change the player number from 1 and read the warning message;
    • the IP that's placed in the address field by default is your Switch's local IP, others can use that to connect to it if they're on the same network;
    • only the player that hosts the game needs to set gameplay settings, however everyone has to pick the same set of custom files as the host;
    • you can exit via the HOME button, but in that case the game won't save its settings;
    • if the game crashes, check for error.log in the gzdoom folder; if that doesn't help, turn on "Write log" in the launcher and run it again, then check gzdoom.log.
    Credits:
    • ZDoom + GZDoom teams and other contributors for GZDoom;
    • fincs, Armada651, Subv and probably others for their work on the OpenGL/mesa/libdrm stuff;
    • slash004, nabelo and other people from the ReiSwitched Discord and #switchdev for help and testing;
    • id Software for Doom;
    • mods/maps in screenshots: Alien Vendetta, abort_m, Hideous Destructor.
     
    Last edited by fgsfds, May 8, 2019
    XDel, MUDD_BR, rsn8887 and 26 others like this.
  2. Risteing

    Risteing Member

    Newcomer
    2
    Sep 18, 2018
    Argentina
    Brutal Doom For the Wins.
    You are awsome.
     
  3. Sumandora

    Sumandora Im using Parental Controls. Change my Mind!

    Member
    3
    Nov 13, 2018
    Germany
    3rd Doom port...
     
  4. ShadowOne333

    ShadowOne333 GBAtemp Guru

    Member
    18
    Jan 17, 2013
    Mexico
    So what?
    It's not like they are porting the same engine each time.
    First it was ZDoom I believe, then PrBoom with RetroArch, and now this is GZDoom.
    If you still don't know the differences between engines, you should do some research.
    GZDoom on Switch basically opened up the gates for all of the most well known (and maybe even all) Doom mods to work on the Switch.
     
    cots, Tumoche, NutymcNuty and 4 others like this.
  5. Purple_Shyguy

    Purple_Shyguy GBAtemp Advanced Fan

    Member
    7
    Nov 8, 2008
    Republic of Ireland
    Fgsfds can I buy you a beer, buddy? Ever since all your FPS ports I've got super into the genre and I'm still playing your Quakespasm port and now am into Quake Champions.

    I've been waiting for a proper Doom port on switch since the other 3 so far have been super vanilla and use the 35fps internal logic and stuff.

    You're hard work is so so appreciated. Thank you so much!!

    — Posts automatically merged - Please don't double post! —

    KgDoom was abandoned. Doesn't even work on firmwares above 5.x anymore.

    PrBoom is vanilla as shit and not the ideal way to play today at all

    Chocolate Doom was literally ported in an hour as a fun little aside project and doesn't have very good analogue controls at all.

    GZDoom is the daddy of Doom source ports, supports mods AND is the only one the supports Heretic, Hexen and Strife. This isn't just Doom.
     
    Last edited by Purple_Shyguy, May 7, 2019
    cots, MUDD_BR, NutymcNuty and 4 others like this.
  6. Sumandora

    Sumandora Im using Parental Controls. Change my Mind!

    Member
    3
    Nov 13, 2018
    Germany
    still the 3rd or 4th how ever you want
     
  7. Purple_Shyguy

    Purple_Shyguy GBAtemp Advanced Fan

    Member
    7
    Nov 8, 2008
    Republic of Ireland
    4th and hands down the best. And?
     
  8. Sumandora

    Sumandora Im using Parental Controls. Change my Mind!

    Member
    3
    Nov 13, 2018
    Germany
    just wanted to mention
     
  9. 9thSage

    9thSage GBAtemp Fan

    Member
    5
    Aug 8, 2008
    United States
    I wonder if there are some ways to improve performance I'm overlooking (beyond the resolution scale/screen size). It might work better in docked but in handheld it's a bit rough on the mods I've tried (MetaDoom, Reelism, Golden Souls). Anyone have some tips?

    Btw, not complaining...it's pretty awesome that you've done this! I was hoping for GZDoom specifically to get ported eventually.
     
  10. fgsfds
    OP

    fgsfds GBAtemp Regular

    Member
    6
    Aug 28, 2018
    Russia
    Make sure you're not running in 1080p while in handheld mode. There's probably more settings that you can tweak, but I don't really know which, besides stuff like dynamic lighting.
    In theory you can try forcing a lower OpenGL version through the command line (`-glver 2.1` for example) but I don't know if that's gonna have any effect on performance.
     
    9thSage likes this.
  11. 9thSage

    9thSage GBAtemp Fan

    Member
    5
    Aug 8, 2008
    United States
    I don't *think* it was running in 1080p but I'll double check next time I'm messing with it! Thank you!
     
  12. fgsfds
    OP

    fgsfds GBAtemp Regular

    Member
    6
    Aug 28, 2018
    Russia
    By the way, all resolution options should work, so you can just use the "Pick resolution preset" menu and select 720p or lower and see if it does anything for performance. Just make sure you press "Apply changes (Fullscreen)" and not "Apply changes (Windowed)" after you pick one. Another thing that I forgot to disable is anisotropic filtering, it's under "Display Options" => "Texture Options" and is set to 8x or 16x by default, I think, so you can try disabling that. While you're there, you can also play around with options like "Sort drawlists by texture".
     
    Last edited by fgsfds, May 7, 2019
  13. ShadowOne333

    ShadowOne333 GBAtemp Guru

    Member
    18
    Jan 17, 2013
    Mexico
    Might want to add the "Known bugs" section to the OP too:
    Also, I've seen that many of your Switch ports have gotten a lot of commits recently.
    Do any of them handle the joycon analog stick issue which you were having before?
    I could only encounter this one which kind of seems related to that:
    https://github.com/fgsfdsfgs/nxquake2/commit/ab3a371558261e77aa0be02c7996822ec68c610d
    But still doesn't seem to mention anything about the sudden lockup of the analog stick in one direction.

    Also, do you have any plans on making an updated release of all of your ports with all of the recent commits?
     
    TeddyBearYoshi likes this.
  14. fgsfds
    OP

    fgsfds GBAtemp Regular

    Member
    6
    Aug 28, 2018
    Russia
    Not all of my ports have that issue, only dhewm3 and Doom64EX do. And no, I still haven't fixed it.
    Yes, I do have plans to update all my ports pretty soon, since there's a bunch of things I have to fix related to new libnx. Turned out I was doing a thing wrong, which needs to be fixed.
     
  15. romain337

    romain337 GBAtemp Regular

    Member
    2
    Jan 7, 2016
    France
    Paris
    This will be brutal ...
    I abandonned my tries to port it cause I'm not familiar with cmake and wanted to avoid headache. So Thanks you very very much for that :)

    cheers ᕦ(ò_óˇ)ᕤ
     
  16. Billy Acuña

    Billy Acuña GBAtemp Addict

    Member
    11
    Oct 10, 2015
    Mexico
    [​IMG]
    Brutal Doom with Labo VR anyone? :creep:
     
    cots, XDel, NutymcNuty and 2 others like this.
  17. baxzxd

    baxzxd Member

    Newcomer
    3
    Jan 18, 2018
    United States
    You are a god! now all i need is Streets of Rage Remake...
     
    Last edited by baxzxd, May 7, 2019
  18. onofrix

    onofrix Advanced Member

    Newcomer
    4
    Jun 29, 2015
    I have tested it already, but those two big screen is impossible to play with labo vr. Both screens must be smaller and in the center of the switch screen.
     
  19. fgsfds
    OP

    fgsfds GBAtemp Regular

    Member
    6
    Aug 28, 2018
    Russia
    I didn't even know there's VR support of some kind in gzdoom, and I don't know what layout Labo VR expects. If someone could show me that, then maybe I could do something with it.
     
  20. Billy Acuña

    Billy Acuña GBAtemp Addict

    Member
    11
    Oct 10, 2015
    Mexico
    @onofrix has a libretro shader for labo vr, perhaps a screenshot may help?
     
Loading...