Initial commit.
This commit is contained in:
124
TobyCustom/'
Normal file
124
TobyCustom/'
Normal file
@ -0,0 +1,124 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
pushd "$doomPath"
|
||||
|
||||
# Set up the pk3 and wad files
|
||||
gameOption=(
|
||||
"$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')"
|
||||
"${doomPath}/TobyAccMod_V${tobyVersion}.pk3"
|
||||
"${doomPath}/PB-Toby-Compatibility-Addon.pk3"
|
||||
"${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3"
|
||||
"${doomPath}/TobyDeathArena_V1-0.wad"
|
||||
)
|
||||
|
||||
# Death match setup
|
||||
ipAddress="$(dialog --backtitle "Deathmatch Options" \
|
||||
--clear \
|
||||
--no-tags \
|
||||
--ok-label "Join" \
|
||||
--cancel-label "Exit" \
|
||||
--extra-button \
|
||||
--extra-label "Host" \
|
||||
--inputbox "Enter ip or URL, required for join." -1 -1 --stdout)"
|
||||
buttonCode=$?
|
||||
[[ $buttonCode -eq 1 ]] && exit 0
|
||||
if [[ $buttonCode -eq 0 ]]; then
|
||||
if [[ "${#ipAddress}" -lt 3 ]]; then
|
||||
dialog --backtitle "Deathmatch" --clear --msgbox "No ip address or URL given." -1 -1 --stdout
|
||||
exit 1
|
||||
fi
|
||||
flags=('-join' "${ipAddress}")
|
||||
else
|
||||
# List of maps included:
|
||||
maps=(
|
||||
"1" "Com Station (2-4 players)"
|
||||
"2" "Warehouse (2-4 players)"
|
||||
"3" "Sector 3 (2-4 players)"
|
||||
"4" "Dungeon of Doom (2-4 players)"
|
||||
"5" "Ocean Fortress (2-4 players)"
|
||||
"6" "Water Treatment Facility (2-4 players)"
|
||||
"7" "Phobos Base Site 4 (2-4 players)"
|
||||
"8" "Hangar Bay 18 (2-4 players)")
|
||||
# Array of how many players a given map supports in dialog rangebox syntax
|
||||
declare -a mapPlayers=(
|
||||
[1]="2 4"
|
||||
[2]="2 4"
|
||||
[3]="2 4"
|
||||
[4]="2 4"
|
||||
[5]="2 4"
|
||||
[6]="2 4"
|
||||
[7]="2 4"
|
||||
[8]="2 4")
|
||||
map="$(dialog --backtitle "Select Map" \
|
||||
--clear \
|
||||
--no-tags \
|
||||
--cancel-label "Exit" \
|
||||
--ok-label "Next" \
|
||||
--menu "Please select one" 0 0 0 "${maps[@]}" --stdout)"
|
||||
fraglimit="$(dialog --backtitle "Fraglimit" \
|
||||
--clear \
|
||||
--ok-label "Next" \
|
||||
--cancel-label "Exit" \
|
||||
--rangebox "Select Fraglimit" -1 -1 1 500 20 --stdout)"
|
||||
[[ $? -eq 1 ]] && exit 0
|
||||
# Get ip address
|
||||
yourIpAddress="$(curl -4s https://icanhazip.com)"
|
||||
players="$(dialog --backtitle "Host Deathmatch Game" \
|
||||
--clear \
|
||||
--ok-label "Next" \
|
||||
--cancel-label "Exit" \
|
||||
--rangebox "Select number of players. Remember to give them your IP address: ${yourIpAddress}" -1 -1 ${mapPlayers[$map]} --stdout)"
|
||||
[[ $? -eq 1 ]] && exit 0
|
||||
skillLevel="$(dialog --backtitle "Host Deathmatch Game" \
|
||||
--clear \
|
||||
--ok-label "Start" \
|
||||
--cancel-label "Exit" \
|
||||
--extra-button \
|
||||
--extra-label "Bots Only" \
|
||||
--rangebox "Select difficulty. 1 easiest, 5 hardest." -1 -1 1 5 3 --stdout)"
|
||||
code=$?
|
||||
[[ $code -eq 1 ]] && exit 0
|
||||
if [[ $code -eq 3 ]]; then
|
||||
players=1
|
||||
dialog --backtitle "Preparing to Launch" \
|
||||
--msgbox "When the game starts, press \` to open the console. Type addbot, press enter. Repeat addbot for as many bots as you would like. Press \` again to close the console." -1 -1 --stdout
|
||||
fi
|
||||
flags=(
|
||||
'-host' "${players}"
|
||||
'-skill' "${skillLevel}"
|
||||
'-deathmatch'
|
||||
'+set' 'sv_cheats' '1'
|
||||
'+fraglimit' "$fraglimit"
|
||||
'+dmflags' '16384' '+dmflags' '4' '+dmflags' '128' '+dmflags' '4096'
|
||||
'+dmflags2' '512' '+dmflags2' '1024'
|
||||
'-extratic' '-dup' '3'
|
||||
'-warp' "$map"
|
||||
)
|
||||
fi
|
||||
|
||||
# Check for and include if present a wad. Some people may not have it.
|
||||
if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then
|
||||
gameOption+=" DoomMetalVol7.wad"
|
||||
elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then
|
||||
gameOption+=" DoomMetalVol6.wad"
|
||||
fi
|
||||
|
||||
# Extend the search for new messages to be read.
|
||||
grepStrings+=('-e' ' died.'
|
||||
'-e' 'Ectoplasmic Surge!'
|
||||
'-e' ' has been '
|
||||
'-e' '^(Armor|Health) boosted!'
|
||||
'-e' 'Lesser demon energy'
|
||||
'-e' '^Found '
|
||||
'-e' 'Got the '
|
||||
'-e' 'Picked up '
|
||||
'-e' '^(Mega|Soul)sphere$'
|
||||
'-e' '^Took '
|
||||
'-e' ' was .*(\.|!)'
|
||||
'-e' '^Vanguard of the gods!$'
|
||||
'-e' "You've found "
|
||||
'-e' 'You (collected|got|found|picked up) ')
|
||||
|
||||
# Launch the game and pipe things to be spoken through speech-dispatcher.
|
||||
# This also leaves the console output intact for people who may want to read it.
|
||||
exec stdbuf -oL ${gzdoom} ${gameOption[@]} "${flags[@]}" | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} -- > /dev/null 2>&1; }; echo "$l";done
|
24
TobyCustom/ArmyOfDarknessDoom.json
Normal file
24
TobyCustom/ArmyOfDarknessDoom.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "Army of Darkness Doom",
|
||||
"dependencies": [
|
||||
{
|
||||
"file": "aoddoom1.wad",
|
||||
"url": "https://www.moddb.com/mods/army-of-darkness-total-conversion/addons/army-of-darkness-doom-wad",
|
||||
"messages": [
|
||||
"Place \"aoddoom1.wad\" in \"${gamePath}\""
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
"Addons/MENU/TobyV{toby_base_version}_*",
|
||||
"aoddoom1.wad"
|
||||
],
|
||||
"optional_files": [
|
||||
"DoomMetalVol7.wad",
|
||||
"DoomMetalVol6.wad"
|
||||
],
|
||||
"flags": [
|
||||
"+Toby_UniversalBeacon_UseUniversalSounds", "true"
|
||||
],
|
||||
"use_map_menu": true
|
||||
}
|
27
TobyCustom/GoMidievilOnTheirAss.json
Normal file
27
TobyCustom/GoMidievilOnTheirAss.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "Go Midievil On Their Ass",
|
||||
"dependencies": [
|
||||
{
|
||||
"file": "GMOTA_V.1.5.2.pk3",
|
||||
"url": "https://combine-kegan.itch.io/gmota",
|
||||
"messages": [
|
||||
"Place the file in ~/.local/games/doom"
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
"Addons/MENU/TobyV{toby_base_version}_*",
|
||||
"Addons/DOOM/TobyV{toby_base_version}_Proximity.pk3",
|
||||
"GMOTA_V.1.5.2.pk3"
|
||||
],
|
||||
"flags": [
|
||||
"+Toby_NarrationOutputType", "2",
|
||||
"+pb_exaggeratedrecoil", "false",
|
||||
"+pb_weapon_recoil_mod_horizontal", "0",
|
||||
"+pb_weapon_recoil_mod_vertical", "0",
|
||||
"+vertspread", "true",
|
||||
"+Toby_SnapToTargetTargetingMode", "1",
|
||||
"+Toby_UniversalBeacon_UseUniversalSounds", "true"
|
||||
],
|
||||
"use_map_menu": true
|
||||
}
|
32
TobyCustom/Project_Brutality.json
Normal file
32
TobyCustom/Project_Brutality.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "Project Brutality",
|
||||
"dependencies": [
|
||||
{
|
||||
"file": "Project_Brutality.pk3",
|
||||
"url": "https://www.moddb.com/mods/project-brutality",
|
||||
"messages": [
|
||||
"This should be included by default.",
|
||||
"If you are seeing this message, please reinstall after removing any TobyDoom files from ~/.cache/linux-game-manager.",
|
||||
"rm -f ~/.cache/linux-game-manager/TobyAccessibilityMod_Version*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
"Addons/DOOM/TobyV{toby_base_version}_Proximity.pk3",
|
||||
"PB-Toby-Compatibility-Addon.pk3",
|
||||
"Project_Brutality.pk3"
|
||||
],
|
||||
"optional_files": [
|
||||
"DoomMetalVol7.wad",
|
||||
"DoomMetalVol6.wad"
|
||||
],
|
||||
"flags": [
|
||||
"+pb_exaggeratedrecoil", "false",
|
||||
"+pb_weapon_recoil_mod_horizontal", "0",
|
||||
"+pb_weapon_recoil_mod_vertical", "0",
|
||||
"+vertspread", "true",
|
||||
"+Toby_SnapToTargetTargetingMode", "1",
|
||||
"+Toby_UniversalBeacon_UseUniversalSounds", "false"
|
||||
],
|
||||
"use_map_menu": true
|
||||
}
|
31
TobyCustom/Project_BrutalityLatest.json
Normal file
31
TobyCustom/Project_BrutalityLatest.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"name": "Project Brutality Latest",
|
||||
"dependencies": [
|
||||
{
|
||||
"file": "Project_Brutality-Latest.pk3",
|
||||
"url": "https://www.moddb.com/mods/project-brutality",
|
||||
"messages": [
|
||||
"This should be included by default.",
|
||||
"If you are seeing this message, please reinstall after removing any TobyDoom files from ~/.cache/linux-game-manager.",
|
||||
"rm -f ~/.cache/linux-game-manager/TobyAccessibilityMod_Version*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
"Addons/DOOM/TobyV{toby_base_version}_Proximity.pk3",
|
||||
"Project_Brutality-Latest.pk3"
|
||||
],
|
||||
"optional_files": [
|
||||
"DoomMetalVol7.wad",
|
||||
"DoomMetalVol6.wad"
|
||||
],
|
||||
"flags": [
|
||||
"+pb_exaggeratedrecoil", "false",
|
||||
"+pb_weapon_recoil_mod_horizontal", "0",
|
||||
"+pb_weapon_recoil_mod_vertical", "0",
|
||||
"+vertspread", "true",
|
||||
"+Toby_SnapToTargetTargetingMode", "1",
|
||||
"+Toby_UniversalBeacon_UseUniversalSounds", "false"
|
||||
],
|
||||
"use_map_menu": true
|
||||
}
|
14
TobyCustom/README.ProjectBrutality
Normal file
14
TobyCustom/README.ProjectBrutality
Normal file
@ -0,0 +1,14 @@
|
||||
In your ~/.config/gzdoom/gzdoom.ini file, if you do not have these four sections create them at the end. If they are there, you can just update the keybindings. It should look like this:
|
||||
|
||||
|
||||
[Doom.PBInteractions.Bindings]
|
||||
|
||||
[Doom.PBInteractions.DoubleBindings]
|
||||
|
||||
[Doom.PBAdvMoves.Bindings]
|
||||
F=+User2
|
||||
G=+User1
|
||||
U=unreloader
|
||||
V=+User4
|
||||
|
||||
[Doom.PBAdvMoves.DoubleBindings]
|
17
TobyCustom/StarWarsjson
Normal file
17
TobyCustom/StarWarsjson
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "Star Wars",
|
||||
"dependencies": [
|
||||
{
|
||||
"file": "Xim-StarWars-v3.1.5.pk3",
|
||||
"url": "https://www.moddb.com/mods/xims-star-wars-doom",
|
||||
"messages": [
|
||||
"Place Xim-StarWars-v3.1.5.pk3 in the Toby Doom directory, on Linux or Mac, ~/.local/games/doom"
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
"Xim-StarWars-v3.1.5.pk3",
|
||||
"Addons/STARWARS/*.pk3"
|
||||
],
|
||||
"use_map_menu": true
|
||||
}
|
44
TobyCustom/WolfenDoom.json
Normal file
44
TobyCustom/WolfenDoom.json
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "WolfenDoom",
|
||||
"dependencies": [
|
||||
{
|
||||
"file": "Addons/WOLFENDOOM/orig_enh.pk3",
|
||||
"url": "https://www.moddb.com/mods/wolfendoom/downloads/wolfendoom-enhanced",
|
||||
"messages": [
|
||||
"mkdir -p ~/.local/games/doom/Addons/WOLFENDOOM/",
|
||||
"Place all pk3 files from the zip archive in:",
|
||||
"~/.local/games/doom/Addons/WOLFENDOOM/",
|
||||
"There should be three of them noct_enh.pk3, orig_enh.pk3, and sod_enh.pk3"
|
||||
]
|
||||
}
|
||||
],
|
||||
"submenu": {
|
||||
"title": "Select Game",
|
||||
"options": [
|
||||
{
|
||||
"name": "WolfenDoom",
|
||||
"file": "Addons/WOLFENDOOM/orig_enh.pk3"
|
||||
},
|
||||
{
|
||||
"name": "WolfenDoom - Spear of Destiny",
|
||||
"file": "Addons/WOLFENDOOM/sod_enh.pk3"
|
||||
},
|
||||
{
|
||||
"name": "WolfenDoom - Nocturne",
|
||||
"file": "Addons/WOLFENDOOM/noct_enh.pk3"
|
||||
}
|
||||
]
|
||||
},
|
||||
"files": [
|
||||
"Addons/MENU/TobyV{toby_base_version}_*",
|
||||
"Addons/DOOM/TobyV{toby_base_version}_Proximity.pk3"
|
||||
],
|
||||
"flags": [
|
||||
"+bind", "Ctrl", "+attack",
|
||||
"+bind", "X", "turn180",
|
||||
"+Toby_NarrationOutputType", "2",
|
||||
"+Toby_SnapToTargetTargetingMode", "1",
|
||||
"+Toby_UniversalBeacon_UseUniversalSounds", "true"
|
||||
],
|
||||
"use_map_menu": true
|
||||
}
|
Reference in New Issue
Block a user