mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-01 05:20:43 +00:00
- lots of SpawnActor calls in weapon.cpp
This commit is contained in:
parent
446407cafe
commit
5e28b2cca3
1 changed files with 23 additions and 39 deletions
|
@ -7937,7 +7937,7 @@ int DoBlurExtend(DSWActor* actor, int16_t interval, int16_t blur_num)
|
||||||
int InitPlasmaFountain(DSWActor* wActor, DSWActor* sActor)
|
int InitPlasmaFountain(DSWActor* wActor, DSWActor* sActor)
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, PLASMA_FOUNTAIN, s_PlasmaFountain, sActor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, PLASMA_FOUNTAIN, s_PlasmaFountain, sActor->sector(),
|
||||||
sActor->int_pos().X, sActor->int_pos().Y, int_ActorZOfBottom(sActor), sActor->int_ang(), 0);
|
DVector3(sActor->spr.pos.XY(), ActorZOfBottom(sActor)), sActor->spr.angle, 0);
|
||||||
|
|
||||||
actorNew->spr.shade = -40;
|
actorNew->spr.shade = -40;
|
||||||
if (wActor)
|
if (wActor)
|
||||||
|
@ -8402,7 +8402,7 @@ int DoGrenade(DSWActor* actor)
|
||||||
if (!(actor->user.Flags & (SPR_BOUNCE|SPR_UNDERWATER)))
|
if (!(actor->user.Flags & (SPR_BOUNCE|SPR_UNDERWATER)))
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(),
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 100);
|
actor->spr.pos, actor->spr.angle, 100);
|
||||||
|
|
||||||
SetOwner(actor, actorNew);
|
SetOwner(actor, actorNew);
|
||||||
actorNew->spr.shade = -40;
|
actorNew->spr.shade = -40;
|
||||||
|
@ -9151,8 +9151,7 @@ int DoLaser(DSWActor* actor)
|
||||||
spawn_count++;
|
spawn_count++;
|
||||||
if (spawn_count < 256)
|
if (spawn_count < 256)
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_LaserPuff, actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_LaserPuff, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
actorNew->spr.shade = -40;
|
actorNew->spr.shade = -40;
|
||||||
actorNew->spr.xrepeat = 16;
|
actorNew->spr.xrepeat = 16;
|
||||||
|
@ -9238,8 +9237,7 @@ int DoRail(DSWActor* actor)
|
||||||
spawn_count++;
|
spawn_count++;
|
||||||
if (spawn_count < 128)
|
if (spawn_count < 128)
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, &s_RailPuff[0][0], actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, &s_RailPuff[0][0], actor->sector(), actor->spr.pos, actor->spr.angle, 20);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 20);
|
|
||||||
|
|
||||||
actorNew->spr.xvel += (RandomRange(140)-RandomRange(140));
|
actorNew->spr.xvel += (RandomRange(140)-RandomRange(140));
|
||||||
actorNew->spr.yvel += (RandomRange(140)-RandomRange(140));
|
actorNew->spr.yvel += (RandomRange(140)-RandomRange(140));
|
||||||
|
@ -9387,7 +9385,7 @@ int DoMicroMini(DSWActor* actor)
|
||||||
int SpawnExtraMicroMini(DSWActor* actor)
|
int SpawnExtraMicroMini(DSWActor* actor)
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Micro[0][0], actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Micro[0][0], actor->sector(),
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), actor->spr.xvel);
|
actor->spr.pos, actor->spr.angle, actor->spr.xvel);
|
||||||
|
|
||||||
SetOwner(GetOwner(actor), actorNew);
|
SetOwner(GetOwner(actor), actorNew);
|
||||||
actorNew->spr.yrepeat = actorNew->spr.xrepeat = actor->spr.xrepeat;
|
actorNew->spr.yrepeat = actorNew->spr.xrepeat = actor->spr.xrepeat;
|
||||||
|
@ -9427,7 +9425,7 @@ int DoMicro(DSWActor* actor)
|
||||||
if (!actor->user.Counter)
|
if (!actor->user.Counter)
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(),
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 100);
|
actor->spr.pos, actor->spr.angle, 100);
|
||||||
|
|
||||||
SetOwner(GetOwner(actor), actorNew);
|
SetOwner(GetOwner(actor), actorNew);
|
||||||
actorNew->spr.shade = -40;
|
actorNew->spr.shade = -40;
|
||||||
|
@ -9502,7 +9500,7 @@ int DoUziBullet(DSWActor* actor)
|
||||||
{
|
{
|
||||||
WeaponMoveHit(actor);
|
WeaponMoveHit(actor);
|
||||||
|
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, UZI_SMOKE, s_UziSmoke, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
auto actorNew = SpawnActor(STAT_MISSILE, UZI_SMOKE, s_UziSmoke, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actorNew->spr.shade = -40;
|
actorNew->spr.shade = -40;
|
||||||
actorNew->spr.xrepeat = UZI_SMOKE_REPEAT;
|
actorNew->spr.xrepeat = UZI_SMOKE_REPEAT;
|
||||||
actorNew->spr.yrepeat = UZI_SMOKE_REPEAT;
|
actorNew->spr.yrepeat = UZI_SMOKE_REPEAT;
|
||||||
|
@ -9513,7 +9511,7 @@ int DoUziBullet(DSWActor* actor)
|
||||||
|
|
||||||
if (!(actor->user.Flags & SPR_UNDERWATER))
|
if (!(actor->user.Flags & SPR_UNDERWATER))
|
||||||
{
|
{
|
||||||
actorNew = SpawnActor(STAT_MISSILE, UZI_SPARK, s_UziSpark, actorNew->sector(), actorNew->int_pos().X, actorNew->int_pos().Y, actorNew->int_pos().Z, 0, 0);
|
actorNew = SpawnActor(STAT_MISSILE, UZI_SPARK, s_UziSpark, actorNew->sector(), actorNew->spr.pos, nullAngle, 0);
|
||||||
actorNew->spr.shade = -40;
|
actorNew->spr.shade = -40;
|
||||||
actorNew->spr.xrepeat = UZI_SPARK_REPEAT;
|
actorNew->spr.xrepeat = UZI_SPARK_REPEAT;
|
||||||
actorNew->spr.yrepeat = UZI_SPARK_REPEAT;
|
actorNew->spr.yrepeat = UZI_SPARK_REPEAT;
|
||||||
|
@ -9753,8 +9751,7 @@ void SpawnFireballFlames(DSWActor* actor, DSWActor* enemyActor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES, s_FireballFlames, actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES, s_FireballFlames, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
|
|
||||||
|
@ -9815,7 +9812,7 @@ void SpawnFireballFlames(DSWActor* actor, DSWActor* enemyActor)
|
||||||
|
|
||||||
int SpawnBreakFlames(DSWActor* actor)
|
int SpawnBreakFlames(DSWActor* actor)
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES+1, s_BreakFlames, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES+1, s_BreakFlames, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
|
|
||||||
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
|
|
||||||
|
@ -9845,8 +9842,7 @@ int SpawnBreakFlames(DSWActor* actor)
|
||||||
|
|
||||||
void SpawnBreakStaticFlames(DSWActor* actor)
|
void SpawnBreakStaticFlames(DSWActor* actor)
|
||||||
{
|
{
|
||||||
auto actorNew = SpawnActor(STAT_STATIC_FIRE, FIREBALL_FLAMES, nullptr, actor->sector(),
|
auto actorNew = SpawnActor(STAT_STATIC_FIRE, FIREBALL_FLAMES, nullptr, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
if (RandomRange(1000) > 500)
|
if (RandomRange(1000) > 500)
|
||||||
actorNew->spr.picnum = 3143;
|
actorNew->spr.picnum = 3143;
|
||||||
|
@ -9879,8 +9875,7 @@ void SpawnFireballExp(DSWActor* actor)
|
||||||
|
|
||||||
PlaySound(DIGI_SMALLEXP, actor, v3df_none);
|
PlaySound(DIGI_SMALLEXP, actor, v3df_none);
|
||||||
|
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_EXP, s_FireballExp, actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_EXP, s_FireballExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
actorNew->spr.xrepeat = 52;
|
actorNew->spr.xrepeat = 52;
|
||||||
actorNew->spr.yrepeat = 52;
|
actorNew->spr.yrepeat = 52;
|
||||||
|
@ -9911,8 +9906,7 @@ void SpawnGoroFireballExp(DSWActor* actor)
|
||||||
|
|
||||||
PlaySound(DIGI_MEDIUMEXP, actor, v3df_none);
|
PlaySound(DIGI_MEDIUMEXP, actor, v3df_none);
|
||||||
|
|
||||||
auto actorNew = SpawnActor(STAT_MISSILE, 0, s_FireballExp, actor->sector(),
|
auto actorNew = SpawnActor(STAT_MISSILE, 0, s_FireballExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
actorNew->spr.xrepeat = 16;
|
actorNew->spr.xrepeat = 16;
|
||||||
|
@ -9940,8 +9934,7 @@ void SpawnBoltExp(DSWActor* actor)
|
||||||
|
|
||||||
PlaySound(DIGI_BOLTEXPLODE, actor, v3df_none);
|
PlaySound(DIGI_BOLTEXPLODE, actor, v3df_none);
|
||||||
|
|
||||||
auto expActor = SpawnActor(STAT_MISSILE, BOLT_EXP, s_BoltExp, actor->sector(),
|
auto expActor = SpawnActor(STAT_MISSILE, BOLT_EXP, s_BoltExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(GetOwner(actor), expActor);
|
SetOwner(GetOwner(actor), expActor);
|
||||||
|
@ -9989,8 +9982,7 @@ void SpawnTankShellExp(DSWActor* actor)
|
||||||
|
|
||||||
PlaySound(DIGI_BOLTEXPLODE, actor, v3df_none);
|
PlaySound(DIGI_BOLTEXPLODE, actor, v3df_none);
|
||||||
|
|
||||||
auto expActor = SpawnActor(STAT_MISSILE, TANK_SHELL_EXP, s_TankShellExp, actor->sector(),
|
auto expActor = SpawnActor(STAT_MISSILE, TANK_SHELL_EXP, s_TankShellExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(GetOwner(actor), expActor);
|
SetOwner(GetOwner(actor), expActor);
|
||||||
|
@ -10013,8 +10005,7 @@ void SpawnNuclearSecondaryExp(DSWActor* actor, short ang)
|
||||||
{
|
{
|
||||||
ASSERT(actor->hasU());
|
ASSERT(actor->hasU());
|
||||||
|
|
||||||
auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_GrenadeExp, actor->sector(),
|
auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_GrenadeExp, actor->sector(), actor->spr.pos, actor->spr.angle, 512);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 512);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(GetOwner(actor), expActor);
|
SetOwner(GetOwner(actor), expActor);
|
||||||
|
@ -10072,8 +10063,7 @@ void SpawnNuclearExp(DSWActor* actor)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Spawn big mushroom cloud
|
// Spawn big mushroom cloud
|
||||||
auto expActor = SpawnActor(STAT_MISSILE, MUSHROOM_CLOUD, s_NukeMushroom, actor->sector(),
|
auto expActor = SpawnActor(STAT_MISSILE, MUSHROOM_CLOUD, s_NukeMushroom, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(own, expActor);
|
SetOwner(own, expActor);
|
||||||
|
@ -10089,8 +10079,7 @@ void SpawnNuclearExp(DSWActor* actor)
|
||||||
|
|
||||||
|
|
||||||
// Do central explosion
|
// Do central explosion
|
||||||
expActor = SpawnActor(STAT_MISSILE, MUSHROOM_CLOUD, s_GrenadeExp, actor->sector(),
|
expActor = SpawnActor(STAT_MISSILE, MUSHROOM_CLOUD, s_GrenadeExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
SetOwner(own, expActor);
|
SetOwner(own, expActor);
|
||||||
expActor->spr.shade = -128;
|
expActor->spr.shade = -128;
|
||||||
|
@ -10132,11 +10121,9 @@ void SpawnTracerExp(DSWActor* actor)
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
if (actor->user.ID == BOLT_THINMAN_R1)
|
if (actor->user.ID == BOLT_THINMAN_R1)
|
||||||
expActor = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R1, s_TracerExp, actor->sector(),
|
expActor = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R1, s_TracerExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
else
|
else
|
||||||
expActor = SpawnActor(STAT_MISSILE, TRACER_EXP, s_TracerExp, actor->sector(),
|
expActor = SpawnActor(STAT_MISSILE, TRACER_EXP, s_TracerExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(GetOwner(actor), expActor);
|
SetOwner(GetOwner(actor), expActor);
|
||||||
|
@ -10164,8 +10151,7 @@ void SpawnMicroExp(DSWActor* actor)
|
||||||
if (actor->hasU() && (actor->user.Flags & SPR_SUICIDE))
|
if (actor->hasU() && (actor->user.Flags & SPR_SUICIDE))
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
auto expActor = SpawnActor(STAT_MISSILE, MICRO_EXP, s_MicroExp, actor->sector(),
|
auto expActor = SpawnActor(STAT_MISSILE, MICRO_EXP, s_MicroExp, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(GetOwner(actor), expActor);
|
SetOwner(GetOwner(actor), expActor);
|
||||||
|
@ -10222,8 +10208,7 @@ void SpawnBigGunFlames(DSWActor* actor, DSWActor* Operator, SECTOR_OBJECT* sop,
|
||||||
{
|
{
|
||||||
unsigned sn;
|
unsigned sn;
|
||||||
|
|
||||||
auto expActor = SpawnActor(STAT_MISSILE, MICRO_EXP, s_BigGunFlame, actor->sector(),
|
auto expActor = SpawnActor(STAT_MISSILE, MICRO_EXP, s_BigGunFlame, actor->sector(), actor->spr.pos, actor->spr.angle, 0);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 0);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(Operator, expActor);
|
SetOwner(Operator, expActor);
|
||||||
|
@ -10281,8 +10266,7 @@ void SpawnGrenadeSecondaryExp(DSWActor* actor, int ang)
|
||||||
int vel;
|
int vel;
|
||||||
|
|
||||||
ASSERT(actor->hasU());
|
ASSERT(actor->hasU());
|
||||||
auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_GrenadeSmallExp, actor->sector(),
|
auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_GrenadeSmallExp, actor->sector(), actor->spr.pos, actor->spr.angle, 1024);
|
||||||
actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 1024);
|
|
||||||
|
|
||||||
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
expActor->spr.hitag = LUMINOUS; //Always full brightness
|
||||||
SetOwner(GetOwner(actor), expActor);
|
SetOwner(GetOwner(actor), expActor);
|
||||||
|
|
Loading…
Reference in a new issue