mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-19 22:33:04 -04:00
Names mixed in with some BE fixes
This commit is contained in:
@@ -57,7 +57,7 @@ void JAISe::startTrack_(const JASSoundParams& params) {
|
||||
}
|
||||
|
||||
inner_.field_0x26c = 1;
|
||||
inner_.track.setSeqData(inner_.mSeqData.field_0x0, inner_.mSeqData.field_0x4);
|
||||
inner_.track.setSeqData(inner_.mSeqData.mBase, inner_.mSeqData.mOffset);
|
||||
inner_.track.startSeq();
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ void JAISeq::JAISeqMgr_startID_(JAISoundID id, const JGeometry::TVec3<f32>* posP
|
||||
void JAISeq::playSeqData_(const JASSoundParams& params, JAISoundActivity activity) {
|
||||
JUT_ASSERT(72, JASTrack_isFreeOrStopped( & inner_.outputTrack ));
|
||||
|
||||
inner_.outputTrack.setSeqData(inner_.mSeqData.field_0x0, inner_.mSeqData.field_0x4);
|
||||
inner_.outputTrack.setSeqData(inner_.mSeqData.mBase, inner_.mSeqData.mOffset);
|
||||
if (audible_) {
|
||||
initTrack_JAISound_(&inner_.outputTrack);
|
||||
} else {
|
||||
|
||||
@@ -34,9 +34,9 @@ void JASSeqCtrl::init() {
|
||||
field_0x51 = 0;
|
||||
}
|
||||
|
||||
void JASSeqCtrl::start(void* param_0, u32 param_1) {
|
||||
mReader.init(param_0);
|
||||
mReader.jump(param_1);
|
||||
void JASSeqCtrl::start(void* base, u32 offset) {
|
||||
mReader.init(base);
|
||||
mReader.jump(offset);
|
||||
}
|
||||
|
||||
int JASSeqCtrl::tickProc(JASTrack* param_0) {
|
||||
|
||||
@@ -959,10 +959,10 @@ s32 JASSeqParser::parseCommand(JASTrack* param_0, u8 cmd, u16 param_2) {
|
||||
} else {
|
||||
cmdInfo = &sExtCmdInfo[seqCtrl->readByte() & 0xff];
|
||||
}
|
||||
u16 r28 = (u16)cmdInfo->field_0xe;
|
||||
u16 r28 = (u16)cmdInfo->mParameterTypes;
|
||||
r28 |= param_2;
|
||||
u32 stack_28[8];
|
||||
for (int i = 0; i < cmdInfo->field_0xc; i++, r28 >>= 2) {
|
||||
for (int i = 0; i < cmdInfo->mParameterCount; i++, r28 >>= 2) {
|
||||
int r27 = 0;
|
||||
switch (r28 & 3) {
|
||||
case 0:
|
||||
@@ -980,11 +980,11 @@ s32 JASSeqParser::parseCommand(JASTrack* param_0, u8 cmd, u16 param_2) {
|
||||
}
|
||||
stack_28[i] = r27;
|
||||
}
|
||||
s32 (JASSeqParser::*ptr)(JASTrack*, u32*) = cmdInfo->field_0x0;
|
||||
s32 (JASSeqParser::*ptr)(JASTrack*, u32*) = cmdInfo->mHandler;
|
||||
if (!ptr) {
|
||||
return 0;
|
||||
}
|
||||
return execCommand(param_0, ptr, cmdInfo->field_0xc, stack_28);
|
||||
return execCommand(param_0, ptr, cmdInfo->mParameterCount, stack_28);
|
||||
}
|
||||
|
||||
s32 JASSeqParser::parseRegCommand(JASTrack* param_0, int param_1) {
|
||||
|
||||
@@ -8,81 +8,81 @@
|
||||
#include "JSystem/JAudio2/JASSeqReader.h"
|
||||
|
||||
void JASSeqReader::init() {
|
||||
field_0x00 = 0;
|
||||
field_0x04 = 0;
|
||||
field_0x08 = 0;
|
||||
mBase = 0;
|
||||
mCurPos = 0;
|
||||
mCurStackDepth = 0;
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
field_0x0c[i] = NULL;
|
||||
field_0x2c[i] = 0;
|
||||
for (int i = 0; i < JAS_SEQ_STACK_SIZE; i++) {
|
||||
mReturnAddr[i] = NULL;
|
||||
mLoopCount[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void JASSeqReader::init(void* param_0) {
|
||||
field_0x00 = (u8*)param_0;
|
||||
field_0x04 = field_0x00;
|
||||
field_0x08 = 0;
|
||||
void JASSeqReader::init(void* base) {
|
||||
mBase = (u8*)base;
|
||||
mCurPos = mBase;
|
||||
mCurStackDepth = 0;
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
field_0x0c[i] = NULL;
|
||||
field_0x2c[i] = 0;
|
||||
for (int i = 0; i < JAS_SEQ_STACK_SIZE; i++) {
|
||||
mReturnAddr[i] = NULL;
|
||||
mLoopCount[i] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool JASSeqReader::call(u32 param_0) {
|
||||
if (field_0x08 >= 8) {
|
||||
if (mCurStackDepth >= JAS_SEQ_STACK_SIZE) {
|
||||
JUT_WARN(42, "%s", "Cannot exec call command");
|
||||
return false;
|
||||
}
|
||||
|
||||
field_0x0c[field_0x08++] = (u16*)field_0x04;
|
||||
field_0x04 = field_0x00 + param_0;
|
||||
mReturnAddr[mCurStackDepth++] = (u16*)mCurPos;
|
||||
mCurPos = mBase + param_0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool JASSeqReader::loopStart(u32 param_0) {
|
||||
if (8 <= field_0x08) {
|
||||
if (JAS_SEQ_STACK_SIZE <= mCurStackDepth) {
|
||||
JUT_WARN(53, "%s", "Cannot exec loopStart command");
|
||||
return false;
|
||||
}
|
||||
|
||||
field_0x0c[field_0x08] = (u16*)field_0x04;
|
||||
field_0x2c[field_0x08++] = param_0;
|
||||
mReturnAddr[mCurStackDepth] = (u16*)mCurPos;
|
||||
mLoopCount[mCurStackDepth++] = param_0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool JASSeqReader::loopEnd() {
|
||||
if (field_0x08 == 0) {
|
||||
if (mCurStackDepth == 0) {
|
||||
JUT_WARN(65, "%s", "cannot loopE for call-stack is NULL");
|
||||
return false;
|
||||
}
|
||||
|
||||
u16 tmp = field_0x2c[field_0x08 - 1];
|
||||
u16 tmp = mLoopCount[mCurStackDepth - 1];
|
||||
|
||||
if (tmp != 0) {
|
||||
tmp--;
|
||||
}
|
||||
|
||||
if (!tmp) {
|
||||
field_0x08--;
|
||||
mCurStackDepth--;
|
||||
return true;
|
||||
}
|
||||
|
||||
field_0x2c[field_0x08 - 1] = tmp;
|
||||
field_0x04 = (u8*)field_0x0c[field_0x08 - 1];
|
||||
mLoopCount[mCurStackDepth - 1] = tmp;
|
||||
mCurPos = (u8*)mReturnAddr[mCurStackDepth - 1];
|
||||
return true;
|
||||
}
|
||||
|
||||
bool JASSeqReader::ret() {
|
||||
if (field_0x08 == 0) {
|
||||
if (mCurStackDepth == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
field_0x04 = (u8*)field_0x0c[--field_0x08];
|
||||
mCurPos = (u8*)mReturnAddr[--mCurStackDepth];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -171,9 +171,9 @@ void JASTrack::assignExtBuffer(u32 index, JASSoundParams* i_soundParams) {
|
||||
mChannelMgrs[index]->mSoundParams = i_soundParams;
|
||||
}
|
||||
|
||||
void JASTrack::setSeqData(void* param_0, u32 param_1) {
|
||||
void JASTrack::setSeqData(void* base, u32 offset) {
|
||||
JUT_ASSERT(257, mStatus == STATUS_FREE);
|
||||
mSeqCtrl.start(param_0, param_1);
|
||||
mSeqCtrl.start(base, offset);
|
||||
}
|
||||
|
||||
void JASTrack::startSeq() {
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
#include "JSystem/JAudio2/JASTrackPort.h"
|
||||
|
||||
void JASTrackPort::init() {
|
||||
for (int i = 0; i < 16; i++) {
|
||||
field_0x4[i] = 0;
|
||||
for (int i = 0; i < MAX_PORTS; i++) {
|
||||
mPortValues[i] = 0;
|
||||
}
|
||||
field_0x0 = 0;
|
||||
field_0x2 = 0;
|
||||
@@ -13,25 +13,25 @@ void JASTrackPort::init() {
|
||||
u16 JASTrackPort::readImport(u32 port_num) {
|
||||
JUT_ASSERT(27, port_num < MAX_PORTS);
|
||||
field_0x0 = field_0x0 & ~(1 << port_num);
|
||||
return field_0x4[port_num];
|
||||
return mPortValues[port_num];
|
||||
}
|
||||
|
||||
u16 JASTrackPort::readExport(u32 port_num) {
|
||||
JUT_ASSERT(34, port_num < MAX_PORTS);
|
||||
field_0x2 = field_0x2 & ~(1 << port_num);
|
||||
return field_0x4[port_num];
|
||||
return mPortValues[port_num];
|
||||
}
|
||||
|
||||
void JASTrackPort::writeImport(u32 port_num, u16 param_1) {
|
||||
JUT_ASSERT(41, port_num < MAX_PORTS);
|
||||
field_0x0 = field_0x0 | (1 << port_num);
|
||||
field_0x4[port_num] = param_1;
|
||||
mPortValues[port_num] = param_1;
|
||||
}
|
||||
|
||||
void JASTrackPort::writeExport(u32 port_num, u16 param_1) {
|
||||
JUT_ASSERT(47, port_num < MAX_PORTS);
|
||||
field_0x2 = field_0x2 | (1 << port_num);
|
||||
field_0x4[port_num] = param_1;
|
||||
mPortValues[port_num] = param_1;
|
||||
}
|
||||
|
||||
u32 JASTrackPort::checkImport(u32 param_0) const {
|
||||
|
||||
@@ -4,39 +4,39 @@
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
JAUSeqCollection::JAUSeqCollection() {
|
||||
field_0x8 = NULL;
|
||||
mHeader = NULL;
|
||||
}
|
||||
|
||||
void JAUSeqCollection::init(void const* param_0) {
|
||||
field_0x8 = (const JAUSeqCollectionData*)param_0;
|
||||
if (field_0x8->field_0x0 != 0x53 || field_0x8->field_0x1 != 0x43) {
|
||||
field_0x8 = NULL;
|
||||
mHeader = (const JAUSeqCollectionData*)param_0;
|
||||
if (mHeader->mMagic1 != 0x53 || mHeader->mMagic2 != 0x43) {
|
||||
mHeader = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
field_0x0 = field_0x8->field_0x2;
|
||||
field_0xc = field_0x8->field_0x4;
|
||||
field_0x4 = &field_0x8->field_0x8;
|
||||
mNumSoundCategories = mHeader->mNumSoundCategories;
|
||||
mSectionSize = mHeader->mSectionSize;
|
||||
mTableOffsets = mHeader->mTableOffsets;
|
||||
|
||||
}
|
||||
|
||||
bool JAUSeqCollection::getSeqData(int param_0, int param_1, JAISeqData* param_2) {
|
||||
if (param_0 >= field_0x0) {
|
||||
if (param_0 >= mNumSoundCategories) {
|
||||
return false;
|
||||
}
|
||||
u32 r29 = field_0x4[param_0];
|
||||
BE(u32)* puVar2 = (BE(u32)*)((u8*)field_0x8 + r29);
|
||||
u32 r29 = mTableOffsets[param_0];
|
||||
BE(u32)* puVar2 = (BE(u32)*)((u8*)mHeader + r29);
|
||||
if (param_1 >= puVar2[0]) {
|
||||
return false;
|
||||
}
|
||||
param_2->set((void*)field_0x8, puVar2[param_1 + 1]);
|
||||
param_2->set((void*)mHeader, puVar2[param_1 + 1]);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool JAUSeqCollection::getSeqDataRegion(JAISeqDataRegion* param_0) {
|
||||
if (isValid()) {
|
||||
param_0->addr = (u8*)field_0x8;
|
||||
param_0->size = field_0xc;
|
||||
param_0->addr = (u8*)mHeader;
|
||||
param_0->size = mSectionSize;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -87,8 +87,8 @@ s32 JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* para
|
||||
|
||||
u8* seqData = mLoadedBlocks.getSeqData(param_0);
|
||||
if (seqData != NULL) {
|
||||
param_2->field_0x0 = seqData;
|
||||
param_2->field_0x4 = 0;
|
||||
param_2->mBase = seqData;
|
||||
param_2->mOffset = 0;
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user