summaryrefslogtreecommitdiff
path: root/src/JSystem
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2026-10-27 00:29:52 -0400
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2026-10-27 00:29:52 -0400
commit81ebe0dfd449166e00de31ce9be2d7449e31536c (patch)
tree0f7b648f69950c3d5edd916041ac52697c94ca4d /src/JSystem
parent02de6b772d06b2ed15bbe7b25d01901fdca84966 (diff)
Work on JAS inlines, fix limits/climits headers
Diffstat (limited to 'src/JSystem')
-rw-r--r--src/JSystem/JAudio/JAISeMgr.cpp1
-rw-r--r--src/JSystem/JAudio/JAISound.cpp2
-rw-r--r--src/JSystem/JAudio/JASAiCtrl.cpp74
-rw-r--r--src/JSystem/JAudio/JASBank.cpp1
-rw-r--r--src/JSystem/JAudio/JASDSPBuf.cpp2
-rw-r--r--src/JSystem/JAudio/JASDSPChannel.cpp2
-rw-r--r--src/JSystem/JAudio/JASDvdThread.cpp2
-rw-r--r--src/JSystem/JAudio/JASHardStream.cpp121
-rw-r--r--src/JSystem/JAudio/JASInstRand.cpp4
-rw-r--r--src/JSystem/JAudio/JASRegisterParam.cpp34
-rw-r--r--src/JSystem/JAudio/JASSeqParser.cpp11
-rw-r--r--src/JSystem/JAudio/JASTrack.cpp91
-rw-r--r--src/JSystem/JAudio/JASTrackInterrupt.cpp1
-rw-r--r--src/JSystem/JAudio/JASTrackPort.cpp1
-rw-r--r--src/JSystem/JAudio/dsptask.c2
-rw-r--r--src/JSystem/JKernel/JKRAramHeap.cpp2
-rw-r--r--src/JSystem/JStage/JSGCamera.cpp2
-rw-r--r--src/JSystem/JStage/JSGFog.cpp2
18 files changed, 139 insertions, 216 deletions
diff --git a/src/JSystem/JAudio/JAISeMgr.cpp b/src/JSystem/JAudio/JAISeMgr.cpp
index 8f388b96..89cee8da 100644
--- a/src/JSystem/JAudio/JAISeMgr.cpp
+++ b/src/JSystem/JAudio/JAISeMgr.cpp
@@ -14,7 +14,6 @@
#include "JSystem/JAudio/JAISoundTable.h"
#include "JSystem/JAudio/JAISystemInterface.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
-#include "limits.h"
#include "math.h"
#include "dolphin/mtx/mtxvec.h"
diff --git a/src/JSystem/JAudio/JAISound.cpp b/src/JSystem/JAudio/JAISound.cpp
index 475533f9..b87b2381 100644
--- a/src/JSystem/JAudio/JAISound.cpp
+++ b/src/JSystem/JAudio/JAISound.cpp
@@ -517,7 +517,7 @@ void JAISound::setTrackPortData(u8 param_1, u8 param_2, u16 param_3) {
/* 80299CD4-80299DE8 .text setSeInterRandomPara__8JAISoundFPfUlff */
void JAISound::setSeInterRandomPara(f32* param_1, u32 param_2, f32 param_3, f32 param_4) {
- u32 uVar3 = JAInter::Const::random.get_uint32(UINT32_MAX);
+ u32 uVar3 = JAInter::Const::random.get_uint32(UINT_MAX);
u32 term = uVar3 / (param_2 * 2);
f32 fVar2 = ((f32)(uVar3 - term * (param_2 * 2) + 1) - param_2) / 1000.0f;
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++;
}
diff --git a/src/JSystem/JAudio/JASBank.cpp b/src/JSystem/JAudio/JASBank.cpp
index 60c2faed..171cadc1 100644
--- a/src/JSystem/JAudio/JASBank.cpp
+++ b/src/JSystem/JAudio/JASBank.cpp
@@ -14,7 +14,6 @@ JKRHeap* JASystem::TBank::sCurrentHeap;
/* 80284548-8028455C .text getCurrentHeap__Q28JASystem5TBankFv */
JKRHeap* JASystem::TBank::getCurrentHeap() {
- /* Nonmatching */
if (sCurrentHeap) {
return sCurrentHeap;
}
diff --git a/src/JSystem/JAudio/JASDSPBuf.cpp b/src/JSystem/JAudio/JASDSPBuf.cpp
index 54c41fc9..3ca01500 100644
--- a/src/JSystem/JAudio/JASDSPBuf.cpp
+++ b/src/JSystem/JAudio/JASDSPBuf.cpp
@@ -106,7 +106,7 @@ void JASystem::TDSP_DACBuffer::finishDSPFrame() {
return;
}
writeBuffer = var2;
- TAudioThread::snIntCount = Kernel::getSubFrames();
+ TAudioThread::setDSPSyncCount(Kernel::getSubFrames());
Kernel::probeStart(7, "DSP-MAIN");
DsyncFrame2(Kernel::getSubFrames(), u32(dsp_buf[writeBuffer]), u32(&dsp_buf[writeBuffer][frameSamples]));
dspStatus = 1;
diff --git a/src/JSystem/JAudio/JASDSPChannel.cpp b/src/JSystem/JAudio/JASDSPChannel.cpp
index 9a3981e0..d45cb6e5 100644
--- a/src/JSystem/JAudio/JASDSPChannel.cpp
+++ b/src/JSystem/JAudio/JASDSPChannel.cpp
@@ -254,7 +254,7 @@ void JASystem::TDSPChannel::updateAll() {
u32 var2;
OSTick var3 = time - old_time;
old_time = time;
- var2 = Kernel::getSubFrames() - TAudioThread::snIntCount;
+ var2 = Kernel::getSubFrames() - TAudioThread::getDSPSyncCount();
history[var2] = var3;
if (var2) {
if (f32(history[0]) / var3 < DSP_LIMIT_RATIO) {
diff --git a/src/JSystem/JAudio/JASDvdThread.cpp b/src/JSystem/JAudio/JASDvdThread.cpp
index 30cfbde9..42391cb7 100644
--- a/src/JSystem/JAudio/JASDvdThread.cpp
+++ b/src/JSystem/JAudio/JASDvdThread.cpp
@@ -38,7 +38,7 @@ BOOL JASTaskThread::sendCmdMsg(s32 (*param_1)(void*), void* param_2, u32 param_3
void* JASTaskThread::run() {
OSMessage msg;
while (true) {
- msg = waitMessageBlock();
+ msg = waitMessage();
TCallStack* callStack = (TCallStack*)msg;
if (mPaused) {
OSSleepThread(&mQ);
diff --git a/src/JSystem/JAudio/JASHardStream.cpp b/src/JSystem/JAudio/JASHardStream.cpp
index bc4aaf01..a13c7ce6 100644
--- a/src/JSystem/JAudio/JASHardStream.cpp
+++ b/src/JSystem/JAudio/JASHardStream.cpp
@@ -45,7 +45,7 @@ void JASystem::HardStream::main() {
}
while (true) {
u16 introNum;
- switch (strCtrl.field_0xb) {
+ switch (strCtrl.getState()) {
case 1:
if (!strCtrl.getList()) {
return;
@@ -53,62 +53,62 @@ void JASystem::HardStream::main() {
introNum = strCtrl.getIntroNum();
if (introNum != 0xffff) {
if (!strCtrl.startFirst(introNum, finfo, &cur_finfo)) {
- strCtrl.field_0xb = 0;
+ strCtrl.setState(0);
return;
}
- strCtrl.field_0x8 = 0;
+ strCtrl.setPlayArea(0);
} else {
if (!strCtrl.startFirst(strCtrl.getLoopNum(), finfo, &cur_finfo)) {
- strCtrl.field_0xb = 0;
+ strCtrl.setState(0);
return;
}
strCtrl.clearListOne();
- strCtrl.field_0x8 = 1;
+ strCtrl.setPlayArea(1);
}
- strCtrl.field_0xb = 3;
+ strCtrl.setState(3);
return;
case 2:
- if (strCtrl.field_0x8 == 0) {
+ if (strCtrl.getPlayArea() == 0) {
u16 loopNum = strCtrl.getLoopNum();
if (loopNum != 0xffff) {
if (!strCtrl.startSecond(loopNum, finfo, &cur_finfo)) {
- strCtrl.field_0xb = 0;
+ strCtrl.setState(0);
return;
}
strCtrl.clearListOne();
- strCtrl.field_0x8 = 1;
- strCtrl.field_0xb = 4;
+ strCtrl.setPlayArea(1);
+ strCtrl.setState(4);
return;
}
}
strCtrl.clearListOne();
if (!strCtrl.getList()) {
- if (strCtrl.field_0x8 == 0) {
+ if (strCtrl.getPlayArea() == 0) {
DVDStopStreamAtEndAsync(&stop_cmd, 0);
- strCtrl.field_0xb = 4;
- strCtrl.field_0x8 = 2;
+ strCtrl.setState(4);
+ strCtrl.setPlayArea(2);
return;
}
- strCtrl.field_0x8 = 3;
- strCtrl.field_0xb = 4;
+ strCtrl.setPlayArea(3);
+ strCtrl.setState(4);
return;
}
introNum = strCtrl.getIntroNum();
if (introNum != 0xffff) {
if (!strCtrl.startSecond(introNum, finfo, &cur_finfo)) {
- strCtrl.field_0xb = 0;
+ strCtrl.setState(0);
return;
}
- strCtrl.field_0x8 = 0;
+ strCtrl.setPlayArea(0);
} else {
if (!strCtrl.startSecond(strCtrl.getLoopNum(), finfo, &cur_finfo)) {
- strCtrl.field_0xb = 0;
+ strCtrl.setState(0);
return;
}
strCtrl.clearListOne();
- strCtrl.field_0x8 = 1;
+ strCtrl.setPlayArea(1);
}
- strCtrl.field_0xb = 4;
+ strCtrl.setState(4);
return;
case 4: {
u8 currentVol = strCtrl.getCurVol();
@@ -122,47 +122,47 @@ void JASystem::HardStream::main() {
case 5: {
TPlayList* list = strCtrl.getList();
if (!list) {
- if (strCtrl.field_0x8 != 2) {
- strCtrl.field_0x8 = 3;
+ if (strCtrl.getPlayArea() != 2) {
+ strCtrl.setPlayArea(3);
}
- strCtrl.field_0xb = 4;
+ strCtrl.setState(4);
return;
}
- if (strCtrl.field_0x8 == 0) {
+ if (strCtrl.getPlayArea() == 0) {
if (list->getPair()->getLoop() == 0xffff) {
if (list->getNext() == NULL) {
DVDStopStreamAtEndAsync(&stop_cmd, 0);
strCtrl.clearListOne();
- strCtrl.field_0x8 = 2;
+ strCtrl.setPlayArea(2);
} else {
strCtrl.clearListOne();
- strCtrl.field_0x8 = 1;
+ strCtrl.setPlayArea(1);
break;
}
} else {
if (!strCtrl.startSecond(strCtrl.getLoopNum(), finfo, &cur_finfo)) {
- strCtrl.field_0xb = 0;
+ strCtrl.setState(0);
return;
}
strCtrl.clearListOne();
- strCtrl.field_0x8 = 1;
+ strCtrl.setPlayArea(1);
}
} else if (!list) {
- strCtrl.field_0x8 = 3;
- strCtrl.field_0xb = 4;
+ strCtrl.setPlayArea(3);
+ strCtrl.setState(4);
} else {
introNum = strCtrl.getIntroNum();
if (introNum == 0xffff) {
- strCtrl.field_0x8 = 0;
+ strCtrl.setPlayArea(0);
break;
}
if (!strCtrl.startSecond(introNum, finfo, &cur_finfo)) {
- strCtrl.field_0xb = 0;
+ strCtrl.setState(0);
return;
}
- strCtrl.field_0x8 = 0;
+ strCtrl.setPlayArea(0);
}
- strCtrl.field_0xb = 4;
+ strCtrl.setState(4);
return;
}
case 6:
@@ -170,10 +170,10 @@ void JASystem::HardStream::main() {
AISetStreamVolRight(0);
AISetStreamPlayState(0);
DVDCancelStreamAsync(&finish_cmd, NULL);
- strCtrl.field_0xb = 0;
- strCtrl.field_0x8 = 0;
+ strCtrl.setState(0);
+ strCtrl.setPlayArea(0);
strCtrl.resetFader();
- strCtrl.field_0xa = 0;
+ strCtrl.setRestart(0);
return;
case 0:
case 3:
@@ -185,40 +185,40 @@ void JASystem::HardStream::main() {
/* 8027C318-8027C39C .text firstBgmCallback__Q28JASystem10HardStreamFlP11DVDFileInfo */
void JASystem::HardStream::firstBgmCallback(s32, DVDFileInfo*) {
- if (strCtrl.field_0xa == 0) {
+ if (strCtrl.getRestart() == 0) {
u8 vol = strCtrl.getCurVol();
AISetStreamVolLeft(vol);
AISetStreamVolRight(vol);
AISetStreamSampleRate(1);
AIResetStreamSampleCount();
AISetStreamPlayState(1);
- strCtrl.field_0xb = 2;
+ strCtrl.setState(2);
} else {
- strCtrl.field_0xb = 4;
- strCtrl.field_0xa = 0;
+ strCtrl.setState(4);
+ strCtrl.setRestart(0);
}
}
/* 8027C39C-8027C3B0 .text secondBgmCallback__Q28JASystem10HardStreamFlP11DVDFileInfo */
void JASystem::HardStream::secondBgmCallback(s32, DVDFileInfo*) {
- strCtrl.field_0xb = 4;
+ strCtrl.setState(4);
}
/* 8027C3B0-8027C4E4 .text getAddrCallback__Q28JASystem10HardStreamFlP15DVDCommandBlock */
void JASystem::HardStream::getAddrCallback(s32 param_1, DVDCommandBlock* param_2) {
static BOOL last_frame = 0;
- if (strCtrl.field_0x8 == 3) {
- if (param_1 == strCtrl.field_0x44[strCtrl.field_0x4c ^ 1]) {
+ if (strCtrl.getPlayArea() == 3) {
+ if (param_1 == strCtrl.getLastAddrBefore()) {
last_frame = true;
} else if (last_frame) {
last_frame = false;
- strCtrl.field_0xb = 5;
+ strCtrl.setState(5);
}
- } else if (strCtrl.field_0x8 == 2) {
- if (param_1 == strCtrl.field_0x44[strCtrl.field_0x4c ^ 1] - 0x8000) {
+ } else if (strCtrl.getPlayArea() == 2) {
+ if (param_1 == strCtrl.getLastAddrBefore() - 0x8000) {
last_frame = true;
} else if (last_frame) {
- strCtrl.field_0xb = 6;
+ strCtrl.setState(6);
unregistBgmAll();
last_frame = false;
}
@@ -227,7 +227,7 @@ void JASystem::HardStream::getAddrCallback(s32 param_1, DVDCommandBlock* param_2
last_frame = true;
} else if (last_frame) {
last_frame = false;
- strCtrl.field_0xb = 5;
+ strCtrl.setState(5);
}
}
}
@@ -240,11 +240,11 @@ static f32 dummy1() {
JASystem::HardStream::TControl::TControl() {
field_0x0 = 0;
mpList = NULL;
- field_0xa = 0;
- field_0x8 = 0;
- field_0xb = 0;
+ mRestart = 0;
+ mPlayArea = 0;
+ mState = 0;
field_0xc = 1.0f;
- field_0x10 = 0.0f;
+ mCurVolume = 0.0f;
field_0x14 = 0;
field_0x18 = 0;
field_0x1c = 0;
@@ -257,7 +257,7 @@ JASystem::HardStream::TControl::TControl() {
field_0x38 = 0;
field_0x3c = 0;
field_0x40 = 0;
- field_0x4c = 0;
+ mAddrIdx = 0;
}
/* 8027C544-8027C57C .text getIntroNum__Q38JASystem10HardStream8TControlFv */
@@ -331,13 +331,13 @@ BOOL JASystem::HardStream::TControl::clearListOne() {
/* 8027C67C-8027C710 .text setLastAddr__Q38JASystem10HardStream8TControlFP11DVDFileInfo */
void JASystem::HardStream::TControl::setLastAddr(DVDFileInfo* finfo) {
JUT_ASSERT(906, finfo != NULL);
- field_0x44[field_0x4c] = finfo->start_address + finfo->length - 0x8000;
- field_0x4c ^= 1;
+ mAddrs[mAddrIdx] = finfo->start_address + finfo->length - 0x8000;
+ mAddrIdx ^= 1;
}
/* 8027C710-8027C724 .text getLastAddr__Q38JASystem10HardStream8TControlFv */
u32 JASystem::HardStream::TControl::getLastAddr() {
- return field_0x44[field_0x4c];
+ return mAddrs[mAddrIdx];
}
/* 8027C724-8027C7D8 .text startFirst__Q38JASystem10HardStream8TControlFUsP11DVDFileInfoPUl */
@@ -382,7 +382,7 @@ void JASystem::HardStream::TControl::resetFader() {
/* 8027C8C8-8027C900 .text getCurVol__Q38JASystem10HardStream8TControlFv */
u8 JASystem::HardStream::TControl::getCurVol() {
calcCurVolume();
- return volFloatToU8(field_0x10);
+ return volFloatToU8(mCurVolume);
}
/* 8027C900-8027CB5C .text calcCurVolume__Q38JASystem10HardStream8TControlFv */
@@ -417,7 +417,7 @@ void JASystem::HardStream::TControl::calcCurVolume() {
f29 = 0.0f;
resetFader();
- field_0xb = 6;
+ mState = 6;
unregistBgmAll();
} else {
@@ -445,12 +445,11 @@ void JASystem::HardStream::TControl::calcCurVolume() {
f0 *= field_0x2c * (f30 * f29);
f0 *= field_0xc;
- field_0x10 = f0;
+ mCurVolume = f0;
}
/* 8027CB5C-8027CB9C .text volFloatToU8__Q38JASystem10HardStream8TControlFf */
u8 JASystem::HardStream::TControl::volFloatToU8(f32 param_1) {
- /* Nonmatching */
if (param_1 > 1.0f) {
param_1 = 1.0f;
}
diff --git a/src/JSystem/JAudio/JASInstRand.cpp b/src/JSystem/JAudio/JASInstRand.cpp
index 91103ed4..e0617ecf 100644
--- a/src/JSystem/JAudio/JASInstRand.cpp
+++ b/src/JSystem/JAudio/JASInstRand.cpp
@@ -10,8 +10,8 @@
/* 80286B58-80286BF4 .text getY__Q28JASystem9TInstRandCFii */
f32 JASystem::TInstRand::getY(int, int) const {
- static JMath::TRandom_fast_ oRandom(0);
- f32 tmp = (oRandom.get_ufloat_1() * 2.0f - 0.9999999f);
+ static JMath::TRandom_<JMath::TRandom_fast_> oRandom(0);
+ f32 tmp = oRandom.get_float(2.0f);
tmp *= mWidth;
return tmp + mBase;
}
diff --git a/src/JSystem/JAudio/JASRegisterParam.cpp b/src/JSystem/JAudio/JASRegisterParam.cpp
index 2652f18c..7621237f 100644
--- a/src/JSystem/JAudio/JASRegisterParam.cpp
+++ b/src/JSystem/JAudio/JASRegisterParam.cpp
@@ -24,10 +24,10 @@ JASystem::TRegisterParam::TRegisterParam() {
mPanPower[2] = 0;
mPanPower[3] = 0;
mPanPower[4] = 0;
- field_0x20[0] = 0;
- field_0x20[1] = 0;
- field_0x20[2] = 0;
- field_0x20[3] = 0;
+ mAddress[0] = 0;
+ mAddress[1] = 0;
+ mAddress[2] = 0;
+ mAddress[3] = 0;
}
/* 8027E310-8027E378 .text init__Q28JASystem14TRegisterParamFv */
@@ -46,30 +46,30 @@ void JASystem::TRegisterParam::init() {
mPanPower[2] = 1;
mPanPower[3] = 0x7fff;
mPanPower[4] = 0x4000;
- field_0x20[0] = 0;
- field_0x20[1] = 0;
- field_0x20[2] = 0;
- field_0x20[3] = 0;
+ mAddress[0] = 0;
+ mAddress[1] = 0;
+ mAddress[2] = 0;
+ mAddress[3] = 0;
}
/* 8027E378-8027E3E0 .text inherit__Q28JASystem14TRegisterParamFRCQ28JASystem14TRegisterParam */
-void JASystem::TRegisterParam::inherit(const JASystem::TRegisterParam& param_1) {
+void JASystem::TRegisterParam::inherit(const JASystem::TRegisterParam& other) {
field_0x0[0] = 0;
field_0x0[1] = 0;
field_0x0[2] = 0;
field_0x0[3] = 0;
field_0x0[4] = 0;
field_0x0[5] = 0;
- field_0xc = param_1.field_0xc;
- field_0xe = param_1.field_0xe;
- field_0x1a = param_1.field_0x1a;
+ field_0xc = other.field_0xc;
+ field_0xe = other.field_0xe;
+ field_0x1a = other.field_0x1a;
for (int i = 0; i < 5; i++) {
- mPanPower[i] = param_1.mPanPower[i];
+ mPanPower[i] = other.mPanPower[i];
}
- field_0x20[0] = 0;
- field_0x20[1] = 0;
- field_0x20[2] = 0;
- field_0x20[3] = 0;
+ mAddress[0] = 0;
+ mAddress[1] = 0;
+ mAddress[2] = 0;
+ mAddress[3] = 0;
}
/* 8027E3E0-8027E3EC .text getBankNumber__Q28JASystem14TRegisterParamCFv */
diff --git a/src/JSystem/JAudio/JASSeqParser.cpp b/src/JSystem/JAudio/JASSeqParser.cpp
index 17e41d75..909f00a6 100644
--- a/src/JSystem/JAudio/JASSeqParser.cpp
+++ b/src/JSystem/JAudio/JASSeqParser.cpp
@@ -212,14 +212,7 @@ int JASystem::TSeqParser::cmdCall(TTrack* track, u32* args) {
/* 8027E90C-8027E9AC .text cmdRet__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdRet(TTrack* track, u32* args) {
if (conditionCheck(track, args[0])) {
- u32 var1 = track->getSeq()->mLoopIndex;
- bool tmp;
- if (var1 == 0) {
- tmp = false;
- } else {
- tmp = track->getSeq()->ret();
- }
- if (!tmp) {
+ if (!track->getSeq()->ret()) {
JUT_WARN(335, "%s", "cannot ret for call-stack is NULL");
return 3;
}
@@ -801,7 +794,7 @@ int JASystem::TSeqParser::cmdWait(TTrack* track, u8 flag) {
val <<= 8;
val |= track->getSeq()->readByte();
}
- track->getSeq()->mWaitTimer = val;
+ track->getSeq()->wait(val);
if (val != 0) {
return 1;
} else {
diff --git a/src/JSystem/JAudio/JASTrack.cpp b/src/JSystem/JAudio/JASTrack.cpp
index dffe5b0d..53a951b6 100644
--- a/src/JSystem/JAudio/JASTrack.cpp
+++ b/src/JSystem/JAudio/JASTrack.cpp
@@ -193,7 +193,7 @@ void JASystem::TTrack::setInterrupt(u16 param_1) {
/* 80280FA8-80281004 .text tryInterrupt__Q28JASystem6TTrackFv */
bool JASystem::TTrack::tryInterrupt() {
- if (mSeqCtrl.mPreviousFilePtr) {
+ if (mSeqCtrl.isIntr()) {
return false;
}
void* var1 = mIntrMgr.checkIntr();
@@ -415,7 +415,7 @@ void JASystem::TTrack::oscSetupFull(u8 param_1, u32 param_2, u32 param_3) {
if (param_2 == 0) {
field_0x2cc[r8].table = NULL;
}
- field_0x2cc[r8].table = (s16*)(mSeqCtrl.mRawFilePtr + param_2);
+ field_0x2cc[r8].table = (s16*)mSeqCtrl.getAddr(param_2);
}
if (!r10) {
return;
@@ -423,7 +423,7 @@ void JASystem::TTrack::oscSetupFull(u8 param_1, u32 param_2, u32 param_3) {
if (param_3 == 0) {
field_0x2cc[r8].rel_table = Player::sRelTable;
}
- field_0x2cc[r8].rel_table = (s16*)(mSeqCtrl.mRawFilePtr + param_3);
+ field_0x2cc[r8].rel_table = (s16*)mSeqCtrl.getAddr(param_3);
}
/* 802817E4-80281850 .text oscSetupSimpleEnv__Q28JASystem6TTrackFUcUl */
@@ -431,10 +431,10 @@ void JASystem::TTrack::oscSetupSimpleEnv(u8 param_1, u32 param_2) {
switch (param_1) {
case 0:
field_0x2cc[0] = Player::sEnvelopeDef;
- field_0x2cc[0].table = (s16*)(mSeqCtrl.mRawFilePtr + param_2);
+ field_0x2cc[0].table = (s16*)mSeqCtrl.getAddr(param_2);
break;
case 1:
- field_0x2cc[0].rel_table = (s16*)(mSeqCtrl.mRawFilePtr + param_2);
+ field_0x2cc[0].rel_table = (s16*)mSeqCtrl.getAddr(param_2);
break;
}
}
@@ -990,7 +990,7 @@ int JASystem::TTrack::loadTbl(u32 param_1, u32 param_2, u32 param_3) {
switch (param_3) {
case 4:
- return mSeqCtrl.mRawFilePtr[param_1 + param_2];
+ return mSeqCtrl.getByte(param_1 + param_2);
case 5:
return mSeqCtrl.get16(param_1 + param_2 * 2);
case 6:
@@ -1020,13 +1020,13 @@ int JASystem::TTrack::exchangeRegisterValue(u8 target) {
u32 JASystem::TTrack::readReg32(u8 target) {
u32 result;
switch(target) {
- case 0x28:
- case 0x29:
- case 0x2a:
- case 0x2b:
- result = mRegisterParam.getAddress(target - 0x28);
+ case TRegisterParam::PARAM_REG_AR0:
+ case TRegisterParam::PARAM_REG_AR1:
+ case TRegisterParam::PARAM_REG_AR2:
+ case TRegisterParam::PARAM_REG_AR3:
+ result = mRegisterParam.getAddress(target - TRegisterParam::PARAM_REG_AR0);
break;
- case 0x23:
+ case TRegisterParam::PARAM_REG_XY:
result = readReg16(0x4) << 16;
result |= readReg16(0x5);
break;
@@ -1114,8 +1114,7 @@ void JASystem::TTrack::writeRegDirect(u8 target, u16 value) {
/* 80283164-802836FC .text writeRegParam__Q28JASystem6TTrackFUc */
void JASystem::TTrack::writeRegParam(u8 param) {
u8 curr_file_byte;
- u8 bVar0;
- u8 bVar1;
+ u8 target;
u32 iVar1;
u32 iVar2;
@@ -1124,7 +1123,7 @@ void JASystem::TTrack::writeRegParam(u8 param) {
s16 sVar0;
s16 sVar1;
- u32 extended_sVar1;
+ u32 r23;
u32 tbl_return;
switch (param & 0xF) {
@@ -1133,13 +1132,13 @@ void JASystem::TTrack::writeRegParam(u8 param) {
iVar2 = 11;
break;
case 10:
- curr_file_byte = *mSeqCtrl.mCurrentFilePtr++;
+ curr_file_byte = mSeqCtrl.readByte();
iVar1 = curr_file_byte & 0xC;
tbl_param_3 = (curr_file_byte >> 4) + 4;
iVar2 = 10;
break;
case 9:
- curr_file_byte = *mSeqCtrl.mCurrentFilePtr++;
+ curr_file_byte = mSeqCtrl.readByte();
iVar1 = curr_file_byte & 0xC;
iVar2 = curr_file_byte & 0xF0;
if (iVar1 == 8) {
@@ -1152,25 +1151,23 @@ void JASystem::TTrack::writeRegParam(u8 param) {
break;
}
- bVar0 = *mSeqCtrl.mCurrentFilePtr++;
+ target = mSeqCtrl.readByte();
if (iVar2 == 10) {
- u8 next_file_byte = *mSeqCtrl.mCurrentFilePtr++;
- tbl_param_1 = readReg32(next_file_byte);
+ tbl_param_1 = readReg32(mSeqCtrl.readByte());
}
switch (iVar1) {
case 0:
- bVar1 = *mSeqCtrl.mCurrentFilePtr++;
- sVar0 = readReg16(bVar1);
+ sVar0 = readReg16(mSeqCtrl.readByte());
break;
case 4:
- sVar0 = *mSeqCtrl.mCurrentFilePtr++;
+ sVar0 = mSeqCtrl.readByte();
break;
case 12:
sVar0 = mSeqCtrl.read16();
break;
case 8: {
- u32 byte = (u32) *mSeqCtrl.mCurrentFilePtr++;
+ u32 byte = mSeqCtrl.readByte();
if (byte & 0x80) {
sVar0 = byte << 8;
} else {
@@ -1183,8 +1180,8 @@ void JASystem::TTrack::writeRegParam(u8 param) {
break;
}
- sVar1 = readReg16(bVar0);
- extended_sVar1 = sVar1;
+ sVar1 = readReg16(target);
+ r23 = sVar1;
switch (iVar2) {
case 0x0:
@@ -1196,15 +1193,15 @@ void JASystem::TTrack::writeRegParam(u8 param) {
sVar0 += sVar1;
break;
case 0x2:
- extended_sVar1 *= sVar0;
- writeRegDirect(4, JSUHiHalf(extended_sVar1));
- writeRegDirect(5, JSULoHalf(extended_sVar1));
+ r23 *= sVar0;
+ writeRegDirect(4, JSUHiHalf(r23));
+ writeRegDirect(5, JSULoHalf(r23));
return;
case 0x3:
mRegisterParam.setFlag(sVar1 - sVar0);
return;
case 0xB:
- sVar0 = extended_sVar1 - (u32)sVar0;
+ sVar0 = r23 - (u32)sVar0;
break;
case 0x10:
if (iVar1 == 4) {
@@ -1250,56 +1247,54 @@ void JASystem::TTrack::writeRegParam(u8 param) {
// Bug: reg_flags is uninitialized in several of these cases.
u16 reg_flags;
- switch (bVar0) {
+ switch (target) {
case 0:
case 1:
case 2: {
- u8 val3 = sVar0 & 0xFF;
- sVar0 = val3;
- reg_flags = Player::extend8to16(val3);
+ sVar0 = sVar0 & 0xFF;
+ reg_flags = Player::extend8to16(sVar0);
break;
}
case 0x21: {
u8 bank = mRegisterParam.getBankNumber();
sVar0 = (bank << 8) | (sVar0 & 0xFF);
- bVar0 = 6;
+ target = 6;
break;
}
case 0x20:
sVar0 = mRegisterParam.getProgramNumber() | ((s16)sVar0 << 8);
- bVar0 = 6;
+ target = 6;
break;
case 0x2E:
sVar0 = (mRegisterParam.field_0x1a & 0xFF00) | (sVar0 & 0xFF);
- bVar0 = 13;
+ target = 13;
break;
case 0x2F: {
- s16 tmp = (mRegisterParam.field_0x1a & 0xFF);
- sVar0 = tmp | (sVar0 << 8);
- bVar0 = 13;
+ sVar0 = (s16)(mRegisterParam.field_0x1a & 0xFF) | (sVar0 << 8);
+ target = 13;
break;
}
case 0x22:
writeRegDirect(0, sVar0 >> 8);
- bVar0 = 1;
+ target = 1;
sVar0 = sVar0 & 0xFF;
reg_flags = sVar0;
break;
- case 0x28:
- case 0x29:
- case 0x2a:
- case 0x2b:
- mRegisterParam.setAddress(bVar0 - 0x28, tbl_return);
+ case TRegisterParam::PARAM_REG_AR0:
+ case TRegisterParam::PARAM_REG_AR1:
+ case TRegisterParam::PARAM_REG_AR2:
+ case TRegisterParam::PARAM_REG_AR3:
+ mRegisterParam.setAddress(target - TRegisterParam::PARAM_REG_AR0, tbl_return);
return;
default:
reg_flags = sVar0;
break;
}
- mRegisterParam.field_0x0[bVar0] = sVar0;
+ mRegisterParam.field_0x0[target] = sVar0;
mRegisterParam.setFlag(reg_flags);
- switch (bVar0) {
+ switch (target) {
case 6:
for (s32 i = 0; i < (s32)ARRAY_SIZE(mOscRoute); i++) {
mOscRoute[i] = 0xF;
diff --git a/src/JSystem/JAudio/JASTrackInterrupt.cpp b/src/JSystem/JAudio/JASTrackInterrupt.cpp
index 438a8662..6cc78ded 100644
--- a/src/JSystem/JAudio/JASTrackInterrupt.cpp
+++ b/src/JSystem/JAudio/JASTrackInterrupt.cpp
@@ -36,7 +36,6 @@ void JASystem::TIntrMgr::setIntr(u32 param_1, void* param_2) {
/* 802841A0-802841B8 .text resetInter__Q28JASystem8TIntrMgrFUl */
void JASystem::TIntrMgr::resetInter(u32 param_1) {
- /* Nonmatching */
field_0x2 &= ~(1 << param_1);
}
diff --git a/src/JSystem/JAudio/JASTrackPort.cpp b/src/JSystem/JAudio/JASTrackPort.cpp
index 150a5d8a..c7f51b0a 100644
--- a/src/JSystem/JAudio/JASTrackPort.cpp
+++ b/src/JSystem/JAudio/JASTrackPort.cpp
@@ -12,7 +12,6 @@ const u32 MAX_PORTS = 16;
/* 802842A8-802842E8 .text init__Q28JASystem10TTrackPortFv */
void JASystem::TTrackPort::init() {
- /* Nonmatching */
for (int i = 0; i < 16; i++) {
mImportFlag[i] = 0;
mExportFlag[i] = 0;
diff --git a/src/JSystem/JAudio/dsptask.c b/src/JSystem/JAudio/dsptask.c
index 02193e2b..98640c56 100644
--- a/src/JSystem/JAudio/dsptask.c
+++ b/src/JSystem/JAudio/dsptask.c
@@ -19,7 +19,7 @@ void DspHandShake(void* param_1) {
Dsp_Running_Start();
}
-static u8 jdsp[] = {
+static u8 jdsp[] ATTRIBUTE_ALIGN(32) = {
0x02, 0x9F, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00,
0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0x9F, 0x05, 0xB8,
0x02, 0x9F, 0x00, 0x4E, 0x12, 0x05, 0x02, 0xBF, 0x00, 0x57, 0x81, 0x00, 0x00, 0x9F, 0x10, 0x00,
diff --git a/src/JSystem/JKernel/JKRAramHeap.cpp b/src/JSystem/JKernel/JKRAramHeap.cpp
index 0c881bea..69c47c6f 100644
--- a/src/JSystem/JKernel/JKRAramHeap.cpp
+++ b/src/JSystem/JKernel/JKRAramHeap.cpp
@@ -52,7 +52,7 @@ JKRAramBlock* JKRAramHeap::alloc(u32 size, JKRAramHeap::EAllocMode allocationMod
/* 802B55D8-802B5660 .text allocFromHead__11JKRAramHeapFUl */
JKRAramBlock* JKRAramHeap::allocFromHead(u32 size) {
u32 alignedSize = ALIGN_NEXT(size, 0x20);
- u32 bestFreeSize = UINT32_MAX;
+ u32 bestFreeSize = UINT_MAX;
JKRAramBlock* bestBlock = NULL;
JSUList<JKRAramBlock>* list = &sAramList;
diff --git a/src/JSystem/JStage/JSGCamera.cpp b/src/JSystem/JStage/JSGCamera.cpp
index cb668dfa..8a904524 100644
--- a/src/JSystem/JStage/JSGCamera.cpp
+++ b/src/JSystem/JStage/JSGCamera.cpp
@@ -37,7 +37,7 @@ void JStage::TCamera::JSGSetProjectionNear(f32) {
/* 8026DD94-8026DD9C .text JSGGetProjectionFar__Q26JStage7TCameraCFv */
f32 JStage::TCamera::JSGGetProjectionFar() const {
- return FLOAT_MAX;
+ return FLT_MAX;
}
/* 8026DD9C-8026DDA0 .text JSGSetProjectionFar__Q26JStage7TCameraFf */
diff --git a/src/JSystem/JStage/JSGFog.cpp b/src/JSystem/JStage/JSGFog.cpp
index 75503377..adb404a9 100644
--- a/src/JSystem/JStage/JSGFog.cpp
+++ b/src/JSystem/JStage/JSGFog.cpp
@@ -37,7 +37,7 @@ void JStage::TFog::JSGSetStartZ(f32) {
/* 8026DE70-8026DE78 .text JSGGetEndZ__Q26JStage4TFogCFv */
f32 JStage::TFog::JSGGetEndZ() const {
- return FLOAT_MAX;
+ return FLT_MAX;
}
/* 8026DE78-8026DE7C .text JSGSetEndZ__Q26JStage4TFogFf */