diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-10-27 00:29:52 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-10-27 00:29:52 -0400 |
| commit | 81ebe0dfd449166e00de31ce9be2d7449e31536c (patch) | |
| tree | 0f7b648f69950c3d5edd916041ac52697c94ca4d /src/JSystem/JAudio/JASAiCtrl.cpp | |
| parent | 02de6b772d06b2ed15bbe7b25d01901fdca84966 (diff) | |
Work on JAS inlines, fix limits/climits headers
Diffstat (limited to 'src/JSystem/JAudio/JASAiCtrl.cpp')
| -rw-r--r-- | src/JSystem/JAudio/JASAiCtrl.cpp | 74 |
1 files changed, 7 insertions, 67 deletions
diff --git a/src/JSystem/JAudio/JASAiCtrl.cpp b/src/JSystem/JAudio/JASAiCtrl.cpp index 41ded9e0..67007cfb 100644 --- a/src/JSystem/JAudio/JASAiCtrl.cpp +++ b/src/JSystem/JAudio/JASAiCtrl.cpp @@ -124,25 +124,8 @@ void JASystem::Kernel::mixMonoTrack(s16* dest, s32 size, s16* (*cb)(s32)) { s16* destPtr = dest; s16* srcPtr = src; for (int i = 0; i < size; i++) { - s32 var1 = destPtr[0] + srcPtr[0]; - s16 var2; - if (var1 < -0x8000) { - var2 = -0x7fff; - } else if (var1 > 0x7fff) { - var2 = 0x7fff; - } else { - var2 = var1; - } - destPtr[0] = var2; - var1 = destPtr[1] + srcPtr[0]; - if (var1 < -0x8000) { - var2 = -0x7fff; - } else if (var1 > 0x7fff) { - var2 = 0x7fff; - } else { - var2 = var1; - } - destPtr[1] = var2; + destPtr[0] = JASAiMixLimit16(destPtr[0] + srcPtr[0]); + destPtr[1] = JASAiMixLimit16(destPtr[1] + srcPtr[0]); destPtr += 2; srcPtr++; } @@ -159,25 +142,8 @@ void JASystem::Kernel::mixMonoTrackWide(s16* dest, s32 size, s16* (*cb)(s32)) { s16* destPtr = dest; s16* srcPtr = src; for (int i = 0; i < size; i++) { - s32 var1 = destPtr[0] + srcPtr[0]; - s16 var2; - if (var1 < -0x8000) { - var2 = -0x7fff; - } else if (var1 > 0x7fff) { - var2 = 0x7fff; - } else { - var2 = var1; - } - destPtr[0] = var2; - var1 = destPtr[1] - srcPtr[0]; - if (var1 < -0x8000) { - var2 = -0x7fff; - } else if (var1 > 0x7fff) { - var2 = 0x7fff; - } else { - var2 = var1; - } - destPtr[1] = var2; + destPtr[0] = JASAiMixLimit16(destPtr[0] + srcPtr[0]); + destPtr[1] = JASAiMixLimit16(destPtr[1] - srcPtr[0]); destPtr += 2; srcPtr++; } @@ -196,25 +162,8 @@ void JASystem::Kernel::mixExtraTrack(s16* dest, s32 size, s16* (*cb)(s32)) { s16* srcPtr = src; s16* srcPtr2 = src + getFrameSamples(); for (int i = 0; i < size; i++) { - s32 var1 = destPtr[0] + srcPtr2[0]; - s16 var2; - if (var1 < -0x8000) { - var2 = -0x7fff; - } else if (var1 > 0x7fff) { - var2 = 0x7fff; - } else { - var2 = var1; - } - destPtr[0] = var2; - var1 = destPtr[1] + srcPtr[0]; - if (var1 < -0x8000) { - var2 = -0x7fff; - } else if (var1 > 0x7fff) { - var2 = 0x7fff; - } else { - var2 = var1; - } - destPtr[1] = var2; + destPtr[0] = JASAiMixLimit16(destPtr[0] + srcPtr2[0]); + destPtr[1] = JASAiMixLimit16(destPtr[1] + srcPtr[0]); destPtr += 2; srcPtr2++; srcPtr++; @@ -230,16 +179,7 @@ void JASystem::Kernel::mixInterleaveTrack(s16* dest, s32 size, s16* (*cb)(s32)) } s16* destPtr = dest; for (int i = 0; i < size * 2 ; i++) { - s32 var1 = destPtr[0] + src[0]; - s16 var2; - if (var1 < -0x8000) { - var2 = -0x7fff; - } else if (var1 > 0x7fff) { - var2 = 0x7fff; - } else { - var2 = var1; - } - destPtr[0] = var2; + destPtr[0] = JASAiMixLimit16(destPtr[0] + src[0]); destPtr++; src++; } |
