inline static void debug_history_step(const char *st) { if (event_record_active()) { if (debug_buffer_ptr + DEBUG_MAXLINELEN >= DEBUG_HISTORY_MAXFILESIZE) { debug_create_new_file(); } debug_buffer_ptr += sprintf(debug_buffer + debug_buffer_ptr, "%s\n", st); } if (event_playback_active()) { char tempstr[DEBUG_MAXLINELEN]; int line_len = sprintf(tempstr, "%s\n", st); if (debug_buffer_ptr >= debug_buffer_size) { debug_open_new_file(); } debug_file_line++; if (strncmp(st, debug_buffer + debug_buffer_ptr, strlen(st)) != 0) { event_playback_stop(); ui_error(translate_text(IDGS_PLAYBACK_ERROR_DIFFERENT) , st, debug_file_line, debug_file_current - 1); } debug_buffer_ptr += line_len; } }
void debug_reset_milestone(void) { if (debug.trace_mode < DEBUG_HISTORY) return; debug_file_current = debug_file_milestone - 1; debug_create_new_file(); }
void debug_set_milestone(void) { if (debug.trace_mode < DEBUG_HISTORY) { return; } debug_create_new_file(); debug_file_milestone = debug_file_current; }
void debug_start_recording(void) { if (debug.trace_mode < DEBUG_HISTORY) return; debug_autoplay_current_frame = 0; debug_file_current = 0; debug_file_milestone = 0; debug_buffer_ptr = 0; debug_buffer = lib_malloc(DEBUG_HISTORY_MAXFILESIZE); debug_create_new_file(); }