Files
source/Tactical/Bullets.h
T
lalien f4bf5fd1f7 *********************************************************
*	2006/05/04					*
*	Madd Mugsy					*
*	Developed in VS 2003				*
*********************************************************

- Added tile lighting animation effects to tracer bullets, forced muzzle flash on tracers so enemies can see you, regardless of flash suppression
- Re-enabled laptop animation, since Lesh fixed it (I forgot to mention that in my earlier changes :p)




git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@54 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2006-05-04 13:29:18 +00:00

91 lines
2.2 KiB
C

#ifndef __BULLETS_H
#define __BULLETS_H
#include "types.h"
#include "Soldier Control.h"
#include "los.h"
#include "tile animation.h"
#define BULLET_FLAG_CREATURE_SPIT 0x0001
#define BULLET_FLAG_KNIFE 0x0002
#define BULLET_FLAG_MISSILE 0x0004
#define BULLET_FLAG_SMALL_MISSILE 0x0008
#define BULLET_STOPPED 0x0010
#define BULLET_FLAG_TANK_CANNON 0x0020
#define BULLET_FLAG_BUCKSHOT 0x0040
#define BULLET_FLAG_FLAME 0x0080
#define BULLET_FLAG_TRACER 0x0100
typedef struct
{
INT32 iBullet;
UINT8 ubFirerID;
UINT8 ubTargetID;
INT8 bStartCubesAboveLevelZ;
INT8 bEndCubesAboveLevelZ;
UINT32 sGridNo;
INT16 sUnused;
UINT16 usLastStructureHit;
FIXEDPT qCurrX;
FIXEDPT qCurrY;
FIXEDPT qCurrZ;
FIXEDPT qIncrX;
FIXEDPT qIncrY;
FIXEDPT qIncrZ;
DOUBLE ddHorizAngle;
INT32 iCurrTileX;
INT32 iCurrTileY;
INT8 bLOSIndexX;
INT8 bLOSIndexY;
BOOLEAN fCheckForRoof;
INT32 iCurrCubesZ;
INT32 iLoop;
BOOLEAN fAllocated;
BOOLEAN fToDelete;
BOOLEAN fLocated;
BOOLEAN fReal;
BOOLEAN fAimed;
UINT32 uiLastUpdate;
UINT8 ubTilesPerUpdate;
UINT16 usClockTicksPerUpdate;
SOLDIERTYPE *pFirer;
UINT32 sTargetGridNo;
INT16 sHitBy;
INT32 iImpact;
INT32 iImpactReduction;
INT32 iRange;
INT32 iDistanceLimit;
UINT16 usFlags;
ANITILE *pAniTile;
ANITILE *pShadowAniTile;
UINT8 ubItemStatus;
UINT16 fromItem;
INT32 flash;
} BULLET;
extern UINT32 guiNumBullets;
INT32 CreateBullet( UINT8 ubFirer, BOOLEAN fFake, UINT16 usFlags,UINT16 fromItem );
void RemoveBullet( INT32 iBullet );
void StopBullet( INT32 iBullet );
void UpdateBullets( );
BULLET *GetBulletPtr( INT32 iBullet );
void DeleteAllBullets( );
void LocateBullet( INT32 iBulletIndex );
void HandleBulletSpecialFlags( INT32 iBulletIndex );
void AddMissileTrail( BULLET *pBullet, FIXEDPT qCurrX, FIXEDPT qCurrY, FIXEDPT qCurrZ );
//Save the bullet table to the saved game file
BOOLEAN SaveBulletStructureToSaveGameFile( HWFILE hFile );
//Load the bullet table from the saved game file
BOOLEAN LoadBulletStructureFromSavedGameFile( HWFILE hFile );
#endif