main/gameseg.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "inferno.h"
#include "game.h"
#include "error.h"
#include "mono.h"
#include "vecmat.h"
#include "gameseg.h"
#include "wall.h"
#include "fuelcen.h"
#include "u_mem.h"

Defines

#define PLANE_DIST_TOLERANCE   250
#define Doing_lighting_hack_flag   0
#define MAX_LOC_POINT_SEGS   64
#define VEL_PRECISION   12

Functions

void compute_center_point_on_side (vms_vector *vp, segment *sp, int side)
void compute_segment_center (vms_vector *vp, segment *sp)
int find_connect_side (segment *base_seg, segment *con_seg)
int get_num_faces (side *sidep)
void get_side_verts (short *vertlist, int segnum, int sidenum)
void create_all_vertnum_lists (int *num_faces, int *vertnums, int segnum, int sidenum)
void create_abs_vertex_lists (int *num_faces, int *vertices, int segnum, int sidenum, char *calling_file, int calling_linenum)
segmasks get_seg_masks (vms_vector *checkp, int segnum, fix rad, char *calling_file, int calling_linenum)
ubyte get_side_dists (vms_vector *checkp, int segnum, fix *side_dists)
int check_norms (int segnum, int sidenum, int facenum, int csegnum, int csidenum, int cfacenum)
int check_segment_connections (void)
int trace_segs (vms_vector *p0, int oldsegnum)
int find_point_seg (vms_vector *p, int segnum)
fix find_connected_distance (vms_vector *p0, int seg0, vms_vector *p1, int seg1, int max_depth, int wid_flag)
byte convert_to_byte (fix f)
void create_shortpos (shortpos *spp, object *objp)
void create_shorterpos (shorterpos *spp, object *objp)
void extract_shortpos (object *objp, shortpos *spp)
void extract_shorterpos (object *objp, shorterpos *spp)
void extract_vector_from_segment (segment *sp, vms_vector *vp, int start, int end)
void extract_orient_from_segment (vms_matrix *m, segment *seg)
void add_side_as_quad (segment *sp, int sidenum, vms_vector *normal)
void get_verts_for_normal (int va, int vb, int vc, int vd, int *v0, int *v1, int *v2, int *v3, int *negate_flag)
void add_side_as_2_triangles (segment *sp, int sidenum)
int sign (fix v)
void create_walls_on_side (segment *sp, int sidenum)
void validate_removable_wall (segment *sp, int sidenum, int tmap_num)
void validate_segment_side (segment *sp, int sidenum)
int check_for_degenerate_segment (segment *sp)
void validate_segment (segment *sp)
void validate_segment_all (void)
void pick_random_point_in_seg (vms_vector *new_pos, int segnum)
int set_segment_depths (int start_seg, ubyte *segbuf)

Variables

int Exhaustive_count = 0
int Exhaustive_failed_count = 0
int Connected_segment_distance

Define Documentation

#define Doing_lighting_hack_flag   0
 

#define MAX_LOC_POINT_SEGS   64
 

#define PLANE_DIST_TOLERANCE   250
 

#define VEL_PRECISION   12
 


Function Documentation

void add_side_as_2_triangles segment sp,
int  sidenum
 

void add_side_as_quad segment sp,
int  sidenum,
vms_vector normal
 

int check_for_degenerate_segment segment sp  ) 
 

int check_norms int  segnum,
int  sidenum,
int  facenum,
int  csegnum,
int  csidenum,
int  cfacenum
 

int check_segment_connections void   ) 
 

void compute_center_point_on_side vms_vector vp,
segment sp,
int  side
 

void compute_segment_center vms_vector vp,
segment sp
 

byte convert_to_byte fix  f  ) 
 

void create_abs_vertex_lists int *  num_faces,
int *  vertices,
int  segnum,
int  sidenum,
char *  calling_file,
int  calling_linenum
 

void create_all_vertnum_lists int *  num_faces,
int *  vertnums,
int  segnum,
int  sidenum
 

void create_shorterpos shorterpos spp,
object objp
 

void create_shortpos shortpos spp,
object objp
 

void create_walls_on_side segment sp,
int  sidenum
 

void extract_orient_from_segment vms_matrix m,
segment seg
 

void extract_shorterpos object objp,
shorterpos spp
 

void extract_shortpos object objp,
shortpos spp
 

void extract_vector_from_segment segment sp,
vms_vector vp,
int  start,
int  end
 

int find_connect_side segment base_seg,
segment con_seg
 

fix find_connected_distance vms_vector p0,
int  seg0,
vms_vector p1,
int  seg1,
int  max_depth,
int  wid_flag
 

int find_point_seg vms_vector p,
int  segnum
 

int get_num_faces side sidep  ) 
 

segmasks get_seg_masks vms_vector checkp,
int  segnum,
fix  rad,
char *  calling_file,
int  calling_linenum
 

ubyte get_side_dists vms_vector checkp,
int  segnum,
fix side_dists
 

void get_side_verts short *  vertlist,
int  segnum,
int  sidenum
 

void get_verts_for_normal int  va,
int  vb,
int  vc,
int  vd,
int *  v0,
int *  v1,
int *  v2,
int *  v3,
int *  negate_flag
 

void pick_random_point_in_seg vms_vector new_pos,
int  segnum
 

int set_segment_depths int  start_seg,
ubyte segbuf
 

int sign fix  v  ) 
 

int trace_segs vms_vector p0,
int  oldsegnum
 

void validate_removable_wall segment sp,
int  sidenum,
int  tmap_num
 

void validate_segment segment sp  ) 
 

void validate_segment_all void   ) 
 

void validate_segment_side segment sp,
int  sidenum
 


Variable Documentation

int Connected_segment_distance
 

int Exhaustive_count = 0
 

int Exhaustive_failed_count = 0
 


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