static void playback_start (char *file) { char buffer[1024]; sprintf (buffer, "recordings/%s", file); playback_free (); if (record_load (buffer)) { playback_stop (); gamestate = GAME_AMODE; return; } /* if (playback_dump ()) { playback_stop (); gamestate = GAME_AMODE; return; } playback_dump2 (buffer); */ frame_counter = 0; rec_buffer_counter = 0; record_state = REC_PLAYING; input_mask = 0; fprintf (stdout, "Starting playback\n"); gamestate = GAME_RUNNING; game_start (); }
void playback_loop (void) { char buffer[1024]; if (num_files <= 0) { if (level_change_timer == 0) level_change_timer = 60; render_string_centre ("No files found", screen_height /2, red, font4); level_change_timer--; if (level_change_timer == 0) { playback_stop (); gamestate = GAME_AMODE; } return; } if (file_index < 0) file_index = 0; render_string_centre ("Playback", 0, green, font2); sprintf (buffer, "Select file %s", filelist[file_index]); render_string_centre (buffer, screen_height /2, green, font4); }
static void shutmenu(void) { fadeout(FADE_ALL); s_unloadmod(); // Housekeeping. weapon_removeall(nowplayer); shutlevel(); shutgame(); playback_stop(); cheatlevel = cheatsave; // Restore Previous Saved Game State. gstate = gsave; player[nowplayer] = psave; player[1-nowplayer] = psave2; // release resources. unloadfile(yesno); sYesNo.destroy(); unloadfile(addsub); sAddSub.destroy(); delete tiny; delete blue; delete back; unloadfile(pointer); sPointer.destroy(); unloadfile(head); sHead.destroy(); demoTexture.destroy(); delete menuback; }
static void effect_enable (PluginHandle * plugin, EffectPlugin * ep, bool_t enable) { if (ep->preserves_format) { pthread_mutex_lock (& mutex); if (enable) effect_insert (plugin, ep); else effect_remove (plugin); pthread_mutex_unlock (& mutex); } else { AUDDBG ("Reset to add/remove %s.\n", plugin_get_name (plugin)); int time = playback_get_time (); bool_t paused = playback_get_paused (); playback_stop (); playback_play (time, paused); } }
void drct_stop (void) { if (playback_get_playing ()) playback_stop (); }
static gboolean stop_cb(void *unused) { playback_stop(); return FALSE; }