From 643a63e1e65937374b30a992fae2f6e0d1fe845b Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Mon, 20 Jul 2020 13:39:05 -0400 Subject: [PATCH] Finish merge --- src/k_battle.c | 2 +- src/p_mobj.h | 41 +++++++++++++++++++++-------------------- src/p_setup.c | 4 +--- src/p_user.c | 16 +++++++--------- 4 files changed, 30 insertions(+), 33 deletions(-) diff --git a/src/k_battle.c b/src/k_battle.c index fc1141581..aac0dc8e5 100644 --- a/src/k_battle.c +++ b/src/k_battle.c @@ -394,7 +394,7 @@ static void K_SpawnOvertimeParticles(fixed_t x, fixed_t y, fixed_t scale, mobjty //mo->destscale = mo->scale/4; mo->frame += ((leveltime/4) % 8); /*if (battleovertime.enabled < 10*TICRATE) - mo->flags2 |= MF2_SHADOW;*/ + mo->drawflags |= MFD_SHADOW;*/ mo->angle = R_PointToAngle2(mo->x, mo->y, battleovertime.x, battleovertime.y) + ANGLE_90; mo->z += P_RandomRange(0,48) * mo->scale; break; diff --git a/src/p_mobj.h b/src/p_mobj.h index a7bfbcf72..dd4d1706e 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -251,29 +251,30 @@ typedef enum typedef enum { // Don't generate a vissprite for individual screens - MFD_DONTDRAWP1 = 0x0001, - MFD_DONTDRAWP2 = 0x0002, - MFD_DONTDRAWP3 = 0x0004, - MFD_DONTDRAWP4 = 0x0008, + MFD_DONTDRAWP1 = 0x0001, + MFD_DONTDRAWP2 = 0x0002, + MFD_DONTDRAWP3 = 0x0004, + MFD_DONTDRAWP4 = 0x0008, // Transparency override flags - MFD_TRANS10 = 0x0010, - MFD_TRANS20 = 0x0020, - MFD_TRANS30 = 0x0030, - MFD_TRANS40 = 0x0040, - MFD_TRANS50 = 0x0050, - MFD_TRANS60 = 0x0060, - MFD_TRANS70 = 0x0070, - MFD_TRANS80 = 0x0080, - MFD_TRANS90 = 0x0090, - MFD_TRANSMASK = 0x00F0, + MFD_TRANS10 = 0x0010, + MFD_TRANS20 = 0x0020, + MFD_TRANS30 = 0x0030, + MFD_TRANS40 = 0x0040, + MFD_TRANS50 = 0x0050, + MFD_TRANS60 = 0x0060, + MFD_TRANS70 = 0x0070, + MFD_TRANS80 = 0x0080, + MFD_TRANS90 = 0x0090, + MFD_TRANSMASK = 0x00F0, // Brightness override flags - MFD_FULLBRIGHT = 0x0100, - MFD_SEMIBRIGHT = 0x0200, - MFD_NOBRIGHT = 0x0300, - MFD_BRIGHTMASK = 0x0F00, + MFD_FULLBRIGHT = 0x0100, + MFD_SEMIBRIGHT = 0x0200, + MFD_NOBRIGHT = 0x0300, + MFD_BRIGHTMASK = 0x0F00, // Shortcuts - MFD_DONTDRAW = MFD_DONTDRAWP1|MFD_DONTDRAWP2|MFD_DONTDRAWP3|MFD_DONTDRAWP4, - MFD_SHADOW = MFD_TRANS80|MFD_FULLBRIGHT, + MFD_DONTDRAW = MFD_DONTDRAWP1|MFD_DONTDRAWP2|MFD_DONTDRAWP3|MFD_DONTDRAWP4, + MFD_SHADOW = MFD_TRANS80|MFD_FULLBRIGHT, + MFD_TRANSSHIFT = 4, // free: to and including 0x8000 } mobjdflag_t; diff --git a/src/p_setup.c b/src/p_setup.c index 7d2f8ab0f..0f9e98702 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1159,11 +1159,9 @@ static inline void P_SpawnEmblems(void) emblemmobj->flags |= MF_NOCLIP; emblemmobj->flags &= ~MF_SPECIAL; emblemmobj->flags |= MF_NOBLOCKMAP; - emblemmobj->frame |= (tr_trans50<drawflags |= (tr_trans50 << MFD_TRANSSHIFT); P_SetThingPosition(emblemmobj); } - else - emblemmobj->frame &= ~FF_TRANSMASK; } } diff --git a/src/p_user.c b/src/p_user.c index 5d2bd92ec..f6674644e 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1659,8 +1659,7 @@ mobj_t *P_SpawnGhostMobj(mobj_t *mobj) ghost->sprite = mobj->sprite; ghost->frame = mobj->frame; ghost->tics = -1; - ghost->frame &= ~FF_TRANSMASK; - ghost->frame |= tr_trans50<drawflags |= tr_trans50 << MFD_TRANSSHIFT; ghost->fuse = ghost->info->damage; ghost->skin = mobj->skin; ghost->standingslope = mobj->standingslope; @@ -7467,7 +7466,7 @@ void P_DemoCameraMovement(camera_t *cam) awayviewmobj_hack = P_SpawnMobj(cam->x, cam->y, cam->z, MT_THOK); awayviewmobj_hack->tics = 2; - awayviewmobj_hack->flags2 |= MF2_DONTDRAW; + awayviewmobj_hack->drawflags |= MFD_DONTDRAW; democam.soundmobj = awayviewmobj_hack; @@ -8581,13 +8580,13 @@ static void P_HandleFollower(player_t *player) P_SetScale(player->follower, FixedMul(fl.scale, player->mo->scale)); K_GenericExtraFlagsNoZAdjust(player->follower, player->mo); // Not K_MatchGenericExtraFlag because the Z adjust it has only works properly if master & mo have the same Z height. - // For comeback in battle. - player->follower->flags2 = (player->follower->flags2 & ~MF2_SHADOW)|(player->mo->flags2 & MF2_SHADOW); + // Match how the player is being drawn + player->follower->drawflags = player->mo->drawflags; // Make the follower invisible if we no contest'd rather than removing it. No one will notice the diff seriously. // Also make the follower invisible if we choose not to have it displayed because it isn't ours. (also quick hacky check for f12) if (player->pflags & PF_TIMEOVER || (!cv_showfollowers.value && (!P_IsDisplayPlayer(player) || displayplayers[0] != consoleplayer) )) - player->follower->flags2 |= MF2_DONTDRAW; + player->follower->drawflags |= MFD_DONTDRAW; if (player->speed && (player->follower->momx || player->follower->momy)) player->follower->angle = R_PointToAngle2(0, 0, player->follower->momx, player->follower->momy); @@ -8608,7 +8607,7 @@ static void P_HandleFollower(player_t *player) P_SetScale(bmobj, FixedMul(bubble, player->mo->scale)); K_GenericExtraFlagsNoZAdjust(bmobj, player->follower); - bmobj->flags2 = (player->follower->flags2 & ~MF2_SHADOW)|(player->mo->flags2 & MF2_SHADOW); + bmobj->drawflags = player->mo->drawflags; if (player->follower->threshold) // threshold means the follower was "despawned" with S_NULL (is actually just set to S_INVISIBLE) P_SetMobjState(bmobj, S_INVISIBLE); // sooooo... let's do the same! @@ -9016,8 +9015,7 @@ void P_PlayerThink(player_t *player) gmobj->fuse = 2; if (leveltime & 1) { - gmobj->frame &= ~FF_TRANSMASK; - gmobj->frame |= tr_trans70<drawflags |= tr_trans70 << MFD_TRANSSHIFT; } // Hide the mobj from our sights if we're the displayplayer and chasecam is off.