add Outrun Radio, with "Outrun" BGM by Andrew Vice

This commit is contained in:
yuni 2024-11-17 03:43:16 +01:00
parent 0f33b6e88e
commit eceb4b329e
5 changed files with 25 additions and 1 deletions

View file

@ -5,6 +5,7 @@
- Implement fast travel (must be unlocked by getting phone number of FASTravel)
- Implement factory reset
- Chats don't automatically advance now, the player has to press "Continue"
- Add Outrun Radio, featuring "Outrun" BGM by Andrew Vice
- Add sparkles to Jupiter's ring ✨😍✨ best visible from Farview Station
- Add auroras to Jupiter and Saturn
- Add setting to change pointer

View file

@ -69,6 +69,7 @@
- powerdown.ogg: [Energy Drain by qubodup, CC0](https://freesound.org/people/qubodup/sounds/742835/)
- spark.ogg: [Socket Connect Disconnect by JustHallowed, CC BY 4.0](https://freesound.org/people/JustHallowed/sounds/691007/), Tempo -40, Amplify 4
- Takeoff.ogg: [By Serat, CC BY 4.0](https://freemusicarchive.org/music/serat/route-remastered/takeoff-remastered/)
- Outrun.ogg: [by Andrew Vice, CC BY-SA 3.0](https://soundcloud.com/ncmfyt/andrew-vice-outrun)
- JupiterRecording.ogg: An [actual Jupiter recording by NASA](https://archive.org/download/voyager-1-and-2-1990-jupiter-nasa-voyager-space-sounds-electronic), public domain.
- Processed by cutting out min 1:47-3:47 and applying a 10s linear crossfade at the end. Exported as ogg with quality=3, see [.kdenlive file](src/audio/JupiterRecording.kdenlive).
- The source file has been taken down, and generally, I can't find information on how exactly this was produced. Hoping it's not a hoax.

BIN
assets/music/Outrun.ogg Normal file

Binary file not shown.

View file

@ -53,6 +53,11 @@ const PATHS: &[(SfxType, Sfx, &str)] = &[
Sfx::BGMActualJupiterRecording,
"music/JupiterRecording.ogg",
),
(
SfxType::Radio,
Sfx::BGMOutrun,
"music/Outrun.ogg",
),
(
SfxType::LoopSfx,
Sfx::ElectricMotor,
@ -88,11 +93,16 @@ const PATHS: &[(SfxType, Sfx, &str)] = &[
(SfxType::OneOff, Sfx::Zoom, "sounds/zoom.ogg"),
];
const RADIO_VOLUMES: &[(Sfx, f32)] = &[
(Sfx::BGMOutrun, 0.3)
];
#[derive(Component, PartialEq, Hash, Eq, Copy, Clone)]
pub enum Sfx {
Achieve,
BGMActualJupiterRecording,
BGMTakeoff,
BGMOutrun,
Cat,
Click,
Click3,
@ -176,6 +186,15 @@ pub fn setup(
ew_respawnsinks.send(RespawnSinksEvent);
}
fn get_radio_volume(radio: &Sfx) -> f32 {
for (sfx, volume) in RADIO_VOLUMES {
if radio == sfx {
return *volume;
}
}
return 1.0;
}
pub fn respawn_sinks(
mut commands: Commands,
asset_server: Res<AssetServer>,
@ -196,6 +215,7 @@ pub fn respawn_sinks(
settings: PlaybackSettings {
mode: PlaybackMode::Loop,
paused: !settings.is_radio_playing(*sfx).unwrap_or(true),
volume: Volume::new(get_radio_volume(sfx)),
..default()
},
},

View file

@ -188,6 +188,7 @@ impl Default for Settings {
// see also: settings.is_radio_playing()
"Off".to_string(),
"Space Wave Radio".to_string(),
"Outrun Radio".to_string(),
"Amplify outside recordings".to_string(),
],
volume_sfx: 1.0,
@ -351,7 +352,8 @@ impl Settings {
let radio = self.radio_mode;
match sfx {
audio::Sfx::BGMTakeoff => Some(radio == 1),
audio::Sfx::BGMActualJupiterRecording => Some(radio == 2),
audio::Sfx::BGMOutrun => Some(radio == 2),
audio::Sfx::BGMActualJupiterRecording => Some(radio == 3),
_ => None,
}
}