Add dedicated snort and whinny idle sounds with longer intervals

Created specific idle sound pool using only horse snorts and whinnies.
Re-enabled idle sounds with much longer interval (20-40 seconds).

Changes:
- Added horseIdleSounds_ pool: mHorseStand3A (snort) + mHorseAggroA (whinny)
- Updated playIdleSound() to use dedicated pool instead of mixed breath sounds
- Increased idle sound interval from 8-15s to 20-40s (less frequent)
- Removed flying mount idle sounds (too aggressive)
- Increased volume slightly (0.35x) for better audibility
This commit is contained in:
Kelsi 2026-02-10 20:20:26 -08:00
parent 8106347a82
commit 3c58492c8f
22 changed files with 36 additions and 25 deletions

View file

@ -1102,19 +1102,19 @@ void Renderer::updateCharacterAnimation() {
mountActiveFidget_ = 0; // Cancel any active fidget
}
// Idle ambient sounds: DISABLED for now (too frequent/annoying)
// if (!moving && mountSoundManager) {
// mountIdleSoundTimer_ += lastDeltaTime_;
// static float nextIdleSoundTime = 8.0f + (rand() % 8); // 8-15 seconds
//
// if (mountIdleSoundTimer_ >= nextIdleSoundTime) {
// mountSoundManager->playIdleSound();
// mountIdleSoundTimer_ = 0.0f;
// nextIdleSoundTime = 8.0f + (rand() % 8); // Randomize next sound time
// }
// } else if (moving) {
// mountIdleSoundTimer_ = 0.0f; // Reset timer when moving
// }
// Idle ambient sounds: snorts and whinnies only, less frequent
if (!moving && mountSoundManager) {
mountIdleSoundTimer_ += lastDeltaTime_;
static float nextIdleSoundTime = 20.0f + (rand() % 21); // 20-40 seconds
if (mountIdleSoundTimer_ >= nextIdleSoundTime) {
mountSoundManager->playIdleSound();
mountIdleSoundTimer_ = 0.0f;
nextIdleSoundTime = 20.0f + (rand() % 21); // Randomize next sound time
}
} else if (moving) {
mountIdleSoundTimer_ = 0.0f; // Reset timer when moving
}
// Only update animation if it changed and we're not in an action sequence or playing a fidget
if (mountAction_ == MountAction::None && mountActiveFidget_ == 0 && (!haveMountState || curMountAnim != mountAnimId)) {