audio stuff

Collision audio and police radio stuff moved to a separate cpp's like in the original code
cPoliceRadioQueue added, code refactored correspondingly
cAudioManager::ServiceCollisions reversed
PlayOneShotScriptObject reversed
cAudioScriptObject moved to AudioScriptObject.cpp
Fixed use of numbers on non-integer types (bools, pointers)
enum is now used for ped audio calculation
Added fixes for vehicle description in the police radio (missing vehicles and wrong colors)
This commit is contained in:
Sergeanur
2020-01-25 12:41:22 +02:00
parent 6ff06ff7c6
commit da253837d1
12 changed files with 1395 additions and 1450 deletions

44
src/audio/PoliceRadio.h Normal file
View File

@ -0,0 +1,44 @@
#pragma once
struct cAMCrime {
int32 type;
CVector position;
uint16 timer;
cAMCrime()
{
type = CRIME_NONE;
position = CVector(0.0f, 0.0f, 0.0f);
timer = 0;
}
};
static_assert(sizeof(cAMCrime) == 20, "cAMCrime: error ");
class cPoliceRadioQueue
{
public:
int32 crimesSamples[60];
uint8 policeChannelTimer;
uint8 policeChannelTimerSeconds;
uint8 policeChannelCounterSeconds;
cAMCrime crimes[10];
cPoliceRadioQueue()
{
policeChannelTimerSeconds = 0;
policeChannelCounterSeconds = 0;
policeChannelTimer = 0;
}
void Add(uint32 sample)
{
if (policeChannelTimer != 60) {
crimesSamples[policeChannelTimerSeconds] = sample;
policeChannelTimer++;
policeChannelTimerSeconds = (policeChannelTimerSeconds + 1) % 60;
}
}
};
static_assert(sizeof(cPoliceRadioQueue) == 444, "cPoliceRadioQueue: error ");