summaryrefslogtreecommitdiff
path: root/src/SMAPI.Installer/assets
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI.Installer/assets')
-rw-r--r--src/SMAPI.Installer/assets/System.Numerics.dllbin54272 -> 0 bytes
-rw-r--r--src/SMAPI.Installer/assets/System.Runtime.Caching.dllbin71168 -> 0 bytes
-rw-r--r--src/SMAPI.Installer/assets/unix-install.sh18
-rw-r--r--src/SMAPI.Installer/assets/unix-launcher.sh96
4 files changed, 22 insertions, 92 deletions
diff --git a/src/SMAPI.Installer/assets/System.Numerics.dll b/src/SMAPI.Installer/assets/System.Numerics.dll
deleted file mode 100644
index fed0f92c..00000000
--- a/src/SMAPI.Installer/assets/System.Numerics.dll
+++ /dev/null
Binary files differ
diff --git a/src/SMAPI.Installer/assets/System.Runtime.Caching.dll b/src/SMAPI.Installer/assets/System.Runtime.Caching.dll
deleted file mode 100644
index a062391d..00000000
--- a/src/SMAPI.Installer/assets/System.Runtime.Caching.dll
+++ /dev/null
Binary files differ
diff --git a/src/SMAPI.Installer/assets/unix-install.sh b/src/SMAPI.Installer/assets/unix-install.sh
index 311c5469..a830a22d 100644
--- a/src/SMAPI.Installer/assets/unix-install.sh
+++ b/src/SMAPI.Installer/assets/unix-install.sh
@@ -1,24 +1,10 @@
#!/bin/bash
-# Run the SMAPI installer through Mono on Linux or macOS.
# Move to script's directory
cd "`dirname "$0"`"
-# get cross-distro version of POSIX command
-COMMAND=""
-if command -v command >/dev/null 2>&1; then
- COMMAND="command -v"
-elif type type >/dev/null 2>&1; then
- COMMAND="type"
-fi
-
# if $TERM is not set to xterm, mono will bail out when attempting to write to the console.
export TERM=xterm
-# validate Mono & run installer
-if $COMMAND mono >/dev/null 2>&1; then
- mono internal/unix-install.exe
-else
- echo "Oops! Looks like Mono isn't installed. Please install Mono from https://mono-project.com, reboot, and run this installer again."
- read
-fi
+# run installer
+./internal/unix-install
diff --git a/src/SMAPI.Installer/assets/unix-launcher.sh b/src/SMAPI.Installer/assets/unix-launcher.sh
index d309f750..21bed803 100644
--- a/src/SMAPI.Installer/assets/unix-launcher.sh
+++ b/src/SMAPI.Installer/assets/unix-launcher.sh
@@ -1,34 +1,17 @@
#!/usr/bin/env bash
-# MonoKickstart Shell Script
-# Written by Ethan "flibitijibibo" Lee
-# Modified for SMAPI by various contributors
# Move to script's directory
cd "$(dirname "$0")" || exit $?
-# Get the system architecture
-UNAME=$(uname)
-ARCH=$(uname -m)
+# validate script is being run from the game folder
+if [ ! -f "Stardew Valley.dll" ]; then
+ echo "Oops! SMAPI must be placed in the Stardew Valley game folder.\nSee instructions: https://stardewvalleywiki.com/Modding:Player_Guide";
+ read
+ exit 1
+fi
-# MonoKickstart picks the right libfolder, so just execute the right binary.
+# macOS
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
@@ -37,52 +20,13 @@ if [ "$UNAME" == "Darwin" ]; then
ln -s /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib libgdiplus.dylib
fi
- # create bin file
- # Note: don't overwrite if it's identical, to avoid resetting permission flags
- if [ ! -x StardewModdingAPI.bin.osx ] || ! cmp StardewValley.bin.osx StardewModdingAPI.bin.osx >/dev/null 2>&1; then
- cp -p StardewValley.bin.osx StardewModdingAPI.bin.osx
- fi
-
- # Make sure we're running in Terminal (so the user can see errors/warnings/update alerts).
- # Previously we would just use `open -a Terminal` to launch the .bin.osx file, but that
- # doesn't let us set environment variables.
- if [ ! -t 1 ]; then # https://stackoverflow.com/q/911168/262123
- # sanity check to make sure we don't have an infinite loop of opening windows
- SKIP_TERMINAL=false
- for argument in "$@"; do
- if [ "$argument" == "--no-reopen-terminal" ]; then
- SKIP_TERMINAL=true
- break
- fi
- done
-
- # reopen in Terminal if needed
- # https://stackoverflow.com/a/29511052/262123
- if [ "$SKIP_TERMINAL" == "false" ]; then
- echo "Reopening in the Terminal app..."
- echo "\"$0\" $@ --no-reopen-terminal" > /tmp/open-smapi-terminal.sh
- chmod +x /tmp/open-smapi-terminal.sh
- cat /tmp/open-smapi-terminal.sh
- open -W -a Terminal /tmp/open-smapi-terminal.sh
- rm /tmp/open-smapi-terminal.sh
- exit 0
- fi
- fi
+ # launch smapi
+ open -a Terminal ./StardewModdingAPI "$@"
- # launch SMAPI
- LC_ALL="C" ./StardewModdingAPI.bin.osx "$@"
+# Linux
else
# choose binary file to launch
- LAUNCH_FILE=""
- if [ "$ARCH" == "x86_64" ]; then
- ln -sf mcs.bin.x86_64 mcs
- cp StardewValley.bin.x86_64 StardewModdingAPI.bin.x86_64
- LAUNCH_FILE="./StardewModdingAPI.bin.x86_64"
- else
- ln -sf mcs.bin.x86 mcs
- cp StardewValley.bin.x86 StardewModdingAPI.bin.x86
- LAUNCH_FILE="./StardewModdingAPI.bin.x86"
- fi
+ LAUNCH_FILE="./StardewModdingAPI"
export LAUNCH_FILE
# select terminal (prefer xterm for best compatibility, then known supported terminals)
@@ -105,44 +49,44 @@ else
terminal|termite)
# consumes only one argument after -e
# options containing space characters are unsupported
- exec $TERMINAL_NAME -e "env TERM=xterm LC_ALL=\"C\" $LAUNCH_FILE $@"
+ exec $TERMINAL_NAME -e "env TERM=xterm $LAUNCH_FILE $@"
;;
xterm|konsole|alacritty)
# consumes all arguments after -e
- exec $TERMINAL_NAME -e env TERM=xterm LC_ALL="C" $LAUNCH_FILE "$@"
+ exec $TERMINAL_NAME -e env TERM=xterm $LAUNCH_FILE "$@"
;;
terminator|xfce4-terminal|mate-terminal)
# consumes all arguments after -x
- exec $TERMINAL_NAME -x env TERM=xterm LC_ALL="C" $LAUNCH_FILE "$@"
+ exec $TERMINAL_NAME -x env TERM=xterm $LAUNCH_FILE "$@"
;;
gnome-terminal)
# consumes all arguments after --
- exec $TERMINAL_NAME -- env TERM=xterm LC_ALL="C" $LAUNCH_FILE "$@"
+ exec $TERMINAL_NAME -- env TERM=xterm $LAUNCH_FILE "$@"
;;
kitty)
# consumes all trailing arguments
- exec $TERMINAL_NAME env TERM=xterm LC_ALL="C" $LAUNCH_FILE "$@"
+ exec $TERMINAL_NAME env TERM=xterm $LAUNCH_FILE "$@"
;;
*)
# If we don't know the terminal, just try to run it in the current shell.
# If THAT fails, launch with no output.
- env TERM=xterm LC_ALL="C" $LAUNCH_FILE "$@"
+ env TERM=xterm $LAUNCH_FILE "$@"
if [ $? -eq 127 ]; then
- exec LC_ALL="C" $LAUNCH_FILE --no-terminal "$@"
+ exec $LAUNCH_FILE --no-terminal "$@"
fi
esac
## terminal isn't executable; fallback to current shell or no terminal
else
echo "The '$TERMINAL_NAME' terminal isn't executable. SMAPI might be running in a sandbox or the system might be misconfigured? Falling back to current shell."
- env TERM=xterm LC_ALL="C" $LAUNCH_FILE "$@"
+ env TERM=xterm $LAUNCH_FILE "$@"
if [ $? -eq 127 ]; then
- exec LC_ALL="C" $LAUNCH_FILE --no-terminal "$@"
+ exec $LAUNCH_FILE --no-terminal "$@"
fi
fi
fi