summaryrefslogtreecommitdiff
path: root/src/JSystem/JAudio/JASHardStream.cpp
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/JAudio/JASHardStream.cpp
parent02de6b772d06b2ed15bbe7b25d01901fdca84966 (diff)
Work on JAS inlines, fix limits/climits headers
Diffstat (limited to 'src/JSystem/JAudio/JASHardStream.cpp')
-rw-r--r--src/JSystem/JAudio/JASHardStream.cpp121
1 files changed, 60 insertions, 61 deletions
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;
}