1 line
17 KiB
C
1 line
17 KiB
C
|
#include "wolfdef.h"
#include <string.h>
/* static object info*/
/* List of bad guy sprites */
static Word DKnightSprs[] = {
S_DKNIGHT_ATK1,
S_DKNIGHT_ATK2,
S_DKNIGHT_ATK3,
S_DKNIGHT_ATK4,
S_DKNIGHT_WLK1,
S_DKNIGHT_WLK2,
S_DKNIGHT_WLK3,
S_DKNIGHT_WLK4,
S_DKNIGHT_DTH1,
S_DKNIGHT_DTH2,
S_DKNIGHT_DTH3,S_G_KEY,0};
static Word DogSprs[] = {
S_DOG_ATK1,
S_DOG_ATK2,
S_DOG_ATK3,
S_DOG_WLK1,
S_DOG_WLK2,
S_DOG_WLK3,
S_DOG_WLK4,
S_DOG_DTH1,
S_DOG_DTH2,
S_DOG_DTH3,0};
static Word NaziSprs[] = {
S_GUARD_ATK1,
S_GUARD_ATK2,
S_GUARD_ATK3,
S_GUARD_WLK1,
S_GUARD_WLK2,
S_GUARD_WLK3,
S_GUARD_WLK4,
S_GUARD_PAIN,
S_GUARD_DTH1,
S_GUARD_DTH2,
S_GUARD_DTH3,S_AMMO,0};
static Word HansSprs[] = {
S_HANS_ATK1,
S_HANS_ATK2,
S_HANS_ATK3,
S_HANS_WLK1,
S_HANS_WLK2,
S_HANS_WLK3,
S_HANS_WLK4,
S_HANS_DTH1,
S_HANS_DTH2,
S_HANS_DTH3,S_G_KEY,0};
static Word HitlerSprs[] = {
S_HITLER_ATK1,
S_HITLER_ATK2,
S_HITLER_ATK3,
S_HITLER_WLK1,
S_HITLER_WLK2,
S_HITLER_WLK3,
S_HITLER_WLK4,
S_HITLER_DTH1,
S_HITLER_DTH2,
S_HITLER_DTH3,
S_MHITLER_ATK1,
S_MHITLER_ATK2,
S_MHITLER_ATK3,
S_MHITLER_DIE1,
S_MHITLER_DIE2,
S_MHITLER_DIE3,
S_MHITLER_DIE4,
S_MHITLER_WLK1,
S_MHITLER_WLK2,
S_MHITLER_WLK3,
S_MHITLER_WLK4,0};
static Word UberSprs[] = {
S_UBER_ATK1,
S_UBER_ATK2,
S_UBER_ATK3,
S_UBER_ATK4,
S_UBER_WLK1,
S_UBER_WLK2,
S_UBER_WLK3,
S_UBER_WLK4,
S_UBER_DTH1,
S_UBER_DTH2,
S_UBER_DTH3,S_G_KEY,0};
static Word MutantSprs[] = {
S_MUTANT_ATK1,
S_MUTANT_ATK2,
S_MUTANT_ATK3,
S_MUTANT_WLK1,
S_MUTANT_WLK2,
S_MUTANT_WLK3,
S_MUTANT_WLK4,
S_MUTANT_PAIN,
S_MUTANT_DTH1,
S_MUTANT_DTH2,
S_MUTANT_DTH3,S_AMMO,0};
static Word OfficerSprs[] = {
S_OFFICER_ATK1,
S_OFFICER_ATK2,
S_OFFICER_ATK3,
S_OFFICER_WLK1,
S_OFFICER_WLK2,
S_OFFICER_WLK3,
S_OFFICER_WLK4,
S_OFFICER_PAIN,
S_OFFICER_DTH1,
S_OFFICER_DTH2,
S_OFFICER_DTH3,S_AMMO,0};
static Word SchabbsSpr[] = {
S_SCHABBS_ATK1,
S_SCHABBS_ATK2,
S_SCHABBS_WLK1,
S_SCHABBS_WLK2,
S_SCHABBS_WLK3,
S_SCHABBS_WLK4,
S_SCHABBS_DTH1,
S_SCHABBS_DTH2,
S_SCHABBS_DTH3,S_G_KEY,0};
static Word SSSprs[] = {
S_SS_ATK1,
S_SS_ATK2,
S_SS_ATK3,
S_SS_WLK1,
S_SS_WLK2,
S_SS_WLK3,
S_SS_WLK4,
S_SS_PAIN,
S_SS_DTH1,
S_SS_DTH2,
S_SS_DTH3,S_MACHINEGUN,S_AMMO,0};
static Word TransSprs[] = {
S_TRANS_ATK1,
S_TRANS_ATK2,
S_TRANS_ATK3,
S_TRANS_WLK1,
S_TRANS_WLK2,
S_TRANS_WLK3,
S_TRANS_WLK4,
S_TRANS_DTH1,
S_TRANS_DTH2,
S_TRANS_DTH3,S_G_KEY,0};
static Byte EnemyHits[16];
static Word *EnemySprs[] = { /* This list MUST match class_t! */
NaziSprs,
OfficerSprs,
SSSprs,
DogSprs,
MutantSprs,
HansSprs,
SchabbsSpr,
TransSprs,
UberSprs,
DKnightSprs,
HitlerSprs,
HitlerSprs
};
static Byte WallHits[256];
Word staticflags[] = {
0, /*S_WATER_PUDDLE,*/
TI_BLOCKMOVE, /*S_GREEN_BARREL,*/
TI_BLOCKMOVE, /*S_CHAIR_TABLE,*/
TI_BLOCKMOVE, /*S_FLOOR_LAMP,*/
0, /*S_CHANDELIER,*/
TI_GETABLE, /*S_DOG_FOOD,*/
TI_BLOCKMOVE, /*S_COLUMN,*/
TI_BLOCKMOVE, /*S_POTTED_TREE,*/
TI_BLOCKMOVE, /*S_FLAG,*/
TI_BLOCKMOVE, /*S_POTTED_PLANT,*/
TI_BLOCKMOVE, /*S_BLUE_POT,*/
0, /*S_DEBRIS1,*/
0, /*S_LIGHT,*/
0, /*S_BUCKET,*/
TI_BLOCKMOVE, /*S_ARMOUR,*/
TI_BLOCKMOVE, /*S_CAGE,*/
TI_GETABLE, /*S_G_KEY,*/
TI_GETABLE, /*S_S_KEY,*/
TI_GETABLE, /*S_BANDOLIER*/
TI_GETABLE, /*S_AMMOCASE,*/
TI_GETABLE, /*S_FOOD,*/
TI_GETABLE, /*S_HEALTH,*/
TI_GETABLE, /*S_AMMO,*/
TI_GETABLE, /*S_MACHINEGUN,*/
TI_GETABLE, /*S_CHAINGUN,*/
TI_GETABLE, /*S_CROSS,*/
TI_GETABLE, /*S_CHALICE,*/
TI_GETABLE, /*S_CHEST,*/
TI_GETABLE, /*S_CROWN,*/
TI_GETABLE, /*S_ONEUP,*/
TI_BLOCKMOVE, /*S_WOOD_BARREL,*/
TI_BLOCKMOVE, /*S_WATER_WELL,*/
TI_GETABLE, /*S_FLAMETHROWER */
TI_GETABLE, /*S_GASCAN */
TI_GETABLE, /*S_LAUNCHER */
TI_GETABLE /*S_MISSILES */
};
/**********************************
Spawn a static object at x,y
**********************************/
void SpawnStatic(Word x,Word y,Word shape)
{
Word *TilePtr;
static_t *StatPtr;
if (numstatics>=MAXSTATICS) {
return; /* Oh oh!! */
}
TilePtr = &tilemap[y][x]; /* Precalc tile pointer */
StatPtr = &statics[numstatics];
StatPtr->x = (x<<FRACBITS)+0x80; /* Set the pixel X */
StatPtr->y = (y<<FRACBITS)+0x80; /* Set the pixe
|