modified error handling methods
[feisty_meow.git] / scripts / customize / fred / scripts / games / gamesaver.sh
1 #!/bin/bash
2
3 # a helpful script that scrapes any active game saves from wine's storage
4 # area into a spooling saves folder for archiving.
5
6 source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
7
8 #we are missing the netcp thing.  why????
9
10 WINE_SOURCE_DIR="$HOME/wine_goods/My Games"
11 SPOOLING_OUTPUT_DIR="$HOME/data/spooling_saves"
12
13 if [ ! -d "$WINE_SOURCE_DIR" ]; then
14   WINE_SOURCE_DIR="/cygdrive/c/users/fred/My Documents/My Games"
15 fi
16 if [ ! -d "$WINE_SOURCE_DIR" ]; then
17   echo "Failing to find the game save directories."
18   exit 1
19 fi
20
21 if [ ! -d "$SPOOLING_OUTPUT_DIR" ]; then
22   mkdir -p "$SPOOLING_OUTPUT_DIR"
23   exit_on_error Creating spooling output directory.
24 fi
25
26 # copies the files for a particular game out to a spooling folder.
27 function copyem()
28 {
29   game_name="$1"; shift
30   source_dir="$1"; shift
31   out_dir="$1"; shift
32
33   if [ -d "$source_dir" ]; then
34     echo $game_name
35 #old    cp -v -n "$source_dir"/* "$out_dir"/
36     netcp "$source_dir"/* "$out_dir"/
37     sep 28
38   fi
39 }
40
41 # make the output folders if they don't exist.
42 for i in skyrim fallout_new_vegas fallout_3/Saves oblivion fallout_4/Saves ; do
43   if [ ! -d "$SPOOLING_OUTPUT_DIR/$i" ]; then
44     mkdir -p "$SPOOLING_OUTPUT_DIR/$i"
45   fi
46 done
47
48 # now run through and copy our save files from the potentially weird locations
49 # they reside in.
50
51 sep 28
52
53 copyem "skyrim" "$WINE_SOURCE_DIR/Skyrim/Saves" "$SPOOLING_OUTPUT_DIR/skyrim"
54
55 copyem "fallout new vegas" "$WINE_SOURCE_DIR/FalloutNV/Saves" "$SPOOLING_OUTPUT_DIR/fallout_new_vegas"
56
57 copyem "fallout 3" "$WINE_SOURCE_DIR/Fallout3/Saves" "$SPOOLING_OUTPUT_DIR/fallout_3/Saves"
58
59 copyem "oblivion" "$WINE_SOURCE_DIR/Oblivion/Saves" "$SPOOLING_OUTPUT_DIR/oblivion/"
60
61 copyem "fallout 4" "$WINE_SOURCE_DIR/Fallout4/Saves" "$SPOOLING_OUTPUT_DIR/fallout_4/Saves"
62
63