#include <stdio.h>#include <stdlib.h>#include <string.h>#include "inferno.h"#include "segment.h"#include "error.h"#include "bm.h"#include "texmap.h"#include "mono.h"#include "render.h"#include "game.h"#include "object.h"#include "laser.h"#include "textures.h"#include "screens.h"#include "segpoint.h"#include "wall.h"#include "texmerge.h"#include "physics.h"#include "3d.h"#include "gameseg.h"#include "vclip.h"#include "lighting.h"#include "fuelcen.h"#include "newdemo.h"#include "automap.h"#include "endlevel.h"#include "key.h"#include "newmenu.h"#include "u_mem.h"#include "piggy.h"#include "d_io.h"Classes | |
| struct | window |
| struct | sort_item |
Defines | |
| #define | INITIAL_LOCAL_LIGHT (F1_0/4) |
| #define | DEFAULT_RENDER_DEPTH 16 |
| #define | _search_mode 0 |
| #define | FLASH_CYCLE_RATE f1_0 |
| #define | CROSS_WIDTH i2f(8) |
| #define | CROSS_HEIGHT i2f(8) |
| #define | RED BM_XRGB(63,0,0) |
| #define | WHITE BM_XRGB(63,63,63) |
| #define | SORT_LIST_SIZE 50 |
Functions | |
| void | render_mine (int start_seg_num, fix eye_offset) |
| int | toggle_outline_mode (void) |
| int | toggle_show_only_curside (void) |
| void | draw_outline (int nverts, g3s_point **pointlist) |
| void | free_reticle_canvas () |
| void | show_reticle (int force_big) |
| void | draw_3d_reticle (fix eye_offset) |
| void | flash_frame () |
| void | render_face (int segnum, int sidenum, int nv, short *vp, int tmap1, int tmap2, uvl *uvlp, vms_vector *norm) |
| void | render_side (segment *segp, int sidenum) |
| void | do_render_object (int objnum) |
| void | render_start_frame () |
| g3s_codes | rotate_list (int nv, short *pointnumlist) |
| void | project_list (int nv, short *pointnumlist) |
| void | render_segment (int segnum) |
| void | outline_seg_side (segment *seg, int _side, int edge, int vert) |
| ubyte | code_window_point (fix x, fix y, window *w) |
| void | draw_window_box (int color, short left, short top, short right, short bot) |
| int | matt_find_connect_side (int seg0, int seg1) |
| int | find_seg_side (segment *seg, short *verts, int notside) |
| int | find_joining_side_norms (vms_vector *norm0_0, vms_vector *norm0_1, vms_vector *norm1_0, vms_vector *norm1_1, vms_vector **pnt0, vms_vector **pnt1, segment *seg, int s0, int s1) |
| int | compare_children (segment *seg, short c0, short c1) |
| int | sort_seg_children (segment *seg, int n_children, short *child_list) |
| void | add_obj_to_seglist (int objnum, int listnum) |
| int | sort_func (sort_item *a, sort_item *b) |
| void | build_object_lists (int n_segs) |
| void | render_frame (fix eye_offset) |
| void | build_segment_list (int start_seg_num) |
Variables | |
| int | Clear_window_color = -1 |
| int | Clear_window = 2 |
| int | RL_framecount = -1 |
| short | Rotated_last [MAX_VERTICES] |
| object * | Viewer = NULL |
| vms_vector | Viewer_eye |
| int | N_render_segs |
| fix | Render_zoom = 0x9000 |
| ubyte | object_rendered [MAX_OBJECTS] |
| int | Render_depth = DEFAULT_RENDER_DEPTH |
| int | Detriangulation_on = 1 |
| fix | Face_reflectivity = (F1_0/2) |
| int | Outline_mode = 0 |
| int | Show_only_curside = 0 |
| grs_canvas * | reticle_canvas = NULL |
| fix | flash_scale |
| fix | flash_rate = FLASH_CYCLE_RATE |
| fix | Tulate_min_dot = (F1_0/4) |
| fix | Min_n0_n1_dot = (F1_0*15/16) |
| int | draw_boxes = 0 |
| int | window_check = 1 |
| int | draw_edges = 0 |
| int | new_seg_sorting = 1 |
| int | pre_draw_segs = 0 |
| int | no_migrate_segs = 1 |
| int | migrate_objects = 1 |
| int | behind_check = 1 |
| int | check_window_check = 0 |
| char | visited2 [MAX_SEGMENTS] |
| char | visited [MAX_SEGMENTS] |
| short | Render_list [MAX_RENDER_SEGS] |
| short | Seg_depth [MAX_RENDER_SEGS] |
| ubyte | processed [MAX_RENDER_SEGS] |
| int | lcnt_save |
| int | scnt_save |
| short | render_pos [MAX_SEGMENTS] |
| window | render_windows [MAX_RENDER_SEGS] |
| short | render_obj_list [MAX_RENDER_SEGS+N_EXTRA_OBJ_LISTS][OBJS_PER_SEG] |
| int | Window_clip_left |
| int | Window_clip_top |
| int | Window_clip_right |
| int | Window_clip_bot |
| int | Two_sides_to_edge [6][6][2] |
| int | Edge_to_sides [8][8][2] |
| int | ssc_total = 0 |
| int | ssc_swaps = 0 |
| sort_item | sort_list [SORT_LIST_SIZE] |
| int | n_sort_items |
| int | Use_player_head_angles = 0 |
| vms_angvec | Player_head_angles |
| int | Num_tmaps_drawn |
| int | Total_pixels |
| int | Rear_view = 0 |
| int | first_terminal_seg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Initial value: {
{ {-1,-1}, {2,5}, {-1,-1}, {1,5}, {1,2}, {-1,-1}, {-1,-1}, {-1,-1} },
{ {2,5}, {-1,-1}, {3,5}, {-1,-1}, {-1,-1}, {2,3}, {-1,-1}, {-1,-1} },
{ {-1,-1}, {3,5}, {-1,-1}, {0,5}, {-1,-1}, {-1,-1}, {0,3}, {-1,-1} },
{ {1,5}, {-1,-1}, {0,5}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {0,1} },
{ {1,2}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {2,4}, {-1,-1}, {1,4} },
{ {-1,-1}, {2,3}, {-1,-1}, {-1,-1}, {2,4}, {-1,-1}, {3,4}, {-1,-1} },
{ {-1,-1}, {-1,-1}, {0,3}, {-1,-1}, {-1,-1}, {3,4}, {-1,-1}, {0,4} },
{ {-1,-1}, {-1,-1}, {-1,-1}, {0,1}, {1,4}, {-1,-1}, {0,4}, {-1,-1} },
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Initial value: {
{ {-1,-1}, {3,7}, {-1,-1}, {2,6}, {6,7}, {2,3} },
{ {3,7}, {-1,-1}, {0,4}, {-1,-1}, {4,7}, {0,3} },
{ {-1,-1}, {0,4}, {-1,-1}, {1,5}, {4,5}, {0,1} },
{ {2,6}, {-1,-1}, {1,5}, {-1,-1}, {5,6}, {1,2} },
{ {6,7}, {4,7}, {4,5}, {5,6}, {-1,-1}, {-1,-1} },
{ {2,3}, {0,3}, {0,1}, {1,2}, {-1,-1}, {-1,-1} }
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.4.6