diff options
Diffstat (limited to 'src/audio')
-rw-r--r-- | src/audio/AudioManager.h | 37 | ||||
-rw-r--r-- | src/audio/MusicManager.cpp | 6 | ||||
-rw-r--r-- | src/audio/PoliceRadio.cpp | 12 |
3 files changed, 14 insertions, 41 deletions
diff --git a/src/audio/AudioManager.h b/src/audio/AudioManager.h index ad558061..01fa055d 100644 --- a/src/audio/AudioManager.h +++ b/src/audio/AudioManager.h @@ -143,28 +143,17 @@ public: int32 m_nSampleIndex; uint8 m_bBankIndex; bool m_bIs2D; - uint8 field_14; // unused - uint8 field_15; // unused int32 m_nReleasingVolumeModificator; int32 m_nFrequency; uint8 m_bVolume; - uint8 field_25; // unused - uint8 field_26; // unused - uint8 field_27; // unused float m_fDistance; int32 m_nLoopCount; int32 m_nLoopStart; int32 m_nLoopEnd; uint8 m_bEmittingVolume; - uint8 field_45; // unused - uint8 field_46; // unused - uint8 field_47; // unused float m_fSpeedMultiplier; float m_fSoundIntensity; bool m_bReleasingSoundFlag; - uint8 field_57; // unused - uint8 field_58; // unused - uint8 field_59; // unused CVector m_vecPos; bool m_bReverbFlag; uint8 m_bLoopsRemaining; @@ -173,15 +162,8 @@ public: int32 m_nReleasingVolumeDivider; bool m_bIsProcessed; bool m_bLoopEnded; - uint8 field_82; // unused - uint8 field_83; // unused int32 m_nCalculatedVolume; int8 m_nVolumeChange; - uint8 field_89; // unused - uint8 field_90; // unused - uint8 field_91; // unused - - // no methods }; static_assert(sizeof(tSound) == 92, "tSound: error"); @@ -197,12 +179,8 @@ public: bool m_bIsUsed; uint8 m_bStatus; int16 m_awAudioEvent[NUM_AUDIOENTITY_EVENTS]; - //uint8 gap_18[2]; float m_afVolume[NUM_AUDIOENTITY_EVENTS]; uint8 m_AudioEvents; - uint8 field_25[3]; - - // no methods }; static_assert(sizeof(tAudioEntity) == 40, "tAudioEntity: error"); @@ -216,8 +194,6 @@ public: float m_fDistance; uint8 m_bVolume; int8 m_nProcess; - - // no methods }; static_assert(sizeof(tPedComment) == 28, "tPedComment: error"); @@ -244,18 +220,12 @@ class cMissionAudio public: CVector m_vecPos; bool m_bPredefinedProperties; - //uint8 gap_13[3]; int m_nSampleIndex; uint8 m_bLoadingStatus; uint8 m_bPlayStatus; uint8 field_22; // todo find a name - uint8 field_23; // unused int32 m_nMissionAudioCounter; bool m_bIsPlayed; - uint8 field_29; // unused - uint8 field_30; // unused - uint8 field_31; // unused - // no methods }; static_assert(sizeof(cMissionAudio) == 32, "cMissionAudio: error"); @@ -305,17 +275,11 @@ public: uint8 m_bActiveSamples; uint8 field_4; // unused bool m_bDynamicAcousticModelingStatus; - uint8 field_6; // unused - uint8 field_7; // unused float m_fSpeedOfSound; bool m_bTimerJustReset; - uint8 field_13; // unused - uint8 field_14; // unused - uint8 field_15; // unused int32 m_nTimer; tSound m_sQueueSample; bool m_bActiveSampleQueue; - uint8 gap_109[3]; // unused tSound m_asSamples[NUM_SOUNDS_SAMPLES_BANKS][NUM_SOUNDS_SAMPLES_SLOTS]; uint8 m_abSampleQueueIndexTable[NUM_SOUNDS_SAMPLES_BANKS][NUM_SOUNDS_SAMPLES_SLOTS]; uint8 m_bSampleRequestQueuesStatus[NUM_SOUNDS_SAMPLES_BANKS]; @@ -341,7 +305,6 @@ public: uint8 m_bTimeSpent; uint8 m_bUserPause; uint8 m_bPreviousUserPause; - uint8 field_19195; // unused uint32 m_FrameCounter; cAudioManager(); diff --git a/src/audio/MusicManager.cpp b/src/audio/MusicManager.cpp index 2cc1d929..01b7df56 100644 --- a/src/audio/MusicManager.cpp +++ b/src/audio/MusicManager.cpp @@ -51,6 +51,12 @@ cMusicManager::PlayerInCar() if(State == PED_DRAG_FROM_CAR || State == PED_EXIT_CAR || State == PED_ARRESTED) return false; + if (!FindPlayerVehicle()) + return true; + + if (FindPlayerVehicle()->m_status == STATUS_WRECKED) + return false; + switch(FindPlayerVehicle()->m_modelIndex) { case MI_FIRETRUCK: case MI_AMBULAN: diff --git a/src/audio/PoliceRadio.cpp b/src/audio/PoliceRadio.cpp index d9c6bfd7..c4946da6 100644 --- a/src/audio/PoliceRadio.cpp +++ b/src/audio/PoliceRadio.cpp @@ -1,15 +1,18 @@ #include "common.h" #include "DMAudio.h" + #include "AudioManager.h" + #include "AudioSamples.h" #include "MusicManager.h" -#include "PoliceRadio.h" #include "PlayerPed.h" -#include "sampman.h" -#include "Zones.h" +#include "PoliceRadio.h" +#include "Replay.h" #include "Vehicle.h" #include "World.h" +#include "Zones.h" +#include "sampman.h" const int maxVolume = 127; const int channels = ARRAY_SIZE(cAudioManager::m_asActiveSamples); @@ -155,7 +158,8 @@ cAudioManager::ServicePoliceRadio() if(!m_bUserPause) { bool crimeReport = SetupCrimeReport(); #ifdef FIX_BUGS // Crash at 0x5fe6ef - if(!FindPlayerPed() || !FindPlayerPed()->m_pWanted) return; + if(CReplay::IsPlayingBack() || !FindPlayerPed() || !FindPlayerPed()->m_pWanted) + return; #endif wantedLevel = FindPlayerPed()->m_pWanted->m_nWantedLevel; if(!crimeReport) { |