main/automap.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "error.h"
#include "3d.h"
#include "inferno.h"
#include "u_mem.h"
#include "render.h"
#include "object.h"
#include "vclip.h"
#include "game.h"
#include "mono.h"
#include "polyobj.h"
#include "sounds.h"
#include "player.h"
#include "bm.h"
#include "key.h"
#include "screens.h"
#include "textures.h"
#include "mouse.h"
#include "timer.h"
#include "segpoint.h"
#include "joy.h"
#include "iff.h"
#include "pcx.h"
#include "palette.h"
#include "wall.h"
#include "hostage.h"
#include "fuelcen.h"
#include "gameseq.h"
#include "gamefont.h"
#include "network.h"
#include "kconfig.h"
#include "multi.h"
#include "endlevel.h"
#include "text.h"
#include "gauges.h"
#include "powerup.h"
#include "newmenu.h"
#include "cntrlcen.h"
#include "d_delay.h"
#include "automap.h"

Classes

struct  Edge_info

Defines

#define EF_USED   1
#define EF_DEFINING   2
#define EF_FRONTIER   4
#define EF_SECRET   8
#define EF_GRATE   16
#define EF_NO_FADE   32
#define EF_TOO_FAR   64
#define MAX_EDGES_FROM_VERTS(v)   ((v)*4)
#define MAX_EDGES   6000
#define K_WALL_NORMAL_COLOR   BM_XRGB(29, 29, 29 )
#define K_WALL_DOOR_COLOR   BM_XRGB(5, 27, 5 )
#define K_WALL_DOOR_BLUE   BM_XRGB(0, 0, 31)
#define K_WALL_DOOR_GOLD   BM_XRGB(31, 31, 0)
#define K_WALL_DOOR_RED   BM_XRGB(31, 0, 0)
#define K_HOSTAGE_COLOR   BM_XRGB(0, 31, 0 )
#define K_FONT_COLOR_20   BM_XRGB(20, 20, 20 )
#define K_GREEN_31   BM_XRGB(0, 31, 0)
#define PITCH_DEFAULT   9000
#define ZOOM_DEFAULT   i2f(20*10)
#define ZOOM_MIN_VALUE   i2f(20*5)
#define ZOOM_MAX_VALUE   i2f(20*100)
#define SLIDE_SPEED   (350)
#define ZOOM_SPEED_FACTOR   (500)
#define ROT_SPEED_DIVISOR   (115000)
#define Page   Pages[0]
#define DrawingPage   DrawingPages[0]
#define MAX_DROP_MULTI   2
#define MAX_DROP_SINGLE   9
#define automap_draw_line   g3_draw_line
#define LEAVE_TIME   0x4000
#define WINDOW_WIDTH   288
#define MAP_BACKGROUND_FILENAME   "MAP.PCX"
#define RESCALE_X(x)   ((x) * automap_width / 640)
#define RESCALE_Y(y)   ((y) * automap_height / 480)

Functions

void modex_printf (int x, int y, char *s, grs_font *font, int color)
void init_automap_colors (void)
void adjust_segment_limit (int SegmentLimit)
void draw_all_edges (void)
void automap_build_edge_list (void)
void automap_clear_visited ()
grs_canvasprint_to_canvas (char *s, grs_font *font, int fc, int bc)
void modex_print_message (int x, int y, char *str)
void create_name_canv ()
void draw_player (object *obj)
void draw_automap ()
void GameLoop (int, int)
int set_segment_depths (int start_seg, ubyte *segbuf)
void do_automap (int key_code)
static int automap_find_edge (int v0, int v1, Edge_info **edge_ptr)
void add_one_edge (short va, short vb, ubyte color, ubyte side, short segnum, int hidden, int grate, int no_fade)
void add_one_unknown_edge (short va, short vb)
void add_segment_edges (segment *seg)
void add_unknown_segment_edges (segment *seg)

Variables

int Wall_normal_color
int Wall_door_color
int Wall_door_blue
int Wall_door_gold
int Wall_door_red
int Hostage_color
int Font_color_20
int Green_31
int White_63
int Blue_48
int Red_48
ubyte Automap_visited [MAX_SEGMENTS]
static int Num_edges = 0
static int Max_edges
static int Highest_edge_index = -1
static Edge_info Edges [MAX_EDGES]
static short DrawingListBright [MAX_EDGES]
static int current_page = 0
static grs_canvas Pages [2]
static grs_canvas DrawingPages [2]
static int Automap_cheat = 0
static fix Automap_zoom = 0x9000
static vms_vector view_target
static fix Automap_farthest_dist = (F1_0 * 20 * 50)
static vms_matrix ViewMatrix
static fix ViewDist = 0
vms_vector Matrix_scale
grs_canvasname_canv
char name_level [128]
int Current_display_mode
u_int32_t automap_mode = SM(640,480)
int automap_width = 640
int automap_height = 480
int automap_use_game_res = 1
int nice_automap = 1
int Automap_active = 0

