mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 23:02:03 +00:00
- OnMotorcycle/BoatHit.
This commit is contained in:
parent
454b2315d4
commit
d4dabee52d
1 changed files with 33 additions and 33 deletions
|
@ -1491,7 +1491,7 @@ void checkweapons_r(struct player_struct* p)
|
||||||
{
|
{
|
||||||
auto j = spawn(p->GetActor(), 7220);
|
auto j = spawn(p->GetActor(), 7220);
|
||||||
j->s.ang = p->angle.ang.asbuild();
|
j->s.ang = p->angle.ang.asbuild();
|
||||||
j->s.owner = p->ammo_amount[MOTORCYCLE_WEAPON];
|
j->s.owner = p->ammo_amount[MOTORCYCLE_WEAPON]; // hijack!
|
||||||
p->OnMotorcycle = 0;
|
p->OnMotorcycle = 0;
|
||||||
p->gotweapon.Clear(MOTORCYCLE_WEAPON);
|
p->gotweapon.Clear(MOTORCYCLE_WEAPON);
|
||||||
p->horizon.horiz = q16horiz(0);
|
p->horizon.horiz = q16horiz(0);
|
||||||
|
@ -1507,7 +1507,7 @@ void checkweapons_r(struct player_struct* p)
|
||||||
{
|
{
|
||||||
auto j = spawn(p->GetActor(), 7233);
|
auto j = spawn(p->GetActor(), 7233);
|
||||||
j->s.ang = p->angle.ang.asbuild();
|
j->s.ang = p->angle.ang.asbuild();
|
||||||
j->s.owner = p->ammo_amount[BOAT_WEAPON];
|
j->s.owner = p->ammo_amount[BOAT_WEAPON]; // hijack!
|
||||||
p->OnBoat = 0;
|
p->OnBoat = 0;
|
||||||
p->gotweapon.Clear(BOAT_WEAPON);
|
p->gotweapon.Clear(BOAT_WEAPON);
|
||||||
p->horizon.horiz = q16horiz(0);
|
p->horizon.horiz = q16horiz(0);
|
||||||
|
@ -2552,29 +2552,29 @@ void onBoatMove(int snum, int psect, int j)
|
||||||
{
|
{
|
||||||
p->MotoSpeed = ((p->MotoSpeed >> 1) + (p->MotoSpeed >> 2)) >> 2;
|
p->MotoSpeed = ((p->MotoSpeed >> 1) + (p->MotoSpeed >> 2)) >> 2;
|
||||||
if (psectlotag == 1)
|
if (psectlotag == 1)
|
||||||
if (S_CheckActorSoundPlaying(pi, 178) == 0)
|
if (S_CheckActorSoundPlaying(pact, 178) == 0)
|
||||||
S_PlayActorSound(178, pi);
|
S_PlayActorSound(178, pact);
|
||||||
}
|
}
|
||||||
else if (var118 >= 311 && var118 <= 711)
|
else if (var118 >= 311 && var118 <= 711)
|
||||||
{
|
{
|
||||||
p->MotoSpeed -= ((p->MotoSpeed >> 1) + (p->MotoSpeed >> 2)) >> 3;
|
p->MotoSpeed -= ((p->MotoSpeed >> 1) + (p->MotoSpeed >> 2)) >> 3;
|
||||||
if (psectlotag == 1)
|
if (psectlotag == 1)
|
||||||
if (S_CheckActorSoundPlaying(pi, 179) == 0)
|
if (S_CheckActorSoundPlaying(pact, 179) == 0)
|
||||||
S_PlayActorSound(179, pi);
|
S_PlayActorSound(179, pact);
|
||||||
}
|
}
|
||||||
else if (var118 >= 111 && var118 <= 911)
|
else if (var118 >= 111 && var118 <= 911)
|
||||||
{
|
{
|
||||||
p->MotoSpeed -= (p->MotoSpeed >> 4);
|
p->MotoSpeed -= (p->MotoSpeed >> 4);
|
||||||
if (psectlotag == 1)
|
if (psectlotag == 1)
|
||||||
if (S_CheckActorSoundPlaying(pi, 180) == 0)
|
if (S_CheckActorSoundPlaying(pact, 180) == 0)
|
||||||
S_PlayActorSound(180, pi);
|
S_PlayActorSound(180, pact);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
p->MotoSpeed -= (p->MotoSpeed >> 6);
|
p->MotoSpeed -= (p->MotoSpeed >> 6);
|
||||||
if (psectlotag == 1)
|
if (psectlotag == 1)
|
||||||
if (S_CheckActorSoundPlaying(pi, 181) == 0)
|
if (S_CheckActorSoundPlaying(pact, 181) == 0)
|
||||||
S_PlayActorSound(181, pi);
|
S_PlayActorSound(181, pact);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2585,32 +2585,32 @@ void onBoatMove(int snum, int psect, int j)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void onMotorcycleHit(int snum, int var60)
|
void onMotorcycleHit(int snum, DDukeActor* victim)
|
||||||
{
|
{
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
auto s = &sprite[var60];
|
auto s = &victim->s;
|
||||||
auto ht = &hittype[var60];
|
|
||||||
if (badguy(s) || s->picnum == APLAYER)
|
if (badguy(s) || s->picnum == APLAYER)
|
||||||
{
|
{
|
||||||
if (s->picnum != APLAYER)
|
if (s->picnum != APLAYER)
|
||||||
{
|
{
|
||||||
if (numplayers == 1)
|
if (numplayers == 1)
|
||||||
{
|
{
|
||||||
fi.movesprite(var60, sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild() + 512) & 2047] >> 8,
|
Collision coll;
|
||||||
sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild()) & 2047] >> 8, s->zvel, CLIPMASK0);
|
movesprite_ex(victim, sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild() + 512) & 2047] >> 8,
|
||||||
|
sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild()) & 2047] >> 8, s->zvel, CLIPMASK0, coll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ht->owner = p->i;
|
victim->SetHitOwner(p->GetActor());
|
||||||
ht->picnum = MOTOHIT;
|
victim->picnum = MOTOHIT;
|
||||||
ht->extra = p->MotoSpeed >> 1;
|
victim->extra = p->MotoSpeed >> 1;
|
||||||
p->MotoSpeed -= p->MotoSpeed >> 2;
|
p->MotoSpeed -= p->MotoSpeed >> 2;
|
||||||
p->TurbCount = 6;
|
p->TurbCount = 6;
|
||||||
}
|
}
|
||||||
else if ((s->picnum == RRTILE2431 || s->picnum == RRTILE2443 || s->picnum == RRTILE2451 || s->picnum == RRTILE2455)
|
else if ((s->picnum == RRTILE2431 || s->picnum == RRTILE2443 || s->picnum == RRTILE2451 || s->picnum == RRTILE2455)
|
||||||
&& s->picnum != ACTIVATORLOCKED && p->MotoSpeed > 45)
|
&& s->picnum != ACTIVATORLOCKED && p->MotoSpeed > 45)
|
||||||
{
|
{
|
||||||
S_PlayActorSound(SQUISHED, var60);
|
S_PlayActorSound(SQUISHED, victim);
|
||||||
if (s->picnum == RRTILE2431 || s->picnum == RRTILE2451)
|
if (s->picnum == RRTILE2431 || s->picnum == RRTILE2451)
|
||||||
{
|
{
|
||||||
if (s->lotag != 0)
|
if (s->lotag != 0)
|
||||||
|
@ -2628,12 +2628,12 @@ void onMotorcycleHit(int snum, int var60)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fi.guts(&hittype[var60], RRTILE2460, 12, myconnectindex);
|
fi.guts(victim, RRTILE2460, 12, myconnectindex);
|
||||||
fi.guts(&hittype[var60], RRTILE2465, 3, myconnectindex);
|
fi.guts(victim, RRTILE2465, 3, myconnectindex);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fi.guts(&hittype[var60], RRTILE2465, 3, myconnectindex);
|
fi.guts(victim, RRTILE2465, 3, myconnectindex);
|
||||||
fi.guts(&hittype[var60], RRTILE2465, 3, myconnectindex);
|
fi.guts(victim, RRTILE2465, 3, myconnectindex);
|
||||||
s->xrepeat = 0;
|
s->xrepeat = 0;
|
||||||
s->yrepeat = 0;
|
s->yrepeat = 0;
|
||||||
}
|
}
|
||||||
|
@ -2645,11 +2645,10 @@ void onMotorcycleHit(int snum, int var60)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void onBoatHit(int snum, int var60)
|
void onBoatHit(int snum, DDukeActor* victim)
|
||||||
{
|
{
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
auto s = &sprite[var60];
|
auto s = &victim->s;
|
||||||
auto ht = &hittype[var60];
|
|
||||||
|
|
||||||
if (badguy(s) || s->picnum == APLAYER)
|
if (badguy(s) || s->picnum == APLAYER)
|
||||||
{
|
{
|
||||||
|
@ -2657,14 +2656,15 @@ void onBoatHit(int snum, int var60)
|
||||||
{
|
{
|
||||||
if (numplayers == 1)
|
if (numplayers == 1)
|
||||||
{
|
{
|
||||||
fi.movesprite(var60, sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild() + 512) & 2047] >> 9,
|
Collision coll;
|
||||||
sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild()) & 2047] >> 9, s->zvel, CLIPMASK0);
|
movesprite_ex(victim, sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild() + 512) & 2047] >> 9,
|
||||||
|
sintable[int(p->TiltStatus * 20 + p->angle.ang.asbuild()) & 2047] >> 9, s->zvel, CLIPMASK0, coll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ht->owner = p->i;
|
victim->SetHitOwner(p->GetActor());
|
||||||
ht->picnum = MOTOHIT;
|
victim->picnum = MOTOHIT;
|
||||||
ht->extra = p->MotoSpeed >> 2;
|
victim->extra = p->MotoSpeed >> 2;
|
||||||
p->MotoSpeed -= p->MotoSpeed >> 2;
|
p->MotoSpeed -= p->MotoSpeed >> 2;
|
||||||
p->TurbCount = 6;
|
p->TurbCount = 6;
|
||||||
}
|
}
|
||||||
|
@ -3971,11 +3971,11 @@ HORIZONLY:
|
||||||
var60 = j & (MAXSPRITES - 1);
|
var60 = j & (MAXSPRITES - 1);
|
||||||
if (p->OnMotorcycle)
|
if (p->OnMotorcycle)
|
||||||
{
|
{
|
||||||
onMotorcycleHit(snum, var60);
|
onMotorcycleHit(snum, &hittype[var60]);
|
||||||
}
|
}
|
||||||
else if (p->OnBoat)
|
else if (p->OnBoat)
|
||||||
{
|
{
|
||||||
onBoatHit(snum, var60);
|
onBoatHit(snum, &hittype[var60]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (badguy(&sprite[var60]))
|
if (badguy(&sprite[var60]))
|
||||||
|
|
Loading…
Reference in a new issue