mirror of
https://github.com/jmarshall23/Hellfire.git
synced 2026-08-12 07:50:53 +02:00
136 lines
4.0 KiB
C++
136 lines
4.0 KiB
C++
/*-----------------------------------------------------------------------**
|
|
** Diablo
|
|
**
|
|
** Constants and Variables
|
|
**
|
|
** (C)1996 Condor, Inc. All rights reserved.
|
|
**
|
|
**-----------------------------------------------------------------------**
|
|
** $Header: /Diablo/MISDAT.H 2 1/23/97 12:21p Jmorin $
|
|
**-----------------------------------------------------------------------**
|
|
**
|
|
** File Routines
|
|
**-----------------------------------------------------------------------*/
|
|
|
|
/*-----------------------------------------------------------------------**
|
|
** Defines
|
|
**-----------------------------------------------------------------------*/
|
|
typedef void (*MIADDPRC)(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
typedef void (*MIPROC)(int i);
|
|
|
|
#define MIS_WEAP 0
|
|
#define MIS_SPL 1
|
|
#define MIS_NONE 2
|
|
|
|
// Missile Magic Type
|
|
#define MIMT_NONE 0
|
|
#define MIMT_FIRE 1
|
|
#define MIMT_LGHT 2
|
|
#define MIMT_MISC 3
|
|
#define MIMT_ACID 4
|
|
|
|
// Missile File Flags
|
|
#define MFF_MONSTONLY 1 // Only loaded for particular monsters
|
|
#define MFF_STATIC 2 // Do not animate -- one frame per direction
|
|
#define MFF_MULTI 4 // All directions of anim are in one file
|
|
|
|
#define MF_NONE 255
|
|
#define MF_STARTLOAD 0
|
|
#define MF_ARROW 0
|
|
#define MF_FIREBOLT 1
|
|
#define MF_GUARDIAN 2
|
|
#define MF_LIGHTNING 3
|
|
#define MF_FIRE 4
|
|
#define MF_EXP1 5
|
|
#define MF_TOWN 6
|
|
#define MF_FLASH1 7
|
|
#define MF_FLASH2 8
|
|
#define MF_MANASHLD 9
|
|
#define MF_BLOOD 10
|
|
#define MF_BONE 11
|
|
#define MF_METAL 12
|
|
#define MF_FARROW 13
|
|
#define MF_DOOM 14
|
|
#define MF_GOLEM 15
|
|
#define MF_SPURT 16
|
|
#define MF_BOOM 17
|
|
#define MF_STONE 18
|
|
#define MF_BIGEXP 19
|
|
#define MF_FLAMES 20
|
|
#define MF_THINLIGHT 21
|
|
#define MF_FLARE 22
|
|
#define MF_FLAREXP 23
|
|
#define MF_MAGBALL 24
|
|
#define MF_KRULL 25
|
|
#define MF_CBOLT 26
|
|
#define MF_HBOLT 27
|
|
#define MF_HEXPL 28
|
|
#define MF_LARROW 29
|
|
#define MF_FAEXP 30
|
|
#define MF_ACID 31
|
|
#define MF_ACIDSPLAT 32
|
|
#define MF_ACIDPUD 33
|
|
#define MF_ETHER 34
|
|
#define MF_FIRERUN 35
|
|
#define MF_RESURRECT 36
|
|
#define MF_BONESPIRIT 37
|
|
#define MF_RPORTAL 38
|
|
#define MF_FIREPLAR 39
|
|
#define MF_BFLARE 40
|
|
#define MF_BFLAREXP 41
|
|
#define MF_CFLARE 42
|
|
#define MF_CFLAREXP 43
|
|
#define MF_DFLARE 44
|
|
#define MF_DFLAREXP 45
|
|
#define MF_HORKSPAWN 46
|
|
#define MF_REFLECTSHLD 47
|
|
#define MF_ORANGEFLARE 48
|
|
#define MF_BLUEFLARE 49
|
|
#define MF_REDFLARE 50
|
|
#define MF_YELLOWFLARE 51
|
|
#define MF_RUNEHOTSPOT 52
|
|
#define MF_YELLOWEXPLOSION 53
|
|
#define MF_BLUEEXPLOSION 54
|
|
#define MF_REDEXPLOSION 55
|
|
#define MF_BLUE2FLARE 56
|
|
#define MF_ORANGEEXPLOSION 57
|
|
#define MF_BLUE2EXPLOSION 58
|
|
|
|
|
|
/*-----------------------------------------------------------------------**
|
|
** Structures
|
|
**-----------------------------------------------------------------------*/
|
|
typedef struct {
|
|
BYTE mName; // #defines name of missile for ease of use
|
|
MIADDPRC mAddProc; // procedure for creating one of these missiles
|
|
MIPROC mProc; // procedure to run each frame
|
|
BOOL mDraw; // missile draw or not flag
|
|
BYTE mType; // missile type (weapon, spell, none)
|
|
BYTE mResist; // missile resistance type (fire, light, misc, none)
|
|
BYTE mFileNum; // file# of missile gfx table
|
|
int mlSFX; // missile launch sound
|
|
int miSFX; // missile impact sound
|
|
} MissileData;
|
|
|
|
typedef struct {
|
|
BYTE mAnimName; // #defines name of missile file for ease of use
|
|
BYTE mAnimFAmt; // amount of files
|
|
char *mAnimPath; // path for cels
|
|
BOOL mFlags; // e.g. MFF_MONSTOLY
|
|
BYTE *mAnimData[16]; // data pointer to anim tables
|
|
BYTE mAnimDelay[16]; // anim delay amount
|
|
BYTE mAnimLen[16]; // number of anim frames
|
|
long mAnimWidth[16]; // anim width
|
|
long mAnimWidth2[16]; // anim width2
|
|
} MisFileData;
|
|
|
|
/*-----------------------------------------------------------------------**
|
|
** Externs
|
|
**-----------------------------------------------------------------------*/
|
|
extern MissileData missiledata[];
|
|
extern MisFileData misfiledata[];
|
|
|
|
/*-----------------------------------------------------------------------**
|
|
** Prototypes
|
|
**-----------------------------------------------------------------------*/
|