diff options
Diffstat (limited to 'src/code')
| -rw-r--r-- | src/code/z_actor.c | 25 | ||||
| -rw-r--r-- | src/code/z_bgcheck.c | 42 | ||||
| -rw-r--r-- | src/code/z_camera.c | 2 | ||||
| -rw-r--r-- | src/code/z_collision_check.c | 8 | ||||
| -rw-r--r-- | src/code/z_message_PAL.c | 3 |
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; } |
