main/wall.h File Reference

#include "inferno.h"
#include "segment.h"
#include "object.h"

Classes

struct  stuckobj
struct  wall
struct  active_door
struct  __pack__

Defines

#define MAX_WALLS   175
#define MAX_WALL_ANIMS   30
#define MAX_DOORS   50
#define WALL_NORMAL   0
#define WALL_BLASTABLE   1
#define WALL_DOOR   2
#define WALL_ILLUSION   3
#define WALL_OPEN   4
#define WALL_CLOSED   5
#define WALL_BLASTED   1
#define WALL_DOOR_OPENED   2
#define WALL_DOOR_LOCKED   8
#define WALL_DOOR_AUTO   16
#define WALL_ILLUSION_OFF   32
#define WALL_DOOR_CLOSED   0
#define WALL_DOOR_OPENING   1
#define WALL_DOOR_WAITING   2
#define WALL_DOOR_CLOSING   3
#define KEY_NONE   1
#define KEY_BLUE   2
#define KEY_RED   4
#define KEY_GOLD   8
#define WALL_HPS   100*F1_0
#define WALL_DOOR_INTERVAL   5*F1_0
#define DOOR_OPEN_TIME   i2f(2)
#define DOOR_WAIT_TIME   i2f(5)
#define MAX_CLIP_FRAMES   20
#define WID_FLY_FLAG   1
#define WID_RENDER_FLAG   2
#define WID_RENDPAST_FLAG   4
#define WID_EXTERNAL_FLAG   8
#define WID_WALL   2
#define WID_TRANSPARENT_WALL   6
#define WID_ILLUSORY_WALL   3
#define WID_TRANSILLUSORY_WALL   7
#define WID_NO_WALL   5
#define WID_EXTERNAL   8
#define MAX_STUCK_OBJECTS   32
#define WCF_EXPLODES   1
#define WCF_BLASTABLE   2
#define WCF_TMAP1   4
#define WCF_HIDDEN   8
#define WALL_IS_DOORWAY(seg, side)   (((seg)->children[(side)] == -1) ? WID_WALL : ((seg)->children[(side)] == -2) ? WID_EXTERNAL_FLAG : ((seg)->sides[(side)].wall_num == -1) ? WID_NO_WALL : wall_is_doorway((seg), (side)))
#define WHP_NOT_SPECIAL   0
#define WHP_NO_KEY   1
#define WHP_BLASTABLE   2
#define WHP_DOOR   3

Functions

void wall_init ()
int wall_is_doorway (segment *seg, int side)
void wall_damage (segment *seg, int side, fix damage)
void wall_destroy (segment *seg, int side)
void wall_illusion_on (segment *seg, int side)
void wall_illusion_off (segment *seg, int side)
void do_door_open (int door_num)
void do_door_close (int door_num)
void wall_open_door (segment *seg, int side)
void wall_close_door (int wall_num)
int wall_hit_process (segment *seg, int side, fix damage, int playernum, object *obj)
void wall_toggle (segment *seg, int side)
void reset_walls ()
void wall_frame_process ()
void add_stuck_object (object *objp, int segnum, int sidenum)
void remove_obsolete_stuck_objects (void)
void wall_set_tmap_num (segment *seg, int side, segment *csegp, int cside, int anim_num, int frame_num)

Variables

char Wall_names [7][10]
wall Walls [MAX_WALLS]
int Num_walls
active_door ActiveDoors [MAX_DOORS]
int Num_open_doors
wclip WallAnims [MAX_WALL_ANIMS]
int Num_wall_anims
int walls_bm_num [MAX_WALL_ANIMS]
stuckobj Stuck_objects [MAX_STUCK_OBJECTS]

Define Documentation

#define DOOR_OPEN_TIME   i2f(2)
 

#define DOOR_WAIT_TIME   i2f(5)
 

#define KEY_BLUE   2
 

#define KEY_GOLD   8
 

#define KEY_NONE   1
 

#define KEY_RED   4
 

#define MAX_CLIP_FRAMES   20
 

#define MAX_DOORS   50
 

#define MAX_STUCK_OBJECTS   32
 

#define MAX_WALL_ANIMS   30
 

#define MAX_WALLS   175
 

#define WALL_BLASTABLE   1
 

#define WALL_BLASTED   1
 

#define WALL_CLOSED   5
 

#define WALL_DOOR   2
 

#define WALL_DOOR_AUTO   16
 

#define WALL_DOOR_CLOSED   0
 

#define WALL_DOOR_CLOSING   3
 

#define WALL_DOOR_INTERVAL   5*F1_0
 

#define WALL_DOOR_LOCKED   8
 

#define WALL_DOOR_OPENED   2
 

#define WALL_DOOR_OPENING   1
 

#define WALL_DOOR_WAITING   2
 

#define WALL_HPS   100*F1_0
 

#define WALL_ILLUSION   3
 

#define WALL_ILLUSION_OFF   32
 

#define WALL_IS_DOORWAY seg,
side   )     (((seg)->children[(side)] == -1) ? WID_WALL : ((seg)->children[(side)] == -2) ? WID_EXTERNAL_FLAG : ((seg)->sides[(side)].wall_num == -1) ? WID_NO_WALL : wall_is_doorway((seg), (side)))
 

#define WALL_NORMAL   0
 

#define WALL_OPEN   4
 

#define WCF_BLASTABLE   2
 

#define WCF_EXPLODES   1
 

#define WCF_HIDDEN   8
 

#define WCF_TMAP1   4
 

#define WHP_BLASTABLE   2
 

#define WHP_DOOR   3
 

#define WHP_NO_KEY   1
 

#define WHP_NOT_SPECIAL   0
 

#define WID_EXTERNAL   8
 

#define WID_EXTERNAL_FLAG   8
 

#define WID_FLY_FLAG   1
 

#define WID_ILLUSORY_WALL   3
 

#define WID_NO_WALL   5
 

#define WID_RENDER_FLAG   2
 

#define WID_RENDPAST_FLAG   4
 

#define WID_TRANSILLUSORY_WALL   7
 

#define WID_TRANSPARENT_WALL   6
 

#define WID_WALL   2
 


Function Documentation

void add_stuck_object object objp,
int  segnum,
int  sidenum
 

void do_door_close int  door_num  ) 
 

void do_door_open int  door_num  ) 
 

void remove_obsolete_stuck_objects void   ) 
 

void reset_walls  ) 
 

void wall_close_door int  wall_num  ) 
 

void wall_damage segment seg,
int  side,
fix  damage
 

void wall_destroy segment seg,
int  side
 

void wall_frame_process  ) 
 

int wall_hit_process segment seg,
int  side,
fix  damage,
int  playernum,
object obj
 

void wall_illusion_off segment seg,
int  side
 

void wall_illusion_on segment seg,
int  side
 

void wall_init  ) 
 

int wall_is_doorway segment seg,
int  side
 

void wall_open_door segment seg,
int  side
 

void wall_set_tmap_num segment seg,
int  side,
segment csegp,
int  cside,
int  anim_num,
int  frame_num
 

void wall_toggle segment seg,
int  side
 


Variable Documentation

active_door ActiveDoors[MAX_DOORS]
 

int Num_open_doors
 

int Num_wall_anims
 

int Num_walls
 

stuckobj Stuck_objects[MAX_STUCK_OBJECTS]
 

char Wall_names[7][10]
 

wclip WallAnims[MAX_WALL_ANIMS]
 

wall Walls[MAX_WALLS]
 

int walls_bm_num[MAX_WALL_ANIMS]
 


Generated on Mon Aug 28 20:55:34 2006 for D1X-Rebirth by  doxygen 1.4.6