Skip to content

Commit 6e3ae05

Browse files
committed
Merge https://github.com/supertuxkart/stk-code into command-manager-prototype
2 parents 667f2c4 + 893c5a7 commit 6e3ae05

File tree

128 files changed

+1280
-831
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+1280
-831
lines changed

android/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ buildscript
1111
// 4.1.2 is the minimum version to support native debug symbols file
1212
// https://developer.android.com/studio/build/shrink-code#android_gradle_plugin_version_41_or_later
1313
// 7.0.0 to fix https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted
14-
classpath 'com.android.tools.build:gradle:7.3.0'
14+
classpath 'com.android.tools.build:gradle:8.2.1'
1515
}
1616
}
1717

android/gradle.properties

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
6.95 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Mon Oct 23 13:51:26 PDT 2017
1+
#Sun Dec 03 18:24:53 EET 2023
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip

android/gradlew

+187-107
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,129 @@
1-
#!/usr/bin/env bash
1+
#!/bin/sh
2+
3+
#
4+
# Copyright © 2015-2021 the original authors.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#
218

319
##############################################################################
4-
##
5-
## Gradle start up script for UN*X
6-
##
20+
#
21+
# Gradle start up script for POSIX generated by Gradle.
22+
#
23+
# Important for running:
24+
#
25+
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
26+
# noncompliant, but you have some other compliant shell such as ksh or
27+
# bash, then to run this script, type that shell name before the whole
28+
# command line, like:
29+
#
30+
# ksh Gradle
31+
#
32+
# Busybox and similar reduced shells will NOT work, because this script
33+
# requires all of these POSIX shell features:
34+
# * functions;
35+
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
36+
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
37+
# * compound commands having a testable exit status, especially «case»;
38+
# * various built-in commands including «command», «set», and «ulimit».
39+
#
40+
# Important for patching:
41+
#
42+
# (2) This script targets any POSIX shell, so it avoids extensions provided
43+
# by Bash, Ksh, etc; in particular arrays are avoided.
44+
#
45+
# The "traditional" practice of packing multiple parameters into a
46+
# space-separated string is a well documented source of bugs and security
47+
# problems, so this is (mostly) avoided, by progressively accumulating
48+
# options in "$@", and eventually passing that to Java.
49+
#
50+
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
51+
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
52+
# see the in-line comments for details.
53+
#
54+
# There are tweaks for specific operating systems such as AIX, CygWin,
55+
# Darwin, MinGW, and NonStop.
56+
#
57+
# (3) This script is generated from the Groovy template
58+
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
59+
# within the Gradle project.
60+
#
61+
# You can find Gradle at https://github.com/gradle/gradle/.
62+
#
763
##############################################################################
864

9-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10-
DEFAULT_JVM_OPTS=""
65+
# Attempt to set APP_HOME
66+
67+
# Resolve links: $0 may be a link
68+
app_path=$0
69+
70+
# Need this for daisy-chained symlinks.
71+
while
72+
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
73+
[ -h "$app_path" ]
74+
do
75+
ls=$( ls -ld "$app_path" )
76+
link=${ls#*' -> '}
77+
case $link in #(
78+
/*) app_path=$link ;; #(
79+
*) app_path=$APP_HOME$link ;;
80+
esac
81+
done
82+
83+
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
1184

1285
APP_NAME="Gradle"
13-
APP_BASE_NAME=`basename "$0"`
86+
APP_BASE_NAME=${0##*/}
87+
88+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
1490

1591
# Use the maximum available, or set MAX_FD != -1 to use that value.
16-
MAX_FD="maximum"
92+
MAX_FD=maximum
1793

18-
warn ( ) {
94+
warn () {
1995
echo "$*"
20-
}
96+
} >&2
2197

22-
die ( ) {
98+
die () {
2399
echo
24100
echo "$*"
25101
echo
26102
exit 1
27-
}
103+
} >&2
28104

29105
# OS specific support (must be 'true' or 'false').
30106
cygwin=false
31107
msys=false
32108
darwin=false
33-
case "`uname`" in
34-
CYGWIN* )
35-
cygwin=true
36-
;;
37-
Darwin* )
38-
darwin=true
39-
;;
40-
MINGW* )
41-
msys=true
42-
;;
109+
nonstop=false
110+
case "$( uname )" in #(
111+
CYGWIN* ) cygwin=true ;; #(
112+
Darwin* ) darwin=true ;; #(
113+
MSYS* | MINGW* ) msys=true ;; #(
114+
NONSTOP* ) nonstop=true ;;
43115
esac
44116

