Merge pull request #771 from theR4K/miamiDev

more audio for god of audio
This commit is contained in:
Sergeanur 2020-11-10 22:32:12 +02:00 committed by GitHub
commit 5c64dba65a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1119 additions and 727 deletions

File diff suppressed because it is too large Load Diff

View File

@ -275,6 +275,7 @@ cAudioManager::ResetTimers(uint32 time)
SampleManager.SetEffectsFadeVolume(0); SampleManager.SetEffectsFadeVolume(0);
SampleManager.SetMusicFadeVolume(0); SampleManager.SetMusicFadeVolume(0);
MusicManager.ResetMusicAfterReload(); MusicManager.ResetMusicAfterReload();
m_bIsPlayerShutUp = false;
#ifdef AUDIO_OAL #ifdef AUDIO_OAL
SampleManager.Service(); SampleManager.Service();
#endif #endif
@ -622,7 +623,6 @@ cAudioManager::AddDetailsToRequestedOrderList(uint8 sample)
m_abSampleQueueIndexTable[m_nActiveSampleQueue][i] = sample; m_abSampleQueueIndexTable[m_nActiveSampleQueue][i] = sample;
} }
// --MIAMI: Done
void void
cAudioManager::AddReflectionsToRequestedQueue() cAudioManager::AddReflectionsToRequestedQueue()
{ {
@ -684,7 +684,6 @@ cAudioManager::AddReflectionsToRequestedQueue()
m_sQueueSample.m_fDistance = oldDist; m_sQueueSample.m_fDistance = oldDist;
} }
// --MIAMI: Done
void void
cAudioManager::UpdateReflections() cAudioManager::UpdateReflections()
{ {

View File

@ -4,6 +4,7 @@
#include "AudioCollision.h" #include "AudioCollision.h"
#include "PoliceRadio.h" #include "PoliceRadio.h"
#include "VehicleModelInfo.h" #include "VehicleModelInfo.h"
#include "Vehicle.h"
class tSound class tSound
{ {
@ -97,7 +98,7 @@ public:
void Process(); // done void Process(); // done
}; };
VALIDATE_SIZE(cPedComments, 1164); VALIDATE_SIZE(cPedComments, 0x490);
class CEntity; class CEntity;
@ -230,8 +231,8 @@ public:
~cAudioManager(); ~cAudioManager();
// getters // getters
uint32 GetFrameCounter() const { return m_FrameCounter; } uint32 GetFrameCounter() const { return m_FrameCounter; } // done
float GetReflectionsDistance(int32 idx) const { return m_afReflectionsDistances[idx]; } float GetReflectionsDistance(int32 idx) const { return m_afReflectionsDistances[idx]; } // done
int32 GetRandomNumber(int32 idx) const { return m_anRandomTable[idx]; } int32 GetRandomNumber(int32 idx) const { return m_anRandomTable[idx]; }
int32 GetRandomNumberInRange(int32 idx, int32 low, int32 high) const { return (m_anRandomTable[idx] % (high - low + 1)) + low; } int32 GetRandomNumberInRange(int32 idx, int32 low, int32 high) const { return (m_anRandomTable[idx] % (high - low + 1)) + low; }
bool IsMissionAudioSamplePlaying(uint8 slot) const; // { return m_sMissionAudio.m_nPlayStatus == 1; } bool IsMissionAudioSamplePlaying(uint8 slot) const; // { return m_sMissionAudio.m_nPlayStatus == 1; }
@ -248,7 +249,7 @@ public:
void CalculateDistance(bool &condition, float dist); // done void CalculateDistance(bool &condition, float dist); // done
bool CheckForAnAudioFileOnCD() const; // done bool CheckForAnAudioFileOnCD() const; // done
void ClearActiveSamples(); // done void ClearActiveSamples(); // done
void ClearMissionAudio(uint8 slot); // done void ClearMissionAudio(uint8 slot); // done (inlined in vc)
void ClearRequestedQueue(); // done (inlined in vc) void ClearRequestedQueue(); // done (inlined in vc)
uint32 ComputeDopplerEffectedFrequency(uint32 oldFreq, float position1, float position2, float speedMultiplier) const; // done uint32 ComputeDopplerEffectedFrequency(uint32 oldFreq, float position1, float position2, float speedMultiplier) const; // done
int32 ComputePan(float, CVector *); // done int32 ComputePan(float, CVector *); // done
@ -358,7 +359,7 @@ public:
uint32 GetGenericFemaleTalkSfx(CPed *ped, int16 sound); // todo names (inlined in vc) uint32 GetGenericFemaleTalkSfx(CPed *ped, int16 sound); // todo names (inlined in vc)
// end of functions returning talk sfx // end of functions returning talk sfx
void GenerateIntegerRandomNumberTable(); void GenerateIntegerRandomNumberTable(); // done
char *Get3DProviderName(uint8 id) const; char *Get3DProviderName(uint8 id) const;
uint8 GetCDAudioDriveLetter() const; uint8 GetCDAudioDriveLetter() const;
int8 GetCurrent3DProviderIndex() const; int8 GetCurrent3DProviderIndex() const;
@ -373,107 +374,108 @@ public:
uint8 GetNum3DProvidersAvailable() const; // done uint8 GetNum3DProvidersAvailable() const; // done
uint32 GetPedCommentSfx(CPed *ped, int32 sound); uint32 GetPedCommentSfx(CPed *ped, int32 sound);
void GetPhrase(uint32 &phrase, uint32 &prevPhrase, uint32 sample, uint32 maxOffset) const; void GetPhrase(uint32 &phrase, uint32 &prevPhrase, uint32 sample, uint32 maxOffset) const;
float GetVehicleDriveWheelSkidValue(uint8 wheel, CAutomobile *automobile, cTransmission *transmission, float velocityChange); float GetVehicleDriveWheelSkidValue(CVehicle* veh, tWheelState wheelState, float gasPedalAudio, cTransmission* transmission, float velocityChange); // done
float GetVehicleNonDriveWheelSkidValue(uint8 wheel, CAutomobile *automobile, cTransmission *transmission, float velocityChange); float GetVehicleNonDriveWheelSkidValue(CVehicle* veh, tWheelState wheelState, cTransmission* transmission, float velocityChange); // done
bool HasAirBrakes(int32 model) const; // done bool HasAirBrakes(int32 model) const; // done
void Initialise(); // done void Initialise(); // done
void InitialisePoliceRadio(); void InitialisePoliceRadio(); //done
void InitialisePoliceRadioZones(); void InitialisePoliceRadioZones(); //done
void InterrogateAudioEntities(); // done void InterrogateAudioEntities(); // done
bool IsAudioInitialised() const; bool IsAudioInitialised() const; // done
bool IsMissionAudioSampleFinished(uint8 slot); bool IsMissionAudioSampleFinished(uint8 slot); // done
bool IsMP3RadioChannelAvailable() const; // done bool IsMP3RadioChannelAvailable() const; // done
bool MissionScriptAudioUsesPoliceChannel(int32 soundMission) const; bool MissionScriptAudioUsesPoliceChannel(int32 soundMission) const; //done
void PlayLoadedMissionAudio(uint8 slot); // done void PlayLoadedMissionAudio(uint8 slot); // done
void PlayOneShot(int32 index, int16 sound, float vol); // done void PlayOneShot(int32 index, int16 sound, float vol); // done
void PlaySuspectLastSeen(float x, float y, float z); // void PlaySuspectLastSeen(float x, float y, float z); // done
void PlayerJustGotInCar() const; // done void PlayerJustGotInCar() const; // done
void PlayerJustLeftCar() const; // done void PlayerJustLeftCar() const; // done
void PostInitialiseGameSpecificSetup(); // void PostInitialiseGameSpecificSetup(); // done
void PostTerminateGameSpecificShutdown(); // done void PostTerminateGameSpecificShutdown(); // done
void PreInitialiseGameSpecificSetup() const; // done void PreInitialiseGameSpecificSetup() const; // done
void PreloadMissionAudio(uint8 slot, Const char *name); // done void PreloadMissionAudio(uint8 slot, Const char *name); // done
void PreTerminateGameSpecificShutdown(); // done void PreTerminateGameSpecificShutdown(); // done
/// processX - main logic of adding new sounds /// processX - main logic of adding new sounds
void ProcessActiveQueues(); //done void ProcessActiveQueues(); // done
bool ProcessAirBrakes(cVehicleParams *params); bool ProcessAirBrakes(cVehicleParams& params); // done
bool ProcessBoatEngine(cVehicleParams *params); bool ProcessBoatEngine(cVehicleParams& params);
bool ProcessBoatMovingOverWater(cVehicleParams *params); bool ProcessBoatMovingOverWater(cVehicleParams& params);
#ifdef GTA_BRIDGE #ifdef GTA_BRIDGE
void ProcessBridge(); void ProcessBridge(); // done(bcs not exists in VC)
void ProcessBridgeMotor(); void ProcessBridgeMotor(); // done(bcs not exists in VC)
void ProcessBridgeOneShots(); void ProcessBridgeOneShots(); // done(bcs not exists in VC)
void ProcessBridgeWarning(); void ProcessBridgeWarning(); // done(bcs not exists in VC)
#endif #endif
bool ProcessCarBombTick(cVehicleParams *params); // done bool ProcessCarBombTick(cVehicleParams& params); // done
void ProcessCesna(cVehicleParams *params); // void ProcessCarHeli(cVehicleParams& params); // done
//void ProcessCrane(); // void ProcessCesna(cVehicleParams& params); //
bool ProcessEngineDamage(cVehicleParams *params); // done //void ProcessCrane(); // done(bcs not exists in VC)
bool ProcessEngineDamage(cVehicleParams& params); // done
void ProcessEntity(int32 sound); // done void ProcessEntity(int32 sound); // done
void ProcessExplosions(int32 explosion); // done void ProcessExplosions(int32 explosion); // done
void ProcessFireHydrant(); // done void ProcessFireHydrant(); // done
void ProcessFires(int32 entity); // void ProcessFires(int32 entity); // done
void ProcessFrontEnd(); // done void ProcessFrontEnd(); // done
void ProcessGarages(); // void ProcessGarages(); //
void ProcessCarHeli(cVehicleParams* params); // done void ProcessJumbo(cVehicleParams& params); // done
void ProcessVehicleFlatTyre(cVehicleParams* params); // done void ProcessJumboAccel(CPlane *plane); // done
void ProcessJumbo(cVehicleParams *); // void ProcessJumboDecel(CPlane *plane); // done
void ProcessJumboAccel(CPlane *plane); // void ProcessJumboFlying(); // done
void ProcessJumboDecel(CPlane *plane); // void ProcessJumboLanding(CPlane *plane); // done
void ProcessJumboFlying(); // void ProcessJumboTakeOff(CPlane *plane); // done
void ProcessJumboLanding(CPlane *plane); // void ProcessJumboTaxi(); // done
void ProcessJumboTakeOff(CPlane *plane); //
void ProcessJumboTaxi(); //
void ProcessLoopingScriptObject(uint8 sound); // void ProcessLoopingScriptObject(uint8 sound); //
void ProcessMissionAudio(); // void ProcessMissionAudio(); //
void ProcessMissionAudioSlot(uint8 slot); // void ProcessMissionAudioSlot(uint8 slot); //
void ProcessModelCarEngine(cVehicleParams *params); // void ProcessModelHeliVehicle(cVehicleParams& params); // done
void ProcessModelVehicle(cVehicleParams& params); // done
void ProcessOneShotScriptObject(uint8 sound); // void ProcessOneShotScriptObject(uint8 sound); //
void ProcessPed(CPhysical *ped); // void ProcessPed(CPhysical *ped); // done
void ProcessPedOneShots(cPedParams *params); // void ProcessPedOneShots(cPedParams *params); //
void ProcessPhysical(int32 id); // done void ProcessPhysical(int32 id); // done
void ProcessPlane(cVehicleParams *params); // done void ProcessPlane(cVehicleParams& params); // done
void ProcessPlayersVehicleEngine(cVehicleParams *params, CVehicle* veh); // done void ProcessPlayerMood(); // done
void ProcessProjectiles(); // void ProcessPlayersVehicleEngine(cVehicleParams& params, CVehicle* veh); // done
void ProcessRainOnVehicle(cVehicleParams *params); // void ProcessProjectiles(); // done
void ProcessReverb() const; // void ProcessRainOnVehicle(cVehicleParams& params); // done
bool ProcessReverseGear(cVehicleParams *params); // done void ProcessReverb() const; // done
bool ProcessReverseGear(cVehicleParams& params); // done
void ProcessScriptObject(int32 id); // done void ProcessScriptObject(int32 id); // done
void ProcessSpecial(); void ProcessSpecial(); // done
#ifdef GTA_TRAIN #ifdef GTA_TRAIN
bool ProcessTrainNoise(cVehicleParams *params); bool ProcessTrainNoise(cVehicleParams *params); //done(bcs not exists in VC)
#endif #endif
void ProcessVehicle(CVehicle *vehicle); //done, but need add model functions void ProcessVehicle(CVehicle *vehicle); // done
bool ProcessVehicleDoors(cVehicleParams *params); //done bool ProcessVehicleDoors(cVehicleParams& params); // done
void ProcessVehicleEngine(cVehicleParams *params); //done void ProcessVehicleEngine(cVehicleParams& params); // done
void UpdateGasPedalAudio(CVehicle* veh, int vehType); //done void ProcessVehicleFlatTyre(cVehicleParams& params); // done
void ProcessVehicleHorn(cVehicleParams *params); bool ProcessVehicleHorn(cVehicleParams& params); // done
void ProcessVehicleOneShots(cVehicleParams *params); void ProcessVehicleOneShots(cVehicleParams& params); // done
bool ProcessVehicleReverseWarning(cVehicleParams *params); bool ProcessVehicleReverseWarning(cVehicleParams& params); // done
bool ProcessVehicleRoadNoise(cVehicleParams *params); bool ProcessVehicleRoadNoise(cVehicleParams& params); // done
bool ProcessVehicleSirenOrAlarm(cVehicleParams *params); bool ProcessVehicleSirenOrAlarm(cVehicleParams& params); // done
bool ProcessVehicleSkidding(cVehicleParams *params); bool ProcessVehicleSkidding(cVehicleParams& params); // done
void ProcessWaterCannon(int32); void ProcessWaterCannon(int32); // done
void ProcessWeather(int32 id); //done void ProcessWeather(int32 id); // done
bool ProcessWetRoadNoise(cVehicleParams *params); bool ProcessWetRoadNoise(cVehicleParams& params); // done
void ProcessEscalators(); //done void ProcessEscalators(); // done
void ProcessExtraSounds(); //done void ProcessExtraSounds(); // done
int32 RandomDisplacement(uint32 seed) const; int32 RandomDisplacement(uint32 seed) const; // done
void ReacquireDigitalHandle() const; // done void ReacquireDigitalHandle() const; // done
void ReleaseDigitalHandle() const; // done void ReleaseDigitalHandle() const; // done
void ReportCollision(CEntity *entity1, CEntity *entity2, uint8 surface1, uint8 surface2, float collisionPower, float intensity2); // done void ReportCollision(CEntity *entity1, CEntity *entity2, uint8 surface1, uint8 surface2, float collisionPower, float intensity2); // done
void ReportCrime(eCrimeType crime, const CVector &pos); // done void ReportCrime(eCrimeType crime, const CVector &pos); // done
void ResetAudioLogicTimers(uint32 timer); void ResetAudioLogicTimers(uint32 timer); // done
void ResetPoliceRadio(); void ResetPoliceRadio(); // done
void ResetTimers(uint32 time); void ResetTimers(uint32 time); // done
void Service(); void Service(); //done
void ServiceCollisions(); void ServiceCollisions(); //done
void ServicePoliceRadio(); void ServicePoliceRadio();
void ServicePoliceRadioChannel(uint8 wantedLevel); void ServicePoliceRadioChannel(uint8 wantedLevel);
void ServiceSoundEffects(); void ServiceSoundEffects();
@ -501,13 +503,14 @@ public:
void SetupPedComments(cPedParams *params, uint32 sound); // done void SetupPedComments(cPedParams *params, uint32 sound); // done
void SetupSuspectLastSeenReport(); void SetupSuspectLastSeenReport();
void Terminate(); void Terminate(); //done
void TranslateEntity(Const CVector *v1, CVector *v2) const; void TranslateEntity(Const CVector *v1, CVector *v2) const; //done
void UpdateReflections(); void UpdateGasPedalAudio(CVehicle* veh, int vehType); // done
void UpdateReflections(); //done
bool UsesReverseWarning(int32 model) const; //done bool UsesReverseWarning(int32 model) const; //done
bool UsesSiren(int32 model) const; bool UsesSiren(cVehicleParams& params) const; //done
bool UsesSirenSwitching(int32 model) const; bool UsesSirenSwitching(cVehicleParams& params) const; //done
CVehicle *FindVehicleOfPlayer(); //done CVehicle *FindVehicleOfPlayer(); //done
void SetPedTalkingStatus(CPed *ped, uint8 status); void SetPedTalkingStatus(CPed *ped, uint8 status);

View File

@ -33,7 +33,7 @@ enum eSound : uint16
SOUND_CAR_TANK_TURRET_ROTATE, SOUND_CAR_TANK_TURRET_ROTATE,
SOUND_CAR_BOMB_TICK, SOUND_CAR_BOMB_TICK,
SOUND_PLANE_ON_GROUND, SOUND_PLANE_ON_GROUND,
SOUND_31, SOUND_HELI_BLADE,
SOUND_32, SOUND_32,
SOUND_STEP_START, SOUND_STEP_START,
SOUND_STEP_END, SOUND_STEP_END,

View File

@ -381,6 +381,7 @@ private:
public: public:
static void RemoveThisPed(CPed* pPed); static void RemoveThisPed(CPed* pPed);
static uint32& GetLastMissionPassedTime() { return LastMissionPassedTime; }
#ifdef MISSION_SWITCHER #ifdef MISSION_SWITCHER
static void SwitchToMission(int32 mission); static void SwitchToMission(int32 mission);
#endif #endif

View File

@ -1494,7 +1494,7 @@ CAutomobile::ProcessControl(void)
blade = Multiply3x3(blade, GetMatrix()); blade = Multiply3x3(blade, GetMatrix());
camDist /= Max(Sqrt(distSq), 0.01f); camDist /= Max(Sqrt(distSq), 0.01f);
if(Abs(DotProduct(camDist, blade)) > 0.95f){ if(Abs(DotProduct(camDist, blade)) > 0.95f){
DMAudio.PlayOneShot(m_audioEntityId, SOUND_31, 0.0f); DMAudio.PlayOneShot(m_audioEntityId, SOUND_HELI_BLADE, 0.0f);
m_fPropellerRotation = m_aWheelRotation[1]; m_fPropellerRotation = m_aWheelRotation[1];
} }
} }