forked from woofmeow/straywild
fix: preserve PortMaster controller mappings through Weston
This commit is contained in:
parent
4cffe47ba3
commit
364e7dc282
4 changed files with 57 additions and 20 deletions
|
|
@ -29,7 +29,9 @@ fi
|
|||
|
||||
CONFDIR="$GAMEDIR/conf"
|
||||
GAME_EXECUTABLE="$GAMEDIR/NETfishing.aarch64"
|
||||
GAME_LAUNCHER="$GAMEDIR/launch-netfishing.sh"
|
||||
GPTOKEYB_CONFIG="$GAMEDIR/netfishing.gptk"
|
||||
CONTROLLER_MAPPING_FILE="$CONFDIR/cache/controller_mapping.txt"
|
||||
WESTON_DIR="/tmp/netfishing-weston"
|
||||
WESTON_RUNTIME="weston_pkg_0.2"
|
||||
HARBOURMASTER="$controlfolder/harbourmaster"
|
||||
|
|
@ -76,6 +78,7 @@ elif [ -n "$sdl_controllerconfig" ]; then
|
|||
else
|
||||
netfishing_controllerconfig="$GODOT_MUOS_MAPPING"
|
||||
fi
|
||||
printf '%s\n' "$netfishing_controllerconfig" > "$CONTROLLER_MAPPING_FILE"
|
||||
|
||||
NETFISHING_GODOT_OPTIONS=()
|
||||
NETFISHING_GAME_ENVIRONMENT=()
|
||||
|
|
@ -125,15 +128,15 @@ esac
|
|||
$GPTOKEYB "NETfishing.aarch64" -c "$GPTOKEYB_CONFIG" &
|
||||
pm_platform_helper "$GAME_EXECUTABLE"
|
||||
|
||||
$ESUDO env \
|
||||
CRUSTY_RESOLUTION="${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}" \
|
||||
SDL_GAMECONTROLLERCONFIG="$netfishing_controllerconfig" \
|
||||
$ESUDO env CRUSTY_RESOLUTION="${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}" \
|
||||
"$WESTON_DIR/westonwrap.sh" headless noop kiosk crusty_x11egl \
|
||||
XDG_DATA_HOME="$CONFDIR/data" \
|
||||
XDG_CONFIG_HOME="$CONFDIR/config" \
|
||||
XDG_CACHE_HOME="$CONFDIR/cache" \
|
||||
GODOT_SILENCE_ROOT_WARNING=1 \
|
||||
"${NETFISHING_GAME_ENVIRONMENT[@]}" \
|
||||
"$GAME_LAUNCHER" \
|
||||
"$CONTROLLER_MAPPING_FILE" \
|
||||
"$GAME_EXECUTABLE" \
|
||||
"${NETFISHING_GODOT_OPTIONS[@]}" \
|
||||
--resolution "${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}" \
|
||||
|
|
|
|||
23
scripts/portmaster/launch-netfishing.sh
Executable file
23
scripts/portmaster/launch-netfishing.sh
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ $# -lt 2 ]]; then
|
||||
echo "Usage: $0 <controller-mapping-file> <game-command> [arguments...]" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
CONTROLLER_MAPPING_FILE="$1"
|
||||
shift
|
||||
|
||||
if [[ ! -r "$CONTROLLER_MAPPING_FILE" ]]; then
|
||||
echo "Controller mapping file is not readable: $CONTROLLER_MAPPING_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SDL_GAMECONTROLLERCONFIG="$(<"$CONTROLLER_MAPPING_FILE")"
|
||||
if [[ "$SDL_GAMECONTROLLERCONFIG" != *,*,* ]]; then
|
||||
echo "Controller mapping file is malformed: $CONTROLLER_MAPPING_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export SDL_GAMECONTROLLERCONFIG
|
||||
exec "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue