mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-12-19 03:16:47 +00:00
9435938ad9
Also simplify just a bit.
72 lines
1.7 KiB
C++
72 lines
1.7 KiB
C++
// NOTE: Apologies for the quality of this code, this is really from pre-opensource Dolphin - that is, 2003.
|
|
|
|
#pragma once
|
|
|
|
#include "Windows/W32Util/DialogManager.h"
|
|
#include "Windows/W32Util/TabControl.h"
|
|
#include "Windows/Debugger/Debugger_Lists.h"
|
|
#include "Core/Core.h"
|
|
#include "Core/MIPS/MIPSDebugInterface.h"
|
|
#include "Core/Debugger/Breakpoints.h"
|
|
#include <vector>
|
|
|
|
#include "Common/CommonWindows.h"
|
|
|
|
class CtrlDisAsmView;
|
|
|
|
class CDisasm : public Dialog
|
|
{
|
|
private:
|
|
int minWidth;
|
|
int minHeight;
|
|
DebugInterface *cpu;
|
|
u64 lastTicks;
|
|
|
|
HWND statusBarWnd;
|
|
CtrlBreakpointList* breakpointList;
|
|
CtrlThreadList* threadList;
|
|
CtrlStackTraceView* stackTraceView;
|
|
CtrlModuleList* moduleList;
|
|
TabControl* leftTabs;
|
|
TabControl* bottomTabs;
|
|
std::vector<BreakPoint> displayedBreakPoints_;
|
|
std::vector<MemCheck> displayedMemChecks_;
|
|
bool keepStatusBarText = false;
|
|
bool hideBottomTabs = false;
|
|
bool deferredSymbolFill_ = false;
|
|
|
|
BOOL DlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
|
|
void UpdateSize(WORD width, WORD height);
|
|
void SavePosition();
|
|
void updateThreadLabel(bool clear);
|
|
void stepInto();
|
|
void stepOver();
|
|
void stepOut();
|
|
void runToLine();
|
|
|
|
public:
|
|
int index;
|
|
|
|
CDisasm(HINSTANCE _hInstance, HWND _hParent, DebugInterface *cpu);
|
|
~CDisasm();
|
|
|
|
void Show(bool bShow, bool includeToTop = true) override;
|
|
|
|
void Update() override {
|
|
UpdateDialog();
|
|
SetDebugMode(Core_IsStepping(), false);
|
|
breakpointList->reloadBreakpoints();
|
|
};
|
|
void UpdateDialog();
|
|
void SetDebugMode(bool _bDebug, bool switchPC);
|
|
|
|
void Goto(u32 addr);
|
|
void NotifyMapLoaded();
|
|
|
|
private:
|
|
CtrlDisAsmView *DisAsmView();
|
|
void ProcessUpdateDialog();
|
|
|
|
bool updateDialogScheduled_ = false;
|
|
};
|