mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-23 03:12:38 +00:00
Finetuned the saloon door swinging
This commit is contained in:
parent
7e0c9d9398
commit
fbd7a5ae59
3 changed files with 15 additions and 2 deletions
|
@ -12066,7 +12066,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
100, // mass
|
||||
0, // damage
|
||||
sfx_s3k90, // activesound
|
||||
MF_SOLID|MF_NOGRAVITY|MF_RUNSPAWNFUNC|MF_PAPERCOLLISION, // flags
|
||||
MF_SOLID|MF_NOGRAVITY|MF_RUNSPAWNFUNC|MF_PAPERCOLLISION|MF_NOCLIPHEIGHT, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
|
|
|
@ -844,7 +844,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
angle_t ang = R_PointToAngle2(0, 0, dx, dy) - thing->angle;
|
||||
fixed_t s = FINESINE((ang >> ANGLETOFINESHIFT) & FINEMASK);
|
||||
S_StartSound(tmthing, thing->info->activesound);
|
||||
thing->extravalue2 += FixedMul(s, dm);
|
||||
thing->extravalue2 += 2*FixedMul(s, dm)/3;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
13
src/p_mobj.c
13
src/p_mobj.c
|
@ -8536,6 +8536,7 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
fixed_t s0 = -96*FINESINE(fa);
|
||||
angle_t fma;
|
||||
fixed_t c, s;
|
||||
angle_t angdiff;
|
||||
|
||||
// Adjust angular speed
|
||||
fixed_t da = AngleFixed(mobj->angle - oang);
|
||||
|
@ -8546,6 +8547,18 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
// Update angle
|
||||
mobj->angle += FixedAngle(mobj->extravalue2);
|
||||
|
||||
angdiff = mobj->angle - FixedAngle(mobj->extravalue1);
|
||||
if (angdiff > (ANGLE_90 - ANG2) && angdiff < ANGLE_180)
|
||||
{
|
||||
mobj->angle = FixedAngle(mobj->extravalue1) + (ANGLE_90 - ANG2);
|
||||
mobj->extravalue2 /= 2;
|
||||
}
|
||||
else if (angdiff < (ANGLE_270 + ANG2) && angdiff >= ANGLE_180)
|
||||
{
|
||||
mobj->angle = FixedAngle(mobj->extravalue1) + (ANGLE_270 + ANG2);
|
||||
mobj->extravalue2 /= 2;
|
||||
}
|
||||
|
||||
// Update position
|
||||
fma = (mobj->angle >> ANGLETOFINESHIFT) & FINEMASK;
|
||||
c = 48*FINECOSINE(fma);
|
||||
|
|
Loading…
Reference in a new issue