diff --git a/emu-configs/gzdoom/gzdoom.sh b/emu-configs/gzdoom/gzdoom.sh
index 02049f0b..6e9f4617 100644
--- a/emu-configs/gzdoom/gzdoom.sh
+++ b/emu-configs/gzdoom/gzdoom.sh
@@ -12,7 +12,7 @@ echo "RetroDECK GZDOOM wrapper init." | tee -a "$LOG_FILE"
IWAD_FILES=("DOOM1.WAD" "DOOM.WAD" "DOOM2.WAD" "DOOM2F.WAD" "DOOM64.WAD" "TNT.WAD"
"PLUTONIA.WAD" "HERETIC1.WAD" "HERETIC.WAD" "HEXEN.WAD" "HEXDD.WAD"
"STRIFE0.WAD" "STRIFE1.WAD" "VOICES.WAD" "CHEX.WAD"
- "CHEX3.WAD" "HACX.WAD" "freedoom1.wad" "freedoom2.wad" "freedm.wad" # unlicenced iwads
+ "CHEX3.WAD" "HACX.WAD" "freedoom1.wad" "freedoom2.wad" "freedm.wad" # unlicensed iwads
"doom_complete.pk3" # this includes them all
)
@@ -24,14 +24,25 @@ if [ ! -e "$1" ]; then
fi
filename=$(basename "$1") # Extracts only the filename from the full path
+extension="${filename##*.}" # Extracts the file extension
-shopt -s nocasematch # Enable case-insensitive matching
-if [[ "${IWAD_FILES[@]}" =~ "$filename" ]]; then
- type="iwad"
+if [ "$extension" == "doom" ]; then
+ map_file="$1"
+ iwad="-iwad $(head -n 1 "$map_file")"
+ file="-file $(tail -n +2 "$map_file" | sed 's/.*/-file &/')"
+
+ echo "Found a .doom file: $1, parsing it." | tee -a "$LOG_FILE"
+ echo "Calling GZDoom with: \"$iwad $file\"." | tee -a "$LOG_FILE"
+ gzdoom -config /var/config/gzdoom/gzdoom.ini $iwad $file | tee -a "$LOG_FILE"
else
- type="file"
-fi
-shopt -u nocasematch # Disable case-insensitive matching after use
+ shopt -s nocasematch # Enable case-insensitive matching
+ if [[ "${IWAD_FILES[@]}" =~ "$filename" ]]; then
+ type="iwad"
+ else
+ type="file"
+ fi
+ shopt -u nocasematch # Disable case-insensitive matching after use
-echo "Found $type: $1, loading it." | tee -a "$LOG_FILE"
-gzdoom -config /var/config/gzdoom/gzdoom.ini -$type "$1" | tee -a "$LOG_FILE"
\ No newline at end of file
+ echo "Found $type: $1, loading it." | tee -a "$LOG_FILE"
+ gzdoom -config /var/config/gzdoom/gzdoom.ini -$type "$1" | tee -a "$LOG_FILE"
+fi
diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml
index 3bf2a4fb..5dcda268 100644
--- a/es-configs/es_systems.xml
+++ b/es-configs/es_systems.xml
@@ -511,7 +511,7 @@
doom
Doom
%ROMPATH%/doom
- .desktop .iwad .IWAD .pk4 .PK4 .pk3 .PK3 .pwad .PWAD .sh .wad .WAD
+ .doom .desktop .iwad .IWAD .pk4 .PK4 .pk3 .PK3 .pwad .PWAD .sh .wad .WAD
gzdoom.sh %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prboom_libretro.so %ROM%