Update to ZDoom r1685:

- Added Gez's submissions for A_M_Saw customization, area damage and 
  pitch for A_FireCustomMissile.
- Attaching and detaching joysticks once again updates the joystick menu.
- Added joystick axis -> button mapping.
- Added Gez's actor replacement per skill submission.
- Joystick axes can be configured in the menu again. TODO: Config saving
  and loading, XInput, allow axes to be used as buttons (for the Xbox
  controller's trigger buttons), allow the joystick to move through the
  menus, and my PS2 adapter which has no Vista x64 drivers.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@375 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
Christoph Oelckers 2009-06-27 21:02:41 +00:00
parent 876c533479
commit f62aff3100
23 changed files with 883 additions and 313 deletions

View file

@ -553,11 +553,12 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfArmorType)
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Explode)
{
ACTION_PARAM_START(4);
ACTION_PARAM_START(5);
ACTION_PARAM_INT(damage, 0);
ACTION_PARAM_INT(distance, 1);
ACTION_PARAM_BOOL(hurtSource, 2);
ACTION_PARAM_BOOL(alert, 3);
ACTION_PARAM_INT(fulldmgdistance, 4);
if (damage < 0) // get parameters from metadata
{
@ -571,7 +572,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Explode)
if (distance <= 0) distance = damage;
}
P_RadiusAttack (self, self->target, damage, distance, self->DamageType, hurtSource);
P_RadiusAttack (self, self->target, damage, distance, self->DamageType, hurtSource, true, fulldmgdistance);
if (self->z <= self->floorz + (distance<<FRACBITS))
{
P_HitFloor (self);
@ -978,13 +979,14 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_FireBullets)
//==========================================================================
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_FireCustomMissile)
{
ACTION_PARAM_START(6);
ACTION_PARAM_START(7);
ACTION_PARAM_CLASS(ti, 0);
ACTION_PARAM_ANGLE(Angle, 1);
ACTION_PARAM_BOOL(UseAmmo, 2);
ACTION_PARAM_INT(SpawnOfs_XY, 3);
ACTION_PARAM_FIXED(SpawnHeight, 4);
ACTION_PARAM_BOOL(AimAtAngle, 5);
ACTION_PARAM_ANGLE(pitch, 6);
if (!self->player) return;
@ -1007,7 +1009,11 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_FireCustomMissile)
if (AimAtAngle) shootangle+=Angle;
// Temporarily adjusts the pitch
fixed_t SavedPlayerPitch = self->pitch;
self->pitch -= pitch;
AActor * misl=P_SpawnPlayerMissile (self, x, y, z, ti, shootangle, &linetarget);
self->pitch = SavedPlayerPitch;
// automatic handling of seeker missiles
if (misl)
{