Final DOOM

Final DOOM

Not enough ratings
Linux Set-up for Final Doom With GZDoom
By Fluffy Flower
A quick and easy guide to get users setup and ready to play Ultimate Doom on GZDoom.
In this guide we go over the following:
  • Creating a Shell script file
  • Making steam use the script file
  • More things to do...
GZDoom is a popular choice to use as it benefits from an active community, modding support, modern hardware support, and many other things including in-depth graphical options. To really make your Doom experience truly unique to you.

Doing it this way also keeps the steam overlay in place and shows you as playing the game on steam! :0
   
Award
Favorite
Favorited
Unfavorite
Brief Introduction
If you have Final Doom, chances are good that you have Doom II or Ultimate Doom. To get Doom II or Ultimate Doom working with linux, follow my previous guides here:

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=3158654153
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=3158845933

Now let's start with making a small launcher for Final Doom, allowing us to select whether we want to play The Plutonia Experiment, or TNT Evilution.
Final Doom, and How to Manage Both Wads
Final Doom, if you aren't aware comes bundled with 2 wad files; these being PLUTONIA.WAD, and TNT.WAD. If you've followed along from my previous guides, you'll see that up to now we've only been managing one wad file at a time. So how do we manage 2 wad files?

Let's Build a Launcher!
So our solution to this problem is to build our own launcher that allows us to select the correct wad at launch, then launch us into GZDoom with that wad file. Sounds complicated, it is a little, but not as much as you may think.
For this we will use YAD (Yet Another Dialog) as it seems to play nice the most with proton.
Set Up the Script
#!/bin/bash # Show dialog with options and execute command based on selection selected_option=$(yad --list --title "Welcome to Final Doom" --column "WAD File" "The Plutonia Experiment" "TNT Evilution" --width=300 --height=200 --text "Select the WAD you would like to play:") # Trim trailing '|' character (if present) selected_option="${selected_option%|}" # Debug: Print the selected option echo "Selected option: $selected_option" # Execute command based on selection case "$selected_option" in "The Plutonia Experiment") gamemoderun gzdoom -iwad "/path/to/your/PLUTONIA.WAD" -file "/path/to/your/mod.pk3" "/path/to/your/mod.pk3" ;; "TNT Evilution") gamemoderun gzdoom -iwad "/path/to/your/TNT.WAD" -file "/path/to/your/mod.pk3" "/path/to/your/mod.pk3" ;; *) echo "No option selected or dialog closed." ;; esac
Looks a bit messy above but that's our launcher, below is an image that is a little clearer:

Lets briefly go over the code, and how it all works:
  • # Show dialog with options and execute command based on selection
    In this section we have declared a 'variable' called selected option, this uses YAD to build us our 'launcher' window; which will be a small list where we select the WAD we want to play, and then click OK. The window's title will be 'Welcome to Final Doom', and there will be a bit of text asking us to select what WAD we want to play.
  • # Trim trailing '|' character (if present)
    When selecting options this way, we may encounter a '|' or vertical bar. We need to get rid of this so we can compare the values later to make sure they match.
  • # Execute command based on selection
    Now we compare our variable with some set values, each corresponding to whichever WAD we want. We then use a launch command similar to what we used earlier if you followed my earlier guides on setting up GZDoom with either Ultimate Doom or Doom II. (which I highly recommend :P)
And if all goes well, you should have a spanking little launcher like this: (color may vary)

Edit the script to however you want, have fun with it, add different map packs, and wads, go mad ^~^ In fact here's another I made adding in the 'semi-official' map pack 'No Rest For The Living' by Nerve Software.

With that being said, have fun stomping demons on earth and hell!