X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=gamepack-manager;h=232c75962dc9ad21a60a937e24cad02c8bc7cbf4;hp=14d8ceb23d057da8e1a791a6210bdd0db44497b4;hb=b24f0d673ffd2e963b00a8ea0cf1ad6ac2a906dc;hpb=4f67c180099e50741449bb25a5d9bc02be81318a diff --git a/gamepack-manager b/gamepack-manager index 14d8ceb2..232c7596 100755 --- a/gamepack-manager +++ b/gamepack-manager @@ -40,44 +40,61 @@ cat <<\EOF # Obsolete packs # ####################################################### -# Quake2World was renamed as Quetoo -# Other gamepacks have better version available - -# OpenArena unknown zip http://ingar.intranifty.net/files/netradiant/gamepacks/OpenArenaPack.zip -# Quake proprietary zip http://ingar.intranifty.net/files/netradiant/gamepacks/QuakePack.zip -# Quake2World GPL svn svn://jdolan.dyndns.org/quake2world/trunk/gtkradiant -# Tremulous proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/TremulousPack/branches/1.5/ -# Unvanquished unknown zip http://ingar.intranifty.net/gtkradiant/files/gamepacks/UnvanquishedPack.zip -# Warsow GPL svn https://svn.bountysource.com/wswpack/trunk/netradiant/games/WarsowPack/ -# Warsow GPL zip http://ingar.intranifty.net/files/netradiant/gamepacks/WarsowPack.zip +# Quake2World was renamed as Quetoo. +# JediAcademy and JediOutcast gamepacks are unusable. +# Other gamepacks have better version available. + +# JediAcademy no proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/JAPack/branches/1.5/ +# JediOutcast no proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/JK2Pack/branches/1.5/ +# Kingpin no unknown zip http://download.kingpin.info/kingpin/editing/maps/map_editors/NetRadiant/addon/Kingpinpack.zip +# Neverball no proprietary zip http://ingar.intranifty.net/files/netradiant/gamepacks/NeverballPack.zip +# OpenArena no unknown zip http://ingar.intranifty.net/files/netradiant/gamepacks/OpenArenaPack.zip +# Quake2World no GPL svn svn://jdolan.dyndns.org/quake2world/trunk/gtkradiant +# Quake3 no proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q3Pack/trunk/ 29 +# Quake no proprietary zip http://ingar.intranifty.net/files/netradiant/gamepacks/QuakePack.zip +# Tremulous no proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/TremulousPack/branches/1.5/ +# Tremulous no proprietary zip http://ingar.intranifty.net/files/netradiant/gamepacks/TremulousPack.zip +# Unvanquished no unknown zip http://ingar.intranifty.net/gtkradiant/files/gamepacks/UnvanquishedPack.zip +# Warfork no GPL zip https://cdn.discordapp.com/attachments/611741789237411850/659512520553267201/netradiant_warfork_gamepack.zip +# Warsow no GPL svn https://svn.bountysource.com/wswpack/trunk/netradiant/games/WarsowPack/ +# Warsow no GPL zip http://ingar.intranifty.net/files/netradiant/gamepacks/WarsowPack.zip ####################################################### # Usable packs # ####################################################### -DarkPlaces GPL svn svn://svn.icculus.org/gtkradiant-gamepacks/DarkPlacesPack/branches/1.5/ -Doom3 proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Doom3Pack/branches/1.5/ -ET proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/ETPack/branches/1.5/ -Heretic2 proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Her2Pack/branches/1.5/ -JediAcademy proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/JAPack/branches/1.5/ -Neverball proprietary zip http://ingar.intranifty.net/files/netradiant/gamepacks/NeverballPack.zip -Nexuiz GPL gitdir git://git.icculus.org/divverent/nexuiz.git misc/netradiant-NexuizPack master -OpenArena GPL git https://github.com/NeonKnightOA/oagamepack.git -Osirion GPL zip http://ingar.intranifty.net/files/netradiant/gamepacks/OsirionPack.zip -Prey proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/PreyPack/trunk/ -Q3 proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q3Pack/trunk/ 29 -Q3Rally proprietary svn https://svn.code.sf.net/p/q3rallysa/code/tools/radiant-config/radiant15-netradiant/ -Quake2 proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q2Pack/branches/1.5/ -Quake4 proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q4Pack/branches/1.5/ -Quake GPL zip http://ingar.intranifty.net/files/netradiant/gamepacks/Quake1Pack.zip -Quetoo GPL svn svn://svn.icculus.org/gtkradiant-gamepacks/QuetooPack/branches/1.5/ -Tremulous proprietary zip http://ingar.intranifty.net/files/netradiant/gamepacks/TremulousPack.zip -TurtleArena proprietary git https://github.com/Turtle-Arena/turtle-arena-radiant-pack.git -UFOAI proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/UFOAIPack/branches/1.5/ -Unvanquished BSD git https://github.com/Unvanquished/unvanquished-mapeditor-support.git -Warsow GPL git https://github.com/Warsow/NetRadiantPack.git -Wolf proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/WolfPack/branches/1.5/ -Xonotic GPL git https://gitlab.com/xonotic/netradiant-xonoticpack.git +AlienArena yes GPL svn https://svn.code.sf.net/p/alienarena-cc/code/trunk/tools/netradiant_gamepack/AlienArenaPack +DarkPlaces yes GPL svn svn://svn.icculus.org/gtkradiant-gamepacks/DarkPlacesPack/branches/1.5/ +Doom3 yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Doom3Pack/branches/1.5/ +ET yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/ETPack/branches/1.5/ +Heretic2 yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Her2Pack/branches/1.5/ +Kingpin yes unknown git https://gitlab.com/netradiant/gamepacks/kingpin-mapeditor-support.git +Neverball yes proprietary git https://gitlab.com/netradiant/gamepacks/neverball-mapeditor-support.git +Nexuiz yes GPL gitdir git://git.icculus.org/divverent/nexuiz.git misc/netradiant-NexuizPack master +OpenArena yes GPL git https://github.com/NeonKnightOA/oagamepack.git +Osirion yes GPL zip http://ingar.intranifty.net/files/netradiant/gamepacks/OsirionPack.zip +Prey yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/PreyPack/trunk/ +Q3Rally yes proprietary svn https://svn.code.sf.net/p/q3rallysa/code/tools/radiant-config/radiant15-netradiant/ +Quake2 yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q2Pack/branches/1.5/ +Quake3 yes proprietary git https://gitlab.com/netradiant/gamepacks/quake3-mapeditor-support.git +Quake4 yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q4Pack/branches/1.5/ +QuakeLive yes proprietary git https://gitlab.com/netradiant/gamepacks/quakelive-mapeditor-support.git +Quake yes GPL zip http://ingar.intranifty.net/files/netradiant/gamepacks/Quake1Pack.zip +Quetoo yes GPL svn svn://svn.icculus.org/gtkradiant-gamepacks/QuetooPack/branches/1.5/ +SmokinGuns yes unknown git https://github.com/smokin-guns/smokinguns-mapeditor-support.git +SoF2 yes unknown git https://gitlab.com/netradiant/gamepacks/sof2-mapeditor-support.git +STVEF yes unknown git https://gitlab.com/netradiant/gamepacks/stvef-mapeditor-support.git +Tremulous yes proprietary git https://gitlab.com/netradiant/gamepacks/tremulous-mapeditor-support.git +TurtleArena yes proprietary git https://github.com/Turtle-Arena/turtle-arena-radiant-pack.git +UFOAI yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/UFOAIPack/branches/1.5/ +Unvanquished yes BSD git https://github.com/Unvanquished/unvanquished-mapeditor-support.git +UrbanTerror yes unknown git https://gitlab.com/netradiant/gamepacks/urbanterror-mapeditor-support.git +Warfork yes GPL git https://gitlab.com/netradiant/gamepacks/warfork-mapeditor-support.git +Warsow yes GPL git https://github.com/Warsow/NetRadiantPack.git +Wolf yes proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/WolfPack/branches/1.5/ +WoP yes proprietary git https://github.com/PadWorld-Entertainment/wop-mapeditor-support.git +Xonotic yes GPL git https://gitlab.com/xonotic/netradiant-xonoticpack.git +ZEQ2Lite yes unknown git https://gitlab.com/netradiant/gamepacks/zeq2lite-mapeditor-support.git EOF } @@ -152,7 +169,7 @@ printGamePackDB () { printLicenseList () { printGamePackDB \ - | awk '{ print $2 }' \ + | awk '{ print $3 }' \ | sort -u } @@ -199,9 +216,9 @@ printNameListByLicense () { for license in ${license_list} do printGamePackDB \ - | awk '$2 == "'"${license}"'"' \ + | awk '$3 == "'"${license}"'"' \ | awk '{ print $1 }' - done + done | sort -u } printNameListByName () { @@ -219,14 +236,15 @@ printNameListByName () { break ;; 'all') - local name_list name_list="$(printNameList)" break ;; + 'validated') + name_list="${name_list} validated" + ;; *) if printNameList | inList "${name}" then - local name_list name_list="${name_list} ${name}" else printError "unknown name: ${name}" @@ -239,6 +257,13 @@ printNameListByName () { for name in ${name_list} do + if [ "${name}" = 'validated' ] + then + printGamePackDB \ + | awk '$2 == "yes"' \ + | awk '{ print $1 }' + fi + printGamePackDB \ | awk '$1 == "'"${name}"'"' \ | awk '{ print $1 }' @@ -292,9 +317,10 @@ downloadPack () { download_dir="${1}" name="${2}" - license="$(getValue "${name}" '2')" - source_type="$(getValue "${name}" '3')" - source_url="$(getValue "${name}" '4')" + validation="$(getValue "${name}" 2)" + license="$(getValue "${name}" 3)" + source_type="$(getValue "${name}" 4)" + source_url="$(getValue "${name}" 5)" pack="${name}${pack_suffix}" @@ -318,7 +344,7 @@ downloadPack () { case "${source_type}" in 'svn') - reference="$(getValue "${name}" '5')" + reference="$(getValue "${name}" 6)" if [ -z "${reference}" ] then reference='HEAD' @@ -350,12 +376,17 @@ downloadPack () { ) ${RM_R} "${pack}" ${MKDIR} "${pack}" - ${MV} 'zipdownload/'*'/'* "${pack}/" + if [ -d 'zipdownload/games' ] + then + ${MV} 'zipdownload/'* "${pack}/" + else + ${MV} 'zipdownload/'*'/'* "${pack}/" + fi ${RM_R} 'zipdownload' ;; 'gitdir') - local subdir="$(getValue "${name}" '5')" - local branch="$(getValue "${name}" '6')" + local subdir="$(getValue "${name}" 6)" + local branch="$(getValue "${name}" 7)" ${RM_R} "${pack}" ${GIT} archive --remote="${source_url}" --prefix="${pack}/" "${branch}":"${subdir}" \ | ${TAR} xvf - @@ -432,10 +463,14 @@ installPack () { ;; esac - # mkeditorpacks-based gamepack if [ -d "${download_dir}/${pack}/build/netradiant" ] then + # mkeditorpacks-based gamepack pack="${pack}/build/netradiant" + elif [ -d "${download_dir}/${pack}/netradiant" ] + then + # other layout + pack="${pack}/netradiant" fi path="${download_dir}/${pack}" @@ -487,7 +522,7 @@ printHelp () { local prog_name tab="$(printf '\t')" - prog_name="$(basename "$(readlink -f "${0}")")" + prog_name='gamepack-manager' cat <<-EOF Usage: ${prog_name} [OPTION] [SELECTION ] [ACTION] @@ -502,7 +537,7 @@ printHelp () { SELECTIONS: ${tab}-n, --name NAMES… ${tab}${tab}select games by name (default: none) - ${tab}${tab}special keyword: all, none + ${tab}${tab}special keyword: validated, all, none ${tab}${tab}available games: $(printNameList | ${SED} -e 's/^/\t\t\t/') @@ -519,7 +554,7 @@ printHelp () { ${tab}-ll, --list-licenses ${tab}${tab}list all game licenses - ${tab}-ls, --list + ${tab}-ls, --list-selected ${tab}${tab}list selected games ${tab}-d, --download @@ -531,9 +566,13 @@ printHelp () { ${tab}-h, --help ${tab}${tab}print this help - Example: + Examples: + ${tab}${prog_name} --license GPL BSD --list-selected ${tab}${prog_name} --license GPL BSD --download --install + ${tab}${prog_name} --name validated --list-selected + ${tab}${prog_name} --name validated --download --install + EOF exit @@ -577,14 +616,14 @@ do fi case "${1}" in - '--list-licenses'|'-ll') + '--list-names'|'-ln') arg_type='' - list_licenses='true' + list_names='true' option_list="${option_list} ${1}" ;; - '--list-names'|'-ln') + '--list-licenses'|'-ll') arg_type='' - list_names='true' + list_licenses='true' option_list="${option_list} ${1}" ;; '--list-selected'|'-ls') @@ -628,12 +667,12 @@ do ;; *) case "${arg_type}" in - 'pack-license') - license_list="${license_list} ${1}" - ;; 'pack-name') name_list="${name_list} ${1}" ;; + 'pack-license') + license_list="${license_list} ${1}" + ;; 'download-dir') if [ -z "${download_dir}" ] then @@ -693,14 +732,14 @@ then install_dir="${default_install_dir}" fi -if "${by_license}" +if "${by_name}" then - selected_list="${selected_list} $(printNameListByLicense "${license_list}")" + selected_list="${selected_list} $(printNameListByName "${name_list}")" fi -if "${by_name}" +if "${by_license}" then - selected_list="${selected_list} $(printNameListByName "${name_list}")" + selected_list="${selected_list} $(printNameListByLicense "${license_list}")" fi selected_list="$(dedupeList "${selected_list}")" @@ -717,15 +756,16 @@ then real_install_dir="$(printRealPath "${install_dir}")" fi -if "${list_licenses}" +if "${list_names}" then - printLicenseList + printNameList fi -if "${list_names}" +if "${list_licenses}" then - printNameList + printLicenseList fi + if "${list_selected}" then printList "${selected_list}"