21 #define PF_PROJECTED     1      //has been projected, so sx,sy valid 
   22 #define PF_OVERFLOW              2      //can't project 
   23 #define PF_TEMP_POINT    4      //created during clip 
   27 #define CC_OFF_RIGHT    2 
   30 #define CC_OFF_USER     16 
   31 #define CC_BEHIND               0x80 
   34 #define CC_OFF                  (CC_OFF_LEFT | CC_OFF_RIGHT | CC_OFF_BOT | CC_OFF_TOP | CC_OFF_USER | CC_BEHIND) 
   39 #define g3_start_frame(zbuffer_flag) g3_start_frame_func(zbuffer_flag, __FILE__, __LINE__ ) 
   49 #define g3_end_frame() g3_end_frame_func( __FILE__, __LINE__ ) 
  129 float g3_get_zoom(
char axis,
float fov,
int window_width,
int window_height);
 
  389         void defpoint(
int off, 
ubyte *bsp_data);
 
  392         flash_ball(
int number, 
float min_ray_width, 
float max_ray_width = 0, 
const vec3d* dir = &
vmd_zero_vector, 
const vec3d* pcenter = &
vmd_zero_vector, 
float outer = 
PI2, 
float inner = 0.0
f, 
ubyte max_r = 255, 
ubyte max_g = 255, 
ubyte max_b = 255, 
ubyte min_r = 255, 
ubyte min_g = 255, 
ubyte min_b = 255)
 
  395                         initialize(number, min_ray_width, max_ray_width, dir, pcenter, outer, inner, max_r, max_g, max_b, min_r, min_g, min_b);
 
  404         void initialize(
int number, 
float min_ray_width, 
float max_ray_width = 0, 
const vec3d* dir = &
vmd_zero_vector, 
const vec3d* pcenter = &
vmd_zero_vector, 
float outer = 
PI2, 
float inner = 0.0
f, 
ubyte max_r = 255, 
ubyte max_g = 255, 
ubyte max_b = 255, 
ubyte min_r = 255, 
ubyte min_g = 255, 
ubyte min_b = 255);
 
  405         void initialize(
ubyte *bsp_data, 
float min_ray_width, 
float max_ray_width = 0, 
const vec3d* dir = &
vmd_zero_vector, 
const vec3d* pcenter = &
vmd_zero_vector, 
float outer = 
PI2, 
float inner = 0.0
f, 
ubyte max_r = 255, 
ubyte max_g = 255, 
ubyte max_b = 255, 
ubyte min_r = 255, 
ubyte min_g = 255, 
ubyte min_b = 255);
 
  406         void render(
float rad, 
float intinsity, 
float life);
 
  407         void render(
int texture, 
float rad, 
float intinsity, 
float life);
 
float g3_draw_laser_rgb(const vec3d *headp, float head_width, const vec3d *tailp, float tail_width, int r, int g, int b, uint tmap_flags=TMAP_FLAG_TEXTURED|TMAP_FLAG_RGB, float max_len=0.0f)
 
void initialize(int number, float min_ray_width, float max_ray_width=0, const vec3d *dir=&vmd_zero_vector, const vec3d *pcenter=&vmd_zero_vector, float outer=PI2, float inner=0.0f, ubyte max_r=255, ubyte max_g=255, ubyte max_b=255, ubyte min_r=255, ubyte min_g=255, ubyte min_b=255)
 
void render(float rad, float intinsity, float life)
 
GLfloat GLfloat GLfloat GLfloat h
 
void g3_stop_user_clip_plane()
 
int g3_draw_2d_poly_bitmap(float x, float y, float w, float h, uint additional_tmap_flags=0)
 
void g3_draw_horizon_line()
 
ubyte g3_transfer_vertex(vertex *dest, const vec3d *src)
 
void g3_set_view(camera *cam)
 
GLint GLint GLsizei GLsizei GLsizei depth
 
void g3_start_frame_func(int zbuffer_flag, const char *filename, int lineno)
 
int g3_draw_2d_poly_bitmap_rect_list(bitmap_rect_list *b_list, int n_bm, uint additional_tmap_flags)
 
int g3_draw_polygon(const vec3d *pos, const matrix *ori, float width, float height, int tmap_flags=TMAP_FLAG_TEXTURED)
 
ubyte g3_code_vertex(vertex *point)
 
int g3_draw_line(vertex *p0, vertex *p1)
 
void g3_draw_htl_sphere(const vec3d *position, float radius)
 
void g3_get_FOV(float *fov_x, float *fov_y)
 
void g3_draw_2d_rect(int x, int y, int w, int h, int r, int g, int b, int a)
 
