editor/segment.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "mono.h"
#include "key.h"
#include "gr.h"
#include "inferno.h"
#include "segment.h"
#include "editor.h"
#include "error.h"
#include "object.h"
#include "gameseg.h"
#include "render.h"
#include "game.h"
#include "wall.h"
#include "switch.h"
#include "fuelcen.h"
#include "seguvs.h"
#include "gameseq.h"
#include "medwall.h"
#include "hostage.h"

Defines

#define BOTTOM_STUFF   0
#define MAX_VALIDATIONS   50
#define JOINT_THRESHOLD   10000*F1_0

Functions

int ToggleBottom (void)
void med_get_vertex_list (segment *s, int *nv, short **vp)
int med_vertex_count (int vi)
int is_free_vertex (int vi)
void med_move_vertex (segment *sp, int pi, vms_vector *vofs)
void med_move_wall (segment *sp, int wi, vms_vector *vofs)
int fnear (fix f1, fix f2)
int vnear (vms_vector *vp1, vms_vector *vp2)
int med_add_vertex (vms_vector *vp)
int get_free_segment_number (void)
int med_create_duplicate_segment (segment *sp)
int med_create_duplicate_vertex (vms_vector *vp)
int med_set_vertex (int vnum, vms_vector *vp)
int check_for_degenerate_side (segment *sp, int sidenum)
void create_removable_wall (segment *sp, int sidenum, int tmap_num)
int check_for_degenerate_segment (segment *sp)
void med_extract_matrix_from_segment (segment *sp, vms_matrix *rotmat)
void set_matrix_based_on_side (vms_matrix *rotmat, int destside)
void change_vertex_occurrences (int dest, int src)
void compress_vertices (void)
void compress_segments (void)
void med_combine_duplicate_vertices (byte *vlp)
void med_compress_mine (void)
void copy_tmap_ids (segment *dseg, segment *sseg)
int med_attach_segment_rotated (segment *destseg, segment *newseg, int destside, int newside, vms_matrix *attmat)
void scale_free_vertices (segment *sp, vms_vector *vp, fix scale_factor, int min_side, int max_side)
int med_attach_segment (segment *destseg, segment *newseg, int destside, int newside)
void delete_vertex (short v)
void update_num_vertices (void)
void set_vertex_counts (void)
void delete_vertices_in_segment (segment *sp)
void validate_segment_side (segment *sp, int sidenum)
int med_delete_segment (segment *sp)
void copy_tmaps_to_segment (segment *dseg, segment *sseg)
int med_rotate_segment (segment *seg, vms_matrix *rotmat)
int med_rotate_segment_ang (segment *seg, vms_angvec *ang)
fix seg_seg_vertex_distsum (segment *seg1, int side1, segment *seg2, int side2, int firstv1)
int get_index_of_best_fit (segment *seg1, int side1, segment *seg2, int side2)
void remap_side_uvs (segment *sp, int *vp)
void assign_default_uvs_to_curside (void)
void assign_default_uvs_to_curseg (void)
int med_form_joint (segment *seg1, int side1, segment *seg2, int side2)
int med_form_bridge_segment (segment *seg1, int side1, segment *seg2, int side2)
void med_create_segment (segment *sp, fix cx, fix cy, fix cz, fix length, fix width, fix height, vms_matrix *mp)
void med_create_new_segment (vms_vector *scale)
void med_create_new_segment_from_cursegp (void)
void init_all_vertices (void)
int create_new_mine (void)
void med_copy_segment (segment *dsp, segment *ssp)
void create_coordinate_axes_from_segment (segment *sp, short *vertnums)
int check_seg_concavity (segment *s)
void find_concave_segs ()
void warn_if_concave_segments (void)
void warn_if_concave_segment (segment *s)
int med_find_adjacent_segment_side (segment *sp, int side, segment **adj_sp, int *adj_side)
int med_find_closest_threshold_segment_side (segment *sp, int side, segment **adj_sp, int *adj_side, fix threshold)
void med_check_all_vertices ()
void check_for_overlapping_segment (int segnum)
void check_for_overlapping_segments (void)

Variables

int Do_duplicate_vertex_check = 0

Define Documentation

