diff --git a/assaultcube.bat b/assaultcube.bat index b0673616..0cfc80f4 100644 --- a/assaultcube.bat +++ b/assaultcube.bat @@ -1 +1 @@ -start bin_win32\ac_client.exe "--home=?MYDOCUMENTS?\My Games\AssaultCube\v1.3_BETA1" --init %1 %2 %3 %4 %5 +start bin_win32\ac_client.exe "--home=?MYDOCUMENTS?\My Games\AssaultCube\v1.3_BETA2" --init %1 %2 %3 %4 %5 diff --git a/assaultcube.sh b/assaultcube.sh index 4e616afa..bf71d7d8 100755 --- a/assaultcube.sh +++ b/assaultcube.sh @@ -8,7 +8,7 @@ CUBE_DIR=$(dirname "$(readlink -f "${0}")") # CUBE_OPTIONS starts AssaultCube with any command line options you choose. #CUBE_OPTIONS="-f" -CUBE_OPTIONS="--home=${HOME}/.assaultcube/v1.3_BETA1 --init" +CUBE_OPTIONS="--home=${HOME}/.assaultcube/v1.3_BETA2 --init" # SYSTEM_NAME should be set to the name of your operating system. #SYSTEM_NAME=Linux diff --git a/config/autostart/checkaccount.cfg b/config/autostart/checkaccount.cfg index 6be90d44..758bc18a 100644 --- a/config/autostart/checkaccount.cfg +++ b/config/autostart/checkaccount.cfg @@ -2,7 +2,7 @@ sleep 100 [ checkaccount 1 ] sleep 1000 [ -echo "\fs\f3Beware: This is an ALPHA version of AssaultCube v1.3" +echo "\fs\f3Beware: This is a BETA version of AssaultCube v1.3" echo "\fs\f3Thank you for testing AssaultCube and helping us to release the new version!" ] 1 diff --git a/source/dev_tools/packaging_guide.txt b/source/dev_tools/packaging_guide.txt index 747e7d29..e712b5f5 100644 --- a/source/dev_tools/packaging_guide.txt +++ b/source/dev_tools/packaging_guide.txt @@ -2,42 +2,45 @@ Packaging AssaultCube: First follow all steps in 'releasing_guide.txt'. The suggested setup involves four separate paths: -The development occured in Path-A, packaging occurs in Path-B and Path-C. The profile folder is Path-D. -On a MacOS/Linux system we'd be somewhere in /usr/local/src/AC, on Windows D:\Development\AC. The location of the profile folders can be found in Path-A/assaultcube.[bat/sh]. -In our example in the source path location a subfolder 'git' holds the repository used in development (that's Path-A) another subfolder 'PACKAGE' has two children 'build' (Path-B) and 'pack' (Path-C). +The development occured in Path-A:repo, packaging occurs in Path-B:build and Path-C:pack. The profile folder is Path-D:profile. +On a MacOS/Linux system we'd be somewhere in /usr/local/src/AC, on Windows D:\Development\AC. The location of the profile folders can be found in Path-A:repo/assaultcube.[bat/sh]. +In our example in the source path location a subfolder 'git' holds the repository used in development (that's Path-A:repo) another subfolder 'PACKAGE' has two children 'build' (Path-B:build) and 'pack' (Path-C:pack). Example: /usr/local/src/AC - Path-A: /usr/local/src/AC/git - Path-B: /usr/local/src/AC/PACKAGE/build - Path-C: /usr/local/src/AC/PACKAGE/pack + Path-A:repo: /usr/local/src/AC/git + Path-B:build: /usr/local/src/AC/PACKAGE/build + Path-C:pack: /usr/local/src/AC/PACKAGE/pack + Path-D:profile: /home/user/.assaultcube/v9.9.9 Some automation is provided by scripts in source/vcpp/buildEnv/*.bat and source/dev_tools/*.sh. I. a clean build 1. Get a package of the release tag from the git repository. - Preferred: "git archive". Alternatives: download ZIP github.com/assaultcube/AC or a clean "git clone" - Example: user@machine:/usr/local/src/AC/git$ git archive --format=tar v9.9.9 | gzip > ../PACKAGE/v9.9.9.tar.gz - 2. Extrac the package twice - 1. Extract the package to Path-C. + Preferred: "git archive", assuming a tag has been created and local repository is up-to-date ("git pull") + Alternatives: download ZIP github.com/assaultcube/AC or a clean "git clone" + Example: user@machine:/usr/local/src/AC/git$ git archive --format=tar.gz -o ../PACKAGE/v9.9.9.tar.gz v9.9.9 + 2. Extract the package twice + 1. Extract the package to Path-C:pack. Example: user@machine:/usr/local/src/AC/PACKAGE/pack$ tar xzf ../PACKAGE/v9.9.9.tar.gz - 2. Extract the package to Path-B. + 2. Extract the package to Path-B:build. Example: user@machine:/usr/local/src/AC/PACKAGE/build$ tar xzf ../PACKAGE/v9.9.9.tar.gz 3. Building - 1. compile binaries for client & server inside Path-B + 1. compile binaries for client & server inside Path-B:build Example: user@machine:/usr/local/src/AC/PACKAGE/build/source/src$ make clean && colormake && make install 2. generate fresh config/mapmodelattributes.cfg file - 1. delete Path-D – most importantly Path-D/config/mapmodelattributes.cfg and Path-D/packages/models/mapmodels + 1. delete Path-D:profile – most importantly Path-D:profile/config/mapmodelattributes.cfg and Path-D:profile/packages/models/mapmodels 2. run AC with an empty profile 3. in AC run "/loadallmapmodels" command II. fill packaging area - 1. copy Path-D/config/mapmodelattributes.cfg to Path-C - 2. copy the binaries for the target platform to Path-C + 1. copy Path-D:profile/config/mapmodelattributes.cfg to Path-C:pack + 2. copy the binaries for the target platform to Path-C:pack 1. rename 'native_*' - - Windows: renamed to 'ac_*' into Path-C/bin_win32 - - Linux: renamed to 'linux_*' into Path-C/bin_unix + - Windows: renamed to 'ac_*' into Path-C:pack/bin_win32 + - Linux: renamed to 'linux_*' into Path-C:pack/bin_unix Example: native_client would become linux_client (32bit) or linux_64_client (64bit) - 3. copy model shadow files (shadows.dat) to Path-C - NOT the crypto:entropy.dat - Example: user@machine:/usr/local/src/AC/PACKAGE/pack$ while read pfad; do subpfad=$(echo "$pfad"|cut -d'/' -f6-); echo cp $pfad $subpfad; done < <(find Path-D -type f -name shadows.dat) + 3. copy model shadow files (shadows.dat) to Path-C:pack - NOT the crypto:entropy.dat + Example: user@machine:/usr/local/src/AC/PACKAGE/pack$ ACPROFILE=~/.assaultcube/v9.9.9; while read pfad; do subpfad=$(echo "$pfad"|cut -d'/' -f6-); cp $pfad $subpfad; done < <(find $ACPROFILE -type f -name shadows.dat) + CAUTION: you need to fix the ACPROFILE value to match Path-D:profile 4. Copy the whole content from htdocs/docs/ folder in the latest release tag in assaultcube.github.io repository to docs/ folder. 5. Archive config/autoexec.cfg, config/favourites.cfg, config/pcksources.cfg into config/configtemplates.zip (see commit 41fd31d). [[ https://github.com/assaultcube/AC/commit/41fd31d ]] Example: user@machine:/usr/local/src/AC/PACKAGE/pack/config$ zip configtemplates.zip autoexec.cfg favourites.cfg pcksources.cfg; for stale in autoexec favourites pcksources; do rm ${stale}.cfg; done @@ -56,7 +59,7 @@ III. clean out packaging area 6. System scripts: - Windows: delete any *.sh files and the bin_unix folder - Linux: delete any *.bat files and the bin_win32 folder - Example: find /usr/local/src/AC/PACKAGE/pack -type f -name "*.bat" -exec rm {} \; + Example: find Path-C:pack -type f -name "*.bat" -exec rm {} \; IV. wrap the package 1. generate checksum list file (packages/misc/checksums_md5.txt) diff --git a/source/src/physics.cpp b/source/src/physics.cpp index db205fbf..60f62a3a 100644 --- a/source/src/physics.cpp +++ b/source/src/physics.cpp @@ -275,7 +275,11 @@ bool collide(physent *d, bool spawn, float drop, float rise) if(match && matter) { if(!h) return true; // we hit a corner between solids... - else if(z1 < ns->floor || z2 > ns->ceil || tagclipped) return true; // corner is not between solids, but we hit it... + else if(z1 < ns->floor || z2 > ns->ceil || tagclipped) // corner is not between solids, but we hit it... + { + if(z2 > ns->ceil) d->vel.z = 0; // cancel out jumping velocity when hitting corner ceiling + return true; + } } if(h) tagclipped = false; // for corners between non-solids, tagclips extend the corner (visualisation does not reflect that, yet) // tagclipped corners between solids are fully clipped