RELEASETYPEDIR=
RELEASETYPENAME="$RELEASETYPE"
;;
+ RC*)
+ RELEASETYPEDIR="$RELEASETYPE/"
+ RELEASETYPENAME="$RELEASETYPE build"
+ ;;
*)
RELEASETYPEDIR="$RELEASETYPE/"
RELEASETYPENAME="$RELEASETYPE-like build"
# pipeline files, see: .gitlab-ci.yml in xonotic-data.pk3dir
cp data/stormkeep-????????????????????????????????????????-????????????????????????????????????????.pk3 stormkeep.pk3
PIPELINE_FILES="gmqcc/gmqcc Xonotic/xonotic-linux64-dedicated stormkeep.pk3"
- for FILE in $PIPELINE_FILES; do
- rsync -vSP "$FILE" autobuild-release-uploader@beta.xonotic.org:../pipeline-bin/
- done
+ rsync -vSP $PIPELINE_FILES autobuild-release-uploader@beta.xonotic.org:../pipeline-bin/
rm -f stormkeep.pk3
fi
echo "Finished a new $RELEASETYPENAME at http://beta.xonotic.org/autobuild/$RELEASETYPEDIR" | $IRCSPAM
"$@" data/xonotic-data.pk3dir xonotic-data.pk3dir.git master ""
"$@" data/xonotic-music.pk3dir xonotic-music.pk3dir.git master ""
"$@" data/xonotic-nexcompat.pk3dir xonotic-nexcompat.pk3dir.git master "no"
+ "$@" data/xonotic-xoncompat.pk3dir xonotic-xoncompat.pk3dir.git main "no"
"$@" darkplaces darkplaces.git div0-stable "svn"
"$@" netradiant netradiant.git master ""
"$@" div0-gittools div0-gittools.git master "no"
# (YYYYMMDD)
exit 1
;;
- release)
+ release|RC*)
msg "Building a FINISHED RELEASE"
getversion data/xonotic-data.pk3dir
verbose "$SELF" each -k git tag -m "TEMP TAG" -f "xonotic-v$versionstr"
if [ -n "$RELEASEDATE" ]; then
verbose $ECHO "$RELEASEDATE" > Xonotic/stamp.txt
case "$RELEASETYPE" in
- release)
+ release|RC*)
verbose $ECHO "${RELEASEDATE%_*}" > Xonotic/pk3stamp.txt
;;
*)
case "$RELEASETYPE" in
release)
;;
+ RC*)
+ versionstr="$versionstr $RELEASETYPE"
+ ;;
*)
versionstr="$versionstr$RELEASETYPE"
;;
fi
mv xonotic-common.cfg.new xonotic-common.cfg
case "$RELEASETYPE" in
- release)
+ release|RC*)
echo "" >> xonotic-common.cfg
echo "// nicer menu" >> xonotic-common.cfg
echo "set menu_watermark \"\"" >> xonotic-common.cfg
verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir normaldds '' mapping '-mapping' normal '-high'
verbose "$SELF" release-buildpk3s data/xonotic-music.pk3dir raw ''
verbose "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir normaldds '' normal '-high'
+ verbose "$SELF" release-buildpk3s data/xonotic-xoncompat.pk3dir normaldds '' normal '-high'
;;
release-pack-needsx11)
release_common
Xonotic/data/xonotic-$pk3stamp-data.pk3 \
Xonotic/data/xonotic-$pk3stamp-maps.pk3 \
Xonotic/data/xonotic-$pk3stamp-music.pk3 \
- Xonotic/data/xonotic-$pk3stamp-nexcompat.pk3
+ Xonotic/data/xonotic-$pk3stamp-nexcompat.pk3 \
+ Xonotic/data/xonotic-$pk3stamp-xoncompat.pk3
verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-high.zip
verbose mkzip0 Xonotic-$stamp-high.zip \
Xonotic/data/xonotic-$pk3stamp-data-high.pk3 \
Xonotic/data/xonotic-$pk3stamp-maps-high.pk3 \
Xonotic/data/xonotic-$pk3stamp-music.pk3 \
- Xonotic/data/xonotic-$pk3stamp-nexcompat-high.pk3
+ Xonotic/data/xonotic-$pk3stamp-nexcompat-high.pk3 \
+ Xonotic/data/xonotic-$pk3stamp-xoncompat-high.pk3
verbose mkzip Xonotic-$stamp-mappingsupport.zip \
Xonotic/mapping
verbose mkzip0 Xonotic-$stamp-mappingsupport.zip \
--- /dev/null
+#!/usr/bin/python3
+
+import math
+import argparse
+
+
+def calculate_fov(fov, horizontal, vertical, viewzoom):
+ viewzoom_multiplier = 1 / viewzoom
+ frustumy = math.tan(fov * math.pi / 360) * 0.75 * viewzoom_multiplier
+ frustumx = frustumy * horizontal / vertical
+
+ fovx = math.atan2(frustumx, 1) / math.pi * 360
+ fovy = math.atan2(frustumy, 1) / math.pi * 360
+
+ print(fov, "degrees of hfov with 4:3 resolution (unstretched without black bars) actually gives:")
+ print("Horizontal FOV =", fovx)
+ print("Vertical FOV =", fovy)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description='Process in-game fov cvars to horizontal and vertical degrees.')
+ parser.add_argument('fov', type=float,
+ help="in-game fov cvar, degrees of hfov with 4:3 resolution, required field")
+ parser.add_argument('horizontalAspectRatio', type=float, default=16, nargs='?',
+ help="Horizontal num of the aspect ratio, for 16:9 that is 16, default: 16")
+ parser.add_argument('verticalAspectRatio', type=float, default=9, nargs='?',
+ help="Vertical num of the aspect ratio, for 16:9 that is 9, default: 9")
+ parser.add_argument('viewzoom', type=float, default=1, nargs='?',
+ help="Zoom amount, default: 1 / no zoom")
+ args = parser.parse_args()
+
+ if (args.fov < 1 or args.fov > 170):
+ print("WARNING: Xonotic's fov is currently restricted between 1 and 170, calculations might be broken with this number.")
+ if (args.viewzoom < 1 or args.viewzoom > 30):
+ print("WARNING: Xonotic's zoom is currently restricted between 1 and 30, calculations might be broken with this number.")
+
+ calculate_fov(args.fov, args.horizontalAspectRatio, args.verticalAspectRatio, args.viewzoom)
+
our $Q3MAP2 = getcwd() . '/netradiant/build/q3map2';
# General flags for q3map2 (for example -threads 4)
- our $Q3MAP2FLAGS = '-fs_forbiddenpath xonotic*-data*.pk3* -fs_forbiddenpath xonotic*-nexcompat*.pk3*';
+ our $Q3MAP2FLAGS = '-fs_forbiddenpath xonotic*-data*.pk3* -fs_forbiddenpath xonotic*-nexcompat*.pk3* -fs_forbiddenpath xonotic*-xoncompat*.pk3*';
# Default flags for the -bsp stage
our $BSPFLAGS = '-meta -maxarea -samplesize 8 -mv 1000000 -mi 6000000';