#define BOTTOM_STUFF   0
 

#define JOINT_THRESHOLD   10000*F1_0
 

#define MAX_VALIDATIONS   50
 


Function Documentation

void assign_default_uvs_to_curseg void   ) 
 

void assign_default_uvs_to_curside void   ) 
 

void change_vertex_occurrences int  dest,
int  src
 

int check_for_degenerate_segment segment sp  ) 
 

int check_for_degenerate_side segment sp,
int  sidenum
 

void check_for_overlapping_segment int  segnum  ) 
 

void check_for_overlapping_segments void   ) 
 

int check_seg_concavity segment s  ) 
 

void compress_segments void   ) 
 

void compress_vertices void   ) 
 

void copy_tmap_ids segment dseg,
segment sseg
 

void copy_tmaps_to_segment segment dseg,
segment sseg
 

void create_coordinate_axes_from_segment segment sp,
short *  vertnums
 

int create_new_mine void   ) 
 

void create_removable_wall segment sp,
int  sidenum,
int  tmap_num
 

void delete_vertex short  v  ) 
 

void delete_vertices_in_segment segment sp  ) 
 

void find_concave_segs void   ) 
 

int fnear fix  f1,
fix  f2
 

int get_free_segment_number void   ) 
 

int get_index_of_best_fit segment seg1,
int  side1,
segment seg2,
int  side2
 

void init_all_vertices void   ) 
 

int is_free_vertex int  vi  ) 
 

int med_add_vertex vms_vector vp  ) 
 

int med_attach_segment segment destseg,
segment newseg,
int  destside,
int  newside
 

int med_attach_segment_rotated segment destseg,
segment newseg,
int  destside,
int  newside,
vms_matrix attmat
 

void med_check_all_vertices  ) 
 

void med_combine_duplicate_vertices byte vlp  ) 
 

void med_compress_mine void   ) 
 

void med_copy_segment segment dsp,
segment ssp
 

int med_create_duplicate_segment segment sp  ) 
 

int med_create_duplicate_vertex vms_vector vp  ) 
 

void med_create_new_segment vms_vector scale  ) 
 

void med_create_new_segment_from_cursegp void   ) 
 

void med_create_segment segment sp,
fix  cx,
fix  cy,
fix  cz,
fix  length,
fix  width,
fix  height,
vms_matrix mp
 

int med_delete_segment segment sp  ) 
 

void med_extract_matrix_from_segment segment sp,
vms_matrix rotmat
 

int med_find_adjacent_segment_side segment sp,
int  side,
segment **  adj_sp,
int *  adj_side
 

int med_find_closest_threshold_segment_side segment sp,
int  side,
segment **  adj_sp,
int *  adj_side,
fix  threshold
 

int med_form_bridge_segment segment seg1,
int  side1,
segment seg2,
int  side2
 

int med_form_joint segment seg1,
int  side1,
segment seg2,
int  side2
 

void med_get_vertex_list segment s,
int *  nv,
short **  vp
 

void med_move_vertex segment sp,
int  pi,
vms_vector vofs
 

void med_move_wall segment sp,
int  wi,
vms_vector vofs
 

int med_rotate_segment segment seg,
vms_matrix rotmat
 

int med_rotate_segment_ang segment seg,
vms_angvec ang
 

int med_set_vertex int  vnum,
vms_vector vp
 

int med_vertex_count int  vi  ) 
 

void remap_side_uvs segment sp,
int *  vp
 

void scale_free_vertices segment sp,
vms_vector vp,
fix  scale_factor,
int  min_side,
int  max_side
 

fix seg_seg_vertex_distsum segment seg1,
int  side1,
segment seg2,
int  side2,
int  firstv1
 

void set_matrix_based_on_side vms_matrix rotmat,
int  destside
 

void set_vertex_counts void   ) 
 

int ToggleBottom void   ) 
 

void update_num_vertices void   ) 
 

void validate_segment_side segment sp,
int  sidenum
 

int vnear vms_vector vp1,
vms_vector vp2
 

void warn_if_concave_segment segment s  ) 
 

void warn_if_concave_segments void   ) 
 


Variable Documentation

int Do_duplicate_vertex_check = 0
 


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