AX: Use ArraySize over sizeof division

Also gets rid of magic numbers in volume ramp generation.
This commit is contained in:
Lioncash 2015-09-14 23:31:47 -04:00
parent 23f36b1824
commit 77d3bed058
2 changed files with 11 additions and 9 deletions

View File

@ -2,6 +2,7 @@
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "Common/CommonFuncs.h"
#include "Common/FileUtil.h"
#include "Common/MathUtil.h"
@ -39,7 +40,7 @@ void AXUCode::LoadResamplingCoefficients()
size_t fidx;
std::string filename;
for (fidx = 0; fidx < sizeof (filenames) / sizeof (filenames[0]); ++fidx)
for (fidx = 0; fidx < ArraySize(filenames); ++fidx)
{
filename = filenames[fidx];
if (!File::Exists(filename))
@ -51,7 +52,7 @@ void AXUCode::LoadResamplingCoefficients()
break;
}
if (fidx >= sizeof (filenames) / sizeof (filenames[0]))
if (fidx >= ArraySize(filenames))
return;
WARN_LOG(DSPHLE, "Loading polyphase resampling coeffs from %s", filename.c_str());
@ -416,7 +417,7 @@ void AXUCode::ProcessPBList(u32 pb_addr)
m_coeffs_available ? m_coeffs : nullptr);
// Forward the buffers
for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i)
for (size_t i = 0; i < ArraySize(buffers.ptrs); ++i)
buffers.ptrs[i] += spms;
}
@ -586,10 +587,10 @@ void AXUCode::SendAUXAndMix(u32 main_auxa_up, u32 auxb_s_up, u32 main_l_dl,
};
// Download and mix
for (u32 i = 0; i < sizeof (dl_buffers) / sizeof (dl_buffers[0]); ++i)
for (size_t i = 0; i < ArraySize(dl_buffers); ++i)
{
int* dl_src = (int*)HLEMemory_Get_Pointer(dl_addrs[i]);
for (u32 j = 0; j < 32 * 5; ++j)
for (size_t j = 0; j < 32 * 5; ++j)
dl_buffers[i][j] += (int)Common::swap32(*dl_src++);
}
}
@ -648,7 +649,7 @@ void AXUCode::HandleMail(u32 mail)
void AXUCode::CopyCmdList(u32 addr, u16 size)
{
if (size >= (sizeof (m_cmdlist) / sizeof (u16)))
if (size >= ArraySize(m_cmdlist))
{
ERROR_LOG(DSPHLE, "Command list at %08x is too large: size=%d", addr, size);
return;

View File

@ -4,6 +4,7 @@
//
#define AX_WII // Used in AXVoice.
#include "Common/CommonFuncs.h"
#include "Common/MathUtil.h"
#include "Common/StringUtil.h"
@ -470,7 +471,7 @@ void AXWiiUCode::ProcessPBList(u32 pb_addr)
m_coeffs_available ? m_coeffs : nullptr);
// Forward the buffers
for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i)
for (size_t i = 0; i < ArraySize(buffers.ptrs); ++i)
buffers.ptrs[i] += 32;
}
ReinjectUpdatesFields(pb, num_updates, updates_addr);
@ -490,7 +491,7 @@ void AXWiiUCode::ProcessPBList(u32 pb_addr)
void AXWiiUCode::MixAUXSamples(int aux_id, u32 write_addr, u32 read_addr, u16 volume)
{
u16 volume_ramp[96];
GenerateVolumeRamp(volume_ramp, m_last_aux_volumes[aux_id], volume, 96);
GenerateVolumeRamp(volume_ramp, m_last_aux_volumes[aux_id], volume, ArraySize(volume_ramp));
m_last_aux_volumes[aux_id] = volume;
int* buffers[3] = { nullptr };
@ -589,7 +590,7 @@ void AXWiiUCode::OutputSamples(u32 lr_addr, u32 surround_addr, u16 volume,
bool upload_auxc)
{
u16 volume_ramp[96];
GenerateVolumeRamp(volume_ramp, m_last_main_volume, volume, 96);
GenerateVolumeRamp(volume_ramp, m_last_main_volume, volume, ArraySize(volume_ramp));
m_last_main_volume = volume;
int upload_buffer[3 * 32] = { 0 };