mirror of
https://github.com/stenzek/duckstation.git
synced 2025-07-24 19:10:20 +00:00
1131 lines
41 KiB
XML
1131 lines
41 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>SetupWizardDialog</class>
|
|
<widget class="QDialog" name="SetupWizardDialog">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>760</width>
|
|
<height>480</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>DuckStation Setup Wizard</string>
|
|
</property>
|
|
<property name="windowIcon">
|
|
<iconset>
|
|
<normalon>:/icons/duck.png</normalon>
|
|
</iconset>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<property name="horizontalSpacing">
|
|
<number>10</number>
|
|
</property>
|
|
<item row="0" column="0">
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<item>
|
|
<widget class="QLabel" name="logo">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>128</width>
|
|
<height>128</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>128</width>
|
|
<height>128</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="scaledContents">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_5">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Policy::Fixed</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<property name="spacing">
|
|
<number>20</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="labelLanguage">
|
|
<property name="font">
|
|
<font>
|
|
<bold>true</bold>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Language</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="labelBIOS">
|
|
<property name="text">
|
|
<string>BIOS Image</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="labelGameList">
|
|
<property name="text">
|
|
<string>Game Directories</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="labelController">
|
|
<property name="text">
|
|
<string>Controller Setup</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="labelGraphics">
|
|
<property name="text">
|
|
<string>Graphics Setup</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="labelAchievements">
|
|
<property name="text">
|
|
<string>RetroAchievements</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="labelComplete">
|
|
<property name="text">
|
|
<string>Complete</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>1</width>
|
|
<height>1</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="1" column="0" colspan="2">
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<property name="spacing">
|
|
<number>6</number>
|
|
</property>
|
|
<item>
|
|
<spacer name="horizontalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="back">
|
|
<property name="text">
|
|
<string>&Back</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="next">
|
|
<property name="text">
|
|
<string>&Next</string>
|
|
</property>
|
|
<property name="default">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="cancel">
|
|
<property name="text">
|
|
<string>&Cancel</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QStackedWidget" name="pages">
|
|
<property name="currentIndex">
|
|
<number>0</number>
|
|
</property>
|
|
<widget class="QWidget" name="page">
|
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
<property name="spacing">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="introLabel">
|
|
<property name="text">
|
|
<string><html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to DuckStation!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing DuckStation that you view the setup guide at <a href="https://github.com/stenzek/duckstation#downloading-and-running">https://github.com/stenzek/duckstation#downloading-and-running</a>.</p><p>By default, DuckStation will connect to the server at <a href="https://github.com/">github.com</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for DuckStation to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="openExternalLinks">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="textInteractionFlags">
|
|
<set>Qt::TextInteractionFlag::TextBrowserInteraction</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QFormLayout" name="formLayout_3">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>Language:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="language">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>200</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_5">
|
|
<property name="text">
|
|
<string>Theme:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QComboBox" name="theme"/>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<spacer name="verticalSpacer_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>1</width>
|
|
<height>1</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="2" column="0" colspan="2">
|
|
<widget class="QCheckBox" name="autoUpdateEnabled">
|
|
<property name="text">
|
|
<string>Enable Automatic Updates</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page_2">
|
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="label_4">
|
|
<property name="text">
|
|
<string><html><head/><body><p>DuckStation requires a PS1 or PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <span style=" font-weight:700;">from an actual PS1 unit that you own</span> (borrowing doesn't count). You should use Caetla or another utility to create an image from your console's BIOS ROM on your PC.</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct DuckStation to scan an alternative directory.</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
<item>
|
|
<widget class="QLabel" name="label_10">
|
|
<property name="text">
|
|
<string>BIOS Directory:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="biosSearchDirectory"/>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="browseBiosSearchDirectory">
|
|
<property name="text">
|
|
<string>Browse...</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="resetBiosSearchDirectory">
|
|
<property name="text">
|
|
<string>Reset</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QFormLayout" name="formLayout_4">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>NTSC-J (Japan):</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="imageNTSCJ">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_15">
|
|
<property name="text">
|
|
<string>NTSC-U/C (US/Canada):</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QComboBox" name="imageNTSCU">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_16">
|
|
<property name="text">
|
|
<string>PAL (Europe, Australia):</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QComboBox" name="imagePAL">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<item>
|
|
<spacer name="horizontalSpacer_4">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="openBiosSearchDirectory">
|
|
<property name="text">
|
|
<string>Open in Explorer...</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="refreshBiosList">
|
|
<property name="text">
|
|
<string>Refresh List</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>1</width>
|
|
<height>1</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page_3">
|
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="label_6">
|
|
<property name="text">
|
|
<string><html><head/><body><p>DuckStation will automatically scan and identify games from the selected directories below, and populate the game list. These games should be dumped from discs you own. Utilities such as ImgBurn can be used to create images of game discs in .bin/.cue format.</p><p>Supported formats for dumps include: <span style=" font-weight:700;">.cue</span> (Cue Sheets), <span style=" font-weight:700;">.iso/.img</span> (Single Track Image), <span style=" font-weight:700;">.ecm</span> (Error Code Modeling Image), <span style=" font-weight:700;">.mds</span> (Media Descriptor Sidecar), <span style=" font-weight:700;">.chd</span> (Compressed Hunks of Data), <span style=" font-weight:700;">.pbp</span> (PlayStation Portable, Only Decrypted).</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
<item>
|
|
<widget class="QLabel" name="label_7">
|
|
<property name="text">
|
|
<string>Search Directories (will be scanned for games)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer_5">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="addSearchDirectoryButton">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>Add...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset theme="folder-add-line"/>
|
|
</property>
|
|
<property name="toolButtonStyle">
|
|
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="removeSearchDirectoryButton">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>Remove</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset theme="folder-reduce-line"/>
|
|
</property>
|
|
<property name="toolButtonStyle">
|
|
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QTableWidget" name="searchDirectoryList">
|
|
<column>
|
|
<property name="text">
|
|
<string>Search Directory</string>
|
|
</property>
|
|
</column>
|
|
<column>
|
|
<property name="text">
|
|
<string>Scan Recursively</string>
|
|
</property>
|
|
</column>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page_4">
|
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
|
<property name="spacing">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="label_8">
|
|
<property name="text">
|
|
<string><html><head/><body><p>By default, DuckStation will map your keyboard to the virtual controller.</p><p><span style=" font-weight:700;">To use an external controller, you must map it first. </span>On this screen, you can automatically map any controller which is currently connected. If your controller is not currently connected, you can plug it in now.</p><p>To change controller bindings in more detail, or use multi-tap, open the Settings menu and choose Controllers once you have completed the Setup Wizard.</p></body></html></string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox">
|
|
<property name="title">
|
|
<string>Controller Port 1</string>
|
|
</property>
|
|
<layout class="QFormLayout" name="formLayout">
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="controller1Type"/>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_12">
|
|
<property name="text">
|
|
<string>Controller Mapped To:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_11">
|
|
<property name="text">
|
|
<string>Controller Type:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
|
<item>
|
|
<widget class="QLabel" name="controller1Mapping">
|
|
<property name="text">
|
|
<string>Default (Keyboard)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer_6">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="controller1AutomaticMapping">
|
|
<property name="text">
|
|
<string>Automatic Mapping</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset theme="controller-digital-line"/>
|
|
</property>
|
|
<property name="toolButtonStyle">
|
|
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox_2">
|
|
<property name="title">
|
|
<string>Controller Port 2</string>
|
|
</property>
|
|
<layout class="QFormLayout" name="formLayout_2">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_13">
|
|
<property name="text">
|
|
<string>Controller Type:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="controller2Type"/>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_14">
|
|
<property name="text">
|
|
<string>Controller Mapped To:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
|
<item>
|
|
<widget class="QLabel" name="controller2Mapping">
|
|
<property name="text">
|
|
<string>Default (Keyboard)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer_8">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="controller2AutomaticMapping">
|
|
<property name="text">
|
|
<string>Automatic Mapping</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset theme="controller-digital-line"/>
|
|
</property>
|
|
<property name="toolButtonStyle">
|
|
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_4">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>1</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page_6">
|
|
<layout class="QVBoxLayout" name="verticalLayout_8">
|
|
<property name="spacing">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="label_17">
|
|
<property name="text">
|
|
<string><html><head/><body><p>This page includes some of the commonly set graphics options in DuckStation.</p><p>These options are generally safe to enable, and compatible with most games. Changing the internal resolution and enabling PGXP geometry correction will significantly improve the graphical fidelity of most games.</p><p>It is recommended to use the <span style=" font-weight:700;">Automatic </span>renderer. You can change these options and others in <span style=" font-weight:700;">Graphics Settings </span>after completing setup.</p></body></html></string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QFormLayout" name="formLayout_5">
|
|
<property name="leftMargin">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>10</number>
|
|
</property>
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>Renderer:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="renderer">
|
|
<property name="toolTip">
|
|
<string>Selects the backend to use for rendering the console/game visuals.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="resolutionScaleLabel">
|
|
<property name="text">
|
|
<string>Internal Resolution:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QComboBox" name="resolutionScale">
|
|
<property name="toolTip">
|
|
<string>Setting this beyond 1x will enhance the resolution of rendered 3D polygons and lines. Only applies to the hardware backends. <br>This option is usually safe, with most games looking fine at higher resolutions. Higher resolutions require a more powerful GPU.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="textureFilteringLabel">
|
|
<property name="text">
|
|
<string>Texture Filtering:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QComboBox" name="textureFiltering">
|
|
<property name="toolTip">
|
|
<string>Smooths out the blockiness of magnified textures on 3D objects by using filtering. <br>Will have a greater effect on higher resolution scales.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="spriteTextureFilteringLabel">
|
|
<property name="text">
|
|
<string>Sprite Texture Filtering:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="QComboBox" name="spriteTextureFiltering">
|
|
<property name="toolTip">
|
|
<string>Smooths out the blockiness of magnified textures on 2D objects by using filtering. This filter only applies to sprites and other 2D elements, such as the HUD.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="0">
|
|
<widget class="QLabel" name="label_18">
|
|
<property name="text">
|
|
<string>Aspect Ratio:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="1">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_7" stretch="1,0,0,0">
|
|
<item>
|
|
<widget class="QComboBox" name="displayAspectRatio">
|
|
<property name="toolTip">
|
|
<string>Changes the aspect ratio used to display the console's output to the screen. The default is Auto (Game Native) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="customAspectRatioNumerator">
|
|
<property name="minimum">
|
|
<number>1</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>9999</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="customAspectRatioSeparator">
|
|
<property name="text">
|
|
<string>:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="customAspectRatioDenominator">
|
|
<property name="minimum">
|
|
<number>1</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>9999</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="6" column="0">
|
|
<widget class="QLabel" name="label_19">
|
|
<property name="text">
|
|
<string>Crop:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="6" column="1">
|
|
<widget class="QComboBox" name="displayCropMode">
|
|
<property name="toolTip">
|
|
<string>Determines how much of the area typically not visible on a consumer TV set to crop/hide. Some games display content in the overscan area, or use it for screen effects. May not display correctly with the "All Borders" setting. "Only Overscan" offers a good compromise between stability and hiding black borders.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="7" column="0">
|
|
<widget class="QLabel" name="label_20">
|
|
<property name="text">
|
|
<string>Scaling:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="7" column="1">
|
|
<widget class="QComboBox" name="displayScaling">
|
|
<property name="toolTip">
|
|
<string>Determines how the emulated console's output is upscaled or downscaled to your monitor's resolution.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="8" column="0" colspan="2">
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<item row="0" column="1">
|
|
<widget class="QCheckBox" name="widescreenHack">
|
|
<property name="toolTip">
|
|
<string>Scales vertex positions in screen-space to a widescreen aspect ratio, essentially increasing the field of view from 4:3 to the chosen display aspect ratio in 3D games. <b><u>May not be compatible with all games.</u></b></string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Widescreen Rendering</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="pgxpEnable">
|
|
<property name="toolTip">
|
|
<string>Reduces "wobbly" polygons and "warping" textures that are common in PS1 games. <strong>May not be compatible with all games.</strong></string>
|
|
</property>
|
|
<property name="text">
|
|
<string>PGXP Geometry Correction</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="4" column="0">
|
|
<widget class="QLabel" name="gpuDitheringModeLabel">
|
|
<property name="text">
|
|
<string>Dithering:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="1">
|
|
<widget class="QComboBox" name="gpuDitheringMode">
|
|
<property name="toolTip">
|
|
<string>Controls how dithering is applied in the emulated GPU. True Color disables dithering and produces the nicest looking gradients. Scaled options make the dither pattern less noticeable at higher resolutions. Shader Blending options perform blending in software, and are more accurate but have a <strong>significant</strong> performance penalty.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_6">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page_7">
|
|
<layout class="QVBoxLayout" name="verticalLayout_9">
|
|
<property name="spacing">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_10" stretch="0,1">
|
|
<item>
|
|
<widget class="QLabel" name="achievementsIconLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>58</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>58</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="scaledContents">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="achievementsTitleLabel">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>16777215</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string comment="Header text">RetroAchievements</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_21">
|
|
<property name="text">
|
|
<string><html><head/><body><p>DuckStation supports earning achievements and leaderboard tracking with RetroAchievements.</p><p>If you have a RetroAchievements account, you can use the form below to log in. If not, you can register at <a href="https://retroachievements.org/createaccount.php"><span style=" text-decoration: underline; color:#99ebff;">https://retroachievements.org/createaccount.php</span></a>.</p><p>A RetroAchievements account is <span style=" font-weight:700;">not</span> required to use DuckStation.</p></body></html></string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox_4">
|
|
<property name="title">
|
|
<string>Settings</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_3">
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="enable">
|
|
<property name="text">
|
|
<string>Enable Achievements</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QCheckBox" name="hardcoreMode">
|
|
<property name="text">
|
|
<string>Enable Hardcore Mode</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="loginBox">
|
|
<property name="title">
|
|
<string>Account</string>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_8" stretch="1,0">
|
|
<item>
|
|
<widget class="QLabel" name="loginStatus">
|
|
<property name="text">
|
|
<string>Username:
|
|
Login token generated at:</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
|
<item>
|
|
<widget class="QPushButton" name="viewProfile">
|
|
<property name="text">
|
|
<string>View Profile...</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="loginButton">
|
|
<property name="text">
|
|
<string>Login...</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_7">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>1</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page_5">
|
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="label_9">
|
|
<property name="text">
|
|
<string><html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using DuckStation.</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources>
|
|
<include location="resources/duckstation-qt.qrc"/>
|
|
</resources>
|
|
<connections/>
|
|
</ui>
|