diff --git a/archive_later/ares/ares_paused.txt b/archive_later/ares/ares_paused.txt
new file mode 100644
index 0000000..72714fa
--- /dev/null
+++ b/archive_later/ares/ares_paused.txt
@@ -0,0 +1,5 @@
+## ares Emulator Status
+
+At this time, the ares emulator provides limited additional value relative to existing supported options inside of RetroDECK.
+
+Should user demand increase significantly in the future, we can revisit adding ares support at that time.
\ No newline at end of file
diff --git a/archive_later/ares/component_functions.sh b/archive_later/ares/component_functions.sh
new file mode 100755
index 0000000..1ff8e28
--- /dev/null
+++ b/archive_later/ares/component_functions.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+## ares keeps it's config in $XDG_DATA_HOME/ares/
+
+export ares_config="$XDG_DATA_HOME/ares/settings.bml"
+
+_prepare_component::ares() {
+ local action="$1"
+ shift
+
+ local component_config="$(get_own_component_path)/rd_config"
+
+ case "$action" in
+
+ reset)
+ log i "----------------------"
+ log i "Resetting ares"
+ log i "----------------------"
+
+ create_dir -d "$XDG_DATA_HOME/ares/hiro"
+ create_dir -d "$XDG_CONFIG_HOME/ares/"
+ create_dir -d "$logs_path/ares"
+ create_dir -d "$saves_path/ares/"
+ create_dir -d "$screenshots_path/ares/"
+
+ cp -fr "$component_config/"* "$XDG_DATA_HOME/ares/"
+
+ sed -i "s|RETRODECKROMSDIR|$roms_path|" $ares_config
+ sed -i "s|RETRODECKBIOSDIR|$bios_path|" $ares_config
+ sed -i "s|RETRODECKSAVESDIR|$saves_path|" $ares_config
+ sed -i "s|RETRODECKSCREENSHORTSDIR|$screenshots_path|" $ares_config
+ sed -i "s|RETRODECKLOGSDIR|$logs_path|" $ares_config
+
+ ;;
+
+ postmove)
+ log i "----------------------"
+ log i "Post-moving ares"
+ log i "----------------------"
+
+ sed -i "s|RETRODECKROMSDIR|$roms_path|" $ares_config
+ sed -i "s|RETRODECKBIOSDIR|$bios_path|" $ares_config
+ sed -i "s|RETRODECKSAVESDIR|$saves_path|" $ares_config
+ sed -i "s|RETRODECKSCREENSHORTSDIR|$screenshots_path|" $ares_config
+ sed -i "s|RETRODECKLOGSDIR|$logs_path|" $ares_config
+
+ ;;
+
+ esac
+
+}
+
diff --git a/archive_later/ares/component_launcher.sh b/archive_later/ares/component_launcher.sh
new file mode 100755
index 0000000..cbe8426
--- /dev/null
+++ b/archive_later/ares/component_launcher.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Setting component name and path based on the directory name
+component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
+component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"
+
+# Set LD_LIBRARY_PATH
+export LD_LIBRARY_PATH="$component_path/lib:$ffmpeg_path/25.08:$rd_shared_libs:${DEFAULT_LD_LIBRARY_PATH}"
+export QT_PLUGIN_PATH="${QT_PLUGIN_PATH}"
+export QT_QPA_PLATFORM_PLUGIN_PATH="${QT_QPA_PLATFORM_PLUGIN_PATH}"
+
+log i "RetroDECK is now launching $component_name"
+log d "Library path is: $LD_LIBRARY_PATH"
+log d "QT plugin path is: $QT_PLUGIN_PATH"
+log d "QT QPA PLATFORM plugin path is: $QT_QPA_PLATFORM_PLUGIN_PATH"
+
+# Launch
+exec "$component_path/bin/ares" "$@"
diff --git a/archive_later/ares/component_manifest.json b/archive_later/ares/component_manifest.json
new file mode 100644
index 0000000..5772a7f
--- /dev/null
+++ b/archive_later/ares/component_manifest.json
@@ -0,0 +1,1118 @@
+{
+ "ares": {
+ "name": "ares",
+ "core_framework_compatibility": "1",
+ "component_version": "1.0.0",
+ "capabilities": [
+ "reset",
+ "open"
+ ],
+ "url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/ares/ares-guide/",
+ "url_webpage": "https://ares-emu.net/",
+ "url_donation_purchase": "https://www.patreon.com/LukeUsher",
+ "url_source": "https://github.com/ares-emulator/ares",
+ "description": "ares is a multi-emulator.",
+ "system_friendly_name": "Multiple Retro Systems",
+ "component_type": "Multi-Emulator",
+ "system": "Multiple Retro Systems",
+ "backup_data": {
+ "core": [
+ {
+ "path": "$XDG_CONFIG_HOME/ares"
+ }
+ ]
+ },
+ "bios": [
+ {
+ "filename": "BIOS.col",
+ "md5": "2c66f5911e5b42b8ebe113403548eee7",
+ "system": "colecovision",
+ "description": "ColecoVision BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "disksys.rom",
+ "md5": "ca30b50f880eb660a320674ed365ef7a",
+ "system": [
+ "nes",
+ "sfc"
+ ],
+ "description": "Family Computer Disk System BIOS"
+ },
+ {
+ "filename": "gba_bios.bin",
+ "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6",
+ "system": "gba",
+ "description": "Game Boy Advance BIOS",
+ "required": "Optional, for boot logo"
+ },
+ {
+ "filename": "bios.gg",
+ "md5": "672e104c3be3a238301aceffc3b23fd6",
+ "system": "gamegear",
+ "description": "Sega Game Gear BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "bios_J.sms",
+ "md5": "24a519c53f67b00640d0048ef7089105",
+ "system": "sms",
+ "description": "Sega Master System Japanese BIOS",
+ "required": "Optional, depends on emulator / core"
+ },
+ {
+ "filename": "bios.sms",
+ "md5": "840481177270d5642a14ca71ee72844c",
+ "system": "mastersystem",
+ "description": "Sega Master System BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "bios_CD_E.bin",
+ "md5": [
+ "e66fa1dc5820d254611fdcdba0662372",
+ "9b562ebf2d095bf1dabadbc1881f519a"
+ ],
+ "system": "segacd",
+ "description": "Sega Mega-CD EU BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "bios_CD_U.bin",
+ "md5": [
+ "2efd74e3232ff260e371b99f84024f7f",
+ "310a9081d2edf2d316ab38813136725e",
+ "baca1df271d7c11fe50087c0358f4eb5"
+ ],
+ "system": "segacd",
+ "description": "Sega CD US BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "bios_CD_J.bin",
+ "md5": [
+ "278a9397d192149e84e820ac621a8edd",
+ "683a8a9e273662561172468dfa2858eb"
+ ],
+ "system": "segacd",
+ "description": "Sega Mega-CD JP BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "MSX.ROM",
+ "md5": [
+ "364a1a579fe5cb8dba54519bcfcdac0d",
+ "aa95aea2563cd5ec0a0919b44cc17d47",
+ "9218f6dd89f7ba01e3090d44721b4260",
+ "cadad331097664327248654c1281816b"
+ ],
+ "system": "msx",
+ "description": "MSX 1 BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2.ROM",
+ "md5": "ec3a01c91f24fbddcbcab0ad301bc9ef",
+ "system": "msx",
+ "description": "MSX 2 BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2EXT.ROM",
+ "md5": "2183c2aff17cf4297bdb496de78c2e8a",
+ "system": "msx",
+ "description": "MSX 2 Extended ROM",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2P.ROM",
+ "md5": [
+ "847cc025ffae665487940ff2639540e5",
+ "6d8c0ca64e726c82a4b726e9b01cdf1e",
+ "c5c26c3e8bc6c485424818057f0507b9"
+ ],
+ "system": "msx",
+ "description": "MSX 2+ BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2PEXT.ROM",
+ "md5": "7c8243c71d8f143b2531f01afa6a05dc",
+ "system": "msx",
+ "description": "MSX 2+ Extended ROM",
+ "required": "Required"
+ },
+ {
+ "filename": "DISK.ROM",
+ "md5": [
+ "80dcd1ad1a4cf65d64b7ba10504e8190",
+ "254bfa82fa9b34c82d7b9766b193c303"
+ ],
+ "system": "msx",
+ "description": "MSX Disk ROM / BDOS",
+ "required": "Required"
+ },
+ {
+ "filename": "FMPAC.ROM",
+ "md5": "6f69cc8b5ed761b03afd78000dfb0e19",
+ "system": "msx",
+ "description": "MSX FMPAC floppy controller BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "MSXDOS2.ROM",
+ "md5": "6418d091cd6907bbcf940324339e43bb",
+ "system": "msx",
+ "description": "MSX-DOS 2 kernel",
+ "required": "Required"
+ },
+ {
+ "filename": "PAINTER.ROM",
+ "md5": "403cdea1cbd2bb24fae506941f8f655e",
+ "system": "msx",
+ "description": "MSX Yamaha Painter ROM",
+ "required": "Optional"
+ },
+ {
+ "filename": "KANJI.ROM",
+ "md5": [
+ "febe8782b466d7c3b16de6d104826b34",
+ "4ddb542906f9891cf3b3648fecd8c228",
+ "5353336d9c81946fa17582daccbb5cae"
+ ],
+ "system": "msx",
+ "description": "MSX Kanji font ROM",
+ "required": "Required for some Japanese games."
+ },
+ {
+ "filename": "Neo Geo AES.zip",
+ "md5": "99d2a3ea399e3512b4091854e184f0ba",
+ "system": "neogeo",
+ "description": "Neo Geo AES - BIOS (World).zip",
+ "required": "At least one"
+ },
+ {
+ "filename": "Neo Geo MVS.zip",
+ "md5": "618189e1be366c01d3cefd7a77692051",
+ "system": "neogeo",
+ "description": "Neo Geo MVS - BIOS",
+ "required": "At least one"
+ },
+ {
+ "filename": "ngp.zip",
+ "md5": "d87d876c4391935c9d48ef352a3ff02d",
+ "system": "ngp",
+ "description": "NeoGeo Pocket BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "ngpc.zip",
+ "md5": "3655aacebb43a963607d4cf821fc1301",
+ "system": "ngpc",
+ "description": "NeoGeo Pocket BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "neo-epo.bin",
+ "md5": "b11751ad42879c461d64ad2b7b2b0129",
+ "system": "neogeo",
+ "description": "neo-epo.bin",
+ "required": "Required"
+ },
+ {
+ "filename": "64DD_IPL.bin",
+ "md5": "8d3d9f294b6e174bc7b1d2fd1c727530",
+ "system": "n64dd",
+ "description": "Nintendo 64 64DD IPL BIOS - Japan",
+ "required": "At least one"
+ },
+ {
+ "filename": "64DD_IPL.bin",
+ "md5": "aad37b1492886b892f1821f37fd3ae34",
+ "system": "n64dd",
+ "description": "Nintendo 64 64DD IPL BIOS - Japan Dev",
+ "required": "At least one"
+ },
+ {
+ "filename": "64DD_IPL.bin",
+ "md5": "37c36e4286d36892a9fc70eafe4104be",
+ "system": "n64dd",
+ "description": "Nintendo 64 64DD IPL BIOS - USA",
+ "required": "At least one"
+ },
+ {
+ "filename": "syscard3.pce",
+ "md5": "38179df8f4ac870017db21ebcbf53114",
+ "system": [
+ "pcengine",
+ "pcenginecd"
+ ],
+ "description": "PC Engine Super CD-ROM² System V3.xx BIOS - Japan",
+ "required": "Required"
+ },
+ {
+ "filename": "PC Engine CD - BIOS (US).bin",
+ "md5": "0754f903b52e3b3342202bdafb13efa5",
+ "system": [
+ "pcengine",
+ "pcenginecd"
+ ],
+ "description": "PC Engine Super CD-ROM² System V3.xx BIOS - US",
+ "required": "Required"
+ },
+ {
+ "filename": "PlayStation - BIOS (Europe).bin",
+ "md5": "32736f17079d0b2b7024407c39bd3050",
+ "system": "",
+ "description": "PlayStation - BIOS (Europe).bin"
+ },
+ {
+ "filename": "psxonpsp660.bin",
+ "md5": "c53ca5908936d412331790f4426c6c33",
+ "system": "psx",
+ "description": "PlayStation BIOS extracted from PSP - Japan",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5500.bin",
+ "md5": "8dd7d5296a650fac7319bce665a6a53c",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-5500 - Japan",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5501.bin",
+ "md5": "490f666e1afb15b7362b406ed1cea246",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-5501 - USA",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5502.bin",
+ "md5": "32736f17079d0b2b7024407c39bd3050",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-5502 - Europe)",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7001.bin",
+ "md5": "1e68c231d0896b7eadcad1d7d8e76129",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7001 - Japan",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7002.bin",
+ "md5": "b9d9a0286c33dc6b7237bb13cd46fdee",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7002 - USA)",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7003.bin",
+ "md5": "490f666e1afb15b7362b406ed1cea246",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7003 - Europe",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7502.bin",
+ "md5": "b9d9a0286c33dc6b7237bb13cd46fdee",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7502 - Europe",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph9002(7502).bin",
+ "md5": "b9d9a0286c33dc6b7237bb13cd46fdee",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-9002 - Europe",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "ps1_rom.bin",
+ "md5": "81bbe60ba7a3d1cea1d48c14cbcc647b",
+ "system": "psx",
+ "description": "Generic PlayStation BIOS from the Playstation 3",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph1000.bin",
+ "md5": "239665b1a3dade1b5a52c06338011044",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - USA",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph1001.bin",
+ "md5": "924e392ed05558ffdb115408c263dccf",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - EUROPE",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph1002.bin",
+ "md5": "54847e693405ffeb0359c6287434cbef",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - JAPAN",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph100.bin",
+ "md5": "8abc1b549a4a80954addc48ef02c4521",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph101.bin",
+ "md5": "6e3735ff4c7dc899ee98981385f6f3d0",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - USA",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph102A.bin",
+ "md5": "b10f5e0e3d9eb60e5159690680b1e774",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - EUROPE",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph102B.bin",
+ "md5": "de93caec13d1a141a40a79f5c86168d6",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - JAPAN",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph102C.bin",
+ "md5": "de93caec13d1a141a40a79f5c86168d6",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph3000.bin",
+ "md5": "849515939161e62f6b866f6853006780",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph3500.bin",
+ "md5": "cba733ceeff5aef5c32254f1d617fa62",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5000.bin",
+ "md5": "eb201d2d98251a598af467d4347bb62f",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "sp-45.sp1",
+ "md5": "0396470c1ed8b1a7d5cce754924246bb",
+ "system": "neogeo",
+ "description": "NEOGEO SP-45 BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "gba_bios.bin",
+ "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6",
+ "system": "gba",
+ "description": "Game Boy Advance BIOS",
+ "required": "Optional, for boot logo"
+ },
+ {
+ "filename": "bios.gg",
+ "md5": "672e104c3be3a238301aceffc3b23fd6",
+ "system": "gamegear",
+ "description": "Sega Game Gear BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "bios_J.sms",
+ "md5": [
+ "24a519c53f67b00640d0048ef7089105",
+ "e8b26871629b938887757a64798df6dc"
+ ],
+ "system": "sms",
+ "description": "Sega Master System Japanese BIOS",
+ "required": "Optional, depends on emulator / core"
+ },
+ {
+ "filename": "uni-bios_4_0.rom",
+ "md5": "4f0aeda8d2d145f596826b62d563c4ef",
+ "system": "neogeo",
+ "description": "NEOGEO uni-bios 4.0"
+ }
+ ],
+ "es_de_config": {
+ "es_find_rules": {
+ "emulators": [
+ {
+ "name": "ARES",
+ "description": "ares multi-emulator.",
+ "rules": [
+ {
+ "type": "staticpath",
+ "entries": [
+ "%COMPONENT_PATH%/component_launcher.sh"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "es_systems": [
+ {
+ "name": "atari2600",
+ "fullname": "Atari 2600",
+ "path": "%ROMPATH%/atari2600",
+ "extension": ".a26 .bin .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Atari 2600 %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "atari2600",
+ "theme": "atari2600"
+ },
+ {
+ "name": "colecovision",
+ "fullname": "Coleco ColecoVision",
+ "path": "%ROMPATH%/colecovision",
+ "extension": ".bin .cas .col .cv .dsk .m3u .mx1 .mx2 .myv .ri .rom .sc .sg .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system ColecoVision %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "colecovision",
+ "theme": "colecovision"
+ },
+ {
+ "name": "daphne",
+ "fullname": "Daphne Arcade LaserDisc Emulator",
+ "path": "%ROMPATH%/daphne",
+ "extension": ".bin .cas .col .cv .dsk .m3u .mx1 .mx2 .myv .ri .rom .sc .sg .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega LD %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": [
+ "daphne",
+ "arcade"
+ ],
+ "theme": "daphne"
+ },
+ {
+ "name": "famicom",
+ "fullname": "Nintendo Family Computer",
+ "path": "%ROMPATH%/famicom",
+ "extension": ".3dsen .fds .nes .unf .unif .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Famicom %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "famicom",
+ "theme": "famicom"
+ },
+ {
+ "name": "fds",
+ "fullname": "Nintendo Family Computer",
+ "path": "%ROMPATH%/fds",
+ "extension": ".nes .fds .unf .unif .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Famicom Disk System %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "fds",
+ "theme": "fds"
+ },
+ {
+ "name": "gamegear",
+ "fullname": "Sega Game Gear",
+ "path": "%ROMPATH%/gamegear",
+ "extension": ".68k .bin .bms .chd .col .cue .gen .gg .iso .m3u .md .mdx .rom .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Game Gear %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gamegear",
+ "theme": "gamegear"
+ },
+ {
+ "name": "gb",
+ "fullname": "Nintendo Game Boy",
+ "path": "%ROMPATH%/gb",
+ "extension": ".bs .cgb .dmg .gb .gbc .gbx .sgb .sfc .smc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Game Boy %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gb",
+ "theme": "gb"
+ },
+ {
+ "name": "gba",
+ "fullname": "Nintendo Game Boy Advance",
+ "path": "%ROMPATH%/gba",
+ "extension": ".agb .bin .cgb .dmg .gb .gba .gbc .gbx .sgb .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Game Boy Advance %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gba",
+ "theme": "gba"
+ },
+ {
+ "name": "gbc",
+ "fullname": "Nintendo Game Boy Color",
+ "path": "%ROMPATH%/gbc",
+ "extension": ".bs .cgb .dmg .gb .gbc .gbx .sgb .sfc .smc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Game Boy Color %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gbc",
+ "theme": "gbc"
+ },
+ {
+ "name": "genesis",
+ "fullname": "Sega Genesis",
+ "path": "%ROMPATH%/genesis",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega Drive %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "genesis",
+ "theme": "genesis"
+ },
+ {
+ "name": "megadrive",
+ "fullname": "Sega Mega Drive",
+ "path": "%ROMPATH%/megadrive",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega Drive %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "megadrive",
+ "theme": "megadrive"
+ },
+ {
+ "name": "megadrivejp",
+ "fullname": "Sega Mega Drive (Japan)",
+ "path": "%ROMPATH%/megadrivejp",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega Drive %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "megadrive",
+ "theme": "megadrivejp"
+ },
+ {
+ "name": "mark3",
+ "fullname": "Sega Mark III",
+ "path": "%ROMPATH%/mark3",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Master System %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "mastersystem",
+ "theme": "mark3"
+ },
+ {
+ "name": "mastersystem",
+ "fullname": "Sega Master System",
+ "path": "%ROMPATH%/mastersystem",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Master System %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "mastersystem",
+ "theme": "mastersystem"
+ },
+ {
+ "name": "megacd",
+ "fullname": "Sega Mega-CD",
+ "path": "%ROMPATH%/megacd",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega CD %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "segacd",
+ "theme": "megacd"
+ },
+ {
+ "name": "megacdjp",
+ "fullname": "Sega Mega-CD",
+ "path": "%ROMPATH%/megacdjp",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega CD %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "segacd",
+ "theme": "megacdjp"
+ },
+ {
+ "name": "segacd",
+ "fullname": "Sega CD",
+ "path": "%ROMPATH%/segacd",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega CD %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "segacd",
+ "theme": "segacd"
+ },
+ {
+ "name": "msx",
+ "fullname": "MSX",
+ "path": "%ROMPATH%/msx",
+ "extension": ".cas .col .di1 .di2 .dmk .dsk .fd1 .fd2 .m3u .mx1 .mx2 .ogv .ri .rom .sc .sg .wav .xsa .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system MSX %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "msx",
+ "theme": "msx"
+ },
+ {
+ "name": "msx1",
+ "fullname": "MSX",
+ "path": "%ROMPATH%/msx1",
+ "extension": ".cas .col .di1 .di2 .dmk .dsk .fd1 .fd2 .m3u .mx1 .mx2 .ogv .ri .rom .sc .sg .wav .xsa .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system MSX %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "msx",
+ "theme": "msx1"
+ },
+ {
+ "name": "msx2",
+ "fullname": "MSX2",
+ "path": "%ROMPATH%/msx2",
+ "extension": ".cas .col .di1 .di2 .dmk .dsk .fd1 .fd2 .m3u .mx1 .mx2 .ogv .ri .rom .sc .sg .wav .xsa .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system MSX2 %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "msx2",
+ "theme": "msx2"
+ },
+ {
+ "name": "n64",
+ "fullname": "Nintendo 64",
+ "path": "%ROMPATH%/n64",
+ "extension": ".bin .d64 .desktop .n64 .ndd .sh .u1 .v64 .z64 .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Nintendo 64 %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "n64",
+ "theme": "n64"
+ },
+ {
+ "name": "n64dd",
+ "fullname": "Nintendo 64DD",
+ "path": "%ROMPATH%/n64dd",
+ "extension": ".bin .d64 .n64 .ndd .u1 .v64 .z64 .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Nintendo 64DD %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "n64dd",
+ "theme": "n64dd"
+ },
+ {
+ "name": "nes",
+ "fullname": "Nintendo Entertainment System",
+ "path": "%ROMPATH%/nes",
+ "extension": ".3dsen .fds .nes .unf .unif .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Famicom %ROM%",
+ "priority": 10
+ },
+ {
+ "label": "ares FDS (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Famicom Disk System %ROM%",
+ "priority": 20
+ }
+ ],
+ "platform": "nes",
+ "theme": "nes"
+ },
+ {
+ "name": "ngp",
+ "fullname": "SNK Neo Geo Pocket",
+ "path": "%ROMPATH%/ngp",
+ "extension": ".ngc .ngp .ngpc .npc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Neo Geo Pocket %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "ngp",
+ "theme": "ngp"
+ },
+ {
+ "name": "ngpc",
+ "fullname": "SNK Neo Geo Pocket Color",
+ "path": "%ROMPATH%/ngpc",
+ "extension": ".ngc .ngp .ngpc .npc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Neo Geo Pocket Color %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "ngpc",
+ "theme": "ngpc"
+ },
+ {
+ "name": "pcengine",
+ "fullname": "NEC PC Engine",
+ "path": "%ROMPATH%/pcengine",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .rom .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system PC Engine %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcengine",
+ "theme": "pcengine"
+ },
+ {
+ "name": "tg16",
+ "fullname": "NEC TurboGrafx-16",
+ "path": "%ROMPATH%/tg16",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .rom .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system PC Engine %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcengine",
+ "theme": "tg16"
+ },
+ {
+ "name": "pcenginecd",
+ "fullname": "NEC PC Engine CD",
+ "path": "%ROMPATH%/pcenginecd",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system PC Engine CD %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcenginecd",
+ "theme": "pcenginecd"
+ },
+ {
+ "name": "tg-cd",
+ "fullname": "NEC TurboGrafx-CD",
+ "path": "%ROMPATH%/tg-cd",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system PC Engine CD %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcenginecd",
+ "theme": "tg-cd"
+ },
+ {
+ "name": "psx",
+ "fullname": "Sony PlayStation",
+ "path": "%ROMPATH%/psx",
+ "extension": ".bin .cbn .ccd .chd .cue .ecm .exe .img .iso .m3u .mdf .mds .minipsf .pbp .psexe .psf .toc .z .znx .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system PlayStation %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "psx",
+ "theme": "psx"
+ },
+ {
+ "name": "satellaview",
+ "fullname": "Nintendo Satellaview",
+ "path": "%ROMPATH%/satellaview",
+ "extension": ".bml .bs .fig .sfc .smc .swc .st .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Super Famicom %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "satellaview",
+ "theme": "satellaview"
+ },
+ {
+ "name": "snes",
+ "fullname": "Nintendo SNES (Super Nintendo)",
+ "path": "%ROMPATH%/snes",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Super Famicom %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "snes",
+ "theme": "snes"
+ },
+ {
+ "name": "snesna",
+ "fullname": "Nintendo SNES (Super Nintendo)",
+ "path": "%ROMPATH%/snesna",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Super Famicom %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "snes",
+ "theme": "snesna"
+ },
+ {
+ "name": "sfc",
+ "fullname": "Nintendo SFC (Super Famicom)",
+ "path": "%ROMPATH%/sfc",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Super Famicom %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "snes",
+ "theme": "sfc"
+ },
+ {
+ "name": "sufami",
+ "fullname": "Bandai SuFami Turbo",
+ "path": "%ROMPATH%/sufami",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Super Famicom %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sufami",
+ "theme": "sufami"
+ },
+ {
+ "name": "sega32x",
+ "fullname": "Sega Mega Drive 32X",
+ "path": "%ROMPATH%/sega32x",
+ "extension": ".32x .68k .bin .chd .cue .gen .iso .m3u .md .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega 32X %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sega32x",
+ "theme": "sega32x"
+ },
+ {
+ "name": "sega32xjp",
+ "fullname": "Sega Super 32X",
+ "path": "%ROMPATH%/sega32xjp",
+ "extension": ".32x .68k .bin .chd .cue .gen .iso .m3u .md .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega 32X %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sega32x",
+ "theme": "sega32xjp"
+ },
+ {
+ "name": "sega32xna",
+ "fullname": "Sega Genesis 32X",
+ "path": "%ROMPATH%/sega32xna",
+ "extension": ".32x .68k .bin .chd .cue .gen .iso .m3u .md .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Mega 32X %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sega32x",
+ "theme": "sega32xna"
+ },
+ {
+ "name": "sg-1000",
+ "fullname": "Sega SG-1000",
+ "path": "%ROMPATH%/sg-1000",
+ "extension": ".68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .ri .rom .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system SG-1000 %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sg-1000",
+ "theme": "sg-1000"
+ },
+ {
+ "name": "supergrafx",
+ "fullname": "NEC SuperGrafx",
+ "path": "%ROMPATH%/supergrafx",
+ "extension": ".ccd .chd .cue .pce .rom .sgx .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system SuperGrafx %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "supergrafx",
+ "theme": "supergrafx"
+ },
+ {
+ "name": "wonderswan",
+ "fullname": "Bandai WonderSwan",
+ "path": "%ROMPATH%/wonderswan",
+ "extension": ".pc2 .ws .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system WonderSwan %ROM%",
+ "priority": 10
+ },
+ {
+ "label": "ares [Benesse Pocket Challenge V2] (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system Pocket Challenge V2 %ROM%",
+ "priority": 20
+ }
+ ],
+ "platform": "wonderswan",
+ "theme": "wonderswan"
+ },
+ {
+ "name": "wonderswancolor",
+ "fullname": "Bandai WonderSwan",
+ "path": "%ROMPATH%/wonderswancolor",
+ "extension": ".pc2 .ws .wsc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system WonderSwan Color %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "wonderswancolor",
+ "theme": "wonderswancolor"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/archive_later/ares/component_manifest_back.json b/archive_later/ares/component_manifest_back.json
new file mode 100644
index 0000000..b9a76f5
--- /dev/null
+++ b/archive_later/ares/component_manifest_back.json
@@ -0,0 +1,1118 @@
+{
+ "ares": {
+ "name": "ares",
+ "core_framework_compatibility": "1",
+ "component_version": "1.0.0",
+ "capabilities": [
+ "reset",
+ "open"
+ ],
+ "url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/ares/ares-guide/",
+ "url_webpage": "https://ares-emu.net/",
+ "url_donation_purchase": "https://www.patreon.com/LukeUsher",
+ "url_source": "https://github.com/ares-emulator/ares",
+ "description": "ares is a multi-emulator.",
+ "system_friendly_name": "Multiple Retro Systems",
+ "component_type": "Multi-Emulator",
+ "system": "Multiple Retro Systems",
+ "backup_data": {
+ "core": [
+ {
+ "path": "$XDG_CONFIG_HOME/ares"
+ }
+ ]
+ },
+ "bios": [
+ {
+ "filename": "BIOS.col",
+ "md5": "2c66f5911e5b42b8ebe113403548eee7",
+ "system": "colecovision",
+ "description": "ColecoVision BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "disksys.rom",
+ "md5": "ca30b50f880eb660a320674ed365ef7a",
+ "system": [
+ "nes",
+ "sfc"
+ ],
+ "description": "Family Computer Disk System BIOS"
+ },
+ {
+ "filename": "gba_bios.bin",
+ "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6",
+ "system": "gba",
+ "description": "Game Boy Advance BIOS",
+ "required": "Optional, for boot logo"
+ },
+ {
+ "filename": "bios.gg",
+ "md5": "672e104c3be3a238301aceffc3b23fd6",
+ "system": "gamegear",
+ "description": "Sega Game Gear BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "bios_J.sms",
+ "md5": "24a519c53f67b00640d0048ef7089105",
+ "system": "sms",
+ "description": "Sega Master System Japanese BIOS",
+ "required": "Optional, depends on emulator / core"
+ },
+ {
+ "filename": "bios.sms",
+ "md5": "840481177270d5642a14ca71ee72844c",
+ "system": "mastersystem",
+ "description": "Sega Master System BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "bios_CD_E.bin",
+ "md5": [
+ "e66fa1dc5820d254611fdcdba0662372",
+ "9b562ebf2d095bf1dabadbc1881f519a"
+ ],
+ "system": "segacd",
+ "description": "Sega Mega-CD EU BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "bios_CD_U.bin",
+ "md5": [
+ "2efd74e3232ff260e371b99f84024f7f",
+ "310a9081d2edf2d316ab38813136725e",
+ "baca1df271d7c11fe50087c0358f4eb5"
+ ],
+ "system": "segacd",
+ "description": "Sega CD US BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "bios_CD_J.bin",
+ "md5": [
+ "278a9397d192149e84e820ac621a8edd",
+ "683a8a9e273662561172468dfa2858eb"
+ ],
+ "system": "segacd",
+ "description": "Sega Mega-CD JP BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "MSX.ROM",
+ "md5": [
+ "364a1a579fe5cb8dba54519bcfcdac0d",
+ "aa95aea2563cd5ec0a0919b44cc17d47",
+ "9218f6dd89f7ba01e3090d44721b4260",
+ "cadad331097664327248654c1281816b"
+ ],
+ "system": "msx",
+ "description": "MSX 1 BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2.ROM",
+ "md5": "ec3a01c91f24fbddcbcab0ad301bc9ef",
+ "system": "msx",
+ "description": "MSX 2 BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2EXT.ROM",
+ "md5": "2183c2aff17cf4297bdb496de78c2e8a",
+ "system": "msx",
+ "description": "MSX 2 Extended ROM",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2P.ROM",
+ "md5": [
+ "847cc025ffae665487940ff2639540e5",
+ "6d8c0ca64e726c82a4b726e9b01cdf1e",
+ "c5c26c3e8bc6c485424818057f0507b9"
+ ],
+ "system": "msx",
+ "description": "MSX 2+ BIOS",
+ "required": "Required"
+ },
+ {
+ "filename": "MSX2PEXT.ROM",
+ "md5": "7c8243c71d8f143b2531f01afa6a05dc",
+ "system": "msx",
+ "description": "MSX 2+ Extended ROM",
+ "required": "Required"
+ },
+ {
+ "filename": "DISK.ROM",
+ "md5": [
+ "80dcd1ad1a4cf65d64b7ba10504e8190",
+ "254bfa82fa9b34c82d7b9766b193c303"
+ ],
+ "system": "msx",
+ "description": "MSX Disk ROM / BDOS",
+ "required": "Required"
+ },
+ {
+ "filename": "FMPAC.ROM",
+ "md5": "6f69cc8b5ed761b03afd78000dfb0e19",
+ "system": "msx",
+ "description": "MSX FMPAC floppy controller BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "MSXDOS2.ROM",
+ "md5": "6418d091cd6907bbcf940324339e43bb",
+ "system": "msx",
+ "description": "MSX-DOS 2 kernel",
+ "required": "Required"
+ },
+ {
+ "filename": "PAINTER.ROM",
+ "md5": "403cdea1cbd2bb24fae506941f8f655e",
+ "system": "msx",
+ "description": "MSX Yamaha Painter ROM",
+ "required": "Optional"
+ },
+ {
+ "filename": "KANJI.ROM",
+ "md5": [
+ "febe8782b466d7c3b16de6d104826b34",
+ "4ddb542906f9891cf3b3648fecd8c228",
+ "5353336d9c81946fa17582daccbb5cae"
+ ],
+ "system": "msx",
+ "description": "MSX Kanji font ROM",
+ "required": "Required for some Japanese games."
+ },
+ {
+ "filename": "Neo Geo AES.zip",
+ "md5": "99d2a3ea399e3512b4091854e184f0ba",
+ "system": "neogeo",
+ "description": "Neo Geo AES - BIOS (World).zip",
+ "required": "At least one"
+ },
+ {
+ "filename": "Neo Geo MVS.zip",
+ "md5": "618189e1be366c01d3cefd7a77692051",
+ "system": "neogeo",
+ "description": "Neo Geo MVS - BIOS",
+ "required": "At least one"
+ },
+ {
+ "filename": "ngp.zip",
+ "md5": "d87d876c4391935c9d48ef352a3ff02d",
+ "system": "ngp",
+ "description": "NeoGeo Pocket BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "ngpc.zip",
+ "md5": "3655aacebb43a963607d4cf821fc1301",
+ "system": "ngpc",
+ "description": "NeoGeo Pocket BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "neo-epo.bin",
+ "md5": "b11751ad42879c461d64ad2b7b2b0129",
+ "system": "neogeo",
+ "description": "neo-epo.bin",
+ "required": "Required"
+ },
+ {
+ "filename": "64DD_IPL.bin",
+ "md5": "8d3d9f294b6e174bc7b1d2fd1c727530",
+ "system": "n64dd",
+ "description": "Nintendo 64 64DD IPL BIOS - Japan",
+ "required": "At least one"
+ },
+ {
+ "filename": "64DD_IPL.bin",
+ "md5": "aad37b1492886b892f1821f37fd3ae34",
+ "system": "n64dd",
+ "description": "Nintendo 64 64DD IPL BIOS - Japan Dev",
+ "required": "At least one"
+ },
+ {
+ "filename": "64DD_IPL.bin",
+ "md5": "37c36e4286d36892a9fc70eafe4104be",
+ "system": "n64dd",
+ "description": "Nintendo 64 64DD IPL BIOS - USA",
+ "required": "At least one"
+ },
+ {
+ "filename": "syscard3.pce",
+ "md5": "38179df8f4ac870017db21ebcbf53114",
+ "system": [
+ "pcengine",
+ "pcenginecd"
+ ],
+ "description": "PC Engine Super CD-ROM² System V3.xx BIOS - Japan",
+ "required": "Required"
+ },
+ {
+ "filename": "PC Engine CD - BIOS (US).bin",
+ "md5": "0754f903b52e3b3342202bdafb13efa5",
+ "system": [
+ "pcengine",
+ "pcenginecd"
+ ],
+ "description": "PC Engine Super CD-ROM² System V3.xx BIOS - US",
+ "required": "Required"
+ },
+ {
+ "filename": "PlayStation - BIOS (Europe).bin",
+ "md5": "32736f17079d0b2b7024407c39bd3050",
+ "system": "",
+ "description": "PlayStation - BIOS (Europe).bin"
+ },
+ {
+ "filename": "psxonpsp660.bin",
+ "md5": "c53ca5908936d412331790f4426c6c33",
+ "system": "psx",
+ "description": "PlayStation BIOS extracted from PSP - Japan",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5500.bin",
+ "md5": "8dd7d5296a650fac7319bce665a6a53c",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-5500 - Japan",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5501.bin",
+ "md5": "490f666e1afb15b7362b406ed1cea246",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-5501 - USA",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5502.bin",
+ "md5": "32736f17079d0b2b7024407c39bd3050",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-5502 - Europe)",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7001.bin",
+ "md5": "1e68c231d0896b7eadcad1d7d8e76129",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7001 - Japan",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7002.bin",
+ "md5": "b9d9a0286c33dc6b7237bb13cd46fdee",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7002 - USA)",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7003.bin",
+ "md5": "490f666e1afb15b7362b406ed1cea246",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7003 - Europe",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph7502.bin",
+ "md5": "b9d9a0286c33dc6b7237bb13cd46fdee",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-7502 - Europe",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph9002(7502).bin",
+ "md5": "b9d9a0286c33dc6b7237bb13cd46fdee",
+ "system": "psx",
+ "description": "PlayStation BIOS - SCPH-9002 - Europe",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "ps1_rom.bin",
+ "md5": "81bbe60ba7a3d1cea1d48c14cbcc647b",
+ "system": "psx",
+ "description": "Generic PlayStation BIOS from the Playstation 3",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph1000.bin",
+ "md5": "239665b1a3dade1b5a52c06338011044",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - USA",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph1001.bin",
+ "md5": "924e392ed05558ffdb115408c263dccf",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - EUROPE",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph1002.bin",
+ "md5": "54847e693405ffeb0359c6287434cbef",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - JAPAN",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph100.bin",
+ "md5": "8abc1b549a4a80954addc48ef02c4521",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph101.bin",
+ "md5": "6e3735ff4c7dc899ee98981385f6f3d0",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - USA",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph102A.bin",
+ "md5": "b10f5e0e3d9eb60e5159690680b1e774",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - EUROPE",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph102B.bin",
+ "md5": "de93caec13d1a141a40a79f5c86168d6",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS - JAPAN",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph102C.bin",
+ "md5": "de93caec13d1a141a40a79f5c86168d6",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph3000.bin",
+ "md5": "849515939161e62f6b866f6853006780",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph3500.bin",
+ "md5": "cba733ceeff5aef5c32254f1d617fa62",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "scph5000.bin",
+ "md5": "eb201d2d98251a598af467d4347bb62f",
+ "system": "psx",
+ "description": "PlayStation 1 BIOS",
+ "required": "At least one BIOS file required"
+ },
+ {
+ "filename": "sp-45.sp1",
+ "md5": "0396470c1ed8b1a7d5cce754924246bb",
+ "system": "neogeo",
+ "description": "NEOGEO SP-45 BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "gba_bios.bin",
+ "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6",
+ "system": "gba",
+ "description": "Game Boy Advance BIOS",
+ "required": "Optional, for boot logo"
+ },
+ {
+ "filename": "bios.gg",
+ "md5": "672e104c3be3a238301aceffc3b23fd6",
+ "system": "gamegear",
+ "description": "Sega Game Gear BIOS",
+ "required": "Optional"
+ },
+ {
+ "filename": "bios_J.sms",
+ "md5": [
+ "24a519c53f67b00640d0048ef7089105",
+ "e8b26871629b938887757a64798df6dc"
+ ],
+ "system": "sms",
+ "description": "Sega Master System Japanese BIOS",
+ "required": "Optional, depends on emulator / core"
+ },
+ {
+ "filename": "uni-bios_4_0.rom",
+ "md5": "4f0aeda8d2d145f596826b62d563c4ef",
+ "system": "neogeo",
+ "description": "NEOGEO uni-bios 4.0"
+ }
+ ],
+ "es_de_config": {
+ "es_find_rules": {
+ "emulators": [
+ {
+ "name": "ARES",
+ "description": "ares multi-emulator.",
+ "rules": [
+ {
+ "type": "staticpath",
+ "entries": [
+ "%COMPONENT_PATH%/component_launcher.sh"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "es_systems": [
+ {
+ "name": "atari2600",
+ "fullname": "Atari 2600",
+ "path": "%ROMPATH%/atari2600",
+ "extension": ".a26 .bin .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Atari 2600" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "atari2600",
+ "theme": "atari2600"
+ },
+ {
+ "name": "colecovision",
+ "fullname": "Coleco ColecoVision",
+ "path": "%ROMPATH%/colecovision",
+ "extension": ".bin .cas .col .cv .dsk .m3u .mx1 .mx2 .myv .ri .rom .sc .sg .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "ColecoVision" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "colecovision",
+ "theme": "colecovision"
+ },
+ {
+ "name": "daphne",
+ "fullname": "Daphne Arcade LaserDisc Emulator",
+ "path": "%ROMPATH%/daphne",
+ "extension": ".bin .cas .col .cv .dsk .m3u .mx1 .mx2 .myv .ri .rom .sc .sg .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega LD" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": [
+ "daphne",
+ "arcade"
+ ],
+ "theme": "daphne"
+ },
+ {
+ "name": "famicom",
+ "fullname": "Nintendo Family Computer",
+ "path": "%ROMPATH%/famicom",
+ "extension": ".3dsen .fds .nes .unf .unif .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Famicom" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "famicom",
+ "theme": "famicom"
+ },
+ {
+ "name": "fds",
+ "fullname": "Nintendo Family Computer",
+ "path": "%ROMPATH%/fds",
+ "extension": ".nes .fds .unf .unif .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Famicom Disk System" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "fds",
+ "theme": "fds"
+ },
+ {
+ "name": "gamegear",
+ "fullname": "Sega Game Gear",
+ "path": "%ROMPATH%/gamegear",
+ "extension": ".68k .bin .bms .chd .col .cue .gen .gg .iso .m3u .md .mdx .rom .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Game Gear" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gamegear",
+ "theme": "gamegear"
+ },
+ {
+ "name": "gb",
+ "fullname": "Nintendo Game Boy",
+ "path": "%ROMPATH%/gb",
+ "extension": ".bs .cgb .dmg .gb .gbc .gbx .sgb .sfc .smc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Game Boy" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gb",
+ "theme": "gb"
+ },
+ {
+ "name": "gba",
+ "fullname": "Nintendo Game Boy Advance",
+ "path": "%ROMPATH%/gba",
+ "extension": ".agb .bin .cgb .dmg .gb .gba .gbc .gbx .sgb .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Game Boy Advance" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gba",
+ "theme": "gba"
+ },
+ {
+ "name": "gbc",
+ "fullname": "Nintendo Game Boy Color",
+ "path": "%ROMPATH%/gbc",
+ "extension": ".bs .cgb .dmg .gb .gbc .gbx .sgb .sfc .smc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Game Boy Color" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "gbc",
+ "theme": "gbc"
+ },
+ {
+ "name": "genesis",
+ "fullname": "Sega Genesis",
+ "path": "%ROMPATH%/genesis",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega Drive" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "genesis",
+ "theme": "genesis"
+ },
+ {
+ "name": "megadrive",
+ "fullname": "Sega Mega Drive",
+ "path": "%ROMPATH%/megadrive",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega Drive" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "megadrive",
+ "theme": "megadrive"
+ },
+ {
+ "name": "megadrivejp",
+ "fullname": "Sega Mega Drive (Japan)",
+ "path": "%ROMPATH%/megadrivejp",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega Drive" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "megadrive",
+ "theme": "megadrivejp"
+ },
+ {
+ "name": "mark3",
+ "fullname": "Sega Mark III",
+ "path": "%ROMPATH%/mark3",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Master System" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "mastersystem",
+ "theme": "mark3"
+ },
+ {
+ "name": "mastersystem",
+ "fullname": "Sega Master System",
+ "path": "%ROMPATH%/mastersystem",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Master System" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "mastersystem",
+ "theme": "mastersystem"
+ },
+ {
+ "name": "megacd",
+ "fullname": "Sega Mega-CD",
+ "path": "%ROMPATH%/megacd",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega CD" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "segacd",
+ "theme": "megacd"
+ },
+ {
+ "name": "megacdjp",
+ "fullname": "Sega Mega-CD",
+ "path": "%ROMPATH%/megacdjp",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega CD" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "segacd",
+ "theme": "megacdjp"
+ },
+ {
+ "name": "segacd",
+ "fullname": "Sega CD",
+ "path": "%ROMPATH%/segacd",
+ "extension": ".32x .68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega CD" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "segacd",
+ "theme": "segacd"
+ },
+ {
+ "name": "msx",
+ "fullname": "MSX",
+ "path": "%ROMPATH%/msx",
+ "extension": ".cas .col .di1 .di2 .dmk .dsk .fd1 .fd2 .m3u .mx1 .mx2 .ogv .ri .rom .sc .sg .wav .xsa .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "MSX" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "msx",
+ "theme": "msx"
+ },
+ {
+ "name": "msx1",
+ "fullname": "MSX",
+ "path": "%ROMPATH%/msx1",
+ "extension": ".cas .col .di1 .di2 .dmk .dsk .fd1 .fd2 .m3u .mx1 .mx2 .ogv .ri .rom .sc .sg .wav .xsa .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "MSX" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "msx",
+ "theme": "msx1"
+ },
+ {
+ "name": "msx2",
+ "fullname": "MSX2",
+ "path": "%ROMPATH%/msx2",
+ "extension": ".cas .col .di1 .di2 .dmk .dsk .fd1 .fd2 .m3u .mx1 .mx2 .ogv .ri .rom .sc .sg .wav .xsa .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "MSX2" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "msx2",
+ "theme": "msx2"
+ },
+ {
+ "name": "n64",
+ "fullname": "Nintendo 64",
+ "path": "%ROMPATH%/n64",
+ "extension": ".bin .d64 .desktop .n64 .ndd .sh .u1 .v64 .z64 .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Nintendo 64" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "n64",
+ "theme": "n64"
+ },
+ {
+ "name": "n64dd",
+ "fullname": "Nintendo 64DD",
+ "path": "%ROMPATH%/n64dd",
+ "extension": ".bin .d64 .n64 .ndd .u1 .v64 .z64 .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Nintendo 64DD" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "n64dd",
+ "theme": "n64dd"
+ },
+ {
+ "name": "nes",
+ "fullname": "Nintendo Entertainment System",
+ "path": "%ROMPATH%/nes",
+ "extension": ".3dsen .fds .nes .unf .unif .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Famicom" %ROM%",
+ "priority": 10
+ },
+ {
+ "label": "ares FDS (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Famicom Disk System" %ROM%",
+ "priority": 20
+ }
+ ],
+ "platform": "nes",
+ "theme": "nes"
+ },
+ {
+ "name": "ngp",
+ "fullname": "SNK Neo Geo Pocket",
+ "path": "%ROMPATH%/ngp",
+ "extension": ".ngc .ngp .ngpc .npc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Neo Geo Pocket" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "ngp",
+ "theme": "ngp"
+ },
+ {
+ "name": "ngpc",
+ "fullname": "SNK Neo Geo Pocket Color",
+ "path": "%ROMPATH%/ngpc",
+ "extension": ".ngc .ngp .ngpc .npc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Neo Geo Pocket Color" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "ngpc",
+ "theme": "ngpc"
+ },
+ {
+ "name": "pcengine",
+ "fullname": "NEC PC Engine",
+ "path": "%ROMPATH%/pcengine",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .rom .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "PC Engine" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcengine",
+ "theme": "pcengine"
+ },
+ {
+ "name": "tg16",
+ "fullname": "NEC TurboGrafx-16",
+ "path": "%ROMPATH%/tg16",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .rom .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "PC Engine" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcengine",
+ "theme": "tg16"
+ },
+ {
+ "name": "pcenginecd",
+ "fullname": "NEC PC Engine CD",
+ "path": "%ROMPATH%/pcenginecd",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "PC Engine CD" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcenginecd",
+ "theme": "pcenginecd"
+ },
+ {
+ "name": "tg-cd",
+ "fullname": "NEC TurboGrafx-CD",
+ "path": "%ROMPATH%/tg-cd",
+ "extension": ".ccd .chd .cue .img .iso .m3u .pce .sgx .toc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "PC Engine CD" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pcenginecd",
+ "theme": "tg-cd"
+ },
+ {
+ "name": "psx",
+ "fullname": "Sony PlayStation",
+ "path": "%ROMPATH%/psx",
+ "extension": ".bin .cbn .ccd .chd .cue .ecm .exe .img .iso .m3u .mdf .mds .minipsf .pbp .psexe .psf .toc .z .znx .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "PlayStation" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "psx",
+ "theme": "psx"
+ },
+ {
+ "name": "satellaview",
+ "fullname": "Nintendo Satellaview",
+ "path": "%ROMPATH%/satellaview",
+ "extension": ".bml .bs .fig .sfc .smc .swc .st .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Super Famicom" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "satellaview",
+ "theme": "satellaview"
+ },
+ {
+ "name": "snes",
+ "fullname": "Nintendo SNES (Super Nintendo)",
+ "path": "%ROMPATH%/snes",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Super Famicom" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "snes",
+ "theme": "snes"
+ },
+ {
+ "name": "snesna",
+ "fullname": "Nintendo SNES (Super Nintendo)",
+ "path": "%ROMPATH%/snesna",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Super Famicom" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "snes",
+ "theme": "snesna"
+ },
+ {
+ "name": "sfc",
+ "fullname": "Nintendo SFC (Super Famicom)",
+ "path": "%ROMPATH%/sfc",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Super Famicom" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "snes",
+ "theme": "sfc"
+ },
+ {
+ "name": "sufami",
+ "fullname": "Bandai SuFami Turbo",
+ "path": "%ROMPATH%/sufami",
+ "extension": ".bin .bml .bs .bsx .dx2 .fig .gd3 .gd7 .mgd .sfc .smc .st .swc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Super Famicom" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sufami",
+ "theme": "sufami"
+ },
+ {
+ "name": "sega32x",
+ "fullname": "Sega Mega Drive 32X",
+ "path": "%ROMPATH%/sega32x",
+ "extension": ".32x .68k .bin .chd .cue .gen .iso .m3u .md .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega 32X" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sega32x",
+ "theme": "sega32x"
+ },
+ {
+ "name": "sega32xjp",
+ "fullname": "Sega Super 32X",
+ "path": "%ROMPATH%/sega32xjp",
+ "extension": ".32x .68k .bin .chd .cue .gen .iso .m3u .md .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega 32X" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sega32x",
+ "theme": "sega32xjp"
+ },
+ {
+ "name": "sega32xna",
+ "fullname": "Sega Genesis 32X",
+ "path": "%ROMPATH%/sega32xna",
+ "extension": ".32x .68k .bin .chd .cue .gen .iso .m3u .md .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Mega 32X" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sega32x",
+ "theme": "sega32xna"
+ },
+ {
+ "name": "sg-1000",
+ "fullname": "Sega SG-1000",
+ "path": "%ROMPATH%/sg-1000",
+ "extension": ".68k .bin .bms .chd .cue .gen .gg .iso .m3u .md .mdx .ri .rom .sg .sgd .smd .sms .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "SG-1000" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "sg-1000",
+ "theme": "sg-1000"
+ },
+ {
+ "name": "supergrafx",
+ "fullname": "NEC SuperGrafx",
+ "path": "%ROMPATH%/supergrafx",
+ "extension": ".ccd .chd .cue .pce .rom .sgx .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "SuperGrafx" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "supergrafx",
+ "theme": "supergrafx"
+ },
+ {
+ "name": "wonderswan",
+ "fullname": "Bandai WonderSwan",
+ "path": "%ROMPATH%/wonderswan",
+ "extension": ".pc2 .ws .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "WonderSwan" %ROM%",
+ "priority": 10
+ },
+ {
+ "label": "ares [Benesse Pocket Challenge V2] (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "Pocket Challenge V2" %ROM%",
+ "priority": 20
+ }
+ ],
+ "platform": "wonderswan",
+ "theme": "wonderswan"
+ },
+ {
+ "name": "wonderswancolor",
+ "fullname": "Bandai WonderSwan",
+ "path": "%ROMPATH%/wonderswancolor",
+ "extension": ".pc2 .ws .wsc .7z .zip",
+ "commands": [
+ {
+ "label": "ares (Standalone)",
+ "command": "%EMULATOR_ARES% --fullscreen --system "WonderSwan Color" %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "wonderswancolor",
+ "theme": "wonderswancolor"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/archive_later/ares/component_recipe.json b/archive_later/ares/component_recipe.json
new file mode 100755
index 0000000..fb11f9f
--- /dev/null
+++ b/archive_later/ares/component_recipe.json
@@ -0,0 +1,61 @@
+{
+ "ares": [
+ {
+ "source_url": "dev.ares.ares",
+ "source_type": "flatpak_id",
+ "version": "latest",
+ "dest": "user",
+ "extraction_type": "flatpak",
+ "assets": [
+ {
+ "type": "dir",
+ "source": "bin",
+ "dest": "bin"
+ },
+ {
+ "type": "create",
+ "dest": "component_version",
+ "contents": "$SOURCE_VERSION"
+ },
+ {
+ "type": "dir",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/rd_assets/rd_config",
+ "dest": "rd_config"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_functions.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_launcher.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_manifest.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_recipe.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ }
+ ],
+ "libs": [
+ {
+ "library": "libSDL3.so.0",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "25.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "librashader.so",
+ "source": "lib",
+ "dest": "shared-libs"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/archive_later/ares/rd_assets/rd_config/settings.bml b/archive_later/ares/rd_assets/rd_config/settings.bml
new file mode 100644
index 0000000..cd15549
--- /dev/null
+++ b/archive_later/ares/rd_assets/rd_config/settings.bml
@@ -0,0 +1,431 @@
+Video
+ Driver: OpenGL 3.2
+ Monitor: Primary
+ Format: ARGB24
+ Exclusive: false
+ Blocking: false
+ PresentSRGB: false
+ ThreadedRenderer: true
+ NativeFullScreen: false
+ Flush: false
+ Shader: bilinear.slangp
+ Multiplier: 2
+ Output: Scale
+ AspectCorrectionMode: Standard
+ AdaptiveSizing: true
+ AutoCentering: false
+ Luminance: 1.0
+ Saturation: 1.0
+ Gamma: 1.0
+ ColorBleed: false
+ ColorEmulation: true
+ DeepBlackBoost: false
+ InterframeBlending: false
+ Overscan: false
+ PixelAccuracy: false
+ Quality: SD
+ Supersampling: false
+ DisableVideoInterfaceProcessing: false
+ WeaveDeinterlacing: true
+Audio
+ Driver: SDL
+ Device: Default
+ Frequency: 48000
+ Latency: 20
+ Exclusive: false
+ Blocking: true
+ Dynamic: false
+ Mute: false
+ Volume: 1.0
+ Balance: 0.0
+Input
+ Driver: SDL
+ Defocus: Pause
+Boot
+ Fast: false
+ Debugger: false
+ AwaitGDBClient: false
+ Prefer: NTSC-U
+General
+ ShowStatusBar: true
+ Rewind: false
+ RunAhead: false
+ AutoSaveMemory: true
+ HomebrewMode: false
+ ForceInterpreter: false
+Rewind
+ Length: 100
+ Frequency: 10
+Paths
+ Home:
+ Firmware: RETRODECKBIOSDIR
+ Saves: RETRODECKSAVESDIR/ares/
+ Screenshots: RETRODECKSCREENSHORTSDIR/ares
+ Debugging: RETRODECKLOGSDIR/ares
+ ArcadeRoms: RETRODECKROMSDIR/arcade/
+ SuperFamicom
+ GameBoy: RETRODECKROMSDIR/sgb/
+ BSMemory: RETRODECKROMSDIR/satellaview/
+ SufamiTurbo: RETRODECKROMSDIR/sufami/
+DebugServer
+ Port: 9123
+ Enabled: false
+ UseIPv4: false
+Nintendo64
+ ExpansionPak: true
+ ControllerPakBankString: 32KiB (Default)
+ Visible: true
+ Path
+GameBoyAdvance
+ Player: false
+ Visible: true
+ Path
+ Firmware
+ BIOS.World
+MegaDrive
+ TMSS: false
+ Visible: true
+ Path
+Recent
+ Game-1
+ Game-2
+ Game-3
+ Game-4
+ Game-5
+ Game-6
+ Game-7
+ Game-8
+ Game-9
+VirtualPad1
+ Pad.Up: 0x3/1/1/Lo;;
+ Pad.Down: 0x3/1/1/Hi;;
+ Pad.Left: 0x3/1/0/Lo;;
+ Pad.Right: 0x3/1/0/Hi;;
+ Select: 0x3/3/6;;
+ Start: 0x3/3/7;;
+ A..South: 0x3/3/0;;
+ B..East: 0x3/3/1;;
+ X..West: 0x3/3/2;;
+ Y..North: 0x3/3/3;;
+ L-Bumper: 0x3/3/4;;
+ R-Bumper: 0x3/3/5;;
+ L-Trigger: 0x3/0/2/Hi;;
+ R-Trigger: 0x3/0/5/Hi;;
+ L-Stick..Click: 0x3/3/9;;
+ R-Stick..Click: 0x3/3/10;;
+ L-Up: 0x3/0/1/Lo;;
+ L-Down: 0x3/0/1/Hi;;
+ L-Left: 0x3/0/0/Lo;;
+ L-Right: 0x3/0/0/Hi;;
+ R-Up: 0x3/0/4/Lo;;
+ R-Down: 0x3/0/4/Hi;;
+ R-Left: 0x3/0/3/Lo;;
+ R-Right: 0x3/0/3/Hi;;
+ Rumble: ;;
+VirtualMouse1
+ X: 0x2/0/0;;
+ Y: 0x2/0/1;;
+ Left: 0x2/1/0;;
+ Middle: 0x2/1/1;;
+ Right: 0x2/1/1;;
+ Extra: ;;
+VirtualPad2
+ Pad.Up: 0x100000003/1/1/Lo;;
+ Pad.Down: 0x100000003/1/1/Hi;;
+ Pad.Left: 0x100000003/1/0/Lo;;
+ Pad.Right: 0x100000003/1/0/Hi;;
+ Select: 0x100000003/3/6;;
+ Start: 0x100000003/3/7;;
+ A..South: 0x100000003/3/1;;
+ B..East: 0x100000003/3/0;;
+ X..West: 0x100000003/3/3;;
+ Y..North: 0x100000003/3/2;;
+ L-Bumper: 0x100000003/3/4;;
+ R-Bumper: 0x100000003/3/5;;
+ L-Trigger: 0x100000003/0/2/Hi;;
+ R-Trigger: 0x100000003/0/5/Hi;;
+ L-Stick..Click: 0x100000003/3/9;;
+ R-Stick..Click: 0x100000003/3/10;;
+ L-Up: 0x100000003/0/1/Lo;;
+ L-Down: 0x100000003/0/1/Hi;;
+ L-Left: 0x100000003/0/0/Lo;;
+ L-Right: 0x100000003/0/0/Hi;;
+ R-Up: 0x100000003/0/4/Lo;;
+ R-Down: 0x100000003/0/4/Hi;;
+ R-Left: 0x100000003/0/3/Lo;;
+ R-Right: 0x100000003/0/3/Hi;;
+ Rumble: ;;
+VirtualMouse2
+ X: ;;
+ Y: ;;
+ Left: ;;
+ Middle: ;;
+ Right: ;;
+ Extra: ;;
+VirtualPad3
+ Pad.Up: 0x200000003/1/1/Lo;;
+ Pad.Down: 0x200000003/1/1/Hi;;
+ Pad.Left: 0x200000003/1/0/Lo;;
+ Pad.Right: 0x200000003/1/0/Hi;;
+ Select: 0x200000003/3/6;;
+ Start: 0x200000003/3/7;;
+ A..South: 0x200000003/3/1;;
+ B..East: 0x200000003/3/0;;
+ X..West: 0x200000003/3/3;;
+ Y..North: 0x200000003/3/2;;
+ L-Bumper: 0x200000003/3/4;;
+ R-Bumper: 0x200000003/3/5;;
+ L-Trigger: 0x200000003/0/2/Hi;;
+ R-Trigger: 0x200000003/0/5/Hi;;
+ L-Stick..Click: 0x200000003/3/9;;
+ R-Stick..Click: 0x200000003/3/10;;
+ L-Up: 0x200000003/0/1/Lo;;
+ L-Down: 0x200000003/0/1/Hi;;
+ L-Left: 0x200000003/0/0/Lo;;
+ L-Right: 0x200000003/0/0/Hi;;
+ R-Up: 0x200000003/0/4/Lo;;
+ R-Down: 0x200000003/0/4/Hi;;
+ R-Left: 0x200000003/0/3/Lo;;
+ R-Right: 0x200000003/0/3/Hi;;
+ Rumble: ;;
+VirtualMouse3
+ X: ;;
+ Y: ;;
+ Left: ;;
+ Middle: ;;
+ Right: ;;
+ Extra: ;;
+VirtualPad4
+ Pad.Up: 0x300000003/1/1/Lo;;
+ Pad.Down: 0x300000003/1/1/Hi;;
+ Pad.Left: 0x300000003/1/0/Lo;;
+ Pad.Right: 0x300000003/1/0/Hi;;
+ Select: 0x300000003/3/6;;
+ Start: 0x300000003/3/7;;
+ A..South: 0x300000003/3/1;;
+ B..East: 0x300000003/3/0;;
+ X..West: 0x300000003/3/3;;
+ Y..North: 0x300000003/3/2;;
+ L-Bumper: 0x300000003/3/4;;
+ R-Bumper: 0x300000003/3/5;;
+ L-Trigger: 0x300000003/0/2/Hi;;
+ R-Trigger: 0x300000003/0/5/Hi;;
+ L-Stick..Click: 0x300000003/3/9;;
+ R-Stick..Click: 0x300000003/3/10;;
+ L-Up: 0x300000003/0/1/Lo;;
+ L-Down: 0x300000003/0/1/Hi;;
+ L-Left: 0x300000003/0/0/Lo;;
+ L-Right: 0x300000003/0/0/Hi;;
+ R-Up: 0x300000003/0/4/Lo;;
+ R-Down: 0x300000003/0/4/Hi;;
+ R-Left: 0x300000003/0/3/Lo;;
+ R-Right: 0x300000003/0/3/Hi;;
+ Rumble: ;;
+VirtualMouse4
+ X: ;;
+ Y: ;;
+ Left: ;;
+ Middle: ;;
+ Right: ;;
+ Extra: ;;
+VirtualPad5
+ Pad.Up: 0x400000003/1/1/Lo;;
+ Pad.Down: 0x400000003/1/1/Hi;;
+ Pad.Left: 0x400000003/1/0/Lo;;
+ Pad.Right: 0x400000003/1/0/Hi;;
+ Select: 0x400000003/3/6;;
+ Start: 0x400000003/3/7;;
+ A..South: 0x400000003/3/1;;
+ B..East: 0x400000003/3/0;;
+ X..West: 0x400000003/3/3;;
+ Y..North: 0x400000003/3/2;;
+ L-Bumper: 0x400000003/3/4;;
+ R-Bumper: 0x400000003/3/5;;
+ L-Trigger: 0x400000003/0/2/Hi;;
+ R-Trigger: 0x400000003/0/5/Hi;;
+ L-Stick..Click: 0x400000003/3/9;;
+ R-Stick..Click: 0x400000003/3/10;;
+ L-Up: 0x400000003/0/1/Lo;;
+ L-Down: 0x400000003/0/1/Hi;;
+ L-Left: 0x400000003/0/0/Lo;;
+ L-Right: 0x400000003/0/0/Hi;;
+ R-Up: 0x400000003/0/4/Lo;;
+ R-Down: 0x400000003/0/4/Hi;;
+ R-Left: 0x400000003/0/3/Lo;;
+ R-Right: 0x400000003/0/3/Hi;;
+ Rumble: ;;
+VirtualMouse5
+ X: ;;
+ Y: ;;
+ Left: ;;
+ Middle: ;;
+ Right: ;;
+ Extra: ;;
+Hotkey
+ ToggleFullscreen: ;;
+ TogglePseudo-Fullscreen: ;;
+ ToggleMouseCapture: ;;
+ ToggleKeyboardCapture: ;;
+ FastForward: ;;
+ ToggleFastForward: ;;
+ Rewind: ;;
+ FrameAdvance: ;;
+ CaptureScreenshot: ;;
+ SaveState: ;;
+ LoadState: ;;
+ DecrementStateSlot: ;;
+ IncrementStateSlot: ;;
+ PauseEmulation: ;;
+ ResetSystem: ;;
+ ReloadCurrentGame: ;;
+ QuitEmulator: ;;
+ MuteAudio: ;;
+ IncreaseAudio: ;;
+ DecreaseAudio: ;;
+Arcade
+ Visible: true
+ Path: RETRODECKROMSDIR/arcade/
+Atari2600
+ Path: RETRODECKROMSDIR/atari2600/
+ Visible: true
+WonderSwan
+ Path: RETRODECKROMSDIR/wonderswan/
+ Visible: true
+WonderSwanColor
+ Path: RETRODECKROMSDIR/wonderswancolor/
+ Visible: true
+PocketChallengeV2
+ Path: RETRODECKROMSDIR/supervision/
+ Visible: true
+ColecoVision
+ Path: RETRODECKROMSDIR/colecovision/
+ Firmware
+ BIOS.World: RETRODECKBIOSDIR/colecovision.rom
+ Visible: true
+MyVision
+ Visible: true
+ Path: RETRODECKROMSDIR/arcade/
+MSX
+ Path: RETRODECKROMSDIR/msx/
+ Firmware
+ BIOS.Japan: RETRODECKBIOSDIR/MSX.ROM
+ Visible: true
+MSX2
+ Path: RETRODECKROMSDIR/msx2/
+ Firmware
+ BIOS.Japan: RETRODECKBIOSDIR/MSX2.ROM
+ Visible: true
+PCEngine
+ Path: RETRODECKROMSDIR/pcengine/
+ Visible: true
+PCEngineCD
+ Path: RETRODECKROMSDIR/pcenginecd/
+ Firmware
+ BIOS.US: RETRODECKBIOSDIR/syscard3u.pce
+ BIOS.Japan: RETRODECKBIOSDIR/syscard3.pce
+ Visible: true
+SuperGrafx
+ Path: RETRODECKROMSDIR/supergrafx/
+ Visible: true
+SuperGrafxCD
+ Path: RETRODECKROMSDIR/supergrafx/
+ Firmware
+ BIOS.Japan: RETRODECKBIOSDIR/syscard3.pce
+ Visible: true
+Famicom
+ Path: RETRODECKROMSDIR/nes/
+ Visible: true
+FamicomDiskSystem
+ Path: RETRODECKROMSDIR/fds/
+ Firmware
+ BIOS.Japan: RETRODECKBIOSDIR/disksys.rom
+ Visible: true
+SuperFamicom
+ Path: RETRODECKROMSDIR/snes/
+ Visible: true
+Nintendo64
+ Path: RETRODECKROMSDIR/n64/
+ Visible: true
+Nintendo64DD
+ Path: RETRODECKROMSDIR/n64dd/
+ Firmware
+ BIOS.Japan: RETRODECKBIOSDIR/64DD_IPL_JP.n64
+ BIOS.US: RETRODECKBIOSDIR/64DD_IPL_US.n64
+ BIOS.DEV: RETRODECKBIOSDIR/64DD_IPL_DEV.n64
+ Visible: true
+GameBoy
+ Path: RETRODECKROMSDIR/gb/
+ Visible: true
+GameBoyColor
+ Path: RETRODECKROMSDIR/gbc/
+ Visible: true
+GameBoyAdvance
+ Path: RETRODECKROMSDIR/gba/
+ Firmware
+ BIOS.World: RETRODECKBIOSDIR/gba_bios.bin
+ Visible: true
+SG-1000
+ Path: RETRODECKROMSDIR/sg-1000/
+ Visible: true
+MasterSystem
+ Path: RETRODECKROMSDIR/mastersystem/
+ Firmware
+ BIOS.US: RETRODECKBIOSDIR/bios_U.sms
+ BIOS.Japan: RETRODECKBIOSDIR/bios_J.sms
+ BIOS.Europe: RETRODECKBIOSDIR/bios_E.sms
+ Visible: true
+GameGear
+ Path: RETRODECKROMSDIR/gamegear/
+ Firmware
+ BIOS.World: RETRODECKBIOSDIR/bios.gg
+ Visible: true
+MegaDrive
+ Path: RETRODECKROMSDIR/genesis/
+ Visible: true
+Mega32X
+ Path: RETRODECKROMSDIR/sega32x/
+ Visible: true
+MegaCD
+ Path: RETRODECKROMSDIR/segacd/
+ Firmware
+ BIOS.US: RETRODECKBIOSDIR/bios_CD_U.bin
+ BIOS.Japan: RETRODECKBIOSDIR/bios_CD_J.bin
+ BIOS.Europe: RETRODECKBIOSDIR/bios_CD_E.bin
+ Visible: true
+MegaCD32X
+ Path: RETRODECKROMSDIR/segacd/
+ Visible: true
+NeoGeoAES
+ Path: RETRODECKROMSDIR/arcade/
+ Firmware
+ BIOS.World: RETRODECKBIOSDIR/neo-po.bin
+ Visible: true
+NeoGeoMVS
+ Path: RETRODECKROMSDIR/arcade/
+ Firmware
+ BIOS.World
+ Visible: true
+NeoGeoPocket
+ Path: RETRODECKROMSDIR/ngp/
+ Firmware
+ BIOS.World: RETRODECKBIOSDIR/SNK Neo Geo Pocket (Japan, Europe).ngp
+ Visible: true
+NeoGeoPocketColor
+ Path: RETRODECKROMSDIR/ngpc/
+ Firmware
+ BIOS.World: RETRODECKBIOSDIR/SNK Neo Geo Pocket Color (World) (En,Ja).ngp
+ Visible: true
+PlayStation
+ Path: RETRODECKROMSDIR/psx/
+ Firmware
+ BIOS.US: RETRODECKBIOSDIR/scph5501.bin
+ BIOS.Japan: RETRODECKBIOSDIR/scph5500.bin
+ BIOS.Europe: RETRODECKBIOSDIR/scph5502.bin
+ Visible: true
+ZXSpectrum
+ Path: RETRODECKROMSDIR/zxspectrum/
+ Visible: true
+ZXSpectrum128
+ Path: RETRODECKROMSDIR/zxspectrum/
+ Visible: true
+
diff --git a/archive_later/eka2l1/component_functions.sh b/archive_later/eka2l1/component_functions.sh
new file mode 100755
index 0000000..2ebff06
--- /dev/null
+++ b/archive_later/eka2l1/component_functions.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+export eka2l1_config="$XDG_CONFIG_HOME/EKA2L1/EKA2L1.conf"
+export eka2l1_bindings_default="$XDG_CONFIG_HOME/EKA2L1/bindings/default.yml"
+export eka2l1_bindings_steamdeck="$XDG_CONFIG_HOME/EKA2L1/bindings/steamdeck.yml"
+
+_prepare_component::eka2l1() {
+ local action="$1"
+ shift
+
+ local component_config="$(get_own_component_path)/rd_config"
+ local component_data="$(get_own_component_path)/rd_data"
+
+ case "$action" in
+
+ reset)
+ log i "----------------------"
+ log i "Resetting EKA2L1"
+ log i "----------------------"
+
+ create_dir -d "$XDG_CONFIG_HOME/EKA2L1/"
+ create_dir -d "$XDG_DATA_HOME/EKA2L1/"
+ cp -fvr "$component_config/"* "$XDG_CONFIG_HOME/EKA2L1/"
+ cp -fvr "$component_data/"* "$XDG_DATA_HOME/EKA2L1/"
+
+ dir_prep "$bios_path/EKA2L1" "$XDG_DATA_HOME/EKA2L1/data/roms"
+ dir_prep "$storage_path/EKA2L1/j2me" "$XDG_DATA_HOME/EKA2L1/data/j2me"
+ dir_prep "$storage_path/EKA2L1/drives" "$XDG_DATA_HOME/EKA2L1/data/drives"
+
+ ;;
+
+ postmove)
+ log i "----------------------"
+ log i "Post-moving EKA2L1"
+ log i "----------------------"
+
+ dir_prep "$bios_path/EKA2L1" "$XDG_DATA_HOME/EKA2L1/data/roms"
+ dir_prep "$storage_path/EKA2L1/j2me" "$XDG_DATA_HOME/EKA2L1/data/j2me"
+ dir_prep "$storage_path/EKA2L1/drives" "$XDG_DATA_HOME/EKA2L1/data/drives"
+
+ ;;
+
+ esac
+}
\ No newline at end of file
diff --git a/archive_later/eka2l1/component_launcher.sh b/archive_later/eka2l1/component_launcher.sh
new file mode 100755
index 0000000..e10e0b8
--- /dev/null
+++ b/archive_later/eka2l1/component_launcher.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# Setting component name and path based on the directory name
+component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
+component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"
+
+# Set LD_LIBRARY_PATH
+export LD_LIBRARY_PATH="$component_path/lib:$ffmpeg_path/25.08:$rd_shared_libs:$rd_shared_libs/org.kde.Platform/6.10/:$rd_shared_libs/org.gnome.Platform/49/:$rd_shared_libs/org.freedesktop.Platform/25.08/:${DEFAULT_LD_LIBRARY_PATH}"
+export QT_PLUGIN_PATH="$rd_shared_libs/org.kde.Platform/6.10/plugins/:${QT_PLUGIN_PATH}"
+export QT_QPA_PLATFORM_PLUGIN_PATH="$rd_shared_libs/org.kde.Platform/6.10/plugins/platforms/:${QT_QPA_PLATFORM_PLUGIN_PATH}"
+
+log i "RetroDECK is now launching $component_name"
+log d "Library path is: $LD_LIBRARY_PATH"
+log d "QT plugin path is: $QT_PLUGIN_PATH"
+log d "QT QPA PLATFORM plugin path is: $QT_QPA_PLATFORM_PLUGIN_PATH"
+
+exec "$component_path/bin/eka2l1_qt" "$@"
diff --git a/archive_later/eka2l1/component_manifest.json b/archive_later/eka2l1/component_manifest.json
new file mode 100644
index 0000000..546d216
--- /dev/null
+++ b/archive_later/eka2l1/component_manifest.json
@@ -0,0 +1,315 @@
+{
+ "eka2l1": {
+ "name": "EKA2L1",
+ "core_framework_compatibility": "1",
+ "component_version": "1.0.0",
+ "capabilities": [
+ "reset",
+ "open"
+ ],
+ "url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/EKA2L1/EKA2L1-guide/",
+ "url_donation_purchase": [
+ "https://www.paypal.me/ccjkz11",
+ "https://yoomoney.ru/to/41001670387745"
+ ],
+ "url_source": "https://github.com/EKA2L1/EKA2L1",
+ "description": "EKA2L1 is a Symbian and Nokia N-Gage emulator.",
+ "component_type": "Emulator",
+ "system_friendly_name": [
+ "Nokia N-Gage",
+ "Symbian"
+ ],
+ "system": [
+ "ngage",
+ "symbian"
+ ],
+ "bios": [
+ {
+ "filename": "BOOT-101F8C19.dmp",
+ "md5": "c63eedb3369133a993cfe5d5ced247c7",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/NEM-4/BOOT-101F8C19.dmp",
+ "description": "Nokia N-Gage boot ROM dump",
+ "required": "Required for Nokia N-Gage emulation"
+ },
+ {
+ "filename": "ROOT-101F8C19.dmp",
+ "md5": "612f10542f8e3da7cd8ec861c5e47f8a",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/NEM-4/ROOT-101F8C19.dmp",
+ "description": "Nokia N-Gage root ROM dump containing system ROM data",
+ "required": "Required for Nokia N-Gage emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "64a95a4a884cf4cc15a566b856603193",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/NEM-4/SYM.ROM",
+ "description": "Nokia N-Gage Symbian ROM image",
+ "required": "Required for Nokia N-Gage emulation"
+ },
+ {
+ "filename": "BOOT-101FB2B1.dmp",
+ "md5": "e65de48eed2c398e48a57b918ec17882",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/RH-29/BOOT-101FB2B1.dmp",
+ "description": "Nokia N-Gage QD Retail boot ROM dump",
+ "required": "Required for Nokia N-Gage QD Retail emulation"
+ },
+ {
+ "filename": "ROOT-101FB2B1.dmp",
+ "md5": "ee9b79efa76cb2f4ac1e5d8d709a2eb3",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/RH-29/ROOT-101FB2B1.dmp",
+ "description": "Nokia N-Gage QD Retail root ROM dump containing system ROM data",
+ "required": "Required for Nokia N-Gage QD Retail emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "cb878db5111aba2b076bddc557e1f10a",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/RH-29/SYM.ROM",
+ "description": "Nokia N-Gage QD Retail Symbian ROM image",
+ "required": "Required for Nokia N-Gage QD Retail emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "609f04c5cb239ad2a49461b049dad58a",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/appl sw 12.2_15/SYM.ROM",
+ "description": "Siemens SX1 Symbian ROM image",
+ "required": "Required for Siemens SX1 emulation"
+ },
+ {
+ "filename": "BOOT-101FB2B1.dmp",
+ "md5": "b0b579d09e2c259936be8c90ccd3f2a4",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rh-4/BOOT-101FB2B1.dmp",
+ "description": "Nokia N-Gage QD Dev boot ROM dump",
+ "required": "Required for Nokia N-Gage QD Dev emulation"
+ },
+ {
+ "filename": "ROOT-101FB2B1.dmp",
+ "md5": "128e8bf5918aaa5a0aa11baa4ef13d21",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rh-4/ROOT-101FB2B1.dmp",
+ "description": "Nokia N-Gage QD Dev root ROM dump containing system ROM data",
+ "required": "Required for Nokia N-Gage QD Dev emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "27bddb5583e8905f54f679564bf45b00",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rh-4/SYM.ROM",
+ "description": "Nokia N-Gage QD Dev Symbian ROM image",
+ "required": "Required for Nokia N-Gage QD Dev emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "c91893be71f15d178226935617ebcdf7",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-1/SYM.ROM",
+ "description": "Nokia 6630 Symbian ROM image",
+ "required": "Required for Nokia 6630 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "a6eaf982887f5cf5d0efb93e61eae078",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-170/SYM.ROM",
+ "description": "Nokia E50 Symbian ROM image",
+ "required": "Required for Nokia E50 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "a7d82c61311bf2e86e709c5f13d75d2d",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-320/SYM.ROM",
+ "description": "Nokia N95 Symbian ROM image",
+ "required": "Required for Nokia N95 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "0d7e4a88da23ce15174936871daeba85",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-324/SYM.ROM",
+ "description": "Nokia 6650 Fold - AT&T Symbian ROM image",
+ "required": "Required for Nokia 6650 Fold - AT&T emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "9d0ad97ece0c7990d59b7bc21522a372",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-333/SYM.ROM",
+ "description": "N85 Symbian ROM image",
+ "required": "Required for N85 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "50af20ec26511c1a03cbb854ecfcd4be",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-356/SYM.ROM",
+ "description": "Nokia 5800 XpressMusic Symbian ROM image",
+ "required": "Required for Nokia 5800 XpressMusic emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "6faa90eea3b5ceea888d480da81d58be",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-409/SYM.ROM",
+ "description": "Nokia 5320d-1 Symbian ROM image",
+ "required": "Required for Nokia 5320d-1 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "c3be6fba055cabd5b4cd40d8207c22bd",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-504/SYM.ROM",
+ "description": "Nokia 5530 Symbian ROM image",
+ "required": "Required for Nokia 5530 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "f2519da6ba8f089b0e2111d3b6730227",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-507/SYM.ROM",
+ "description": "Nokia N97 Symbian ROM image",
+ "required": "Required for Nokia N97 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "5194a8b18ed5d87a7e0d1a578fe93ad7",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-566/SYM.ROM",
+ "description": "Nokia 6730 Classic Symbian ROM image",
+ "required": "Required for Nokia 6730 Classic emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "1a5433d7d2230a64549e2c66d69670c6",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/rm-84/SYM.ROM",
+ "description": "Nokia N70 Symbian ROM image",
+ "required": "Required for Nokia N70 emulation"
+ },
+ {
+ "filename": "SYM.ROM",
+ "md5": "431061ed2beec5b53ff54ce39fdff000",
+ "system": "eka2l1",
+ "paths": "$bios_path/EKA2L1/sgh-i450/SYM.ROM",
+ "description": "Samsung i450 Symbian ROM image",
+ "required": "Required for Samsung i450 emulation"
+ }
+ ],
+ "es_de_config": {
+ "es_find_rules": {
+ "emulators": [
+ {
+ "name": "EKA2L1",
+ "description": "Symbian and Nokia N-Gage emulator EKA2L1",
+ "rules": [
+ {
+ "type": "staticpath",
+ "entries": [
+ "%COMPONENT_PATH%/component_launcher.sh"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "es_systems": [
+ {
+ "name": "ngage",
+ "fullname": "Nokia N-Gage",
+ "path": "%ROMPATH%/ngage",
+ "extension": ".ngage .zip",
+ "commands": [
+ {
+ "label": "EKA2L1 [Mounted] (Standalone)",
+ "command": "%EMULATOR_EKA2L1% --fullscreen --device RH-29 --mount %ROM% --run %BASENAME%",
+ "priority": 10
+ }
+ ],
+ "platform": "ngage",
+ "theme": "ngage"
+ },
+ {
+ "name": "ngage",
+ "fullname": "Nokia N-Gage",
+ "path": "%ROMPATH%/ngage",
+ "extension": ".ngage .zip",
+ "commands": [
+ {
+ "label": "EKA2L1 [Installed] (Standalone)",
+ "command": "%EMULATOR_EKA2L1% --fullscreen --device RH-29 --run %BASENAME%",
+ "priority": 20
+ }
+ ],
+ "platform": "ngage",
+ "theme": "ngage"
+ },
+ {
+ "name": "symbian",
+ "fullname": "Symbian",
+ "path": "%ROMPATH%/symbian",
+ "extension": ".sis .sisx .symbian",
+ "commands": [
+ {
+ "label": "EKA2L1 [Nokia N-Gage] (Standalone)",
+ "command": "%EMULATOR_EKA2L1% --fullscreen --device RH-29 --run %BASENAME%",
+ "priority": 10
+ }
+ ],
+ "platform": "ngage",
+ "theme": "symbian"
+ },
+ {
+ "name": "symbian",
+ "fullname": "Symbian",
+ "path": "%ROMPATH%/symbian",
+ "extension": ".sis .sisx .symbian",
+ "commands": [
+ {
+ "label": "EKA2L1 [Nokia N70] (Standalone)",
+ "command": "%EMULATOR_EKA2L1% --fullscreen --device RM-84 --run %BASENAME%",
+ "priority": 20
+ }
+ ],
+ "platform": "ngage",
+ "theme": "symbian"
+ },
+ {
+ "name": "symbian",
+ "fullname": "Symbian",
+ "path": "%ROMPATH%/symbian",
+ "extension": ".sis .sisx .symbian",
+ "commands": [
+ {
+ "label": "EKA2L1 [Nokia N97] (Standalone)",
+ "command": "%EMULATOR_EKA2L1% --fullscreen --device RM-507 --run %BASENAME",
+ "priority": 30
+ }
+ ],
+ "platform": "ngage",
+ "theme": "symbian"
+ },
+ {
+ "name": "symbian",
+ "fullname": "Symbian",
+ "path": "%ROMPATH%/symbian",
+ "extension": ".sis .sisx .symbian",
+ "commands": [
+ {
+ "label": "EKA2L1 [Custom device] (Standalone)",
+ "command": "%EMULATOR_EKA2L1% --fullscreen --device %INJECT%=%BASENAME%.device --run %BASENAME%",
+ "priority": 40
+ }
+ ],
+ "platform": "ngage",
+ "theme": "symbian"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/archive_later/eka2l1/component_recipe.json b/archive_later/eka2l1/component_recipe.json
new file mode 100755
index 0000000..884b7ca
--- /dev/null
+++ b/archive_later/eka2l1/component_recipe.json
@@ -0,0 +1,138 @@
+{
+ "eka2l1": [
+ {
+ "source_url": "https://github.com/EKA2L1/EKA2L1/releases/download/{VERSION}/*.AppImage",
+ "source_type": "github_release",
+ "version": "$EKA2L1_DESIRED_VERSION",
+ "extraction_type": "appimage",
+ "assets": [
+ {
+ "type": "dir",
+ "source": "usr/bin",
+ "dest": "bin"
+ },
+ {
+ "type": "dir",
+ "source": "$REPO_ROOT/$COMPONENT_NAME",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "create",
+ "dest": "component_version",
+ "contents": "$SOURCE_VERSION"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_functions.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_launcher.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_manifest.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_recipe.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ }
+ ],
+ "libs": [
+ {
+ "library": "libQt5Widgets.so.5",
+ "runtime_name": "org.kde.Platform",
+ "runtime_version": "5.15",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libQt5Svg.so.5",
+ "runtime_name": "org.kde.Platform",
+ "runtime_version": "5.15",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libQt5Gui.so.5",
+ "runtime_name": "org.kde.Platform",
+ "runtime_version": "5.15",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libQt5Core.so.5",
+ "runtime_name": "org.kde.Platform",
+ "runtime_version": "5.15",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libQt5Network.so.5",
+ "runtime_name": "org.kde.Platform",
+ "runtime_version": "5.15",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libssl.so.1.1",
+ "runtime_name": "org.kde.Platform",
+ "runtime_version": "5.15",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libcrypto.so.1.1",
+ "runtime_name": "org.kde.Platform",
+ "runtime_version": "5.15",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libicui18n.so.67",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "20.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libicuuc.so.67",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "20.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libicudata.so.67",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "20.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libicui18n.so.67",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "20.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libicuuc.so.67",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "20.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libicudata.so.67",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "20.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libstdc++.so.6:",
+ "runtime_name": "org.freedesktop.Platform",
+ "runtime_version": "20.08",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libbz2.so.1.0",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/archive_later/eka2l1/eka2l1_paused.txt b/archive_later/eka2l1/eka2l1_paused.txt
new file mode 100644
index 0000000..e163b2f
--- /dev/null
+++ b/archive_later/eka2l1/eka2l1_paused.txt
@@ -0,0 +1,9 @@
+## Known Issues: Linux Release
+
+Several critical features are missing from the Linux release compared to the Windows version.
+
+The N-Gage emulation module is completely non-functional, as users cannot browse or select game files within this section.
+
+Additionally, the application fails these both when running standalone directly from source AppImage and when integrated through RetroDECK.
+
+There is no point at implementing it at this time.
\ No newline at end of file
diff --git a/archive_later/eka2l1/rd_assets/rd_config/EKA2L1.conf b/archive_later/eka2l1/rd_assets/rd_config/EKA2L1.conf
new file mode 100644
index 0000000..0ebe836
--- /dev/null
+++ b/archive_later/eka2l1/rd_assets/rd_config/EKA2L1.conf
@@ -0,0 +1,6 @@
+[General]
+activeUILanguage=en_US
+disableNoDeviceInstallNotify=true
+enableDiscordRichPresence=false
+lastWindowMaximized=true
+showLogConsole=false
diff --git a/archive_later/eka2l1/rd_assets/rd_data/bindings/default.yml b/archive_later/eka2l1/rd_assets/rd_data/bindings/default.yml
new file mode 100644
index 0000000..2dff5a1
--- /dev/null
+++ b/archive_later/eka2l1/rd_assets/rd_data/bindings/default.yml
@@ -0,0 +1,110 @@
+- source:
+ type: key
+ data:
+ keycode: 16777264
+ target: 164
+- source:
+ type: key
+ data:
+ keycode: 16777265
+ target: 165
+- source:
+ type: key
+ data:
+ keycode: 16777266
+ target: 180
+- source:
+ type: key
+ data:
+ keycode: 16777267
+ target: 181
+- source:
+ type: key
+ data:
+ keycode: 16777220
+ target: 167
+- source:
+ type: key
+ data:
+ keycode: 16777235
+ target: 16
+- source:
+ type: key
+ data:
+ keycode: 16777237
+ target: 17
+- source:
+ type: key
+ data:
+ keycode: 16777234
+ target: 14
+- source:
+ type: key
+ data:
+ keycode: 16777236
+ target: 15
+- source:
+ type: key
+ data:
+ keycode: 48
+ target: 48
+- source:
+ type: key
+ data:
+ keycode: 49
+ target: 49
+- source:
+ type: key
+ data:
+ keycode: 50
+ target: 50
+- source:
+ type: key
+ data:
+ keycode: 51
+ target: 51
+- source:
+ type: key
+ data:
+ keycode: 52
+ target: 52
+- source:
+ type: key
+ data:
+ keycode: 53
+ target: 53
+- source:
+ type: key
+ data:
+ keycode: 54
+ target: 54
+- source:
+ type: key
+ data:
+ keycode: 55
+ target: 55
+- source:
+ type: key
+ data:
+ keycode: 56
+ target: 56
+- source:
+ type: key
+ data:
+ keycode: 57
+ target: 57
+- source:
+ type: key
+ data:
+ keycode: 42
+ target: 42
+- source:
+ type: key
+ data:
+ keycode: 47
+ target: 127
+- source:
+ type: key
+ data:
+ keycode: 16777219
+ target: 1
\ No newline at end of file
diff --git a/archive_later/eka2l1/rd_assets/rd_data/bindings/test.yml b/archive_later/eka2l1/rd_assets/rd_data/bindings/test.yml
new file mode 100644
index 0000000..2dff5a1
--- /dev/null
+++ b/archive_later/eka2l1/rd_assets/rd_data/bindings/test.yml
@@ -0,0 +1,110 @@
+- source:
+ type: key
+ data:
+ keycode: 16777264
+ target: 164
+- source:
+ type: key
+ data:
+ keycode: 16777265
+ target: 165
+- source:
+ type: key
+ data:
+ keycode: 16777266
+ target: 180
+- source:
+ type: key
+ data:
+ keycode: 16777267
+ target: 181
+- source:
+ type: key
+ data:
+ keycode: 16777220
+ target: 167
+- source:
+ type: key
+ data:
+ keycode: 16777235
+ target: 16
+- source:
+ type: key
+ data:
+ keycode: 16777237
+ target: 17
+- source:
+ type: key
+ data:
+ keycode: 16777234
+ target: 14
+- source:
+ type: key
+ data:
+ keycode: 16777236
+ target: 15
+- source:
+ type: key
+ data:
+ keycode: 48
+ target: 48
+- source:
+ type: key
+ data:
+ keycode: 49
+ target: 49
+- source:
+ type: key
+ data:
+ keycode: 50
+ target: 50
+- source:
+ type: key
+ data:
+ keycode: 51
+ target: 51
+- source:
+ type: key
+ data:
+ keycode: 52
+ target: 52
+- source:
+ type: key
+ data:
+ keycode: 53
+ target: 53
+- source:
+ type: key
+ data:
+ keycode: 54
+ target: 54
+- source:
+ type: key
+ data:
+ keycode: 55
+ target: 55
+- source:
+ type: key
+ data:
+ keycode: 56
+ target: 56
+- source:
+ type: key
+ data:
+ keycode: 57
+ target: 57
+- source:
+ type: key
+ data:
+ keycode: 42
+ target: 42
+- source:
+ type: key
+ data:
+ keycode: 47
+ target: 127
+- source:
+ type: key
+ data:
+ keycode: 16777219
+ target: 1
\ No newline at end of file
diff --git a/archive_later/eka2l1/rd_assets/rd_data/config.yml b/archive_later/eka2l1/rd_assets/rd_data/config.yml
new file mode 100644
index 0000000..871d2fc
--- /dev/null
+++ b/archive_later/eka2l1/rd_assets/rd_data/config.yml
@@ -0,0 +1,74 @@
+bkg-path: ""
+font: ""
+log-read: false
+log-write: false
+log-ipc: false
+log-svc: false
+log-passed: false
+log-exports: false
+
+cpu: Dynarmic
+device: 0
+language: -1
+emulator-language: -1
+
+enable-gdb-stub: false
+data-storage: data
+gdb-port: 24689
+
+internet-bluetooth-port: 35689
+
+enable-srv-rights: true
+enable-srv-sa: true
+enable-srv-drm: true
+
+fbs-enable-compression-queue: true
+
+enable-btrace: false
+stop-warn-touchscreen-disabled: false
+dump-imb-range-code: false
+hide-mouse-in-screen-space: false
+
+enable-nearest-neighbor-filter: false
+integer-scaling: false
+
+cpu-load-save: true
+mime-detection: true
+
+rtos-level: ""
+ui-new-style: true
+svg-icon-cache-reset: false
+
+audio-master-volume: 100
+current-keybind-profile: test
+
+screen-buffer-sync: preferred
+report-mmfdev-underflow: false
+disable-display-content-scale: false
+
+device-display-name: RetroDECK
+
+midi-backend: tsf
+hsb-bank-path: resources/defaultbank.hsb
+sf2-bank-path: resources/defaultbank.sf2
+
+bt-central-server-url: btnetplay.12z1.com
+
+background-image: ""
+background-image-opacity: 255
+
+enable-hw-gles1: true
+
+log-filter: "*:trace Emulated.Stdout:off Service.EFsrv:warn Service.Cenrep:off Kernel:Warn Service.Track:error"
+
+hide-system-apps: true
+
+btnet-port-offset: 15000
+btnet-password: ""
+btnet-discovery-mode: 0
+enable-upnp: true
+
+extensive-logging: false
+
+internet-bluetooth-friends:
+ []
\ No newline at end of file
diff --git a/archive_later/eka2l1/rd_assets/rd_data/devices.yml b/archive_later/eka2l1/rd_assets/rd_data/devices.yml
new file mode 100644
index 0000000..e84ffe7
--- /dev/null
+++ b/archive_later/eka2l1/rd_assets/rd_data/devices.yml
@@ -0,0 +1,126 @@
+RM-409:
+ platver: epoc93
+ manufacturer: (c)Nokia
+ firmcode: RM-409
+ model: Nokia 5320d-1
+ machine-uid: 0
+RM-504:
+ platver: epoc94
+ manufacturer: Nokia
+ firmcode: RM-504
+ model: Nokia 5530
+ machine-uid: 0
+RM-356:
+ platver: epoc94
+ manufacturer: Nokia
+ firmcode: RM-356
+ model: Nokia 5800 XpressMusic
+ machine-uid: 536926806
+RM-1:
+ platver: epoc80
+ manufacturer: (c) NOKIA.
+ firmcode: RM-1
+ model: Nokia 6630
+ machine-uid: 270515029
+RM-324:
+ platver: epoc93
+ manufacturer: (c)Nokia
+ firmcode: RM-324
+ model: Nokia 6650 Fold - AT&T
+ machine-uid: 4251128
+RM-566:
+ platver: epoc93
+ manufacturer: Nokia
+ firmcode: RM-566
+ model: Nokia 6730 Classic
+ machine-uid: 4251080
+RM-675:
+ platver: epoc100
+ manufacturer: Nokia
+ firmcode: RM-675
+ model: Nokia C7 (Don't Select this Rom, It Will Brick EKA2L1)
+ machine-uid: 537051026
+RM-632:
+ platver: epoc93
+ manufacturer: Nokia
+ firmcode: RM-632
+ model: Noka E5 (Don't Select this Rom, It Will Brick EKA2L1)
+ machine-uid: 537018624
+RM-170:
+ platver: epoc93
+ manufacturer: (c) Nokia
+ firmcode: RM-170
+ model: Nokia E50
+ machine-uid: 4251128
+NEM-4:
+ platver: epoc6
+ manufacturer: Nokia
+ firmcode: NEM-4
+ model: Nokia N-Gage
+ machine-uid: 0
+RH-29:
+ platver: epoc6
+ manufacturer: Nokia
+ firmcode: RH-29
+ model: Nokia N-Gage QD Retail
+ machine-uid: 0
+RH-4:
+ platver: epoc6
+ manufacturer: Nokia
+ firmcode: RH-4
+ model: Nokia N-Gage QD Dev
+ machine-uid: 0
+RM-84:
+ platver: epoc81a
+ manufacturer: (C)Nokia
+ firmcode: RM-84
+ model: Nokia N70
+ machine-uid: 270536602
+RM-333:
+ platver: epoc93
+ manufacturer: Nokia
+ firmcode: RM-333
+ model: N85
+ machine-uid: 0
+RM-320:
+ platver: epoc93
+ manufacturer: N95(c)NMP
+ firmcode: RM-320
+ model: Nokia N95
+ machine-uid: 536882564
+RM-507:
+ platver: epoc94
+ manufacturer: Nokia
+ firmcode: RM-507
+ model: Nokia N97
+ machine-uid: 536956381
+RM-707:
+ platver: epoc100
+ manufacturer: Nokia
+ firmcode: RM-707
+ model: Nokia X7 (Don't Select this Rom, It Will Brick EKA2L1)
+ machine-uid: 5336512
+SGH-D720:
+ platver: epoc80
+ manufacturer: (c)Samsung Electronics
+ firmcode: SGH-D720
+ model: Samsung D720 (Don't Select this Rom, It Will Brick EKA2L1)
+ machine-uid: 0
+SGH-D730:
+ platver: epoc80
+ manufacturer: (c)Samsung Electronics
+ firmcode: SGH-D730
+ model: Samsung D730 (Don't Select this Rom, It Will Brick EKA2L1)
+ machine-uid: 0
+SGH-i450:
+ platver: epoc93
+ manufacturer: (c)Samsung
+ firmcode: SGH-i450
+ model: Samsung i450
+ machine-uid: 0
+Appl SW 12.2_15:
+ platver: epoc6
+ manufacturer: Siemens
+ firmcode: Appl SW 12.2_15
+ model: Siemens SX1
+ machine-uid: 0
\ No newline at end of file
diff --git a/archive_later/hypseus-singe/component_functions.sh b/archive_later/hypseus-singe/component_functions.sh
new file mode 100755
index 0000000..61be3af
--- /dev/null
+++ b/archive_later/hypseus-singe/component_functions.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+_prepare_component::hypseus-singe() {
+ local action="$1"
+ shift
+
+ local component_config="$(get_own_component_path)/rd_config"
+
+ case "$action" in
+
+ reset)
+ log i "----------------------"
+ log i "Resetting Hypseus Singe"
+ log i "----------------------"
+
+ create_dir -d "$XDG_DATA_HOME/hypseus-singe"
+ cp -fr "$component_config/"* "$XDG_CONFIG_HOME/hypseus-singe"
+ dir_prep "$bios_path/EKA2L1" "$XDG_DATA_HOME/EKA2L1/data/roms"
+ dir_prep "$storage_path/EKA2L1/j2me" "$XDG_DATA_HOME/EKA2L1/data/j2me"
+ dir_prep "$storage_path/EKA2L1/drives" "$XDG_DATA_HOME/EKA2L1/data/drives"
+
+ ;;
+
+
+ postmove)
+ log i "------------------------"
+ log i "Post-moving Hypseus Singe"
+ log i "------------------------"
+
+
+ ;;
+
+ esac
+}
\ No newline at end of file
diff --git a/archive_later/hypseus-singe/component_launcher.sh b/archive_later/hypseus-singe/component_launcher.sh
new file mode 100755
index 0000000..737cf2b
--- /dev/null
+++ b/archive_later/hypseus-singe/component_launcher.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+HOME=/var/data/hypseus-singe
+
+# Setting component name and path based on the directory name
+component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
+component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"
+
+# Set LD_LIBRARY_PATH
+export LD_LIBRARY_PATH="$component_path/lib:$ffmpeg_path/25.08:$rd_shared_libs:${DEFAULT_LD_LIBRARY_PATH}"
+export QT_PLUGIN_PATH="${QT_PLUGIN_PATH}"
+export QT_QPA_PLATFORM_PLUGIN_PATH="${QT_QPA_PLATFORM_PLUGIN_PATH}"
+
+
+log i "RetroDECK is now launching $component_name"
+log d "Library path is: $LD_LIBRARY_PATH"
+log d "QT plugin path is: $QT_PLUGIN_PATH"
+log d "QT QPA PLATFORM plugin path is: $QT_QPA_PLATFORM_PLUGIN_PATH"
+
+exec "$component_path/bin/hypseus.bin" -gamepad -manymouse -espath -fullscreen -fastboot -homedir /var/data/hypseus-singe -ramdir /var/data/hypseus-singe/ram -romdir /var/data/hypseus-singe/rom -config /var/config/hypseus-singe/hypinput.ini "$@"
diff --git a/archive_later/hypseus-singe/component_manifest.json b/archive_later/hypseus-singe/component_manifest.json
new file mode 100644
index 0000000..f47c23d
--- /dev/null
+++ b/archive_later/hypseus-singe/component_manifest.json
@@ -0,0 +1,53 @@
+{
+ "hypseus-singe": {
+ "name": "Hypseus Singe",
+ "core_framework_compatibility": "1",
+ "component_version": "1.0.0",
+ "capabilities": [
+ "reset",
+ "open"
+ ],
+ "url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/hypseus/hypseus-guide/",
+ "url_donation_purchase": "",
+ "url_source": "https://github.com/btolab/hypseus",
+ "description": "Hypseus Singe is a an Arcade Laserdisc emulator.",
+ "system_friendly_name": "Arcade Laserdisc",
+ "component_type": "Emulator",
+ "system": "laserdisc",
+ "es_de_config": {
+ "es_find_rules": {
+ "emulators": [
+ {
+ "name": "HYPSEUS-SINGE",
+ "description": "Laserdisc emulator Hypseus Singe.",
+ "rules": [
+ {
+ "type": "staticpath",
+ "entries": [
+ "%COMPONENT_PATH%/component_launcher.sh"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "es_systems": [
+ {
+ "name": "laserdisc",
+ "fullname": "LaserDisc Games",
+ "path": "%ROMPATH%/laserdisc",
+ "extension": ".singe",
+ "commands": [
+ {
+ "label": "Hypseus Singe (Standalone)",
+ "command": "%EMULATOR_HYPSEUS-SINGE% singe vldp -framefile %GAMEDIR%/%BASENAME%.txt -script %GAMEDIR%/%BASENAME%.singe %INJECT%=%BASENAME%.commands",
+ "priority": 10
+ }
+ ],
+ "platform": "daphne, arcade",
+ "theme": "laserdisc"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/archive_later/hypseus-singe/component_recipe.json b/archive_later/hypseus-singe/component_recipe.json
new file mode 100755
index 0000000..f0a4134
--- /dev/null
+++ b/archive_later/hypseus-singe/component_recipe.json
@@ -0,0 +1,106 @@
+{
+ "hypseus-singe": [
+ {
+ "source_url": "https://github.com/DirtBagXon/hypseus-singe/releases/download/{VERSION}/*_AppImage.tar.gz",
+ "source_type": "github_release",
+ "version": "$HYPSEUS_DESIRED_VERSION",
+ "extraction_type": "tar",
+ "assets": [
+ {
+ "type": "create",
+ "dest": "component_version",
+ "contents": "$FRAMEWORK_DESIRED_VERSION"
+ },
+ {
+ "type": "dir",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/rd_assets/rd_config",
+ "dest": "rd_config"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_functions.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_launcher.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_manifest.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_recipe.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ }
+ ]
+ },
+ {
+ "source_url": "$EXTRACTED_PATH/hypseus-singe/Hypseus_Singe-x86_64.AppImage",
+ "source_type": "local",
+ "extraction_type": "appimage",
+ "assets": [
+ {
+ "type": "dir",
+ "source": "usr/bin",
+ "dest": "bin"
+ },
+ {
+ "type": "dir",
+ "source": "$REPO_ROOT/$COMPONENT_NAME",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "create",
+ "dest": "component_version",
+ "contents": "$SOURCE_VERSION"
+ }
+ ],
+ "libs": [
+ {
+ "library": "libbz2.so.1.0",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libFLAC.so.8",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libfluidsynth.so.3",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libgme.so.0",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libinstpatch-1.0.so.2",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libSDL3_mixer.so.0",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libSDL3_mixer.so.0.2.4",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ },
+ {
+ "library": "libzip.so.4",
+ "source": "usr/lib",
+ "dest": "shared-libs"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/archive_later/hypseus-singe/rd_assets/rd_config/hypinput.ini b/archive_later/hypseus-singe/rd_assets/rd_config/hypinput.ini
new file mode 100644
index 0000000..5dea826
--- /dev/null
+++ b/archive_later/hypseus-singe/rd_assets/rd_config/hypinput.ini
@@ -0,0 +1,91 @@
+# Sample hypinput_gamepad.ini using SDL_Gamepad
+# All key options listed for use with -gamepad
+#
+# Hypseus uses SDL3 Keycodes and SDL_Gamepad
+# SWITCH = Key1 Key2 Pad0 (Axis Pad0) Pad1 (Axis Pad1)
+
+# Available AXIS MACROS
+#
+# AXIS_LEFT_UP
+# AXIS_LEFT_DOWN
+# AXIS_LEFT_LEFT
+# AXIS_LEFT_RIGHT
+# AXIS_RIGHT_UP
+# AXIS_RIGHT_DOWN
+# AXIS_RIGHT_LEFT
+# AXIS_RIGHT_RIGHT
+#
+# Available BUTTON MACROS
+#
+# BUTTON_A
+# BUTTON_B
+# BUTTON_X
+# BUTTON_Y
+# BUTTON_BACK
+# BUTTON_GUIDE
+# BUTTON_START
+# BUTTON_LEFTSTICK
+# BUTTON_RIGHTSTICK
+# BUTTON_LEFTSHOULDER
+# BUTTON_RIGHTSHOULDER
+# BUTTON_DPAD_UP
+# BUTTON_DPAD_DOWN
+# BUTTON_DPAD_LEFT
+# BUTTON_DPAD_RIGHT
+# AXIS_TRIGGER_LEFT
+# AXIS_TRIGGER_RIGHT
+
+
+# Key1 Key2 Pad0 Button (Axis Pad0) Pad1 Button (Axis Pad1)
+[KEYBOARD]
+KEY_UP = SDLK_UP 0 BUTTON_DPAD_UP AXIS_LEFT_UP 0 0
+KEY_DOWN = SDLK_DOWN 0 BUTTON_DPAD_DOWN AXIS_LEFT_DOWN 0 0
+KEY_LEFT = SDLK_LEFT 0 BUTTON_DPAD_LEFT AXIS_LEFT_LEFT 0 0
+KEY_RIGHT = SDLK_RIGHT 0 BUTTON_DPAD_RIGHT AXIS_LEFT_RIGHT 0 0
+KEY_COIN1 = SDLK_5 0 BUTTON_BACK 0 0 0
+KEY_COIN2 = SDLK_6 0 0 0 BUTTON_BACK 0
+KEY_START1 = SDLK_1 0 BUTTON_START 0 0 0
+KEY_START2 = SDLK_2 0 0 0 BUTTON_START 0
+KEY_BUTTON1 = SDLK_LCTRL 0 BUTTON_A 0 0 0
+KEY_BUTTON2 = SDLK_LALT 0 BUTTON_B 0 0 0
+KEY_BUTTON3 = SDLK_SPACE 0 AXIS_TRIGGER_RIGHT 0 0 0
+KEY_SKILL1 = SDLK_LSHIFT 0 0 0 0 0
+KEY_SKILL2 = SDLK_Z 0 0 0 0 0
+KEY_SKILL3 = SDLK_X 0 0 0 0 0
+KEY_SERVICE = SDLK_9 0 BUTTON_RIGHTSTICK 0 0 0
+KEY_TEST = SDLK_F2 SDLK_F4 0 0 0 0
+KEY_RESET = SDLK_0 0 0 0 0 0
+KEY_SCREENSHOT = SDLK_F12 0 0 0 0 0
+KEY_QUIT = SDLK_ESCAPE SDLK_Q 0 0 0 0
+KEY_PAUSE = SDLK_P 0 0 0 0 0
+KEY_CONSOLE = SDLK_BACKSLASH 0 0 0 0 0
+KEY_TILT = SDLK_T 0 0 0 0 0
+END
+
+[MOUSE]
+MOUSE_BUTTON1 = KEY_BUTTON3
+MOUSE_BUTTON2 = KEY_BUTTON1
+MOUSE_BUTTON3 = KEY_BUTTON2
+END
+
+# [GLOBAL] options will override command-line arguments.
+# This section is optional. It can safely be removed entirely,
+# or any non-required options discarded.
+# Remove # to enable an option.
+
+[GLOBAL]
+SCREEN = 0
+VLDPVOLUME = 40
+NONVLDPVOLUME = 10
+SOUNDBUFFER = 2048
+#ALWAYSONTOP = FALSE
+FULLSCREEN = FALSE
+#MANYMOUSE = TRUE
+GAMEPAD = TRUE
+#SCANLINES = FALSE
+FULLALPHA = TRUE
+LINEARSCALE = FALSE
+GRAPHICAPI = AUTO
+END
+
+# Valid GRAPHICAPI: OPENGL | VULKAN | AUTO
\ No newline at end of file
diff --git a/archive_later/lindbergh/component_functions.sh b/archive_later/lindbergh/component_functions.sh
new file mode 100755
index 0000000..d781121
--- /dev/null
+++ b/archive_later/lindbergh/component_functions.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+export lindbergh_config="$XDG_CONFIG_HOME/oricutron/lindbergh.ini"
+export controls_config="$XDG_CONFIG_HOME/oricutron/controls.ini"
+
+_prepare_component::lindbergh() {
+ local action="$1"
+ shift
+
+ local component_config="$(get_own_component_path)/rd_config"
+
+ case "$action" in
+
+ reset)
+ log i "----------------------"
+ log i "Resetting Lindbergh Loader"
+ log i "----------------------"
+
+ create_dir -d "$XDG_CONFIG_HOME/lindbergh/"
+ cp -fr "$component_config/"* "$XDG_CONFIG_HOME/lindbergh/"
+
+ ;;
+
+ esac
+
+}
\ No newline at end of file
diff --git a/archive_later/lindbergh/component_launcher.sh b/archive_later/lindbergh/component_launcher.sh
new file mode 100755
index 0000000..050afcd
--- /dev/null
+++ b/archive_later/lindbergh/component_launcher.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+HOME=/var/config/lindbergh
+
+# Setting component name and path based on the directory name
+component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
+component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"
+
+# Set LD_LIBRARY_PATH
+
+export LD_LIBRARY_PATH="$component_path/lib:$component_path/lib32:$component_path/lib32ID:$ffmpeg_path/25.08:$rd_shared_libs:${DEFAULT_LD_LIBRARY_PATH}"
+export QT_PLUGIN_PATH="${QT_PLUGIN_PATH}"
+export QT_QPA_PLATFORM_PLUGIN_PATH="${QT_QPA_PLATFORM_PLUGIN_PATH}"
+
+
+log i "RetroDECK is now launching $component_name"
+log d "Library path is: $LD_LIBRARY_PATH"
+log d "QT plugin path is: $QT_PLUGIN_PATH"
+log d "QT QPA PLATFORM plugin path is: $QT_QPA_PLATFORM_PLUGIN_PATH"
+
+exec "$component_path/bin/lindbergh" -c /var/config/lindbergh/lindbergh.ini -o /var/config/lindbergh/controls.ini "$@"
diff --git a/archive_later/lindbergh/component_manifest.json b/archive_later/lindbergh/component_manifest.json
new file mode 100644
index 0000000..7972f35
--- /dev/null
+++ b/archive_later/lindbergh/component_manifest.json
@@ -0,0 +1,52 @@
+{
+ "lindbergh": {
+ "name": "Lindbergh Loader",
+ "core_framework_compatibility": "1",
+ "component_version": "1.0.0",
+ "capabilities": [
+ "reset",
+ "open"
+ ],
+ "url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/lindbergh/lindbergh-guide/",
+ "url_donation_purchase": "",
+ "url_source": "https://github.com/lindbergh-loader/lindbergh-loader",
+ "description": "Lindbergh Loader is a SEGA Lindbergh arcade emulator.",
+ "component_type": "Emulator",
+ "system_friendly_name": "SEGA Lindbergh",
+ "system": "lindbergh",
+ "es_de_config": {
+ "es_find_rules": {
+ "emulators": [
+ {
+ "name": "LINDBERGH-LOADER",
+ "description": "SEGA Lindbergh emulator Lindbergh Loader",
+ "rules": [
+ {
+ "type": "staticpath",
+ "entries": [
+ "%COMPONENT_PATH%/component_launcher.sh"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "es_systems": [
+ {
+ "name": "arcade",
+ "fullname": "arcade",
+ "path": "%ROMPATH%/arcade",
+ "extension": ".lindbergh",
+ "commands": [
+ {
+ "label": "Lindbergh Loader (Standalone)",
+ "command": "%STARTDIR%=%GAMEENTRYDIR% %EMULATOR_LINDBERGH-LOADER% %INJECT%=%BASENAME%/%BASENAME%.commands"
+ }
+ ],
+ "platform": "arcade",
+ "theme": "arcade"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/archive_later/lindbergh/component_recipe.json b/archive_later/lindbergh/component_recipe.json
new file mode 100755
index 0000000..e98e078
--- /dev/null
+++ b/archive_later/lindbergh/component_recipe.json
@@ -0,0 +1,75 @@
+{
+ "lindbergh": [
+ {
+ "source_url": "https://github.com/lindbergh-loader/lindbergh-loader/releases/{VERSION}/*.flatpak",
+ "source_type": "github_release",
+ "version": "$LINDBERGH_DESIRED_VERSION",
+ "extraction_type": "local"
+ },
+ {
+ "source_url": "$EXTRACTED_PATH",
+ "source_type": "flatpak-bundle",
+ "dest": "user",
+ "version": "com.github.lindberghloader",
+ "extraction_type": "flatpak",
+ "assets": [
+ {
+ "type": "dir",
+ "source": "bin",
+ "dest": "bin"
+ },
+ {
+ "type": "dir",
+ "source": "etc",
+ "dest": "etc"
+ },
+ {
+ "type": "dir",
+ "source": "lib",
+ "dest": "lib"
+ },
+ {
+ "type": "dir",
+ "source": "lib32",
+ "dest": "lib32"
+ },
+ {
+ "type": "dir",
+ "source": "sbin",
+ "dest": "sbin"
+ },
+ {
+ "type": "create",
+ "dest": "component_version",
+ "contents": "$SOURCE_VERSION"
+ },
+ {
+ "type": "dir",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/rd_assets/rd_config",
+ "dest": "rd_config"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_functions.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_launcher.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_manifest.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_recipe.json",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
+ }
+ ],
+ "libs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/archive_later/lindbergh/lindbergh_paused.txt b/archive_later/lindbergh/lindbergh_paused.txt
new file mode 100644
index 0000000..b6081c9
--- /dev/null
+++ b/archive_later/lindbergh/lindbergh_paused.txt
@@ -0,0 +1,13 @@
+## Known Issues: Lindbergh Loader
+
+Lindbergh Loader fails to function within Flatpak environments on multiple fronts.
+
+Their official Flatpak bundle on their GitHub appears to be broken and does not launch successfully
+returning the error `/app/retrodeck/components/lindbergh/bin/lindbergh: cannot execute: required file not found`.
+
+Additionally, attempts to extract the full AppImage contents in RetroDECK's Flatpak environment have been unsuccessful
+and have resulted in the same startup failure.
+
+
+
+
diff --git a/archive_later/lindbergh/rd_assets/rd_config/controls.ini b/archive_later/lindbergh/rd_assets/rd_config/controls.ini
new file mode 100644
index 0000000..57c8834
--- /dev/null
+++ b/archive_later/lindbergh/rd_assets/rd_config/controls.ini
@@ -0,0 +1,95 @@
+[Config]
+Steer_DeadZone = 8000
+Gas_DeadZone = 500
+Brake_DeadZone = 500
+ABC_X_DeadZone = 8000
+ABC_Y_DeadZone = 8000
+Throttle_DeadZone = 8000
+ShakeIncreaseRate = 10.0
+ShakeDecayRate = 0.95
+
+[Common]
+Test = KEY_T
+P1_Coin = KEY_5
+P2_Coin = KEY_6
+P1_Start = KEY_1, JOY0_BUTTON_11, GC0_BUTTON_START
+P2_Start = KEY_2
+P1_Service = KEY_S, JOY0_BUTTON_10, GC0_BUTTON_BACK
+
+[Digital]
+P1_Up = KEY_Up, GC0_BUTTON_DPUP, GC0_AXIS_LEFTY_NEGATIVE, JOY0_HAT0_UP, JOY0_AXIS_1_NEGATIVE
+P1_Down = KEY_Down, GC0_BUTTON_DPDOWN, GC0_AXIS_LEFTY_POSITIVE, JOY0_HAT0_DOWN, JOY0_AXIS_1_POSITIVE
+P1_Left = KEY_Left, GC0_BUTTON_DPLEFT, GC0_AXIS_LEFTX_NEGATIVE, JOY0_HAT0_LEFT, JOY0_AXIS_0_NEGATIVE
+P1_Right = KEY_Right, GC0_BUTTON_DPRIGHT, GC0_AXIS_LEFTX_POSITIVE, JOY0_HAT0_RIGHT, JOY0_AXIS_0_POSITIVE
+P1_Button1 = KEY_Q, GC0_BUTTON_A, JOY0_BUTTON_0
+P1_Button2 = KEY_W, GC0_BUTTON_B, JOY0_BUTTON_1
+P1_Button3 = KEY_E, GC0_BUTTON_X, JOY0_BUTTON_2
+P1_Card1Insert = KEY_F7, GC0_BUTTON_GUIDE, JOY0_BUTTON_11
+P2_Card2Insert = KEY_F8, GC1_BUTTON_GUIDE, JOY1_BUTTON_11
+
+[Driving]
+P1_Steer_Left = KEY_Left
+P1_Steer_Right = KEY_Right
+P1_Gas_Digital = KEY_Up
+P1_Brake_Digital = KEY_Down
+ViewChange = KEY_V, GC0_BUTTON_Y, JOY0_BUTTON_2
+Boost = KEY_Q, GC0_BUTTON_A, JOY0_BUTTON_0
+BoostRight = KEY_W, GC0_BUTTON_B, JOY0_BUTTON_1
+GearUp = KEY_A, GC0_BUTTON_RIGHTSHOULDER, JOY0_BUTTON_5
+GearDown = KEY_Z, GC0_BUTTON_LEFTSHOULDER, JOY0_BUTTON_4
+MusicChange = KEY_M, GC0_BUTTON_X, JOY0_BUTTON_3
+Up = KEY_I, GC0_BUTTON_DPUP, JOY0_HAT0_UP
+Down = KEY_K, GC0_BUTTON_DPDOWN, JOY0_HAT0_DOWN
+Left = KEY_J, GC0_BUTTON_DPLEFT, JOY0_HAT0_LEFT
+Right = KEY_L, GC0_BUTTON_DPRIGHT, JOY0_HAT0_RIGHT
+CardInsert = KEY_F7, GC0_BUTTON_GUIDE, JOY0_BUTTON_12
+P1_Steer = GC0_AXIS_LEFTX, JOY0_AXIS_0
+P1_Gas = GC0_AXIS_RIGHTTRIGGER, JOY0_AXIS_5
+P1_Brake = GC0_AXIS_LEFTTRIGGER, JOY0_AXIS_2
+
+[ABC]
+ABC_Left = KEY_Left
+ABC_Right = KEY_Right
+ABC_Up = KEY_Up
+ABC_Down = KEY_Down
+Throttle_Accelerate = KEY_A
+Throttle_Slowdown = KEY_Z
+GunTrigger = KEY_Q, GC0_BUTTON_A, JOY0_BUTTON_0
+MissileTrigger = KEY_W, GC0_BUTTON_B, JOY0_BUTTON_1
+ClimaxSwitch = KEY_E, GC0_BUTTON_Y, JOY0_BUTTON_4
+ABC_X = GC0_AXIS_LEFTX, JOY0_AXIS_0
+ABC_Y = GC0_AXIS_LEFTY, JOY0_AXIS_1
+Throttle = GC0_AXIS_RIGHTY_INVERTED, GC0_AXIS_RIGHTTRIGGER_POSITIVE_HALF, GC0_AXIS_LEFTTRIGGER_NEGATIVE_HALF, JOY0_AXIS_4_INVERTED, JOY0_AXIS_5_POSITIVE_HALF, JOY0_AXIS_4_NEGATIVE_HALF
+
+[Shooting]
+P1_GunX = MOUSE_AXIS_X
+P1_GunY = MOUSE_AXIS_Y
+P1_Trigger = MOUSE_LEFT_BUTTON, KEY_Q
+P1_Reload = MOUSE_RIGHT_BUTTON, KEY_W
+P1_GunButton = MOUSE_MIDDLE_BUTTON, KEY_E
+P1_ActionButton = KEY_R
+P1_PedalLeft = KEY_Left
+P1_PedalRight = KEY_Right
+
+[Mahjong]
+ButtonA = KEY_Y
+ButtonB = KEY_U
+ButtonC = KEY_I
+ButtonD = KEY_O
+ButtonE = KEY_G
+ButtonF = KEY_H
+ButtonG = KEY_J
+ButtonH = KEY_K
+ButtonI = KEY_L
+ButtonJ = KEY_V
+ButtonK = KEY_B
+ButtonL = KEY_N
+ButtonM = KEY_M
+ButtonN = KEY_,
+ButtonChi = KEY_F1
+ButtonPon = KEY_F2
+ButtonKan = KEY_F3
+ButtonReach = KEY_F4
+ButtonAgari = KEY_F5
+ButtonCancel = KEY_F6
+CardInsert = KEY_F7
diff --git a/archive_later/lindbergh/rd_assets/rd_config/lindbergh.ini b/archive_later/lindbergh/rd_assets/rd_config/lindbergh.ini
new file mode 100644
index 0000000..3cce906
--- /dev/null
+++ b/archive_later/lindbergh/rd_assets/rd_config/lindbergh.ini
@@ -0,0 +1,288 @@
+# SEGA Lindbergh Emulator Configuration File
+# By the Lindbergh Development Team 2024-2025
+
+[Display]
+# Set the width resolution here
+WIDTH = AUTO
+
+# Set the height resolution here
+HEIGHT = AUTO
+
+# Boost render resolution in HOD4/2Spicy/Harley/Rambo/HOD-EX/ID4/ID5 and LGJ
+BOOST_RENDER_RES = true
+
+# Set to true for full screen
+FULLSCREEN = true
+
+# Set to true if you'd like to add a border for optical light gun tracking
+BORDER_ENABLED = false
+
+# Set the thickness of the white border as a percentage of the width of the screen
+WHITE_BORDER_PERCENTAGE = 2
+
+# Set the thickness of the black border which sits around the
+# white border as a percentage of the width of the screen
+BLACK_BORDER_PERCENTAGE = 0
+
+# Set to keep the aspect ratio in games like Sega Race TV Primeval Hunt and LGJ-SP
+KEEP_ASPECT_RATIO = true
+
+# Set to true to enable the mouse pointer/Cursor
+HIDE_CURSOR = true
+
+[Input]
+# Sets the Input Mode (1: SDL, 2: EVDEV
+INPUT_MODE = 1
+
+[Emulation]
+# Set the Region (JP/US/EX)
+REGION = EX
+
+# Set to true for Free Play, none to leave as default
+FREEPLAY = none
+
+# Set to true to emulate JVS and use the keyboard/mouse for controls.
+# If this is set to false, the loader will route the traffic to the serial device
+# defined in JVS_PATH if it has been defined.
+EMULATE_JVS = true
+
+# Set to true to emulate the rideboard used in the SPECIAL games
+# If this is set to false, then the emulator will route the traffic to one of the serial ports
+EMULATE_RIDEBOARD = AUTO
+
+# Set to true to emulate the driveboard used in driving games
+# If this is set to false, then the emulator will route the traffic to one of the serial ports
+EMULATE_DRIVEBOARD = AUTO
+
+# Set to true to emulate the motion board from Outrun 2 SP SDX
+# If this is set to false, then the emulator will route the traffic to one of the serial ports
+EMULATE_MOTIONBOARD = AUTO
+
+# Set to true to enable card reader emulation in Virtua Tennis 3 or R-Tuned
+EMULATE_HW210_CARDREADER = AUTO
+
+# Set to true to enable card reader emulation in ID4 and ID5 file
+EMULATE_ID_CARD READER = AUTO
+
+# Set to true to enable touchscreen emulation with the mouse
+EMULATE_TOUCHSCREEN = AUTO
+
+[Cards]
+# Set to false to use a button to insert a card manually in ID4 or ID5.
+# Or true to make the loader auto load
+ID_CARDFILE_AUTOLOAD = true
+
+# Card File for reader 1 in VT3 or R-Tuned
+CARDFILE_01 = "Card_01.crd"
+
+# Card File for reader 2 in VT3 or R-Tuned
+CARDFILE_02 = "Card_02.crd"
+
+# Folder for ID Card files
+ID_CARDFOLDER = ""
+
+[Paths]
+# Define the path to pass the JVS packets to if JVS is not being emulated
+JVS_PATH = "/dev/ttyUSB0"
+
+# Define the path to pass the first serial port to
+SERIAL_1_PATH = "/dev/ttyS0"
+
+# Define the path to pass the second serial port to
+SERIAL_2_PATH = "/dev/ttyS1"
+
+# Define the path to the sram.bin file
+SRAM_PATH = "RETRODECKBIOS/sram.bin"
+
+# Define the path to the eeprom.bin file
+EEPROM_PATH = "RETRODECKBIOS/eeprom.bin"
+
+# If set, libCG.so needed for 2Spicy, Harley, Rambo and HOD-Ex shader recompilation
+# will be loaded from the specified location. (include the name of file in the location For Example: /my/file/location/myLibCg.so)
+LIBCG_PATH = "lib/libCG.so"
+
+[Graphics]
+# Set the GPU vendor (0 = Autodetect / 1 = NVidia / 2 = AMD / 3 = ATI / 4 = Intel)
+GPU_VENDOR = 0
+
+# Set to true if you experience flickering in hummer
+HUMMER_FLICKER_FIX = false
+
+# Set to false if you don't want to limit the FPS
+FPS_LIMITER_ENABLED = true
+
+# Set the target FPS (will only work if FPS_LIMITER_ENABLED = 1)
+FPS_TARGET = 60.0
+
+# Set to true if you want to render LGJ using the mesa patches
+LGJ_RENDER_WITH_MESA = true
+
+# Disable to use the original fonts instead of the built in font
+DISABLE_BUILTIN_FONT = false
+
+# Disable to use the original logos instead of the built in logos
+DISABLE_BUILTIN_LOGOS = false
+
+[Cursor]
+# If true, a custom mouse cursor will be used loaded from a png file set in CUSTOM_CURSOR
+# Ovewrites HIDE_CURSOR
+CUSTOM_CURSOR_ENABLED = false
+
+# Set the custom mouse pointer from a PNG file (Usefull for shooting games)
+CUSTOM_CURSOR = ""
+
+# Set the width of the custom cursor
+CUSTOM_CURSOR_WIDTH = 32
+
+# Set the height of the custom cursor
+CUSTOM_CURSOR_HEIGHT = 32
+
+# Set a custom cursor for the touch screen in Primeval Hunt, MJ4 Games and AxA Games
+TOUCH_CURSOR = ""
+
+# Set the width of the custom cursor
+TOUCH_CURSOR_WIDTH = 32
+
+# Set the height of the custom cursor
+TOUCH_CURSOR_HEIGHT = 32
+
+[GameSpecific]
+# Set Primeval Hunt
+# Mode 0: Default (side by side)
+# Mode 1: No Touch screen
+# Mode 2: Side By Side
+# Mode 3: 3ds mode 1 (Touch screen to the right)
+# Mode 4: 3ds mode 2 (Touch screen to the bottom)
+PRIMEVAL_HUNT_SCREEN_MODE = 2
+
+# Set Primeval Hunt Test mode screen to single screen
+PRIMEVAL_HUNT_TEST_SCREEN_SINGLE = true
+
+# Set to true to bypass cabinet checks including drive board and tower in Outrun 2 SP SDX
+SKIP_OUTRUN_CABINET_CHECK = false
+
+# Set to false if you want to disable the Glare effect in OutRun
+OUTRUN_LENS_GLARE_ENABLED = true
+
+# Hacky way to make MJ4 and AxA work at prohibited times
+MJ4_ENABLED_ALL_THE_TIME = false
+
+# House of the dead 4 speed fix, set the frequency of your CPU in Ghz
+CPU_FREQ_GHZ = 0.0
+
+# Set to true if you want to chnge the way the guns are show in Rambo
+RAMBO_GUNS_SWITCH = false
+
+# Set to true to set the language in Chinese for ID5 DVP-0084 and DVP-0084A
+ID5_CHINESE_LANGUAGE = false
+
+# Set the percentage of the steering wheel travel reduction
+ID_STEERING_REDUCTION_PERCENTAGE = 0.0
+
+[CrossHairs]
+# Set to true to enable Crosshairs even when using GunLights
+ENABLE_CROSSHAIRS = false
+
+# Set the Crosshair image from a PNG file for Player 1
+P1_CROSSHAIR_PATH = ""
+
+# Set the Crosshair image from a PNG file for Player 2
+P2_CROSSHAIR_PATH = ""
+
+# Set the width of the Crosshair image
+CUSTOM_CROSSHAIRS_WIDTH = 64
+
+# Set the height of the Crosshair image
+CUSTOM_CROSSHAIRS_HEIGHT = 64
+
+[System]
+# Set to true to see debug messages in the console
+DEBUG_MSGS = false
+
+# Set the colour of the lindbergh (YELLOW, RED, BLUE, SILVER, REDEX)
+LINDBERGH_COLOUR = YELLOW
+
+[Network]
+# If true, the loader will apply the following network patches depending on the game
+ENABLE_NETWORK_PATCHES = true
+
+# Sets the name of the Network Interface Card
+NIC_NAME = "enp0s1"
+
+# ID4 and ID5 network configuration per seat
+ID_IP_SEAT_1 = "192.168.1.2"
+ID_IP_SEAT_2 = "192.168.1.3"
+
+# Sets the IP address and Netmask for Outrun link (you have to put your NIC ip)
+OR2_IPADDRESS = "192.168.1.2"
+OR2_NETMASK = "255.255.255.0"
+
+# Harley / Hummer and R-Tuned IP address for each Cabinet
+IP_CAB1 = "192.168.1.2"
+IP_CAB2 = "192.168.1.3"
+IP_CAB3 = "192.168.1.4"
+IP_CAB4 = "192.168.1.5"
+
+# Sets the IP address of each cabinet for network play in 2Spicy
+2SPICY_IP_CAB1 = "192.168.1.2"
+2SPICY_IP_CAB2 = "192.168.1.3"
+
+# Sets the IP address for SRTV
+SRTV_IPADDRESS = "192.168.1.2"
+
+[EVDEV]
+# EVDEV MODE (Input Mode 2)
+# To find the value pairs for these run ./lindbergh --list-controllers
+
+#TEST_BUTTON = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_T"
+
+#PLAYER_1_COIN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_5"
+#PLAYER_1_BUTTON_START = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_1
+#PLAYER_1_BUTTON_SERVICE = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_S"
+#PLAYER_1_BUTTON_UP = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP"
+#PLAYER_1_BUTTON_DOWN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN"
+#PLAYER_1_BUTTON_LEFT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT"
+#PLAYER_1_BUTTON_RIGHT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT"
+#PLAYER_1_BUTTON_1 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q"
+#PLAYER_1_BUTTON_2 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_W"
+#PLAYER_1_BUTTON_3 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_E"
+#PLAYER_1_BUTTON_4 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_R"
+#PLAYER_1_BUTTON_5 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y"
+#PLAYER_1_BUTTON_6 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_U"
+#PLAYER_1_BUTTON_7 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_I"
+#PLAYER_1_BUTTON_8 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_O"
+
+#PLAYER_1_COIN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_6"
+#PLAYER_2_BUTTON_START = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_1"
+#PLAYER_2_BUTTON_SERVICE = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_S"
+#PLAYER_2_BUTTON_UP = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP"
+#PLAYER_2_BUTTON_DOWN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN"
+#PLAYER_2_BUTTON_LEFT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT"
+#PLAYER_2_BUTTON_RIGHT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT"
+#PLAYER_2_BUTTON_1 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q"
+#PLAYER_2_BUTTON_2 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_W"
+#PLAYER_2_BUTTON_3 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_E"
+#PLAYER_2_BUTTON_4 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_R"
+#PLAYER_2_BUTTON_5 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y"
+#PLAYER_2_BUTTON_6 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_U"
+#PLAYER_2_BUTTON_7 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_I"
+#PLAYER_2_BUTTON_8 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_O"
+
+#ANALOGUE_1 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_X"
+#ANALOGUE_2 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Y"
+#ANALOGUE_3 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Z"
+#ANALOGUE_4 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_RZ"
+#ANALOGUE_5 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_X2"
+#ANALOGUE_6 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Y2"
+#ANALOGUE_7 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Z2"
+#ANALOGUE_8 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_RZ2"
+
+#ANALOGUE_DEADZONE_1 = 0 0 0
+#ANALOGUE_DEADZONE_2 = 0 0 0
+#ANALOGUE_DEADZONE_3 = 0 0 0
+#ANALOGUE_DEADZONE_4 = 0 0 0
+#ANALOGUE_DEADZONE_5 = 0 0 0
+#ANALOGUE_DEADZONE_6 = 0 0 0
+#ANALOGUE_DEADZONE_7 = 0 0 0
+#ANALOGUE_DEADZONE_8 = 0 0 0
+
diff --git a/archive_later/raze/rd_config/raze.ini b/archive_later/raze/rd_config/raze.ini
new file mode 100644
index 0000000..deceb2e
--- /dev/null
+++ b/archive_later/raze/rd_config/raze.ini
@@ -0,0 +1,473 @@
+# This file was generated by Raze 1.11.0
+# These are the directories to automatically search for game data.
+# Each directory should be on a separate line, preceded by Path=
+[GameSearch.Directories]
+Path=$roms_path/raze
+Path=$XDG_CONFIG_HOME/raze
+Path=$PROGDIR
+Path=/app/retrodeck/components/raze
+
+# These are the directories to search for add-ons added with the -file
+# command line parameter, if they cannot be found with the path
+# as-is. Layout is the same as for GameSearch.Directories
+[FileSearch.Directories]
+Path=$roms_path/raze
+Path=$XDG_CONFIG_HOME/raze
+Path=$PROGDIR
+
+# These are the directories to search for soundfonts that let listed in the menu.
+# Layout is the same as for GameSearch.Directories
+[SoundfontSearch.Directories]
+Path=$roms_path/raze/soundfonts
+Path=$XDG_CONFIG_HOME/raze/soundfonts
+Path=$PROGDIR/soundfonts
+Path=/app/retrodeck/components/raze/soundfonts
+
+[GlobalSettings]
+I_FriendlyWindowTitle=1
+adl_chips_count=6
+adl_emulator_id=0
+adl_fullpan=true
+adl_run_at_pcm_rate=false
+adl_volume_model=0
+autoloadbrightmaps=true
+autoloadlights=true
+autoloadwidescreen=true
+autosavecount=4
+autosavenum=0
+cl_capfps=false
+cl_defaultconfiguration=0
+cl_gender=0
+cl_hudinterpolation=true
+cl_interpolate=true
+cl_loadingscreens=true
+cl_noexitscreens=false
+cl_nostartscreens=false
+cl_noturnscaling=false
+cl_showweapon=1
+cl_slopetilting=false
+cl_syncinput=false
+cl_viewtilting=0
+cl_viewtiltscale=1
+cl_weaponsway=true
+con_4bitansi=false
+con_buffersize=-1
+con_ctrl_d=
+con_notifylines=4
+con_printansi=true
+defaultiwad=
+developer=0
+disableautoload=false
+disableautosave=0
+duke_menufont=-1
+fluid_chorus=false
+fluid_chorus_depth=8
+fluid_chorus_level=1.2
+fluid_chorus_speed=0.3
+fluid_chorus_type=0
+fluid_chorus_voices=3
+fluid_gain=0.5
+fluid_interp=1
+fluid_lib=
+fluid_patchset=raze
+fluid_reverb=false
+fluid_reverb_damping=0.23
+fluid_reverb_level=0.57
+fluid_reverb_roomsize=0.61
+fluid_reverb_width=0.76
+fluid_samplerate=0
+fluid_threads=1
+fluid_voices=128
+gl_debug=false
+gl_debug_breakpoint=false
+gl_debug_level=0
+gl_dither_bpc=0
+gl_es=false
+gl_finishbeforeswap=false
+gl_fxaa=0
+gl_lens=false
+gl_lens_chromatic=1.12
+gl_lens_k=-0.12
+gl_lens_kcube=0.1
+gl_light_shadowmap=false
+gl_mask_sprite_threshold=0.5
+gl_mask_threshold=0.5
+gl_mirror_envmap=true
+gl_multisample=1
+gl_no_skyclear=false
+gl_pipeline_depth=0
+gl_plane_reflection=true
+gl_satformula=1
+gl_seamless=false
+gl_shadowmap_filter=1
+gl_shadowmap_quality=512
+gl_ssao=0
+gl_ssao_portals=1
+gl_ssao_strength=0.7
+gl_texture_filter=4
+gl_texture_filter_anisotropic=8
+gl_texture_hqresize_maxinputsize=512
+gl_texture_hqresize_mt_height=4
+gl_texture_hqresize_mt_width=16
+gl_texture_hqresize_multithread=true
+gl_texture_hqresize_targets=15
+gl_texture_hqresizemode=0
+gl_texture_hqresizemult=1
+gme_stereodepth=0
+gus_memsize=0
+gus_patchdir=
+hud_stats=0
+hw_hightile=true
+hw_models=false
+hw_shadeinterpolate=true
+hw_useindexedcolortextures=false
+i_discordrpc=false
+i_pauseinbackground=true
+i_soundinbackground=false
+in_mousemode=true
+inter_subtitles=false
+invertmouse=false
+invertmousex=false
+language=auto
+longsavemessages=false
+m_blockcontrollers=false
+m_cleanscale=false
+m_forward=1
+m_pitch=1
+m_sensitivity_x=2
+m_sensitivity_y=2
+m_show_backbutton=0
+m_showinputgrid=0
+m_side=1
+m_use_mouse=2
+m_yaw=1
+map_point_coordinates=true
+midi_config=
+midi_dmxgus=false
+midi_voices=32
+mod_autochip=false
+mod_autochip_scan_threshold=12
+mod_autochip_size_force=100
+mod_autochip_size_scan=500
+mod_dumb_mastervolume=1
+mod_interp=2
+mod_preferred_player=0
+mod_samplerate=0
+mod_volramp=2
+mouse_capturemode=1
+mus_calcgain=true
+mus_enabled=true
+mus_extendedlookup=false
+mus_usereplaygain=false
+opl_core=0
+opl_fullpan=true
+opl_numchips=2
+opn_chips_count=8
+opn_emulator_id=0
+opn_fullpan=true
+opn_run_at_pcm_rate=false
+os_isanyof=true
+png_gamma=0
+png_level=5
+queryiwad=true
+quicksavecount=4
+quicksavenum=0
+r_ambientlight=1
+r_drawweapon=1
+r_fov=90
+r_mirror_recursions=4
+r_multithreaded=1
+r_precache=true
+r_shadows=true
+r_skipmats=false
+r_spriteadjust=2
+r_ticstability=true
+save_dir=
+save_sort_order=0
+saveloadconfirmation=true
+savestatistics=0
+secret_notify=false
+showendoom=1
+silentmouseaimtoggle=false
+snd_aldevice=Default
+snd_alresampler=Default
+snd_ambience=true
+snd_backend=openal
+snd_buffersize=0
+snd_channels=128
+snd_efx=true
+snd_enabled=true
+snd_extendedlookup=false
+snd_hrtf=-1
+snd_mastervolume=1
+snd_mididevice=-5
+snd_midiprecache=false
+snd_musicvolume=0.5
+snd_reverb=true
+snd_samplerate=0
+snd_sfxvolume=1
+snd_streambuffersize=64
+snd_tryformats=true
+snd_waterreverb=true
+statfile=razestat.txt
+strictdecorate=false
+timidity_channel_pressure=false
+timidity_chorus=0
+timidity_config=raze
+timidity_drum_effect=false
+timidity_drum_power=1
+timidity_key_adjust=0
+timidity_lpf_def=1
+timidity_min_sustain_time=5000
+timidity_modulation_envelope=true
+timidity_modulation_wheel=true
+timidity_overlap_voice_allow=true
+timidity_pan_delay=false
+timidity_portamento=true
+timidity_reverb=0
+timidity_reverb_level=0
+timidity_surround_chorus=false
+timidity_temper_control=true
+timidity_tempo_adjust=1
+use_joystick=false
+use_mouse=true
+vid_activeinbackground=false
+vid_adapter=0
+vid_aspect=0
+vid_brightness=0
+vid_contrast=1
+vid_cropaspect=false
+vid_defheight=480
+vid_defwidth=640
+vid_dontdowait=false
+vid_fullscreen=true
+vid_gamma=1
+vid_hdr=false
+vid_maxfps=500
+vid_preferbackend=1
+vid_saturation=1
+vid_scale_customheight=400
+vid_scale_custompixelaspect=1
+vid_scale_customwidth=640
+vid_scale_linear=false
+vid_scalefactor=1
+vid_scalemode=0
+vid_sdl_render_driver=
+vid_vsync=false
+vk_debug=false
+vk_debug_callstack=true
+vk_device=0
+vk_exclusivefullscreen=false
+vk_hdr=false
+vk_raytrace=false
+vr_hunits_per_meter=41
+vr_ipd=0.062
+vr_mode=0
+vr_screendist=0.8
+vr_swap_eyes=false
+warningstoerrors=false
+wildmidi_config=
+wildmidi_enhanced_resampling=true
+wildmidi_reverb=false
+win_h=-1
+win_maximized=false
+win_w=-1
+win_x=-1
+win_y=-1
+wt_commentary=false
+wt_forcemidi=false
+wt_forcevoc=false
+xbrz_centerdirectionbias=4
+xbrz_colorformat=0
+xbrz_dominantdirectionthreshold=3.6
+xbrz_equalcolortolerance=30
+xbrz_luminanceweight=1
+xbrz_steepdirectionthreshold=2.2
+
+[GlobalSettings.Unknown]
+
+[.Player]
+cl_autoaim=1
+cl_weaponswitch=3
+combatmacro0=
+combatmacro1=
+combatmacro2=
+combatmacro3=
+combatmacro4=
+combatmacro5=
+combatmacro6=
+combatmacro7=
+combatmacro8=
+combatmacro9=
+playercolor=0
+playergender=0
+playername=RetroDECK
+rtsname=
+
+[.ConsoleVariables]
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+adult_lockout=false
+althud_flashing=true
+am_followplayer=true
+am_linealpha=1
+am_linethickness=1
+am_nameontop=false
+am_onesidedcolor=aa aa aa
+am_ovonesidedcolor=aa aa aa
+am_ovplayercolor=aa aa aa
+am_ovtwosidedcolor=aa aa aa
+am_playercolor=aa aa aa
+am_rotate=true
+am_showlabel=false
+am_showtime=0
+am_showtotaltime=0
+am_textfont=false
+am_twosidedcolor=aa aa aa
+chat_substitution=false
+cl_automsg=false
+cl_autorun=true
+cl_autosave=true
+cl_autosavedeletion=true
+cl_bloodoldweapbalance=false
+cl_bloodqavinterp=true
+cl_bloodvanillabobbing=true
+cl_bloodvanillaenemies=false
+cl_bloodvanillaexplosions=false
+cl_bloodvanillarun=true
+cl_bloodweapinterp=false
+cl_clampedpitch=true
+cl_crosshair=true
+cl_dukepitchmode=7
+cl_exjumprebound=false
+cl_exvertpanscale=8
+cl_exviewbobheight=5
+cl_exviewbobspeed=4
+cl_idplayers=true
+cl_maxautosaves=8
+cl_maxdecalamount=1024
+cl_nomeleeblur=false
+cl_obituaries=true
+cl_resumesavegame=true
+cl_rrvehicletilting=false
+cl_runmode=false
+cl_showmagamt=false
+cl_sointerpolation=true
+cl_swsmoothsway=true
+cl_viewbob=1
+cl_viewhbob=true
+cl_viewvbob=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2
+con_alpha=0.75
+con_centernotify=false
+con_notablist=false
+con_notify_advanced=false
+con_notifyscale=1
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+crosshair=0
+crosshaircolor=ff 00 00
+crosshairgrow=false
+crosshairhealth=2
+crosshairscale=0.5
+gl_aalines=false
+gl_bloom=false
+gl_bloom_amount=1.4
+gl_exposure_base=0.35
+gl_exposure_min=0.35
+gl_exposure_scale=1.3
+gl_exposure_speed=0.05
+gl_fogmode=2
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_tonemap=0
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_bgstretch=false
+hud_ctf_vanilla=false
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_messages=true
+hud_position=false
+hud_powerupduration=true
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showkills=true
+hud_showmapname=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_size=5
+hud_statscale=0.5
+hud_textfont=false
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+hw_2dmip=true
+hw_lightmode=0
+hw_weaponlight=8
+m_quickexit=false
+menu_sounds=true
+msg=0
+msg0color=11
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=11
+msgmidcolor2=4
+mus_redbook=true
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+r_drawfuzz=1
+r_voxels=true
+safe_spritelist=false
+screenshot_dir=
+screenshotname=
+snd_menuvolume=0.6
+snd_pitched=false
+snd_speech=1
+sw_darts=false
+sw_ninjahack=false
+sw_nocenterview=false
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+usermapfolder=
+vid_allowtrueultrawide=1
+
+[.VideoSettings]
+
+[.UnknownConsoleVariables]
+
+[.ConsoleAliases]
+
+[.Bindings]
+
+[.DoubleBindings]
+
+[.AutomapBindings]
diff --git a/archive_old/gzdoom/component_functions.sh b/archive_old/gzdoom/component_functions.sh
new file mode 100755
index 0000000..de12876
--- /dev/null
+++ b/archive_old/gzdoom/component_functions.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+export gzdoom_config="$XDG_CONFIG_HOME/gzdoom/gzdoom.ini"
+
+_prepare_component::gzdoom() {
+ local action="$1"
+ shift
+
+ local component_config="$(get_own_component_path)/rd_config"
+
+ case "$action" in
+
+ reset)
+ log i "------------------------"
+ log i "Resetting GZDOOM"
+ log i "------------------------"
+
+ # TODO: do a proper script
+ # This is just a placeholder script to test the emulator's flow
+
+ create_dir "$XDG_CONFIG_HOME/gzdoom"
+ create_dir "$XDG_DATA_HOME/gzdoom/audio/midi"
+ create_dir "$XDG_DATA_HOME/gzdoom/audio/fm_banks"
+ create_dir "$XDG_DATA_HOME/gzdoom/audio/soundfonts"
+ create_dir "$bios_path/gzdoom"
+ create_dir "$storage_path/gzdoom/audio/soundfonts"
+ create_dir "$storage_path/gzdoom/audio/fm_banks"
+ create_dir "$storage_path/gzdoom/audio/midi"
+
+ cp -fv "$component_config/gzdoom.ini" "$gzdoom_config"
+
+ # This is an unfortunate one-off because set_setting_value does not currently support multiple setting names with the same name in the same section
+ sed -i "s#RETRODECKHOMEDIR#${rd_home_path}#g" "$gzdoom_config"
+ sed -i "s#RETRODECKROMSDIR#${roms_path}#g" "$gzdoom_config"
+ sed -i "s#RETRODECKBIOSDIR#${bios_path}#g" "$gzdoom_config"
+ sed -i "s#RETRODECKSAVESDIR#${saves_path}#g" "$gzdoom_config"
+ sed -i "s#RETRODECKSTORAGESDIR#${storage_path}#g" "$gzdoom_config"
+ ;;
+
+ esac
+}
+
+_post_update::gzdoom() {
+ local previous_version="$1"
+
+}
+
+_post_update_legacy::gzdoom() {
+ # This function is to cover users upgrading from prior to 0.11.0, when per-component versioning was introduced. It can be removed once we are confident all users are running 0.11.0 or higher
+
+ local previous_version="$1"
+
+ if check_version_is_older_than "$previous_version" "0.8.0b"; then
+ log i "- The following components are been added and need to be initialized: es-de 3.0, MAME-SA, Vita3K, GZDoom"
+
+ prepare_component "reset" "gzdoom"
+ fi
+
+ if check_version_is_older_than "$previous_version" "0.10.0b"; then
+
+ log i "0.10.0b Upgrade - Reset: GZDoom"
+
+ prepare_component "reset" "gzdoom"
+
+ # GZDOOM needs to be reset as the changes are in the config that connects to the new folders.
+ fi
+}
diff --git a/archive_old/gzdoom/component_launcher.sh b/archive_old/gzdoom/component_launcher.sh
new file mode 100755
index 0000000..717ad9a
--- /dev/null
+++ b/archive_old/gzdoom/component_launcher.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+source /app/libexec/launcher_functions.sh
+
+# Setting component name and path based on the directory name
+component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
+component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"
+
+export LD_LIBRARY_PATH="$rd_shared_libs:${DEFAULT_LD_LIBRARY_PATH}"
+export QT_PLUGIN_PATH="${QT_PLUGIN_PATH}"
+export QT_QPA_PLATFORM_PLUGIN_PATH="${QT_QPA_PLATFORM_PLUGIN_PATH}"
+export DOOMWADDIR="$component_path/share/games/doom"
+
+log i "RetroDECK is now launching $component_name"
+log d "Library path is: $LD_LIBRARY_PATH"
+log d "DOOM WADs directory is: $DOOMWADDIR"
+
+exec "$component_path/bin/gzdoom.sh" +fluid_patchset "$component_path/share/games/doom/soundfonts/gzdoom.sf2" "$@"
diff --git a/archive_old/gzdoom/component_manifest.json b/archive_old/gzdoom/component_manifest.json
new file mode 100644
index 0000000..3cbc7a2
--- /dev/null
+++ b/archive_old/gzdoom/component_manifest.json
@@ -0,0 +1,56 @@
+{
+ "gzdoom": {
+ "name": "GZDoom",
+ "core_framework_compatibility": "1",
+ "component_version": "1.0.0",
+ "url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/gzdoom/gzdoom-guide/",
+ "url_webpage": "https://zdoom.org/index",
+ "url_donation_purchase": "",
+ "url_source": "https://github.com/ZDoom/gzdoom",
+ "component_type": "Engine",
+ "description": "Modern, enhanced DOOM engine for playing classic DOOM and other DOOM engine games.",
+ "system_friendly_name": "Doom",
+ "system": "doom",
+ "es_de_config": {
+ "es_find_rules": {
+ "emulators": [
+ {
+ "name": "GZDOOM",
+ "description": "GZDoom Game Engine",
+ "rules": [
+ {
+ "type": "staticpath",
+ "entries": [
+ "%COMPONENT_PATH%/component_launcher.sh"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "es_systems": [
+ {
+ "name": "doom",
+ "fullname": "Doom",
+ "path": "%ROMPATH%/doom",
+ "extension": ".desktop .doom .ipk3 .iwad .pk3 .pk4 .pwad .sh .wad",
+ "commands": [
+ {
+ "label": "GZDoom (Standalone)",
+ "command": "%EMULATOR_GZDOOM% %ROM%",
+ "priority": 10
+ }
+ ],
+ "platform": "pc, pcwindows",
+ "theme": "doom"
+ }
+ ]
+ },
+ "helper_files": {
+ "doom_guide": {
+ "filename": "doom_guide.txt",
+ "location": "$roms_path/doom"
+ }
+ }
+ }
+}
diff --git a/archive_old/gzdoom/component_note.txt b/archive_old/gzdoom/component_note.txt
new file mode 100644
index 0000000..9f5df53
--- /dev/null
+++ b/archive_old/gzdoom/component_note.txt
@@ -0,0 +1 @@
+This component has been abandoned, they suggest moving to UZDOOM.
diff --git a/archive_old/gzdoom/rd_assets/gzdoom.sh b/archive_old/gzdoom/rd_assets/gzdoom.sh
new file mode 100644
index 0000000..c63f0cc
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom.sh
@@ -0,0 +1,266 @@
+#!/bin/bash
+
+log d "RetroDECK Doom Parser booting..."
+
+# Source the global.sh script if not already sourced
+if [ -z "${GLOBAL_SOURCED+x}" ]; then
+ source /app/libexec/global.sh
+fi
+
+# Define the IWAD files list
+IWAD_FILES=(
+ "ACTION2.WAD" # Action Doom 2: Urban Brawl
+ "BLASPHEM.WAD" # Blasphemer
+ "CHEX.WAD" # Chex Quest
+ "CHEX3.WAD" # Chex Quest 3
+ "DELAWEARE.WAD" # Delaweare
+ "DOOM.WAD" # Doom shareware
+ "DOOM1.WAD" # Doom
+ "DOOM2.WAD" # Doom II: Hell on Earth
+ "DOOM2F.WAD" # Doom II French
+ "DOOM64.WAD" # Doom 64
+ "DOOM_COMPLETE.PK3" # WadSmoosh merged Doom
+ "FREEDOOM1.WAD" # Freedoom Phase 1
+ "FREEDOOM2.WAD" # Freedoom Phase 2
+ "FREEDM.WAD" # Freedoom Deathmatch
+ "HEXDD.WAD" # Hexen: Deathkings of the Dark Citadel
+ "HEXEN.WAD" # Hexen: Beyond Heretic
+ "HACX.WAD" # HACX
+ "HARM1.WAD" # Harmony
+ "HERETIC.WAD" # Heretic: Shadow of the Serpent Riders
+ "HERETIC1.WAD" # Heretic shareware
+ "PLUTONIA.WAD" # Plutonia Experiment
+ "ROTWB.WAD" # Rise Of The Wool Ball
+ "SQUARE1.PK3" # The Adventures of Square
+ "STRIFE0.WAD" # Strife shareware
+ "STRIFE1.WAD" # Strife
+ "TNT.WAD" # TNT: Evilution
+ "VOICES.WAD" # Strife Voices
+ "WADSMOOSH+.IPK3" # WadSmoosh+ merged Doom
+ )
+
+# Get the directory where this script is located
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+log d "Running from script dir: $SCRIPT_DIR"
+
+gzdoom="$SCRIPT_DIR/gzdoom"
+
+# Function to check if a file is an IWAD
+is_iwad() {
+ local file="$1"
+ local lowercase_file="$(basename "${file,,}")"
+
+ # Loop through the list of IWAD files
+ for iwad in "${IWAD_FILES[@]}"; do
+ # Check if the lowercase version of the IWAD file matches the input file
+ if [[ "${iwad,,}" == "$lowercase_file" ]]; then
+ echo "true"
+ return
+ fi
+ done
+ echo "false"
+}
+
+# Function to search for files recursively and resolve symlinks
+search_file_recursive() {
+ local file="$1"
+ local directory="$2"
+ local found_file=""
+ # We'll try several places so this works when the DOOM folder is symlinked
+ # 1) $directory/$file
+ # 2) recursive find under $directory
+ # 3) script-level doom dir (relative to assets) recursive
+
+ # 0. normalize file name for case-insensitive search
+ local lowercase_file="$(echo "$file" | tr '[:upper:]' '[:lower:]')"
+
+ # Resolve directory symlinks (if the DOOM folder itself was symlinked)
+ if [[ -L "$directory" ]]; then
+ directory=$(readlink -f "$directory")
+ fi
+
+ # Try direct path first
+ if [[ -e "$directory/$file" ]]; then
+ found_file=$(readlink -f "$directory/$file")
+ echo "$found_file"
+ return
+ fi
+
+ # Try recursive find under provided directory (case-insensitive)
+ # Use the basename for recursive search, so entries listed as "subdir/name.wad"
+ # will still match files located below the given directory.
+ local base="$(basename "$file")"
+ # Collect all case-insensitive matches, prefer one whose basename equals requested basename exactly
+ mapfile -t matches < <(find "$directory" -type f -iname "$base" 2>/dev/null || true)
+ if [[ ${#matches[@]} -gt 0 ]]; then
+ # First try to find a case-sensitive basename match
+ found_file=""
+ for m in "${matches[@]}"; do
+ if [[ "$(basename "$m")" == "$base" ]]; then
+ found_file="$m"
+ break
+ fi
+ done
+ # Fallback to the first match if no exact-case match found
+ if [[ -z "$found_file" ]]; then
+ found_file="${matches[0]}"
+ fi
+ found_file=$(readlink -f "$found_file")
+ echo "$found_file"
+ return
+ fi
+ echo "$found_file"
+}
+
+# Main script
+log d "RetroDECK GZDOOM wrapper init"
+
+# Check non-option arguments for a filename containing a single quote
+for a in "$@"; do
+ case "$a" in
+ +*|-) continue ;;
+ esac
+ if [[ "$a" == *"'"* ]]; then
+ log e "DOOM Invalid filename: \"$a\" contains a single quote.\nPlease rename the file in a proper way before continuing."
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: Invalid Filename" \
+ --text="Invalid filename\n\n\"$1\" contains a single quote.\nPlease rename the file properly before continuing."
+ exit 1
+ fi
+done
+
+# Determine if one of the arguments is a .doom file (we might be launched with +options first)
+doom_file=""
+for a in "$@"; do
+ # ignore option entries that start with '+' or '-'
+ case "$a" in
+ +*|-) continue ;;
+ esac
+ if [[ "${a##*.}" == "doom" ]]; then
+ doom_file="$a"
+ break
+ fi
+done
+
+# If a .doom file wasn't found yet, try to detect any provided candidate file arg (first non-option)
+target_arg=""
+for a in "$@"; do
+ case "$a" in
+ +*|-) continue ;;
+ esac
+ target_arg="$a"
+done
+
+# If no target was found, fall back to $1 to preserve legacy behavior
+if [[ -z "$target_arg" ]]; then
+ target_arg="$1"
+fi
+
+# If the chosen target arg doesn't have the .doom extension, we take the non-doom path
+log d "Selected target: '$target_arg' (doom_file='$doom_file')"
+
+if [[ "${doom_file}" == "" && "${target_arg##*.}" != "doom" ]]; then
+ # Check if the file is in the IWAD list
+ if [[ $(is_iwad "$target_arg") == "true" ]]; then
+ log d "iWAD found"
+ command="$gzdoom -config /var/config/gzdoom/gzdoom.ini -iwad \"$target_arg\""
+ else
+ log d "WAD, IPK3 or PK3 file found"
+ command="$gzdoom -config /var/config/gzdoom/gzdoom.ini -file \"$target_arg\""
+ fi
+
+ # Log the command
+ log i "Loading: \"$target_arg\""
+ log i "Executing command \"$command\""
+
+ # Execute the command with double quotes
+ eval "$command"
+
+# Check if a .doom file was found in arguments
+elif [[ -n "$doom_file" || "${target_arg##*.}" == "doom" ]]; then
+ if [[ -z "$doom_file" ]]; then
+ doom_file="$target_arg"
+ fi
+ log i "Found a doom file: \"$doom_file\""
+
+ # Check if the .doom file exists
+ if [[ ! -e "$doom_file" ]]; then
+ log e "doom file not found in \"$doom_file\""
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: File not found" \
+ --text="File \"$doom_file\" not found. Quitting."
+ exit 1
+ fi
+
+ # Read the .doom file and compose the command
+ command="$gzdoom -config /var/config/gzdoom/gzdoom.ini"
+
+ while IFS= read -r line; do
+ # Trim leading/trailing whitespace
+ line="$(echo "$line" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
+
+ # Ignore empty lines and comment lines
+ if [[ -z "$line" || "${line:0:1}" == "#" ]]; then
+ continue
+ fi
+
+ # Remove surrounding quotes if present
+ if [[ "$line" =~ ^\".*\"$ ]]; then
+ line="${line:1:${#line}-2}"
+ fi
+
+ # Check if the line contains a single quote
+ if [[ "$line" == *"'"* ]]; then
+ log e "Invalid filename: A file contained in \"$doom_file\" contains a single quote"
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: .doom file error" \
+ --text="Invalid filename\n\n\"$1\" contains a single quote.\nPlease rename the file properly in the .doom file before continuing."
+ exit 1
+ fi
+
+ # Search for the file recursively
+ found_file=$(search_file_recursive "$line" "$(dirname "$doom_file")")
+
+ # If the file is not found, exit with an error
+ if [[ -z "$found_file" ]]; then
+ log "[ERROR] File not found in \"$line\""
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: Not found" \
+ --text="File \"$line\" not found. Quitting."
+ exit 1
+ fi
+
+ # Add param depending on file extension (.ini -> -cfg, iwads -> -iwad, others -> -file)
+ ext="${found_file##*.}"
+ ext_lc="${ext,,}"
+ case "$ext_lc" in
+ ini)
+ command+=" -cfg \"$found_file\""
+ log i "Appending the param \"-cfg $found_file\""
+ ;;
+ wad|pk3|ipk3)
+ if [[ $(is_iwad "$found_file") == "true" ]]; then
+ command+=" -iwad \"$found_file\""
+ log i "Appending the param \"-iwad $found_file\""
+ else
+ command+=" -file \"$found_file\""
+ log i "Appending the param \"-file $found_file\""
+ fi
+ ;;
+ *)
+ command+=" -file \"$found_file\""
+ log i "Appending the param \"-file $found_file\""
+ ;;
+ esac
+ done < "$doom_file"
+
+ # Log the command
+ log i "Executing command \"$command\""
+
+ # Execute the command with double quotes
+ eval "$command"
+fi
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/gzdoom.sh b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/gzdoom.sh
new file mode 100755
index 0000000..c63f0cc
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/gzdoom.sh
@@ -0,0 +1,266 @@
+#!/bin/bash
+
+log d "RetroDECK Doom Parser booting..."
+
+# Source the global.sh script if not already sourced
+if [ -z "${GLOBAL_SOURCED+x}" ]; then
+ source /app/libexec/global.sh
+fi
+
+# Define the IWAD files list
+IWAD_FILES=(
+ "ACTION2.WAD" # Action Doom 2: Urban Brawl
+ "BLASPHEM.WAD" # Blasphemer
+ "CHEX.WAD" # Chex Quest
+ "CHEX3.WAD" # Chex Quest 3
+ "DELAWEARE.WAD" # Delaweare
+ "DOOM.WAD" # Doom shareware
+ "DOOM1.WAD" # Doom
+ "DOOM2.WAD" # Doom II: Hell on Earth
+ "DOOM2F.WAD" # Doom II French
+ "DOOM64.WAD" # Doom 64
+ "DOOM_COMPLETE.PK3" # WadSmoosh merged Doom
+ "FREEDOOM1.WAD" # Freedoom Phase 1
+ "FREEDOOM2.WAD" # Freedoom Phase 2
+ "FREEDM.WAD" # Freedoom Deathmatch
+ "HEXDD.WAD" # Hexen: Deathkings of the Dark Citadel
+ "HEXEN.WAD" # Hexen: Beyond Heretic
+ "HACX.WAD" # HACX
+ "HARM1.WAD" # Harmony
+ "HERETIC.WAD" # Heretic: Shadow of the Serpent Riders
+ "HERETIC1.WAD" # Heretic shareware
+ "PLUTONIA.WAD" # Plutonia Experiment
+ "ROTWB.WAD" # Rise Of The Wool Ball
+ "SQUARE1.PK3" # The Adventures of Square
+ "STRIFE0.WAD" # Strife shareware
+ "STRIFE1.WAD" # Strife
+ "TNT.WAD" # TNT: Evilution
+ "VOICES.WAD" # Strife Voices
+ "WADSMOOSH+.IPK3" # WadSmoosh+ merged Doom
+ )
+
+# Get the directory where this script is located
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+log d "Running from script dir: $SCRIPT_DIR"
+
+gzdoom="$SCRIPT_DIR/gzdoom"
+
+# Function to check if a file is an IWAD
+is_iwad() {
+ local file="$1"
+ local lowercase_file="$(basename "${file,,}")"
+
+ # Loop through the list of IWAD files
+ for iwad in "${IWAD_FILES[@]}"; do
+ # Check if the lowercase version of the IWAD file matches the input file
+ if [[ "${iwad,,}" == "$lowercase_file" ]]; then
+ echo "true"
+ return
+ fi
+ done
+ echo "false"
+}
+
+# Function to search for files recursively and resolve symlinks
+search_file_recursive() {
+ local file="$1"
+ local directory="$2"
+ local found_file=""
+ # We'll try several places so this works when the DOOM folder is symlinked
+ # 1) $directory/$file
+ # 2) recursive find under $directory
+ # 3) script-level doom dir (relative to assets) recursive
+
+ # 0. normalize file name for case-insensitive search
+ local lowercase_file="$(echo "$file" | tr '[:upper:]' '[:lower:]')"
+
+ # Resolve directory symlinks (if the DOOM folder itself was symlinked)
+ if [[ -L "$directory" ]]; then
+ directory=$(readlink -f "$directory")
+ fi
+
+ # Try direct path first
+ if [[ -e "$directory/$file" ]]; then
+ found_file=$(readlink -f "$directory/$file")
+ echo "$found_file"
+ return
+ fi
+
+ # Try recursive find under provided directory (case-insensitive)
+ # Use the basename for recursive search, so entries listed as "subdir/name.wad"
+ # will still match files located below the given directory.
+ local base="$(basename "$file")"
+ # Collect all case-insensitive matches, prefer one whose basename equals requested basename exactly
+ mapfile -t matches < <(find "$directory" -type f -iname "$base" 2>/dev/null || true)
+ if [[ ${#matches[@]} -gt 0 ]]; then
+ # First try to find a case-sensitive basename match
+ found_file=""
+ for m in "${matches[@]}"; do
+ if [[ "$(basename "$m")" == "$base" ]]; then
+ found_file="$m"
+ break
+ fi
+ done
+ # Fallback to the first match if no exact-case match found
+ if [[ -z "$found_file" ]]; then
+ found_file="${matches[0]}"
+ fi
+ found_file=$(readlink -f "$found_file")
+ echo "$found_file"
+ return
+ fi
+ echo "$found_file"
+}
+
+# Main script
+log d "RetroDECK GZDOOM wrapper init"
+
+# Check non-option arguments for a filename containing a single quote
+for a in "$@"; do
+ case "$a" in
+ +*|-) continue ;;
+ esac
+ if [[ "$a" == *"'"* ]]; then
+ log e "DOOM Invalid filename: \"$a\" contains a single quote.\nPlease rename the file in a proper way before continuing."
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: Invalid Filename" \
+ --text="Invalid filename\n\n\"$1\" contains a single quote.\nPlease rename the file properly before continuing."
+ exit 1
+ fi
+done
+
+# Determine if one of the arguments is a .doom file (we might be launched with +options first)
+doom_file=""
+for a in "$@"; do
+ # ignore option entries that start with '+' or '-'
+ case "$a" in
+ +*|-) continue ;;
+ esac
+ if [[ "${a##*.}" == "doom" ]]; then
+ doom_file="$a"
+ break
+ fi
+done
+
+# If a .doom file wasn't found yet, try to detect any provided candidate file arg (first non-option)
+target_arg=""
+for a in "$@"; do
+ case "$a" in
+ +*|-) continue ;;
+ esac
+ target_arg="$a"
+done
+
+# If no target was found, fall back to $1 to preserve legacy behavior
+if [[ -z "$target_arg" ]]; then
+ target_arg="$1"
+fi
+
+# If the chosen target arg doesn't have the .doom extension, we take the non-doom path
+log d "Selected target: '$target_arg' (doom_file='$doom_file')"
+
+if [[ "${doom_file}" == "" && "${target_arg##*.}" != "doom" ]]; then
+ # Check if the file is in the IWAD list
+ if [[ $(is_iwad "$target_arg") == "true" ]]; then
+ log d "iWAD found"
+ command="$gzdoom -config /var/config/gzdoom/gzdoom.ini -iwad \"$target_arg\""
+ else
+ log d "WAD, IPK3 or PK3 file found"
+ command="$gzdoom -config /var/config/gzdoom/gzdoom.ini -file \"$target_arg\""
+ fi
+
+ # Log the command
+ log i "Loading: \"$target_arg\""
+ log i "Executing command \"$command\""
+
+ # Execute the command with double quotes
+ eval "$command"
+
+# Check if a .doom file was found in arguments
+elif [[ -n "$doom_file" || "${target_arg##*.}" == "doom" ]]; then
+ if [[ -z "$doom_file" ]]; then
+ doom_file="$target_arg"
+ fi
+ log i "Found a doom file: \"$doom_file\""
+
+ # Check if the .doom file exists
+ if [[ ! -e "$doom_file" ]]; then
+ log e "doom file not found in \"$doom_file\""
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: File not found" \
+ --text="File \"$doom_file\" not found. Quitting."
+ exit 1
+ fi
+
+ # Read the .doom file and compose the command
+ command="$gzdoom -config /var/config/gzdoom/gzdoom.ini"
+
+ while IFS= read -r line; do
+ # Trim leading/trailing whitespace
+ line="$(echo "$line" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
+
+ # Ignore empty lines and comment lines
+ if [[ -z "$line" || "${line:0:1}" == "#" ]]; then
+ continue
+ fi
+
+ # Remove surrounding quotes if present
+ if [[ "$line" =~ ^\".*\"$ ]]; then
+ line="${line:1:${#line}-2}"
+ fi
+
+ # Check if the line contains a single quote
+ if [[ "$line" == *"'"* ]]; then
+ log e "Invalid filename: A file contained in \"$doom_file\" contains a single quote"
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: .doom file error" \
+ --text="Invalid filename\n\n\"$1\" contains a single quote.\nPlease rename the file properly in the .doom file before continuing."
+ exit 1
+ fi
+
+ # Search for the file recursively
+ found_file=$(search_file_recursive "$line" "$(dirname "$doom_file")")
+
+ # If the file is not found, exit with an error
+ if [[ -z "$found_file" ]]; then
+ log "[ERROR] File not found in \"$line\""
+ rd_zenity --error --no-wrap \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK: DOOM - Warning: Not found" \
+ --text="File \"$line\" not found. Quitting."
+ exit 1
+ fi
+
+ # Add param depending on file extension (.ini -> -cfg, iwads -> -iwad, others -> -file)
+ ext="${found_file##*.}"
+ ext_lc="${ext,,}"
+ case "$ext_lc" in
+ ini)
+ command+=" -cfg \"$found_file\""
+ log i "Appending the param \"-cfg $found_file\""
+ ;;
+ wad|pk3|ipk3)
+ if [[ $(is_iwad "$found_file") == "true" ]]; then
+ command+=" -iwad \"$found_file\""
+ log i "Appending the param \"-iwad $found_file\""
+ else
+ command+=" -file \"$found_file\""
+ log i "Appending the param \"-file $found_file\""
+ fi
+ ;;
+ *)
+ command+=" -file \"$found_file\""
+ log i "Appending the param \"-file $found_file\""
+ ;;
+ esac
+ done < "$doom_file"
+
+ # Log the command
+ log i "Executing command \"$command\""
+
+ # Execute the command with double quotes
+ eval "$command"
+fi
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-cmp b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-cmp
new file mode 100755
index 0000000..5ed2d84
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-cmp differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-concat b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-concat
new file mode 100755
index 0000000..3892495
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-concat differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-convert b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-convert
new file mode 100755
index 0000000..ed89dae
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-convert differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-deinterleave b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-deinterleave
new file mode 100755
index 0000000..70e14c9
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-deinterleave differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-info b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-info
new file mode 100755
index 0000000..48fc7d7
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-info differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-interleave b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-interleave
new file mode 100755
index 0000000..de47409
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-interleave differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-metadata-get b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-metadata-get
new file mode 100755
index 0000000..3b55834
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-metadata-get differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-metadata-set b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-metadata-set
new file mode 100755
index 0000000..224d81c
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-metadata-set differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-play b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-play
new file mode 100755
index 0000000..5ec032d
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-play differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-salvage b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-salvage
new file mode 100755
index 0000000..db1e581
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/bin/sndfile-salvage differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/doc/fluidsynth/LICENSE b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/fluidsynth/LICENSE
new file mode 100644
index 0000000..19e3071
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/fluidsynth/LICENSE
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+(This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.)
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ {description}
+ Copyright (C) {year} {fullname}
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random
+ Hacker.
+
+ {signature of Ty Coon}, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/doc/game-music-emu/license.gpl2.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/game-music-emu/license.gpl2.txt
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/game-music-emu/license.gpl2.txt
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/doc/game-music-emu/license.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/game-music-emu/license.txt
new file mode 100644
index 0000000..602bfc9
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/game-music-emu/license.txt
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ , 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/doc/gzdoom/LICENSE b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/gzdoom/LICENSE
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/gzdoom/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/doc/libinstpatch/COPYING b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/libinstpatch/COPYING
new file mode 100644
index 0000000..3777b71
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/libinstpatch/COPYING
@@ -0,0 +1,461 @@
+NOTE: This software is restricted to version 2.1 of the LGPL only.
+
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/doc/libsndfile/COPYING b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/libsndfile/COPYING
new file mode 100644
index 0000000..c396169
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/doc/libsndfile/COPYING
@@ -0,0 +1,503 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ , 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindFLAC.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindFLAC.cmake
new file mode 100644
index 0000000..3491706
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindFLAC.cmake
@@ -0,0 +1,67 @@
+# - Find FLAC
+# Find the native FLAC includes and libraries
+#
+# FLAC_INCLUDE_DIRS - where to find FLAC headers.
+# FLAC_LIBRARIES - List of libraries when using libFLAC.
+# FLAC_FOUND - True if libFLAC found.
+# FLAC_DEFINITIONS - FLAC compile definitons
+
+if (FLAC_INCLUDE_DIR)
+ # Already in cache, be silent
+ set (FLAC_FIND_QUIETLY TRUE)
+endif ()
+
+find_package (Ogg QUIET)
+
+find_package (PkgConfig QUIET)
+pkg_check_modules(PC_FLAC QUIET flac)
+
+set(FLAC_VERSION ${PC_FLAC_VERSION})
+
+find_path (FLAC_INCLUDE_DIR FLAC/stream_decoder.h
+ HINTS
+ ${PC_FLAC_INCLUDEDIR}
+ ${PC_FLAC_INCLUDE_DIRS}
+ ${FLAC_ROOT}
+ )
+
+# MSVC built libraries can name them *_static, which is good as it
+# distinguishes import libraries from static libraries with the same extension.
+find_library (FLAC_LIBRARY
+ NAMES
+ FLAC
+ libFLAC
+ libFLAC_dynamic
+ libFLAC_static
+ HINTS
+ ${PC_FLAC_LIBDIR}
+ ${PC_FLAC_LIBRARY_DIRS}
+ ${FLAC_ROOT}
+ )
+
+# Handle the QUIETLY and REQUIRED arguments and set FLAC_FOUND to TRUE if
+# all listed variables are TRUE.
+include (FindPackageHandleStandardArgs)
+find_package_handle_standard_args (FLAC
+ REQUIRED_VARS
+ FLAC_LIBRARY
+ FLAC_INCLUDE_DIR
+ Ogg_FOUND
+ VERSION_VAR
+ FLAC_VERSION
+ )
+
+if (FLAC_FOUND)
+ set (FLAC_INCLUDE_DIRS ${FLAC_INCLUDE_DIR})
+ set (FLAC_LIBRARIES ${FLAC_LIBRARY} ${OGG_LIBRARIES})
+ if (NOT TARGET FLAC::FLAC)
+ add_library(FLAC::FLAC UNKNOWN IMPORTED)
+ set_target_properties(FLAC::FLAC PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${FLAC_INCLUDE_DIR}"
+ IMPORTED_LOCATION "${FLAC_LIBRARY}"
+ INTERFACE_LINK_LIBRARIES Ogg::ogg
+ )
+ endif ()
+endif ()
+
+mark_as_advanced(FLAC_INCLUDE_DIR FLAC_LIBRARY)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindOgg.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindOgg.cmake
new file mode 100644
index 0000000..9cf5ce4
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindOgg.cmake
@@ -0,0 +1,61 @@
+# - Find ogg
+# Find the native ogg includes and libraries
+#
+# OGG_INCLUDE_DIRS - where to find ogg.h, etc.
+# OGG_LIBRARIES - List of libraries when using ogg.
+# OGG_FOUND - True if ogg found.
+
+if (OGG_INCLUDE_DIR)
+ # Already in cache, be silent
+ set(OGG_FIND_QUIETLY TRUE)
+endif ()
+
+find_package (PkgConfig QUIET)
+pkg_check_modules (PC_OGG QUIET ogg>=1.3.0)
+
+set (OGG_VERSION ${PC_OGG_VERSION})
+
+find_path (OGG_INCLUDE_DIR ogg/ogg.h
+ HINTS
+ ${PC_OGG_INCLUDEDIR}
+ ${PC_OGG_INCLUDE_DIRS}
+ ${OGG_ROOT}
+ )
+# MSVC built ogg may be named ogg_static.
+# The provided project files name the library with the lib prefix.
+find_library (OGG_LIBRARY
+ NAMES
+ ogg
+ ogg_static
+ libogg
+ libogg_static
+ HINTS
+ ${PC_OGG_LIBDIR}
+ ${PC_OGG_LIBRARY_DIRS}
+ ${OGG_ROOT}
+ )
+# Handle the QUIETLY and REQUIRED arguments and set OGG_FOUND
+# to TRUE if all listed variables are TRUE.
+include (FindPackageHandleStandardArgs)
+find_package_handle_standard_args (Ogg
+ REQUIRED_VARS
+ OGG_LIBRARY
+ OGG_INCLUDE_DIR
+ VERSION_VAR
+ OGG_VERSION
+ )
+
+if (OGG_FOUND)
+ set (OGG_LIBRARIES ${OGG_LIBRARY})
+ set (OGG_INCLUDE_DIRS ${OGG_INCLUDE_DIR})
+
+ if(NOT TARGET Ogg::ogg)
+ add_library(Ogg::ogg UNKNOWN IMPORTED)
+ set_target_properties(Ogg::ogg PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${OGG_INCLUDE_DIRS}"
+ IMPORTED_LOCATION "${OGG_LIBRARIES}"
+ )
+ endif ()
+endif ()
+
+mark_as_advanced (OGG_INCLUDE_DIR OGG_LIBRARY)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindOpus.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindOpus.cmake
new file mode 100644
index 0000000..a83686b
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindOpus.cmake
@@ -0,0 +1,67 @@
+# - Find opus
+# Find the native opus includes and libraries
+#
+# OPUS_INCLUDE_DIRS - where to find opus.h, etc.
+# OPUS_LIBRARIES - List of libraries when using opus.
+# OPUS_FOUND - True if Opus found.
+
+if (OPUS_INCLUDE_DIR)
+ # Already in cache, be silent
+ set(OPUS_FIND_QUIETLY TRUE)
+endif ()
+
+find_package (Ogg QUIET)
+
+find_package (PkgConfig QUIET)
+pkg_check_modules(PC_OPUS QUIET opus>=1.1)
+
+set (OPUS_VERSION ${PC_OPUS_VERSION})
+
+find_path (OPUS_INCLUDE_DIR opus/opus.h
+ HINTS
+ ${PC_OPUS_INCLUDEDIR}
+ ${PC_OPUS_INCLUDE_DIRS}
+ ${OPUS_ROOT}
+ )
+
+# MSVC built opus may be named opus_static.
+# The provided project files name the library with the lib prefix.
+
+find_library (OPUS_LIBRARY
+ NAMES
+ opus
+ opus_static
+ libopus
+ libopus_static
+ HINTS
+ ${PC_OPUS_LIBDIR}
+ ${PC_OPUS_LIBRARY_DIRS}
+ ${OPUS_ROOT}
+ )
+
+# Handle the QUIETLY and REQUIRED arguments and set OPUS_FOUND
+# to TRUE if all listed variables are TRUE.
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args (Opus
+ REQUIRED_VARS
+ OPUS_LIBRARY
+ OPUS_INCLUDE_DIR
+ OGG_FOUND
+ VERSION_VAR
+ OPUS_VERSION
+ )
+
+if (OPUS_FOUND)
+ set (OPUS_LIBRARIES ${OPUS_LIBRARY})
+ set (OPUS_INCLUDE_DIRS ${OPUS_INCLUDE_DIR})
+
+ if (NOT TARGET Opus::opus)
+ add_library (Opus::opus UNKNOWN IMPORTED)
+ set_target_properties (Opus::opus PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${OPUS_INCLUDE_DIRS}"
+ IMPORTED_LOCATION "${OPUS_LIBRARIES}"
+ )
+ endif ()
+endif ()
+
+mark_as_advanced(OPUS_INCLUDE_DIR OPUS_LIBRARY)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindVorbis.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindVorbis.cmake
new file mode 100644
index 0000000..57e6055
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/FindVorbis.cmake
@@ -0,0 +1,210 @@
+#[=======================================================================[.rst:
+FindVorbis
+----------
+
+Finds the native vorbis, vorbisenc amd vorbisfile includes and libraries.
+
+Imported Targets
+^^^^^^^^^^^^^^^^
+
+This module provides the following imported targets, if found:
+
+``Vorbis::vorbis``
+ The Vorbis library
+``Vorbis::vorbisenc``
+ The VorbisEnc library
+``Vorbis::vorbisfile``
+ The VorbisFile library
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This will define the following variables:
+
+``Vorbis_Vorbis_INCLUDE_DIRS``
+ List of include directories when using vorbis.
+``Vorbis_Enc_INCLUDE_DIRS``
+ List of include directories when using vorbisenc.
+``Vorbis_File_INCLUDE_DIRS``
+ List of include directories when using vorbisfile.
+``Vorbis_Vorbis_LIBRARIES``
+ List of libraries when using vorbis.
+``Vorbis_Enc_LIBRARIES``
+ List of libraries when using vorbisenc.
+``Vorbis_File_LIBRARIES``
+ List of libraries when using vorbisfile.
+``Vorbis_FOUND``
+ True if vorbis and requested components found.
+``Vorbis_Vorbis_FOUND``
+ True if vorbis found.
+``Vorbis_Enc_FOUND``
+ True if vorbisenc found.
+``Vorbis_Enc_FOUND``
+ True if vorbisfile found.
+
+Cache variables
+^^^^^^^^^^^^^^^
+
+The following cache variables may also be set:
+
+``Vorbis_Vorbis_INCLUDE_DIR``
+ The directory containing ``vorbis/vorbis.h``.
+``Vorbis_Enc_INCLUDE_DIR``
+ The directory containing ``vorbis/vorbisenc.h``.
+``Vorbis_File_INCLUDE_DIR``
+ The directory containing ``vorbis/vorbisenc.h``.
+``Vorbis_Vorbis_LIBRARY``
+ The path to the vorbis library.
+``Vorbis_Enc_LIBRARY``
+ The path to the vorbisenc library.
+``Vorbis_File_LIBRARY``
+ The path to the vorbisfile library.
+
+Hints
+^^^^^
+
+A user may set ``Vorbis_ROOT`` to a vorbis installation root to tell this module where to look.
+
+#]=======================================================================]
+
+if (Vorbis_Vorbis_INCLUDE_DIR)
+ # Already in cache, be silent
+ set (Vorbis_FIND_QUIETLY TRUE)
+endif ()
+
+set (Vorbis_Vorbis_FIND_QUIETLY TRUE)
+set (Vorbis_Enc_FIND_QUIETLY TRUE)
+set (Vorbis_File_FIND_QUIETLY TRUE)
+
+find_package (Ogg QUIET)
+
+find_package (PkgConfig QUIET)
+pkg_check_modules (PC_Vorbis_Vorbis QUIET vorbis)
+pkg_check_modules (PC_Vorbis_Enc QUIET vorbisenc)
+pkg_check_modules (PC_Vorbis_File QUIET vorbisfile)
+
+set (Vorbis_VERSION ${PC_Vorbis_Vorbis_VERSION})
+
+find_path (Vorbis_Vorbis_INCLUDE_DIR vorbis/codec.h
+ HINTS
+ ${PC_Vorbis_Vorbis_INCLUDEDIR}
+ ${PC_Vorbis_Vorbis_INCLUDE_DIRS}
+ ${Vorbis_ROOT}
+ )
+
+find_path (Vorbis_Enc_INCLUDE_DIR vorbis/vorbisenc.h
+ HINTS
+ ${PC_Vorbis_Enc_INCLUDEDIR}
+ ${PC_Vorbis_Enc_INCLUDE_DIRS}
+ ${Vorbis_ROOT}
+ )
+
+find_path (Vorbis_File_INCLUDE_DIR vorbis/vorbisfile.h
+ HINTS
+ ${PC_Vorbis_File_INCLUDEDIR}
+ ${PC_Vorbis_File_INCLUDE_DIRS}
+ ${Vorbis_ROOT}
+ )
+
+find_library (Vorbis_Vorbis_LIBRARY
+ NAMES
+ vorbis
+ vorbis_static
+ libvorbis
+ libvorbis_static
+ HINTS
+ ${PC_Vorbis_Vorbis_LIBDIR}
+ ${PC_Vorbis_Vorbis_LIBRARY_DIRS}
+ ${Vorbis_ROOT}
+ )
+
+find_library (Vorbis_Enc_LIBRARY
+ NAMES
+ vorbisenc
+ vorbisenc_static
+ libvorbisenc
+ libvorbisenc_static
+ HINTS
+ ${PC_Vorbis_Enc_LIBDIR}
+ ${PC_Vorbis_Enc_LIBRARY_DIRS}
+ ${Vorbis_ROOT}
+ )
+
+find_library (Vorbis_File_LIBRARY
+ NAMES
+ vorbisfile
+ vorbisfile_static
+ libvorbisfile
+ libvorbisfile_static
+ HINTS
+ ${PC_Vorbis_File_LIBDIR}
+ ${PC_Vorbis_File_LIBRARY_DIRS}
+ ${Vorbis_ROOT}
+ )
+
+include (FindPackageHandleStandardArgs)
+
+if (Vorbis_Vorbis_LIBRARY AND Vorbis_Vorbis_INCLUDE_DIR AND Ogg_FOUND)
+ set (Vorbis_Vorbis_FOUND TRUE)
+endif ()
+
+if (Vorbis_Enc_LIBRARY AND Vorbis_Enc_INCLUDE_DIR AND Vorbis_Vorbis_FOUND)
+ set (Vorbis_Enc_FOUND TRUE)
+endif ()
+
+if (Vorbis_Vorbis_FOUND AND Vorbis_File_LIBRARY AND Vorbis_File_INCLUDE_DIR)
+ set (Vorbis_File_FOUND TRUE)
+endif ()
+
+find_package_handle_standard_args (Vorbis
+ REQUIRED_VARS
+ Vorbis_Vorbis_LIBRARY
+ Vorbis_Vorbis_INCLUDE_DIR
+ Ogg_FOUND
+ HANDLE_COMPONENTS
+ VERSION_VAR Vorbis_VERSION)
+
+
+if (Vorbis_Vorbis_FOUND)
+ set (Vorbis_Vorbis_INCLUDE_DIRS ${VORBIS_INCLUDE_DIR})
+ set (Vorbis_Vorbis_LIBRARIES ${VORBIS_LIBRARY} ${OGG_LIBRARIES})
+ if (NOT TARGET Vorbis::vorbis)
+ add_library (Vorbis::vorbis UNKNOWN IMPORTED)
+ set_target_properties (Vorbis::vorbis PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Vorbis_INCLUDE_DIR}"
+ IMPORTED_LOCATION "${Vorbis_Vorbis_LIBRARY}"
+ INTERFACE_LINK_LIBRARIES Ogg::ogg
+ )
+ endif ()
+
+ if (Vorbis_Enc_FOUND)
+ set (Vorbis_Enc_INCLUDE_DIRS ${Vorbis_Enc_INCLUDE_DIR})
+ set (Vorbis_Enc_LIBRARIES ${Vorbis_Enc_LIBRARY} ${Vorbis_Enc_LIBRARIES})
+ if (NOT TARGET Vorbis::vorbisenc)
+ add_library (Vorbis::vorbisenc UNKNOWN IMPORTED)
+ set_target_properties (Vorbis::vorbisenc PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Enc_INCLUDE_DIR}"
+ IMPORTED_LOCATION "${Vorbis_Enc_LIBRARY}"
+ INTERFACE_LINK_LIBRARIES Vorbis::vorbis
+ )
+ endif ()
+ endif ()
+
+ if (Vorbis_File_FOUND)
+ set (Vorbis_File_INCLUDE_DIRS ${Vorbis_File_INCLUDE_DIR})
+ set (Vorbis_File_LIBRARIES ${Vorbis_File_LIBRARY} ${Vorbis_File_LIBRARIES})
+ if (NOT TARGET Vorbis::vorbisfile)
+ add_library (Vorbis::vorbisfile UNKNOWN IMPORTED)
+ set_target_properties (Vorbis::vorbisfile PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_File_INCLUDE_DIR}"
+ IMPORTED_LOCATION "${Vorbis_File_LIBRARY}"
+ INTERFACE_LINK_LIBRARIES Vorbis::vorbis
+ )
+ endif ()
+ endif ()
+
+endif ()
+
+mark_as_advanced (Vorbis_Vorbis_INCLUDE_DIR Vorbis_Vorbis_LIBRARY)
+mark_as_advanced (Vorbis_Enc_INCLUDE_DIR Vorbis_Enc_LIBRARY)
+mark_as_advanced (Vorbis_File_INCLUDE_DIR Vorbis_File_LIBRARY)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/Findmp3lame.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/Findmp3lame.cmake
new file mode 100644
index 0000000..223dd08
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/Findmp3lame.cmake
@@ -0,0 +1,67 @@
+# - Find lame
+# Find the native lame includes and libraries
+#
+# MP3LAME_INCLUDE_DIRS - where to find lame.h, etc.
+# MP3LAME_LIBRARIES - List of libraries when using lame.
+# MP3LAME_FOUND - True if Lame found.
+
+if (MP3LAME_INCLUDE_DIR)
+ # Already in cache, be silent
+ set(MP3LAME_FIND_QUIETLY TRUE)
+endif ()
+
+find_path (MP3LAME_INCLUDE_DIR lame/lame.h
+ HINTS
+ ${LAME_ROOT}
+ )
+
+# MSVC built lame may be named mp3lame_static.
+# The provided project files name the library with the lib prefix.
+
+find_library (MP3LAME_LIBRARY
+ NAMES
+ mp3lame
+ mp3lame_static
+ libmp3lame
+ libmp3lame_static
+ libmp3lame-static
+ HINTS
+ ${MP3LAME_ROOT}
+ )
+
+find_library (MP3LAME_HIP_LIBRARY
+ NAMES
+ mpghip-static
+ libmpghip-static
+ HINTS
+ ${MP3LAME_ROOT}
+ )
+
+# Handle the QUIETLY and REQUIRED arguments and set LAME_FOUND
+# to TRUE if all listed variables are TRUE.
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args (mp3lame
+ REQUIRED_VARS
+ MP3LAME_LIBRARY
+ MP3LAME_INCLUDE_DIR
+ )
+
+if (MP3LAME_FOUND)
+ set (MP3LAME_LIBRARIES ${MP3LAME_LIBRARY} ${MP3LAME_HIP_LIBRARY})
+ set (MP3LAME_INCLUDE_DIRS ${MP3LAME_INCLUDE_DIR})
+
+ if (NOT TARGET mp3lame::mp3lame)
+ add_library (mp3lame::mp3lame UNKNOWN IMPORTED)
+ set_target_properties (mp3lame::mp3lame PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${MP3LAME_INCLUDE_DIRS}"
+ IMPORTED_LOCATION "${MP3LAME_LIBRARY}"
+ )
+ if (MP3LAME_HIP_LIBRARY AND (NOT TARGET mp3lame::mpghip))
+ add_library (mp3lame::mpghip STATIC IMPORTED)
+ set_property (mp3lame::mpghip PROPERTY IMPORTED_LOCATION "${MP3LAME_HIP_LIBRARY}")
+ set_property (TARGET mp3lame::mp3lame PROPERTY INTERFACE_LINK_LIBRARIES "mp3lame::mpghip")
+ endif ()
+ endif ()
+endif ()
+
+mark_as_advanced(MP3LAME_INCLUDE_DIR MP3LAME_LIBRARY MP3LAME_HIP_LIBRARY)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/Findmpg123.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/Findmpg123.cmake
new file mode 100644
index 0000000..36bb238
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/Findmpg123.cmake
@@ -0,0 +1,95 @@
+#[=======================================================================[.rst:
+Findmpg123
+-------
+
+Finds the mpg123 library.
+
+Imported Targets
+^^^^^^^^^^^^^^^^
+
+This module provides the following imported targets, if found:
+
+``MPG123::libmpg123``
+ The mpg123 library
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This will define the following variables:
+
+``mpg123_FOUND``
+ True if the system has the mpg123 package.
+``mpg123_VERSION``
+ The version of mpg123 that was found on the system.
+
+Cache Variables
+^^^^^^^^^^^^^^^
+
+The following cache variables may also be set:
+
+``mpg123_INCLUDE_DIR``
+ The directory containing ``mpg123.h``.
+``mpg123_LIBRARY``
+ The path to the mpg123 library.
+
+#]=======================================================================]
+
+if (mpg123_INCLUDE_DIR)
+ # Already in cache, be silent
+ set(mpg123_FIND_QUIETLY TRUE)
+endif ()
+
+find_package (PkgConfig QUIET)
+pkg_check_modules(PC_MPG123 QUIET libmpg123>=1.25.10)
+
+find_path (mpg123_INCLUDE_DIR mpg123.h
+ HINTS
+ ${PC_MPG123_INCLUDEDIR}
+ ${PC_MPG123_INCLUDE_DIRS}
+ ${mpg123_ROOT}
+ )
+
+# MSVC built mpg123 may be named mpg123_static.
+# The provided project files name the library with the lib prefix.
+
+find_library (mpg123_LIBRARY
+ NAMES
+ mpg123
+ mpg123_static
+ libmpg123
+ libmpg123_static
+ HINTS
+ ${PC_MPG123_LIBDIR}
+ ${PC_MPG123_LIBRARY_DIRS}
+ ${mpg123_ROOT}
+ )
+
+if (PC_MPG123_FOUND)
+ set (mpg123_VERSION ${PC_MPG123_VERSION})
+elseif (mpg123_INCLUDE_DIR)
+ file (READ "${mpg123_INCLUDE_DIR}/mpg123.h" _mpg123_h)
+ string (REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" _mpg123_version_re "${_mpg123_h}")
+ set (mpg123_VERSION "${_mpg123_version_re}")
+endif ()
+
+# Handle the QUIETLY and REQUIRED arguments and set mpg123_FOUND
+# to TRUE if all listed variables are TRUE.
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args (mpg123
+ REQUIRED_VARS
+ mpg123_LIBRARY
+ mpg123_INCLUDE_DIR
+ VERSION_VAR
+ mpg123_VERSION
+ )
+
+if (mpg123_FOUND AND NOT TARGET MPG123::libmpg123)
+ add_library (MPG123::libmpg123 UNKNOWN IMPORTED)
+ set_target_properties (MPG123::libmpg123
+ PROPERTIES
+ IMPORTED_LOCATION "${mpg123_LIBRARY}"
+ INTERFACE_INCLUDE_DIRECTORIES "${mpg123_INCLUDE_DIR}"
+ )
+endif ()
+
+mark_as_advanced(mpg123_INCLUDE_DIR mpg123_LIBRARY)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileConfig.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileConfig.cmake
new file mode 100644
index 0000000..9e0f317
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileConfig.cmake
@@ -0,0 +1,70 @@
+set(SndFile_VERSION 1.2.2)
+set(SndFile_VERSION_MAJOR 1)
+set(SndFile_VERSION_MINOR 2)
+set(SndFile_VERSION_PATCH 2)
+
+set (SndFile_WITH_EXTERNAL_LIBS 1)
+set (SndFile_WITH_MPEG 1)
+
+
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+####### Any changes to this file will be overwritten by the next CMake run ####
+####### The input file was SndFileConfig.cmake.in ########
+
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
+macro(set_and_check _var _file)
+ set(${_var} "${_file}")
+ if(NOT EXISTS "${_file}")
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
+ endif()
+endmacro()
+
+macro(check_required_components _NAME)
+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
+ if(NOT ${_NAME}_${comp}_FOUND)
+ if(${_NAME}_FIND_REQUIRED_${comp})
+ set(${_NAME}_FOUND FALSE)
+ endif()
+ endif()
+ endforeach()
+endmacro()
+
+####################################################################################
+
+include (CMakeFindDependencyMacro)
+
+if (NOT OFF)
+ list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+endif ()
+
+if (SndFile_WITH_EXTERNAL_LIBS AND NOT OFF)
+ find_dependency (Ogg 1.3)
+ find_dependency (Vorbis)
+ find_dependency (FLAC)
+ find_dependency (Opus)
+endif ()
+
+if (SndFile_WITH_MPEG AND NOT OFF)
+ find_dependency (mp3lame)
+ find_dependency (mpg123)
+endif ()
+
+if (NOT OFF)
+ list (REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+endif ()
+
+include (${CMAKE_CURRENT_LIST_DIR}/SndFileTargets.cmake)
+
+set_and_check (SndFile_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include")
+set (SNDFILE_INCLUDE_DIR ${SndFile_INCLUDE_DIR})
+
+set (SndFile_LIBRARY SndFile::sndfile)
+set (SNDFILE_LIBRARY SndFile::sndfile)
+set (SndFile_LIBRARIES SndFile::sndfile)
+set (SNDFILE_LIBRARIES SndFile::sndfile)
+
+
+check_required_components(SndFile)
+
+set (SNDFILE_FOUND 1)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileConfigVersion.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileConfigVersion.cmake
new file mode 100644
index 0000000..170a1c3
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileConfigVersion.cmake
@@ -0,0 +1,65 @@
+# This is a basic version file for the Config-mode of find_package().
+# It is used by write_basic_package_version_file() as input file for configure_file()
+# to create a version-file which can be installed along a config.cmake file.
+#
+# The created file sets PACKAGE_VERSION_EXACT if the current version string and
+# the requested version string are exactly the same and it sets
+# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
+# but only if the requested major version is the same as the current one.
+# The variable CVF_VERSION must be set before calling configure_file().
+
+
+set(PACKAGE_VERSION "1.2.2")
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+
+ if("1.2.2" MATCHES "^([0-9]+)\\.")
+ set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
+ if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
+ string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
+ endif()
+ else()
+ set(CVF_VERSION_MAJOR "1.2.2")
+ endif()
+
+ if(PACKAGE_FIND_VERSION_RANGE)
+ # both endpoints of the range must have the expected major version
+ math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
+ if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
+ OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+ elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
+ AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ else()
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+ endif()
+ else()
+ if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ else()
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+ endif()
+
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+ endif()
+endif()
+
+
+# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
+if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
+ return()
+endif()
+
+# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
+if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
+ math(EXPR installedBits "8 * 8")
+ set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
+ set(PACKAGE_VERSION_UNSUITABLE TRUE)
+endif()
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileTargets-noconfig.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileTargets-noconfig.cmake
new file mode 100644
index 0000000..4bbb6a5
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileTargets-noconfig.cmake
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Import target "SndFile::sndfile" for configuration ""
+set_property(TARGET SndFile::sndfile APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
+set_target_properties(SndFile::sndfile PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_NOCONFIG "C"
+ IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libsndfile.a"
+ )
+
+list(APPEND _cmake_import_check_targets SndFile::sndfile )
+list(APPEND _cmake_import_check_files_for_SndFile::sndfile "${_IMPORT_PREFIX}/lib/libsndfile.a" )
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileTargets.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileTargets.cmake
new file mode 100644
index 0000000..e648d78
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/SndFile/SndFileTargets.cmake
@@ -0,0 +1,107 @@
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
+ message(FATAL_ERROR "CMake >= 2.8.12 required")
+endif()
+if(CMAKE_VERSION VERSION_LESS "2.8.12")
+ message(FATAL_ERROR "CMake >= 2.8.12 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.8.12...3.31)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_cmake_targets_defined "")
+set(_cmake_targets_not_defined "")
+set(_cmake_expected_targets "")
+foreach(_cmake_expected_target IN ITEMS SndFile::sndfile)
+ list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
+ if(TARGET "${_cmake_expected_target}")
+ list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
+ else()
+ list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
+ endif()
+endforeach()
+unset(_cmake_expected_target)
+if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
+ unset(_cmake_targets_defined)
+ unset(_cmake_targets_not_defined)
+ unset(_cmake_expected_targets)
+ unset(CMAKE_IMPORT_FILE_VERSION)
+ cmake_policy(POP)
+ return()
+endif()
+if(NOT _cmake_targets_defined STREQUAL "")
+ string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
+ string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
+endif()
+unset(_cmake_targets_defined)
+unset(_cmake_targets_not_defined)
+unset(_cmake_expected_targets)
+
+
+# Compute the installation prefix relative to this file.
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+if(_IMPORT_PREFIX STREQUAL "/")
+ set(_IMPORT_PREFIX "")
+endif()
+
+# Create imported target SndFile::sndfile
+add_library(SndFile::sndfile STATIC IMPORTED)
+
+set_target_properties(SndFile::sndfile PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
+ INTERFACE_LINK_LIBRARIES "\$:m>>;\$:Ogg::ogg>>;\$:Vorbis::vorbisenc>>;\$:FLAC::FLAC>>;\$,\$,\$>:Speex::Speex>>;\$:Opus::opus>>;\$:MPG123::libmpg123>>;\$:mp3lame::mp3lame>>"
+)
+
+# Load information for each installed configuration.
+file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/SndFileTargets-*.cmake")
+foreach(_cmake_config_file IN LISTS _cmake_config_files)
+ include("${_cmake_config_file}")
+endforeach()
+unset(_cmake_config_file)
+unset(_cmake_config_files)
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(_cmake_target IN LISTS _cmake_import_check_targets)
+ if(CMAKE_VERSION VERSION_LESS "3.28"
+ OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
+ OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
+ foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
+ if(NOT EXISTS "${_cmake_file}")
+ message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
+ \"${_cmake_file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+ endforeach()
+ endif()
+ unset(_cmake_file)
+ unset("_cmake_import_check_files_for_${_cmake_target}")
+endforeach()
+unset(_cmake_target)
+unset(_cmake_import_check_targets)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicConfig.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicConfig.cmake
new file mode 100644
index 0000000..41634dd
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicConfig.cmake
@@ -0,0 +1,43 @@
+
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+####### Any changes to this file will be overwritten by the next CMake run ####
+####### The input file was ZMusicConfig.cmake.in ########
+
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
+
+macro(set_and_check _var _file)
+ set(${_var} "${_file}")
+ if(NOT EXISTS "${_file}")
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
+ endif()
+endmacro()
+
+macro(check_required_components _NAME)
+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
+ if(NOT ${_NAME}_${comp}_FOUND)
+ if(${_NAME}_FIND_REQUIRED_${comp})
+ set(${_NAME}_FOUND FALSE)
+ endif()
+ endif()
+ endforeach()
+endmacro()
+
+####################################################################################
+
+set(_supported_components "Full;Lite")
+
+if(NOT ZMusic_FIND_COMPONENTS)
+ set(ZMusic_FIND_COMPONENTS "${_supported_components}")
+endif()
+
+include(CMakeFindDependencyMacro)
+foreach(_module )
+ find_dependency(${_module})
+endforeach()
+
+foreach(_comp ${ZMusic_FIND_COMPONENTS})
+ include("${CMAKE_CURRENT_LIST_DIR}/ZMusic${_comp}Targets.cmake")
+ set(ZMusic_${_comp}_FOUND TRUE)
+endforeach()
+
+check_required_components(ZMusic)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicConfigVersion.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicConfigVersion.cmake
new file mode 100644
index 0000000..5ef176b
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicConfigVersion.cmake
@@ -0,0 +1,65 @@
+# This is a basic version file for the Config-mode of find_package().
+# It is used by write_basic_package_version_file() as input file for configure_file()
+# to create a version-file which can be installed along a config.cmake file.
+#
+# The created file sets PACKAGE_VERSION_EXACT if the current version string and
+# the requested version string are exactly the same and it sets
+# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
+# but only if the requested major version is the same as the current one.
+# The variable CVF_VERSION must be set before calling configure_file().
+
+
+set(PACKAGE_VERSION "1.3.0")
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+
+ if("1.3.0" MATCHES "^([0-9]+)\\.")
+ set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
+ if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
+ string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
+ endif()
+ else()
+ set(CVF_VERSION_MAJOR "1.3.0")
+ endif()
+
+ if(PACKAGE_FIND_VERSION_RANGE)
+ # both endpoints of the range must have the expected major version
+ math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
+ if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
+ OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+ elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
+ AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ else()
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+ endif()
+ else()
+ if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ else()
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+ endif()
+
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+ endif()
+endif()
+
+
+# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
+if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
+ return()
+endif()
+
+# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
+if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
+ math(EXPR installedBits "8 * 8")
+ set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
+ set(PACKAGE_VERSION_UNSUITABLE TRUE)
+endif()
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicFullTargets-release.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicFullTargets-release.cmake
new file mode 100644
index 0000000..b09174f
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicFullTargets-release.cmake
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------
+# Generated CMake target import file for configuration "Release".
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Import target "ZMusic::zmusic" for configuration "Release"
+set_property(TARGET ZMusic::zmusic APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+set_target_properties(ZMusic::zmusic PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libzmusic.so.1.3.0"
+ IMPORTED_SONAME_RELEASE "libzmusic.so.1"
+ )
+
+list(APPEND _cmake_import_check_targets ZMusic::zmusic )
+list(APPEND _cmake_import_check_files_for_ZMusic::zmusic "${_IMPORT_PREFIX}/lib/libzmusic.so.1.3.0" )
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicFullTargets.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicFullTargets.cmake
new file mode 100644
index 0000000..549ff1b
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicFullTargets.cmake
@@ -0,0 +1,107 @@
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
+ message(FATAL_ERROR "CMake >= 2.8.3 required")
+endif()
+if(CMAKE_VERSION VERSION_LESS "2.8.3")
+ message(FATAL_ERROR "CMake >= 2.8.3 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.8.3...3.31)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_cmake_targets_defined "")
+set(_cmake_targets_not_defined "")
+set(_cmake_expected_targets "")
+foreach(_cmake_expected_target IN ITEMS ZMusic::zmusic)
+ list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
+ if(TARGET "${_cmake_expected_target}")
+ list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
+ else()
+ list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
+ endif()
+endforeach()
+unset(_cmake_expected_target)
+if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
+ unset(_cmake_targets_defined)
+ unset(_cmake_targets_not_defined)
+ unset(_cmake_expected_targets)
+ unset(CMAKE_IMPORT_FILE_VERSION)
+ cmake_policy(POP)
+ return()
+endif()
+if(NOT _cmake_targets_defined STREQUAL "")
+ string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
+ string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
+endif()
+unset(_cmake_targets_defined)
+unset(_cmake_targets_not_defined)
+unset(_cmake_expected_targets)
+
+
+# Compute the installation prefix relative to this file.
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+if(_IMPORT_PREFIX STREQUAL "/")
+ set(_IMPORT_PREFIX "")
+endif()
+
+# Create imported target ZMusic::zmusic
+add_library(ZMusic::zmusic SHARED IMPORTED)
+
+set_target_properties(ZMusic::zmusic PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "\$<\$,STATIC_LIBRARY>:ZMUSIC_STATIC>"
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
+)
+
+# Load information for each installed configuration.
+file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/ZMusicFullTargets-*.cmake")
+foreach(_cmake_config_file IN LISTS _cmake_config_files)
+ include("${_cmake_config_file}")
+endforeach()
+unset(_cmake_config_file)
+unset(_cmake_config_files)
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(_cmake_target IN LISTS _cmake_import_check_targets)
+ if(CMAKE_VERSION VERSION_LESS "3.28"
+ OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
+ OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
+ foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
+ if(NOT EXISTS "${_cmake_file}")
+ message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
+ \"${_cmake_file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+ endforeach()
+ endif()
+ unset(_cmake_file)
+ unset("_cmake_import_check_files_for_${_cmake_target}")
+endforeach()
+unset(_cmake_target)
+unset(_cmake_import_check_targets)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicLiteTargets-release.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicLiteTargets-release.cmake
new file mode 100644
index 0000000..a52d971
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicLiteTargets-release.cmake
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------
+# Generated CMake target import file for configuration "Release".
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Import target "ZMusic::zmusiclite" for configuration "Release"
+set_property(TARGET ZMusic::zmusiclite APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+set_target_properties(ZMusic::zmusiclite PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libzmusiclite.so.1.3.0"
+ IMPORTED_SONAME_RELEASE "libzmusiclite.so.1"
+ )
+
+list(APPEND _cmake_import_check_targets ZMusic::zmusiclite )
+list(APPEND _cmake_import_check_files_for_ZMusic::zmusiclite "${_IMPORT_PREFIX}/lib/libzmusiclite.so.1.3.0" )
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicLiteTargets.cmake b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicLiteTargets.cmake
new file mode 100644
index 0000000..a054e1f
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/cmake/ZMusic/ZMusicLiteTargets.cmake
@@ -0,0 +1,107 @@
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
+ message(FATAL_ERROR "CMake >= 2.8.3 required")
+endif()
+if(CMAKE_VERSION VERSION_LESS "2.8.3")
+ message(FATAL_ERROR "CMake >= 2.8.3 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.8.3...3.31)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_cmake_targets_defined "")
+set(_cmake_targets_not_defined "")
+set(_cmake_expected_targets "")
+foreach(_cmake_expected_target IN ITEMS ZMusic::zmusiclite)
+ list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
+ if(TARGET "${_cmake_expected_target}")
+ list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
+ else()
+ list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
+ endif()
+endforeach()
+unset(_cmake_expected_target)
+if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
+ unset(_cmake_targets_defined)
+ unset(_cmake_targets_not_defined)
+ unset(_cmake_expected_targets)
+ unset(CMAKE_IMPORT_FILE_VERSION)
+ cmake_policy(POP)
+ return()
+endif()
+if(NOT _cmake_targets_defined STREQUAL "")
+ string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
+ string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
+endif()
+unset(_cmake_targets_defined)
+unset(_cmake_targets_not_defined)
+unset(_cmake_expected_targets)
+
+
+# Compute the installation prefix relative to this file.
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+if(_IMPORT_PREFIX STREQUAL "/")
+ set(_IMPORT_PREFIX "")
+endif()
+
+# Create imported target ZMusic::zmusiclite
+add_library(ZMusic::zmusiclite SHARED IMPORTED)
+
+set_target_properties(ZMusic::zmusiclite PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "\$<\$,STATIC_LIBRARY>:ZMUSIC_STATIC>"
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
+)
+
+# Load information for each installed configuration.
+file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/ZMusicLiteTargets-*.cmake")
+foreach(_cmake_config_file IN LISTS _cmake_config_files)
+ include("${_cmake_config_file}")
+endforeach()
+unset(_cmake_config_file)
+unset(_cmake_config_files)
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(_cmake_target IN LISTS _cmake_import_check_targets)
+ if(CMAKE_VERSION VERSION_LESS "3.28"
+ OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
+ OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
+ foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
+ if(NOT EXISTS "${_cmake_file}")
+ message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
+ \"${_cmake_file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+ endforeach()
+ endif()
+ unset(_cmake_file)
+ unset("_cmake_import_check_files_for_${_cmake_target}")
+endforeach()
+unset(_cmake_target)
+unset(_cmake_import_check_targets)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/libgme.a b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/libgme.a
new file mode 100644
index 0000000..2ccb7de
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/libgme.a differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/libsndfile.a b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/libsndfile.a
new file mode 100644
index 0000000..aca575f
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/libsndfile.a differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/pkgconfig/libgme.pc b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/pkgconfig/libgme.pc
new file mode 100644
index 0000000..4853f55
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/pkgconfig/libgme.pc
@@ -0,0 +1,16 @@
+# entries grouped with CMake are expanded by CMake
+# ${foo} entries are left alone by CMake and much
+# later are used by pkg-config.
+prefix=/app
+exec_prefix=${prefix}
+lib_suffix=
+libdir=${exec_prefix}/lib${lib_suffix}
+includedir=${prefix}/include
+
+Name: Game_Music_Emu
+Description: A video game emulation library for music.
+URL: https://bitbucket.org/mpyne/game-music-emu/wiki/Home
+Version: 0.6.4
+Cflags: -I${includedir}
+Libs: -L${libdir} -lgme
+Libs.private: -lstdc++ -lz
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/lib/pkgconfig/sndfile.pc b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/pkgconfig/sndfile.pc
new file mode 100644
index 0000000..9bc61b7
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/lib/pkgconfig/sndfile.pc
@@ -0,0 +1,13 @@
+prefix=/app
+exec_prefix=${prefix}
+libdir=/app/lib
+includedir=/app/include
+
+Name: sndfile
+Description: A library for reading and writing audio files
+Requires:
+Requires.private: flac ogg vorbis vorbisenc opus libmpg123
+Version: 1.2.2
+Libs: -L${libdir} -lsndfile
+Libs.private: -lmp3lame
+Cflags: -I${includedir}
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/brightmaps.pk3 b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/brightmaps.pk3
new file mode 100644
index 0000000..50b954f
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/brightmaps.pk3 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/GENMIDI-readme.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/GENMIDI-readme.txt
new file mode 100644
index 0000000..5ab2fec
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/GENMIDI-readme.txt
@@ -0,0 +1,106 @@
+DMXOPL3
+==================================================================
+https://github.com/sneakernets/DMXOPL
+==================================================================
+
+New and improved DMX GENMIDI for Doom and sourceports, taking full advantage of
+the OPL3 waveforms. This takes things up a notch in terms of timbre.
+
+# Summary
+This is a GENMIDI patch for DMX for OPL3 FM synthesis. This patch aims to remedy
+the "weak" default instruments to better match the Roland Sound Canvas, most
+notably the SC-55 and SC-88. Recommended minimum setup for no note-cuts is
+ZDoom 2.8.1 with DOSBOX OPL3 emulator core, with 6 chips emulated.
+
+======FAQ======
+# Why OPL3 only?
+OPL3 has four additional waveforms - Alternating Sine, Camel Sine, Square, and
+Logarithmic Square (Sawtooth). The most interesting of these is the Square wave,
+for obvious reasons! This will benefit percussion instruments immensely.
+
+# What did you use for this project?
+
+Hex Editors, OPL3 Bank Editor, Fraggle's Python scripts, Adlib Tracker II,
+Edlib, ADLMidi. I also used the following keyboards and devices:
+
+- Yamaha PSR-3 for basic voice ideas
+- Yamaha PSS-50 for layered voice ideas
+- Yamaha DX-7
+- Commodore 64 Music Module
+- VRC7 and related chips
+- Sound Blaster 16
+- Yamaha PCI cards
+- Sounds from various SEGA MegaDrive games
+
+=======WOPL FAQ=======
+# What's the difference between the WOPL version and the DMX version?
+The main difference is with a few instruments that had to be tweaked to work
+with DMX. Most of these changes are negligible for General MIDI stuff. To hear
+what I intended DMXOPL to sound like in Doom, you'll have to wait for Eternity
+Engine's ADLMIDI support to be finalized.
+
+# Any plans for GS/XG support?
+Yes. This will take considerable time, and voices will be added as I come across
+them in my MIDI files. You can check the progress on those through the XG and GS
+branches that I will make (or have already made). As I think the GM set is solid
+enough now, save for just a handful of instruments, I can start work on the
+other banks.
+
+# Will the WOPL version be usable on any other FM chips?
+Depends on the chip, but more than likely the answer is no. YMF262 (and the OPL*
+family for that matter) operate differently than most of the other FM chips, and
+wouldn't likely transfer over to DX-7 or other instruments without considerable
+work, if they would work at all.
+
+
+# Is the best way to listen to this really through an emulator?
+Yes, unfortunately. Unless someone makes an FM chip that can handle 128+
+channels, this is likely never to change. If you're using this in your music
+projects and you still want to use the real thing, I recommend recording one
+track at a time and throwing the result in your favorite DAW - just be sure to
+put a highpass filter set to a really low value (I recommend 5 Hz) to get rid
+of the offset garbage, lest your mix splatter like crazy.
+
+======Credits======
+* Wohlstand, for the OPL3BankEditor
+* Bisqwuit, for ADLMidi
+* Fraggle, for Chocolate Doom and GENMIDI research, as well as the Python scripts
+* SubZ3ro, for AdLib Tracker II
+* Esselfortium, for the encouragement and support
+* Jimmy, who will include this in the next Adventures of Square release
+* The Fat Man, who created the famous 2-op and 4-op patches everyone knows
+* Diode Milliampere, who made FM synth popular again
+* Patchouli, for keeping my spirits up
+* Graf Zahl, for continuing ZDoom as GZDoom
+* Randi, for implementing the OPL Emulation in ZDoom
+* Fisk, for miscellaneous feedback and MIDIs to test
+* Stewboy, for the Ancient Aliens MIDIs to test
+* Xaser, who said this patch passes the "Angry Scientist test"
+* Minigunner, just because
+* Altazimuth, who claims it'll be in Eternity someday (this is now true)
+* MTrop
+* Quasar, for Eternity Engine
+* Glaice, for patch advice
+* BlastFrog, for patch advice
+* Vogons Forums, for the OPL-3 Research and tools
+* AtariAge, for C64 Sound module preset banks
+* NintendoAge
+* John Chowning, the father of FM synthesis. I hope he can hear this someday.
+
+## Extra Thanks to:
+* Doomworld Forums and the respective IRC/DISCORD channels
+* The 4th Modulator DISCORD channels
+* Giest118, who installed Doom again to listen to this
+* Nuke.YKT, for testing this in Raptor, and for the Nuked OPL core
+* kode54, who added this to Cog and FB2K, thank you!
+* Patch93, who contributed various patches
+* OlPainless, who contributed various patches
+* Papiezak, who contributed various of patches
+* Infurnus, for support
+* Leileilol, for support
+* MaliceX, for support
+* Kuschelmonster, for support
+* Anyone who makes music with this thing!
+
+ YMF262 forever.
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/GENMIDI.GS.wopl b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/GENMIDI.GS.wopl
new file mode 100644
index 0000000..90f1ab9
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/GENMIDI.GS.wopl differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/LINKS.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/LINKS.txt
new file mode 100644
index 0000000..4a5f592
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/LINKS.txt
@@ -0,0 +1 @@
+https://github.com/Wohlstand/OPN2BankEditor
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/Tomsoft-readme.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/Tomsoft-readme.txt
new file mode 100644
index 0000000..1374683
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/Tomsoft-readme.txt
@@ -0,0 +1,15 @@
+Bank was imported by a hacky way from the Tomsoft's SegaMusic program
+by TommyXie (Xie Rong Chun):
+- the dummy MIDI file was created that contains all 128 instruments in GM order
+- the Sega emulator playable BIN file was generated
+- the GYM dump was generated from the playback of that dummy instrument
+- OPN2 Bank Editor was used to scan GYM file for instruments and import all of
+them.
+
+The work woth done by Jean-Pierre Cimalando:
+https://github.com/Wohlstand/OPN2BankEditor/issues/44
+
+Then, the bank was tuned by Wohlstand:
+- Corrected note offsets to align octaves of all instruments
+- Merged with xg.wopn to provide the set of percussions.
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/Tomsoft.wopn b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/Tomsoft.wopn
new file mode 100644
index 0000000..92ccabf
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/Tomsoft.wopn differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/fmmidi-readme.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/fmmidi-readme.txt
new file mode 100644
index 0000000..dd66768
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/fmmidi-readme.txt
@@ -0,0 +1,7 @@
+A bank, created from hardcoded instruments, extracted from "fmmidi" project
+
+http://unhaut.x10host.com/fmmidi/
+
+It's license:
+This program is released under the "three clauses" BSD license
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/fmmidi.wopn b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/fmmidi.wopn
new file mode 100644
index 0000000..0bf663f
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/fmmidi.wopn differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gems-fmlib-gmize-readme.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gems-fmlib-gmize-readme.txt
new file mode 100644
index 0000000..7265179
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gems-fmlib-gmize-readme.txt
@@ -0,0 +1,8 @@
+This bank was created by Wohlstand from imported instruments from the standard
+set of insruments pre-included with GEMS program which was a official Sega
+music creation system. Original set was not GM. Therefore, imported instruments
+are was organized to provide a proper GM set.
+
+Some instruments was a bit modified, some melodic instruments and percussions
+are was taken from Wohlstand's xg.wopn bank.
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gems-fmlib-gmize.wopn b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gems-fmlib-gmize.wopn
new file mode 100644
index 0000000..5b6c79d
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gems-fmlib-gmize.wopn differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gs-by-papiezak-and-sneakernets-readme.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gs-by-papiezak-and-sneakernets-readme.txt
new file mode 100644
index 0000000..96a41fe
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gs-by-papiezak-and-sneakernets-readme.txt
@@ -0,0 +1,25 @@
+=============
+https://github.com/sneakernets/DMXOPN2
+https://github.com/papiezak/DMXOPN2
+=============
+
+== DMXOPN2 ==
+
+No-nonsense patches for YM2612.
+
+
+== About ==
+
+After much work on my DMXOPL project, I noticed that a lot of presets that
+I created were not compatible with the YM2612, which was the chip I started
+with, but quickly dropped. In response, I decided to rectify this by recreating
+the best patches from DMXOPL to OPN2 format. Don't expect miracles, as this is
+more of a learning experience so I can start working on expanding my FM synth
+knowledge.
+
+I chose the name "DMX" not because it works with DMX, but that it will
+(hopefully) be of the same quality as the DMXOPL patch. Yeah, not very
+descriptive, but names aren't everything.
+
+Watch this space.
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gs-by-papiezak-and-sneakernets.wopn b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gs-by-papiezak-and-sneakernets.wopn
new file mode 100644
index 0000000..ecd87a5
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/gs-by-papiezak-and-sneakernets.wopn differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/readme.txt b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/readme.txt
new file mode 100644
index 0000000..4d7994a
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/readme.txt
@@ -0,0 +1,14 @@
+This bank (gm.wopn and xg.wopn) is made by me. I have imported some instruments from various
+VGM files, ported from OPL3 banks, or remixed them.
+
+This bank can be freely used, modified, shared with any purposes.
+
+License for this bank - MIT
+
+To edit this bank and other banks in WOPN format, you can use this editor
+which I created for that: https://github.com/Wohlstand/OPN2BankEditor
+
+==============================================================================
+
+Vitaliy Novichkov "Wohlstand", 2017-2018
+
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/xg.wopn b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/xg.wopn
new file mode 100644
index 0000000..38208b2
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/fm_banks/xg.wopn differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/game_support.pk3 b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/game_support.pk3
new file mode 100644
index 0000000..7221148
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/game_support.pk3 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/game_widescreen_gfx.pk3 b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/game_widescreen_gfx.pk3
new file mode 100644
index 0000000..1813e60
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/game_widescreen_gfx.pk3 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/gzdoom.pk3 b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/gzdoom.pk3
new file mode 100644
index 0000000..6e0f981
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/gzdoom.pk3 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/lights.pk3 b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/lights.pk3
new file mode 100644
index 0000000..8901812
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/lights.pk3 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/soundfonts/gzdoom.sf2 b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/soundfonts/gzdoom.sf2
new file mode 100644
index 0000000..702f7ff
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/share/games/doom/soundfonts/gzdoom.sf2 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libfluidsynth.so.3 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libfluidsynth.so.3
new file mode 120000
index 0000000..ef32ecb
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libfluidsynth.so.3
@@ -0,0 +1 @@
+libfluidsynth.so.3.3.6
\ No newline at end of file
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libfluidsynth.so.3.3.6 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libfluidsynth.so.3.3.6
new file mode 100755
index 0000000..94dd78f
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libfluidsynth.so.3.3.6 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so
new file mode 120000
index 0000000..48f7106
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so
@@ -0,0 +1 @@
+libinstpatch-1.0.so.2
\ No newline at end of file
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so.2 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so.2
new file mode 120000
index 0000000..f284d3f
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so.2
@@ -0,0 +1 @@
+libinstpatch-1.0.so.2.2.1
\ No newline at end of file
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so.2.2.1 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so.2.2.1
new file mode 100755
index 0000000..20ed232
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libinstpatch-1.0.so.2.2.1 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so
new file mode 120000
index 0000000..cf7bfb7
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so
@@ -0,0 +1 @@
+libzmusic.so.1
\ No newline at end of file
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so.1 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so.1
new file mode 120000
index 0000000..0dcf16c
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so.1
@@ -0,0 +1 @@
+libzmusic.so.1.3.0
\ No newline at end of file
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so.1.3.0 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so.1.3.0
new file mode 100755
index 0000000..18b2d95
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusic.so.1.3.0 differ
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so
new file mode 120000
index 0000000..a95a538
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so
@@ -0,0 +1 @@
+libzmusiclite.so.1
\ No newline at end of file
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so.1 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so.1
new file mode 120000
index 0000000..22d0ff5
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so.1
@@ -0,0 +1 @@
+libzmusiclite.so.1.3.0
\ No newline at end of file
diff --git a/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so.1.3.0 b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so.1.3.0
new file mode 100755
index 0000000..f28e01a
Binary files /dev/null and b/archive_old/gzdoom/rd_assets/gzdoom_release/shared-libs/libzmusiclite.so.1.3.0 differ
diff --git a/archive_old/gzdoom/rd_assets/helper_files/doom_guide.txt b/archive_old/gzdoom/rd_assets/helper_files/doom_guide.txt
new file mode 100644
index 0000000..143d7a0
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/helper_files/doom_guide.txt
@@ -0,0 +1 @@
+For information and the latest, most accurate guides on how to play DOOM, create .doom files, and more, please check the RetroDECK wiki: https://retrodeck.readthedocs.io/en/latest/
diff --git a/archive_old/gzdoom/rd_assets/rd_config/gzdoom.ini b/archive_old/gzdoom/rd_assets/rd_config/gzdoom.ini
new file mode 100644
index 0000000..0a12633
--- /dev/null
+++ b/archive_old/gzdoom/rd_assets/rd_config/gzdoom.ini
@@ -0,0 +1,4668 @@
+# This file was generated by GZDoom g4.11.3-m on 2024-03-10 09:34:01
+# These are the directories to automatically search for IWADs.
+# Each directory should be on a separate line, preceded by Path=
+[IWADSearch.Directories]
+Path=.
+Path=$DOOMWADDIR
+Path=$HOME
+Path=$PROGDIR
+Path=RETRODECKROMSDIR/doom
+Path=/app/share/games/doom/
+
+# These are the directories to search for wads added with the -file
+# command line parameter, if they cannot be found with the path
+# as-is. Layout is the same as for IWADSearch.Directories
+[FileSearch.Directories]
+Path=$PROGDIR
+Path=$DOOMWADDIR
+Path=RETRODECKROMSDIR/doom
+Path=RETRODECKBIOSDIR/gzdoom
+Path=/app/share/games/doom/
+Path=/var/config/gzdoom
+
+# These are the directories to search for soundfonts that let listed in the menu.
+# Layout is the same as for IWADSearch.Directories
+[SoundfontSearch.Directories]
+Path=$PROGDIR/soundfonts
+Path=$PROGDIR/fm_banks
+Path=/app/retrodeck/components/gzdoom/share/games/doom/fm_banks
+Path=/app/retrodeck/components/gzdoom/share/games/doom/soundfonts
+Path=$PROGDIR/fm_banks
+Path=RETRODECKROMSDIR/bios/gzdoom
+Path=RETRODECKSTORAGESDIR/gzdoom/audio/soundfonts
+Path=RETRODECKSTORAGESDIR/gzdoom/audio/fm_banks
+Path=/var/data/gzdoom/audio/fm_banks
+Path=/var/data/gzdoom/audio/soundfonts
+Path=/var/data/gzdoom/audio/fm_banks
+Path=/var/data/gzdoom/audio
+Path=/app/share/games/doom/soundfonts
+Path=/app/share/games/doom/fm_banks
+Path=/var/data/gzdoom
+
+# Files to automatically execute when running the corresponding game.
+# Each file should be on its own line, preceded by Path=
+
+[Doom.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+[Heretic.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+[Hexen.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+[Strife.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+[Chex.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+# WAD files to always load. These are loaded after the IWAD but before
+# any files added with -file. Place each file on its own line, preceded
+# by Path=
+[Global.Autoload]
+
+# Wad files to automatically load depending on the game and IWAD you are
+# playing. You may have have files that are loaded for all similar IWADs
+# (the game) and files that are only loaded for particular IWADs. For example,
+# any files listed under 'doom.Autoload' will be loaded for any version of Doom,
+# but files listed under 'doom.doom2.Autoload' will only load when you are
+# playing a Doom 2 based game (doom2.wad, tnt.wad or plutonia.wad), and files listed under
+# 'doom.doom2.commercial.Autoload' only when playing doom2.wad.
+
+[doom.Autoload]
+
+[doom.id.Autoload]
+
+[doom.id.doom2.Autoload]
+
+[doom.id.doom2.commercial.Autoload]
+
+[doom.id.doom2.commercial.french.Autoload]
+
+[doom.id.doom2.commercial.xbox.Autoload]
+
+[doom.id.doom2.unity.Autoload]
+
+[doom.id.doom2.kex.Autoload]
+
+[doom.id.doom2.bfg.Autoload]
+
+[doom.id.doom2.plutonia.Autoload]
+
+[doom.id.doom2.plutonia.kex.Autoload]
+
+[doom.id.doom2.plutonia.unity.Autoload]
+
+[doom.id.doom2.tnt.Autoload]
+
+[doom.id.doom2.tnt.kex.Autoload]
+
+[doom.id.doom2.tnt.unity.Autoload]
+
+[doom.id.doom1.Autoload]
+
+[doom.id.doom1.registered.Autoload]
+
+[doom.id.doom1.ultimate.Autoload]
+
+[doom.id.doom1.ultimate.xbox.Autoload]
+
+[doom.id.wadsmoosh.Autoload]
+
+[doom.id.doom1.unity.Autoload]
+
+[doom.id.doom1.kex.Autoload]
+
+[doom.id.doom1.bfg.Autoload]
+
+[doom.freedoom.Autoload]
+
+[doom.freedoom.demo.Autoload]
+
+[doom.freedoom.phase1.Autoload]
+
+[doom.freedoom.phase2.Autoload]
+
+[doom.freedoom.freedm.Autoload]
+
+[heretic.Autoload]
+
+[heretic.heretic.Autoload]
+
+[heretic.shadow.Autoload]
+
+[blasphemer.Autoload]
+
+[hexen.Autoload]
+
+[hexen.deathkings.Autoload]
+
+[hexen.hexen.Autoload]
+
+[strife.Autoload]
+
+[strife.strife.Autoload]
+
+[strife.veteran.Autoload]
+
+[chex.Autoload]
+
+[chex.chex1.Autoload]
+
+[chex.chex3.Autoload]
+
+[urbanbrawl.Autoload]
+
+[hacx.Autoload]
+
+[hacx.hacx1.Autoload]
+
+[hacx.hacx2.Autoload]
+
+[harmony.Autoload]
+
+[square.Autoload]
+
+[square.squareware.Autoload]
+
+[square.square.Autoload]
+
+[delaweare.Autoload]
+
+[woolball.Autoload]
+
+[woolball.rotwb.Autoload]
+
+[LastRun]
+Version=225
+
+[GlobalSettings]
+I_FriendlyWindowTitle=1
+adl_chips_count=6
+adl_emulator_id=0
+adl_fullpan=true
+adl_run_at_pcm_rate=false
+adl_volume_model=0
+autoloadbrightmaps=false
+autoloadlights=false
+autoloadwidescreen=true
+autosavecount=1
+autosavenum=0
+chase_dist=90
+chase_height=-8
+cl_capfps=false
+cl_defaultconfiguration=1
+cl_noprediction=false
+cl_oldfreelooklimit=false
+cl_predict_lerpscale=0.05
+cl_predict_lerpthreshold=2
+cl_predict_specials=true
+cl_restartondeath=false
+cl_rubberband_limit=756
+cl_rubberband_minmove=20
+cl_rubberband_scale=0.3
+cl_rubberband_threshold=20
+cl_run=false
+cl_scaleweaponfov=1
+cl_waitforsave=true
+con_4bitansi=false
+con_buffersize=-1
+con_ctrl_d=
+con_notifylines=4
+con_printansi=true
+defaultiwad=
+demo_compress=true
+developer=0
+disableautoload=false
+disableautosave=0
+enablescriptscreenshot=false
+fluid_chorus=false
+fluid_chorus_depth=8
+fluid_chorus_level=1
+fluid_chorus_speed=0.3
+fluid_chorus_type=0
+fluid_chorus_voices=3
+fluid_gain=0.5
+fluid_interp=1
+fluid_lib=
+fluid_patchset=/app/share/games/doom/soundfonts/gzdoom.sf2
+fluid_reverb=false
+fluid_reverb_damping=0.23
+fluid_reverb_level=0.57
+fluid_reverb_roomsize=0.61
+fluid_reverb_width=0.76
+fluid_samplerate=0
+fluid_threads=1
+fluid_voices=128
+freelook=true
+gl_billboard_faces_camera=false
+gl_billboard_mode=0
+gl_billboard_particles=true
+gl_cachenodes=true
+gl_cachetime=0.6
+gl_debug=false
+gl_debug_breakpoint=false
+gl_debug_level=0
+gl_distfog=70
+gl_dither_bpc=0
+gl_enhanced_nv_stealth=3
+gl_es=false
+gl_finishbeforeswap=false
+gl_fxaa=0
+gl_lens=false
+gl_lens_chromatic=1.12
+gl_lens_k=-0.12
+gl_lens_kcube=0.1
+gl_light_particles=true
+gl_light_shadowmap=false
+gl_light_sprites=true
+gl_lights=true
+gl_mask_sprite_threshold=0.5
+gl_mask_threshold=0.5
+gl_mirror_envmap=true
+gl_multisample=1
+gl_multithread=true
+gl_no_skyclear=false
+gl_particles_style=0
+gl_pipeline_depth=0
+gl_plane_reflection=true
+gl_satformula=1
+gl_seamless=true
+gl_shadowmap_filter=1
+gl_shadowmap_quality=512
+gl_sort_textures=false
+gl_sprite_blend=false
+gl_ssao=0
+gl_ssao_portals=1
+gl_ssao_strength=0.7
+gl_texture_filter=6
+gl_texture_filter_anisotropic=16
+gl_texture_hqresize_maxinputsize=512
+gl_texture_hqresize_mt_height=4
+gl_texture_hqresize_mt_width=16
+gl_texture_hqresize_multithread=true
+gl_texture_hqresize_targets=15
+gl_texture_hqresizemode=0
+gl_texture_hqresizemult=1
+gl_usecolorblending=true
+gme_stereodepth=0
+gus_memsize=0
+gus_patchdir=RETRODECKSTORAGESDIR/gzdoom/audio/midi
+hw_force_cambbpref=false
+i_discordrpc=false
+i_loadsupportwad=1
+i_pauseinbackground=true
+i_soundinbackground=false
+inter_subtitles=true
+invertmouse=false
+invertmousex=false
+language=auto
+longsavemessages=false
+lookstrafe=false
+m_blockcontrollers=false
+m_cleanscale=false
+m_forward=1
+m_pitch=1
+m_sensitivity_x=2
+m_sensitivity_y=2
+m_show_backbutton=0
+m_showinputgrid=0
+m_side=2
+m_simpleoptions=false
+m_use_mouse=2
+m_yaw=1
+map_point_coordinates=true
+midi_config=
+midi_dmxgus=false
+midi_voices=32
+mod_autochip=false
+mod_autochip_scan_threshold=12
+mod_autochip_size_force=100
+mod_autochip_size_scan=500
+mod_dumb_mastervolume=1
+mod_interp=2
+mod_preferred_player=0
+mod_samplerate=0
+mod_volramp=2
+mouse_capturemode=1
+mus_calcgain=true
+mus_enabled=true
+mus_gainoffset=0
+mus_usereplaygain=false
+nointerscrollabort=false
+nomonsterinterpolation=false
+opl_core=0
+opl_fullpan=true
+opl_numchips=2
+opn_chips_count=8
+opn_emulator_id=0
+opn_fullpan=true
+opn_run_at_pcm_rate=false
+os_isanyof=false
+png_gamma=0
+png_level=5
+queryiwad=false
+quicksavenum=-1
+quicksaverotation=false
+quicksaverotationcount=4
+r_actorspriteshadow=1
+r_actorspriteshadowalpha=0.5
+r_actorspriteshadowdist=1500
+r_actorspriteshadowfadeheight=0
+r_blendmethod=false
+r_dynlights=true
+r_fakecontrast=1
+r_fullbrightignoresectorcolor=true
+r_fuzzscale=true
+r_line_distance_cull=0
+r_linearsky=false
+r_magfilter=false
+r_minfilter=true
+r_mipmap=true
+r_mirror_recursions=4
+r_models=true
+r_multithreaded=1
+r_noaccel=false
+r_quakeintensity=1
+r_skipmats=false
+r_sprite_distance_cull=0
+r_spriteadjust=2
+r_ticstability=true
+save_dir=RETRODECKHOMEDIR/saves/doom/gzdoom
+save_formatted=false
+save_sort_order=0
+saveloadconfirmation=true
+savestatistics=0
+screenshot_dir=
+screenshot_quiet=false
+screenshot_type=png
+show_messages=true
+showendoom=1
+snd_aldevice=Default
+snd_alresampler=Default
+snd_backend=openal
+snd_buffersize=0
+snd_channels=128
+snd_efx=true
+snd_enabled=true
+snd_footstepvolume=1
+snd_hrtf=-1
+snd_mastervolume=1
+snd_mididevice=-5
+snd_midiprecache=false
+snd_musicvolume=0.5
+snd_samplerate=0
+snd_sfxvolume=1
+snd_streambuffersize=64
+snd_waterreverb=true
+statfile=zdoomstat.txt
+storesavepic=true
+strictdecorate=false
+telezoom=true
+timidity_channel_pressure=false
+timidity_chorus=0
+timidity_config=/app/share/games/doom/soundfonts/gzdoom.sf2
+timidity_drum_effect=false
+timidity_drum_power=1
+timidity_key_adjust=0
+timidity_lpf_def=1
+timidity_min_sustain_time=5000
+timidity_modulation_envelope=true
+timidity_modulation_wheel=true
+timidity_overlap_voice_allow=true
+timidity_pan_delay=false
+timidity_portamento=true
+timidity_reverb=0
+timidity_reverb_level=0
+timidity_surround_chorus=false
+timidity_temper_control=true
+timidity_tempo_adjust=1
+turnspeedsprintfast=1280
+turnspeedsprintslow=320
+turnspeedwalkfast=640
+turnspeedwalkslow=320
+use_joystick=true
+use_mouse=true
+vid_activeinbackground=false
+vid_adapter=0
+vid_aspect=2
+vid_brightness=0
+vid_contrast=1
+vid_cropaspect=false
+vid_defheight=480
+vid_defwidth=640
+vid_dontdowait=false
+vid_fullscreen=true
+vid_gamma=1
+vid_hdr=false
+vid_lowerinbackground=true
+vid_maxfps=200
+vid_preferbackend=1
+vid_rendermode=4
+vid_saturation=1
+vid_scale_customheight=800
+vid_scale_custompixelaspect=1
+vid_scale_customwidth=1280
+vid_scale_linear=false
+vid_scalefactor=1
+vid_scalemode=5
+vid_sdl_render_driver=
+vid_vsync=false
+vk_debug=false
+vk_debug_callstack=true
+vk_device=0
+vk_exclusivefullscreen=false
+vk_hdr=false
+vk_raytrace=false
+vr_hunits_per_meter=41
+vr_ipd=0.062
+vr_mode=0
+vr_screendist=0.8
+vr_swap_eyes=false
+warningstoerrors=false
+wildmidi_config=/app/share/games/doom/soundfonts/gzdoom.sf2
+wildmidi_enhanced_resampling=true
+wildmidi_reverb=false
+win_h=800
+win_maximized=true
+win_w=1280
+win_x=0
+win_y=0
+xbrz_centerdirectionbias=4
+xbrz_colorformat=0
+xbrz_dominantdirectionthreshold=3.6
+xbrz_equalcolortolerance=30
+xbrz_luminanceweight=1
+xbrz_steepdirectionthreshold=2.2
+
+[GlobalSettings.Unknown]
+disablecrashlog=
+gl_control_tear=
+in_mouse=
+joy_dinput=
+joy_ps2raw=
+joy_xinput=
+k_allowfullscreentoggle=
+k_mergekeys=
+m_swapbuttons=
+mus_gainoffset=0
+queryiwad_key=
+sentstats_hwr_done=
+sys_statsenabled49=
+sys_statshost=
+sys_statsport=
+vid_gpuswitch=
+vr_enable_quadbuffered=
+
+[Doom.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=RetroDECK
+neverswitchonpickup=false
+playerclass=Pistol Start
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[Doom.ConsoleVariables]
+addrocketexplosion=true
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=4c 38 20
+am_colorset=-1
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=88 70 58
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_lineantialiasing=0
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=false
+am_showkeys=true
+am_showkeys_always=false
+am_showlevelname=true
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=2c 18 08
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=0
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2
+compatmode=0
+con_alpha=0.75
+con_centernotify=false
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=0
+crosshair=1
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=false
+crosshairscale=0.5
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.4
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.35
+gl_exposure_min=0.35
+gl_exposure_scale=1.3
+gl_exposure_speed=0.05
+gl_fogmode=2
+gl_fuzztype=8
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=1
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.8
+gl_sclipthreshold=10
+gl_spriteclip=-1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_swaphealtharmor=false
+hud_timecolor=5
+hud_toggled=false
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+hw_2dmip=true
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=11
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=11
+msgmidcolor2=4
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_spriteclipanamorphicminbias=0.6
+r_vanillatrans=0
+saved_drawplayersprite=true
+saved_screenblocks=10
+saved_showmessages=true
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=10
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6
+snd_pitched=false
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=doomcurs
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=true
+wi_showtotaltime=true
+wipetype=1
+
+[Doom.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+r_dithertransparency=false
+r_radarclipper=false
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[Doom.ConfigOnlyVariables]
+
+[Doom.UnknownConsoleVariables]
+
+[Doom.ConsoleAliases]
+
+[Doom.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+I=di_toggleinfrared
+P=di_showupgrades_bind
+F=di_useitem_bind
+M=di_modscreen
+C=+crouch
+,=di_prevSong
+.=di_skipSong
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+Axis3Plus=di_modscreen
+Joy5=di_useitem_bind
+
+[Doom.DoubleBindings]
+
+[Doom.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[Heretic.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=RetroDECK
+neverswitchonpickup=false
+playerclass=Fighter
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[Heretic.ConsoleVariables]
+addrocketexplosion=false
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=73 43 23
+am_colorset=0
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=d0 b0 85
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_lineantialiasing=0
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=true
+am_showkeys=true
+am_showkeys_always=false
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=54 3b 17
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=1
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2
+compatmode=0
+con_alpha=0.75
+con_centernotify=true
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=2
+crosshair=2
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=true
+crosshairscale=0
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.4
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.35
+gl_exposure_min=0.35
+gl_exposure_scale=1.3
+gl_exposure_speed=0.05
+gl_fogmode=2
+gl_fuzztype=0
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=0
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.8
+gl_sclipthreshold=10
+gl_spriteclip=1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=9
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=9
+msgmidcolor2=10
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_vanillatrans=0
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=11
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6
+snd_pitched=true
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=-
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=false
+wi_showtotaltime=true
+wipetype=0
+
+[Heretic.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[Heretic.ConfigOnlyVariables]
+
+[Heretic.UnknownConsoleVariables]
+
+[Heretic.ConsoleAliases]
+
+[Heretic.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+C=+crouch
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy5=+zoom
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+
+[Heretic.DoubleBindings]
+
+[Heretic.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[Hexen.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=PortaDOOM
+neverswitchonpickup=false
+playerclass=Mage
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[Hexen.ConsoleVariables]
+addrocketexplosion=false
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=73 43 23
+am_colorset=0
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=d0 b0 85
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_lineantialiasing=0
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=true
+am_showkeys=true
+am_showkeys_always=false
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=54 3b 17
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=1
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2
+compatmode=0
+con_alpha=0.75
+con_centernotify=true
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=2
+crosshair=2
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=true
+crosshairscale=0
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.4
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.35
+gl_exposure_min=0.35
+gl_exposure_scale=1.3
+gl_exposure_speed=0.05
+gl_fogmode=2
+gl_fuzztype=0
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=0
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.8
+gl_sclipthreshold=10
+gl_spriteclip=1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=9
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=9
+msgmidcolor2=10
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_vanillatrans=0
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=11
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6
+snd_pitched=true
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=-
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=false
+wi_showtotaltime=true
+wipetype=0
+
+[Hexen.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[Hexen.ConfigOnlyVariables]
+
+[Hexen.UnknownConsoleVariables]
+
+[Hexen.ConsoleAliases]
+
+[Hexen.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+C=+crouch
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy5=+zoom
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+
+[Hexen.DoubleBindings]
+
+[Hexen.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[Strife.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=RetroDECK
+neverswitchonpickup=false
+playerclass=Fighter
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[Strife.ConsoleVariables]
+addrocketexplosion=false
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=4c 38 20
+am_colorset=0
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=88 70 58
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_lineantialiasing=0
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=true
+am_showkeys=true
+am_showkeys_always=false
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=2c 18 08
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=1
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2
+compatmode=0
+con_alpha=0.75
+con_centernotify=false
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=2
+crosshair=2
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=true
+crosshairscale=0
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.4
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.35
+gl_exposure_min=0.35
+gl_exposure_scale=1.3
+gl_exposure_speed=0.05
+gl_fogmode=2
+gl_fuzztype=0
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=0
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.8
+gl_sclipthreshold=10
+gl_spriteclip=1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=11
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=11
+msgmidcolor2=4
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_vanillatrans=0
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=11
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6
+snd_pitched=false
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=-
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=true
+wi_showtotaltime=true
+wipetype=3
+
+[Strife.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[Strife.ConfigOnlyVariables]
+
+[Strife.UnknownConsoleVariables]
+
+[Strife.ConsoleAliases]
+
+[Strife.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+C=+crouch
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy5=+zoom
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+
+[Strife.DoubleBindings]
+
+[Strife.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[Chex.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=RetroDECK
+neverswitchonpickup=false
+playerclass=Fighter
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[Chex.ConsoleVariables]
+addrocketexplosion=false
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=4c 38 20
+am_colorset=0
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=88 70 58
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_lineantialiasing=0
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=true
+am_showkeys=true
+am_showkeys_always=false
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=2c 18 08
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=1
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2
+compatmode=0
+con_alpha=0.75
+con_centernotify=false
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=2
+crosshair=2
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=true
+crosshairscale=0
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.4
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.35
+gl_exposure_min=0.35
+gl_exposure_scale=1.3
+gl_exposure_speed=0.05
+gl_fogmode=2
+gl_fuzztype=0
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=0
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.8
+gl_sclipthreshold=10
+gl_spriteclip=1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=11
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=11
+msgmidcolor2=4
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_vanillatrans=0
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=11
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6
+snd_pitched=false
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=-
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=true
+wi_showtotaltime=true
+wipetype=1
+
+[Chex.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[Chex.ConfigOnlyVariables]
+
+[Chex.UnknownConsoleVariables]
+
+[Chex.ConsoleAliases]
+
+[Chex.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+C=+crouch
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy5=+zoom
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+
+[Chex.DoubleBindings]
+
+[Chex.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[Harmony.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+[Harmony.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=RetroDECK
+neverswitchonpickup=false
+playerclass=Fighter
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[Harmony.ConsoleVariables]
+addrocketexplosion=false
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=4c 38 20
+am_colorset=0
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=88 70 58
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=true
+am_showkeys=true
+am_showkeys_always=false
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=2c 18 08
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=1
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2000000476837158
+compatmode=0
+con_alpha=0.75
+con_centernotify=false
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=2
+crosshair=2
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=true
+crosshairscale=0
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.399999976158142
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.3499999940395355
+gl_exposure_min=0.3499999940395355
+gl_exposure_scale=1.2999999523162842
+gl_exposure_speed=0.05000000074505806
+gl_fogmode=2
+gl_fuzztype=0
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=0
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.7999999523162842
+gl_sclipthreshold=10
+gl_spriteclip=1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=11
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=11
+msgmidcolor2=4
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_vanillatrans=0
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=11
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6000000238418579
+snd_pitched=false
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=-
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=true
+wi_showtotaltime=true
+wipetype=1
+
+[Harmony.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[Harmony.ConfigOnlyVariables]
+
+[Harmony.UnknownConsoleVariables]
+
+[Harmony.ConsoleAliases]
+
+[Harmony.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+C=+crouch
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy5=+zoom
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+
+[Harmony.DoubleBindings]
+
+[Harmony.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[WoolBall.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+[WoolBall.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=RetroDECK
+neverswitchonpickup=false
+playerclass=Fighter
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[WoolBall.ConsoleVariables]
+addrocketexplosion=false
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=4c 38 20
+am_colorset=0
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=88 70 58
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=true
+am_showkeys=true
+am_showkeys_always=false
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=2c 18 08
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=1
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2000000476837158
+compatmode=0
+con_alpha=0.75
+con_centernotify=false
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=2
+crosshair=2
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=true
+crosshairscale=0
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.399999976158142
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.3499999940395355
+gl_exposure_min=0.3499999940395355
+gl_exposure_scale=1.2999999523162842
+gl_exposure_speed=0.05000000074505806
+gl_fogmode=2
+gl_fuzztype=0
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=0
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.7999999523162842
+gl_sclipthreshold=10
+gl_spriteclip=1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=11
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=11
+msgmidcolor2=4
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_vanillatrans=0
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=11
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6000000238418579
+snd_pitched=false
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=-
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=true
+wi_showtotaltime=true
+wipetype=1
+
+[WoolBall.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[WoolBall.ConfigOnlyVariables]
+
+[WoolBall.UnknownConsoleVariables]
+
+[WoolBall.ConsoleAliases]
+
+[WoolBall.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+C=+crouch
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy5=+zoom
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+
+[WoolBall.DoubleBindings]
+
+[WoolBall.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[Square.AutoExec]
+Path=$PROGDIR/autoexec.cfg
+
+[Square.Player]
+autoaim=35
+classicflight=false
+color=40 cf 00
+colorset=0
+fov=90
+fviewbob=true
+gender=other
+movebob=0.25
+name=RetroDECK
+neverswitchonpickup=false
+playerclass=Fighter
+skin=base
+stillbob=0
+team=255
+vertspread=false
+wbobfire=0
+wbobspeed=1
+wi_noautostartmap=false
+
+[Square.Player.Mod]
+square_jabber_chance=15
+square_subtitles=false
+
+[Square.ConsoleVariables]
+addrocketexplosion=false
+adl_bank=14
+adl_custom_bank=
+adl_use_custom_bank=false
+allcheats=false
+am_backcolor=6c 54 40
+am_cdwallcolor=4c 38 20
+am_colorset=0
+am_customcolors=true
+am_drawmapback=1
+am_efwallcolor=66 55 55
+am_emptyspacemargin=0
+am_fdwallcolor=88 70 58
+am_followplayer=true
+am_gridcolor=8b 5a 2b
+am_interlevelcolor=ff 00 00
+am_intralevelcolor=00 00 ff
+am_linealpha=1
+am_linethickness=1
+am_lockedcolor=00 78 00
+am_map_secrets=1
+am_markcolor=2
+am_markfont=AMMNUMx
+am_notseencolor=6c 6c 6c
+am_ovcdwallcolor=00 88 44
+am_ovefwallcolor=00 88 44
+am_overlay=0
+am_ovfdwallcolor=00 88 44
+am_ovinterlevelcolor=ff ff 00
+am_ovlockedcolor=00 88 44
+am_ovotherwallscolor=00 88 44
+am_ovportalcolor=00 40 22
+am_ovsecretsectorcolor=00 ff ff
+am_ovsecretwallcolor=00 88 44
+am_ovspecialwallcolor=ff ff ff
+am_ovtelecolor=ff ff 00
+am_ovthingcolor=e8 88 00
+am_ovthingcolor_citem=e8 88 00
+am_ovthingcolor_friend=e8 88 00
+am_ovthingcolor_item=e8 88 00
+am_ovthingcolor_monster=e8 88 00
+am_ovthingcolor_ncmonster=e8 88 00
+am_ovunexploredsecretcolor=00 ff ff
+am_ovunseencolor=00 22 6e
+am_ovwallcolor=00 ff 00
+am_ovyourcolor=fc e8 d8
+am_portalcolor=40 40 40
+am_portaloverlay=true
+am_rotate=0
+am_secretsectorcolor=ff 00 ff
+am_secretwallcolor=00 00 00
+am_showcluster=false
+am_showepisode=false
+am_showgrid=false
+am_showitems=true
+am_showkeys=true
+am_showkeys_always=false
+am_showmaplabel=2
+am_showmonsters=true
+am_showsecrets=true
+am_showthingsprites=0
+am_showtime=true
+am_showtotaltime=false
+am_showtriggerlines=0
+am_specialwallcolor=ff ff ff
+am_textured=false
+am_thingcolor=fc fc fc
+am_thingcolor_citem=fc fc fc
+am_thingcolor_friend=fc fc fc
+am_thingcolor_item=fc fc fc
+am_thingcolor_monster=fc fc fc
+am_thingcolor_ncmonster=fc fc fc
+am_thingrenderstyles=true
+am_tswallcolor=88 88 88
+am_unexploredsecretcolor=ff 00 ff
+am_wallcolor=2c 18 08
+am_xhaircolor=80 80 80
+am_yourcolor=fc e8 d8
+am_zoomdir=0
+blood_fade_scalar=1
+chat_substitution=false
+chatmacro0=No
+chatmacro1=I'm ready to kick butt!
+chatmacro2=I'm OK.
+chatmacro3=I'm not looking too good!
+chatmacro4=Help!
+chatmacro5=You suck!
+chatmacro6=Next time, scumbag...
+chatmacro7=Come here!
+chatmacro8=I'll take care of it.
+chatmacro9=Yes
+cl_bbannounce=false
+cl_bloodsplats=true
+cl_bloodtype=0
+cl_custominvulmapcolor1=00 00 1a
+cl_custominvulmapcolor2=a6 a6 7a
+cl_customizeinvulmap=false
+cl_doautoaim=false
+cl_gfxlocalization=3
+cl_maxdecals=1024
+cl_missiledecals=true
+cl_nointros=false
+cl_pufftype=0
+cl_rockettrails=1
+cl_showmultikills=true
+cl_showsecretmessage=true
+cl_showsprees=true
+cl_spreaddecals=true
+classic_scaling_factor=1
+classic_scaling_pixelaspect=1.2000000476837158
+compatmode=0
+con_alpha=0.75
+con_centernotify=false
+con_midtime=3
+con_notablist=false
+con_notifytime=3
+con_pulsetext=false
+con_scale=0
+con_scaletext=2
+crosshair=2
+crosshaircolor=ff 00 00
+crosshairforce=false
+crosshairgrow=false
+crosshairhealth=2
+crosshairon=true
+crosshairscale=0
+dehload=0
+dimamount=-1
+dimcolor=ff d7 00
+displaynametags=0
+dlg_musicvolume=1
+dlg_vgafont=false
+gl_aalines=false
+gl_bandedswlight=false
+gl_bloom=false
+gl_bloom_amount=1.399999976158142
+gl_brightfog=false
+gl_coronas=true
+gl_enhanced_nightvision=true
+gl_exposure_base=0.3499999940395355
+gl_exposure_min=0.3499999940395355
+gl_exposure_scale=1.2999999523162842
+gl_exposure_speed=0.05000000074505806
+gl_fogmode=2
+gl_fuzztype=0
+gl_interpolate_model_frames=true
+gl_light_models=true
+gl_lightadditivesurfaces=false
+gl_lightmode=0
+gl_menu_blur=-1
+gl_paltonemap_powtable=2
+gl_paltonemap_reverselookup=true
+gl_precache=false
+gl_scale_viewport=true
+gl_sclipfactor=1.7999999523162842
+gl_sclipthreshold=10
+gl_spriteclip=1
+gl_tonemap=0
+gl_weaponlight=8
+hud_althud=false
+hud_althud_forceinternal=false
+hud_althudscale=0
+hud_ammo_order=0
+hud_ammo_red=25
+hud_ammo_yellow=50
+hud_armor_green=100
+hud_armor_red=25
+hud_armor_yellow=50
+hud_aspectscale=true
+hud_berserk_health=true
+hud_health_green=100
+hud_health_red=25
+hud_health_yellow=50
+hud_oldscale=true
+hud_scale=-1
+hud_scalefactor=1
+hud_showammo=2
+hud_showangles=false
+hud_showitems=false
+hud_showlag=0
+hud_showmonsters=true
+hud_showscore=false
+hud_showsecrets=true
+hud_showstats=false
+hud_showtime=0
+hud_showtimestat=0
+hud_showweapons=true
+hud_timecolor=5
+hudcolor_ltim=8
+hudcolor_statnames=6
+hudcolor_stats=3
+hudcolor_time=6
+hudcolor_titl=10
+hudcolor_ttim=5
+hudcolor_xyco=3
+inter_classic_scaling=true
+log_vgafont=false
+lookspring=true
+m_quickexit=false
+msg=0
+msg0color=11
+msg1color=5
+msg2color=2
+msg3color=3
+msg4color=3
+msgmidcolor=11
+msgmidcolor2=4
+nametagcolor=5
+nocheats=false
+opn_custom_bank=
+opn_use_custom_bank=false
+paletteflash=0
+pickup_fade_scalar=1
+r_deathcamera=false
+r_drawfuzz=1
+r_maxparticles=4000
+r_portal_recursions=4
+r_rail_smartspiral=false
+r_rail_spiralsparsity=1
+r_rail_trailsparsity=1
+r_skymode=2
+r_vanillatrans=0
+sb_cooperative_enable=true
+sb_cooperative_headingcolor=6
+sb_cooperative_otherplayercolor=2
+sb_cooperative_yourplayercolor=3
+sb_deathmatch_enable=true
+sb_deathmatch_headingcolor=6
+sb_deathmatch_otherplayercolor=2
+sb_deathmatch_yourplayercolor=3
+sb_teamdeathmatch_enable=true
+sb_teamdeathmatch_headingcolor=6
+screenblocks=11
+setslotstrict=true
+show_obituaries=true
+snd_menuvolume=0.6000000238418579
+snd_pitched=false
+st_oldouch=false
+st_scale=-1
+transsouls=0.75
+ui_screenborder_classic_scaling=true
+uiscale=0
+underwater_fade_scalar=1
+vid_allowtrueultrawide=1
+vid_cursor=-
+vid_nopalsubstitutions=false
+wi_cleantextscale=false
+wi_percents=true
+wi_showtotaltime=true
+wipetype=1
+
+[Square.LocalServerInfo]
+compatflags=0
+compatflags2=0
+forcewater=false
+maxviewpitch=90
+sv_corpsequeuesize=64
+sv_disableautohealth=false
+sv_dropstyle=0
+sv_portal_recursions=4
+sv_smartaim=0
+
+[Square.LocalServerInfo.Mod]
+square_hints=false
+
+[Square.ConfigOnlyVariables]
+
+[Square.ConfigOnlyVariables.Mod]
+
+[Square.UnknownConsoleVariables]
+
+[Square.ConsoleAliases]
+
+[Square.Bindings]
+1=slot 1
+2=slot 2
+3=slot 3
+4=slot 4
+5=slot 5
+6=slot 6
+7=slot 7
+8=slot 8
+9=slot 9
+0=slot 0
+-=sizedown
+Equals=sizeup
+Tab=togglemap
+W=+forward
+E=+use
+T=messagemode
+Enter=invuse
+A=+moveleft
+S=+back
+D=+moveright
+`=toggleconsole
+Shift=+speed
+\=+showscores
+CapsLock=toggle cl_run
+Space=+jump
+F1=menu_help
+F2=menu_save
+F3=menu_load
+F4=menu_options
+F5=menu_display
+F6=quicksave
+F7=menu_endgame
+F8=togglemessages
+F9=quickload
+F10=menu_quit
+Scroll=+showscores
+F11=bumpgamma
+F12=spynext
+SysRq=screenshot
+Pause=pause
+Home=land
+PgUp=+moveup
+End=centerview
+PgDn=+lookup
+Ins=+movedown
+Del=+lookdown
+Mouse1=+attack
+Mouse2=+altattack
+MWheelUp=weapprev
+MWheelDown=weapnext
+W=+forward
+E=+use
+A=+moveleft
+S=+back
+D=+moveright
+C=+crouch
+UpArrow=+forward
+LeftArrow=+moveleft
+RightArrow=+moveright
+DownArrow=+back
+Joy1=+use
+Joy3=+crouch
+Joy4=+reload
+Joy5=+zoom
+Joy6=+altattack
+Joy8=menu_main
+Joy10=toggle cl_run
+Joy11=turn180
+Axis1Plus=+moveright
+Axis1Minus=+moveleft
+Axis2Plus=+back
+Axis2Minus=+forward
+Joy2=+jump
+Joy7=togglemap
+POV1Up=invnext
+POV1Right=weapnext
+POV1Down=invuse
+POV1Left=weapprev
+Axis4Plus=+right
+Axis4Minus=+left
+Axis5Plus=+lookdown
+Axis5Minus=+lookup
+Axis6Plus=+attack
+
+[Square.DoubleBindings]
+
+[Square.AutomapBindings]
+0=am_gobig
+-=+am_zoomout
+Equals=+am_zoomin
+P=am_toggletexture
+F=am_togglefollow
+G=am_togglegrid
+C=am_clearmarks
+M=am_setmark
+KP-=+am_zoomout
+KP+=+am_zoomin
+UpArrow=+am_panup
+LeftArrow=+am_panleft
+RightArrow=+am_panright
+DownArrow=+am_pandown
+MWheelUp=am_zoom 1.2
+MWheelDown=am_zoom -1.2
+
+[Doom.FPPBind.Bindings]
+
+[Doom.FPPBind.DoubleBindings]
+
+[Doom.BrutalDoomActions.Bindings]
+Joy5=+zoom
+Joy4=+reload
+Axis3Plus=grenadetoss
+
+[Doom.BrutalDoomActions.DoubleBindings]
+
+[Doom.BrutalDoomInteractions.Bindings]
+H=brutaltaunt
+V=wave1
+N=wave2
+J=advtaunt
+K=oneliner
+X=dual
+O=selectammodrop
+
+[Doom.BrutalDoomInteractions.DoubleBindings]
+
+[Doom.BrutalDoomAdvMoves.Bindings]
+
+[Doom.BrutalDoomAdvMoves.DoubleBindings]
+
+[Doom.PBAdvMoves.Bindings]
+U=unreloader
+G=+User1
+Axis3Plus=+user1
+Joy5=+user2
+Alt=+User3
+Joy11=+user3
+L=netevent EV_ClearGore
+
+[Doom.PBAdvMoves.DoubleBindings]
+
+[Doom.modactions.Bindings]
+
+[Doom.modactions.DoubleBindings]
+
+[Doom.Player.Mod]
+CHUD_DI_OffsetYActive=0
+CHUD_DI_OffsetYMain=0
+CHUD_DI_OffsetYPowerups=0
+CHUD_DI_OffsetYTrinket=0
+CHUD_DI_Opacity=1
+CutsceneMode=1
+DICache_GM1=0.0
+DICache_GM2=0.0
+DICache_GM3=0.0
+DICache_N1=0.0.0.0.0.0.0
+DICache_N2=0.0.0.0.0.0.0
+DICache_N3=0.0.0.0.0.0.0
+DICache_N4=0.0.0.0.0.0.0
+DICache_POWAHIST0=10000000000000000000000000
+DICache_POWAHIST1=00000000000000000000000000
+DICache_POWAHIST2=00000000000000000000000000
+DICache_POWAHIST3=00000000000000000000000000
+DICache_POWAHIST4=00000000000000000000000000
+DICache_POWHIST0=01000000000000000000000000
+DICache_POWHIST1=00000000000000000000000000
+DICache_POWHIST10=00000000000000000000000000
+DICache_POWHIST11=00000000000000000000000000
+DICache_POWHIST12=00000000000000000000000000
+DICache_POWHIST13=00000000000000000000000000
+DICache_POWHIST14=00000000000000000000000000
+DICache_POWHIST15=00000000000000000000000000
+DICache_POWHIST16=00000000000000000000000000
+DICache_POWHIST17=00000000000000000000000000
+DICache_POWHIST18=00000000000000000000000000
+DICache_POWHIST19=00000000000000000000000000
+DICache_POWHIST2=00000000000000000000000000
+DICache_POWHIST20=00000000000000000000000000
+DICache_POWHIST21=00000000000000000000000000
+DICache_POWHIST22=00000000000000000000000000
+DICache_POWHIST23=00000000000000000000000000
+DICache_POWHIST24=00000000000000000000000000
+DICache_POWHIST25=00000000000000000000000000
+DICache_POWHIST26=00000000000000000000000000
+DICache_POWHIST27=00000000000000000000000000
+DICache_POWHIST28=00000000000000000000000000
+DICache_POWHIST29=00000000000000000000000000
+DICache_POWHIST3=00000000000000000000000000
+DICache_POWHIST30=00000000000000000000000000
+DICache_POWHIST31=00000000000000000000000000
+DICache_POWHIST32=00000000000000000000000000
+DICache_POWHIST33=00000000000000000000000000
+DICache_POWHIST34=00000000000000000000000000
+DICache_POWHIST35=00000000000000000000000000
+DICache_POWHIST36=00000000000000000000000000
+DICache_POWHIST37=00000000000000000000000000
+DICache_POWHIST38=00000000000000000000000000
+DICache_POWHIST39=00000000000000000000000000
+DICache_POWHIST4=00000000000000000000000000
+DICache_POWHIST40=00000000000000000000000000
+DICache_POWHIST41=00000000000000000000000000
+DICache_POWHIST42=00000000000000000000000000
+DICache_POWHIST43=00000000000000000000000000
+DICache_POWHIST44=00000000000000000000000000
+DICache_POWHIST45=00000000000000000000000000
+DICache_POWHIST46=00000000000000000000000000
+DICache_POWHIST47=00000000000000000000000000
+DICache_POWHIST48=00000000000000000000000000
+DICache_POWHIST49=00000000000000000000000000
+DICache_POWHIST5=00000000000000000000000000
+DICache_POWHIST50=00000000000000000000000000
+DICache_POWHIST51=00000000000000000000000000
+DICache_POWHIST52=00000000000000000000000000
+DICache_POWHIST53=00000000000000000000000000
+DICache_POWHIST54=00000000000000000000000000
+DICache_POWHIST55=00000000000000000000000000
+DICache_POWHIST56=00000000000000000000000000
+DICache_POWHIST57=00000000000000000000000000
+DICache_POWHIST58=00000000000000000000000000
+DICache_POWHIST59=00000000000000000000000000
+DICache_POWHIST6=00000000000000000000000000
+DICache_POWHIST60=00000000000000000000000000
+DICache_POWHIST61=00000000000000000000000000
+DICache_POWHIST62=00000000000000000000000000
+DICache_POWHIST63=00000000000000000000000000
+DICache_POWHIST64=00000000000000000000000000
+DICache_POWHIST65=00000000000000000000000000
+DICache_POWHIST66=00000000000000000000000000
+DICache_POWHIST67=00000000000000000000000000
+DICache_POWHIST68=00000000000000000000000000
+DICache_POWHIST69=00000000000000000000000000
+DICache_POWHIST7=00000000000000000000000000
+DICache_POWHIST70=00000000000000000000000000
+DICache_POWHIST71=00000000000000000000000000
+DICache_POWHIST72=00000000000000000000000000
+DICache_POWHIST73=00000000000000000000000000
+DICache_POWHIST74=00000000000000000000000000
+DICache_POWHIST75=00000000000000000000000000
+DICache_POWHIST76=00000000000000000000000000
+DICache_POWHIST77=00000000000000000000000000
+DICache_POWHIST78=00000000000000000000000000
+DICache_POWHIST79=00000000000000000000000000
+DICache_POWHIST8=00000000000000000000000000
+DICache_POWHIST80=00000000000000000000000000
+DICache_POWHIST81=00000000000000000000000000
+DICache_POWHIST82=00000000000000000000000000
+DICache_POWHIST83=00000000000000000000000000
+DICache_POWHIST84=00000000000000000000000000
+DICache_POWHIST85=00000000000000000000000000
+DICache_POWHIST86=00000000000000000000000000
+DICache_POWHIST87=00000000000000000000000000
+DICache_POWHIST88=00000000000000000000000000
+DICache_POWHIST89=00000000000000000000000000
+DICache_POWHIST9=00000000000000000000000000
+DICache_POWHIST90=00000000000000000000000000
+DICache_POWHIST91=00000000000000000000000000
+DICache_POWHIST92=00000000000000000000000000
+DICache_POWHIST93=00000000000000000000000000
+DICache_POWHIST94=00000000000000000000000000
+DICache_POWHIST95=00000000000000000000000000
+DICache_POWHIST96=00000000000000000000000000
+DICache_POWHIST97=00000000000000000000000000
+DICache_POWHIST98=00000000000000000000000000
+DICache_POWHIST99=00000000000000000000000000
+DICache_S=61
+DICache_T=c4a3ba6c1042460a323640d06747ffdb
+DIChallengeText=
+DIDrawHUD=1
+DIFX_BlackArmor=0
+DIFX_Blind=0
+DIFX_FadeIn=0
+DIFX_Infrared=0
+DIFX_Inv=0
+DIFX_LowHP=0
+DIFX_Quad=0
+DIFX_RadSuit=0
+DIFX_TempInv=0
+DIFX_tPickup=0
+DIHUD_BGOpacity=0.75
+DIHUD_DisplayOverheal=true
+DIHUD_HealthBar=true
+DIHUD_HelpMsg=true
+DIHUD_LowAmmoWarning=true
+DIHUD_LowHealthVing=true
+DIHUD_MarginBottom=0
+DIHUD_MarginLeft=0
+DIHUD_MarginRight=0
+DIHUD_MarginTop=0
+DIHUD_MenuBGColor=1
+DIHUD_MonsterHealthBarOpacity=1
+DIHUD_Mugshot=true
+DIHUD_MugshotBG=true
+DIHUD_MugshotOpacity=1
+DIHUD_MugshotStyle=0
+DIHUD_MugshotX=0
+DIHUD_MugshotY=0
+DIHUD_PowerupScale=3
+DIHUD_ShowMonsterHealthBar=true
+DIHUD_SmallPowerups=false
+DIHUD_StatusIconsPerRow=4
+DIHUD_Style=0
+DIHUD_Transparency=1
+DIIA_M1awards=
+DIIA_M1rank=0
+DIIA_M1score=0
+DIIA_M1texSet=494648464648
+DIIA_M2awards=
+DIIA_M2rank=0
+DIIA_M2score=0
+DIIA_M2texSet=504648464648
+DIIA_M3awards=
+DIIA_M3rank=0
+DIIA_M3score=0
+DIIA_M3texSet=514648464648
+DIIA_M4awards=
+DIIA_M4rank=0
+DIIA_M4score=0
+DIIA_M4texSet=524648464648
+DIIA_M5awards=
+DIIA_M5rank=0
+DIIA_M5score=0
+DIIA_M5texSet=534648464648
+DIKILL_Arachnotron=0
+DIKILL_Archvile=0
+DIKILL_Baron=0
+DIKILL_Caco=0
+DIKILL_Cyber=0
+DIKILL_Demon=0
+DIKILL_Hell=0
+DIKILL_Imp=0
+DIKILL_Knight=0
+DIKILL_Lost=0
+DIKILL_Mancubus=0
+DIKILL_Pain=0
+DIKILL_Revenant=0
+DIKILL_Spider=0
+DIKILL_Total=0
+DIKILL_Zombie=0
+DIKILL_ZombieC=0
+DIKILL_ZombieS=0
+DIKill_Gibbed=0
+DIKill_Nightmare=0
+DIMapTimer=0
+DIMeleeCombo=0
+DIMeleeComboTimer=0
+DINet_Test=0
+DINet_WriteTest=0
+DINextMap=
+DIPW_ACS=0
+DIRewardText=
+DIUpgradesCharge=
+DIUpgradesCount=
+DIUpgradesLibA=
+DIUpgradesLibPCount=
+DIUpgradesLibPSet=
+DIUpgradesLibPSymbol=
+DIUpgradesSet=
+DIUpgradesString=
+DIUpgradesSymbol=
+DIValidLoad=0
+DIValidStamp=0
+DI_ActiveManualPickup=false
+DI_AddUpgradePerRow=0
+DI_AdvMonsterAnim=true
+DI_AmbientLights=true
+DI_AmbientLightsLevel=2
+DI_AmbientParticles=true
+DI_AmbientSounds=true
+DI_AmbientSoundsVolume=0.699997
+DI_AtmoColorByCeiling=true
+DI_AtmoColorByLiquid=true
+DI_AtmoLiquidEffects=true
+DI_AtmoLiquidVapors=true
+DI_AtmoQuality=2
+DI_AtmoSkyStyle=0
+DI_BarrelNoise=true
+DI_BloodLevel=2
+DI_BonusMapType=0
+DI_BoosBarShake=0
+DI_BossCamID=0
+DI_BossCurrentHP=0
+DI_BossID=0
+DI_BossIntro=0
+DI_BossMaxHP=0
+DI_BossName=
+DI_BossPresent=false
+DI_BossTitle=
+DI_CVARCorrected=true
+DI_CamAdjust=false
+DI_CamAdjustSet=
+DI_CamRoll=0
+DI_CamSet=false
+DI_CamSpawn=false
+DI_CamSpeed=1
+DI_CamZoom=0
+DI_ChlHist=
+DI_ChlID=0
+DI_ChlSc1=0
+DI_ChlSc10=0
+DI_ChlSc11=0
+DI_ChlSc12=0
+DI_ChlSc13=0
+DI_ChlSc14=0
+DI_ChlSc15=0
+DI_ChlSc16=0
+DI_ChlSc17=0
+DI_ChlSc18=0
+DI_ChlSc19=0
+DI_ChlSc2=0
+DI_ChlSc20=0
+DI_ChlSc3=0
+DI_ChlSc4=0
+DI_ChlSc5=0
+DI_ChlSc6=0
+DI_ChlSc7=0
+DI_ChlSc8=0
+DI_ChlSc9=0
+DI_DDActiveID=-1
+DI_DDM=0
+DI_DDMap=-1
+DI_DDPassiveID=none
+DI_DDPassiveSET=none
+DI_DDS=0
+DI_DDW=0
+DI_DDWeaponID=none
+DI_DDX=0
+DI_DDY=0
+DI_DDZ=0
+DI_DL=0
+DI_DP=0
+DI_DamageNumbers=true
+DI_DamageNumbersColor=FontDefault
+DI_DamageNumbersOpacity=1
+DI_DamageNumbersScale=1
+DI_DisplayStartQuote=true
+DI_DisplayUpgrades=true
+DI_DynamicMusic=true
+DI_DynamicReverb=2
+DI_DynamicSkybox=true
+DI_EndRunCount=0
+DI_FixLinuxCrash=false
+DI_GameMode=0
+DI_GameState=0
+DI_HActUsed=0
+DI_HAttempts=0
+DI_HDeaths=0
+DI_HKills=0
+DI_HLoops=0
+DI_HMaps=0
+DI_HShopped=0
+DI_HSouls=0
+DI_HTimeH=0
+DI_HTimeM=0
+DI_HTimeS=0
+DI_HUDAmmo=true
+DI_HUDAmmoSummary=true
+DI_HUDAmmoTypes=true
+DI_HUDMaxHP=true
+DI_HUDScaling=3
+DI_HUDStats=true
+DI_HUDStatsSimple=false
+DI_HUDStatusIcons=true
+DI_HUDWeaponHint=true
+DI_HelpMsgModpack=true
+DI_HideCross=false
+DI_HideCrossNPC=false
+DI_HitscanTracers=2
+DI_ImpactSurfaceSounds=true
+DI_InfraredAutoOn=true
+DI_InfraredOn=true
+DI_Loading=0
+DI_MD=0
+DI_MapHelperArrow=true
+DI_MapHelperHint=0
+DI_MapHelperHints=true
+DI_MapHelperPoints=true
+DI_MidiSwitcher=true
+DI_MidiSwitcherMax=5
+DI_MidiSwitcherMin=3
+DI_ModTimes=0
+DI_MuzzleFlash=true
+DI_NewestVersion=0.978.6
+DI_NewsRead=true
+DI_NoHUD=false
+DI_OSSetup=true
+DI_PKDR=1
+DI_PinAvAddA=0
+DI_PinAvAddB=0
+DI_PinAvMode=0
+DI_PlayerEffects=true
+DI_PowerupTooltip=true
+DI_ProjectileDecals=true
+DI_ProjectileLights=2
+DI_ProjectileShake=true
+DI_ProjectileSounds=true
+DI_ProjectileSoundsDoppler=true
+DI_RandomizeMusic=true
+DI_SBInfoDamage=0
+DI_SBInfoLuck=0
+DI_SBInfoMaxHP=0
+DI_SBInfoMeleePower=1
+DI_SBInfoModPacks=0
+DI_SBInfoSpeed=0
+DI_SFXFootsteps=true
+DI_SFXFootstepsVolume=1
+DI_SacScore=0
+DI_ScaleMonsterPitch=false
+DI_ScalingX=3
+DI_ScalingY=3
+DI_ScreenshotOnDeath=false
+DI_ShowCriticals=1
+DI_SkipIntro=true
+DI_StreamOverlay=false
+DI_StreamOverlayColor=2
+DI_StreamOverlayDetails=2
+DI_StreamOverlayFont=0
+DI_StreamOverlayOffsetX=0
+DI_StreamOverlayOffsetY=0
+DI_StreamOverlayOpacity=0.5
+DI_TexAmbientSounds=true
+DI_TouchDeviceInput=false
+DI_TutorialComplete=0
+DI_VaporDensity=3
+DI_WeaponHum=true
+DI_WeaponSelectSound=true
+DI_WeaponShake=true
+DI_WeaponsCasingFX=true
+DI_WeaponsOverheatFX=true
+DI_karma=0
+DI_skill=1
+DImusMan_cmd=0
+PB_HatExtravaganza=0
+PB_alttracer=0
+PB_tracerlight=0
+PlayerCatchup=false
+SingleDualFire=0
+bd_AimMode=0
+bd_Cross=0
+bd_CrossASG=0
+bd_CrossBFG10K=0
+bd_CrossBFG9K=0
+bd_CrossFlame=0
+bd_CrossGL=0
+bd_CrossMinigun=0
+bd_CrossPistol=0
+bd_CrossPlasma=0
+bd_CrossRL=0
+bd_CrossRailgun=0
+bd_CrossRev=0
+bd_CrossRifle=0
+bd_CrossSMG=0
+bd_CrossSSG=0
+bd_CrossShotgun=0
+bd_CrossUnmaker=0
+bd_SimpleSlide=0
+bd_autoreload=true
+bd_bloodamount=2
+bd_centeredhud=false
+bd_disablebloodyscreen=0
+bd_enablesprint=0
+bd_flashlight=0
+bd_lowgraphicsmode=0
+bd_morebloodmist=0
+bd_sbartype=1
+cheello_rotatingEvilEye=1
+cheello_smoothdemons=0
+cheello_smoothdemonsbite=1
+cheello_spinningpickups=1
+cheello_voxelIconAlign=false
+cheello_voxelIconOfSin=true
+cheello_voxelIconOffset=0
+cheello_voxelweaponsClose=0
+cheello_voxelweaponsOn=1
+cheello_voxelweaponsPhase=1
+cheello_voxelweaponsSide=0
+cl_MoveTilt=true
+cl_flashlight_plus_color=7f 7f 7f
+cl_flashlight_plus_color_2_mult=1
+cl_flashlight_plus_inner=25
+cl_flashlight_plus_inner_2=8
+cl_flashlight_plus_intensity=256
+cl_flashlight_plus_intensity_2=512
+cl_flashlight_plus_location=0
+cl_flashlight_plus_outer=50
+cl_flashlight_plus_outer_2=16
+cl_flashlight_plus_plus_alertmonsters=true
+cl_flashlight_plus_plus_custpos_x=0
+cl_flashlight_plus_plus_custpos_y=0
+cl_flashlight_plus_plus_custpos_z=0
+cl_flashlight_plus_plus_playsound=true
+cl_flashlight_plus_plus_sound=0
+cl_flashlight_plus_second_beam=true
+cl_step_delaymul=1
+cl_step_volmul=7
+debug_activateRoom=0
+debug_add_souls=0
+debug_boss=0
+debug_camMode=false
+debug_director=false
+debug_director_x=9
+debug_director_y=72
+debug_dump=false
+debug_enabled=false
+debug_fast_start=false
+debug_helpers=false
+debug_hud=true
+debug_input=false
+debug_limbo=false
+debug_limbo_challenge=0
+debug_limbo_corridor=0
+debug_limbo_room=0
+debug_list_active=0
+debug_list_passive=0
+debug_loop_main=true
+debug_loop_player=true
+debug_melee=0
+debug_modDiff=0
+debug_monster_traits=true
+debug_next_map=
+debug_noValid=false
+debug_pass=
+debug_set_curse=0
+debug_spawn_active=-1
+debug_spawn_passive=-1
+debug_spawn_powerArg=0
+debug_spawner=true
+debug_spawner_items=true
+debug_spawner_monsters=true
+debug_spawner_obstacles=true
+debug_weather=-1
+debug_zKill=true
+disable_screentilt=0
+led_BFGFirFlsh=0.65
+led_PLRifFlsh=0.1
+led_RifleADS=1
+led_ShotADS=1
+led_TogArmBns=0.15
+led_TogBckPck=0.3
+led_TogBluArm=0.2
+led_TogBluKey=0.4
+led_TogBluSkl=0.4
+led_TogBrskBrght=0.25
+led_TogCmpMp=0.4
+led_TogGrnArm=0.2
+led_TogHlthBns=0.15
+led_TogInvln=0.5
+led_TogLghtAmp=0.4
+led_TogMgSph=0.4
+led_TogPartVis=0.4
+led_TogRadSuit=0.4
+led_TogRedKey=0.4
+led_TogRedSkl=0.4
+led_TogSolSph=0.4
+led_TogYlwKey=0.4
+led_TogYlwSkl=0.4
+mblur=false
+mblur_autostop=true
+mblur_blendmode=1
+mblur_recovery=64
+mblur_recovery2=90
+mblur_samples=5
+mblur_strength=64
+mblur_threshold=30
+pb_RLOverloadCell=0
+pb_SGAltAmmoSwap=0
+pb_SGPumpFromHip=0
+pb_UpgradeCarbine=0
+pb_UpgradeGL=0
+pb_UpgradeNailgun=0
+pb_UpgradePlasma=0
+pb_UpgradeRevolver=0
+pb_UpgradeShotgun=0
+pb_bloodamount=2
+pb_curmaxammolist=true
+pb_dasheffect=true
+pb_doubletap=false
+pb_exaggeratedrecoil=true
+pb_exaggeratedrecoilmul=0.5
+pb_execution_box=1
+pb_floorwallblooddrawdist=800
+pb_hideunusedtypes=true
+pb_hudalpha=1
+pb_hudboxalpha=1
+pb_huddynamics=true
+pb_hudxmargin=0
+pb_hudymargin=0
+pb_lowflashesmode=false
+pb_lowgraphicsmode=0
+pb_maxtaptime=10
+pb_messagesize=1
+pb_showammolist=true
+pb_showhudvisor=false
+pb_showhudvisorglass=false
+pb_showlevelstats=false
+pb_toggle_aim_hold=false
+pb_uselowreshudfont=false
+pb_weapon_crosshairs=false
+py_weaponwheel_freeze=true
+py_weaponwheel_invert=0
+py_weaponwheel_musicfade=false
+qtilt_strength=1
+sd_lasers_densityoffset=1
+ws_d1pois_texswap=true
+ws_d2sky_compat=true
+ws_finaldoom_texswap=true
+zm_doubletap=true
+zm_fullbobspeed=8
+zm_maxtaptime=10
+zm_offsetdirection=false
+zm_offsetmaxrange=30
+zm_offsetspeed=75
+zm_pitchswaytype=0
+zm_stillbob=false
+zm_yawsway=true
+zm_yawswaydirection=false
+zm_yawswayfriction=10
+zm_yawswayrange=2
+zm_yawswayspeed=2
+
+[Doom.LocalServerInfo.Mod]
+BD_AmmoPackCheck=3
+BD_DestructibleBodies=0
+BD_GIMMELESSAMMO=0
+BD_NOBOSSES=0
+BD_NODEMONBlur=0
+BD_NODEMONWEAPONS=0
+BD_NoHeadshots=0
+BD_NoMg42=0
+BD_ShotgunSpawner=1
+DisablePB_Autoshotgun=false
+DisablePB_AutoshotgunUpgrade=false
+DisablePB_Carbine=false
+DisablePB_CryoRifle=false
+DisablePB_Deagle=false
+DisablePB_LMG=false
+DisablePB_M2Plasma=false
+DisablePB_M2Upgrade=false
+DisablePB_MinigunUpgrade=false
+DisablePB_Nailgun=false
+DisablePB_QuadSG=false
+DisablePB_Railgun=false
+DisablePB_Revolver=false
+DisablePB_SGMagazine=false
+DisablePB_SMG=false
+DisablePB_SuperGL=false
+DisablePB_Unmaker=false
+DisablePulseCannonUpgrade=false
+DisableRifleUpgrade=false
+DynamicSpawnMonsters=1
+DynamicWeaponSpawn=true
+EAI_Debug=false
+EAI_Stealth=true
+EAI_StealthFactor=24
+NoDemonStrenght=0
+PB_NaziExclusiveSpawning=true
+SpawnBalance=671
+V5_Cull=false
+V5_MDist=900
+V5_MODELS=false
+V5_Q3Bob=0.5
+V5_Q3Spin=5
+V5_Q3Zoff=16
+V5_Quake3=false
+bd_AgileZombies=0
+bd_BloodTrail=0
+bd_LavaSplashes=0
+bd_NoPickupsAnimations=false
+bd_NoZombieRifleDrop=0
+bd_ScreenFX=0
+bd_V21AR=false
+bd_WadCheck=1
+bd_classicmonsters=0
+bd_disablebfgspawn=1
+bd_disablechaingunspawn=1
+bd_disablechainsawspawn=1
+bd_disablecrueltybonus=0
+bd_disabledecorations=0
+bd_disabledemonspheres=0
+bd_disablefriendlymarines=0
+bd_disablemapenhancements=0
+bd_disablenewenemies=1
+bd_disablenewguns=0
+bd_disableplasmaspawn=1
+bd_disablerocketlauncherspawn=1
+bd_disablescanner=0
+bd_disablessgspawn=1
+bd_disablewaterripples2=1
+bd_footstepsounds=1
+bd_infinitecasings=0
+bd_infinitesprint=false
+bd_mantling=0
+bd_norandompickupsprites=0
+bd_reloading=false
+bd_rocketbackblast=1
+bd_shootablerocketammo=0
+bd_voxeldec=1
+bdv22_Caco=0
+bloodsplash=0
+fs_delay_mul=1
+fs_volume_mul=1
+hs_factor=2
+hs_hitbox=true
+isrunningzandronum=1
+led_AimPunch=1
+led_ArmorBonus=0
+led_ArmorSpark=1
+led_BFGReload=1
+led_Barrels=1
+led_CasingSmoke=1
+led_DeathAnim=0
+led_MagLife=1000
+led_MedSys=1
+led_MinigunReload=1
+led_PistolReload=1
+led_PlasmaReload=1
+led_RLReload=1
+led_ReloadToggle=1
+led_RifleReload=1
+led_SSGAltFire=0
+led_SSGReload=1
+led_ShellCasings=1
+led_ShellLife=1000
+led_ShellSys=1
+led_ShotPump=0
+led_ShotgunReload=1
+led_SmokeEffects=1
+led_SpentMags=1
+levelsToPlay=32
+nashgore_bloodamount=255
+nashgore_bloodspurt=true
+nashgore_bloodtype=0
+nashgore_corpseblood=true
+nashgore_deathflip=true
+nashgore_footprints=true
+nashgore_gibamount=255
+nashgore_gibtype=0
+nashgore_icedeath=true
+nashgore_maxcasings=50
+nashgore_maxgore=1024
+nashgore_splat=true
+nashgore_spriteblood=false
+nashgore_squish=true
+nodoomguytalk=0
+nopaineffect=0
+noscreensplash=0
+pb_NoAfrit=0
+pb_NoAnnihilator=0
+pb_NoArachnophyte=0
+pb_NoArachnotron2=0
+pb_NoAutoshotgunSergeant=0
+pb_NoBeamRevenant=0
+pb_NoBelphegor=0
+pb_NoBlackholeWeapon=0
+pb_NoBloodDemon=0
+pb_NoBrownImps=0
+pb_NoCSSGWeapon=1
+pb_NoCarbineZombie=0
+pb_NoClassicCommando=0
+pb_NoCyberBaron=0
+pb_NoCyberKnight=0
+pb_NoCyberPaladin=0
+pb_NoDaedabus=0
+pb_NoDarkImps=0
+pb_NoDemolisher=0
+pb_NoDemonTechSoldier=0
+pb_NoDraugr=0
+pb_NoFleshwizard=0
+pb_NoHeavyGLWeapon=0
+pb_NoHellion=0
+pb_NoHelmetAnimation=0
+pb_NoHelmetSergeant=0
+pb_NoHelmetZman=0
+pb_NoIceVile=0
+pb_NoInfernoArachnotron=0
+pb_NoInfernus=0
+pb_NoJuggernaut=0
+pb_NoMagCaco=0
+pb_NoMechDemon=0
+pb_NoNailgunMajor=0
+pb_NoOverlord=0
+pb_NoPhantasm=0
+pb_NoPistolZman=0
+pb_NoPlasmaZombie=0
+pb_NoPulseCannonUpgrade=0
+pb_NoPyroSergeant=0
+pb_NoQuadSergeant=0
+pb_NoRiotShieldGuy=0
+pb_NoRocketSergeant=0
+pb_NoSavageImps=0
+pb_NoSufferElemental=0
+pb_NoUpgrades=0
+pb_NoVolcabus=0
+pb_NoZSpecOps=0
+pb_NoZombieScientist=0
+pb_SSGRandomSpawn=false
+pb_ScaleXWeapons=false
+pb_VoidSpectre=0
+pb_adashboost=10
+pb_adashfriction=1
+pb_airdash=false
+pb_autojump=true
+pb_classicmonsters=0
+pb_crouchslide=true
+pb_crouchspeed=0.5
+pb_cslideduration=10
+pb_cslidestrength=1.5
+pb_cslidetype=0
+pb_cyberdemondeath=false
+pb_dash=true
+pb_dashboost=15
+pb_dashheight=0.6
+pb_disable_sergeant_prone=false
+pb_disabledecorations=1
+pb_disabledynamicavoid=false
+pb_disablemapenhancements=1
+pb_disablenewenemies=0
+pb_disablenewguns=0
+pb_doublejump=2
+pb_doublejumpheight=1
+pb_dropprevention=false
+pb_experimental=false
+pb_fastcryowarmup=0
+pb_friction=1.6
+pb_grenadeimpact=0
+pb_hazardmovement=true
+pb_jumpheight=8
+pb_knuckleanimationinstart=0
+pb_landing=true
+pb_landingsens=6
+pb_landingspeed=0.25
+pb_ledgegrab=true
+pb_maxgroundspeed=15.1
+pb_maxhopspeed=28
+pb_minlanding=0.5
+pb_movetype=0
+pb_multipledashes=0
+pb_nobulletpenetration=1
+pb_nocooldown=false
+pb_performance_fire=false
+pb_qslideaccel=6
+pb_qslideduration=8
+pb_setgravity=1
+pb_sglgrenadeimpact=0
+pb_spawner_autoshotgun=0
+pb_spawner_drum=0
+pb_spawner_shotgunupgrade=0
+pb_spawner_tiered=false
+pb_strafemodifier=1.33
+pb_walkspeed=0.5
+pb_weapon_recoil_extra_weapons=false
+pb_weapon_recoil_mod_horizontal=1
+pb_weapon_recoil_mod_vertical=1
+pb_wjdoublejumprenew=false
+pb_wjump=false
+pb_wjumpboost=1.5
+pb_wjumpheight=0.75
+pb_wslide=false
+pb_wslidevelz=0.9
+pk_bhopjumpheight=0.85
+sv_deathtilt=true
+sv_movetilt=false
+sv_movetiltangle=0.015
+sv_movetiltscalar=0.2
+sv_movetiltspeed=15
+sv_strafetilt=true
+sv_strafetiltangle=0.5
+sv_strafetiltinvert=false
+sv_strafetiltspeed=1
+sv_turntilt=true
+sv_turntiltinvert=false
+sv_turntiltscalar=1.5
+sv_underwatertilt=true
+sv_underwatertiltangle=0.05
+sv_underwatertiltscalar=1
+sv_underwatertiltspeed=0.5
+zdoombrutalblood=2
+zdoombrutaljanitor=0
+zdoombrutaljanitorcasings=0
+zm_adashboost=10
+zm_adashfriction=1
+zm_airdash=false
+zm_autojump=true
+zm_crouchslide=false
+zm_crouchspeed=0.7
+zm_cslideduration=13
+zm_cslidestrength=1.5
+zm_cslidetype=0
+zm_dash=false
+zm_dashboost=1.5
+zm_dashheight=0.75
+zm_doublejump=0
+zm_doublejumpheight=1.2
+zm_dropprevention=false
+zm_friction=8
+zm_jumpheight=5.5
+zm_landing=false
+zm_landingsens=6
+zm_landingspeed=0.25
+zm_ledgegrab=false
+zm_maxgroundspeed=12
+zm_maxhopspeed=28
+zm_minlanding=0.5
+zm_movetype=0
+zm_multipledashes=0
+zm_qslideaccel=6
+zm_qslideduration=8
+zm_rampjump=false
+zm_rjumpmulti=1
+zm_setgravity=0.56
+zm_speedometer=0
+zm_strafemodifier=1
+zm_walkspeed=0.7
+zm_wjdoublejumprenew=false
+zm_wjump=false
+zm_wjumpboost=1.5
+zm_wjumpheight=0.75
+zm_wslide=false
+zm_wslidevelz=0.9
+
+[Doom.ConfigOnlyVariables.Mod]
+DICache_ACV1=
+DICache_SGLines0=
+DICache_SGLines1=
+DICache_SGLines2=
+DICache_SGLines3=
+DICache_TK=0
+pb_newmugshot=true
+
+[Joy:JS:0]
+Sensitivity=0.2
+Axis0deadzone=0.0999998
+Axis0scale=0.7
+Axis1deadzone=0.0999998
+Axis1scale=0.7
+Axis2map=-1
+Axis3deadzone=0.450001
+Axis3scale=0.7
+Axis4deadzone=0.25
+Axis4scale=0.7
+Axis4map=1
+Axis5deadzone=0.100001
+
+[Joy:JS:1]
+Sensitivity=0.2
+Axis0deadzone=0.0999998
+Axis0scale=0.7
+Axis1deadzone=0.0999998
+Axis1scale=0.7
+Axis2map=-1
+Axis3deadzone=0.450001
+Axis3scale=0.7
+Axis4deadzone=0.25
+Axis4scale=0.7
+Axis4map=1
+Axis5deadzone=0.100001
+
+[Joy:JS:2]
+Sensitivity=0.2
+Axis0deadzone=0.0999998
+Axis0scale=0.7
+Axis1deadzone=0.0999998
+Axis1scale=0.7
+Axis2map=-1
+Axis3deadzone=0.450001
+Axis3scale=0.7
+Axis4deadzone=0.25
+Axis4scale=0.7
+Axis4map=1
+Axis5deadzone=0.100001
+
+[Joy:JS:3]
+Sensitivity=0.2
+Axis0deadzone=0.0999998
+Axis0scale=0.7
+Axis1deadzone=0.0999998
+Axis1scale=0.7
+Axis2map=-1
+Axis3deadzone=0.450001
+Axis3scale=0.7
+Axis4deadzone=0.25
+Axis4scale=0.7
+Axis4map=1
+Axis5deadzone=0.100001