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)