Permalink
Comparing changes
Open a pull request
- 16 commits
- 13 files changed
- 0 commit comments
- 6 contributors
Commits on Feb 26, 2019
Commits on Apr 27, 2019
Unified
Split
Showing
with
45 additions
and 26 deletions.
- +2 −3 .gitmodules
- +13 −2 config/setup.cfg
- +1 −1 config/version.cfg
- +2 −0 config/voice.cfg
- +1 −1 data/maps
- +1 −1 readme.txt
- +7 −0 src/engine/animmodel.h
- +2 −0 src/engine/bih.h
- +4 −6 src/engine/main.cpp
- +2 −2 src/engine/master.cpp
- +1 −1 src/game/vars.h
- +9 −1 src/semaphore.sh
- +0 −8 src/shared/cube.h
| @@ -56,7 +56,7 @@ | |||
| [submodule "maps"] | |||
| path = data/maps | |||
| url = https://github.com/red-eclipse/maps.git | |||
| branch = master | |||
| branch = stable | |||
| [submodule "mayhem"] | |||
| path = data/mayhem | |||
| url = https://github.com/red-eclipse/mayhem.git | |||
| @@ -99,7 +99,6 @@ | |||
| branch = master | |||
| [submodule "snipergoth"] | |||
| path = data/snipergoth | |||
|
|
|||
| url = https://github.com/red-eclipse/snipergoth.git | |||
| branch = master | |||
| [submodule "sounds"] | |||
| @@ -141,4 +140,4 @@ | |||
| [submodule "wicked"] | |||
| path = data/wicked | |||
| url = https://github.com/red-eclipse/wicked.git | |||
| branch = master | |||
| branch = master | |||
| @@ -100,6 +100,7 @@ specbind MOUSE2 [ spectate 0 ] | |||
| specbind HOME [ specmodeswitch ] | |||
| specbind R [ specmodeswitch ] | |||
| specbind MOUSE3 [ specmodeswitch ] | |||
| specbind SPACE [ specmodeswitch ] | |||
|
|
|||
| waitbind LSHIFT [ shiftmod 1; onrelease [ shiftmod 0 ] ] | |||
| waitbind MOUSE1 [ nullbind ] | |||
| @@ -315,9 +316,19 @@ dobindsearch = [ | |||
| [search@[arg2]binds] $arg1 5 "^f{" "}" (? $textkeyseps (? $textkeyimages "|" ", ") (? $textkeyimages "" " ")) (? $textkeyseps (? $textkeyimages "|" " or ") (? $textkeyimages "" " ")) | |||
| ] | |||
|
|
|||
| // screenshotnohud: Takes a screenshot without a hud | |||
| // The screenshot and the hud showing are delayed to prevent any issues since | |||
| // the game skips a few frames while taking a screenshot. | |||
| canscreenshotnohud = 1 | |||
| screenshotnohud = [ | |||
| sleep 50 [ screenshot; showhud @showhud ] | |||
| showhud 0 | |||
| if $canscreenshotnohud [ | |||
| canscreenshotnohud = 0 // Lock screenshotting without a hud for the 50ms duration | |||
| hudwasshown = $showhud // Previous $showhud state | |||
| if $hudwasshown [showhud 0] // Hide hud if it was shown | |||
| sleep 25 [screenshot] | |||
| // Restore hud if it was shown and restore screenshotting. | |||
| sleep 50 [showhud $hudwasshown; canscreenshotnohud = 1] | |||
| ] | |||
| ] | |||
|
|
|||
| listcomplete vdelta [ | |||
| @@ -17,7 +17,7 @@ sv_racemaps "absorption cyanide decomposition discontinuity escape hinder neodri | |||
|
|
|||
| sv_multimaps "deadsimple depot keystone2k suspended vorticity" | |||
| sv_duelmaps "abuse bath bloodlust campgrounds canyon cargo castle darkness deadsimple disco dutility echo error eternal ghost livefire longestyard mist panic stone torus vault wet" | |||
| sv_gladiatormaps "abuse deathtrap disco dutility eternal purge singularity torus" | |||
| sv_gladiatormaps "deathtrap disco dutility eternal longestyard purge singularity torus" | |||
|
|
|||
| sv_smallmaps "abuse affluence bath bloodlust campgrounds canyon cargo castle darkness deadsimple deathtrap disco dutility echo error eternal ghost keystone2k livefire longestyard mist panic processing singularity stone torus vault wet" | |||
| sv_mediummaps "affluence ares battlefield biolytic bloodlust campgrounds canyon cargo center conflict cutec darkness deadsimple deathtrap deli dropzone dutility echo enyo erosion error futuresport ghost institute keystone2k livefire mist nova octavus oneiroi processing pumpstation spacetech suspended stone tower ubik venus vorticity wet" | |||
| @@ -22,7 +22,9 @@ addvoice "sry~" "voice/sorry" 1 // reuse | |||
| addvoice "no problem" "voice/noproblem" 2 | |||
| addvoice "np~" "voice/noproblem" 1 // reuse | |||
| addvoice "no prob" "voice/noproblem" 1 // reuse | |||
| addvoice "gno prob" "voice/noproblem" 1 // reuse | |||
| addvoice "no~" "voice/no" 2 | |||
| addvoice "gno~" "voice/no" 1 // reuse | |||
| addvoice "go go go" "voice/gogogo" 2 | |||
| addvoice "gogogo" "voice/gogogo" 1 // reuse | |||
| addvoice "hang on" "voice/hangon" 2 | |||
Submodule maps
updated
from 7a01ef to 2bf64c
| @@ -42,7 +42,7 @@ The project is Free and Open Source, meaning that you can both use it for free a | |||
| * Dale "graphitemaster" Weiler - Check out Neothyne @ http://neothyne.org/ | |||
| * Daniel "Imerion" Eriksson | |||
| * David "srbs" Forrest | |||
| * Derek "Favorito" Ponicki - Maps, Textures, Design/Testing | |||
| * Erika "Favorito" Anderson - Maps, Textures, Design/Testing | |||
| * Derek "JoJo" Stegall - Maps, Models, Textures, HUD, Sound FX, Design/Testing | |||
| * Eddie "skedz4u" Webb | |||
| * Henrik "ahven" Pihl | |||
| @@ -316,6 +316,13 @@ struct animmodel : model | |||
| if(noclip) m.flags |= BIH::MESH_NOCLIP; | |||
| if(s.cullface) m.flags |= BIH::MESH_CULLFACE; | |||
| genBIH(m); | |||
| while(bih.last().numtris > BIH::mesh::MAXTRIS) | |||
| { | |||
| BIH::mesh &overflow = bih.dup(); | |||
| overflow.tris += BIH::mesh::MAXTRIS; | |||
| overflow.numtris -= BIH::mesh::MAXTRIS; | |||
| bih[bih.length()-2].numtris = BIH::mesh::MAXTRIS; | |||
| } | |||
| } | |||
|
|
|||
| virtual void setshader(Shader *s) | |||
| @@ -31,6 +31,8 @@ struct BIH | |||
|
|
|||
| struct mesh | |||
| { | |||
| enum { MAXTRIS = 1<<14 }; | |||
|
|
|||
| matrix4x3 xform, invxform; | |||
| matrix3 xformnorm, invxformnorm; | |||
| float scale, invscale; | |||
| @@ -277,10 +277,10 @@ static void setgamma(int val) | |||
| } | |||
|
|
|||
| static int curgamma = 100; | |||
| VARF(IDF_PERSIST, gamma, 30, 100, 300, | |||
| VARFN(IDF_PERSIST, gamma, reqgamma, 30, 100, 300, | |||
| { | |||
| if(initing || gamma == curgamma) return; | |||
| curgamma = gamma; | |||
| if(initing || reqgamma == curgamma) return; | |||
| curgamma = reqgamma; | |||
| setgamma(curgamma); | |||
| }); | |||
|
|
|||
| @@ -855,9 +855,7 @@ void progress(float bar1, const char *text1, float bar2, const char *text2) | |||
| lastprogress = ticks; | |||
| clientkeepalive(); | |||
|
|
|||
| #ifdef __APPLE__ | |||
| interceptkey(SDLK_UNKNOWN); // keep the event queue awake to avoid 'beachball' cursor | |||
| #endif | |||
| interceptkey(SDLK_UNKNOWN); // keep the event queue awake to avoid appearing unresponsive | |||
|
|
|||
| setsvar("progresstitle", text1 ? text1 : "please wait.."); | |||
| setfvar("progressamt", bar1); | |||
| @@ -251,7 +251,7 @@ struct masterclient | |||
| for(const char *c = flags; *c; c++) switch(*c) | |||
| { | |||
| case 'm': ret = max(ret, 4); break; | |||
| case 's': ret = max(ret, sendstats ? 3 : 2); break; | |||
| case 's': case 'u': ret = max(ret, sendstats ? 3 : 2); break; | |||
| case 'b': ret = max(ret, 2); break; | |||
| default: break; | |||
| } | |||
| @@ -822,7 +822,7 @@ bool checkmasterclientinput(masterclient &c) | |||
| c.version = w[3] && *w[3] ? atoi(w[3]) : (w[2] && *w[2] ? 150 : 0); | |||
| if(w[4] && *w[4]) copystring(c.desc, w[4], MAXSDESCLEN+1); | |||
| else formatstring(c.desc, "%s:[%d]", c.name, c.port); | |||
| if(w[5] && *w[5]) c.sendstats = atoi(w[5]) != 0; | |||
| //if(w[5] && *w[5]) c.sendstats = atoi(w[5]) != 0; | |||
| copystring(c.branch, w[6] && *w[6] ? w[6] : "?", MAXBRANCHLEN+1); | |||
| if(w[2] && *w[2] && strcmp(w[2], "*") && (enet_address_set_host(&address, w[2]) < 0 || address.host != c.address.host)) | |||
| { | |||
| @@ -296,7 +296,7 @@ GVAR(IDF_GAMEMOD, teambalancedelay, 0, 3000, VAR_MAX); // how long before reassi | |||
| GVAR(IDF_GAMEMOD, teambalanceswap, 0, 1, 1); // allow swap requests if unable to change team | |||
| GVAR(IDF_GAMEMOD, teambalancelock, 0, PRIV_MODERATOR, PRIV_MAX); // level at which one can override swap | |||
| GVAR(IDF_GAMEMOD, teambalancestyle, 0, 6, 6); // when moving players, sort by: 0 = top of list, 1 = time played, 2 = points, 3 = frags, 4 = scoretime, 5 = kdratio, 6 = combined kdratio | |||
| GVAR(IDF_GAMEMOD, teambalancehighest, 0, 1, 1); // when moving players, move highest first | |||
| GVAR(IDF_GAMEMOD, teambalancehighest, 0, 0, 1); // when moving players, move highest first | |||
|
|
|||
| GVAR(IDF_GAMEMOD, racegauntletwinner, 0, 1, 1); // declare the winner when the final team exceeds best score | |||
|
|
|||
| @@ -71,14 +71,22 @@ semabuild_integrate() { | |||
| SEMABUILD_HASH=`git rev-parse HEAD` || return 1 | |||
| SEMABUILD_LAST=`curl --connect-timeout 30 -L -k -f "${SEMABUILD_SOURCE}/${BRANCH_NAME}/${i}.txt"` | |||
| echo "module ${i} compare: ${SEMABUILD_LAST} -> ${SEMABUILD_HASH}" | |||
| if [ "${i}" = "base" ] && [ "${SEMAPHORE_TRIGGER_SOURCE}" = "manual" ]; then | |||
| SEMABUILD_LAST="0" | |||
| fi | |||
| if [ -n "${SEMABUILD_HASH}" ] && [ "${SEMABUILD_HASH}" != "${SEMABUILD_LAST}" ]; then | |||
| echo "module ${i} updated, syncing.." | |||
| echo "${SEMABUILD_HASH}" > "${SEMABUILD_DIR}/${i}.txt" | |||
| SEMABUILD_DEPLOY="true" | |||
| if [ "${i}" = "base" ]; then | |||
| echo "module ${i} checking for source modifications.." | |||
| SEMABUILD_CHANGES="" | |||
| SEMABUILD_BINS=`curl --connect-timeout 30 -L -k -f "${SEMABUILD_SOURCE}/${BRANCH_NAME}/bins.txt"` || return 1 | |||
| SEMABUILD_CHANGES=`git diff --name-only HEAD ${SEMABUILD_BINS} -- src | egrep '\.h$|\.c$|\.cpp$|Makefile$'` | |||
| if [ "${SEMAPHORE_TRIGGER_SOURCE}" = "manual" ]; then | |||
| SEMABUILD_CHANGES="<manual rebuild forced>" | |||
| else | |||
| SEMABUILD_CHANGES=`git diff --name-only HEAD ${SEMABUILD_BINS} -- src | egrep '\.h$|\.c$|\.cpp$|Makefile$'` | |||
| fi | |||
| if [ -n "${SEMABUILD_CHANGES}" ]; then | |||
| echo "module ${i} has modified source files:" | |||
| echo "${SEMABUILD_CHANGES}" | |||
| @@ -3,19 +3,11 @@ | |||
|
|
|||
| #define _FILE_OFFSET_BITS 64 | |||
|
|
|||
| #ifdef __GNUC__ | |||
| #define gamma __gamma | |||
| #endif | |||
|
|
|||
| #ifdef WIN32 | |||
| #define _USE_MATH_DEFINES | |||
| #endif | |||
| #include <math.h> | |||
|
|
|||
| #ifdef __GNUC__ | |||
| #undef gamma | |||
| #endif | |||
|
|
|||
| #include <string.h> | |||
| #include <stdio.h> | |||
| #include <stdlib.h> | |||