1 #ifndef _instance__hpp__included__
2 #define _instance__hpp__included__
5 #include "core/command.hpp"
6 #include "core/controllerframe.hpp"
7 #include "core/debug.hpp"
8 #include "core/emustatus.hpp"
9 #include "core/framebuffer.hpp"
10 #include "core/framerate.hpp"
11 #include "core/inthread.hpp"
12 #include "core/movie.hpp"
13 #include "core/moviedata.hpp"
14 #include "core/mbranch.hpp"
15 #include "core/memorymanip.hpp"
16 #include "core/memorywatch.hpp"
17 #include "core/multitrack.hpp"
18 #include "core/project.hpp"
19 #include "core/queue.hpp"
20 #include "library/command.hpp"
21 #include "library/lua-base.hpp"
22 #include "library/memoryspace.hpp"
23 #include "library/settingvar.hpp"
24 #include "library/keyboard.hpp"
25 #include "library/keyboard-mapper.hpp"
28 struct emulator_instance
35 settingvar::group settings
;
36 settingvar::cache setcache
;
37 voice_commentary commentary
;
38 subtitle_commentary subtitles
;
39 movie_branches mbranch
;
40 multitrack_edit mteditor
;
41 _lsnes_status status_A
;
42 _lsnes_status status_B
;
43 _lsnes_status status_C
;
44 triplebuffer::triplebuffer
<_lsnes_status
> status
;
45 keyboard::keyboard keyboard
;
46 keyboard::mapper mapper
;
47 command::group command
;
48 alias_binds_manager abindmanager
;
50 cart_mappings_refresher cmapper
;
51 controller_state controls
;
52 project_state project
;
54 framerate_regulator framerate
;
57 threads::id emu_thread
;
60 extern emulator_instance lsnes_instance
;
62 emulator_instance
& CORE();