Merge branch 'public_next' into master
This commit is contained in:
commit
f1a347e55f
15
.travis.yml
15
.travis.yml
|
@ -100,6 +100,21 @@ matrix:
|
||||||
compiler: gcc-6
|
compiler: gcc-6
|
||||||
env: WFLAGS="-Wno-tautological-compare"
|
env: WFLAGS="-Wno-tautological-compare"
|
||||||
#gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511
|
#gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511
|
||||||
|
- os: linux
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- libsdl2-mixer-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libgme-dev
|
||||||
|
- p7zip-full
|
||||||
|
- gcc-7
|
||||||
|
compiler: gcc-7
|
||||||
|
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough"
|
||||||
|
#gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
#clang version 3.5.0 (tags/RELEASE_350/final)
|
#clang version 3.5.0 (tags/RELEASE_350/final)
|
||||||
|
|
|
@ -7,6 +7,17 @@
|
||||||
# and other things
|
# and other things
|
||||||
#
|
#
|
||||||
|
|
||||||
|
ifdef GCC72
|
||||||
|
GCC71=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef GCC71
|
||||||
|
GCC64=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef GCC64
|
||||||
|
GCC64=1
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef GCC63
|
ifdef GCC63
|
||||||
GCC62=1
|
GCC62=1
|
||||||
|
|
|
@ -412,7 +412,7 @@ static Instruction symbexec (const Proto *pt, int lastpc, int reg) {
|
||||||
case OP_FORLOOP:
|
case OP_FORLOOP:
|
||||||
case OP_FORPREP:
|
case OP_FORPREP:
|
||||||
checkreg(pt, a+3);
|
checkreg(pt, a+3);
|
||||||
/* go through */
|
/* FALLTHRU */
|
||||||
case OP_JMP: {
|
case OP_JMP: {
|
||||||
int dest = pc+1+b;
|
int dest = pc+1+b;
|
||||||
/* not full check and jump is forward and do not skip `lastpc'? */
|
/* not full check and jump is forward and do not skip `lastpc'? */
|
||||||
|
|
|
@ -311,6 +311,7 @@ static void read_string (LexState *ls, int del, SemInfo *seminfo) {
|
||||||
ls->lookahead.token = TK_CONCAT;
|
ls->lookahead.token = TK_CONCAT;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
default: {
|
default: {
|
||||||
if (!isdigit(ls->current))
|
if (!isdigit(ls->current))
|
||||||
save_and_next(ls); /* handles \\, \", \', and \? */
|
save_and_next(ls); /* handles \\, \", \', and \? */
|
||||||
|
@ -340,7 +341,8 @@ static void read_string (LexState *ls, int del, SemInfo *seminfo) {
|
||||||
};
|
};
|
||||||
|
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case 4: save( ls, (c>>8) & 0xff ); // pass-through..
|
case 4: save( ls, (c>>8) & 0xff );
|
||||||
|
/* FALLTHRU */
|
||||||
case 2: save( ls, c&0xff );
|
case 2: save( ls, c&0xff );
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
|
@ -482,11 +484,13 @@ static int llex (LexState *ls, SemInfo *seminfo) {
|
||||||
else if (sep == -1) return '[';
|
else if (sep == -1) return '[';
|
||||||
else luaX_lexerror(ls, "invalid long string delimiter", TK_STRING);
|
else luaX_lexerror(ls, "invalid long string delimiter", TK_STRING);
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
case '=': {
|
case '=': {
|
||||||
next(ls);
|
next(ls);
|
||||||
if (ls->current != '=') return '=';
|
if (ls->current != '=') return '=';
|
||||||
else { next(ls); return TK_EQ; }
|
else { next(ls); return TK_EQ; }
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
case '<': {
|
case '<': {
|
||||||
next(ls);
|
next(ls);
|
||||||
if (ls->current == '<') { next(ls); return TK_SHL; }
|
if (ls->current == '<') { next(ls); return TK_SHL; }
|
||||||
|
@ -550,6 +554,7 @@ static int llex (LexState *ls, SemInfo *seminfo) {
|
||||||
ls->current = '"'; /* whacky! */
|
ls->current = '"'; /* whacky! */
|
||||||
return TK_CONCAT;
|
return TK_CONCAT;
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
default: {
|
default: {
|
||||||
if (isspace(ls->current)) {
|
if (isspace(ls->current)) {
|
||||||
lua_assert(!currIsNewline(ls));
|
lua_assert(!currIsNewline(ls));
|
||||||
|
|
|
@ -478,6 +478,7 @@ static TValue *newkey (lua_State *L, Table *t, const TValue *key) {
|
||||||
return luaH_getnum(t, k); /* use specialized version */
|
return luaH_getnum(t, k); /* use specialized version */
|
||||||
/* else go through */
|
/* else go through */
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
default: {
|
default: {
|
||||||
Node *n = mainposition(t, key);
|
Node *n = mainposition(t, key);
|
||||||
do { /* check whether `key' is somewhere in the chain */
|
do { /* check whether `key' is somewhere in the chain */
|
||||||
|
|
|
@ -1189,7 +1189,10 @@ finish:
|
||||||
CONS_Printf(M_GetText("%s set to %s\n"), var->name, var->string);
|
CONS_Printf(M_GetText("%s set to %s\n"), var->name, var->string);
|
||||||
var->flags &= ~CV_SHOWMODIFONETIME;
|
var->flags &= ~CV_SHOWMODIFONETIME;
|
||||||
}
|
}
|
||||||
|
else // display message in debug file only
|
||||||
|
{
|
||||||
DEBFILE(va("%s set to %s\n", var->name, var->string));
|
DEBFILE(va("%s set to %s\n", var->name, var->string));
|
||||||
|
}
|
||||||
var->flags |= CV_MODIFIED;
|
var->flags |= CV_MODIFIED;
|
||||||
// raise 'on change' code
|
// raise 'on change' code
|
||||||
#ifdef HAVE_BLUA
|
#ifdef HAVE_BLUA
|
||||||
|
|
|
@ -1903,6 +1903,7 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic
|
||||||
break; // exit the case
|
break; // exit the case
|
||||||
|
|
||||||
cl_mode = CL_ASKJOIN; // don't break case continue to cljoin request now
|
cl_mode = CL_ASKJOIN; // don't break case continue to cljoin request now
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
case CL_ASKJOIN:
|
case CL_ASKJOIN:
|
||||||
CL_LoadServerFiles();
|
CL_LoadServerFiles();
|
||||||
|
@ -3635,6 +3636,7 @@ static void HandlePacketFromAwayNode(SINT8 node)
|
||||||
// Do not remove my own server (we have just get a out of order packet)
|
// Do not remove my own server (we have just get a out of order packet)
|
||||||
if (node == servernode)
|
if (node == servernode)
|
||||||
break;
|
break;
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DEBFILE(va("unknown packet received (%d) from unknown host\n",netbuffer->packettype));
|
DEBFILE(va("unknown packet received (%d) from unknown host\n",netbuffer->packettype));
|
||||||
|
@ -3791,6 +3793,7 @@ FILESTAMP
|
||||||
break;
|
break;
|
||||||
case PT_TEXTCMD2: // splitscreen special
|
case PT_TEXTCMD2: // splitscreen special
|
||||||
netconsole = nodetoplayer2[node];
|
netconsole = nodetoplayer2[node];
|
||||||
|
/* FALLTHRU */
|
||||||
case PT_TEXTCMD:
|
case PT_TEXTCMD:
|
||||||
if (client)
|
if (client)
|
||||||
break;
|
break;
|
||||||
|
@ -4145,7 +4148,10 @@ static INT16 Consistancy(void)
|
||||||
|
|
||||||
#ifdef MOBJCONSISTANCY
|
#ifdef MOBJCONSISTANCY
|
||||||
if (!thinkercap.next)
|
if (!thinkercap.next)
|
||||||
|
{
|
||||||
|
DEBFILE(va("Consistancy = %u\n", ret));
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
for (th = thinkercap.next; th != &thinkercap; th = th->next)
|
for (th = thinkercap.next; th != &thinkercap; th = th->next)
|
||||||
{
|
{
|
||||||
if (th->function.acp1 != (actionf_p1)P_MobjThinker)
|
if (th->function.acp1 != (actionf_p1)P_MobjThinker)
|
||||||
|
@ -4214,6 +4220,8 @@ static INT16 Consistancy(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
DEBFILE(va("Consistancy = %u\n", (ret & 0xFFFF)));
|
||||||
|
|
||||||
return (INT16)(ret & 0xFFFF);
|
return (INT16)(ret & 0xFFFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1030,6 +1030,7 @@ boolean HSendPacket(INT32 node, boolean reliable, UINT8 acknum, size_t packetlen
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
netbuffer->ack = netbuffer->ackreturn = 0; // don't hold over values from last packet sent/received
|
||||||
M_Memcpy(&reboundstore[rebound_head], netbuffer,
|
M_Memcpy(&reboundstore[rebound_head], netbuffer,
|
||||||
doomcom->datalength);
|
doomcom->datalength);
|
||||||
reboundsize[rebound_head] = doomcom->datalength;
|
reboundsize[rebound_head] = doomcom->datalength;
|
||||||
|
@ -1365,7 +1366,7 @@ boolean D_CheckNetGame(void)
|
||||||
#else
|
#else
|
||||||
if (M_CheckParm("-debugfile"))
|
if (M_CheckParm("-debugfile"))
|
||||||
{
|
{
|
||||||
char filename[20];
|
char filename[21];
|
||||||
INT32 k = doomcom->consoleplayer - 1;
|
INT32 k = doomcom->consoleplayer - 1;
|
||||||
if (M_IsNextParm())
|
if (M_IsNextParm())
|
||||||
k = atoi(M_GetNextParm()) - 1;
|
k = atoi(M_GetNextParm()) - 1;
|
||||||
|
|
|
@ -2532,7 +2532,7 @@ static void Got_Teamchange(UINT8 **cp, INT32 playernum)
|
||||||
error = true;
|
error = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//fall down
|
/* FALLTHRU */
|
||||||
case GT_TAG:
|
case GT_TAG:
|
||||||
switch (NetPacket.packet.newteam)
|
switch (NetPacket.packet.newteam)
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
/// \brief Load dehacked file and change tables and text
|
/// \brief Load dehacked file and change tables and text
|
||||||
|
|
||||||
#include "doomdef.h"
|
#include "doomdef.h"
|
||||||
|
#include "d_main.h" // for srb2home
|
||||||
#include "g_game.h"
|
#include "g_game.h"
|
||||||
#include "sounds.h"
|
#include "sounds.h"
|
||||||
#include "info.h"
|
#include "info.h"
|
||||||
|
@ -2800,6 +2801,8 @@ static void readmaincfg(MYFILE *f)
|
||||||
|
|
||||||
strncpy(savegamename, timeattackfolder, sizeof (timeattackfolder));
|
strncpy(savegamename, timeattackfolder, sizeof (timeattackfolder));
|
||||||
strlcat(savegamename, "%u.ssg", sizeof(savegamename));
|
strlcat(savegamename, "%u.ssg", sizeof(savegamename));
|
||||||
|
// can't use sprintf since there is %u in savegamename
|
||||||
|
strcatbf(savegamename, srb2home, PATHSEP);
|
||||||
|
|
||||||
gamedataadded = true;
|
gamedataadded = true;
|
||||||
titlechanged = true;
|
titlechanged = true;
|
||||||
|
|
|
@ -94,7 +94,7 @@ static fixed_t paldiv = 0;
|
||||||
* \return fademask_t for lump
|
* \return fademask_t for lump
|
||||||
*/
|
*/
|
||||||
static fademask_t *F_GetFadeMask(UINT8 masknum, UINT8 scrnnum) {
|
static fademask_t *F_GetFadeMask(UINT8 masknum, UINT8 scrnnum) {
|
||||||
static char lumpname[9] = "FADEmmss";
|
static char lumpname[10] = "FADEmmss";
|
||||||
static fademask_t fm = {NULL,0,0,0,0,0};
|
static fademask_t fm = {NULL,0,0,0,0,0};
|
||||||
lumpnum_t lumpnum;
|
lumpnum_t lumpnum;
|
||||||
UINT8 *lump, *mask;
|
UINT8 *lump, *mask;
|
||||||
|
|
|
@ -747,7 +747,7 @@ void G_SetGameModified(boolean silent)
|
||||||
*/
|
*/
|
||||||
const char *G_BuildMapName(INT32 map)
|
const char *G_BuildMapName(INT32 map)
|
||||||
{
|
{
|
||||||
static char mapname[9] = "MAPXX"; // internal map name (wad resource name)
|
static char mapname[10] = "MAPXX"; // internal map name (wad resource name)
|
||||||
|
|
||||||
I_Assert(map > 0);
|
I_Assert(map > 0);
|
||||||
I_Assert(map <= NUMMAPS);
|
I_Assert(map <= NUMMAPS);
|
||||||
|
|
|
@ -3253,6 +3253,7 @@ static void M_DrawGenericMenu(void)
|
||||||
W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE));
|
W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
case IT_NOTHING:
|
case IT_NOTHING:
|
||||||
case IT_DYBIGSPACE:
|
case IT_DYBIGSPACE:
|
||||||
y += LINEHEIGHT;
|
y += LINEHEIGHT;
|
||||||
|
@ -3311,6 +3312,7 @@ static void M_DrawGenericMenu(void)
|
||||||
break;
|
break;
|
||||||
case IT_STRING2:
|
case IT_STRING2:
|
||||||
V_DrawString(x, y, 0, currentMenu->menuitems[i].text);
|
V_DrawString(x, y, 0, currentMenu->menuitems[i].text);
|
||||||
|
/* FALLTHRU */
|
||||||
case IT_DYLITLSPACE:
|
case IT_DYLITLSPACE:
|
||||||
y += SMALLLINEHEIGHT;
|
y += SMALLLINEHEIGHT;
|
||||||
break;
|
break;
|
||||||
|
@ -3323,6 +3325,7 @@ static void M_DrawGenericMenu(void)
|
||||||
case IT_TRANSTEXT:
|
case IT_TRANSTEXT:
|
||||||
if (currentMenu->menuitems[i].alphaKey)
|
if (currentMenu->menuitems[i].alphaKey)
|
||||||
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
|
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
|
||||||
|
/* FALLTHRU */
|
||||||
case IT_TRANSTEXT2:
|
case IT_TRANSTEXT2:
|
||||||
V_DrawString(x, y, V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
V_DrawString(x, y, V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
||||||
y += SMALLLINEHEIGHT;
|
y += SMALLLINEHEIGHT;
|
||||||
|
@ -3672,6 +3675,7 @@ static void M_DrawCenteredMenu(void)
|
||||||
W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE));
|
W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
case IT_NOTHING:
|
case IT_NOTHING:
|
||||||
case IT_DYBIGSPACE:
|
case IT_DYBIGSPACE:
|
||||||
y += LINEHEIGHT;
|
y += LINEHEIGHT;
|
||||||
|
@ -3729,6 +3733,7 @@ static void M_DrawCenteredMenu(void)
|
||||||
break;
|
break;
|
||||||
case IT_STRING2:
|
case IT_STRING2:
|
||||||
V_DrawCenteredString(x, y, 0, currentMenu->menuitems[i].text);
|
V_DrawCenteredString(x, y, 0, currentMenu->menuitems[i].text);
|
||||||
|
/* FALLTHRU */
|
||||||
case IT_DYLITLSPACE:
|
case IT_DYLITLSPACE:
|
||||||
y += SMALLLINEHEIGHT;
|
y += SMALLLINEHEIGHT;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1086,7 +1086,7 @@ void M_StartMovie(void)
|
||||||
moviemode = M_StartMovieGIF(pathname);
|
moviemode = M_StartMovieGIF(pathname);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// fall thru
|
/* FALLTHRU */
|
||||||
case MM_APNG:
|
case MM_APNG:
|
||||||
moviemode = M_StartMovieAPNG(pathname);
|
moviemode = M_StartMovieAPNG(pathname);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -79,7 +79,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
|
||||||
P_LinedefExecute((INT16)(ceiling->texture + INT16_MAX + 2), NULL, NULL);
|
P_LinedefExecute((INT16)(ceiling->texture + INT16_MAX + 2), NULL, NULL);
|
||||||
if (ceiling->texture > -1) // flat changing
|
if (ceiling->texture > -1) // flat changing
|
||||||
ceiling->sector->ceilingpic = ceiling->texture;
|
ceiling->sector->ceilingpic = ceiling->texture;
|
||||||
// don't break
|
/* FALLTHRU */
|
||||||
case raiseToHighest:
|
case raiseToHighest:
|
||||||
// case raiseCeilingByLine:
|
// case raiseCeilingByLine:
|
||||||
case moveCeilingByFrontTexture:
|
case moveCeilingByFrontTexture:
|
||||||
|
@ -182,6 +182,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
|
||||||
// except generalized ones, reset speed, start back up
|
// except generalized ones, reset speed, start back up
|
||||||
case crushAndRaise:
|
case crushAndRaise:
|
||||||
ceiling->speed = CEILSPEED;
|
ceiling->speed = CEILSPEED;
|
||||||
|
/* FALLTHRU */
|
||||||
case fastCrushAndRaise:
|
case fastCrushAndRaise:
|
||||||
ceiling->direction = 1;
|
ceiling->direction = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -200,6 +201,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
|
||||||
if (ceiling->texture > -1) // flat changing
|
if (ceiling->texture > -1) // flat changing
|
||||||
ceiling->sector->ceilingpic = ceiling->texture;
|
ceiling->sector->ceilingpic = ceiling->texture;
|
||||||
// don't break
|
// don't break
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
// in all other cases, just remove the active ceiling
|
// in all other cases, just remove the active ceiling
|
||||||
case lowerAndCrush:
|
case lowerAndCrush:
|
||||||
|
@ -427,6 +429,7 @@ INT32 EV_DoCeiling(line_t *line, ceiling_e type)
|
||||||
case crushAndRaise:
|
case crushAndRaise:
|
||||||
ceiling->crush = true;
|
ceiling->crush = true;
|
||||||
ceiling->topheight = sec->ceilingheight;
|
ceiling->topheight = sec->ceilingheight;
|
||||||
|
/* FALLTHRU */
|
||||||
case lowerAndCrush:
|
case lowerAndCrush:
|
||||||
ceiling->bottomheight = sec->floorheight;
|
ceiling->bottomheight = sec->floorheight;
|
||||||
ceiling->bottomheight += 4*FRACUNIT;
|
ceiling->bottomheight += 4*FRACUNIT;
|
||||||
|
|
|
@ -6065,7 +6065,7 @@ void A_Boss7Chase(mobj_t *actor)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
actor->threshold++;
|
actor->threshold++;
|
||||||
// fall into...
|
/* FALLTHRU */
|
||||||
case 1: // Chaingun Goop
|
case 1: // Chaingun Goop
|
||||||
A_FaceTarget(actor);
|
A_FaceTarget(actor);
|
||||||
P_SetMobjState(actor, S_BLACKEGG_SHOOT1);
|
P_SetMobjState(actor, S_BLACKEGG_SHOOT1);
|
||||||
|
|
|
@ -316,6 +316,7 @@ void T_MoveFloor(floormove_t *movefloor)
|
||||||
case moveFloorByFrontSector:
|
case moveFloorByFrontSector:
|
||||||
if (movefloor->texture < -1) // chained linedef executing
|
if (movefloor->texture < -1) // chained linedef executing
|
||||||
P_LinedefExecute((INT16)(movefloor->texture + INT16_MAX + 2), NULL, NULL);
|
P_LinedefExecute((INT16)(movefloor->texture + INT16_MAX + 2), NULL, NULL);
|
||||||
|
/* FALLTHRU */
|
||||||
case instantMoveFloorByFrontSector:
|
case instantMoveFloorByFrontSector:
|
||||||
if (movefloor->texture > -1) // flat changing
|
if (movefloor->texture > -1) // flat changing
|
||||||
movefloor->sector->floorpic = movefloor->texture;
|
movefloor->sector->floorpic = movefloor->texture;
|
||||||
|
@ -364,6 +365,7 @@ void T_MoveFloor(floormove_t *movefloor)
|
||||||
case moveFloorByFrontSector:
|
case moveFloorByFrontSector:
|
||||||
if (movefloor->texture < -1) // chained linedef executing
|
if (movefloor->texture < -1) // chained linedef executing
|
||||||
P_LinedefExecute((INT16)(movefloor->texture + INT16_MAX + 2), NULL, NULL);
|
P_LinedefExecute((INT16)(movefloor->texture + INT16_MAX + 2), NULL, NULL);
|
||||||
|
/* FALLTHRU */
|
||||||
case instantMoveFloorByFrontSector:
|
case instantMoveFloorByFrontSector:
|
||||||
if (movefloor->texture > -1) // flat changing
|
if (movefloor->texture > -1) // flat changing
|
||||||
movefloor->sector->floorpic = movefloor->texture;
|
movefloor->sector->floorpic = movefloor->texture;
|
||||||
|
|
|
@ -483,9 +483,11 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
||||||
case MT_REDTEAMRING:
|
case MT_REDTEAMRING:
|
||||||
if (player->ctfteam != 1)
|
if (player->ctfteam != 1)
|
||||||
return;
|
return;
|
||||||
|
/* FALLTHRU */
|
||||||
case MT_BLUETEAMRING: // Yes, I'm lazy. Oh well, deal with it.
|
case MT_BLUETEAMRING: // Yes, I'm lazy. Oh well, deal with it.
|
||||||
if (special->type == MT_BLUETEAMRING && player->ctfteam != 2)
|
if (special->type == MT_BLUETEAMRING && player->ctfteam != 2)
|
||||||
return;
|
return;
|
||||||
|
/* FALLTHRU */
|
||||||
case MT_RING:
|
case MT_RING:
|
||||||
case MT_FLINGRING:
|
case MT_FLINGRING:
|
||||||
if (!(P_CanPickupItem(player, false)))
|
if (!(P_CanPickupItem(player, false)))
|
||||||
|
@ -3390,7 +3392,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
P_SetMobjState(target, target->info->meleestate); // go to pinch pain state
|
P_SetMobjState(target, target->info->meleestate); // go to pinch pain state
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// fallthrough
|
/* FALLTHRU */
|
||||||
default:
|
default:
|
||||||
P_SetMobjState(target, target->info->painstate);
|
P_SetMobjState(target, target->info->painstate);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -7752,7 +7752,6 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
else
|
else
|
||||||
mobj->z = mobj->floorz;
|
mobj->z = mobj->floorz;
|
||||||
}
|
}
|
||||||
// THERE IS NO BREAK HERE ON PURPOSE
|
|
||||||
default:
|
default:
|
||||||
// check mobj against possible water content, before movement code
|
// check mobj against possible water content, before movement code
|
||||||
P_MobjCheckWater(mobj);
|
P_MobjCheckWater(mobj);
|
||||||
|
@ -8789,6 +8788,7 @@ void P_PrecipitationEffects(void)
|
||||||
{
|
{
|
||||||
case PRECIP_RAIN: // no lightning or thunder whatsoever
|
case PRECIP_RAIN: // no lightning or thunder whatsoever
|
||||||
sounds_thunder = false;
|
sounds_thunder = false;
|
||||||
|
/* FALLTHRU */
|
||||||
case PRECIP_STORM_NOSTRIKES: // no lightning strikes specifically
|
case PRECIP_STORM_NOSTRIKES: // no lightning strikes specifically
|
||||||
effects_lightning = false;
|
effects_lightning = false;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1670,12 +1670,18 @@ static inline void SaveWhatThinker(const thinker_t *th, const UINT8 type)
|
||||||
static void P_NetArchiveThinkers(void)
|
static void P_NetArchiveThinkers(void)
|
||||||
{
|
{
|
||||||
const thinker_t *th;
|
const thinker_t *th;
|
||||||
|
UINT32 numsaved = 0;
|
||||||
|
|
||||||
WRITEUINT32(save_p, ARCHIVEBLOCK_THINKERS);
|
WRITEUINT32(save_p, ARCHIVEBLOCK_THINKERS);
|
||||||
|
|
||||||
// save off the current thinkers
|
// save off the current thinkers
|
||||||
for (th = thinkercap.next; th != &thinkercap; th = th->next)
|
for (th = thinkercap.next; th != &thinkercap; th = th->next)
|
||||||
{
|
{
|
||||||
|
if (!(th->function.acp1 == (actionf_p1)P_RemoveThinkerDelayed
|
||||||
|
|| th->function.acp1 == (actionf_p1)P_RainThinker
|
||||||
|
|| th->function.acp1 == (actionf_p1)P_SnowThinker))
|
||||||
|
numsaved++;
|
||||||
|
|
||||||
if (th->function.acp1 == (actionf_p1)P_MobjThinker)
|
if (th->function.acp1 == (actionf_p1)P_MobjThinker)
|
||||||
{
|
{
|
||||||
SaveMobjThinker(th, tc_mobj);
|
SaveMobjThinker(th, tc_mobj);
|
||||||
|
@ -1869,6 +1875,8 @@ static void P_NetArchiveThinkers(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CONS_Debug(DBG_NETPLAY, "%u thinkers saved\n", numsaved);
|
||||||
|
|
||||||
WRITEUINT8(save_p, tc_end);
|
WRITEUINT8(save_p, tc_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2656,6 +2664,7 @@ static void P_NetUnArchiveThinkers(void)
|
||||||
UINT8 tclass;
|
UINT8 tclass;
|
||||||
UINT8 restoreNum = false;
|
UINT8 restoreNum = false;
|
||||||
UINT32 i;
|
UINT32 i;
|
||||||
|
UINT32 numloaded = 0;
|
||||||
|
|
||||||
if (READUINT32(save_p) != ARCHIVEBLOCK_THINKERS)
|
if (READUINT32(save_p) != ARCHIVEBLOCK_THINKERS)
|
||||||
I_Error("Bad $$$.sav at archive block Thinkers");
|
I_Error("Bad $$$.sav at archive block Thinkers");
|
||||||
|
@ -2689,6 +2698,7 @@ static void P_NetUnArchiveThinkers(void)
|
||||||
|
|
||||||
if (tclass == tc_end)
|
if (tclass == tc_end)
|
||||||
break; // leave the saved thinker reading loop
|
break; // leave the saved thinker reading loop
|
||||||
|
numloaded++;
|
||||||
|
|
||||||
switch (tclass)
|
switch (tclass)
|
||||||
{
|
{
|
||||||
|
@ -2844,6 +2854,8 @@ static void P_NetUnArchiveThinkers(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CONS_Debug(DBG_NETPLAY, "%u thinkers loaded\n", numloaded);
|
||||||
|
|
||||||
if (restoreNum)
|
if (restoreNum)
|
||||||
{
|
{
|
||||||
executor_t *delay = NULL;
|
executor_t *delay = NULL;
|
||||||
|
|
|
@ -3608,6 +3608,7 @@ void P_ProcessSpecialSector(player_t *player, sector_t *sector, sector_t *rovers
|
||||||
goto DoneSection2;
|
goto DoneSection2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
case 4: // Linedef executor that doesn't require touching floor
|
case 4: // Linedef executor that doesn't require touching floor
|
||||||
case 5: // Linedef executor
|
case 5: // Linedef executor
|
||||||
case 6: // Linedef executor (7 Emeralds)
|
case 6: // Linedef executor (7 Emeralds)
|
||||||
|
@ -4650,6 +4651,8 @@ static void P_RunSpecialSectorCheck(player_t *player, sector_t *sector)
|
||||||
// requires touching floor.
|
// requires touching floor.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
case 1: // Starpost activator
|
case 1: // Starpost activator
|
||||||
case 5: // Fan sector
|
case 5: // Fan sector
|
||||||
case 6: // Super Sonic Transform
|
case 6: // Super Sonic Transform
|
||||||
|
@ -5806,6 +5809,8 @@ void P_SpawnSpecials(INT32 fromnetsave)
|
||||||
EV_DoFloor(&lines[i], bounceFloor);
|
EV_DoFloor(&lines[i], bounceFloor);
|
||||||
if (lines[i].special == 54)
|
if (lines[i].special == 54)
|
||||||
break;
|
break;
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
case 55: // New super cool and awesome moving ceiling type
|
case 55: // New super cool and awesome moving ceiling type
|
||||||
if (lines[i].backsector)
|
if (lines[i].backsector)
|
||||||
EV_DoCeiling(&lines[i], bounceCeiling);
|
EV_DoCeiling(&lines[i], bounceCeiling);
|
||||||
|
@ -5818,6 +5823,7 @@ void P_SpawnSpecials(INT32 fromnetsave)
|
||||||
|
|
||||||
if (lines[i].special == 57)
|
if (lines[i].special == 57)
|
||||||
break; //only move the floor
|
break; //only move the floor
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
case 58: // New super cool and awesome moving ceiling crush type
|
case 58: // New super cool and awesome moving ceiling crush type
|
||||||
if (lines[i].backsector)
|
if (lines[i].backsector)
|
||||||
|
@ -6905,6 +6911,7 @@ static void P_SpawnScrollers(void)
|
||||||
Add_Scroller(sc_ceiling, -dx, dy, control, s, accel, l->flags & ML_NOCLIMB);
|
Add_Scroller(sc_ceiling, -dx, dy, control, s, accel, l->flags & ML_NOCLIMB);
|
||||||
if (special != 533)
|
if (special != 533)
|
||||||
break;
|
break;
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
case 523: // carry objects on ceiling
|
case 523: // carry objects on ceiling
|
||||||
dx = FixedMul(dx, CARRYFACTOR);
|
dx = FixedMul(dx, CARRYFACTOR);
|
||||||
|
@ -6919,6 +6926,7 @@ static void P_SpawnScrollers(void)
|
||||||
Add_Scroller(sc_floor, -dx, dy, control, s, accel, l->flags & ML_NOCLIMB);
|
Add_Scroller(sc_floor, -dx, dy, control, s, accel, l->flags & ML_NOCLIMB);
|
||||||
if (special != 530)
|
if (special != 530)
|
||||||
break;
|
break;
|
||||||
|
/* FALLTHRU */
|
||||||
|
|
||||||
case 520: // carry objects on floor
|
case 520: // carry objects on floor
|
||||||
dx = FixedMul(dx, CARRYFACTOR);
|
dx = FixedMul(dx, CARRYFACTOR);
|
||||||
|
|
|
@ -941,6 +941,7 @@ static inline boolean I_SkipFrame(void)
|
||||||
case GS_LEVEL:
|
case GS_LEVEL:
|
||||||
if (!paused)
|
if (!paused)
|
||||||
return false;
|
return false;
|
||||||
|
/* FALLTHRU */
|
||||||
//case GS_TIMEATTACK: -- sorry optimisation but now we have a cool level platter and that being laggardly looks terrible
|
//case GS_TIMEATTACK: -- sorry optimisation but now we have a cool level platter and that being laggardly looks terrible
|
||||||
case GS_WAITINGPLAYERS:
|
case GS_WAITINGPLAYERS:
|
||||||
return skip; // Skip odd frames
|
return skip; // Skip odd frames
|
||||||
|
|
|
@ -486,7 +486,7 @@ void S_InitRuntimeSounds (void)
|
||||||
{
|
{
|
||||||
sfxenum_t i;
|
sfxenum_t i;
|
||||||
INT32 value;
|
INT32 value;
|
||||||
char soundname[7];
|
char soundname[10];
|
||||||
|
|
||||||
for (i = sfx_freeslot0; i <= sfx_lastskinsoundslot; i++)
|
for (i = sfx_freeslot0; i <= sfx_lastskinsoundslot; i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1308,6 +1308,7 @@ char *V_WordWrap(INT32 x, INT32 w, INT32 option, const char *string)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 8;
|
spacewidth = 8;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 8;
|
charwidth = 8;
|
||||||
break;
|
break;
|
||||||
|
@ -1389,6 +1390,7 @@ void V_DrawString(INT32 x, INT32 y, INT32 option, const char *string)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 8;
|
spacewidth = 8;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 8;
|
charwidth = 8;
|
||||||
break;
|
break;
|
||||||
|
@ -1502,6 +1504,7 @@ void V_DrawSmallString(INT32 x, INT32 y, INT32 option, const char *string)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 4;
|
spacewidth = 4;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 4;
|
charwidth = 4;
|
||||||
break;
|
break;
|
||||||
|
@ -1607,6 +1610,7 @@ void V_DrawThinString(INT32 x, INT32 y, INT32 option, const char *string)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 5;
|
spacewidth = 5;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 5;
|
charwidth = 5;
|
||||||
break;
|
break;
|
||||||
|
@ -1704,6 +1708,7 @@ void V_DrawStringAtFixed(fixed_t x, fixed_t y, INT32 option, const char *string)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 8;
|
spacewidth = 8;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 8;
|
charwidth = 8;
|
||||||
break;
|
break;
|
||||||
|
@ -1988,6 +1993,7 @@ INT32 V_StringWidth(const char *string, INT32 option)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 8;
|
spacewidth = 8;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 8;
|
charwidth = 8;
|
||||||
break;
|
break;
|
||||||
|
@ -2029,6 +2035,7 @@ INT32 V_SmallStringWidth(const char *string, INT32 option)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 4;
|
spacewidth = 4;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 4;
|
charwidth = 4;
|
||||||
break;
|
break;
|
||||||
|
@ -2067,6 +2074,7 @@ INT32 V_ThinStringWidth(const char *string, INT32 option)
|
||||||
{
|
{
|
||||||
case V_MONOSPACE:
|
case V_MONOSPACE:
|
||||||
spacewidth = 5;
|
spacewidth = 5;
|
||||||
|
/* FALLTHRU */
|
||||||
case V_OLDSPACING:
|
case V_OLDSPACING:
|
||||||
charwidth = 5;
|
charwidth = 5;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1047,6 +1047,7 @@ void Y_StartIntermission(void)
|
||||||
|
|
||||||
// fall back into the coop intermission for now
|
// fall back into the coop intermission for now
|
||||||
intertype = int_coop;
|
intertype = int_coop;
|
||||||
|
/* FALLTHRU */
|
||||||
case int_coop: // coop or single player, normal level
|
case int_coop: // coop or single player, normal level
|
||||||
{
|
{
|
||||||
// award time and ring bonuses
|
// award time and ring bonuses
|
||||||
|
@ -1163,6 +1164,7 @@ void Y_StartIntermission(void)
|
||||||
|
|
||||||
// fall back into the special stage intermission for now
|
// fall back into the special stage intermission for now
|
||||||
intertype = int_spec;
|
intertype = int_spec;
|
||||||
|
/* FALLTHRU */
|
||||||
case int_spec: // coop or single player, special stage
|
case int_spec: // coop or single player, special stage
|
||||||
{
|
{
|
||||||
// Update visitation flags?
|
// Update visitation flags?
|
||||||
|
|
Loading…
Reference in New Issue