Add fan sound
This commit is contained in:
parent
67e0814afb
commit
2ff43a0d1a
4 changed files with 38 additions and 8 deletions
36
audio.h
36
audio.h
|
@ -11,13 +11,15 @@
|
|||
file, left to be optionally loaded and played by the frontend).
|
||||
*/
|
||||
|
||||
#define LCR_SOUND_NONE 0
|
||||
#define LCR_SOUND_CLICK 1
|
||||
#define LCR_SOUND_NONE 0
|
||||
#define LCR_SOUND_CLICK 1
|
||||
#define LCR_SOUND_CRASH_SMALL 2
|
||||
#define LCR_SOUND_CRASH_BIG 3
|
||||
#define LCR_SOUND_CRASH_BIG 3
|
||||
#define LCR_SOUND_ACCELERATOR 4
|
||||
#define LCR_SOUND_FAN 5
|
||||
|
||||
#define LCR_AUDIO_CRASH_LEN 2048
|
||||
#define LCR_AUDIO_CRASH_SOUND_LEN 2048
|
||||
#define LCR_AUDIO_FAN_SOUND_LEN 4096
|
||||
|
||||
struct
|
||||
{
|
||||
|
@ -100,10 +102,10 @@ uint8_t LCR_audioGetNextSample(void)
|
|||
case LCR_SOUND_CRASH_BIG:
|
||||
{
|
||||
int limit = (LCR_audio.soundPlayed == LCR_SOUND_CRASH_BIG ? 256 : 96) -
|
||||
(LCR_audio.soundPlayedFrame * 256) / LCR_AUDIO_CRASH_LEN;
|
||||
(LCR_audio.soundPlayedFrame * 256) / LCR_AUDIO_CRASH_SOUND_LEN;
|
||||
|
||||
if (LCR_audio.frame % 2 || // lower frequency
|
||||
LCR_audio.soundPlayedFrame < LCR_AUDIO_CRASH_LEN / 4)
|
||||
LCR_audio.soundPlayedFrame < LCR_AUDIO_CRASH_SOUND_LEN / 4)
|
||||
LCR_audio.crashSample = _LCR_audioNoise();
|
||||
|
||||
if (LCR_audio.crashSample > limit)
|
||||
|
@ -127,6 +129,28 @@ uint8_t LCR_audioGetNextSample(void)
|
|||
|
||||
break;
|
||||
|
||||
case LCR_SOUND_FAN:
|
||||
{
|
||||
int limit = LCR_AUDIO_FAN_SOUND_LEN - LCR_audio.soundPlayedFrame;
|
||||
|
||||
if (limit > LCR_AUDIO_FAN_SOUND_LEN / 2)
|
||||
limit = LCR_AUDIO_FAN_SOUND_LEN - limit;
|
||||
|
||||
limit = (limit * 256) / (LCR_AUDIO_FAN_SOUND_LEN / 2);
|
||||
|
||||
result = _LCR_audioNoise();
|
||||
|
||||
if (result > limit)
|
||||
result = limit;
|
||||
|
||||
result = 128 - limit / 2 + result;
|
||||
|
||||
if (LCR_audio.soundPlayedFrame >= LCR_AUDIO_FAN_SOUND_LEN)
|
||||
LCR_audio.soundPlayed = LCR_SOUND_NONE;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case LCR_SOUND_CLICK:
|
||||
{
|
||||
int v = ((LCR_audio.soundPlayedFrame >> 6) *
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue