Factor queue stuff to its own file
[lsnes.git] / include / core / instance.hpp
blob79d28ec084e2a99808c3cb4c5840b6d4fe82ba86
1 #ifndef _instance__hpp__included__
2 #define _instance__hpp__included__
4 #include <deque>
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
30 emulator_instance();
31 movie_logic mlogic;
32 memory_space memory;
33 lua::state lua;
34 memwatch_set mwatch;
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;
49 rrdata nrrdata;
50 cart_mappings_refresher cmapper;
51 controller_state controls;
52 project_state project;
53 debug_context dbg;
54 framerate_regulator framerate;
55 emu_framebuffer fbuf;
56 input_queue iqueue;
57 threads::id emu_thread;
60 extern emulator_instance lsnes_instance;
62 emulator_instance& CORE();
64 #endif