Merge branch 'master' into opengl-new-patch-features-support

This commit is contained in:
Monster Iestyn 2019-02-13 18:08:17 +00:00
commit 55e3e99a94
2 changed files with 50 additions and 45 deletions

View file

@ -8085,7 +8085,6 @@ void P_MobjThinker(mobj_t *mobj)
// Invisible/bouncing mode.
else
{
fixed_t droneboxmandiff = max(mobj->height - droneman->height, 0);
INT32 i;
boolean bonustime = false;
fixed_t zcomp;
@ -10298,8 +10297,9 @@ You should think about modifying the deathmatch starts to take full advantage of
{
case MT_EMBLEM:
{
INT32 i;
INT32 j;
emblem_t *emblem = M_GetLevelEmblems(gamemap);
skincolors_t emcolor;
while (emblem)
{
@ -10315,16 +10315,17 @@ You should think about modifying the deathmatch starts to take full advantage of
break;
}
i = emblem - emblemlocations;
j = emblem - emblemlocations;
I_Assert(emblemlocations[i].sprite >= 'A' && emblemlocations[i].sprite <= 'Z');
P_SetMobjState(mobj, mobj->info->spawnstate + (emblemlocations[i].sprite - 'A'));
I_Assert(emblemlocations[j].sprite >= 'A' && emblemlocations[j].sprite <= 'Z');
P_SetMobjState(mobj, mobj->info->spawnstate + (emblemlocations[j].sprite - 'A'));
mobj->health = i + 1;
mobj->color = (UINT8)M_GetEmblemColor(&emblemlocations[i]);
mobj->health = j + 1;
emcolor = M_GetEmblemColor(&emblemlocations[j]); // workaround for compiler complaint about bad function casting
mobj->color = (UINT8)emcolor;
if (emblemlocations[i].collected
|| (emblemlocations[i].type == ET_SKIN && emblemlocations[i].var != players[0].skin))
if (emblemlocations[j].collected
|| (emblemlocations[j].type == ET_SKIN && emblemlocations[j].var != players[0].skin))
{
P_UnsetThingPosition(mobj);
mobj->flags |= MF_NOCLIP;
@ -10337,10 +10338,10 @@ You should think about modifying the deathmatch starts to take full advantage of
{
mobj->frame &= ~FF_TRANSMASK;
if (emblemlocations[i].type == ET_GLOBAL)
if (emblemlocations[j].type == ET_GLOBAL)
{
mobj->reactiontime = emblemlocations[i].var;
if (emblemlocations[i].var & GE_NIGHTSITEM)
mobj->reactiontime = emblemlocations[j].var;
if (emblemlocations[j].var & GE_NIGHTSITEM)
{
mobj->flags |= MF_NIGHTSITEM;
mobj->flags &= ~MF_SPECIAL;
@ -10942,6 +10943,7 @@ ML_EFFECT4 : Don't clip inside the ground
}
// spawn visual elements
{
mobj_t *goalpost = P_SpawnMobjFromMobj(mobj, 0, 0, goaloffset, MT_NIGHTSDRONE_GOAL);
mobj_t *sparkle = P_SpawnMobjFromMobj(mobj, 0, 0, sparkleoffset, MT_NIGHTSDRONE_SPARKLING);
mobj_t *droneman = P_SpawnMobjFromMobj(mobj, 0, 0, dronemanoffset, MT_NIGHTSDRONE_MAN);
@ -10972,6 +10974,7 @@ ML_EFFECT4 : Don't clip inside the ground
goalpost->friction = mobj->height;
goalpost->threshold = mobj->flags & (MF_SLIDEME | MF_GRENADEBOUNCE);
}
}
break;
case MT_HIVEELEMENTAL:
if (mthing->extrainfo)

View file

@ -6234,15 +6234,17 @@ static void P_DoNiGHTSCapsule(player_t *player)
//
static void P_MoveNiGHTSToDrone(player_t *player)
{
boolean flip, topaligned, middlealigned, bottomoffsetted;
fixed_t droneboxmandiff, zofs;
if (!player->drone)
return;
boolean flip = player->drone->flags2 & MF2_OBJECTFLIP;
boolean topaligned = (player->drone->flags & MF_SLIDEME) && !(player->drone->flags & MF_GRENADEBOUNCE);
boolean middlealigned = (player->drone->flags & MF_GRENADEBOUNCE) && !(player->drone->flags & MF_SLIDEME);
boolean bottomoffsetted = !(player->drone->flags & MF_SLIDEME) && !(player->drone->flags & MF_GRENADEBOUNCE);
fixed_t droneboxmandiff = max(player->drone->height - player->mo->height, 0);
fixed_t zofs;
flip = player->drone->flags2 & MF2_OBJECTFLIP;
topaligned = (player->drone->flags & MF_SLIDEME) && !(player->drone->flags & MF_GRENADEBOUNCE);
middlealigned = (player->drone->flags & MF_GRENADEBOUNCE) && !(player->drone->flags & MF_SLIDEME);
bottomoffsetted = !(player->drone->flags & MF_SLIDEME) && !(player->drone->flags & MF_GRENADEBOUNCE);
droneboxmandiff = max(player->drone->height - player->mo->height, 0);
if (!flip)
{