Seletor DOOM para Doomretro
Publicado por Xerxes (última atualização em 08/07/2024)
[ Hits: 4.115 ]
Homepage: -
Simples script feito para selecionar o jogo DOOM no port Doomretro.
Altere ao seu gosto, incluindo ou removendo os maps e mods que você tem.
Após compilar o Doomretro no Linux, crie um diretório "maps" e outro "mods" dentro do "build" do Doomretro.
Coloque os wads dentro de cada um, respectivamente.
Coloque o script dentro de "build" também.
Dê permissão de execução (chmod +x ./doom_seletor.sh) e execute.
Para compilar o Doomretro use a dica:
https://www.vivaolinux.com.br/dica/Como-compilar-o-DOOM-RETRO-no-Linux
Testado com a seguinte estrutura:
$ ls maps/ -1
doom2.wad
doom.wad
DoomZeroHQMusic.wad
doomzero.wad
freedoom1.wad
freedoom2.wad
master #diretório com os niveis master
plutonia.wad
SIGIL_II_V1_0_COMPAT.WAD
SIGIL_II_V1_0.WAD
SIGIL_v1_2.wad
tnt.wad
$ ls mods/ -1
D1SPFX20.WAD
D2SPFX20.WAD
doom_uwide_v2.wad
freedoom_uwide_v2.wad
pk_doom_sfx_20120224.wad
SD21.wad
vsmooth.wad
#!/bin/bash
# SELETOR DOOM
# v1.0b 7/7/2024
# Xerxes Lins (https://www.vivaolinux.com.br/~xerxeslins)
# Função para exibir o menu inicial
menu_inicial() {
tput civis # Oculta o cursor
tput cup 0 0 # Move o cursor para a posição 0,0
echo "SELETOR DE JOGOS DOOM"
echo ""
options=("Ultimate DOOM (+SIGIL I)" "Ultimate DOOM (+SIGIL II)" "DOOM 2" "Master Levels" "TNT" "PLUTONIA" "DOOM Zero"
"Freedoom 1" "Freedoom 2")
for i in "${!options[@]}"; do
if [[ $i == $selected_option ]]; then
echo "> ${options[i]}"
else
echo " ${options[i]}"
fi
done
echo ""
echo "Use as teclas de seta para navegar e Enter para selecionar"
echo "(Ctrl+c para encerrar)"
tput cnorm # Mostra o cursor novamente
}
# Função para exibir o submenu dos Master Levels
master_levels_submenu() {
tput civis # Oculta o cursor
tput cup 0 0 # Move o cursor para a posição 0,0
echo "SELETOR DE JOGOS DOOM"
echo ""
echo "Escolha um nível dos Master Levels:"
echo ""
options=("Level 1: Attack" "Level 2: Canyon" "Level 3: The Catwalk" "Level 4: The Combine"
"Level 5: The Fistula" "Level 6: The Garrison" "Level 7: Titan Manor" "Level 8: Paradox"
"Level 9: Subspace" "Level 10: Subterra" "Level 11: Trapped on Titan"
"Level 12: Virgil's Lead: 3rd Canto of Inferno" "Level 13: Minos' Judgment: 4th Canto of Inferno"
"Level 14: Bloodsea Keep" "Level 15: Mephisto's Maosoleum" "Level 16: Nessus: 5th Canto of Inferno"
"Level 17: Geryon: 6th Canto of Inferno" "Level 18: Vesperas: 7th Canto of Inferno"
"Level 19: Black Tower" "Level 20: The Express Elevator to Hell" "Level 21: Bad Dream" " " "VOLTAR AO MENU INICIAL")
for i in "${!options[@]}"; do
if [[ $i == $selected_option ]]; then
echo "> ${options[i]}"
else
echo " ${options[i]}"
fi
done
echo ""
echo "Use as teclas de seta para navegar e Enter para selecionar"
echo "(Ctrl+c para encerrar)"
tput cnorm # Mostra o cursor novamente
}
# Lê entrada do menu inicial
entrada_menu_inicial() {
while true; do
read -rsn1 input
case $input in
$'\x1B') # Seta
read -rsn2 -t 0.1 input
if [[ $input == '[A' ]]; then # Para cima
((selected_option--))
if ((selected_option < 0)); then selected_option=8; fi
elif [[ $input == '[B' ]]; then # Para baixo
((selected_option++))
if ((selected_option > 8)); then selected_option=0; fi
fi
;;
"") # Enter
case $selected_option in
0) ./doomretro -iwad maps/doom.wad -file maps/SIGIL_v1_2.wad mods/pk_doom_sfx_20120224.wad mods/D1SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 3;;
1) ./doomretro -iwad maps/doom.wad -file maps/SIGIL_II_V1_0_COMPAT.WAD mods/pk_doom_sfx_20120224.wad mods/D1SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 3;;
2) ./doomretro -iwad maps/doom2.wad -file mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 01 -compat 4;;
3) clear; selected_option=0; master_levels_submenu; entrada_submenu_master;;
4) ./doomretro -iwad maps/doom2.wad -file mods/freedoom_uwide_v2.wad maps/tnt.wad mods/doom_uwide_v2.wad mods/pk_doom_sfx_20120224.wad mods/SD21.wad -compat 4;;
5) ./doomretro -iwad maps/doom2.wad -file mods/freedoom_uwide_v2.wad maps/plutonia.wad mods/doom_uwide_v2.wad mods/pk_doom_sfx_20120224.wad mods/SD21.wad -compat 4;;
6) ./doomretro -iwad maps/doom2.wad -file maps/doomzero.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad maps/DoomZeroHQMusic.wad mods/SD21.wad -compat 4;;
7) ./doomretro -iwad maps/freedoom1.wad -file mods/freedoom_uwide_v2.wad mods/D1SPFX20.WAD mods/SD21.wad;;
8) ./doomretro -iwad maps/freedoom2.wad -file mods/freedoom_uwide_v2.wad mods/D1SPFX20.WAD mods/SD21.wad;;
esac
exit
;;
esac
menu_inicial
done
}
# Lê entrada do submenu dos Master Levels
entrada_submenu_master() {
while true; do
read -rsn1 input
case $input in
$'\x1B') # Seta
read -rsn2 -t 0.1 input
if [[ $input == '[A' ]]; then # Para cima
((selected_option--))
if ((selected_option < 0)); then selected_option=22; fi
if ((selected_option == 21)); then selected_option=20; fi
elif [[ $input == '[B' ]]; then # Para baixo
((selected_option++))
if ((selected_option > 22)); then selected_option=0; fi
if ((selected_option == 21)); then selected_option=22; fi
fi
;;
"") # Enter
case $selected_option in
0) ./doomretro -iwad maps/doom2.wad -file maps/master/attack.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
1) ./doomretro -iwad maps/doom2.wad -file maps/master/canyon.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
2) ./doomretro -iwad maps/doom2.wad -file maps/master/catwalk.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
3) ./doomretro -iwad maps/doom2.wad -file maps/master/combine.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
4) ./doomretro -iwad maps/doom2.wad -file maps/master/fistula.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
5) ./doomretro -iwad maps/doom2.wad -file maps/master/garrison.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
6) ./doomretro -iwad maps/doom2.wad -file maps/master/manor.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
7) ./doomretro -iwad maps/doom2.wad -file maps/master/paradox.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
8) ./doomretro -iwad maps/doom2.wad -file maps/master/subspace.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
9) ./doomretro -iwad maps/doom2.wad -file maps/master/subterra.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
10) ./doomretro -iwad maps/doom2.wad -file maps/master/ttrap.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
11) ./doomretro -iwad maps/doom2.wad -file maps/master/virgil.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 03 -compat 4;;
12) ./doomretro -iwad maps/doom2.wad -file maps/master/minos.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 05 -compat 4;;
13) ./doomretro -iwad maps/doom2.wad -file maps/master/bloodsea.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
14) ./doomretro -iwad maps/doom2.wad -file maps/master/mephisto.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 07 -compat 4;;
15) ./doomretro -iwad maps/doom2.wad -file maps/master/nessus.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
16) ./doomretro -iwad maps/doom2.wad -file maps/master/geryon.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 08 -compat 4;;
17) ./doomretro -iwad maps/doom2.wad -file maps/master/vesperas.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -compat 4;;
18) ./doomretro -iwad maps/doom2.wad -file maps/master/blacktwr.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 25 -compat 4;;
19) ./doomretro -iwad maps/doom2.wad -file maps/master/teeth.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 31 -compat 4;;
20) ./doomretro -iwad maps/doom2.wad -file maps/master/teeth.wad mods/pk_doom_sfx_20120224.wad mods/D2SPFX20.WAD mods/doom_uwide_v2.wad mods/SD21.wad -warp 32 -compat 4;;
22) clear; selected_option=0; menu_inicial; entrada_menu_inicial;;
esac
exit
;;
esac
master_levels_submenu
done
}
# Posição inicial
selected_option=0
# Mostra menu inicial
clear
menu_inicial
entrada_menu_inicial
Convertendo rotas Linux para Fortigate
Remover e-mails com MX inexistente e status deferred em servidores Postfix
Backup da database do gerenciador de pacotes RPM
Pré Configuração do SQuiD Slackware
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









