isle-portable/CONFIG/MainDlg.h
VoxelTek 84bd0a1a87
Rework of isle-config, add resolution adjustment and max framerate settings (#608)
* Add resolution adjustment, framerate limit, etc

- isle-config has been reworked to be a smaller, more organised window
- resolution adjustment has now been added to isle-config, so that the resolution on windowed game start can be set
- max framerate setting added to isle-config
- higher-quality options disabled in isle-config if computer has too little RAM (unlikely)

* Make clang-format happy

* Switch to MxS32, move variable declaration to end

* Adjust sizing of resolution spinboxes

* Add full screen video mode

When full screen is enabled, the game goes full-screen, and the screen resolution changes.

* Rework to add Exclusive Fullscreen option.

* Remove comment

* Raise max LoD value to 60

* Fix tab order

* Simplify code
2025-07-16 02:29:45 +00:00

84 lines
2.0 KiB
C++

#if !defined(AFX_MAINDLG_H)
#define AFX_MAINDLG_H
#include "compat.h"
#include "decomp.h"
#include "res/resource.h"
#include <QDialog>
#include <QFileDialog>
namespace Ui
{
class MainDialog;
}
// VTABLE: CONFIG 0x004063e0
// SIZE 0x70
class CMainDialog : public QDialog {
Q_OBJECT
public:
CMainDialog(QWidget* pParent = nullptr);
~CMainDialog() override;
protected:
void UpdateInterface();
private:
bool m_modified = false;
bool m_advanced = false;
Ui::MainDialog* m_ui = nullptr;
void keyReleaseEvent(QKeyEvent* event) override;
bool OnInitDialog();
private slots:
void OnList3DevicesSelectionChanged(int row);
void OnCheckbox3DSound(bool checked);
void OnRadiobuttonModelLowQuality(bool checked);
void OnRadiobuttonModelMediumQuality(bool checked);
void OnRadiobuttonModelHighQuality(bool checked);
void OnRadiobuttonTextureLowQuality(bool checked);
void OnRadiobuttonTextureHighQuality(bool checked);
void OnCheckboxMusic(bool checked);
void OnCheckboxFullscreen(bool checked);
void OnCheckboxExclusiveFullscreen(bool checked);
void OnCheckboxRumble(bool checked);
void OnCheckboxTexture(bool checked);
void TouchControlsChanged(int index);
void TransitionTypeChanged(int index);
void accept() override;
void reject() override;
void launch();
void SelectDataPathDialog();
void SelectSavePathDialog();
void DataPathEdited();
void SavePathEdited();
void MaxLoDChanged(int value);
void MaxActorsChanged(int value);
void SelectTexturePathDialog();
void TexturePathEdited();
void XResChanged(int i);
void YResChanged(int i);
void AspectRatioChanged(int index);
void EnsureAspectRatio();
void FramerateChanged(int i);
};
// SYNTHETIC: CONFIG 0x00403de0
// CMainDialog::`scalar deleting destructor'
// FUNCTION: CONFIG 0x00403e60
// CMainDialog::_GetBaseMessageMap
// FUNCTION: CONFIG 0x00403e70
// CMainDialog::GetMessageMap
// GLOBAL: CONFIG 0x00406120
// CMainDialog::messageMap
// GLOBAL: CONFIG 0x00406128
// CMainDialog::_messageEntries
#endif // !defined(AFX_MAINDLG_H)