diff options
author | Sergeanur <s.anureev@yandex.ua> | 2021-02-26 09:56:26 +0100 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-02-26 09:56:26 +0100 |
commit | 59c9ae29cf12477576b0872a342bcbe5979b8281 (patch) | |
tree | 1e50d2a165c39db4aa942287cab88439ac8488a3 /src/audio/PolRadio.h | |
parent | Fix controls (diff) | |
download | re3-59c9ae29cf12477576b0872a342bcbe5979b8281.tar re3-59c9ae29cf12477576b0872a342bcbe5979b8281.tar.gz re3-59c9ae29cf12477576b0872a342bcbe5979b8281.tar.bz2 re3-59c9ae29cf12477576b0872a342bcbe5979b8281.tar.lz re3-59c9ae29cf12477576b0872a342bcbe5979b8281.tar.xz re3-59c9ae29cf12477576b0872a342bcbe5979b8281.tar.zst re3-59c9ae29cf12477576b0872a342bcbe5979b8281.zip |
Diffstat (limited to 'src/audio/PolRadio.h')
-rw-r--r-- | src/audio/PolRadio.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/audio/PolRadio.h b/src/audio/PolRadio.h new file mode 100644 index 00000000..368708b6 --- /dev/null +++ b/src/audio/PolRadio.h @@ -0,0 +1,46 @@ +#pragma once + +#include "Crime.h" + +struct cAMCrime { + int32 type; + CVector position; + uint16 timer; + + cAMCrime() + { + type = CRIME_NONE; + position = CVector(0.0f, 0.0f, 0.0f); + timer = 0; + } +}; + +VALIDATE_SIZE(cAMCrime, 20); + +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; + } + } +}; + +VALIDATE_SIZE(cPoliceRadioQueue, 444); |