mirror of
https://github.com/izzy2lost/AM2R-Autopatcher-Android.git
synced 2026-06-19 01:20:10 -07:00
Update patcher.sh
This commit is contained in:
+41
-70
@@ -1,33 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# exit on any error to avoid showing everything was successfull even tho it wasnt
|
||||
set -e
|
||||
|
||||
VERSION="15_5"
|
||||
OUTPUT="am2r_"${VERSION}
|
||||
INPUT=""
|
||||
OUTPUT="am2r_${VERSION}"
|
||||
DATA_FOLDER="data"
|
||||
DOWNLOADS_DIR="$HOME/storage/downloads"
|
||||
HQ_MUSIC_URL="https://github.com/izzy2fancy/AM2R-Autopatcher-Android/releases/download/2.0/HDR_HQ_in-game_music.zip"
|
||||
|
||||
# Cleanup in case the dirs exists
|
||||
if [ -d "$OUTPUT" ]; then
|
||||
rm -r ${OUTPUT}
|
||||
fi
|
||||
cleanup_directories() {
|
||||
local directories=("assets" "AM2RWrapper" "$DATA_FOLDER" "HDR_HQ_in-game_music")
|
||||
for dir in "${directories[@]}"; do
|
||||
if [ -d "$dir" ]; then
|
||||
rm -rf "$dir"
|
||||
fi
|
||||
done
|
||||
rm -rf data.zip HDR_HQ_in-game_music.zip
|
||||
}
|
||||
|
||||
if [ -d "assets/" ]; then
|
||||
rm -rf assets/
|
||||
fi
|
||||
|
||||
if [ -d "AM2RWrapper/" ]; then
|
||||
rm -rf AM2RWrapper/
|
||||
fi
|
||||
|
||||
if [ -d "data/" ]; then
|
||||
rm -rf data/
|
||||
fi
|
||||
if [ -d "HDR_HQ_in-game_music/" ]; then
|
||||
rm -rf HDR_HQ_in-game_music
|
||||
fi
|
||||
rm -rf data.zip
|
||||
rm -rf HDR_HQ_in-game_music.zip
|
||||
cleanup_directories
|
||||
|
||||
echo "-------------------------------------------"
|
||||
echo ""
|
||||
@@ -37,47 +28,42 @@ echo "Updated by izzy2fancy"
|
||||
echo ""
|
||||
echo "-------------------------------------------"
|
||||
|
||||
#install dependencies
|
||||
# Install dependencies
|
||||
yes | pkg install termux-am zip unzip xdelta3
|
||||
yes | termux-setup-storage
|
||||
|
||||
#check if apkmod is instaled, if not install it. I only use this for signing 'cause it's the only way I found this to work
|
||||
# Check and install apkmod if not installed
|
||||
if ! [ -f /data/data/com.termux/files/usr/bin/apkmod ]; then
|
||||
wget https://raw.githubusercontent.com/Hax4us/Apkmod/master/setup.sh
|
||||
bash setup.sh
|
||||
rm -f setup.sh
|
||||
fi
|
||||
|
||||
#Download Data Folder
|
||||
# Download Data Folder
|
||||
wget -r -np -nH --cut-dirs=2 -R "index.html*" "https://github.com/izzy2fancy/AM2R-Autopatcher-Android/tree/main/data"
|
||||
|
||||
#check for AM2R_11.zip in downloads
|
||||
if [ -f ~/storage/downloads/AM2R_11.zip ]; then
|
||||
echo "AM2R_11.zip found! Extracting to ${OUTPUT}"
|
||||
#extract the content to the am2r_xx folder
|
||||
unzip -q ~/storage/downloads/AM2R_11.zip -d "${OUTPUT}"
|
||||
else
|
||||
# Check for AM2R_11.zip in downloads
|
||||
if [ ! -f "$DOWNLOADS_DIR/AM2R_11.zip" ]; then
|
||||
echo -e "\033[0;31mAM2R_11 not found. Place AM2R_11.zip (case sensitive) into your Downloads folder and try again."
|
||||
echo -e "\033[1;37m"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
echo "AM2R_11.zip found! Extracting to ${OUTPUT}"
|
||||
unzip -q "$DOWNLOADS_DIR/AM2R_11.zip" -d "$OUTPUT"
|
||||
|
||||
echo "Applying Android patch..."
|
||||
xdelta3 -dfs "${OUTPUT}"/data.win data/droid.xdelta "${OUTPUT}"/game.droid
|
||||
#cp data/android/AM2RWrapper.apk utilities/android/
|
||||
xdelta3 -dfs "${OUTPUT}/data.win" "${DATA_FOLDER}/droid.xdelta" "${OUTPUT}/game.droid"
|
||||
|
||||
#delete unnecessary files
|
||||
rm "${OUTPUT}"/D3DX9_43.dll "${OUTPUT}"/AM2R.exe "${OUTPUT}"/data.win
|
||||
# Delete unnecessary files
|
||||
rm "${OUTPUT}/D3DX9_43.dll" "${OUTPUT}/AM2R.exe" "${OUTPUT}/data.win"
|
||||
|
||||
#cp -RTp "${OUTPUT}"/ utilities/android/assets/
|
||||
if [ -f data/android/AM2R.ini ]; then
|
||||
cp -p data/android/AM2R.ini "${OUTPUT}"/
|
||||
if [ -f "${DATA_FOLDER}/android/AM2R.ini" ]; then
|
||||
cp -p "${DATA_FOLDER}/android/AM2R.ini" "$OUTPUT/"
|
||||
fi
|
||||
|
||||
|
||||
# Music
|
||||
#mkdir -p utilities/android/assets/lang
|
||||
cp data/files_to_copy/*.ogg "${OUTPUT}"/
|
||||
cp "${DATA_FOLDER}/files_to_copy/"*.ogg "$OUTPUT/"
|
||||
|
||||
echo ""
|
||||
echo -e "\033[0;32mInstall high quality in-game music? Increases filesize by 230 MB and may lag the game\!"
|
||||
@@ -89,55 +75,40 @@ echo ""
|
||||
|
||||
if [ "$INPUT" = "y" ]; then
|
||||
echo "Downloading HQ music..."
|
||||
wget https://github.com/izzy2fancy/AM2R-Autopatcher-Android/releases/download/2.0/HDR_HQ_in-game_music.zip
|
||||
yes | unzip HDR_HQ_in-game_music.zip -d ./
|
||||
wget "$HQ_MUSIC_URL"
|
||||
yes | unzip HDR_HQ_in-game_music.zip -d ./
|
||||
echo "Copying HQ music..."
|
||||
cp -f HDR_HQ_in-game_music/*.ogg "${OUTPUT}"/
|
||||
cp -f HDR_HQ_in-game_music/*.ogg "$OUTPUT/"
|
||||
rm -rf HDR_HQ_in-game_music/
|
||||
fi
|
||||
|
||||
echo "Updating lang folder..."
|
||||
#remove old lang
|
||||
rm -R "${OUTPUT}"/lang/
|
||||
#install new lang
|
||||
cp -RTp data/files_to_copy/lang/ "${OUTPUT}"/lang/
|
||||
rm -R "${OUTPUT}/lang/"
|
||||
cp -RTp "${DATA_FOLDER}/files_to_copy/lang/" "${OUTPUT}/lang/"
|
||||
|
||||
echo "Renaming music to lowercase..."
|
||||
#I can't figure out a better way to mass rename files to lowercase
|
||||
#so zipping them without compression and extracting them as all lowercase it is
|
||||
#music needs to be all lowercase
|
||||
zip -0qr temp.zip "${OUTPUT}"/*.ogg
|
||||
rm "${OUTPUT}"/*.ogg
|
||||
unzip -qLL temp.zip
|
||||
rm temp.zip
|
||||
|
||||
echo "Packaging APK..."
|
||||
#decompile the apk
|
||||
apkmod -d -i data/android/AM2RWrapper.apk -o AM2RWrapper
|
||||
#copy
|
||||
mv "${OUTPUT}" assets
|
||||
apkmod -d -i "${DATA_FOLDER}/android/AM2RWrapper.apk" -o AM2RWrapper
|
||||
mv "$OUTPUT" assets
|
||||
cp -Rp assets AM2RWrapper
|
||||
#edited yaml thing to not compress ogg's
|
||||
echo "Editing apktool.yml..."
|
||||
sed -i "s/doNotCompress:/doNotCompress:\n- ogg/" AM2RWrapper/apktool.yml
|
||||
#build
|
||||
# check if aapt2 exists, if not use aapt instead
|
||||
if [ -f /usr/bin/aapt2 ]; then
|
||||
apkmod -r -i AM2RWrapper -o AM2R-"${VERSION}".apk
|
||||
apkmod -r -i AM2RWrapper -o "AM2R-${VERSION}.apk"
|
||||
else
|
||||
apkmod -a -r -i AM2RWrapper -o AM2R-"${VERSION}".apk
|
||||
apkmod -a -r -i AM2RWrapper -o "AM2R-${VERSION}.apk"
|
||||
fi
|
||||
#Sign apk
|
||||
apkmod -s -i AM2R-"${VERSION}".apk -o AM2R-"${VERSION}"-signed.apk
|
||||
apkmod -s -i "AM2R-${VERSION}.apk" -o "AM2R-${VERSION}-signed.apk"
|
||||
|
||||
# Cleanup
|
||||
rm -R assets/ AM2RWrapper/ data/ AM2R-"${VERSION}".apk
|
||||
|
||||
# Move signed APK
|
||||
mv AM2R-"${VERSION}"-signed.apk ~/storage/downloads/AM2R-"${VERSION}"-signed.apk
|
||||
rm -R assets/ AM2RWrapper/ "$DATA_FOLDER" "AM2R-${VERSION}.apk"
|
||||
mv "AM2R-${VERSION}-signed.apk" "$DOWNLOADS_DIR/AM2R-${VERSION}-signed.apk"
|
||||
|
||||
echo ""
|
||||
echo -e "\033[0;32mThe operation was completed successfully and the APK can be found in your Downloads folder as \"AM2R-${VERSION}-signed.apk\"."
|
||||
echo -e "\033[0;32mSee you next mission\!"
|
||||
echo -e "\033[1;37m"
|
||||
xdg-open ~/storage/downloads/AM2R-"${VERSION}"-signed.apk
|
||||
xdg-open "$DOWNLOADS_DIR/AM2R-${VERSION}-signed.apk"
|
||||
|
||||
Reference in New Issue
Block a user