45-
# Attempt to set APP_HOME
46-
# Resolve links: $0 may be a link
47-
PRG="$0"
48-
# Need this for relative symlinks.
49-
while [ -h "$PRG" ] ; do
50-
ls=`ls -ld "$PRG"`
51-
link=`expr "$ls" : '.*-> \(.*\)$'`
52-
if expr "$link" : '/.*' > /dev/null; then
53-
PRG="$link"
54-
else
55-
PRG=`dirname "$PRG"`"/$link"
56-
fi
57-
done
58-
SAVED="`pwd`"
59-
cd "`dirname \"$PRG\"`/" >/dev/null
60-
APP_HOME="`pwd -P`"
61-
cd "$SAVED" >/dev/null
62-
63117
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64118

119+
65120
# Determine the Java command to use to start the JVM.
66121
if [ -n "$JAVA_HOME" ] ; then
67122
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68123
# IBM's JDK on AIX uses strange locations for the executables
69-
JAVACMD="$JAVA_HOME/jre/sh/java"
124+
JAVACMD=$JAVA_HOME/jre/sh/java
70125
else
71-
JAVACMD="$JAVA_HOME/bin/java"
126+
JAVACMD=$JAVA_HOME/bin/java
72127
fi
73128
if [ ! -x "$JAVACMD" ] ; then
74129
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -77,84 +132,109 @@ Please set the JAVA_HOME variable in your environment to match the
77132
location of your Java installation."
78133
fi
79134
else
80-
JAVACMD="java"
135+
JAVACMD=java
81136
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82137
83138
Please set the JAVA_HOME variable in your environment to match the
84139
location of your Java installation."
85140
fi
86141

87142
# Increase the maximum file descriptors if we can.
88-
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89-
MAX_FD_LIMIT=`ulimit -H -n`
90-
if [ $? -eq 0 ] ; then
91-
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92-
MAX_FD="$MAX_FD_LIMIT"
93-
fi
94-
ulimit -n $MAX_FD
95-
if [ $? -ne 0 ] ; then
96-
warn "Could not set maximum file descriptor limit: $MAX_FD"
97-
fi
98-
else
99-
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100-
fi
143+
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144+
case $MAX_FD in #(
145+
max*)
146+
MAX_FD=$( ulimit -H -n ) ||
147+
warn "Could not query maximum file descriptor limit"
148+
esac
149+
case $MAX_FD in #(
150+
'' | soft) :;; #(
151+
*)
152+
ulimit -n "$MAX_FD" ||
153+
warn "Could not set maximum file descriptor limit to $MAX_FD"
154+
esac
101155
fi
102156

103-
# For Darwin, add options to specify how the application appears in the dock
104-
if $darwin; then
105-
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106-
fi
157+
# Collect all arguments for the java command, stacking in reverse order:
158+
# * args from the command line
159+
# * the main class name
160+
# * -classpath
161+
# * -D...appname settings
162+
# * --module-path (only if needed)
163+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
164+
165+
# For Cygwin or MSYS, switch paths to Windows format before running java
166+
if "$cygwin" || "$msys" ; then
167+
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
168+
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
169+
170+
JAVACMD=$( cygpath --unix "$JAVACMD" )
107171

