* Updated to ZDoom r2987:

- Added Demolisher's APROP_Waterlevel patch.
- Added TheShooter7's patch to use the PUFFGETSOWNER flag for blood, too.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1073 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
gez 2010-11-07 08:08:09 +00:00
parent 636f4a5de6
commit b95ad1be3b
4 changed files with 10 additions and 3 deletions

View file

@ -139,5 +139,6 @@ inline SDWORD ModDiv (SDWORD num, SDWORD den, SDWORD *dmval)
#define FLOAT2FIXED(f) xs_Fix<16>::ToFix(f) #define FLOAT2FIXED(f) xs_Fix<16>::ToFix(f)
#define FIXED2FLOAT(f) ((f) / float(65536)) #define FIXED2FLOAT(f) ((f) / float(65536))
#define FIXED2DBL(f) ((f) / double(65536))
#endif #endif

View file

@ -2536,7 +2536,8 @@ enum
APROP_DamageFactor = 24, APROP_DamageFactor = 24,
APROP_MasterTID = 25, APROP_MasterTID = 25,
APROP_TargetTID = 26, APROP_TargetTID = 26,
APROP_TracerTID = 27 APROP_TracerTID = 27,
APROP_WaterLevel = 28
}; };
// These are needed for ACS's APROP_RenderStyle // These are needed for ACS's APROP_RenderStyle
@ -2778,6 +2779,7 @@ int DLevelScript::GetActorProperty (int tid, int property)
case APROP_MasterTID: return DoGetMasterTID (actor); case APROP_MasterTID: return DoGetMasterTID (actor);
case APROP_TargetTID: return (actor->target != NULL)? actor->target->tid : 0; case APROP_TargetTID: return (actor->target != NULL)? actor->target->tid : 0;
case APROP_TracerTID: return (actor->tracer != NULL)? actor->tracer->tid : 0; case APROP_TracerTID: return (actor->tracer != NULL)? actor->tracer->tid : 0;
case APROP_WaterLevel: return actor->waterlevel;
default: return 0; default: return 0;
} }
} }

View file

@ -4526,6 +4526,8 @@ void P_SpawnBlood (fixed_t x, fixed_t y, fixed_t z, angle_t dir, int damage, AAc
th = Spawn (bloodcls, x, y, z, NO_REPLACE); // GetBloodType already performed the replacement th = Spawn (bloodcls, x, y, z, NO_REPLACE); // GetBloodType already performed the replacement
th->velz = FRACUNIT*2; th->velz = FRACUNIT*2;
th->angle = dir; th->angle = dir;
// [NG] Applying PUFFGETSOWNER to the blood will make it target the owner
if (th->flags5 & MF5_PUFFGETSOWNER) th->target = originator;
if (gameinfo.gametype & GAME_DoomChex) if (gameinfo.gametype & GAME_DoomChex)
{ {
th->tics -= pr_spawnblood() & 3; th->tics -= pr_spawnblood() & 3;
@ -4667,6 +4669,8 @@ void P_RipperBlood (AActor *mo, AActor *bleeder)
{ {
AActor *th; AActor *th;
th = Spawn (bloodcls, x, y, z, NO_REPLACE); // GetBloodType already performed the replacement th = Spawn (bloodcls, x, y, z, NO_REPLACE); // GetBloodType already performed the replacement
// [NG] Applying PUFFGETSOWNER to the blood will make it target the owner
if (th->flags5 & MF5_PUFFGETSOWNER) th->target = bleeder;
if (gameinfo.gametype == GAME_Heretic) if (gameinfo.gametype == GAME_Heretic)
th->flags |= MF_NOGRAVITY; th->flags |= MF_NOGRAVITY;
th->velx = mo->velx >> 1; th->velx = mo->velx >> 1;

View file

@ -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 "2981" #define ZD_SVN_REVISION_STRING "2987"
#define ZD_SVN_REVISION_NUMBER 2981 #define ZD_SVN_REVISION_NUMBER 2987