mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-24 04:29:34 -04:00
Disable MBF codepointers for BOOM demo compatibility (#125)
* disable mbf codepointers for boom demo compatibility * disable other mbf codepointers * fix gcc build
This commit is contained in:
parent
77310d7f66
commit
d14c65fe02
@ -2069,6 +2069,8 @@ void A_Fall(mobj_t *actor)
|
||||
// killough 11/98: kill an object
|
||||
void A_Die(mobj_t *actor)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
P_DamageMobj(actor, NULL, NULL, actor->health);
|
||||
}
|
||||
|
||||
@ -2087,6 +2089,8 @@ void A_Explode(mobj_t *thingy)
|
||||
|
||||
void A_Detonate(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
P_RadiusAttack(mo, mo->target, mo->info->damage);
|
||||
}
|
||||
|
||||
@ -2098,11 +2102,13 @@ void A_Detonate(mobj_t *mo)
|
||||
void A_Mushroom(mobj_t *actor)
|
||||
{
|
||||
int i, j, n = actor->info->damage;
|
||||
|
||||
// Mushroom parameters are part of code pointer's state
|
||||
fixed_t misc1 = actor->state->misc1 ? actor->state->misc1 : FRACUNIT*4;
|
||||
fixed_t misc2 = actor->state->misc2 ? actor->state->misc2 : FRACUNIT/2;
|
||||
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
|
||||
A_Explode(actor); // make normal explosion
|
||||
|
||||
for (i = -n; i <= n; i += 8) // launch mushroom cloud
|
||||
@ -2538,6 +2544,8 @@ void A_KeenDie(mobj_t* mo)
|
||||
|
||||
void A_Spawn(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
if (mo->state->misc1)
|
||||
{
|
||||
mobj_t *newmobj = P_SpawnMobj(mo->x, mo->y,
|
||||
@ -2550,16 +2558,22 @@ void A_Spawn(mobj_t *mo)
|
||||
|
||||
void A_Turn(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
mo->angle += (angle_t)(((ULong64) mo->state->misc1 << 32) / 360);
|
||||
}
|
||||
|
||||
void A_Face(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
mo->angle = (angle_t)(((ULong64) mo->state->misc1 << 32) / 360);
|
||||
}
|
||||
|
||||
void A_Scratch(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
mo->target && (A_FaceTarget(mo), P_CheckMeleeRange(mo)) ?
|
||||
mo->state->misc2 ? S_StartSound(mo, mo->state->misc2) : (void) 0,
|
||||
P_DamageMobj(mo->target, mo, mo, mo->state->misc1) : (void) 0;
|
||||
@ -2567,11 +2581,15 @@ void A_Scratch(mobj_t *mo)
|
||||
|
||||
void A_PlaySound(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
S_StartSound(mo->state->misc2 ? NULL : mo, mo->state->misc1);
|
||||
}
|
||||
|
||||
void A_RandomJump(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
if (P_Random(pr_randomjump) < mo->state->misc2)
|
||||
P_SetMobjState(mo, mo->state->misc1);
|
||||
}
|
||||
@ -2582,6 +2600,8 @@ void A_RandomJump(mobj_t *mo)
|
||||
|
||||
void A_LineEffect(mobj_t *mo)
|
||||
{
|
||||
if (demo_version < 203)
|
||||
return;
|
||||
if (!(mo->intflags & MIF_LINEDONE)) // Unless already used up
|
||||
{
|
||||
line_t junk = *lines; // Fake linedef set to 1st
|
||||
|
Loading…
x
Reference in New Issue
Block a user