10 void() Sys_Debug_Init =
12 registercvar( SYSTEM_CVAR_VERSION_BUILDDATE, "", CVAR_READONLY );
13 cvar_set( SYSTEM_CVAR_VERSION_BUILDDATE, SYSTEM_CVAR_VERSION_BUILDDATE_VALUE );
14 registercvar( SYSTEM_CVAR_VERSION_BUILDTIME, "", CVAR_READONLY );
15 cvar_set( SYSTEM_CVAR_VERSION_BUILDTIME, SYSTEM_CVAR_VERSION_BUILDTIME_VALUE );
16 registercvar( SYSTEM_CVAR_VERSION, "", CVAR_READONLY );
17 cvar_set( SYSTEM_CVAR_VERSION, SYSTEM_CVAR_VERSION_VALUE );
19 registercvar( SYSTEM_CVAR_DEBUG, ftos( SYSTEM_CVAR_DEBUG_DEFAULT ), 0 );
20 registercvar( SYSTEM_CVAR_DEBUG_REF, ftos( SYSTEM_CVAR_DEBUG_REF_DEFAULT ), 0 );
21 registercvar( SYSTEM_CVAR_DEBUG_RUNFLAG, ftos( SYSTEM_CVAR_DEBUG_RUNFLAG_DEFAULT ), 0 );
22 registercvar( SYSTEM_CVAR_DEBUG_PROCESS, ftos( SYSTEM_CVAR_DEBUG_PROCESS_DEFAULT ), 0 );
23 registercvar( SYSTEM_CVAR_DEBUG_MGFX, ftos( SYSTEM_CVAR_DEBUG_MGFX_DEFAULT ), 0 );
24 registercvar( SYSTEM_CVAR_DEBUG_STRUCTURE, ftos( SYSTEM_CVAR_DEBUG_STRUCTURE_DEFAULT ), 0 );
25 registercvar( SYSTEM_CVAR_DEBUG_PARSER, SYSTEM_CVAR_DEBUG_PARSER_DEFAULT, 0 );
26 registercvar( SYSTEM_CVAR_DEBUG_PROCESS_FILTER, SYSTEM_CVAR_DEBUG_PROCESS_FILTER_DEFAULT, 0 );
27 registercvar( SYSTEM_CVAR_DEBUG_SOUND, ftos( SYSTEM_CVAR_DEBUG_SOUND_DEFAULT ), 0 );
28 registercvar( SYSTEM_CVAR_DEBUG_DUMP_NAMES, "0", 0 );
29 registercvar( SYSTEM_CVAR_DEBUG_AREA, ftos( SYSTEM_CVAR_DEBUG_AREA_DEFAULT ), 0 );
30 registercvar( SYSTEM_CVAR_DEBUG_STEP, ftos( SYSTEM_CVAR_DEBUG_STEP_DEFAULT ), 0 );
31 registercvar( SYSTEM_CVAR_DEBUG_MOUSE, ftos( SYSTEM_CVAR_DEBUG_MOUSE_DEFAULT ), 0 );
39 void() Sys_Debug_Frame =
41 local float lTemp1, lTemp2, lStep;
42 sys_debug = cvar( SYSTEM_CVAR_DEBUG );
44 sys_debug_ref = cvar( SYSTEM_CVAR_DEBUG_REF );
46 sys_debug_area = cvar( SYSTEM_CVAR_DEBUG_AREA );
48 sys_debug_sound = cvar( SYSTEM_CVAR_DEBUG_SOUND );
50 sys_debug_structure = cvar( SYSTEM_CVAR_DEBUG_STRUCTURE );
52 sys_debug_mouse = cvar( SYSTEM_CVAR_DEBUG_MOUSE );
54 lStep = cvar( SYSTEM_CVAR_DEBUG_STEP );
56 sys_debug_halt = true;
57 } else if( lStep == 2 ) {
58 sys_debug_halt = false;
59 cvar_set( SYSTEM_CVAR_DEBUG_STEP, "1" );
61 print( "Menu: -- Step: Time:", ftos( gettime() ), "\n" );
63 sys_debug_halt = false;
66 sys_debug_runflag = cvar( SYSTEM_CVAR_DEBUG_RUNFLAG );
67 // FIXME: evil bug in fteqcc!! dont pass function calls to switches
68 switch( sys_debug_runflag ) {
70 sys_debug_runflag = false;
73 cvar_set( SYSTEM_CVAR_DEBUG_RUNFLAG, "0" );
75 sys_debug_runflag = true;
79 sys_debug_process = cvar( SYSTEM_CVAR_DEBUG_PROCESS );
80 switch( sys_debug_process ) {
82 sys_debug_process = false;
85 cvar_set( SYSTEM_CVAR_DEBUG_PROCESS, "0" );
87 sys_debug_process = true;
91 sys_debug_mgfx = cvar( SYSTEM_CVAR_DEBUG_MGFX );
92 switch( sys_debug_mgfx ) {
94 sys_debug_mgfx = false;
97 cvar_set( SYSTEM_CVAR_DEBUG_MGFX, "0" );
99 sys_debug_mgfx = true;
103 lTemp1 = tokenize( cvar_string( SYSTEM_CVAR_DEBUG_PROCESS_FILTER ) );
104 sys_debug_process_filter = 0;
105 for( lTemp2 = 0 ; lTemp2 < lTemp1 ; ++lTemp2 )
106 if( argv( lTemp2 ) == "runflag" )
107 sys_debug_process_filter = sys_debug_process_filter | MENU_PROCESS_RUNFLAG;
108 else if( argv( lTemp2 ) == "draw" )
109 sys_debug_process_filter = sys_debug_process_filter | MENU_PROCESS_DRAW;
110 else if( argv( lTemp2 ) == "update" )
111 sys_debug_process_filter = sys_debug_process_filter | MENU_PROCESS_UPDATE;
112 else if( argv( lTemp2 ) == "mouse" )
113 sys_debug_process_filter = sys_debug_process_filter | MENU_PROCESS_MOUSE;
114 else if( argv( lTemp2 ) == "key" )
115 sys_debug_process_filter = sys_debug_process_filter | MENU_PROCESS_KEY;
117 lTemp1 = tokenize( cvar_string( SYSTEM_CVAR_DEBUG_PARSER ) );
118 sys_debug_parser = 0;
119 for( lTemp2 = 0 ; lTemp2 < lTemp1 ; ++lTemp2 )
120 if( argv( lTemp2 ) == "info" )
121 sys_debug_parser = sys_debug_parser | PARSER_INFO;
122 else if( argv( lTemp2 ) == "high" )
123 sys_debug_parser = sys_debug_parser | PARSER_HIGH;
124 else if( argv( lTemp2 ) == "low" )
125 sys_debug_parser = sys_debug_parser | PARSER_LOW;
129 sys_debug_halt = false;
130 sys_debug_ref = false;
131 sys_debug_area = false;
132 sys_debug_sound = false;
133 sys_debug_runflag = 0;
134 sys_debug_process = 0;
135 sys_debug_mgfx = false;
136 sys_debug_structure = 0;
137 sys_debug_parser = 0;
138 sys_debug_process_filter = 0;
141 if( cvar( SYSTEM_CVAR_DEBUG_DUMP_NAMES ) ) {
142 Sys_Debug_DumpNames();
143 cvar_set( SYSTEM_CVAR_DEBUG_DUMP_NAMES, "0" );
145 sys_debug_cursor_localpos = '-1 -1 -1';
153 void() Sys_Debug_Draw =
155 if( sys_debug_mouse == 1 )
156 Cursor_PrintInfo( '1 0 0', strcat( ftos( floor( sys_debug_cursor_localpos_x ) ),
157 " ", ftos( floor( sys_debug_cursor_localpos_y ) ) ), '9 9 0', '0.8 0.8 0.8',
158 1, DRAWFLAG_ADDITIVE );
159 else if( sys_debug_mouse == 2 )
160 Cursor_PrintInfo( '1 0 0', strcat( ftos( floor( Cursor_Position_x ) ), " ",
161 ftos( floor( Cursor_Position_y ) ) ), '9 9 0', '0.8 0.8 0.8', 1, DRAWFLAG_ADDITIVE );
169 void() Sys_Debug_DumpNames =
173 print( "Menu: Dumping names..\n" );
176 while( (lNode = nextent( lNode )) != null_entity )
177 print( "Menu: ", etos( lNode ), " <-> ", lNode.name, "\n" );