Compare commits
No commits in common. "5c477286f508302c7e0ecb7656cf504e394d7c1a" and "fbf5581ea5f48129bc1da6d21c98357d9681eefb" have entirely different histories.
5c477286f5
...
fbf5581ea5
47
LICENSE.md
|
@ -5,7 +5,9 @@
|
|||
- 3D models: Original art, placed under the Creative Commons CC0 License
|
||||
- Photographs of celestial bodies:
|
||||
- Mercury: [By Solar System Scope, CC BY 4.0](https://www.solarsystemscope.com/textures/)
|
||||
- Venus: [By NASA, public domain](https://space.jpl.nasa.gov/tmaps/venus.html)
|
||||
- Venus: [By Björn Jónsson, free to use, with attribution](https://bjj.mmedia.is/data/venus/venus.html)
|
||||
- To reduce the visibility of the ultraviolet features in Björn's original image, I applied GIMP's "Colors"→"Hue-Saturation" with Lightness=100 and Saturation=-20.
|
||||
- Exported as 80% quality JPEG
|
||||
- Earth: A simple addition of
|
||||
- [base image, by NASA, public domain](https://visibleearth.nasa.gov/images/74318/april-blue-marble-next-generation-w-topography)
|
||||
- [clouds, by NASA, public domain](https://visibleearth.nasa.gov/images/57747/blue-marble-clouds)
|
||||
|
@ -14,32 +16,31 @@
|
|||
- Downscaled by 2x with LoHalo interpolation
|
||||
- Adjusted contrast with GIMP's "Colors"→"Curves", by pulling x=128/y=128 down to y=96.
|
||||
- Exported as 80% quality JPEG
|
||||
- Io: By NASA, public domain
|
||||
- Europa: By NASA, public domain
|
||||
- Ganymede: By NASA, public domain
|
||||
- Callisto: By NASA, public domain
|
||||
- Io: [By Björn Jónsson, free to use, with attribution](https://bjj.mmedia.is/data/io/io.html)
|
||||
- Europa: [By Björn Jónsson, free to use, with attribution](https://www.planetary.org/articles/0218-mapping-europa)
|
||||
- Ganymede: [By Björn Jónsson, free to use, with attribution](https://bjj.mmedia.is/data/ganymede/index.html)
|
||||
- Callisto: [By Björn Jónsson, free to use, with attribution](https://bjj.mmedia.is/data/callisto/index.html)
|
||||
- Saturn: [By Solar System Scope, CC BY 4.0](https://www.solarsystemscope.com/textures/)
|
||||
- Uranus: [By Askaniy, CC BY-SA 3.0](https://www.deviantart.com/askaniy/art/Uranus-Texture-Map-763551816)
|
||||
- Neptune: [By Solar System Scope, CC BY 4.0](https://www.solarsystemscope.com/textures/)
|
||||
- Icon: Creative Commons CC0 License
|
||||
- Original sound files by Yuni, Creative Commons CC0 License:
|
||||
- click.ogg: Recorded the click of a Victorinox Swisstool Spirit, when closing the big flathead screw driver
|
||||
- click2.ogg: Recorded the click of a Victorinox Swisstool Spirit, when opening the big flathead screw driver. The second click is slightly amplified, the delay between clicks slightly shortened.
|
||||
- connect.ogg: Tshhhhed into a microphone, pitch lowered by 15 semitones
|
||||
- crash.ogg: Hit a fire extinguisher with a chunk of metal. Changed speed (incl. pitch) to 1/2
|
||||
- electricmotor.ogg: A rotating razor without blades, shifted down an octave
|
||||
- ion.ogg: This consists of 2 overlaid parts:
|
||||
- Medium-pitched: A foil razor at slow speed with blades but no foil, shifted down 2 octaves.
|
||||
- Low-pitched, combustion-motor-like: The same foil razor at max speed with blades removed, shifted down 3 octaves, changed speed (incl. pitch) to 1/2. Low-pass filtered at 1khz with 36db roll-off per octave.
|
||||
- gasp.ogg: Gasping for air
|
||||
- gasprelief.ogg: Heavy breathing
|
||||
- growl.ogg: Growled into a Xaphoon (2024-09-13@18:21), lowered by an octave, added reverb
|
||||
- thruster.ogg: Recorded laptop fan, applied low pass filter (3khz, 36db roll-off per octave), pitch shift by -3 octaves
|
||||
- wakeup.ogg: Heavy breathing
|
||||
- woosh.ogg: Blew into the mic, pitch lowered by 24 semitones
|
||||
- zoom.ogg: Recorded a screw thread scraping against a saxophone ligature
|
||||
- Other sounds:
|
||||
- achieve.ogg: UI Completed Status Alert Notification SFX001.wav [by Headphaze, CC BY 4.0](https://freesound.org/s/277033/)
|
||||
- Original sound files:
|
||||
- wakeup.ogg: Creative Commons CC0 License
|
||||
- Other sound files: [Pixabay Content License](https://pixabay.com/service/license-summary)
|
||||
- https://pixabay.com/sound-effects/typosonic-typing-192811
|
||||
- https://pixabay.com/sound-effects/click-button-140881
|
||||
- https://pixabay.com/sound-effects/data-transmission-sound-from-14664-72309
|
||||
- https://pixabay.com/sound-effects/thrusters-loopwav-14699
|
||||
- https://pixabay.com/sound-effects/rocket-loop-99748
|
||||
- https://pixabay.com/sound-effects/350cc-bike-firing-32391
|
||||
- https://pixabay.com/sound-effects/electricity-6353
|
||||
- https://pixabay.com/sound-effects/ducati-696-monster-33217
|
||||
- https://pixabay.com/sound-effects/high-energy-humming-195612
|
||||
- https://pixabay.com/sound-effects/box-crash-106687
|
||||
- https://pixabay.com/sound-effects/electric-fan-motor-blades-removed-13169
|
||||
- https://pixabay.com/sound-effects/whoosh-blow-flutter-shortwav-14678/
|
||||
- https://pixabay.com/sound-effects/dslr-camera-sounds-26117/
|
||||
- https://pixabay.com/sound-effects/beep-6-96243
|
||||
- Music:
|
||||
- JupiterRecording.ogg is 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).
|
||||
|
|
BIN
assets/sounds/bikestart.ogg
Normal file
BIN
assets/sounds/click-button-140881-crop.ogg
Normal file
BIN
assets/sounds/rocket.ogg
Normal file
BIN
assets/sounds/typosonic-typing-192811-crop.ogg
Normal file
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 430 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 360 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 928 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 33 KiB |
5
build.rs
|
@ -22,10 +22,7 @@ fn main() -> std::io::Result<()> {
|
|||
let file = File::create("src/data/scenes.in");
|
||||
if let Ok(mut file) = file {
|
||||
write!(&file, "// THIS FILE IS AUTOGENERATED BY build.rs BASED ON DATA IN src/blender/scene_*.blend FILES!\n")?;
|
||||
write!(
|
||||
&file,
|
||||
"// DO NOT MODIFY MANUALLY, CHANGES WILL BE OVERWRITTEN!\n"
|
||||
)?;
|
||||
write!(&file, "// DO NOT MODIFY MANUALLY, CHANGES WILL BE OVERWRITTEN!\n")?;
|
||||
write!(&file, "[\n")?;
|
||||
extract_scene(&mut file, "test", "src/blender/scene_test.blend")?;
|
||||
extract_scene(&mut file, "workshop", "src/blender/scene_workshop.blend")?;
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
Useful commands:
|
||||
|
||||
```
|
||||
cd build/nix
|
||||
nix flake update
|
||||
nix build
|
||||
```
|
|
@ -198,6 +198,7 @@ impl Default for Vehicle {
|
|||
#[derive(Copy, Clone, PartialEq)]
|
||||
pub enum EngineType {
|
||||
Monopropellant,
|
||||
Rocket,
|
||||
Ion,
|
||||
}
|
||||
|
||||
|
|
16
src/audio.rs
|
@ -63,21 +63,30 @@ const PATHS: &[(SfxType, Sfx, &str)] = &[
|
|||
"sounds/electricmotor.ogg",
|
||||
),
|
||||
(SfxType::LoopSfx, Sfx::Ion, "sounds/ion.ogg"),
|
||||
(SfxType::LoopSfx, Sfx::Rocket, "sounds/rocket.ogg"),
|
||||
(SfxType::LoopSfx, Sfx::Thruster, "sounds/thruster.ogg"),
|
||||
(SfxType::LoopSfx, Sfx::Gasp, "sounds/gasp.ogg"),
|
||||
(SfxType::OneOff, Sfx::GaspRelief, "sounds/gasprelief.ogg"),
|
||||
(SfxType::OneOff, Sfx::Achieve, "sounds/achieve.ogg"),
|
||||
(SfxType::OneOff, Sfx::Click, "sounds/click.ogg"),
|
||||
(
|
||||
SfxType::OneOff,
|
||||
Sfx::Click,
|
||||
"sounds/click-button-140881-crop.ogg",
|
||||
),
|
||||
(SfxType::OneOff, Sfx::Connect, "sounds/connect.ogg"),
|
||||
(SfxType::OneOff, Sfx::Crash, "sounds/crash.ogg"),
|
||||
(SfxType::OneOff, Sfx::EnterVehicle, "sounds/growl.ogg"),
|
||||
(SfxType::OneOff, Sfx::EnterVehicle, "sounds/bikestart.ogg"),
|
||||
(
|
||||
SfxType::OneOff,
|
||||
Sfx::IncomingChatMessage,
|
||||
"sounds/connect.ogg",
|
||||
),
|
||||
(SfxType::OneOff, Sfx::Ping, "sounds/connect.ogg"),
|
||||
(SfxType::OneOff, Sfx::Switch, "sounds/click2.ogg"),
|
||||
(
|
||||
SfxType::OneOff,
|
||||
Sfx::Switch,
|
||||
"sounds/typosonic-typing-192811-crop.ogg",
|
||||
),
|
||||
(SfxType::OneOff, Sfx::WakeUp, "sounds/wakeup.ogg"),
|
||||
(SfxType::OneOff, Sfx::Woosh, "sounds/woosh.ogg"),
|
||||
(SfxType::OneOff, Sfx::Zoom, "sounds/zoom.ogg"),
|
||||
|
@ -98,6 +107,7 @@ pub enum Sfx {
|
|||
IncomingChatMessage,
|
||||
Ion,
|
||||
Ping,
|
||||
Rocket,
|
||||
Switch,
|
||||
Thruster,
|
||||
WakeUp,
|
||||
|
|
|
@ -662,6 +662,11 @@ pub fn apply_input_to_player(
|
|||
actor::EngineType::Monopropellant,
|
||||
sinks.get(&audio::Sfx::Thruster),
|
||||
),
|
||||
(
|
||||
1.0,
|
||||
actor::EngineType::Rocket,
|
||||
sinks.get(&audio::Sfx::Rocket),
|
||||
),
|
||||
(1.4, actor::EngineType::Ion, sinks.get(&audio::Sfx::Ion)),
|
||||
];
|
||||
let seconds_to_max_vol = 0.05;
|
||||
|
|
|
@ -979,6 +979,10 @@ pub fn update_chat_variables(
|
|||
} else {
|
||||
0
|
||||
};
|
||||
vars.set_in_scope("$", "chefhat", wears_chefhat.to_string());
|
||||
vars.set_in_scope(
|
||||
"$",
|
||||
"chefhat",
|
||||
wears_chefhat.to_string(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -557,6 +557,9 @@ pub fn load_defs(mut ew_spawn: EventWriter<SpawnEvent>) {
|
|||
state.warmup_seconds = warmup_time_float;
|
||||
}
|
||||
}
|
||||
["engine", "rocket"] => {
|
||||
state.engine_type = actor::EngineType::Rocket;
|
||||
}
|
||||
["engine", "ion"] => {
|
||||
state.engine_type = actor::EngineType::Ion;
|
||||
}
|
||||
|
|