X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcustomize%2Ffred%2Fscripts%2Fgames%2Fgamesaver.sh;h=4f183ce5d095530e78a2f1d9e292c4e188339548;hb=cec6f085ec8f9c24e32e600a2f00f213effd01d9;hp=764ab6c5459f59d18fb07970a6b21200a110a84b;hpb=ae8e8d303108130fb5e4867269415125d506ed2c;p=feisty_meow.git diff --git a/scripts/customize/fred/scripts/games/gamesaver.sh b/scripts/customize/fred/scripts/games/gamesaver.sh index 764ab6c5..4f183ce5 100644 --- a/scripts/customize/fred/scripts/games/gamesaver.sh +++ b/scripts/customize/fred/scripts/games/gamesaver.sh @@ -5,24 +5,6 @@ source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" -#we are missing the netcp thing. why???? - -WINE_SOURCE_DIR="$HOME/wine_goods/My Games" -SPOOLING_OUTPUT_DIR="$HOME/data/spooling_saves" - -if [ ! -d "$WINE_SOURCE_DIR" ]; then - WINE_SOURCE_DIR="/cygdrive/c/users/fred/My Documents/My Games" -fi -if [ ! -d "$WINE_SOURCE_DIR" ]; then - echo "Failing to find the game save directories." - exit 1 -fi - -if [ ! -d "$SPOOLING_OUTPUT_DIR" ]; then - mkdir -p "$SPOOLING_OUTPUT_DIR" - exit_on_error Creating spooling output directory. -fi - # copies the files for a particular game out to a spooling folder. function copyem() { @@ -30,34 +12,79 @@ function copyem() source_dir="$1"; shift out_dir="$1"; shift - if [ -d "$source_dir" ]; then + if [ -d "$source_dir" -a $(ls "$source_dir" 2>/dev/null | wc -c) != 0 ]; then echo $game_name -#old cp -v -n "$source_dir"/* "$out_dir"/ + if [ ! -d "$out_dir" ]; then + mkdir -p "$out_dir" + exit_on_error "Creating storage dir: $out_dir" + fi netcp "$source_dir"/* "$out_dir"/ sep 28 fi } -# make the output folders if they don't exist. -for i in skyrim fallout_new_vegas fallout_3 oblivion fallout_4 ; do - if [ ! -d "$SPOOLING_OUTPUT_DIR/$i" ]; then - mkdir -p "$SPOOLING_OUTPUT_DIR/$i" +############## + +# run through and copy our save files from the potentially weird locations they reside in. +# this requires a single argument, which is the top-level directory of the game storage. +function copy_all_save_games() +{ + local WINE_GOODS_DIR="$1" + + local WINE_GAMES_DIR="$WINE_GOODS_DIR/My Games" + local SPOOLING_OUTPUT_DIR="$HOME/data/spooling_saves" + + if [ ! -d "$WINE_GAMES_DIR" ]; then + echo "Failing to find the game save directories." + exit 1 fi -done -# now run through and copy our save files from the potentially weird locations -# they reside in. + if [ ! -d "$SPOOLING_OUTPUT_DIR" ]; then + mkdir -p "$SPOOLING_OUTPUT_DIR" + exit_on_error Creating spooling output directory. + fi + + sep 28 + + copyem "skyrim" "$WINE_GAMES_DIR/Skyrim/Saves" "$SPOOLING_OUTPUT_DIR/skyrim" + + copyem "fallout new vegas" "$WINE_GAMES_DIR/FalloutNV/Saves" "$SPOOLING_OUTPUT_DIR/fallout_new_vegas" + + copyem "fallout 3" "$WINE_GAMES_DIR/Fallout3/Saves" "$SPOOLING_OUTPUT_DIR/fallout_3" -sep 28 + copyem "oblivion" "$WINE_GAMES_DIR/Oblivion/Saves" "$SPOOLING_OUTPUT_DIR/oblivion/" -copyem "skyrim" "$WINE_SOURCE_DIR/Skyrim/Saves" "$SPOOLING_OUTPUT_DIR/skyrim" + copyem "fallout 4" "$WINE_GAMES_DIR/Fallout4/Saves" "$SPOOLING_OUTPUT_DIR/fallout_4" -copyem "fallout new vegas" "$WINE_SOURCE_DIR/FalloutNV/Saves" "$SPOOLING_OUTPUT_DIR/fallout_new_vegas" + copyem "witcher 3" "$WINE_GOODS_DIR/The Witcher 3/gamesaves" "$SPOOLING_OUTPUT_DIR/witcher_3" +} -copyem "fallout 3" "$WINE_SOURCE_DIR/Fallout3/Saves" "$SPOOLING_OUTPUT_DIR/fallout_3" +#### -copyem "oblivion" "$WINE_SOURCE_DIR/Oblivion/Saves" "$SPOOLING_OUTPUT_DIR/oblivion/" +# mainline of script tries out a few locations to back up. -copyem "fallout 4" "$WINE_SOURCE_DIR/Fallout4/Saves" "$SPOOLING_OUTPUT_DIR/fallout_4" +# first try our play on linux storage. very individualized for fred. +wine_goods_dir="$HOME/linx/wine_goods" +# hmmm, this second attempt is a gloss over differences on windows, where some steam games might save to the my documents folder? +if [ ! -d "$wine_goods_dir" ]; then + wine_goods_dir="/cygdrive/c/users/fred/My Documents" +fi +if [ ! -d "$wine_goods_dir" ]; then + echo "not trying to back up any wine goods; could not find an appropriate folder." +else + copy_all_save_games "$wine_goods_dir" +fi + +# now try the main linux steam save game storage area, which is also fred specific. +# this uses a link in the home directory called steam_goods which is connected to +# "$HOME/.steam/steam/SteamApps/compatdata/MYNUM/pfx/drive_c/users/steamuser/My Documents" +# where MYNUM is replaced with one's steam ID number. +wine_goods_dir="$HOME/linx/steam_goods" +if [ ! -d "$wine_goods_dir" ]; then + echo "not trying to back up any steam goods; could not find an appropriate folder." +else + copy_all_save_games "$wine_goods_dir" +fi +####