91 lines
2.1 KiB
C
91 lines
2.1 KiB
C
#pragma once
|
|
|
|
#include "enemy.h"
|
|
|
|
typedef enum
|
|
{
|
|
A_NORM,
|
|
A_MOVEUP,
|
|
A_MOVEDOWN
|
|
}ANIM_DIR;
|
|
|
|
typedef enum
|
|
{
|
|
GROUND,
|
|
MID_AIR,
|
|
HIGH_AIR
|
|
}GFLAG;
|
|
|
|
typedef struct ANIMLIB_S
|
|
{
|
|
int item;
|
|
int numframes;
|
|
int groundflag;
|
|
int playerflag;
|
|
int transparent;
|
|
int adir;
|
|
int xoff;
|
|
int yoff;
|
|
}ANIMLIB;
|
|
|
|
typedef struct ANIMS_S
|
|
{
|
|
struct ANIMS_S *prev;
|
|
struct ANIMS_S *next;
|
|
int item;
|
|
int dx;
|
|
int dy;
|
|
int pdx; // PREV SIM DX (INTERP)
|
|
int pdy; // PREV SIM DY (INTERP)
|
|
int x;
|
|
int y;
|
|
int curframe;
|
|
ANIMLIB *lib;
|
|
int groundflag;
|
|
SPRITE_SHIP *en;
|
|
int edone;
|
|
}ANIMS;
|
|
|
|
#define A_LARGE_GROUND_EXPLO1 0
|
|
#define A_SMALL_GROUND_EXPLO 1
|
|
#define A_PERSON 2
|
|
#define A_PLATOON 3
|
|
|
|
#define A_LARGE_AIR_EXPLO 4
|
|
#define A_MED_AIR_EXPLO 5
|
|
#define A_SMALL_AIR_EXPLO 6
|
|
#define A_MED_AIR_EXPLO2 7
|
|
#define A_ENERGY_AIR_EXPLO 8
|
|
#define A_LASER_BLAST 9
|
|
|
|
#define A_SMALL_SMOKE 10
|
|
#define A_SMALL_SMOKE_DOWN 11
|
|
#define A_SMALL_SMOKE_UP 12
|
|
#define A_ENERGY_GRAB_HIT 13
|
|
#define A_BLUE_SPARK 14
|
|
#define A_ORANGE_SPARK 15
|
|
#define A_PLAYER_SHOOT 16
|
|
#define A_GROUND_FLARE 17
|
|
#define A_GROUND_SPARKLE 18
|
|
#define A_ENERGY_GRAB 19
|
|
#define A_SUPER_SHIELD 20
|
|
|
|
// Machine-gun ejecta: same GUNSTR streak art dropped into world space at
|
|
// the wingtips (ground layer, drifts with the map scroll) so casings stay
|
|
// behind the plane instead of flicking in place at the gun.
|
|
#define A_PLAYER_EJECTA 21
|
|
|
|
void ANIMS_Clear(void);
|
|
ANIMS *ANIMS_Remove(ANIMS *anim);
|
|
void ANIMS_Init(void);
|
|
void ANIMS_CachePics(void);
|
|
void ANIMS_FreePics(void);
|
|
void ANIMS_StartAnim(int handle, int x, int y);
|
|
void ANIMS_StartGAnim(int handle, int x, int y);
|
|
void ANIMS_StartEAnim(SPRITE_SHIP *en, int handle, int x, int y);
|
|
void ANIMS_StartAAnim(int handle, int x, int y);
|
|
void ANIMS_Think(void);
|
|
void ANIMS_DisplayGround(void);
|
|
void ANIMS_DisplaySky(void);
|
|
void ANIMS_DisplayHigh(void);
|