diff --git a/CMakeLists.txt b/CMakeLists.txt index 7144f5128b..dfaf1bc05b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -189,6 +189,8 @@ if (DUSK_MOVIE_SUPPORT) CMAKE_MSVC_RUNTIME_LIBRARY CMAKE_MSVC_DEBUG_INFORMATION_FORMAT CMAKE_OSX_ARCHITECTURES + CMAKE_OSX_DEPLOYMENT_TARGET + CMAKE_OSX_SYSROOT DEPLOYMENT_TARGET ENABLE_ARC ENABLE_BITCODE diff --git a/CMakePresets.json b/CMakePresets.json index d83ed045aa..11512642a0 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -429,7 +429,7 @@ "type": "BOOL", "value": true }, - "CMAKE_OSX_DEPLOYMENT_TARGET": "11.0", + "CMAKE_OSX_DEPLOYMENT_TARGET": "12.0", "CMAKE_IGNORE_PREFIX_PATH": "/opt/homebrew" } }, diff --git a/extern/aurora b/extern/aurora index 59349fb982..5a3c6d1b74 160000 --- a/extern/aurora +++ b/extern/aurora @@ -1 +1 @@ -Subproject commit 59349fb982892b534fcb96bc23c5042ae140d953 +Subproject commit 5a3c6d1b7451cd8ffb8d80cb4741b6849f703b10 diff --git a/include/dusk/settings.h b/include/dusk/settings.h index a924819978..7b777b5452 100644 --- a/include/dusk/settings.h +++ b/include/dusk/settings.h @@ -153,6 +153,7 @@ struct UserSettings { ConfigVar noMissClimbing; ConfigVar fastTears; ConfigVar no2ndFishForCat; + ConfigVar buttonFishing; ConfigVar instantSaves; ConfigVar instantText; ConfigVar sunsSong; diff --git a/src/d/actor/d_a_mg_rod.cpp b/src/d/actor/d_a_mg_rod.cpp index b413f80972..bbc7ab65e9 100644 --- a/src/d/actor/d_a_mg_rod.cpp +++ b/src/d/actor/d_a_mg_rod.cpp @@ -5765,6 +5765,12 @@ static void play_camera_u(dmg_rod_class* i_this) { } } +#if TARGET_PC +BOOL item_any_fishing_rod(int itemId) { + return itemId == dItemNo_FISHING_ROD_1_e || (itemId >= dItemNo_BEE_ROD_e && itemId <= dItemNo_JEWEL_WORM_ROD_e); +} +#endif + static int dmg_rod_Execute(dmg_rod_class* i_this) { fopAc_ac_c* actor = &i_this->actor; @@ -5831,6 +5837,17 @@ static int dmg_rod_Execute(dmg_rod_class* i_this) { i_this->prev_rod_substick_y = i_this->rod_substick_y; i_this->rod_substick_y = mDoCPd_c::getSubStickY(PAD_1); + #if TARGET_PC + if (dusk::getSettings().game.buttonFishing) { + if ((item_any_fishing_rod(dComIfGp_getSelectItem(0)) && mDoCPd_c::getHoldX(PAD_1)) || + (item_any_fishing_rod(dComIfGp_getSelectItem(1)) && mDoCPd_c::getHoldY(PAD_1))) + { + i_this->rod_stick_y = -1.0f; + i_this->rod_substick_y = -1.0f; + } + } + #endif + i_this->reel_speed = 5.0f; i_this->reel_btn_flags = mDoCPd_c::getHoldB(PAD_1) | mDoCPd_c::getHoldDown(PAD_1); if (mDoCPd_c::getHoldDown(PAD_1)) { diff --git a/src/dusk/settings.cpp b/src/dusk/settings.cpp index 3f189f0359..402001a1dc 100644 --- a/src/dusk/settings.cpp +++ b/src/dusk/settings.cpp @@ -41,6 +41,7 @@ UserSettings g_userSettings = { .noMissClimbing {"game.noMissClimbing", false}, .fastTears {"game.fastTears", false}, .no2ndFishForCat {"game.no2ndFishForCat", false}, + .buttonFishing {"game.buttonFishing", false}, .instantSaves {"game.instantSaves", false}, .instantText {"game.instantText", false}, .sunsSong {"game.sunsSong", false}, @@ -223,6 +224,7 @@ void registerSettings() { Register(g_userSettings.game.fastClimbing); Register(g_userSettings.game.fastTears); Register(g_userSettings.game.no2ndFishForCat); + Register(g_userSettings.game.buttonFishing); Register(g_userSettings.game.instantSaves); Register(g_userSettings.game.instantText); Register(g_userSettings.game.sunsSong); diff --git a/src/dusk/ui/preset.cpp b/src/dusk/ui/preset.cpp index 4d5950f1f4..5d1bbcdd28 100644 --- a/src/dusk/ui/preset.cpp +++ b/src/dusk/ui/preset.cpp @@ -37,6 +37,7 @@ void applyPresetDusk() { s.game.invertCameraXAxis.setValue(true); s.game.invertFirstPersonYAxis.setValue(true); s.game.no2ndFishForCat.setValue(true); + s.game.buttonFishing.setValue(true); s.game.enableAchievementToasts.setValue(true); s.game.enableControllerToasts.setValue(true); s.game.enableQuickTransform.setValue(true); diff --git a/src/dusk/ui/settings.cpp b/src/dusk/ui/settings.cpp index 826a87c144..b11875f48c 100644 --- a/src/dusk/ui/settings.cpp +++ b/src/dusk/ui/settings.cpp @@ -1173,6 +1173,8 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) { "Link will not recoil when his sword hits walls."); addOption("No 2nd Fish for Cat", getSettings().game.no2ndFishForCat, "Skip needing to catch a second fish for Sera's cat."); + addOption("Button Fishing", getSettings().game.buttonFishing, + "Allow fishing with the Fishing Rod using the button the item is assigned to."); addOption("Show Poe Count on Map", getSettings().game.enhancedMapMenus, "Displays collected/total number of Poe Souls for a region on the map."); addSpeedrunDisabledOption("Sun's Song (R+X)", getSettings().game.sunsSong,