Files
source/Tactical/Soldier Find.h
T
Asdow f58cf588a6 Mark TacticalStatusType::sSlideReason as _UNUSED
Removed from function call parameters at the same time.
It was supplied to SlideTo, SlideToLocation and SoldierLocationRelativeToScreen but was never used.
2024-11-17 14:20:37 +02:00

57 lines
2.2 KiB
C++

#ifndef __SOLDIER_FIND_H
#define __SOLDIER_FIND_H
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
class SOLDIERTYPE;
#define FIND_SOLDIER_FULL 0x000000002
#define FIND_SOLDIER_GRIDNO 0x000000004
#define FIND_SOLDIER_SAMELEVEL 0x000000008
#define FIND_SOLDIER_SELECTIVE 0x000000020
#define FIND_SOLDIER_BEGINSTACK 0x000000040
// RETURN FLAGS FOR FINDSOLDIER
#define SELECTED_MERC 0x000000002
#define OWNED_MERC 0x000000004
#define ENEMY_MERC 0x000000008
#define UNCONSCIOUS_MERC 0x000000020
#define DEAD_MERC 0x000000040
#define VISIBLE_MERC 0x000000080
#define ONDUTY_MERC 0x000000100
#define NOINTERRUPT_MERC 0x000000200
#define NEUTRAL_MERC 0x000000400
#define FINDSOLDIERSAMELEVEL( l ) ( ( ( FIND_SOLDIER_FULL | FIND_SOLDIER_SAMELEVEL ) | ( l << 16 ) ) )
#define FINDSOLDIERSELECTIVESAMELEVEL( l ) ( ( ( FIND_SOLDIER_SELECTIVE | FIND_SOLDIER_SAMELEVEL ) | ( l << 16 ) ) )
BOOLEAN FindSoldierFromMouse( SoldierID *pusSoldierIndex, UINT32 *pMercFlags );
BOOLEAN SelectiveFindSoldierFromMouse( SoldierID *pusSoldierIndex, UINT32 *pMercFlags );
BOOLEAN FindSoldier( INT32 sGridNo, SoldierID *pusSoldierIndex, UINT32 *pMercFlags , UINT32 uiFlags );
SOLDIERTYPE * SimpleFindSoldier( INT32 sGridNo, INT8 bLevel );
BOOLEAN CycleSoldierFindStack( INT32 usMapPos );
BOOLEAN GridNoOnScreen( INT32 sGridNo );
BOOLEAN SoldierOnScreen( SoldierID usID );
BOOLEAN SoldierLocationRelativeToScreen( INT32 sGridNo, INT8 *pbDirection, UINT32 *puiScrollFlags );
void GetSoldierScreenPos( SOLDIERTYPE *pSoldier, INT16 *psScreenX, INT16 *psScreenY );
void GetSoldierAnimDims( SOLDIERTYPE *pSoldier, INT16 *psHeight, INT16 *psWidth );
void GetSoldierAnimOffsets( SOLDIERTYPE *pSoldier, INT16 *sOffsetX, INT16 *sOffsetY );
void GetSoldierTRUEScreenPos( SOLDIERTYPE *pSoldier, INT16 *psScreenX, INT16 *psScreenY );
BOOLEAN IsPointInSoldierBoundingBox( SOLDIERTYPE *pSoldier, INT16 sX, INT16 sY );
BOOLEAN FindRelativeSoldierPosition( SOLDIERTYPE *pSoldier, UINT16 *usFlags, INT16 sX, INT16 sY );
SoldierID QuickFindSoldier( INT32 sGridNo );
void GetGridNoScreenPos( INT32 sGridNo, UINT8 ubLevel, INT16 *psScreenX, INT16 *psScreenY );
#endif