mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-05-30 08:51:02 +00:00
* Updated to ZDoom 4181:
- Fixed: P_SpawnPlayerMissile() should not 0 the pitch for weapons that don't autoaim. This allows A_FireOldBFG to work properly when freelook is disabled. - Fixed: The sc_man scanner must use an unsigned character type, or it won't properly recognize any unquoted characters with the eighth bit set. - Added A_SetDamageType. - Added Xaser's SXF_USEBLOODCOLOR for A_SpawnItemEx submission. git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1537 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
parent
16f120e3aa
commit
aa3d0b8be7
7 changed files with 43 additions and 14 deletions
|
@ -5628,7 +5628,9 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
||||||
if (source && source->player && source->player->ReadyWeapon && (source->player->ReadyWeapon->WeaponFlags & WIF_NOAUTOAIM))
|
if (source && source->player && source->player->ReadyWeapon && (source->player->ReadyWeapon->WeaponFlags & WIF_NOAUTOAIM))
|
||||||
{
|
{
|
||||||
// Keep exactly the same angle and pitch as the player's own aim
|
// Keep exactly the same angle and pitch as the player's own aim
|
||||||
pitch = source->pitch; linetarget = NULL;
|
an = angle;
|
||||||
|
pitch = source->pitch;
|
||||||
|
linetarget = NULL;
|
||||||
}
|
}
|
||||||
else // see which target is to be aimed at
|
else // see which target is to be aimed at
|
||||||
{
|
{
|
||||||
|
@ -5646,14 +5648,14 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while (linetarget == NULL && --i >= 0);
|
} while (linetarget == NULL && --i >= 0);
|
||||||
}
|
|
||||||
|
|
||||||
if (linetarget == NULL)
|
if (linetarget == NULL)
|
||||||
{
|
|
||||||
an = angle;
|
|
||||||
if (nofreeaim || !level.IsFreelookAllowed())
|
|
||||||
{
|
{
|
||||||
pitch = 0;
|
an = angle;
|
||||||
|
if (nofreeaim || !level.IsFreelookAllowed())
|
||||||
|
{
|
||||||
|
pitch = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pLineTarget) *pLineTarget = linetarget;
|
if (pLineTarget) *pLineTarget = linetarget;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* Generated by re2c 0.12.3 */
|
/* Generated by re2c 0.12.3 */
|
||||||
#line 1 "src/sc_man_scanner.re"
|
#line 1 "src/sc_man_scanner.re"
|
||||||
#define YYCTYPE char
|
#define YYCTYPE unsigned char
|
||||||
#define YYCURSOR cursor
|
#define YYCURSOR cursor
|
||||||
#define YYLIMIT limit
|
#define YYLIMIT limit
|
||||||
#define YYMARKER marker
|
#define YYMARKER marker
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#define YYCTYPE char
|
#define YYCTYPE unsigned char
|
||||||
#define YYCURSOR cursor
|
#define YYCURSOR cursor
|
||||||
#define YYLIMIT limit
|
#define YYLIMIT limit
|
||||||
#define YYMARKER marker
|
#define YYMARKER marker
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
// This file was automatically generated by the
|
// This file was automatically generated by the
|
||||||
// updaterevision tool. Do not edit by hand.
|
// updaterevision tool. Do not edit by hand.
|
||||||
|
|
||||||
#define ZD_SVN_REVISION_STRING "4177"
|
#define ZD_SVN_REVISION_STRING "4181"
|
||||||
#define ZD_SVN_REVISION_NUMBER 4177
|
#define ZD_SVN_REVISION_NUMBER 4181
|
||||||
|
|
|
@ -68,6 +68,7 @@
|
||||||
#include "g_shared/a_specialspot.h"
|
#include "g_shared/a_specialspot.h"
|
||||||
#include "actorptrselect.h"
|
#include "actorptrselect.h"
|
||||||
#include "m_bbox.h"
|
#include "m_bbox.h"
|
||||||
|
#include "r_data/r_translate.h"
|
||||||
|
|
||||||
|
|
||||||
static FRandom pr_camissile ("CustomActorfire");
|
static FRandom pr_camissile ("CustomActorfire");
|
||||||
|
@ -1729,6 +1730,7 @@ enum SIX_Flags
|
||||||
SIXF_TRANSFERAMBUSHFLAG=256,
|
SIXF_TRANSFERAMBUSHFLAG=256,
|
||||||
SIXF_TRANSFERPITCH=512,
|
SIXF_TRANSFERPITCH=512,
|
||||||
SIXF_TRANSFERPOINTERS=1024,
|
SIXF_TRANSFERPOINTERS=1024,
|
||||||
|
SIXF_USEBLOODCOLOR=2048,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1738,9 +1740,18 @@ static bool InitSpawnedItem(AActor *self, AActor *mo, int flags)
|
||||||
{
|
{
|
||||||
AActor * originator = self;
|
AActor * originator = self;
|
||||||
|
|
||||||
if ((flags & SIXF_TRANSFERTRANSLATION) && !(mo->flags2 & MF2_DONTTRANSLATE))
|
if (!(mo->flags2 & MF2_DONTTRANSLATE))
|
||||||
{
|
{
|
||||||
mo->Translation = self->Translation;
|
if (flags & SIXF_TRANSFERTRANSLATION)
|
||||||
|
{
|
||||||
|
mo->Translation = self->Translation;
|
||||||
|
}
|
||||||
|
else if (flags & SIXF_USEBLOODCOLOR)
|
||||||
|
{
|
||||||
|
// [XA] Use the spawning actor's BloodColor to translate the newly-spawned object.
|
||||||
|
PalEntry bloodcolor = self->GetBloodColor();
|
||||||
|
mo->Translation = TRANSLATION(TRANSLATION_Blood, bloodcolor.a);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (flags & SIXF_TRANSFERPOINTERS)
|
if (flags & SIXF_TRANSFERPOINTERS)
|
||||||
{
|
{
|
||||||
|
@ -4509,4 +4520,18 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetTics)
|
||||||
ACTION_PARAM_INT(tics_to_set, 0);
|
ACTION_PARAM_INT(tics_to_set, 0);
|
||||||
|
|
||||||
self->tics = tics_to_set;
|
self->tics = tics_to_set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
// A_SetDamageType
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetDamageType)
|
||||||
|
{
|
||||||
|
ACTION_PARAM_START(1);
|
||||||
|
ACTION_PARAM_NAME(damagetype, 0);
|
||||||
|
|
||||||
|
self->DamageType = damagetype;
|
||||||
|
}
|
||||||
|
|
|
@ -295,6 +295,7 @@ ACTOR Actor native //: Thinker
|
||||||
action native A_SetSpecial(int spec, int arg0 = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0);
|
action native A_SetSpecial(int spec, int arg0 = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0);
|
||||||
action native A_Quake(int intensity, int duration, int damrad, int tremrad, sound sfx = "world/quake");
|
action native A_Quake(int intensity, int duration, int damrad, int tremrad, sound sfx = "world/quake");
|
||||||
action native A_SetTics(int tics);
|
action native A_SetTics(int tics);
|
||||||
|
action native A_SetDamageType(name damagetype);
|
||||||
|
|
||||||
action native A_CheckSightOrRange(float distance, state label);
|
action native A_CheckSightOrRange(float distance, state label);
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ const int SXF_CLIENTSIDE=128; // only used by Skulltag
|
||||||
const int SXF_TRANSFERAMBUSHFLAG=256;
|
const int SXF_TRANSFERAMBUSHFLAG=256;
|
||||||
const int SXF_TRANSFERPITCH=512;
|
const int SXF_TRANSFERPITCH=512;
|
||||||
const int SXF_TRANSFERPOINTERS=1024;
|
const int SXF_TRANSFERPOINTERS=1024;
|
||||||
|
const int SXF_USEBLOODCOLOR=2048;
|
||||||
|
|
||||||
// Flags for A_Chase
|
// Flags for A_Chase
|
||||||
const int CHF_FASTCHASE = 1;
|
const int CHF_FASTCHASE = 1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue