yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
mesen_debug_panel.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_AGENT_PANELS_MESEN_DEBUG_PANEL_H_
2#define YAZE_APP_EDITOR_AGENT_PANELS_MESEN_DEBUG_PANEL_H_
3
4#include <memory>
5#include <string>
6#include <vector>
7
9
10namespace yaze {
11namespace editor {
12
20 public:
23
27 void Draw();
28
32 void SetClient(std::shared_ptr<emu::mesen::MesenSocketClient> client);
33
37 bool IsConnected() const;
38
42 void Connect();
43 void ConnectToPath(const std::string& socket_path);
44
48 void Disconnect();
49
50 private:
52 void DrawLinkState();
53 void DrawSpriteList();
54 void DrawGameMode();
55 void DrawControlButtons();
57 void DrawStateControls();
58 void RefreshSocketList();
59 void RefreshState();
60
61 std::shared_ptr<emu::mesen::MesenSocketClient> client_;
62
63 // Cached state
65 std::vector<emu::mesen::SpriteInfo> sprites_;
68
69 // UI state
70 bool auto_refresh_ = true;
71 float refresh_interval_ = 0.1f; // 100ms
72 float time_since_refresh_ = 0.0f;
73 bool show_all_sprites_ = false;
74 bool show_cpu_state_ = false;
75 std::string connection_error_;
76 std::vector<std::string> socket_paths_;
78 char socket_path_buffer_[256] = {};
79 std::string status_message_;
80
84
85 // Section expansion state
86 bool link_expanded_ = true;
87 bool sprites_expanded_ = true;
89 bool cpu_expanded_ = false;
90};
91
92} // namespace editor
93} // namespace yaze
94
95#endif // YAZE_APP_EDITOR_AGENT_PANELS_MESEN_DEBUG_PANEL_H_
ImGui panel for Mesen2-OoS debugging integration.
void Connect()
Attempt to connect to Mesen2.
emu::mesen::GameState game_state_
void Disconnect()
Disconnect from Mesen2.
void SetClient(std::shared_ptr< emu::mesen::MesenSocketClient > client)
Set the socket client for Mesen2 communication.
std::vector< std::string > socket_paths_
emu::mesen::CpuState cpu_state_
bool IsConnected() const
Get connection status.
std::vector< emu::mesen::SpriteInfo > sprites_
emu::mesen::MesenState emu_state_
void ConnectToPath(const std::string &socket_path)
std::shared_ptr< emu::mesen::MesenSocketClient > client_
CPU register state from Mesen2.
Complete ALTTP game state from GAMESTATE command.
Emulation state from Mesen2.