2011-09-13 17:50:18 +03:00
|
|
|
#ifndef _mainloop__hpp__included__
|
|
|
|
#define _mainloop__hpp__included__
|
|
|
|
|
|
|
|
#include "rom.hpp"
|
|
|
|
#include "moviefile.hpp"
|
|
|
|
#include "movie.hpp"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Emulator main loop.
|
|
|
|
*/
|
2011-09-20 22:05:49 +03:00
|
|
|
void main_loop(struct loaded_rom& rom, struct moviefile& settings, bool load_has_to_succeed = false)
|
|
|
|
throw(std::bad_alloc, std::runtime_error);
|
2011-11-19 08:10:50 +02:00
|
|
|
std::vector<std::string> get_jukebox_names();
|
2012-01-13 20:42:49 +02:00
|
|
|
void set_jukebox_names(const std::vector<std::string>& newj);
|
2011-10-05 02:24:34 +03:00
|
|
|
void update_movie_state();
|
2012-05-18 19:03:32 +03:00
|
|
|
extern std::string msu1_base_path;
|
2011-10-05 02:24:34 +03:00
|
|
|
|
2012-05-19 14:37:49 +03:00
|
|
|
/**
|
|
|
|
* Signal that fast rewind operation is needed.
|
|
|
|
*
|
|
|
|
* Parameter ptr: If NULL, saves a state and calls lua_callback_do_unsafe_rewind() with quicksave, movie and NULL.
|
|
|
|
* If non-NULL, calls lua_callback_do_unsafe_rewind() with movie and this parameter, but without quicksave.
|
|
|
|
*/
|
|
|
|
void mainloop_signal_need_rewind(void* ptr);
|
|
|
|
|
2013-02-07 17:40:32 +02:00
|
|
|
void set_stop_at_frame(uint64_t frame = 0);
|
2013-02-09 18:35:13 +02:00
|
|
|
void set_jukebox_size(size_t size);
|
|
|
|
size_t get_jukebox_size();
|
2013-02-09 21:22:24 +02:00
|
|
|
void set_firmwarepath(const std::string& fwp);
|
|
|
|
std::string get_firmwarepath();
|
|
|
|
extern volatile uint32_t advance_timeout_first;
|
|
|
|
extern volatile bool pause_on_end;
|
|
|
|
|
2013-02-07 17:40:32 +02:00
|
|
|
|
2012-05-18 19:03:32 +03:00
|
|
|
#endif
|