mirror of
https://github.com/mwpenny/portal64-still-alive.git
synced 2024-10-20 10:37:37 -04:00
Merge pull request #381 from westonCoder/add-ambient-sound
Added Ambient Sound to Game
This commit is contained in:
commit
30fce9981b
6
Makefile
6
Makefile
|
@ -454,6 +454,10 @@ build/assets/sound/vehicles/tank_turret_loop1.wav: portal_pak_dir
|
|||
@mkdir -p $(@D)
|
||||
sox portal_pak_dir/sound/vehicles/tank_turret_loop1.wav -b 16 $@
|
||||
|
||||
build/assets/sound/ambient/atmosphere/ambience_base.wav: portal_pak_dir
|
||||
@mkdir -p $(@D)
|
||||
sox portal_pak_dir/sound/ambient/atmosphere/ambience_base.wav -c 1 -r 22050 $@
|
||||
|
||||
build/%.aifc: %.sox portal_pak_dir
|
||||
@mkdir -p $(@D)
|
||||
sox $(<:assets/%.sox=portal_pak_dir/%.wav) $(shell cat $<) $(@:%.aifc=%.wav)
|
||||
|
@ -470,7 +474,7 @@ build/%.aifc: %.msox portal_pak_dir
|
|||
sox $(<:assets/%.msox=portal_pak_dir/%.wav) $(shell cat $<) $(@:%.aifc=%.wav)
|
||||
$(SFZ2N64) -o $@ $(@:%.aifc=%.wav)
|
||||
|
||||
build/assets/sound/sounds.sounds build/assets/sound/sounds.sounds.tbl: $(SOUND_CLIPS) build/assets/sound/vehicles/tank_turret_loop1.wav
|
||||
build/assets/sound/sounds.sounds build/assets/sound/sounds.sounds.tbl: $(SOUND_CLIPS) build/assets/sound/vehicles/tank_turret_loop1.wav build/assets/sound/ambient/atmosphere/ambience_base.wav
|
||||
@mkdir -p $(@D)
|
||||
$(SFZ2N64) -o $@ $^
|
||||
|
||||
|
|
15
assets/sound/ambient/atmosphere/ambience_base.ins
Normal file
15
assets/sound/ambient/atmosphere/ambience_base.ins
Normal file
|
@ -0,0 +1,15 @@
|
|||
envelope Envelope {
|
||||
attackTime = 0
|
||||
attackVolume = 127
|
||||
decayTime = -1
|
||||
decayVolume = 127
|
||||
releaseTime = 0
|
||||
}
|
||||
|
||||
sound Sound {
|
||||
use("../../../../build/assets/sound/ambient/atmosphere/ambience_base.wav")
|
||||
loopCount = -1
|
||||
loopEnd = -1
|
||||
pan=64
|
||||
envelope = Envelope
|
||||
}
|
|
@ -2,6 +2,7 @@ operators:
|
|||
[]
|
||||
cutscenes:
|
||||
INTRO:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- play_animation player player_intro
|
||||
- play_animation glass_cover_0 glass_cover_0_open
|
||||
- play_animation glass_cover_1 glass_cover_1_open
|
||||
|
|
|
@ -2,6 +2,7 @@ operators:
|
|||
[]
|
||||
cutscenes:
|
||||
START:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- delay 1
|
||||
- start_cutscene portal_loop
|
||||
- set_signal FIRST_ELEVATOR
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
cutscenes:
|
||||
INTRO:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- q_sound SOUNDS_02_PART1_ENTRY_1 CH_GLADOS PORTAL_02_PART1_ENTRY_1
|
||||
- q_sound SOUNDS_02_PART1_ENTRY_2 CH_GLADOS PORTAL_02_PART1_ENTRY_2
|
||||
- delay 2
|
||||
|
|
|
@ -17,6 +17,7 @@ cutscenes:
|
|||
- wait_for_signal horizontal_activiate 2
|
||||
- q_sound 03_PART2_PLATFORM_ACTIVATED_1 CH_GLADOS PORTAL_03_PART2_PLATFORM_ACTIVATED_1
|
||||
INTRO:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- save_checkpoint 0
|
||||
- open_portal ground_portal 0
|
||||
- q_sound SOUNDS_03_PART1_ENTRY_1 CH_GLADOS PORTAL_03_PART1_ENTRY_1
|
||||
|
|
|
@ -2,6 +2,7 @@ cutscenes:
|
|||
SUCCESS:
|
||||
- q_sound SOUNDS_04_PART1_SUCCESS_1 CH_GLADOS PORTAL_04_PART1_SUCCESS_1
|
||||
INTRO_CUTSCENE:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- q_sound SOUNDS_04_PART1_ENTRY_1 CH_GLADOS PORTAL_04_PART1_ENTRY_1
|
||||
- wait_for_channel CH_GLADOS
|
||||
- q_sound PORTAL_PROCEDURAL_JIGGLE_BONE CH_MUSIC SubtitleKeyNone
|
||||
|
|
|
@ -2,6 +2,7 @@ operators:
|
|||
[]
|
||||
cutscenes:
|
||||
INTRO_CUTSCENE:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- set_signal cube_dropper
|
||||
- open_portal portal_0 0
|
||||
- q_sound SOUNDS_05_PART1_ENTRY_1 CH_GLADOS PORTAL_05_PART1_ENTRY_1
|
||||
|
|
|
@ -8,6 +8,7 @@ cutscenes:
|
|||
- play_animation piston_top piston_top_0
|
||||
- play_animation piston_bottom piston_bottom_0
|
||||
FIRST_ROOM:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- q_sound SOUNDS_06_PART1_ENTRY_1 CH_GLADOS PORTAL_06_PART1_ENTRY_1
|
||||
- delay 2
|
||||
- rumble 2
|
||||
|
|
|
@ -21,6 +21,7 @@ cutscenes:
|
|||
DROWN_PLAYER:
|
||||
- kill_player water
|
||||
START:
|
||||
- play_sound AMBIENCE_BASE 0.2 0.5
|
||||
- delay 1
|
||||
- start_cutscene portal_loop
|
||||
- start_cutscene platform_ferry
|
||||
|
|
|
@ -447,6 +447,20 @@ int soundPlayerIsPlaying(ALSndId soundId) {
|
|||
return activeSound->estimatedTimeLeft > 0.0f && alSndpGetState(&gSoundPlayer) != AL_STOPPED;
|
||||
}
|
||||
|
||||
int soundPlayerIsLoopedById(int soundId){
|
||||
struct ActiveSound* activeSound = soundPlayerFindActiveSound(soundId);
|
||||
|
||||
if (!activeSound) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (activeSound->flags & SOUND_FLAGS_LOOPING){
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
float soundPlayerTimeLeft(ALSndId soundId) {
|
||||
struct ActiveSound* activeSound = soundPlayerFindActiveSound(soundId);
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ void soundPlayerUpdatePosition(ALSndId soundId, struct Vector3* at, struct Vecto
|
|||
void soundPlayerAdjustVolume(ALSndId soundId, float newVolume);
|
||||
|
||||
int soundPlayerIsPlaying(ALSndId soundId);
|
||||
int soundPlayerIsLoopedById(int soundId);
|
||||
float soundPlayerTimeLeft(ALSndId soundId);
|
||||
|
||||
void soundListenerUpdate(struct Vector3* position, struct Quaternion* rotation, struct Vector3* velocity, int listenerIndex);
|
||||
|
|
|
@ -322,7 +322,7 @@ int cutsceneRunnerUpdateCurrentStep(struct CutsceneRunner* runner) {
|
|||
struct CutsceneStep* step = &runner->currentCutscene->steps[runner->currentStep];
|
||||
switch (step->type) {
|
||||
case CutsceneStepTypePlaySound:
|
||||
return !soundPlayerIsPlaying(runner->state.playSound.soundId);
|
||||
return soundPlayerIsLoopedById(runner->state.playSound.soundId) || !soundPlayerIsPlaying(runner->state.playSound.soundId);
|
||||
case CutsceneStepTypeWaitForChannel:
|
||||
{
|
||||
int result = !cutsceneRunnerIsChannelPlaying(step->waitForChannel.channel);
|
||||
|
|
Loading…
Reference in a new issue