main/terrain.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "3d.h"
#include "error.h"
#include "gr.h"
#include "texmap.h"
#include "iff.h"
#include "u_mem.h"
#include "mono.h"
#include "inferno.h"
#include "textures.h"
#include "object.h"
#include "endlevel.h"
#include "fireball.h"

Defines

#define GRID_MAX_SIZE   64
#define GRID_SCALE   i2f(2*20)
#define HEIGHT_SCALE   f1_0
#define HEIGHT(_i, _j)   (height_array[(_i)*grid_w+(_j)])
#define LIGHT(_i, _j)   light_array[(_i)*grid_w+(_j)]
#define LIGHTVAL(_i, _j)   (((fix) LIGHT(_i,_j))<<8)

Functions

void build_light_table ()
void render_mine (int start_seg_num, fix eye_offset)
void draw_cell (int i, int j, g3s_point *p0, g3s_point *p1, g3s_point *p2, g3s_point *p3)
vms_vectorget_dy_vec (int h)
void render_terrain (vms_vector *org_point, int org_2dx, int org_2dy)
void free_height_array ()
void load_terrain (char *filename)
void get_pnt (vms_vector *p, int i, int j)
fix get_face_light (vms_vector *p0, vms_vector *p1, vms_vector *p2)
fix get_avg_light (int i, int j)
void free_light_table ()

Variables

int grid_w
int grid_h
g3s_uvl uvl_list1 [] = { {0,0,0}, {f1_0,0,0}, {0,f1_0,0} }
g3s_uvl uvl_list2 [] = { {f1_0,0,0}, {f1_0,f1_0,0}, {0,f1_0,0} }
ubyteheight_array
ubytelight_array
g3s_point save_row [GRID_MAX_SIZE]
vms_vector start_point
grs_bitmapterrain_bm
int terrain_outline = 0
int org_i
int org_j
int mine_tiles_drawn
vms_vector y_cache [256]
ubyte yc_flags [256]
vms_matrix surface_orient
int im = 1
vms_vector light = {0x2e14,0xe8f5,0x5eb8}

Define Documentation

#define GRID_MAX_SIZE   64
 

#define GRID_SCALE   i2f(2*20)
 

#define HEIGHT _i,
_j   )     (height_array[(_i)*grid_w+(_j)])
 

#define HEIGHT_SCALE   f1_0
 

#define LIGHT _i,
_j   )     light_array[(_i)*grid_w+(_j)]
 

#define LIGHTVAL _i,
_j   )     (((fix) LIGHT(_i,_j))<<8)
 

!define HEIGHT(_i,_j) height_array[(grid_h-1-j)*grid_w+(_i)] !define LIGHT(_i,_j) light_array[(grid_h-1-j)*grid_w+(_i)]


Function Documentation

void build_light_table  ) 
 

void draw_cell int  i,
int  j,
g3s_point p0,
g3s_point p1,
g3s_point p2,
g3s_point p3
 

void free_height_array  ) 
 

void free_light_table  ) 
 

fix get_avg_light int  i,
int  j
 

vms_vector* get_dy_vec int  h  ) 
 

fix get_face_light vms_vector p0,
vms_vector p1,
vms_vector p2
 

void get_pnt vms_vector p,
int  i,
int  j
 

void load_terrain char *  filename  ) 
 

void render_mine int  start_seg_num,
fix  eye_offset
 

void render_terrain vms_vector org_point,
int  org_2dx,
int  org_2dy
 


Variable Documentation

int grid_h
 

int grid_w
 

ubyte* height_array
 

int im = 1
 

vms_vector light = {0x2e14,0xe8f5,0x5eb8}
 

ubyte* light_array
 

int mine_tiles_drawn
 

int org_i
 

int org_j
 

g3s_point save_row[GRID_MAX_SIZE]
 

vms_vector start_point
 

vms_matrix surface_orient
 

grs_bitmap* terrain_bm
 

int terrain_outline = 0
 

g3s_uvl uvl_list1[] = { {0,0,0}, {f1_0,0,0}, {0,f1_0,0} }
 

g3s_uvl uvl_list2[] = { {f1_0,0,0}, {f1_0,f1_0,0}, {0,f1_0,0} }
 

vms_vector y_cache[256]
 

ubyte yc_flags[256]
 


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