mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-25 05:21:02 +00:00
Merge branch 'master' of https://github.com/rheit/zdoom
This commit is contained in:
commit
6691358b0a
5 changed files with 40 additions and 38 deletions
|
@ -5993,21 +5993,21 @@ doplaysound: if (funcIndex == ACSF_PlayActorSound)
|
||||||
|
|
||||||
case ACSF_SpawnParticle:
|
case ACSF_SpawnParticle:
|
||||||
{
|
{
|
||||||
fixed_t x = args[0];
|
PalEntry color = args[0];
|
||||||
fixed_t y = args[1];
|
bool fullbright = argCount > 1 ? !!args[1] : false;
|
||||||
fixed_t z = args[2];
|
int lifetime = argCount > 2 ? args[2] : 35;
|
||||||
fixed_t xvel = args[3];
|
int size = argCount > 3 ? args[3] : 1;
|
||||||
fixed_t yvel = args[4];
|
fixed_t x = argCount > 4 ? args[4] : 0;
|
||||||
fixed_t zvel = args[5];
|
fixed_t y = argCount > 5 ? args[5] : 0;
|
||||||
PalEntry color = args[6];
|
fixed_t z = argCount > 6 ? args[6] : 0;
|
||||||
int lifetime = args[7];
|
fixed_t xvel = argCount > 7 ? args[7] : 0;
|
||||||
bool fullbright = argCount > 8 ? !!args[8] : false;
|
fixed_t yvel = argCount > 8 ? args[8] : 0;
|
||||||
int startalpha = argCount > 9 ? args[9] : 0xFF; // Byte trans
|
fixed_t zvel = argCount > 9 ? args[9] : 0;
|
||||||
int size = argCount > 10 ? args[10] : 1;
|
fixed_t accelx = argCount > 10 ? args[10] : 0;
|
||||||
int fadestep = argCount > 11 ? args[11] : -1;
|
fixed_t accely = argCount > 11 ? args[11] : 0;
|
||||||
fixed_t accelx = argCount > 12 ? args[12] : 0;
|
fixed_t accelz = argCount > 12 ? args[12] : 0;
|
||||||
fixed_t accely = argCount > 13 ? args[13] : 0;
|
int startalpha = argCount > 13 ? args[13] : 0xFF; // Byte trans
|
||||||
fixed_t accelz = argCount > 14 ? args[14] : 0;
|
int fadestep = argCount > 14 ? args[14] : -1;
|
||||||
|
|
||||||
startalpha = clamp<int>(startalpha, 0, 0xFF); // Clamp to byte
|
startalpha = clamp<int>(startalpha, 0, 0xFF); // Clamp to byte
|
||||||
lifetime = clamp<int>(lifetime, 0, 0xFF); // Clamp to byte
|
lifetime = clamp<int>(lifetime, 0, 0xFF); // Clamp to byte
|
||||||
|
|
|
@ -1684,7 +1684,8 @@ bool P_SeekerMissile (AActor *actor, angle_t thresh, angle_t turnMax, bool preci
|
||||||
angle_t pitch = 0;
|
angle_t pitch = 0;
|
||||||
if (!(actor->flags3 & (MF3_FLOORHUGGER|MF3_CEILINGHUGGER)))
|
if (!(actor->flags3 & (MF3_FLOORHUGGER|MF3_CEILINGHUGGER)))
|
||||||
{ // Need to seek vertically
|
{ // Need to seek vertically
|
||||||
double dist = MAX(1.0, FVector2(actor->Vec2To(target)).Length());
|
fixedvec2 vec = actor->Vec2To(target);
|
||||||
|
double dist = MAX(1.0, TVector2<double>(vec.x, vec.y).Length());
|
||||||
// Aim at a player's eyes and at the middle of the actor for everything else.
|
// Aim at a player's eyes and at the middle of the actor for everything else.
|
||||||
fixed_t aimheight = target->height/2;
|
fixed_t aimheight = target->height/2;
|
||||||
if (target->IsKindOf(RUNTIME_CLASS(APlayerPawn)))
|
if (target->IsKindOf(RUNTIME_CLASS(APlayerPawn)))
|
||||||
|
@ -2421,7 +2422,7 @@ void P_ZMovement (AActor *mo, fixed_t oldfloorz)
|
||||||
{
|
{
|
||||||
if ((mo->flags & MF_MISSILE) && !(mo->flags & MF_NOCLIP))
|
if ((mo->flags & MF_MISSILE) && !(mo->flags & MF_NOCLIP))
|
||||||
{
|
{
|
||||||
mo->AddZ(mo->floorz);
|
mo->SetZ(mo->floorz);
|
||||||
if (mo->BounceFlags & BOUNCE_Floors)
|
if (mo->BounceFlags & BOUNCE_Floors)
|
||||||
{
|
{
|
||||||
mo->FloorBounceMissile (mo->floorsector->floorplane);
|
mo->FloorBounceMissile (mo->floorsector->floorplane);
|
||||||
|
@ -3234,7 +3235,7 @@ void AActor::Tick ()
|
||||||
|
|
||||||
UnlinkFromWorld ();
|
UnlinkFromWorld ();
|
||||||
flags |= MF_NOBLOCKMAP;
|
flags |= MF_NOBLOCKMAP;
|
||||||
SetXYZ(Vec3Offset(velx, vely, vely));
|
SetXYZ(Vec3Offset(velx, vely, velz));
|
||||||
SetMovement(velx, vely, velz);
|
SetMovement(velx, vely, velz);
|
||||||
LinkToWorld ();
|
LinkToWorld ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -466,7 +466,7 @@ void P_PlayerInSpecialSector (player_t *player, sector_t * sector)
|
||||||
}
|
}
|
||||||
else if (level.time % sector->damageinterval == 0)
|
else if (level.time % sector->damageinterval == 0)
|
||||||
{
|
{
|
||||||
P_DamageMobj(player->mo, NULL, NULL, sector->damageamount, sector->damagetype);
|
if (!(player->cheats & (CF_GODMODE|CF_GODMODE2))) P_DamageMobj(player->mo, NULL, NULL, sector->damageamount, sector->damagetype);
|
||||||
if ((sector->Flags & SECF_ENDLEVEL) && player->health <= 10 && (!deathmatch || !(dmflags & DF_NO_EXIT)))
|
if ((sector->Flags & SECF_ENDLEVEL) && player->health <= 10 && (!deathmatch || !(dmflags & DF_NO_EXIT)))
|
||||||
{
|
{
|
||||||
G_ExitLevel(0, false);
|
G_ExitLevel(0, false);
|
||||||
|
|
|
@ -953,7 +953,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomMissile)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
self->SetXYZ(self->Vec3Offset(x, y, self->Z()));
|
self->SetXYZ(self->Vec3Offset(x, y, 0));
|
||||||
missile = P_SpawnMissileAngleZSpeed(self, self->Z() + self->GetBobOffset() + spawnheight, ti, self->angle, 0, GetDefaultByType(ti)->Speed, self, false);
|
missile = P_SpawnMissileAngleZSpeed(self, self->Z() + self->GetBobOffset() + spawnheight, ti, self->angle, 0, GetDefaultByType(ti)->Speed, self, false);
|
||||||
self->SetXYZ(pos);
|
self->SetXYZ(pos);
|
||||||
|
|
||||||
|
@ -2644,24 +2644,25 @@ enum SPFflag
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SpawnParticle)
|
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SpawnParticle)
|
||||||
{
|
{
|
||||||
|
//(color color1, int flags = 0, int lifetime = 35, int size = 1, float angle = 0, float xoff = 0, float yoff = 0, float zoff = 0, float velx = 0, float vely = 0, float velz = 0, float accelx = 0, float accely = 0, float accelz = 0, float startalphaf = 1, float fadestepf = -1);
|
||||||
ACTION_PARAM_START(15);
|
ACTION_PARAM_START(15);
|
||||||
ACTION_PARAM_FIXED(xoff, 0);
|
ACTION_PARAM_COLOR(color, 0);
|
||||||
ACTION_PARAM_FIXED(yoff, 1);
|
ACTION_PARAM_INT(flags, 1);
|
||||||
ACTION_PARAM_FIXED(zoff, 2);
|
ACTION_PARAM_INT(lifetime, 2);
|
||||||
ACTION_PARAM_FIXED(xvel, 3);
|
ACTION_PARAM_INT(size, 3);
|
||||||
ACTION_PARAM_FIXED(yvel, 4);
|
ACTION_PARAM_ANGLE(angle, 4);
|
||||||
ACTION_PARAM_FIXED(zvel, 5);
|
ACTION_PARAM_FIXED(xoff, 5);
|
||||||
ACTION_PARAM_COLOR(color, 6);
|
ACTION_PARAM_FIXED(yoff, 6);
|
||||||
ACTION_PARAM_INT(lifetime, 7);
|
ACTION_PARAM_FIXED(zoff, 7);
|
||||||
ACTION_PARAM_INT(flags, 8);
|
ACTION_PARAM_FIXED(xvel, 8);
|
||||||
ACTION_PARAM_FIXED(startalphaf, 9);
|
ACTION_PARAM_FIXED(yvel, 9);
|
||||||
ACTION_PARAM_INT(size, 10);
|
ACTION_PARAM_FIXED(zvel, 10);
|
||||||
ACTION_PARAM_FIXED(fadestepf, 11);
|
ACTION_PARAM_FIXED(accelx, 11);
|
||||||
ACTION_PARAM_FIXED(accelx, 12);
|
ACTION_PARAM_FIXED(accely, 12);
|
||||||
ACTION_PARAM_FIXED(accely, 13);
|
ACTION_PARAM_FIXED(accelz, 13);
|
||||||
ACTION_PARAM_FIXED(accelz, 14);
|
ACTION_PARAM_FIXED(startalphaf, 14);
|
||||||
ACTION_PARAM_ANGLE(angle, 15);
|
ACTION_PARAM_FIXED(fadestepf, 15);
|
||||||
|
|
||||||
BYTE startalpha = (BYTE)Scale(clamp(startalphaf, 0, FRACUNIT), 255, FRACUNIT);
|
BYTE startalpha = (BYTE)Scale(clamp(startalphaf, 0, FRACUNIT), 255, FRACUNIT);
|
||||||
int fadestep = fadestepf < 0? -1 : Scale(clamp(fadestepf, 0, FRACUNIT), 255, FRACUNIT);
|
int fadestep = fadestepf < 0? -1 : Scale(clamp(fadestepf, 0, FRACUNIT), 255, FRACUNIT);
|
||||||
lifetime = clamp<int>(lifetime, 0, 0xFF); // Clamp to byte
|
lifetime = clamp<int>(lifetime, 0, 0xFF); // Clamp to byte
|
||||||
|
|
|
@ -234,7 +234,7 @@ ACTOR Actor native //: Thinker
|
||||||
action native A_SetScale(float scalex, float scaley = 0, int ptr = AAPTR_DEFAULT);
|
action native A_SetScale(float scalex, float scaley = 0, int ptr = AAPTR_DEFAULT);
|
||||||
action native A_SetMass(int mass);
|
action native A_SetMass(int mass);
|
||||||
action native A_SpawnDebris(class<Actor> spawntype, bool transfer_translation = false, float mult_h = 1, float mult_v = 1);
|
action native A_SpawnDebris(class<Actor> spawntype, bool transfer_translation = false, float mult_h = 1, float mult_v = 1);
|
||||||
action native A_SpawnParticle(float xoff, float yoff, float zoff, float velx, float vely, float velz, color color1, int lifetime, int flags = 0, float startalpha = 1, int size = 1, float fadestep = -1, float accelx = 0.0, float accely = 0.0, float accelz = 0.0, float angle = 0);
|
action native A_SpawnParticle(color color1, int flags = 0, int lifetime = 35, int size = 1, float angle = 0, float xoff = 0, float yoff = 0, float zoff = 0, float velx = 0, float vely = 0, float velz = 0, float accelx = 0, float accely = 0, float accelz = 0, float startalphaf = 1, float fadestepf = -1);
|
||||||
action native A_CheckSight(state label);
|
action native A_CheckSight(state label);
|
||||||
action native A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false);
|
action native A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false);
|
||||||
action native A_DropInventory(class<Inventory> itemtype);
|
action native A_DropInventory(class<Inventory> itemtype);
|
||||||
|
|
Loading…
Reference in a new issue