mirror of
https://github.com/libretro/RetroArch
synced 2024-12-28 00:24:15 +00:00
152 lines
3.6 KiB
Bash
Executable File
152 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
WD=$(realpath $(dirname $0))
|
|
|
|
include_autoconfig=""
|
|
include_cheats=""
|
|
include_databases=""
|
|
include_overlays=""
|
|
include_shaders=""
|
|
include_xmb=""
|
|
assets_zip="$WD/assets.zip"
|
|
|
|
args=`getopt acdhimosx $*`
|
|
set -- $args
|
|
while :; do
|
|
case "$1" in
|
|
-a)
|
|
include_autoconfig=1
|
|
include_cheats=1
|
|
include_databases=1
|
|
include_overlays=1
|
|
include_shaders=1
|
|
include_xmb=1
|
|
shift
|
|
;;
|
|
-c)
|
|
include_cheats=1
|
|
shift
|
|
;;
|
|
-d)
|
|
include_databases=1
|
|
shift
|
|
;;
|
|
-h)
|
|
echo "$(basename $0) -- Rebuild assets.zip"
|
|
echo "Meant to be used when building RetroArch yourself. The buildbot does not use this."
|
|
echo
|
|
echo " -a Include all assets, cheats, databases, input autoconfig, overlays, and shaders"
|
|
echo " -c Include cheats"
|
|
echo " -d Include databases"
|
|
echo " -i Include input autoconfig"
|
|
echo " -o Include overlays"
|
|
echo " -s Include shaders"
|
|
echo " -x Include XMB assets"
|
|
echo " -m Build for macOS (places in OSX directory)"
|
|
exit 0
|
|
;;
|
|
-i)
|
|
include_autoconfig=1
|
|
shift
|
|
;;
|
|
-m)
|
|
assets_zip="$WD/OSX/assets.zip"
|
|
shift
|
|
;;
|
|
-o)
|
|
include_overlays=1
|
|
shift
|
|
;;
|
|
-s)
|
|
include_shaders=1
|
|
shift
|
|
;;
|
|
-x)
|
|
include_xmb=1
|
|
shift
|
|
;;
|
|
--)
|
|
shift
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
function fetch_zip()
|
|
{
|
|
echo "Fetching $1..."
|
|
curl -s -o tmp.zip "https://git.libretro.com/api/v4/projects/libretro-assets%2F$1/jobs/artifacts/master/download?job=libretro-package-any"
|
|
echo " Unzipping..."
|
|
unzip -q tmp.zip
|
|
rm -f tmp.zip
|
|
}
|
|
|
|
pushd "$WD" &>/dev/null
|
|
|
|
rm -rf .media
|
|
fetch_zip retroarch-assets
|
|
if [ -n "$include_autoconfig" ] ; then
|
|
fetch_zip retroarch-joypad-autoconfig
|
|
fi
|
|
if [ -n "$include_cheats" -o -n "$include_databases" ] ; then
|
|
fetch_zip libretro-database
|
|
fi
|
|
fetch_zip libretro-super
|
|
if [ -n "$include_overlays" ] ; then
|
|
fetch_zip common-overlays
|
|
fi
|
|
if [ -n "$include_shaders" ] ; then
|
|
fetch_zip glsl-shaders
|
|
fetch_zip slang-shaders
|
|
fi
|
|
|
|
pushd .media &>/dev/null
|
|
|
|
echo "Packaging assets"
|
|
mkdir assets ; mv retroarch-assets/{COPYING,glui,menu_widgets,ozone,pkg,rgui,sounds} assets
|
|
if [ -n "$include_xmb" ] ; then
|
|
mv retroarch-assets/xmb assets
|
|
fi
|
|
rm -rf retroarch-assets
|
|
rm -rf assets/pkg/wiiu
|
|
|
|
if [ -n "$include_autoconfig" ] ; then
|
|
echo "Packaging autoconfig"
|
|
mv retroarch-joypad-autoconfig autoconfig
|
|
rm -rf autoconfig/{android,dinput,linuxraw,parport,qnx,sdl2,udev,x,xinput}
|
|
fi
|
|
|
|
if [ -n "$include_cheats" ] ; then
|
|
echo "Packaging cheats"
|
|
mv libretro-database/cht cht
|
|
fi
|
|
if [ -n "$include_databases" ] ; then
|
|
echo "Packaging database"
|
|
mkdir database ; mv libretro-database/{cursors,rdb} database
|
|
fi
|
|
rm -rf libretro-database
|
|
|
|
echo "Packaging info"
|
|
mv libretro-super/info info ; rmdir libretro-super
|
|
|
|
if [ -n "$include_overlays" ] ; then
|
|
echo "Packaging overlays"
|
|
mv common-overlays overlays
|
|
rm -rf overlays/{ctr,wii}
|
|
fi
|
|
|
|
if [ -n "$include_shaders" ] ; then
|
|
echo "Packaging shaders"
|
|
mkdir shaders ; mv glsl-shaders shaders/shaders_glsl ; mv slang-shaders shaders/shaders_slang
|
|
fi
|
|
|
|
rm -f $assets_zip
|
|
echo "Zipping final assets bundle..."
|
|
zip -qr $assets_zip *
|
|
|
|
popd &>/dev/null
|
|
|
|
rm -rf .media
|
|
|
|
echo "Done!"
|