summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_actor.c25
-rw-r--r--src/code/z_bgcheck.c42
-rw-r--r--src/code/z_camera.c2
-rw-r--r--src/code/z_collision_check.c8
-rw-r--r--src/code/z_message_PAL.c3
5 files changed, 41 insertions, 39 deletions
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index 48dd45f09..8197e5f18 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -1701,20 +1701,20 @@ void Audio_PlayActorSfx2(Actor* actor, u16 sfxId) {
}
void func_8002F850(PlayState* play, Actor* actor) {
- s32 sfxId;
+ s32 surfaceSfxOffset;
if (actor->bgCheckFlags & BGCHECKFLAG_WATER) {
if (actor->yDistToWater < 20.0f) {
- sfxId = NA_SE_PL_WALK_WATER0 - SFX_FLAG;
+ surfaceSfxOffset = SURFACE_SFX_OFFSET_WATER_SHALLOW;
} else {
- sfxId = NA_SE_PL_WALK_WATER1 - SFX_FLAG;
+ surfaceSfxOffset = SURFACE_SFX_OFFSET_WATER_DEEP;
}
} else {
- sfxId = SurfaceType_GetSfxId(&play->colCtx, actor->floorPoly, actor->floorBgId);
+ surfaceSfxOffset = SurfaceType_GetSfxOffset(&play->colCtx, actor->floorPoly, actor->floorBgId);
}
func_80078914(&actor->projectedPos, NA_SE_EV_BOMB_BOUND);
- func_80078914(&actor->projectedPos, sfxId + SFX_FLAG);
+ func_80078914(&actor->projectedPos, NA_SE_PL_WALK_GROUND + surfaceSfxOffset);
}
void func_8002F8F0(Actor* actor, u16 sfxId) {
@@ -1740,15 +1740,18 @@ void func_8002F974(Actor* actor, u16 sfxId) {
actor->sfx = sfxId;
}
-void func_8002F994(Actor* actor, s32 arg1) {
+void func_8002F994(Actor* actor, s32 timer) {
actor->flags |= ACTOR_FLAG_28;
actor->flags &= ~(ACTOR_FLAG_19 | ACTOR_FLAG_20 | ACTOR_FLAG_21);
- if (arg1 < 40) {
- actor->sfx = NA_SE_PL_WALK_DIRT - SFX_FLAG;
- } else if (arg1 < 100) {
- actor->sfx = NA_SE_PL_WALK_CONCRETE - SFX_FLAG;
+
+ // The sfx field is not used for an actual sound effect here.
+ // Instead, it controls the tick speed of the timer sound effect.
+ if (timer < 40) {
+ actor->sfx = 3;
+ } else if (timer < 100) {
+ actor->sfx = 2;
} else {
- actor->sfx = NA_SE_PL_WALK_SAND - SFX_FLAG;
+ actor->sfx = 1;
}
}
diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c
index e6592e7df..089747457 100644
--- a/src/code/z_bgcheck.c
+++ b/src/code/z_bgcheck.c
@@ -68,21 +68,21 @@ s32 D_80119D90[WALL_TYPE_MAX] = {
WALL_FLAG_6, // WALL_TYPE_7
};
-u16 D_80119E10[SURFACE_SFX_TYPE_MAX] = {
- NA_SE_PL_WALK_GROUND - SFX_FLAG, // SURFACE_SFX_TYPE_0
- NA_SE_PL_WALK_SAND - SFX_FLAG, // SURFACE_SFX_TYPE_1
- NA_SE_PL_WALK_CONCRETE - SFX_FLAG, // SURFACE_SFX_TYPE_2
- NA_SE_PL_WALK_DIRT - SFX_FLAG, // SURFACE_SFX_TYPE_3
- NA_SE_PL_WALK_WATER0 - SFX_FLAG, // SURFACE_SFX_TYPE_4
- NA_SE_PL_WALK_WATER1 - SFX_FLAG, // SURFACE_SFX_TYPE_5
- NA_SE_PL_WALK_WATER2 - SFX_FLAG, // SURFACE_SFX_TYPE_6
- NA_SE_PL_WALK_MAGMA - SFX_FLAG, // SURFACE_SFX_TYPE_7
- NA_SE_PL_WALK_GRASS - SFX_FLAG, // SURFACE_SFX_TYPE_8
- NA_SE_PL_WALK_GLASS - SFX_FLAG, // SURFACE_SFX_TYPE_9
- NA_SE_PL_WALK_LADDER - SFX_FLAG, // SURFACE_SFX_TYPE_10
- NA_SE_PL_WALK_GROUND - SFX_FLAG, // SURFACE_SFX_TYPE_11
- NA_SE_PL_WALK_ICE - SFX_FLAG, // SURFACE_SFX_TYPE_12
- NA_SE_PL_WALK_IRON - SFX_FLAG, // SURFACE_SFX_TYPE_13
+u16 sSurfaceMaterialToSfxOffset[SURFACE_MATERIAL_MAX] = {
+ SURFACE_SFX_OFFSET_DIRT, // SURFACE_MATERIAL_DIRT
+ SURFACE_SFX_OFFSET_SAND, // SURFACE_MATERIAL_SAND
+ SURFACE_SFX_OFFSET_STONE, // SURFACE_MATERIAL_STONE
+ SURFACE_SFX_OFFSET_JABU, // SURFACE_MATERIAL_JABU
+ SURFACE_SFX_OFFSET_WATER_SHALLOW, // SURFACE_MATERIAL_WATER_SHALLOW
+ SURFACE_SFX_OFFSET_WATER_DEEP, // SURFACE_MATERIAL_WATER_DEEP
+ SURFACE_SFX_OFFSET_TALL_GRASS, // SURFACE_MATERIAL_TALL_GRASS
+ SURFACE_SFX_OFFSET_LAVA, // SURFACE_MATERIAL_LAVA
+ SURFACE_SFX_OFFSET_GRASS, // SURFACE_MATERIAL_GRASS
+ SURFACE_SFX_OFFSET_BRIDGE, // SURFACE_MATERIAL_BRIDGE
+ SURFACE_SFX_OFFSET_WOOD, // SURFACE_MATERIAL_WOOD
+ SURFACE_SFX_OFFSET_DIRT, // SURFACE_MATERIAL_DIRT_SOFT
+ SURFACE_SFX_OFFSET_ICE, // SURFACE_MATERIAL_ICE
+ SURFACE_SFX_OFFSET_CARPET, // SURFACE_MATERIAL_CARPET
};
/**
@@ -4111,17 +4111,17 @@ u32 SurfaceType_IsHorseBlocked(CollisionContext* colCtx, CollisionPoly* poly, s3
return SurfaceType_GetData(colCtx, poly, bgId, 0) >> 31 & 1;
}
-u32 SurfaceType_GetSfxType(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId) {
+u32 SurfaceType_GetMaterial(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId) {
return SurfaceType_GetData(colCtx, poly, bgId, 1) & 0xF;
}
-u16 SurfaceType_GetSfxId(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId) {
- s32 sfxType = SurfaceType_GetSfxType(colCtx, poly, bgId);
+u16 SurfaceType_GetSfxOffset(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId) {
+ s32 surfaceMaterial = SurfaceType_GetMaterial(colCtx, poly, bgId);
- if (sfxType < 0 || sfxType >= ARRAY_COUNT(D_80119E10)) {
- return NA_SE_PL_WALK_GROUND - SFX_FLAG;
+ if ((surfaceMaterial < 0) || (surfaceMaterial >= ARRAY_COUNT(sSurfaceMaterialToSfxOffset))) {
+ return SURFACE_SFX_OFFSET_DIRT;
}
- return D_80119E10[sfxType];
+ return sSurfaceMaterialToSfxOffset[surfaceMaterial];
}
u32 SurfaceType_GetFloorEffect(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId) {
diff --git a/src/code/z_camera.c b/src/code/z_camera.c
index 81a032f7e..24b227733 100644
--- a/src/code/z_camera.c
+++ b/src/code/z_camera.c
@@ -4501,7 +4501,7 @@ s32 Camera_Subj4(Camera* camera) {
if ((eyeLerp > rwData->eyeLerp) && !rwData->isSfxOff) {
player = camera->player;
rwData->isSfxOff = true;
- func_800F4010(&player->actor.projectedPos, NA_SE_PL_CRAWL + player->unk_89E, 4.0f);
+ func_800F4010(&player->actor.projectedPos, NA_SE_PL_CRAWL + player->floorSfxOffset, 4.0f);
} else if (eyeLerp < rwData->eyeLerp) {
rwData->isSfxOff = false;
}
diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c
index 6ac812d6b..7c4d4259a 100644
--- a/src/code/z_collision_check.c
+++ b/src/code/z_collision_check.c
@@ -1610,11 +1610,11 @@ s32 CollisionCheck_SwordHitAudio(Collider* at, ColliderInfo* acInfo) {
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_STRIKE_HARD, &at->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
} else if (acInfo->elemType == ELEMTYPE_UNK2) {
- Audio_PlaySfxGeneral(NA_SE_PL_WALK_GROUND - SFX_FLAG, &at->actor->projectedPos, 4,
- &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
+ Audio_PlaySfxGeneral(NA_SE_NONE, &at->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
+ &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
} else if (acInfo->elemType == ELEMTYPE_UNK3) {
- Audio_PlaySfxGeneral(NA_SE_PL_WALK_GROUND - SFX_FLAG, &at->actor->projectedPos, 4,
- &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
+ Audio_PlaySfxGeneral(NA_SE_NONE, &at->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
+ &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
}
}
return true;
diff --git a/src/code/z_message_PAL.c b/src/code/z_message_PAL.c
index 31f850958..8ca1a884d 100644
--- a/src/code/z_message_PAL.c
+++ b/src/code/z_message_PAL.c
@@ -3172,8 +3172,7 @@ void Message_Update(PlayState* play) {
R_TEXTBOX_TEXHEIGHT = 512;
} else {
Message_GrowTextbox(msgCtx);
- // TODO: this may be NA_SE_PL_WALK_GROUND - SFX_FLAG, or not, investigate sfxId=0
- Audio_PlaySfxIfNotInCutscene(0);
+ Audio_PlaySfxIfNotInCutscene(NA_SE_NONE);
msgCtx->stateTimer = 0;
msgCtx->msgMode = MSGMODE_TEXT_BOX_GROWING;
}