Merge branch 'master' of github.com:fredhamster/feisty_meow into dev
[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 WINE_GOODS_DIR="$HOME/wine_goods"
9 if [ ! -d "$WINE_GOODS_DIR" ]; then
10   WINE_GOODS_DIR="/cygdrive/c/users/fred/My Documents"
11 fi
12
13 WINE_GAMES_DIR="$WINE_GOODS_DIR/My Games"
14 SPOOLING_OUTPUT_DIR="$HOME/data/spooling_saves"
15
16 if [ ! -d "$WINE_GAMES_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     if [ ! -d "$out_dir" ]; then
36       mkdir -p "$out_dir"
37       exit_on_error "Creating storage dir: $out_dir"
38     fi
39     netcp "$source_dir"/* "$out_dir"/
40     sep 28
41   fi
42 }
43
44 ##############
45
46 # now run through and copy our save files from the potentially weird locations
47 # they reside in.
48
49 sep 28
50
51 copyem "skyrim" "$WINE_GAMES_DIR/Skyrim/Saves" "$SPOOLING_OUTPUT_DIR/skyrim"
52
53 copyem "fallout new vegas" "$WINE_GAMES_DIR/FalloutNV/Saves" "$SPOOLING_OUTPUT_DIR/fallout_new_vegas"
54
55 copyem "fallout 3" "$WINE_GAMES_DIR/Fallout3/Saves" "$SPOOLING_OUTPUT_DIR/fallout_3"
56
57 copyem "oblivion" "$WINE_GAMES_DIR/Oblivion/Saves" "$SPOOLING_OUTPUT_DIR/oblivion/"
58
59 copyem "fallout 4" "$WINE_GAMES_DIR/Fallout4/Saves" "$SPOOLING_OUTPUT_DIR/fallout_4"
60
61 copyem "witcher 3" "$WINE_GOODS_DIR/The Witcher 3/gamesaves" "$SPOOLING_OUTPUT_DIR/witcher_3"
62
63