Skip to content

Commit 308b15e

Browse files
authored
Merge pull request #160 from SuperDude88/legacy-race-mode
Required Boss Drops
2 parents b0ce452 + e376ae0 commit 308b15e

15 files changed

Lines changed: 254 additions & 91 deletions

gui/desktop/mainwindow.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,7 @@ void MainWindow::apply_config_settings()
540540
APPLY_COMBOBOX_SETTING(config, ui, dungeon_small_keys);
541541
APPLY_COMBOBOX_SETTING(config, ui, dungeon_big_keys);
542542
APPLY_COMBOBOX_SETTING(config, ui, dungeon_maps_compasses);
543+
APPLY_CHECKBOX_SETTING(config, ui, required_boss_items);
543544

544545
APPLY_SPINBOX_SETTING(config, ui, damage_multiplier, float(2.0f), float(MAXIMUM_DAMAGE_MULTIPLIER));
545546

@@ -860,6 +861,7 @@ void MainWindow::on_remove_swords_stateChanged(int arg1)
860861

861862
DEFINE_STATE_CHANGE_FUNCTION(randomize_charts)
862863
DEFINE_STATE_CHANGE_FUNCTION(chest_type_matches_contents)
864+
DEFINE_STATE_CHANGE_FUNCTION(required_boss_items)
863865

