18 #define GM_MULTIPLAYER (1 << 0)
19 #define GM_NORMAL (1 << 1)
20 #define GM_DEAD_DIED (1 << 2) // Died, waiting to blow up.
21 #define GM_DEAD_BLEW_UP (1 << 3) // Blew up.
22 #define GM_DEAD_ABORTED (1 << 4) // Player pressed a key, aborting death sequence.
23 #define GM_IN_MISSION (1 << 5) // Player is actually in the mission -- not at a pre-mission menu
25 #define GM_DEAD (GM_DEAD_DIED | GM_DEAD_BLEW_UP | GM_DEAD_ABORTED)
27 #define GM_STANDALONE_SERVER (1 << 8)
28 #define GM_STATS_TRANSFER (1 << 9) // in the process of stats transfer
29 #define GM_CAMPAIGN_MODE (1 << 10) // are we currently in a campaign.
31 #define VM_EXTERNAL (1 << 0) // Set if not viewing from player position.
32 #define VM_TRACK (1 << 1) // Set if viewer is tracking target.
33 #define VM_DEAD_VIEW (1 << 2) // Set if viewer is watching from dead view.
34 #define VM_CHASE (1 << 3) // Chase view.
35 #define VM_OTHER_SHIP (1 << 4) // View from another ship.
36 #define VM_EXTERNAL_CAMERA_LOCKED (1 << 5) // External camera is locked in place (ie controls move ship not camera)
37 #define VM_WARP_CHASE (1 << 6) // View while warping out (form normal view mode)
38 #define VM_PADLOCK_UP (1 << 7)
39 #define VM_PADLOCK_REAR (1 << 8)
40 #define VM_PADLOCK_LEFT (1 << 9)
41 #define VM_PADLOCK_RIGHT (1 << 10)
42 #define VM_WARPIN_ANCHOR (1 << 11) // special warpin camera mode
43 #define VM_TOPDOWN (1 << 12) //Camera is looking down on ship
44 #define VM_FREECAMERA (1 << 13) //Camera is not attached to any particular object, probably under SEXP control
46 #define VM_PADLOCK_ANY (VM_PADLOCK_UP|VM_PADLOCK_REAR|VM_PADLOCK_LEFT|VM_PADLOCK_RIGHT)
52 #define CUB_CUTSCENE (1<<0)
54 #define CUB_GRADUAL (1<<15)
89 #define SINGLEPLAYER !(Game_mode & GM_MULTIPLAYER)
105 #define DETAIL_DEFAULT (0xFFFFFFFF)
107 #define DETAIL_FLAG_STARS (1<<0) // draw the stars
108 #define DETAIL_FLAG_NEBULAS (1<<1) // draw the motion debris
109 #define DETAIL_FLAG_MOTION (1<<2) // draw the motion debris
110 #define DETAIL_FLAG_PLANETS (1<<3) // draw planets
111 #define DETAIL_FLAG_MODELS (1<<4) // draw models not as blobs
112 #define DETAIL_FLAG_LASERS (1<<5) // draw lasers not as pixels
113 #define DETAIL_FLAG_CLEAR (1<<6) // clear screen background after each frame
114 #define DETAIL_FLAG_HUD (1<<7) // draw hud stuff
115 #define DETAIL_FLAG_FIREBALLS (1<<8) // draw fireballs
116 #define DETAIL_FLAG_COLLISION (1<<9) // use good collision detection
130 #define NOISE_NUM_FRAMES 15
150 #define NUM_SKILL_LEVELS 5
159 #define MAX_DETAIL_LEVEL 4 // The highest valid value for the "analog" detail level settings
185 #define NUM_DEFAULT_DETAIL_LEVELS 4 // How many "predefined" detail levels there are
251 #define PROFILE(name, function) { profile_begin(name); function; profile_end(name); }
258 #define MAX_LIGHTS 256
259 #define MAX_LIGHT_LEVELS 16
261 #define safe_kill(a) if(a)vm_free(a)
265 void insertion_sort(
void *array,
size_t array_size,
size_t element_size,
int (*fncompare)(
const void *,
const void *));
void detail_level_set(int level)
int current_detail_level()
void get_profile_from_history(SCP_string &name, float *avg, float *min, float *max, uint *avg_micro_sec, uint *min_micro_sec, uint *max_micro_sec)
struct detail_levels detail_levels
void profile_begin(const char *name)
std::basic_string< char, std::char_traits< char >, std::allocator< char > > SCP_string
float Noise[NOISE_NUM_FRAMES]
void profile_init()
Called once at engine initialization to set the timer.
float Cutscene_delta_time
void profile_end(const char *name)
struct profile_sample profile_sample
void profile_dump_output()
float Cutscene_bars_progress
GLuint const GLchar * name
void insertion_sort(void *array, size_t array_size, size_t element_size, int(*fncompare)(const void *, const void *))
struct profile_sample_history profile_sample_history
SCP_string profile_output
void store_profile_in_history(SCP_string &name, float percent, uint time)
bool Glowpoint_use_depth_buffer
angles Viewer_slew_angles
bool PostProcessing_override
void windebug_memwatch_init()
uint children_sample_time
profile_auto(const char *profile_name)