mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-12-11 07:34:08 +00:00
171 lines
4.6 KiB
C++
171 lines
4.6 KiB
C++
#ifndef MAINWINDOW_H
|
|
#define MAINWINDOW_H
|
|
|
|
#include <QMainWindow>
|
|
#include <QTranslator>
|
|
#include <QTimer>
|
|
#include "Core/Core.h"
|
|
#include "input/input_state.h"
|
|
#include "debugger_disasm.h"
|
|
#include "debugger_memory.h"
|
|
#include "debugger_memorytex.h"
|
|
#include "debugger_displaylist.h"
|
|
#include "controls.h"
|
|
#include "gamepaddialog.h"
|
|
|
|
class QtEmuGL;
|
|
namespace Ui {
|
|
class MainWindow;
|
|
}
|
|
|
|
class MainWindow : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit MainWindow(QWidget *parent = 0);
|
|
~MainWindow();
|
|
|
|
Debugger_Disasm* GetDialogDisasm() { return dialogDisasm; }
|
|
Debugger_Memory* GetDialogMemory() { return memoryWindow; }
|
|
Debugger_MemoryTex* GetDialogMemoryTex() { return memoryTexWindow; }
|
|
Debugger_DisplayList* GetDialogDisplaylist() { return displaylistWindow; }
|
|
CoreState GetNextState() { return nextState; }
|
|
|
|
void ShowMemory(u32 addr);
|
|
void UpdateMenus();
|
|
|
|
protected:
|
|
void changeEvent(QEvent *e);
|
|
void closeEvent(QCloseEvent *);
|
|
void keyPressEvent(QKeyEvent *e);
|
|
void keyReleaseEvent(QKeyEvent *e);
|
|
|
|
public slots:
|
|
void Boot();
|
|
void CoreEmitWait(bool);
|
|
void Update();
|
|
|
|
private slots:
|
|
// File
|
|
void on_action_FileLoad_triggered();
|
|
void on_action_FileClose_triggered();
|
|
void on_action_FileQuickloadState_triggered();
|
|
void on_action_FileQuickSaveState_triggered();
|
|
void on_action_FileLoadStateFile_triggered();
|
|
void on_action_FileSaveStateFile_triggered();
|
|
void on_action_FileExit_triggered();
|
|
|
|
// Emulation
|
|
void on_action_EmulationRun_triggered();
|
|
void on_action_EmulationPause_triggered();
|
|
void on_action_EmulationReset_triggered();
|
|
void on_action_EmulationRunLoad_triggered();
|
|
|
|
// Debug
|
|
void on_action_DebugLoadMapFile_triggered();
|
|
void on_action_DebugSaveMapFile_triggered();
|
|
void on_action_DebugResetSymbolTable_triggered();
|
|
void on_action_DebugDumpFrame_triggered();
|
|
void on_action_DebugDisassembly_triggered();
|
|
void on_action_DebugDisplayList_triggered();
|
|
void on_action_DebugLog_triggered();
|
|
void on_action_DebugMemoryView_triggered();
|
|
void on_action_DebugMemoryViewTexture_triggered();
|
|
|
|
// Options
|
|
// Core
|
|
void on_action_CPUDynarec_triggered();
|
|
void on_action_CPUInterpreter_triggered();
|
|
void on_action_OptionsFastMemory_triggered();
|
|
void on_action_OptionsIgnoreIllegalReadsWrites_triggered();
|
|
void on_actionUse_MediaEngine_triggered();
|
|
|
|
// Controls
|
|
void on_action_OptionsControls_triggered();
|
|
void on_action_OptionsGamePadControls_triggered();
|
|
|
|
// Video
|
|
void on_action_AFOff_triggered();
|
|
void on_action_AF2x_triggered();
|
|
void on_action_AF4x_triggered();
|
|
void on_action_AF8x_triggered();
|
|
void on_action_AF16x_triggered();
|
|
|
|
void on_action_OptionsBufferedRendering_triggered();
|
|
void on_action_OptionsLinearFiltering_triggered();
|
|
void on_action_Simple_2xAA_triggered();
|
|
|
|
void on_action_OptionsScreen1x_triggered();
|
|
void on_action_OptionsScreen2x_triggered();
|
|
void on_action_OptionsScreen3x_triggered();
|
|
void on_action_OptionsScreen4x_triggered();
|
|
|
|
void on_action_Stretch_to_display_triggered();
|
|
void on_action_OptionsHardwareTransform_triggered();
|
|
void on_action_OptionsUseVBO_triggered();
|
|
void on_action_OptionsVertexCache_triggered();
|
|
void on_action_OptionsWireframe_triggered();
|
|
void on_action_OptionsDisplayRawFramebuffer_triggered();
|
|
void on_actionFrameskip_triggered();
|
|
|
|
// Sound
|
|
void on_action_Sound_triggered();
|
|
|
|
void on_action_OptionsFullScreen_triggered();
|
|
void on_action_OptionsShowDebugStatistics_triggered();
|
|
void on_action_Show_FPS_counter_triggered();
|
|
|
|
// Logs
|
|
void on_actionLogDefDebug_triggered();
|
|
void on_actionLogDefWarning_triggered();
|
|
void on_actionLogDefInfo_triggered();
|
|
void on_actionLogDefError_triggered();
|
|
|
|
void on_actionLogG3DDebug_triggered();
|
|
void on_actionLogG3DWarning_triggered();
|
|
void on_actionLogG3DError_triggered();
|
|
void on_actionLogG3DInfo_triggered();
|
|
|
|
void on_actionLogHLEDebug_triggered();
|
|
void on_actionLogHLEWarning_triggered();
|
|
void on_actionLogHLEInfo_triggered();
|
|
void on_actionLogHLEError_triggered();
|
|
|
|
// Help
|
|
void on_action_HelpOpenWebsite_triggered();
|
|
void on_action_HelpAbout_triggered();
|
|
|
|
// Others
|
|
void on_language_changed(QAction *action);
|
|
|
|
private:
|
|
void SetZoom(float zoom);
|
|
void SetGameTitle(QString text);
|
|
void loadLanguage(const QString &language);
|
|
void createLanguageMenu();
|
|
void notifyMapsLoaded();
|
|
|
|
QTranslator translator;
|
|
QString currentLanguage;
|
|
|
|
Ui::MainWindow *ui;
|
|
|
|
QtEmuGL *emugl;
|
|
QTimer timer;
|
|
CoreState nextState;
|
|
InputState input_state;
|
|
GlobalUIState lastUIState;
|
|
|
|
Debugger_Disasm *dialogDisasm;
|
|
Debugger_Memory *memoryWindow;
|
|
Debugger_MemoryTex *memoryTexWindow;
|
|
Debugger_DisplayList *displaylistWindow;
|
|
Controls *controls;
|
|
GamePadDialog *gamePadDlg;
|
|
|
|
QSet<int> pressedKeys;
|
|
};
|
|
|
|
#endif // MAINWINDOW_H
|