Get linetarget (aim target) from any actor (not just player): AAPTR_LINETARGET

This commit is contained in:
fdari 2014-09-28 15:06:52 +02:00
parent c962c56079
commit c4f0f95ec8
3 changed files with 25 additions and 16 deletions

View file

@ -56,6 +56,13 @@ AActor *COPY_AAPTR(AActor *origin, int selector)
case AAPTR_TRACER: return origin->tracer; case AAPTR_TRACER: return origin->tracer;
case AAPTR_FRIENDPLAYER: case AAPTR_FRIENDPLAYER:
return origin->FriendPlayer ? AAPTR_RESOLVE_PLAYERNUM(origin->FriendPlayer - 1) : NULL; return origin->FriendPlayer ? AAPTR_RESOLVE_PLAYERNUM(origin->FriendPlayer - 1) : NULL;
case AAPTR_GET_LINETARGET:
{
AActor *gettarget = NULL;
P_BulletSlope(origin, &gettarget);
return gettarget;
}
} }
} }

View file

@ -36,12 +36,13 @@ enum AAPTR
AAPTR_PLAYER8 = 0x2000, AAPTR_PLAYER8 = 0x2000,
AAPTR_FRIENDPLAYER = 0x4000, AAPTR_FRIENDPLAYER = 0x4000,
AAPTR_GET_LINETARGET = 0x8000,
AAPTR_PLAYER_SELECTORS = AAPTR_PLAYER_SELECTORS =
AAPTR_PLAYER_GETTARGET|AAPTR_PLAYER_GETCONVERSATION, AAPTR_PLAYER_GETTARGET|AAPTR_PLAYER_GETCONVERSATION,
AAPTR_GENERAL_SELECTORS = AAPTR_GENERAL_SELECTORS =
AAPTR_TARGET|AAPTR_MASTER|AAPTR_TRACER|AAPTR_FRIENDPLAYER, AAPTR_TARGET|AAPTR_MASTER|AAPTR_TRACER|AAPTR_FRIENDPLAYER|AAPTR_GET_LINETARGET,
AAPTR_STATIC_SELECTORS = AAPTR_STATIC_SELECTORS =
AAPTR_PLAYER1|AAPTR_PLAYER2|AAPTR_PLAYER3|AAPTR_PLAYER4| AAPTR_PLAYER1|AAPTR_PLAYER2|AAPTR_PLAYER3|AAPTR_PLAYER4|

View file

@ -279,24 +279,25 @@ Const Int BLOCKF_USE = 128;
// Pointer constants, bitfield-enabled // Pointer constants, bitfield-enabled
Const Int AAPTR_DEFAULT = 0; Const Int AAPTR_DEFAULT = 0;
Const Int AAPTR_NULL = 1; Const Int AAPTR_NULL = 0x1;
Const Int AAPTR_TARGET = 2; Const Int AAPTR_TARGET = 0x2;
Const Int AAPTR_MASTER = 4; Const Int AAPTR_MASTER = 0x4;
Const Int AAPTR_TRACER = 8; Const Int AAPTR_TRACER = 0x8;
Const Int AAPTR_PLAYER_GETTARGET = 16; Const Int AAPTR_PLAYER_GETTARGET = 0x10;
Const Int AAPTR_PLAYER_GETCONVERSATION = 32; Const Int AAPTR_PLAYER_GETCONVERSATION = 0x20;
Const Int AAPTR_PLAYER1 = 64; Const Int AAPTR_PLAYER1 = 0x40;
Const Int AAPTR_PLAYER2 = 128; Const Int AAPTR_PLAYER2 = 0x80;
Const Int AAPTR_PLAYER3 = 256; Const Int AAPTR_PLAYER3 = 0x100;
Const Int AAPTR_PLAYER4 = 512; Const Int AAPTR_PLAYER4 = 0x200;
Const Int AAPTR_PLAYER5 = 1024; Const Int AAPTR_PLAYER5 = 0x400;
Const Int AAPTR_PLAYER6 = 2048; Const Int AAPTR_PLAYER6 = 0x800;
Const Int AAPTR_PLAYER7 = 4096; Const Int AAPTR_PLAYER7 = 0x1000;
Const Int AAPTR_PLAYER8 = 8192; Const Int AAPTR_PLAYER8 = 0x2000;
Const Int AAPTR_FRIENDPLAYER = 16384; Const Int AAPTR_FRIENDPLAYER = 0x4000;
Const Int AAPTR_LINETARGET = 0x8000;
// Pointer operation flags // Pointer operation flags