mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	fix logic error & scale sample volume based on voice volume
This commit is contained in:
		
							parent
							
								
									c4e7ec7a99
								
							
						
					
					
						commit
						16c0373adc
					
				@ -315,8 +315,8 @@ void AudioRenderer::VoiceState::RefreshBuffer(Core::Memory::Memory& memory,
 | 
			
		||||
                sample *= voice_resources[0]->mix_volumes[0];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            samples[index * 2] = static_cast<s16>(sample);
 | 
			
		||||
            samples[index * 2 + 1] = static_cast<s16>(sample);
 | 
			
		||||
            samples[index * 2] = static_cast<s16>(sample * info.volume);
 | 
			
		||||
            samples[index * 2 + 1] = static_cast<s16>(sample * info.volume);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
@ -336,11 +336,11 @@ void AudioRenderer::VoiceState::RefreshBuffer(Core::Memory::Memory& memory,
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (voice_resources[1]->in_use) {
 | 
			
		||||
                sample_l *= voice_resources[1]->mix_volumes[1];
 | 
			
		||||
                sample_r *= voice_resources[1]->mix_volumes[1];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            samples[index_l] = static_cast<s16>(sample_l);
 | 
			
		||||
            samples[index_r] = static_cast<s16>(sample_r);
 | 
			
		||||
            samples[index_l] = static_cast<s16>(sample_l * info.volume);
 | 
			
		||||
            samples[index_r] = static_cast<s16>(sample_r * info.volume);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
@ -371,8 +371,10 @@ void AudioRenderer::VoiceState::RefreshBuffer(Core::Memory::Memory& memory,
 | 
			
		||||
                BR *= voice_resources[5]->mix_volumes[5];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            samples[index * 2] = static_cast<s16>(0.3694f * FL + 0.2612f * FC + 0.3694f * BL);
 | 
			
		||||
            samples[index * 2 + 1] = static_cast<s16>(0.3694f * FR + 0.2612f * FC + 0.3694f * BR);
 | 
			
		||||
            samples[index * 2] =
 | 
			
		||||
                static_cast<s16>((0.3694f * FL + 0.2612f * FC + 0.3694f * BL) * info.volume);
 | 
			
		||||
            samples[index * 2 + 1] =
 | 
			
		||||
                static_cast<s16>((0.3694f * FR + 0.2612f * FC + 0.3694f * BR) * info.volume);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user