mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 01:11:28 +00:00
- handle several int_angle calls.
This commit is contained in:
parent
e42036d43b
commit
2ea426be38
5 changed files with 16 additions and 18 deletions
|
@ -1416,8 +1416,8 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3 &oldpo
|
||||||
(!isWorldTour() || proj->spr.picnum != FIREBALL) &&
|
(!isWorldTour() || proj->spr.picnum != FIREBALL) &&
|
||||||
(wal->overpicnum == MIRROR || wal->picnum == MIRROR))
|
(wal->overpicnum == MIRROR || wal->picnum == MIRROR))
|
||||||
{
|
{
|
||||||
int k = getangle(wal->delta());
|
DAngle k = VecToAngle(wal->delta());
|
||||||
proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047);
|
proj->spr.angle = k * 2 - proj->spr.angle;
|
||||||
proj->SetOwner(proj);
|
proj->SetOwner(proj);
|
||||||
spawn(proj, TRANSPORTERSTAR);
|
spawn(proj, TRANSPORTERSTAR);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1435,8 +1435,8 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3 &oldpo
|
||||||
proj->spr.yint--;
|
proj->spr.yint--;
|
||||||
}
|
}
|
||||||
|
|
||||||
int k = getangle(wal->delta());
|
DAngle k = VecToAngle(wal->delta());
|
||||||
proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047);
|
proj->spr.angle = k * 2 - proj->spr.angle;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2639,9 +2639,8 @@ static void heavyhbomb(DDukeActor *actor)
|
||||||
auto wal = coll.hitWall;
|
auto wal = coll.hitWall;
|
||||||
fi.checkhitwall(actor, wal, actor->spr.pos, actor->spr.picnum);
|
fi.checkhitwall(actor, wal, actor->spr.pos, actor->spr.picnum);
|
||||||
|
|
||||||
int k = getangle(wal->delta());
|
DAngle k = VecToAngle(wal->delta());
|
||||||
|
actor->spr.angle = k * 2 - actor->spr.angle;
|
||||||
actor->set_int_ang(((k << 1) - actor->int_ang()) & 2047);
|
|
||||||
actor->vel.X *= 0.5;
|
actor->vel.X *= 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1090,7 +1090,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3& oldpo
|
||||||
j->spr.xrepeat = 8;
|
j->spr.xrepeat = 8;
|
||||||
j->spr.yrepeat = 8;
|
j->spr.yrepeat = 8;
|
||||||
j->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL;
|
j->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL;
|
||||||
j->set_int_ang((j->int_ang() + 512) & 2047);
|
j->spr.angle += DAngle90;
|
||||||
j->set_native_clipdist(MulScale(proj->spr.xrepeat, tileWidth(proj->spr.picnum), 7));
|
j->set_native_clipdist(MulScale(proj->spr.xrepeat, tileWidth(proj->spr.picnum), 7));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1103,8 +1103,8 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3& oldpo
|
||||||
proj->spr.yint--;
|
proj->spr.yint--;
|
||||||
}
|
}
|
||||||
|
|
||||||
int k = getangle(wal->delta());
|
DAngle k = VecToAngle(wal->delta());
|
||||||
proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047);
|
proj->spr.angle = k * 2 - proj->spr.angle;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2410,8 +2410,6 @@ static void heavyhbomb(DDukeActor *actor)
|
||||||
auto wal = coll.hitWall;
|
auto wal = coll.hitWall;
|
||||||
fi.checkhitwall(actor, wal, actor->spr.pos, actor->spr.picnum);
|
fi.checkhitwall(actor, wal, actor->spr.pos, actor->spr.picnum);
|
||||||
|
|
||||||
int k = getangle(wal->delta());
|
|
||||||
|
|
||||||
if (actor->spr.picnum == CHEERBOMB)
|
if (actor->spr.picnum == CHEERBOMB)
|
||||||
{
|
{
|
||||||
actor->temp_data[3] = 1;
|
actor->temp_data[3] = 1;
|
||||||
|
@ -2420,7 +2418,8 @@ static void heavyhbomb(DDukeActor *actor)
|
||||||
actor->vel.X = 0;
|
actor->vel.X = 0;
|
||||||
goto DETONATEB;
|
goto DETONATEB;
|
||||||
}
|
}
|
||||||
actor->set_int_ang(((k << 1) - actor->int_ang()) & 2047);
|
DAngle k = VecToAngle(wal->delta());
|
||||||
|
actor->spr.angle = k * 2 - actor->spr.angle;
|
||||||
actor->vel.X *= 0.5;
|
actor->vel.X *= 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2547,8 +2546,8 @@ static int henstand(DDukeActor *actor)
|
||||||
{
|
{
|
||||||
if (coll.type == kHitWall)
|
if (coll.type == kHitWall)
|
||||||
{
|
{
|
||||||
int k = getangle(coll.hitWall->delta());
|
DAngle k = VecToAngle(coll.hitWall->delta());
|
||||||
actor->set_int_ang(((k << 1) - actor->int_ang()) & 2047);
|
actor->spr.angle = k * 2 - actor->spr.angle;
|
||||||
}
|
}
|
||||||
else if (coll.type == kHitSprite)
|
else if (coll.type == kHitSprite)
|
||||||
{
|
{
|
||||||
|
|
|
@ -125,7 +125,7 @@ void DoSpawn(player_struct *p, int snum)
|
||||||
else if((aplWeaponFlags(p->curr_weapon, snum) & WEAPON_FLAG_SPAWNTYPE3 ) )
|
else if((aplWeaponFlags(p->curr_weapon, snum) & WEAPON_FLAG_SPAWNTYPE3 ) )
|
||||||
{
|
{
|
||||||
// like chaingun shells
|
// like chaingun shells
|
||||||
j->set_int_ang((j->int_ang() + 1024) & 2047);
|
j->spr.angle += DAngle90;
|
||||||
j->vel.X += 2.;
|
j->vel.X += 2.;
|
||||||
j->spr.pos.Z += 3;
|
j->spr.pos.Z += 3;
|
||||||
ssp(j,CLIPMASK0);
|
ssp(j,CLIPMASK0);
|
||||||
|
|
|
@ -71,7 +71,7 @@ void premapcontroller(DDukeActor* ac)
|
||||||
cyclers[numcyclers].shade1 = ac->spr.shade;
|
cyclers[numcyclers].shade1 = ac->spr.shade;
|
||||||
cyclers[numcyclers].shade2 = ac->sector()->floorshade;
|
cyclers[numcyclers].shade2 = ac->sector()->floorshade;
|
||||||
cyclers[numcyclers].hitag = ac->spr.hitag;
|
cyclers[numcyclers].hitag = ac->spr.hitag;
|
||||||
cyclers[numcyclers].state = (ac->int_ang() == 1536);
|
cyclers[numcyclers].state = (ac->spr.angle == DAngle270);
|
||||||
numcyclers++;
|
numcyclers++;
|
||||||
deletesprite(ac);
|
deletesprite(ac);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -862,7 +862,7 @@ void spawneffector(DDukeActor* actor, TArray<DDukeActor*>* actors)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SE_11_SWINGING_DOOR://Pivitor rotater
|
case SE_11_SWINGING_DOOR://Pivitor rotater
|
||||||
if (actor->int_ang() > 1024) actor->temp_data[3] = 2;
|
if (actor->spr.intangle > 1024) actor->temp_data[3] = 2;
|
||||||
else actor->temp_data[3] = -2;
|
else actor->temp_data[3] = -2;
|
||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case SE_0_ROTATING_SECTOR:
|
case SE_0_ROTATING_SECTOR:
|
||||||
|
|
Loading…
Reference in a new issue