Widen AppImage compatibility

This commit is contained in:
Inori 2019-10-24 03:32:56 -04:00 committed by Inori
parent a67e6d2306
commit 29073e5c7e
2 changed files with 27 additions and 30 deletions

View file

@ -60,7 +60,7 @@ To run mkxp, you should have a graphics card capable of at least **OpenGL (ES) 2
A few notes on compatibility differences compared to RMXP:
* If you use Paint.NET, images exported with an indexed color format will confuse poor SDL2. `#000000` (black) pixels will be mistaken for completely transparent ones when loaded in. Export in or convert your stuff to RGB instead.
* If your graphics are appearing oddly (some pixels appearing transparent when they shouldn't), export in or convert your stuff to RGB instead.
* You will need to re-encode any audio files that OpenAL does not like (16-bit signed WAV works fine, 32-bit float WAV does not, for instance). The game will hitch while attempting to read unsupported formats.
* If you don't know where to even begin with fixing this stuff, ImageMagick is the go-to for images (`convert in.png PNG32:out.png` for converting to a new file, `mogrify -define png:format=png32 in.png` for converting in-place) and FFMPEG is the tool for... well, many things, but it will convert your audio (`ffmpeg -i in.wav out.wav`). You could take advantage of these commands to write scripts that can fix all your stuff for you instead of having to convert them all one-by-one with whatever GUI program you favor. Or you could just use the [crappy one I wrote which will still do the job](https://gist.github.com/inori-z/33c27340fe215814f1890e367e2cab52).

View file

@ -1,39 +1,36 @@
#!/bin/bash
# Author : Hemanth.HM
# Email : hemanth[dot]hm[at]gmail[dot]com
# License : GNU GPLv3
#
#!/bin/bash
function useage()
BINARY=$1
function get_dep()
{
cat << EOU
Useage: bash $0 <path to the binary> <path to copy the dependencies>
EOU
exit 1
DEP=$(ldd $BINARY | grep $1 | sed -r 's/ \w.+ => (\/.+) .+$/\1/g')
cp "$DEP" "${MESON_INSTALL_PREFIX}/usr/lib"
}
INSTALLDIR=${MESON_INSTALL_PREFIX}/usr/lib
mkdir -p ${MESON_INSTALL_PREFIX}/usr/lib
#Validate the inputs
[[ $# < 2 ]] && useage
#Check if the paths are vaild
[[ ! -e $1 ]] && echo "Not a vaild input $1" && exit 1
[[ -d $2 ]] || echo "No such directory $INSTALLDIR creating..."&& mkdir -p "$INSTALLDIR"
# Required by Ubuntu
get_dep boost_program_options
get_dep openal
get_dep physfs
get_dep SDL2-2.0
get_dep SDL2_ttf
get_dep SDL2_image
get_dep SDL_sound
get_dep fluidsynth
get_dep ruby
get_dep sndio
get_dep readline
get_dep tinfo
#Get the library dependencies
echo "Collecting the shared library dependencies for $1..."
deps=$(ldd $1 | awk 'BEGIN{ORS=" "}$1\
~/^\//{print $1}$3~/^\//{print $3}'\
| sed 's/,$/\n/')
echo "Copying the dependencies to $INSTALLDIR"
#Copy the deps
for dep in $deps
do
echo "Copying $dep to $INSTALLDIR"
cp "$dep" "$INSTALLDIR"
done
# Required by Fedora & Manjaro
get_dep libXss
get_dep libjpeg
get_dep libwebp
get_dep libjack
get_dep libcrypt
get_dep libbsd
cp ${MESON_INSTALL_PREFIX}/share/mkxp-z/* ${MESON_INSTALL_PREFIX}
rm -rf ${MESON_INSTALL_PREFIX}/share