mirror of
https://github.com/mwpenny/portal64-still-alive.git
synced 2024-10-19 22:27:36 -04:00
Added All Switch Sounds
- switch has activate sound - switch has countdown timer sound - the player now doesnt make the deniedSelect sound when clicking the switch, and makes the select sound instead - tested on n64 hardware, no issues
This commit is contained in:
parent
b0a92a4276
commit
18e0b0068b
1
assets/sound/ambient/machines/ticktock1.sox
Normal file
1
assets/sound/ambient/machines/ticktock1.sox
Normal file
|
@ -0,0 +1 @@
|
|||
-c 1
|
|
@ -47,6 +47,7 @@ unsigned short soundsFastFalling = SOUNDS_FAST_WINDLOOP1;
|
|||
unsigned short soundsBallCatcher = SOUNDS_ALYX_STUNNER1;
|
||||
|
||||
unsigned short soundsPortalOpen2 = SOUNDS_PORTAL_OPEN2;
|
||||
unsigned short soundsTickTock = SOUNDS_TICKTOCK1;
|
||||
|
||||
unsigned short soundsPortalFizzle = SOUNDS_PORTAL_FIZZLE2;
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ extern unsigned short soundsDoor;
|
|||
extern unsigned short soundsFastFalling;
|
||||
extern unsigned short soundsBallCatcher;
|
||||
extern unsigned short soundsPortalOpen2;
|
||||
extern unsigned short soundsTickTock;
|
||||
|
||||
extern unsigned short soundsPortalFizzle;
|
||||
|
||||
|
|
|
@ -316,6 +316,9 @@ void playerUpdateGrabbedObject(struct Player* player) {
|
|||
player->grabbingThroughPortal = PLAYER_GRABBING_THROUGH_NOTHING;
|
||||
}
|
||||
}
|
||||
else if ((hit.object->body)){
|
||||
player->flags |= PlayerJustSelect;
|
||||
}
|
||||
else{
|
||||
player->flags |= PlayerJustDeniedSelect;
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "../util/time.h"
|
||||
|
||||
#define COLLIDER_HEIGHT 0.7f
|
||||
#define TICKTOCK_PAUSE_LENGTH 0.25f
|
||||
|
||||
struct Vector2 gSwitchCylinderEdgeVectors[] = {
|
||||
{0.0f, 1.0f},
|
||||
|
@ -92,13 +93,15 @@ void switchInit(struct Switch* switchObj, struct SwitchDefinition* definition) {
|
|||
switchObj->duration = definition->duration;
|
||||
switchObj->flags = 0;
|
||||
switchObj->timeLeft = 0.0f;
|
||||
switchObj->ticktockPauseTimer = 0.0f;
|
||||
}
|
||||
|
||||
void switchActivate(struct Switch* switchObj) {
|
||||
if (switchObj->timeLeft > 0.0f) {
|
||||
return;
|
||||
}
|
||||
|
||||
soundPlayerPlay(soundsButton, 1.0f, 0.5f, &switchObj->rigidBody.transform.position, &gZeroVec);
|
||||
switchObj->ticktockSoundLoopId = soundPlayerPlay(soundsTickTock, 1.0f, 0.5f, NULL, NULL);
|
||||
switchObj->flags |= SwitchFlagsDepressed;
|
||||
switchObj->timeLeft = switchObj->duration;
|
||||
signalsSend(switchObj->signalIndex);
|
||||
|
@ -125,9 +128,23 @@ void switchUpdate(struct Switch* switchObj) {
|
|||
|
||||
switchObj->timeLeft -= FIXED_DELTA_TIME;
|
||||
|
||||
|
||||
|
||||
|
||||
if (switchObj->timeLeft < 0.0f) {
|
||||
switchObj->timeLeft = 0.0f;
|
||||
} else {
|
||||
if (!soundPlayerIsPlaying(switchObj->ticktockSoundLoopId)){
|
||||
if (switchObj->ticktockPauseTimer < TICKTOCK_PAUSE_LENGTH){
|
||||
switchObj->ticktockPauseTimer += FIXED_DELTA_TIME;
|
||||
}else{
|
||||
switchObj->ticktockPauseTimer = 0;
|
||||
switchObj->ticktockSoundLoopId = soundPlayerPlay(soundsTickTock, 1.0f, 0.5f, NULL, NULL);
|
||||
}
|
||||
}else{
|
||||
switchObj->ticktockPauseTimer = 0;
|
||||
}
|
||||
|
||||
signalsSend(switchObj->signalIndex);
|
||||
}
|
||||
}
|
|
@ -4,6 +4,8 @@
|
|||
#include "../sk64/skelatool_armature.h"
|
||||
#include "../sk64/skelatool_animator.h"
|
||||
#include "../physics/collision_object.h"
|
||||
#include "../audio/soundplayer.h"
|
||||
#include "../audio/clips.h"
|
||||
|
||||
#include "../levels/level_definition.h"
|
||||
|
||||
|
@ -21,6 +23,8 @@ struct Switch {
|
|||
short flags;
|
||||
float duration;
|
||||
float timeLeft;
|
||||
short ticktockSoundLoopId;
|
||||
float ticktockPauseTimer;
|
||||
};
|
||||
|
||||
void switchInit(struct Switch* switchObj, struct SwitchDefinition* definition);
|
||||
|
|
Loading…
Reference in a new issue