108-
# For Cygwin, switch paths to Windows format before running java
109-
if $cygwin ; then
110-
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111-
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112-
JAVACMD=`cygpath --unix "$JAVACMD"`
113-
114-
# We build the pattern for arguments to be converted via cygpath
115-
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116-
SEP=""
117-
for dir in $ROOTDIRSRAW ; do
118-
ROOTDIRS="$ROOTDIRS$SEP$dir"
119-
SEP="|"
120-
done
121-
OURCYGPATTERN="(^($ROOTDIRS))"
122-
# Add a user-defined pattern to the cygpath arguments
123-
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124-
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125-
fi
126172
# Now convert the arguments - kludge to limit ourselves to /bin/sh
127-
i=0
128-
for arg in "$@" ; do
129-
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130-
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131-
132-
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133-
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134-
else
135-
eval `echo args$i`="\"$arg\""
173+
for arg do
174+
if
175+
case $arg in #(
176+
-*) false ;; # don't mess with options #(
177+
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
178+
[ -e "$t" ] ;; #(
179+
*) false ;;
180+
esac
181+
then
182+
arg=$( cygpath --path --ignore --mixed "$arg" )
136183
fi
137-
i=$((i+1))
184+
# Roll the args list around exactly as many times as the number of
185+
# args, so each arg winds up back in the position where it started, but
186+
# possibly modified.
187+
#
188+
# NB: a `for` loop captures its iteration list before it begins, so
189+
# changing the positional parameters here affects neither the number of
190+
# iterations, nor the values presented in `arg`.
191+
shift # remove old arg
192+
set -- "$@" "$arg" # push replacement arg
138193
done
139-
case $i in
140-
(0) set -- ;;
141-
(1) set -- "$args0" ;;
142-
(2) set -- "$args0" "$args1" ;;
143-
(3) set -- "$args0" "$args1" "$args2" ;;
144-
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145-
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146-
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147-
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148-
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149-
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150-
esac
151194
fi
152195

153-
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154-
function splitJvmOpts() {
155-
JVM_OPTS=("$@")
156-
}
157-
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158-
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
196+
# Collect all arguments for the java command;
197+
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
198+
# shell script including quotes and variable substitutions, so put them in
199+
# double quotes to make sure that they get re-expanded; and
200+
# * put everything else in single quotes, so that it's not re-expanded.
201+
202+
set -- \
203+
"-Dorg.gradle.appname=$APP_BASE_NAME" \
204+
-classpath "$CLASSPATH" \
205+
org.gradle.wrapper.GradleWrapperMain \
206+
"$@"
207+
208+
# Stop when "xargs" is not available.
209+
if ! command -v xargs >/dev/null 2>&1
210+
then
211+
die "xargs is not available"
212+
fi
159213

160-
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
214+
# Use "xargs" to parse quoted args.
215+
#
216+
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
217+
#
218+
# In Bash we could simply go:
219+
#
220+
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
221+
# set -- "${ARGS[@]}" "$@"
222+
#
223+
# but POSIX shell has neither arrays nor command substitution, so instead we
224+
# post-process each arg (as a line of input to sed) to backslash-escape any
225+
# character that might be a shell metacharacter, then use eval to reverse
226+
# that process (while maintaining the separation between arguments), and wrap
227+
# the whole thing up as a single "set" statement.
228+
#
229+
# This will of course break if any of these variables contains a newline or
230+
# an unmatched quote.
231+
#
232+
233+
eval "set -- $(
234+
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
235+
xargs -n1 |
236+
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
237+
tr '\n' ' '
238+
)" '"$@"'
239+
240+
exec "$JAVACMD" "$@"

android/make.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ if [ -z "$STK_MIN_ANDROID_SDK" ]; then
2020
fi
2121

2222
if [ -z "$STK_TARGET_ANDROID_SDK" ]; then
23-
export STK_TARGET_ANDROID_SDK=33
23+
export STK_TARGET_ANDROID_SDK=34
2424
fi
2525

2626
if [ -z "$STK_NDK_VERSION" ]; then
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

data/gui/screens/options_video.stkgui data/gui/screens/options/options_video.stkgui

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133

134134
<div width="100%" height="fit" layout="horizontal-row" id="outer_box" >
135135
<spacer width="5%" height="100%" />
136-
<button id="benchmarkCurrent" text="Benchmark current settings" I18N="In the video settings" align="center"/>
136+
<button id="benchmarkCurrent" text="Performance test of the current settings" I18N="In the video settings" align="center"/>
137137
</div>
138138
<!--
139139
<spacer width="5" height="1%"/>

src/graphics/draw_calls.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ void DrawCalls::parseSceneManager(core::array<scene::ISceneNode*> &List,
187187
else if (STKTextBillboard *tb =
188188
dynamic_cast<STKTextBillboard*>(List[i]))
189189
{
190-
node->updateAbsolutePosition();
190+
tb->updateAbsolutePosition();
191191
if (!isCulledPrecise(cam, List[i], irr_driver->getBoundingBoxesViz()))
192192
TextBillboardDrawer::addTextBillboard(tb);
193193
continue;

0 commit comments

Comments
 (0)