From 3f0fec42928d138909ae1d9131e2fb75d108bae7 Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Wed, 7 Feb 2018 12:40:36 -0500 Subject: [PATCH] fixing reconfig process needs to redo aliases and other assets, but currently is not. trying simplest approach first, by loading the launcher script at the end of having reconfigured everything. also added a link maker for fallout new vegas, to try to make running on wine a bit less of a hellfest. --- scripts/core/reconfigure_feisty_meow.sh | 3 ++ .../games/fallout_new_vegas_link_fixer.sh | 48 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 scripts/customize/fred/scripts/games/fallout_new_vegas_link_fixer.sh diff --git a/scripts/core/reconfigure_feisty_meow.sh b/scripts/core/reconfigure_feisty_meow.sh index 2224c716..081fb96f 100644 --- a/scripts/core/reconfigure_feisty_meow.sh +++ b/scripts/core/reconfigure_feisty_meow.sh @@ -81,3 +81,6 @@ if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then echo ============== fi +# now try a full reload to get latest aliases and everything. +source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" + diff --git a/scripts/customize/fred/scripts/games/fallout_new_vegas_link_fixer.sh b/scripts/customize/fred/scripts/games/fallout_new_vegas_link_fixer.sh new file mode 100644 index 00000000..a9a8ed82 --- /dev/null +++ b/scripts/customize/fred/scripts/games/fallout_new_vegas_link_fixer.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# sets up links to make fallout new vegas work properly under wine. +# some mods will look for paths that are incorrectly case sensitive, and this +# script just sets up all those links that we believe are required. + +source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" + +if [ ! -d Data ]; then + echo ' +This script needs to run from the "Fallout New Vegas" install directory, +which is usually found under "steam/steamapps/common". +' + exit 1 +fi + +function make_local_dir_link() +{ + dir="$1"; shift + name="$1"; shift + new_name="$1"; shift + pushd "$dir" &>/dev/null + if [ -L "$new_name" ]; then + echo "Skipping creation of existing link $dir/$new_name" + popd &>/dev/null + return + fi + if [ ! -d "$name" ]; then + echo "Skipping creation of link $dir/$new_name due to missing directory $dir/$name" + popd &>/dev/null + return + fi + ln -s "$name" "$new_name" + test_or_die "creating link for $dir/$new_name from $dir/$name" + echo "Created link $dir/$new_name from $dir/$name" + popd &>/dev/null +} + +make_local_dir_link Data Sound sound +make_local_dir_link Data Textures textures +make_local_dir_link Data Meshes meshes +make_local_dir_link Data/Meshes Landscape landscape +make_local_dir_link Data/Meshes Weapons weapons +make_local_dir_link Data/Sound Voice voice +make_local_dir_link Data/Textures Landscape landscape +make_local_dir_link Data/Textures Landscape weapons +make_local_dir_link Data/Textures Landscape clutter + -- 2.34.1