Define Documentation

#define automap_draw_line   g3_draw_line
 

#define DrawingPage   DrawingPages[0]
 

#define EF_DEFINING   2
 

#define EF_FRONTIER   4
 

#define EF_GRATE   16
 

#define EF_NO_FADE   32
 

#define EF_SECRET   8
 

#define EF_TOO_FAR   64
 

#define EF_USED   1
 

#define K_FONT_COLOR_20   BM_XRGB(20, 20, 20 )
 

#define K_GREEN_31   BM_XRGB(0, 31, 0)
 

#define K_HOSTAGE_COLOR   BM_XRGB(0, 31, 0 )
 

#define K_WALL_DOOR_BLUE   BM_XRGB(0, 0, 31)
 

#define K_WALL_DOOR_COLOR   BM_XRGB(5, 27, 5 )
 

#define K_WALL_DOOR_GOLD   BM_XRGB(31, 31, 0)
 

#define K_WALL_DOOR_RED   BM_XRGB(31, 0, 0)
 

#define K_WALL_NORMAL_COLOR   BM_XRGB(29, 29, 29 )
 

#define LEAVE_TIME   0x4000
 

#define MAP_BACKGROUND_FILENAME   "MAP.PCX"
 

#define MAX_DROP_MULTI   2
 

#define MAX_DROP_SINGLE   9
 

#define MAX_EDGES   6000
 

#define MAX_EDGES_FROM_VERTS  )     ((v)*4)
 

#define Page   Pages[0]
 

#define PITCH_DEFAULT   9000
 

#define RESCALE_X  )     ((x) * automap_width / 640)
 

#define RESCALE_Y  )     ((y) * automap_height / 480)
 

#define ROT_SPEED_DIVISOR   (115000)
 

#define SLIDE_SPEED   (350)
 

#define WINDOW_WIDTH   288
 

#define ZOOM_DEFAULT   i2f(20*10)
 

#define ZOOM_MAX_VALUE   i2f(20*100)
 

#define ZOOM_MIN_VALUE   i2f(20*5)
 

#define ZOOM_SPEED_FACTOR   (500)
 


Function Documentation

void add_one_edge short  va,
short  vb,
ubyte  color,
ubyte  side,
short  segnum,
int  hidden,
int  grate,
int  no_fade
 

void add_one_unknown_edge short  va,
short  vb
 

void add_segment_edges segment seg  ) 
 

void add_unknown_segment_edges segment seg  ) 
 

void adjust_segment_limit int  SegmentLimit  ) 
 

void automap_build_edge_list void   ) 
 

void automap_clear_visited  ) 
 

static int automap_find_edge int  v0,
int  v1,
Edge_info **  edge_ptr
[static]
 

void create_name_canv  ) 
 

void do_automap int  key_code  ) 
 

void draw_all_edges void   ) 
 

void draw_automap  ) 
 

void draw_player object obj  ) 
 

void GameLoop int  ,
int 
 

void init_automap_colors void   ) 
 

void modex_print_message int  x,
int  y,
char *  str
 

void modex_printf int  x,
int  y,
char *  s,
grs_font font,
int  color
 

grs_canvas* print_to_canvas char *  s,
grs_font font,
int  fc,
int  bc
 

int set_segment_depths int  start_seg,
ubyte segbuf
 


Variable Documentation

int Automap_active = 0
 

int Automap_cheat = 0 [static]
 

fix Automap_farthest_dist = (F1_0 * 20 * 50) [static]
 

int automap_height = 480
 

u_int32_t automap_mode = SM(640,480)
 

int automap_use_game_res = 1
 

ubyte Automap_visited[MAX_SEGMENTS]
 

int automap_width = 640
 

fix Automap_zoom = 0x9000 [static]
 

int Blue_48
 

int Current_display_mode
 

int current_page = 0 [static]
 

short DrawingListBright[MAX_EDGES] [static]
 

grs_canvas DrawingPages[2] [static]
 

Edge_info Edges[MAX_EDGES] [static]
 

int Font_color_20
 

int Green_31
 

int Highest_edge_index = -1 [static]
 

int Hostage_color
 

vms_vector Matrix_scale
 

int Max_edges [static]
 

grs_canvas* name_canv
 

char name_level[128]
 

int nice_automap = 1
 

int Num_edges = 0 [static]
 

grs_canvas Pages[2] [static]
 

int Red_48
 

vms_vector view_target [static]
 

fix ViewDist = 0 [static]
 

vms_matrix ViewMatrix [static]
 

int Wall_door_blue
 

int Wall_door_color
 

int Wall_door_gold
 

int Wall_door_red
 

int Wall_normal_color
 

int White_63
 


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