summaryrefslogtreecommitdiff
path: root/src/SMAPI/unix-launcher.sh
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-02-17 02:00:46 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-02-17 02:00:46 -0500
commit754e356adc8fa23f4cecef588406f126a3e1a4a4 (patch)
tree49b15bdc7438496de92adce948e5985259079b8d /src/SMAPI/unix-launcher.sh
parent52867bb634af4706abe41557728c58b27b69f34d (diff)
downloadSMAPI-754e356adc8fa23f4cecef588406f126a3e1a4a4.tar.gz
SMAPI-754e356adc8fa23f4cecef588406f126a3e1a4a4.tar.bz2
SMAPI-754e356adc8fa23f4cecef588406f126a3e1a4a4.zip
add install scripts for Linux/Mac (#434)
Diffstat (limited to 'src/SMAPI/unix-launcher.sh')
-rw-r--r--src/SMAPI/unix-launcher.sh95
1 files changed, 0 insertions, 95 deletions
diff --git a/src/SMAPI/unix-launcher.sh b/src/SMAPI/unix-launcher.sh
deleted file mode 100644
index 2542a286..00000000
--- a/src/SMAPI/unix-launcher.sh
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/bash
-# MonoKickstart Shell Script
-# Written by Ethan "flibitijibibo" Lee
-# Modified for StardewModdingAPI by Viz and Pathoschild
-
-# Move to script's directory
-cd "`dirname "$0"`"
-
-# Get the system architecture
-UNAME=`uname`
-ARCH=`uname -m`
-
-# MonoKickstart picks the right libfolder, so just execute the right binary.
-if [ "$UNAME" == "Darwin" ]; then
- # ... Except on OSX.
- export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:./osx/
-
- # El Capitan is a total idiot and wipes this variable out, making the
- # Steam overlay disappear. This sidesteps "System Integrity Protection"
- # and resets the variable with Valve's own variable (they provided this
- # fix by the way, thanks Valve!). Note that you will need to update your
- # launch configuration to the script location, NOT just the app location
- # (i.e. Kick.app/Contents/MacOS/Kick, not just Kick.app).
- # -flibit
- if [ "$STEAM_DYLD_INSERT_LIBRARIES" != "" ] && [ "$DYLD_INSERT_LIBRARIES" == "" ]; then
- export DYLD_INSERT_LIBRARIES="$STEAM_DYLD_INSERT_LIBRARIES"
- fi
-
- # this was here before
- ln -sf mcs.bin.osx mcs
-
- # fix "DllNotFoundException: libgdiplus.dylib" errors when loading images in SMAPI
- if [ -f libgdiplus.dylib ]; then
- rm libgdiplus.dylib
- fi
- if [ -f /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib ]; then
- ln -s /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib libgdiplus.dylib
- fi
-
- # launch SMAPI
- cp StardewValley.bin.osx StardewModdingAPI.bin.osx
- open -a Terminal ./StardewModdingAPI.bin.osx $@
-else
- # choose launcher
- LAUNCHER=""
- if [ "$ARCH" == "x86_64" ]; then
- ln -sf mcs.bin.x86_64 mcs
- cp StardewValley.bin.x86_64 StardewModdingAPI.bin.x86_64
- LAUNCHER="./StardewModdingAPI.bin.x86_64 $@"
- else
- ln -sf mcs.bin.x86 mcs
- cp StardewValley.bin.x86 StardewModdingAPI.bin.x86
- LAUNCHER="./StardewModdingAPI.bin.x86 $@"
- fi
-
- # get cross-distro version of POSIX command
- COMMAND=""
- if command -v command 2>/dev/null; then
- COMMAND="command -v"
- elif type type 2>/dev/null; then
- COMMAND="type"
- fi
-
- # open SMAPI in terminal
- if $COMMAND x-terminal-emulator 2>/dev/null; then
- # Terminator converts -e to -x when used through x-terminal-emulator for some reason (per
- # `man terminator`), which causes an "unable to find shell" error. If x-terminal-emulator
- # is mapped to Terminator, invoke it directly instead.
- if [[ "$(readlink -e $(which x-terminal-emulator))" == *"/terminator" ]]; then
- terminator -e "$LAUNCHER"
- else
- x-terminal-emulator -e "$LAUNCHER"
- fi
- elif $COMMAND xfce4-terminal 2>/dev/null; then
- xfce4-terminal -e "$LAUNCHER"
- elif $COMMAND gnome-terminal 2>/dev/null; then
- gnome-terminal -e "$LAUNCHER"
- elif $COMMAND xterm 2>/dev/null; then
- xterm -e "$LAUNCHER"
- elif $COMMAND konsole 2>/dev/null; then
- konsole -e "$LAUNCHER"
- elif $COMMAND terminal 2>/dev/null; then
- terminal -e "$LAUNCHER"
- else
- $LAUNCHER
- fi
-
- # some Linux users get error 127 (command not found) from the above block, even though
- # `command -v` indicates the command is valid. As a fallback, launch SMAPI without a terminal when
- # that happens and pass in an argument indicating SMAPI shouldn't try writing to the terminal
- # (which can be slow if there is none).
- if [ $? -eq 127 ]; then
- $LAUNCHER --no-terminal
- fi
-fi