main/polyobj.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "inferno.h"
#include "polyobj.h"
#include "vecmat.h"
#include "3d.h"
#include "error.h"
#include "mono.h"
#include "u_mem.h"
#include "args.h"
#include "texmap.h"
#include "bm.h"
#include "textures.h"
#include "object.h"
#include "lighting.h"
#include "cfile.h"
#include "piggy.h"

Defines

#define MAX_POLYGON_VECS   1000
#define PM_COMPATIBLE_VERSION   6
#define PM_OBJFILE_VERSION   8
#define MODEL_BUF_SIZE   32768
#define pof_cfseek(_buf, _len, _type)   _pof_cfseek((_len),(_type))
#define new_pof_read_int(i, f)   pof_cfread(&(i),sizeof(i),1,(f))
#define ID_OHDR   0x5244484f
#define ID_SOBJ   0x4a424f53
#define ID_GUNS   0x534e5547
#define ID_ANIM   0x4d494e41
#define ID_IDTA   0x41544449
#define ID_TXTR   0x52545854
#define BASE_MODEL_SIZE   0x28000
#define DEFAULT_VIEW_DIST   0x60000

Functions

void _pof_cfseek (int len, int type)
int pof_read_int (ubyte *bufp)
size_t pof_cfread (void *dst, size_t elsize, size_t nelem, ubyte *bufp)
short pof_read_short (ubyte *bufp)
void pof_read_string (char *buf, int max, ubyte *bufp)
void pof_read_vecs (vms_vector *vecs, int n, ubyte *bufp)
void robot_set_angles (robot_info *r, polymodel *pm, vms_angvec angs[N_ANIM_STATES][MAX_SUBMODELS])
polymodelread_model_file (polymodel *pm, char *filename, robot_info *r)
int read_model_guns (char *filename, vms_vector *gun_points, vms_vector *gun_dirs, int *gun_submodels)
void free_model (polymodel *po)
void draw_polygon_model (vms_vector *pos, vms_matrix *orient, vms_angvec *anim_angles, int model_num, int flags, fix light, fix *glow_values, bitmap_index alt_textures[])
void free_polygon_models ()
void polyobj_find_min_max (polymodel *pm)
int load_polygon_model (char *filename, int n_textures, int first_texture, robot_info *r)
void init_polygon_models ()
void draw_model_picture (int mn, vms_angvec *orient_angles)

Variables

polymodel Polygon_models [MAX_POLYGON_MODELS]
int N_polygon_models = 0
g3s_point robot_points [MAX_POLYGON_VECS]
int Pof_file_end
int Pof_addr
vms_angvec anim_angs [N_ANIM_STATES][MAX_SUBMODELS]
grs_bitmaptexture_list [MAX_POLYOBJ_TEXTURES]
bitmap_index texture_list_index [MAX_POLYOBJ_TEXTURES]
int Simple_model_threshhold_scale = 5
char Pof_names [MAX_POLYGON_MODELS][13]

Define Documentation

#define BASE_MODEL_SIZE   0x28000
 

#define DEFAULT_VIEW_DIST   0x60000
 

#define ID_ANIM   0x4d494e41
 

#define ID_GUNS   0x534e5547
 

#define ID_IDTA   0x41544449
 

#define ID_OHDR   0x5244484f
 

#define ID_SOBJ   0x4a424f53
 

#define ID_TXTR   0x52545854
 

#define MAX_POLYGON_VECS   1000
 

#define MODEL_BUF_SIZE   32768
 

#define new_pof_read_int i,
 )     pof_cfread(&(i),sizeof(i),1,(f))
 

#define PM_COMPATIBLE_VERSION   6
 

#define PM_OBJFILE_VERSION   8
 

#define pof_cfseek _buf,
_len,
_type   )     _pof_cfseek((_len),(_type))
 


Function Documentation

void _pof_cfseek int  len,
int  type
 

void draw_model_picture int  mn,
vms_angvec orient_angles
 

void draw_polygon_model vms_vector pos,
vms_matrix orient,
vms_angvec anim_angles,
int  model_num,
int  flags,
fix  light,
fix glow_values,
bitmap_index  alt_textures[]
 

!if (!alt_textures) { //alternate textures might not match

void free_model polymodel po  ) 
 

void free_polygon_models  ) 
 

void init_polygon_models  ) 
 

int load_polygon_model char *  filename,
int  n_textures,
int  first_texture,
robot_info r
 

size_t pof_cfread void *  dst,
size_t  elsize,
size_t  nelem,
ubyte bufp
 

int pof_read_int ubyte bufp  ) 
 

short pof_read_short ubyte bufp  ) 
 

void pof_read_string char *  buf,
int  max,
ubyte bufp
 

void pof_read_vecs vms_vector vecs,
int  n,
ubyte bufp
 

void polyobj_find_min_max polymodel pm  ) 
 

polymodel* read_model_file polymodel pm,
char *  filename,
robot_info r
 

int read_model_guns char *  filename,
vms_vector gun_points,
vms_vector gun_dirs,
int *  gun_submodels
 

void robot_set_angles robot_info r,
polymodel pm,
vms_angvec  angs[N_ANIM_STATES][MAX_SUBMODELS]
 


Variable Documentation

vms_angvec anim_angs[N_ANIM_STATES][MAX_SUBMODELS]
 

int N_polygon_models = 0
 

int Pof_addr
 

int Pof_file_end
 

char Pof_names[MAX_POLYGON_MODELS][13]
 

polymodel Polygon_models[MAX_POLYGON_MODELS]
 

g3s_point robot_points[MAX_POLYGON_VECS]
 

int Simple_model_threshhold_scale = 5
 

grs_bitmap* texture_list[MAX_POLYOBJ_TEXTURES]
 

bitmap_index texture_list_index[MAX_POLYOBJ_TEXTURES]
 


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