summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorerorcun <erayorcunus@gmail.com>2021-02-02 05:31:29 +0300
committerGitHub <noreply@github.com>2021-02-02 05:31:29 +0300
commit1eb77c4d6d758b8efcc229c0b7056e6974dbb700 (patch)
tree73612989f5979a41d58319429723301efb3710e2 /src/core
parent3e0dbf42d49a1ce3f7a5aef441558376171c3ac9 (diff)
parent902e539c0d25ec418cd36c735079561f378c712c (diff)
Merge pull request #1016 from erorcun/miami
Overhaul MusicManager - fix radio bugs, scroll to prev station, radio…
Diffstat (limited to 'src/core')
-rw-r--r--src/core/Camera.cpp2
-rw-r--r--src/core/ControllerConfig.cpp45
-rw-r--r--src/core/ControllerConfig.h4
-rw-r--r--src/core/config.h6
4 files changed, 55 insertions, 2 deletions
diff --git a/src/core/Camera.cpp b/src/core/Camera.cpp
index 25d2e5c3..5b3f9aa5 100644
--- a/src/core/Camera.cpp
+++ b/src/core/Camera.cpp
@@ -1768,7 +1768,7 @@ CCamera::CamControl(void)
(m_bLookingAtPlayer || WhoIsInControlOfTheCamera == CAMCONTROL_OBBE) &&
!m_WideScreenOn &&
(WhoIsInControlOfTheCamera != CAMCONTROL_OBBE || bSwitchedToObbeCam))
- DMAudio.PlayFrontEndSound(SOUND_HUD_SOUND, 0);
+ DMAudio.PlayFrontEndSound(SOUND_HUD, 0);
}
// What a mess!
diff --git a/src/core/ControllerConfig.cpp b/src/core/ControllerConfig.cpp
index 23e86a79..7f634619 100644
--- a/src/core/ControllerConfig.cpp
+++ b/src/core/ControllerConfig.cpp
@@ -1765,6 +1765,51 @@ void CControllerConfigManager::DeleteMatching1rstPersonControls(e_ControllerActi
#undef CLEAR_ACTION_IF_NEEDED
+#ifdef RADIO_SCROLL_TO_PREV_STATION
+#define CHECK_ACTION(action) \
+if (key == GetControllerKeyAssociatedWithAction(action, type))\
+ return true;
+
+bool CControllerConfigManager::IsAnyVehicleActionAssignedToMouseKey(int32 key)
+{
+ const eControllerType type = MOUSE;
+ if (!GetIsKeyBlank(key, type))
+ {
+#ifdef BIND_VEHICLE_FIREWEAPON
+ CHECK_ACTION(VEHICLE_FIREWEAPON);
+#endif
+ CHECK_ACTION(VEHICLE_LOOKBEHIND);
+ CHECK_ACTION(VEHICLE_LOOKLEFT);
+ CHECK_ACTION(VEHICLE_LOOKRIGHT);
+ CHECK_ACTION(VEHICLE_HORN);
+ CHECK_ACTION(VEHICLE_HANDBRAKE);
+ CHECK_ACTION(VEHICLE_ACCELERATE);
+ CHECK_ACTION(VEHICLE_BRAKE);
+ CHECK_ACTION(VEHICLE_CHANGE_RADIO_STATION);
+ CHECK_ACTION(TOGGLE_SUBMISSIONS);
+ CHECK_ACTION(VEHICLE_TURRETLEFT);
+ CHECK_ACTION(VEHICLE_TURRETRIGHT);
+ CHECK_ACTION(VEHICLE_TURRETUP);
+ CHECK_ACTION(VEHICLE_TURRETDOWN);
+ CHECK_ACTION(VEHICLE_ENTER_EXIT);
+ CHECK_ACTION(CAMERA_CHANGE_VIEW_ALL_SITUATIONS);
+#ifndef BIND_VEHICLE_FIREWEAPON
+ CHECK_ACTION(PED_FIREWEAPON);
+#endif
+ CHECK_ACTION(GO_LEFT);
+ CHECK_ACTION(GO_RIGHT);
+ CHECK_ACTION(NETWORK_TALK);
+ CHECK_ACTION(SWITCH_DEBUG_CAM_ON);
+ CHECK_ACTION(TOGGLE_DPAD);
+ CHECK_ACTION(TAKE_SCREEN_SHOT);
+ CHECK_ACTION(SHOW_MOUSE_POINTER_TOGGLE);
+ }
+ return false;
+}
+
+#undef CHECK_ACTION
+#endif
+
void CControllerConfigManager::DeleteMatchingActionInitiators(e_ControllerAction action, int32 key, eControllerType type)
{
if (!GetIsKeyBlank(key, type))
diff --git a/src/core/ControllerConfig.h b/src/core/ControllerConfig.h
index 604fb5cc..d61e23e6 100644
--- a/src/core/ControllerConfig.h
+++ b/src/core/ControllerConfig.h
@@ -195,6 +195,10 @@ public:
void DeleteMatching1rstPersonControls (e_ControllerAction action, int32 key, eControllerType type);
void DeleteMatchingActionInitiators (e_ControllerAction action, int32 key, eControllerType type);
+#ifdef RADIO_SCROLL_TO_PREV_STATION
+ bool IsAnyVehicleActionAssignedToMouseKey(int32 key);
+#endif
+
bool GetIsKeyBlank(int32 key, eControllerType type);
e_ControllerActionType GetActionType(e_ControllerAction action);
diff --git a/src/core/config.h b/src/core/config.h
index 329d70b9..f64a7602 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -306,8 +306,8 @@ enum Config {
// Hud, frontend and radar
#define PC_MENU
-
#define FIX_RADAR // use radar size from early version before R* broke it
+#define RADIO_OFF_TEXT // Won't work without FIX_BUGS
#ifndef PC_MENU
# define PS2_MENU
@@ -376,6 +376,7 @@ static_assert(false, "SUPPORT_XBOX_SCRIPT and SUPPORT_MOBILE_SCRIPT are mutually
#define FREE_CAM // Rotating cam
// Audio
+#define RADIO_SCROLL_TO_PREV_STATION // Won't work without FIX_BUGS
#define AUDIO_CACHE // cache sound lengths to speed up the cold boot
//#define PS2_AUDIO_PATHS // changes audio paths for cutscenes and radio to PS2 paths (needs vbdec on MSS builds)
//#define AUDIO_OAL_USE_SNDFILE // use libsndfile to decode WAVs instead of our internal decoder
@@ -462,6 +463,7 @@ static_assert(false, "SUPPORT_XBOX_SCRIPT and SUPPORT_MOBILE_SCRIPT are mutually
#undef BUTTON_ICONS
#undef FIX_RADAR
+#undef RADIO_OFF_TEXT
#undef MAP_ENHANCEMENTS
#undef MUCH_SHORTER_OUTRO_SCREEN
@@ -490,4 +492,6 @@ static_assert(false, "SUPPORT_XBOX_SCRIPT and SUPPORT_MOBILE_SCRIPT are mutually
#undef IMPROVED_CAMERA
#undef FREE_CAM
#undef BIG_IMG
+
+#undef RADIO_SCROLL_TO_PREV_STATION
#endif