From a820ec9a95ca5d7d510737cf5581e7f641e76c1e Mon Sep 17 00:00:00 2001 From: chacha Date: Sat, 21 Mar 2026 15:29:03 +0100 Subject: [PATCH] test --- Jenkinsfile | 8 +++++++- games/ut99/ut | 37 +++++++++++++++++++++++++++++++++---- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 24d1a2a..33284ff 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,7 +10,13 @@ pipeline { } stages { stage('Prepare Docker cache markers') { - agent { label 'pyDABFActory-CIAgent' } + agent { + docker { + image 'alpine/git:2.47.2' + label 'pyDABFActory-CIAgent' + reuseNode true + } + } steps { sh ''' mkdir -p .docker-cache diff --git a/games/ut99/ut b/games/ut99/ut index 7dacca5..d5fc642 100644 --- a/games/ut99/ut +++ b/games/ut99/ut @@ -4,7 +4,7 @@ GAME_BINARY="ut-bin" SYSTEM_DIR="System" # Additional commandline options for mods etc. -CMD_ARGS="" +CMD_ARGS=() # don't use US keyboard layout #NOUSLAYOUT="true" @@ -163,16 +163,45 @@ fi trap "setxkbmap" EXIT # games run better with US keyboard layout -test "$NOUSLAYOUT" || setxkbmap -symbols 'us(pc101)' +OLD_XKB_LAYOUT="" +OLD_XKB_VARIANT="" +OLD_XKB_OPTIONS="" + +if [ -z "$NOUSLAYOUT" ] && command -v setxkbmap >/dev/null 2>&1; then + OLD_XKB_LAYOUT="$(setxkbmap -query 2>/dev/null | awk '$1=="layout:" {print $2}')" + OLD_XKB_VARIANT="$(setxkbmap -query 2>/dev/null | awk '$1=="variant:" {print $2}')" + OLD_XKB_OPTIONS="$(setxkbmap -query 2>/dev/null | awk '$1=="options:" {$1=""; sub(/^ /,""); print}')" + + restore_xkb() { + if [ -n "$OLD_XKB_LAYOUT" ]; then + if [ -n "$OLD_XKB_VARIANT" ]; then + setxkbmap -layout "$OLD_XKB_LAYOUT" -variant "$OLD_XKB_VARIANT" >/dev/null 2>&1 || true + else + setxkbmap -layout "$OLD_XKB_LAYOUT" >/dev/null 2>&1 || true + fi + + if [ -n "$OLD_XKB_OPTIONS" ]; then + setxkbmap -option "$OLD_XKB_OPTIONS" >/dev/null 2>&1 || true + else + setxkbmap -option >/dev/null 2>&1 || true + fi + fi + } + + trap restore_xkb EXIT + setxkbmap -symbols 'us(pc101)' +fi LD_LIBRARY_PATH="${GAME_SYSTEM_DIR}:${LD_LIBRARY_PATH}" export LD_LIBRARY_PATH +cd "${GAME_SYSTEM_DIR}" || exit 1 + # start the game if nice -n -5 true >/dev/null 2>&1; then echo "Launching UT99 with elevated priority" - cd "${GAME_SYSTEM_DIR}" && exec nice -n -5 -- "./$GAME_BINARY" $CMD_ARGS "$@" + exec nice -n -5 -- "./$GAME_BINARY" "${CMD_ARGS[@]}" "$@" else echo "Negative nice not permitted, launching normally" - cd "${GAME_SYSTEM_DIR}" && exec "./$GAME_BINARY" $CMD_ARGS "$@" + exec "./$GAME_BINARY" "${CMD_ARGS[@]}" "$@" fi