#pragma once #include class RSXDebugger : public wxFrame { u32 m_addr; u32 m_panel_width; u32 m_panel_height; u32 m_text_width; u32 m_text_height; wxTextCtrl* t_addr; u32 m_item_count; wxListView* m_list_commands; wxListView* m_list_flags; wxListView* m_list_programs; wxListView* m_list_lightning; wxListView* m_list_texture; wxListView* m_list_settings; wxPanel* p_buffer_colorA; wxPanel* p_buffer_colorB; wxPanel* p_buffer_colorC; wxPanel* p_buffer_colorD; wxPanel* p_buffer_depth; wxPanel* p_buffer_stencil; wxPanel* p_buffer_tex; uint m_cur_texture; public: bool exit; RSXDebugger(wxWindow* parent); ~RSXDebugger() { exit = true; } virtual void OnKeyDown(wxKeyEvent& event); virtual void OnChangeToolsAddr(wxCommandEvent& event); virtual void OnScrollMemory(wxMouseEvent& event); virtual void OnClickBuffer(wxMouseEvent& event); virtual void GoToGet(wxCommandEvent& event); virtual void GoToPut(wxCommandEvent& event); virtual void UpdateInformation(); virtual void GetMemory(); virtual void GetBuffers(); virtual void GetFlags(); virtual void GetPrograms(); virtual void GetLightning(); virtual void GetTexture(); virtual void GetSettings(); virtual void SetFlags(wxListEvent& event); virtual void SetPrograms(wxListEvent& event); virtual void OnSelectTexture(wxListEvent& event); const char* ParseGCMEnum(u32 value, u32 type); wxString DisAsmCommand(u32 cmd, u32 count, u32 currentAddr, u32 ioAddr); bool RSXReady(); void SetPC(const uint pc) { m_addr = pc; } };