diff --git a/launch-game.cmd b/launch-game.cmd index 118350c95f..a96c58fe15 100644 --- a/launch-game.cmd +++ b/launch-game.cmd @@ -25,10 +25,15 @@ OpenRA.Game.exe %* :end if %errorlevel% neq 0 goto crashdialog exit /b + :crashdialog +set logs=%AppData%\OpenRA\Logs +if exist %USERPROFILE%\Documents\OpenRA\Logs (set logs=%USERPROFILE%\Documents\OpenRA\Logs) +if exist Support\Logs (set logs=%cd%\Support\Logs) + echo ---------------------------------------- echo OpenRA has encountered a fatal error. -echo * Log Files are available in Documents\OpenRA\Logs +echo * Log Files are available in %logs% echo * FAQ is available at https://github.com/OpenRA/OpenRA/wiki/FAQ echo ---------------------------------------- pause diff --git a/launch-game.sh b/launch-game.sh index 253045f7b5..d640cab1ab 100755 --- a/launch-game.sh +++ b/launch-game.sh @@ -25,7 +25,17 @@ mono OpenRA.Game.exe Engine.LaunchPath="$MODLAUNCHER" $MODARG "$@" # Show a crash dialog if something went wrong if [ $? != 0 ] && [ $? != 1 ]; then - ERROR_MESSAGE="OpenRA has encountered a fatal error.\nPlease refer to the crash logs and FAQ for more information.\n\nLog files are located in ~/.openra/Logs\nThe FAQ is available at http://wiki.openra.net/FAQ" + if [ "$(uname -s)" = "Darwin" ]; then + LOGS="${HOME}/Library/Application Support/OpenRA/Logs/" + else + LOGS="${XDG_CONFIG_HOME:-${HOME}/.config}/openra/Logs" + if [ ! -d "${LOGS}" ] && [ -d "${HOME}/.openra/Logs" ]; then + LOGS="${HOME}/.openra/Logs" + fi + fi + + test -d Support/Logs && LOGS="${PWD}/Support/Logs" + ERROR_MESSAGE="OpenRA has encountered a fatal error.\nPlease refer to the crash logs and FAQ for more information.\n\nLog files are located in ${LOGS}\nThe FAQ is available at http://wiki.openra.net/FAQ" if command -v zenity > /dev/null; then zenity --no-wrap --error --title "{MODNAME}" --text "${ERROR_MESSAGE}" 2> /dev/null elif command -v kdialog > /dev/null; then diff --git a/packaging/linux/openra.appimage.in b/packaging/linux/openra.appimage.in index 67d20e4fa6..318e2870d1 100755 --- a/packaging/linux/openra.appimage.in +++ b/packaging/linux/openra.appimage.in @@ -39,7 +39,13 @@ mono --debug OpenRA.Game.exe Game.Mod={MODID} Engine.LaunchPath="${LAUNCHER}" En # Show a crash dialog if something went wrong if [ $? != 0 ] && [ $? != 1 ]; then - ERROR_MESSAGE="{MODNAME} has encountered a fatal error.\nPlease refer to the crash logs and FAQ for more information.\n\nLog files are located in ~/.openra/Logs\nThe FAQ is available at http://wiki.openra.net/FAQ" + LOGS="${XDG_CONFIG_HOME:-${HOME}/.config}/openra/Logs" + if [ ! -d "${LOGS}" ] && [ -d "${HOME}/.openra/Logs" ]; then + LOGS="${HOME}/.openra/Logs" + fi + + test -d Support/Logs && LOGS="${PWD}/Support/Logs" + ERROR_MESSAGE="{MODNAME} has encountered a fatal error.\nPlease refer to the crash logs and FAQ for more information.\n\nLog files are located in ${LOGS}\nThe FAQ is available at http://wiki.openra.net/FAQ" if command -v zenity > /dev/null; then zenity --no-wrap --error --title "{MODNAME}" --text "${ERROR_MESSAGE}" 2> /dev/null elif command -v kdialog > /dev/null; then diff --git a/packaging/linux/openra.in b/packaging/linux/openra.in index 7292ddba0f..e426e6346c 100755 --- a/packaging/linux/openra.in +++ b/packaging/linux/openra.in @@ -13,7 +13,13 @@ mono {DEBUG} OpenRA.Game.exe Game.Mod={MODID} Engine.LaunchPath="{BIN_DIR}/openr # Show a crash dialog if something went wrong if [ $? != 0 ] && [ $? != 1 ]; then - ERROR_MESSAGE="{MODNAME} has encountered a fatal error.\nPlease refer to the crash logs and FAQ for more information.\n\nLog files are located in ~/.openra/Logs\nThe FAQ is available at http://wiki.openra.net/FAQ" + LOGS="${XDG_CONFIG_HOME:-${HOME}/.config}/openra/Logs" + if [ ! -d "${LOGS}" ] && [ -d "${HOME}/.openra/Logs" ]; then + LOGS="${HOME}/.openra/Logs" + fi + + test -d Support/Logs && LOGS="${PWD}/Support/Logs" + ERROR_MESSAGE="{MODNAME} has encountered a fatal error.\nPlease refer to the crash logs and FAQ for more information.\n\nLog files are located in ${LOGS}\nThe FAQ is available at http://wiki.openra.net/FAQ" if command -v zenity > /dev/null; then zenity --no-wrap --error --title "{MODNAME}" --text "${ERROR_MESSAGE}" 2> /dev/null elif command -v kdialog > /dev/null; then