feat: Enhance emulator functionality with card registration and UI improvements
- Registered multiple emulator cards (CPU Debugger, Memory Viewer, PPU Viewer, Audio Mixer) with the EditorCardManager for improved access and organization. - Updated EditorManager to support the new Emulator editor type in context-sensitive card controls. - Improved GraphicsEditor loading process with enhanced logging and palette management for graphics sheets. - Refactored MessageEditor to streamline font bitmap creation and texture queuing, ensuring better performance and clarity in the rendering loop.
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "app/emu/snes.h"
|
||||
#include "app/emu/audio/audio_backend.h"
|
||||
#include "app/emu/debug/breakpoint_manager.h"
|
||||
#include "app/gui/editor_card_manager.h"
|
||||
#include "app/emu/debug/disassembly_viewer.h"
|
||||
#include "app/emu/input/input_manager.h"
|
||||
#include "app/rom.h"
|
||||
@@ -36,6 +37,12 @@ class Emulator {
|
||||
void Initialize(gfx::IRenderer* renderer, const std::vector<uint8_t>& rom_data);
|
||||
void Run(Rom* rom);
|
||||
void Cleanup();
|
||||
|
||||
// Card visibility for emulator UI panels
|
||||
bool& show_cpu_debugger() { return show_cpu_debugger_; }
|
||||
bool& show_memory_viewer() { return show_memory_viewer_; }
|
||||
bool& show_ppu_viewer() { return show_ppu_viewer_; }
|
||||
bool& show_audio_mixer() { return show_audio_mixer_; }
|
||||
|
||||
auto snes() -> Snes& { return snes_; }
|
||||
auto running() const -> bool { return running_; }
|
||||
@@ -156,6 +163,12 @@ class Emulator {
|
||||
gfx::IRenderer* renderer_ = nullptr;
|
||||
void* ppu_texture_ = nullptr;
|
||||
|
||||
// Card visibility states
|
||||
bool show_cpu_debugger_ = false;
|
||||
bool show_memory_viewer_ = false;
|
||||
bool show_ppu_viewer_ = false;
|
||||
bool show_audio_mixer_ = false;
|
||||
|
||||
// Debugger infrastructure
|
||||
BreakpointManager breakpoint_manager_;
|
||||
debug::DisassemblyViewer disassembly_viewer_;
|
||||
|
||||
Reference in New Issue
Block a user