void g3_start_user_clip_plane(const vec3d *plane_point, const vec3d *plane_normal)
 
void g3_done_instance(bool set_api=false)
 
float g3_calc_point_depth(const vec3d *pnt)
 
float g3_get_zoom(char axis, float fov, int window_width, int window_height)
 
int g3_draw_poly_if_facing(int nv, vertex **pointlist, uint tmap_flags, const vec3d *norm, const vec3d *pnt)
 
ubyte g3_add_delta_vec(vertex *dest, vertex *src, vec3d *deltav)
 
void g3_start_instance_angles(const vec3d *pos, const angles *orient)
 
GLdouble GLdouble GLdouble r
 
ubyte g3_code_vector(const vec3d *p)
 
int g3_draw_sphere(vertex *pnt, float rad)
 
GLboolean GLboolean GLboolean GLboolean a
 
float g3_draw_laser(const vec3d *headp, float head_width, const vec3d *tailp, float tail_width, uint tmap_flags=TMAP_FLAG_TEXTURED, float max_len=0.0f)
 
void g3_set_view_matrix(const vec3d *view_pos, const matrix *view_matrix, float zoom)
 
vec3d * g3_rotate_delta_y(vec3d *dest, float dy)
 
ubyte g3_rotate_vertex(vertex *dest, const vec3d *src)
 
int g3_compute_sky_polygon(float *points_2d, vec3d *vecs)
 
void g3_set_view_angles(const vec3d *view_pos, const angles *view_orient, float zoom)
 
vec3d * g3_rotate_delta_x(vec3d *dest, float dx)
 
int g3_draw_rod(const vec3d *p0, float width1, const vec3d *p1, float width2, vertex *verts, uint tmap_flags)
 
int g3_project_vertex(vertex *point)
 
ubyte g3_rotate_vector(vec3d *dest, const vec3d *src)
 
GLint GLint GLint GLint GLint x
 
ubyte g3_project_vector(const vec3d *p, float *sx, float *sy)
 
int g3_check_normal_facing(const vec3d *v, const vec3d *norm)
 
int g3_get_bitmap_dims(int bitmap, vertex *pos, float radius, int *x, int *y, int *w, int *h, int *size)
 
int g3_draw_rotated_bitmap(vertex *pnt, float angle, float radius, uint tmap_flags, float depth=0.0f)
 
void g3_get_view_vectors(vec3d *forward, vec3d *up, vec3d *right)
 
GLboolean GLboolean GLboolean b
 
ubyte g3_rotate_faraway_vertex(vertex *dest, const vec3d *src)
 
GLint GLsizei GLsizei height
 
GLubyte GLubyte GLubyte GLubyte w
 
ubyte g3_rotate_vertex_popped(vertex *dest, const vec3d *src)
 
ccodes g3_check_codes(int nv, vertex **pointlist)
 
vec3d * g3_rotate_delta_z(vec3d *dest, float dz)
 
void g3_start_instance_matrix(const vec3d *pos, const matrix *orient, bool set_api=true)
 
#define TMAP_FLAG_TEXTURED
 
void g3_draw_2d_shield_icon(const coord2d coords[6], const int r, const int g, const int b, const int a)
 
int g3_draw_bitmap(vertex *pos, int orient, float radius, uint tmap_flags, float depth=0.0f)
 
void g3_draw_horizon(int sky_color, int ground_color)
 
void g3_end_frame_func(const char *filename, int lineno)
 
flash_ball(int number, float min_ray_width, float max_ray_width=0, const vec3d *dir=&vmd_zero_vector, const vec3d *pcenter=&vmd_zero_vector, float outer=PI2, float inner=0.0f, ubyte max_r=255, ubyte max_g=255, ubyte max_b=255, ubyte min_r=255, ubyte min_g=255, ubyte min_b=255)
 
int g3_draw_perspective_bitmap(const angles *a, float scale_x, float scale_y, int div_x, int div_y, uint tmap_flags)
 
int g3_draw_sphere_ez(const vec3d *pnt, float rad)
 
int g3_draw_2d_poly_bitmap_list(bitmap_2d_list *b_list, int n_bm, uint additional_tmap_flags)
 
int g3_draw_poly(int nv, vertex **pointlist, uint tmap_flags)
 
void g3_point_to_vec(vec3d *v, int sx, int sy)
 
void g3_point_to_vec_delayed(vec3d *v, int sx, int sy)
 
int g3_draw_poly_constant_sw(int nv, vertex **pointlist, uint tmap_flags, float constant_sw)
 
vec3d * g3_rotate_delta_vec(vec3d *dest, vec3d *src)
 
void g3_draw_htl_line(const vec3d *start, const vec3d *end)