Changed patch definition

master
daretmavi 2020-12-29 18:10:44 +01:00
parent 752915ff46
commit eb04ecabc3
1 changed files with 54 additions and 24 deletions

View File

@ -11,41 +11,71 @@ DST="$PROJ"/mods/ # Game mods dir
#copy files
MOD_NAME=("skinsdb") #temporary not used: "smart_inventory" "minetest_game"
MOD_TYPE=("player") #temporary not used: "gui" "."
MOD_PATH=("player/skinsdb") #temporary not used: "gui/smart_inventory" "minetest_game"
for MOD_INDEX in ${!MOD_NAME[*]}
for MOD_INDEX in ${!MOD_PATH[*]}
do
SRC_DIR="$SRC${MOD_TYPE[MOD_INDEX]}/${MOD_NAME[MOD_INDEX]}/"
DST_DIR="$DST${MOD_TYPE[MOD_INDEX]}/${MOD_NAME[MOD_INDEX]}/"
SRC_DIR="$SRC${MOD_PATH[MOD_INDEX]}/"
DST_DIR="$DST${MOD_PATH[MOD_INDEX]}/"
echo "---------------------"
echo "Syncing ${MOD_NAME[MOD_INDEX]} mod changes."
echo "$SRC_DIR --> $DST_DIR"
echo "---------------------------------------------------------------"
echo "Syncing ${MOD_PATH[MOD_INDEX]} mod changes."
echo "$SRC_DIR --> $DST_DIR"
rsync -r -v $SRC_DIR $DST_DIR
echo "---------------------"
rsync -r -v --quiet $SRC_DIR $DST_DIR
echo "---------------------------------------------------------------"
done
#patch code
MOD_TYPE=("mobs" "buildings" "player" "player" "player")
MOD_NAME=("water_life" "doors" "3d_armor" "hbsprint" "hunger_ng")
MOD_PATCH=("poison.patch" "doors_update.patch" "mob_damage.patch" "no_damage.patch" "effects.patch")
#MOD_PATH=("mobs/water_life" "buildings/doors" "player/3d_armor" "player/hbsprint" "player/hunger_ng")
#MOD_PATCH=("poison.patch" "doors_update.patch" "mob_damage.patch" "no_damage.patch" "effects.patch")
for MOD_INDEX in ${!MOD_NAME[*]}
#MOD_PATH and MOD_PATCH arrays for later
MOD_PATH=( ) #pathes to the patches
MOD_PATCH=( ) #patch names
#MOD_PATCHES - all patches defined
#MOD_PATCHES - first is path and all patch names are separeted by ":"
#MOD_PATCHES=("mobs/water_life:poison.patch" "buildings/doors:doors_update.patch" "player/3d_armor:mob_damage.patch" "player/hbsprint:no_damage.patch" "player/hunger_ng:effects.patch")
MOD_PATCHES=("buildings/doors:doors_update.patch" "player/hbsprint:no_damage.patch")
#MOD_PATCHES=( )
echo "---------------------------------------------------------------"
echo "DEFINED PATCHES"
echo
for PATCH_MOD in ${MOD_PATCHES[@]}; do
echo $PATCH_MOD
IFS=':' # : is set as delimiter
read -ra ADDR <<< "${PATCH_MOD}" # str is read into an array as tokens separated by IFS
for i in "${!ADDR[@]}"; do # access each element of array
#echo ${ADDR[i]}
#0 is patch, patch names are index 1 and greather
if [ $i -gt 0 ]; then
PATCH_INDEX=${#MOD_PATCH[@]}
MOD_PATH+=(${ADDR[0]})
MOD_PATCH+=(${ADDR[i]})
echo "$PATCH_INDEX: ${MOD_PATH[PATCH_INDEX]} / ${MOD_PATCH[PATCH_INDEX]}"
fi
done
echo
IFS=' ' # reset to default value after usage
done
echo "---------------------------------------------------------------"
#Use all patches
for MOD_INDEX in ${!MOD_PATH[*]}
do
SRC_DIR="$SRC${MOD_TYPE[MOD_INDEX]}/${MOD_NAME[MOD_INDEX]}/"
DST_DIR="$DST${MOD_TYPE[MOD_INDEX]}/${MOD_NAME[MOD_INDEX]}/"
SRC_DIR="$SRC${MOD_PATH[MOD_INDEX]}/"
DST_DIR="$DST${MOD_PATH[MOD_INDEX]}/"
echo "---------------------------------------------------------------"
echo "Apllying patch to ${MOD_PATH[MOD_INDEX]}."
echo
echo "---------------------"
echo "Apllying patch to ${MOD_NAME[MOD_INDEX]}."
echo
cd $DST_DIR
patch -p1 < "$SRC_DIR/${MOD_PATCH[MOD_INDEX]}"
echo "---------------------"
done
echo "---------------------------------------------------------------"
done