factorimods: support for dmenu-like (rofi...)
This commit is contained in:
parent
a762fe780f
commit
1c4e7f3817
14
factorimods
14
factorimods
@ -3,6 +3,8 @@
|
|||||||
# Dependencies : you'll need a dmenu-like to run this script.
|
# Dependencies : you'll need a dmenu-like to run this script.
|
||||||
# On debian and debian-like distros (ubuntu, mint...), simply run:
|
# On debian and debian-like distros (ubuntu, mint...), simply run:
|
||||||
# sudo apt install dmenu
|
# sudo apt install dmenu
|
||||||
|
# If you use something else than dmenu, edit the following line accordingly:
|
||||||
|
dmenu=dmenu
|
||||||
|
|
||||||
# Edit this line to meet your installation
|
# Edit this line to meet your installation
|
||||||
factorio_dir="/DATA/Games/factorio"
|
factorio_dir="/DATA/Games/factorio"
|
||||||
@ -16,32 +18,32 @@ factorio_dir="/DATA/Games/factorio"
|
|||||||
cd $factorio_dir/saves
|
cd $factorio_dir/saves
|
||||||
|
|
||||||
#Ask the user to select a save
|
#Ask the user to select a save
|
||||||
save=$(ls -t *.zip | grep -v autosave | rev | cut -d "." -f 2- | rev | dmenu -i -l 5 -p "Chose a save file: ")
|
save=$(ls -t *.zip | grep -v autosave | rev | cut -d "." -f 2- | rev | $dmenu -i -l 5 -p "Chose a save file: ")
|
||||||
|
|
||||||
test $? -ne 0 && echo "No save selected" && exit 1
|
test $? -ne 0 && echo "No save selected" && exit 1
|
||||||
echo $save
|
|
||||||
|
|
||||||
|
# If -r option is passed, replace the modlist of hte save with the latest modlist from factorio
|
||||||
if test "$1" = "-r" ; then
|
if test "$1" = "-r" ; then
|
||||||
cp ../mods/mod-list.json mod-list.json_$save
|
cp ../mods/mod-list.json mod-list.json_$save
|
||||||
modlist=$save
|
modlist=$save
|
||||||
|
|
||||||
# Check if a modlist exists for that save
|
# Check if a modlist exists for that save
|
||||||
elif test -s "mod-list.json_$save" ; then
|
elif test -s "mod-list.json_$save" ; then
|
||||||
modlist=$save
|
modlist=$save
|
||||||
else
|
else
|
||||||
# Otherwise, prompt to load another modlist
|
# Otherwise, prompt to load another modlist
|
||||||
modlist=$(ls -t mod-list.json_* | cut -d "_" -f 2- | dmenu -p "No mod list found for savegame \"$save\". Select mod list from available: ")
|
modlist=$(ls -t mod-list.json_* | cut -d "_" -f 2- | $dmenu -p "No mod list found for savegame \"$save\". Select mod list from available: ")
|
||||||
|
|
||||||
test $? -ne 0 && echo "No modlist selected" && exit 1
|
test $? -ne 0 && echo "No modlist selected" && exit 1
|
||||||
|
|
||||||
# And prompt to save it for later
|
# And prompt to save it for later
|
||||||
echo -e "yes\nno" | dmenu -p "Save selected modlist for savegame $save ?" | grep -q "yes" && cp mod-list.json_$modlist mod-list.json_$save && modlist=$save
|
echo -e "yes\nno" | $dmenu -p "Save selected modlist for savegame $save ?" | grep -q "yes" && cp mod-list.json_$modlist mod-list.json_$save && modlist=$save
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $modlist
|
|
||||||
# Link that modlist to the file read by factorio
|
# Link that modlist to the file read by factorio
|
||||||
ln -fs ../saves/mod-list.json_$modlist ../mods/mod-list.json
|
ln -fs ../saves/mod-list.json_$modlist ../mods/mod-list.json
|
||||||
|
|
||||||
|
|
||||||
# Launch the game and the requested save
|
# Launch the game and the requested save
|
||||||
cd ..
|
cd ..
|
||||||
echo "$factorio_dir/bin/x64/factorio --load-game $factorio_dir/saves/$save.zip"
|
echo "$factorio_dir/bin/x64/factorio --load-game $factorio_dir/saves/$save.zip"
|
||||||
|
Loading…
Reference in New Issue
Block a user