864866
void MainWindow::on_damage_multiplier_valueChanged(int multiplier)
865867
{

gui/desktop/mainwindow.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ private slots:
186186
void on_chest_type_matches_contents_stateChanged(int arg1);
187187
void on_damage_multiplier_valueChanged(int multiplier);
188188
void on_num_required_dungeons_currentIndexChanged(int index);
189+
void on_required_boss_items_stateChanged(int arg1);
189190

190191
// Convenience Tweaks
191192
void on_invert_sea_compass_x_axis_stateChanged(int arg1);

gui/desktop/mainwindow.ui

Lines changed: 94 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1746,46 +1746,86 @@
17461746
</property>
17471747
<layout class="QGridLayout" name="gridLayout_7">
17481748
<item row="1" column="0">
1749+
<widget class="QCheckBox" name="performance">
1750+
<property name="text">
1751+
<string>Performance</string>
1752+
</property>
1753+
</widget>
1754+
</item>
1755+
<item row="0" column="0">
17491756
<widget class="QCheckBox" name="do_not_generate_spoiler_log">
17501757
<property name="text">
17511758
<string>Do Not Generate Spoiler Log</string>
17521759
</property>
17531760
</widget>
17541761
</item>
17551762
<item row="2" column="1">
1763+
<widget class="QCheckBox" name="random_item_slide_item">
1764+
<property name="text">
1765+
<string>Start With Random Item Sliding Item</string>
1766+
</property>
1767+
</widget>
1768+
</item>
1769+
<item row="0" column="1">
1770+
<widget class="QCheckBox" name="classic_mode">
1771+
<property name="text">
1772+
<string>Classic Mode</string>
1773+
</property>
1774+
</widget>
1775+
</item>
1776+
<item row="1" column="1">
17561777
<widget class="QCheckBox" name="fix_rng">
17571778
<property name="text">
17581779
<string>Fix RNG</string>
17591780
</property>
17601781
</widget>
17611782
</item>
1762-
<item row="3" column="1">
1763-
<widget class="QCheckBox" name="random_item_slide_item">
1783+
<item row="3" column="0">
1784+
<widget class="QCheckBox" name="required_boss_items">
1785+
<property name="sizePolicy">
1786+
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
1787+
<horstretch>0</horstretch>
1788+
<verstretch>0</verstretch>
1789+
</sizepolicy>
1790+
</property>
17641791
<property name="text">
1765-
<string>Start With Random Item Sliding Item</string>
1792+
<string>Require Boss Items</string>
1793+
</property>
1794+
</widget>
1795+
</item>
1796+
<item row="2" column="0">
1797+
<widget class="QCheckBox" name="start_with_random_item">
1798+
<property name="text">
1799+
<string>Start With Random Item</string>
17661800
</property>
17671801
</widget>
17681802
</item>
1769-
<item row="6" column="0" colspan="2">
1770-
<layout class="QGridLayout" name="plandomizer_file_layout">
1803+
<item row="4" column="0" colspan="2">
1804+
<layout class="QHBoxLayout" name="horizontalLayout_33">
17711805
<property name="sizeConstraint">
17721806
<enum>QLayout::SizeConstraint::SetNoConstraint</enum>
17731807
</property>
1774-
<item row="0" column="1">
1775-
<widget class="QLabel" name="plandomizer_label">
1808+
<item>
1809+
<widget class="QCheckBox" name="plandomizer">
1810+
<property name="minimumSize">
1811+
<size>
1812+
<width>0</width>
1813+
<height>24</height>
1814+
</size>
1815+
</property>
17761816
<property name="text">
1777-
<string>Plandomizer File</string>
1817+
<string>Plandomizer</string>
17781818
</property>
17791819
</widget>
17801820
</item>
1781-
<item row="0" column="3">
1782-
<widget class="QPushButton" name="plandomizer_path_browse_button">
1821+
<item>
1822+
<widget class="QLabel" name="plandomizer_label">
17831823
<property name="text">
1784-
<string>Browse</string>
1824+
<string>Plandomizer File</string>
17851825
</property>
17861826
</widget>
17871827
</item>
1788-
<item row="0" column="2">
1828+
<item>
17891829
<widget class="QLineEdit" name="plandomizer_path">
17901830
<property name="sizePolicy">
17911831
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -1795,42 +1835,15 @@
17951835
</property>
17961836
</widget>
17971837
</item>
1798-
<item row="0" column="0">
1799-
<widget class="QCheckBox" name="plandomizer">
1800-
<property name="minimumSize">
1801-
<size>
1802-
<width>0</width>
1803-
<height>24</height>
1804-
</size>
1805-
</property>
1838+
<item>
1839+
<widget class="QPushButton" name="plandomizer_path_browse_button">
18061840
<property name="text">
1807-
<string>Plandomizer</string>
1841+
<string>Browse</string>
18081842
</property>
18091843
</widget>
18101844
</item>
18111845
</layout>
18121846
</item>
1813-
<item row="2" column="0">
1814-
<widget class="QCheckBox" name="performance">
1815-
<property name="text">
1816-
<string>Performance</string>
1817-
</property>
1818-
</widget>
1819-
</item>
1820-
<item row="1" column="1">
1821-
<widget class="QCheckBox" name="classic_mode">
1822-
<property name="text">
1823-
<string>Classic Mode</string>
1824-
</property>
1825-
</widget>
1826-
</item>
1827-
<item row="3" column="0">
1828-
<widget class="QCheckBox" name="start_with_random_item">
1829-
<property name="text">
1830-
<string>Start With Random Item</string>
1831-
</property>
1832-
</widget>
1833-
</item>
18341847
</layout>
18351848
</widget>
18361849
</item>
@@ -2108,13 +2121,6 @@
21082121
<string>Logic Tweaks</string>
21092122
</property>
21102123
<layout class="QGridLayout" name="gridLayout_9">
2111-
<item row="0" column="0">
2112-
<widget class="QCheckBox" name="open_drc">
2113-
<property name="text">
2114-
<string>Open DRC</string>
2115-
</property>
2116-
</widget>
2117-
</item>
21182124
<item row="0" column="1">
21192125
<widget class="QCheckBox" name="progressive_magic_always_double">
21202126
<property name="text">
@@ -2129,6 +2135,13 @@
21292135
</property>
21302136
</widget>
21312137
</item>
2138+
<item row="0" column="0">
2139+
<widget class="QCheckBox" name="open_drc">
2140+
<property name="text">
2141+
<string>Open DRC</string>
2142+
</property>
2143+
</widget>
2144+
</item>
21322145
</layout>
21332146
</widget>
21342147
</item>
@@ -2137,36 +2150,33 @@
21372150
<property name="title">
21382151
<string>In-Game Preferences</string>
21392152
</property>
2140-
<layout class="QGridLayout" name="gridLayout_11">
2141-
<item row="0" column="3">
2142-
<layout class="QHBoxLayout" name="horizontalLayout_27">
2153+
<layout class="QHBoxLayout" name="horizontalLayout_34">
2154+
<item>
2155+
<layout class="QHBoxLayout" name="horizontalLayout_28">
21432156
<item>
2144-
<widget class="QLabel" name="label_for_gyroscope">
2157+
<widget class="QLabel" name="label_for_ui_display">
21452158
<property name="text">
2146-
<string>Gyroscope</string>
2159+
<string>UI Display</string>
21472160
</property>
21482161
</widget>
21492162
</item>
21502163
<item>
2151-
<widget class="QComboBox" name="gyroscope">
2152-
<property name="currentText">
2153-
<string>Off</string>
2154-
</property>
2164+
<widget class="QComboBox" name="ui_display">
21552165
<item>
21562166
<property name="text">
2157-
<string>Off</string>
2167+
<string>On</string>
21582168
</property>
21592169
</item>
21602170
<item>
21612171
<property name="text">
2162-
<string>On</string>
2172+
<string>Off</string>
21632173
</property>
21642174
</item>
21652175
</widget>
21662176
</item>
21672177
</layout>
21682178
</item>
2169-
<item row="0" column="0">
2179+
<item>
21702180
<layout class="QHBoxLayout" name="horizontalLayout_24">
21712181
<item>
21722182
<widget class="QLabel" name="label_for_target_type">
@@ -2191,75 +2201,78 @@
21912201
</item>
21922202
</layout>
21932203
</item>
2194-
<item row="0" column="2">
2195-
<layout class="QHBoxLayout" name="horizontalLayout_26">
2204+
<item>
2205+
<layout class="QHBoxLayout" name="horizontalLayout_25">
21962206
<item>
2197-
<widget class="QLabel" name="label_for_first_person_camera">
2207+
<widget class="QLabel" name="label_for_camera">
21982208
<property name="text">
2199-
<string>First-Person Camera</string>
2209+
<string>Camera</string>
22002210
</property>
22012211
</widget>
22022212
</item>
22032213
<item>
2204-
<widget class="QComboBox" name="first_person_camera">
2214+
<widget class="QComboBox" name="camera">
22052215
<item>
22062216
<property name="text">
22072217
<string>Standard</string>
22082218
</property>
22092219
</item>
22102220
<item>
22112221
<property name="text">
2212-
<string>Reverse Up/Down</string>
2222+
<string>Reverse Left/Right</string>
22132223
</property>
22142224
</item>
22152225
</widget>
22162226
</item>
22172227
</layout>
22182228
</item>
2219-
<item row="0" column="1">
2220-
<layout class="QHBoxLayout" name="horizontalLayout_25">
2229+
<item>
2230+
<layout class="QHBoxLayout" name="horizontalLayout_26">
22212231
<item>
2222-
<widget class="QLabel" name="label_for_camera">
2232+
<widget class="QLabel" name="label_for_first_person_camera">
22232233
<property name="text">
2224-
<string>Camera</string>
2234+
<string>First-Person Camera</string>
22252235
</property>
22262236
</widget>
22272237
</item>
22282238
<item>
2229-
<widget class="QComboBox" name="camera">
2239+
<widget class="QComboBox" name="first_person_camera">
22302240
<item>
22312241
<property name="text">
22322242
<string>Standard</string>
22332243
</property>
22342244
</item>
22352245
<item>
22362246
<property name="text">
2237-
<string>Reverse Left/Right</string>
2247+
<string>Reverse Up/Down</string>
22382248
</property>
22392249
</item>
22402250
</widget>
22412251
</item>
22422252
</layout>
22432253
</item>
2244-
<item row="1" column="0">
2245-
<layout class="QHBoxLayout" name="horizontalLayout_28">
2254+
<item>
2255+
<layout class="QHBoxLayout" name="horizontalLayout_27">
22462256
<item>
2247-
<widget class="QLabel" name="label_for_ui_display">
2257+
<widget class="QLabel" name="label_for_gyroscope">
22482258
<property name="text">
2249-
<string>UI Display</string>
2259+
<string>Gyroscope</string>
22502260
</property>
22512261
</widget>
22522262
</item>
22532263
<item>
2254-
<widget class="QComboBox" name="ui_display">
2264+
<widget class="QComboBox" name="gyroscope">
2265+
<property name="currentText">
2266+
<string>Off</string>
2267+
</property>
22552268
<item>
22562269
<property name="text">
2257-
<string>On</string>
2270+
<string>Off</string>
22582271
</property>
22592272
</item>
22602273
<item>
22612274
<property name="text">
2262-
<string>Off</string>
2275+
<string>On</string>
22632276
</property>
22642277
</item>
22652278
</widget>
@@ -2269,9 +2282,6 @@
22692282
</layout>
22702283
</widget>
22712284
</item>
2272-
<item>
2273-
<widget class="QWidget" name="widget_2" native="true"/>
2274-
</item>
22752285
</layout>
22762286
</widget>
22772287
<widget class="QWidget" name="tracker_tab">
@@ -2470,7 +2480,7 @@ color: lightgray</string>
24702480
<cursorShape>ArrowCursor</cursorShape>
24712481
</property>
24722482
<property name="autoFillBackground">
2473-
<bool>true</bool>
2483+
<bool>false</bool>
24742484
</property>
24752485
<property name="styleSheet">
24762486
<string notr="true"/>

gui/desktop/option_descriptions.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ static std::unordered_map<std::string, std::string> optionDescriptions = {
123123
"num_required_dungeons",
124124
"Select the number of randomly-chosen bosses that are required. The door to Puppet Ganon will not unlock until you've defeated all of these bosses. Sectors with required bosses will be marked on the map.",
125125
},
126+
{
127+
"required_boss_items",
128+
"Required dungeon bosses will drop required items (e.g. Triforce Shards). Applies to \"Standard\" and \"Race Mode\" dungeons.",
129+
},
126130
{
127131
"randomize_charts",
128132
"Randomizes which sector is drawn on each Triforce/Treasure Chart."

0 commit comments

Comments
 (0)