mirror of
https://github.com/zeldaret/tp
synced 2026-08-30 01:20:14 -04:00
Various JSystem work (#2383)
* JKernel and JStudio cleanup * JMessage cleanup * JAudio cleanup * JASBNKParser work * functionvalue work * fvb work * J2D and J3D cleanup * steal from tww * J2DPictureEx mostly done * fix build
This commit is contained in:
@@ -16,10 +16,8 @@
|
||||
#include "JSystem/JAudio2/JASReport.h"
|
||||
#include "JSystem/JAudio2/JASLfo.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/ai.h"
|
||||
#include <dolphin/os.h>
|
||||
#include <dolphin/os.h>
|
||||
|
||||
/* 80431C58-80431C68 05E978 000C+04 2/2 0/0 0/0 .bss sDmaDacBuffer__9JASDriver */
|
||||
s16* JASDriver::sDmaDacBuffer[3];
|
||||
|
||||
@@ -29,8 +29,6 @@ u32 JASAramStream::sChannelMax;
|
||||
/* 80451260 0001+00 data_80451260 None */
|
||||
/* 80451261 0001+00 data_80451261 None */
|
||||
/* 80451262 0006+00 data_80451262 None */
|
||||
extern bool struct_80451260;
|
||||
extern bool struct_80451261;
|
||||
bool struct_80451260;
|
||||
bool struct_80451261;
|
||||
|
||||
@@ -331,7 +329,7 @@ bool JASAramStream::load() {
|
||||
}
|
||||
field_0x10c++;
|
||||
if (field_0x10c >= field_0x108) {
|
||||
u32 uvar8 = mBlock - 1 + field_0x108;
|
||||
u32 uvar8 = field_0x108 - 1 + mBlock;
|
||||
if (mLoop) {
|
||||
while (uvar8 > loop_end_block) {
|
||||
uvar8 -= loop_end_block;
|
||||
@@ -364,7 +362,6 @@ s32 JASAramStream::channelProcCallback(void* i_this) {
|
||||
|
||||
/* 80296D94-80296DF0 2916D4 005C+00 2/1 0/0 0/0 .text dvdErrorCheck__13JASAramStreamFPv
|
||||
*/
|
||||
// NONMATCHING supposed to use a switch table
|
||||
s32 JASAramStream::dvdErrorCheck(void* param_0) {
|
||||
switch (DVDGetDriveStatus()) {
|
||||
case DVD_STATE_END:
|
||||
@@ -375,7 +372,6 @@ s32 JASAramStream::dvdErrorCheck(void* param_0) {
|
||||
case DVD_STATE_WAITING:
|
||||
case DVD_STATE_COVER_CLOSED:
|
||||
case DVD_STATE_NO_DISK:
|
||||
case DVD_STATE_COVER_OPEN:
|
||||
case DVD_STATE_WRONG_DISK:
|
||||
case DVD_STATE_MOTOR_STOPPED:
|
||||
case DVD_STATE_IGNORED:
|
||||
@@ -436,7 +432,7 @@ void JASAramStream::updateChannel(u32 i_callbackType, JASChannel* i_channel,
|
||||
i_dspChannel->field_0x110 = 0;
|
||||
field_0x120 = 0;
|
||||
field_0x12c |= 2;
|
||||
if (field_0x0c4 < -1) {
|
||||
if (field_0x0c4 < 0xffffffff) {
|
||||
field_0x0c4++;
|
||||
}
|
||||
field_0x0c0 = false;
|
||||
@@ -447,7 +443,7 @@ void JASAramStream::updateChannel(u32 i_callbackType, JASChannel* i_channel,
|
||||
}
|
||||
f32 fvar1 = field_0x0c4;
|
||||
fvar1 *= mLoopEnd - mLoopStart;
|
||||
if (field_0x0c4 < -1) {
|
||||
if (field_0x0c4 < 0xffffffff) {
|
||||
fvar1 += field_0x0b8;
|
||||
}
|
||||
fvar1 /= field_0x164;
|
||||
@@ -579,7 +575,7 @@ void JASAramStream::updateChannel(u32 i_callbackType, JASChannel* i_channel,
|
||||
}
|
||||
|
||||
/* 802974AC-80297658 291DEC 01AC+00 1/1 0/0 0/0 .text channelProc__13JASAramStreamFv */
|
||||
// NONMATCHING instruction ordering
|
||||
// NONMATCHING instruction ordering / regalloc
|
||||
s32 JASAramStream::channelProc() {
|
||||
OSMessage msg;
|
||||
while (OSReceiveMessage(&field_0x020, &msg, OS_MESSAGE_NOBLOCK)) {
|
||||
|
||||
@@ -59,7 +59,6 @@ JASBNKParser::Ver1::TChunk* JASBNKParser::Ver1::findChunk(void const* stream, u3
|
||||
|
||||
/* 8029963C-80299A3C 293F7C 0400+00 1/1 0/0 0/0 .text
|
||||
* createBasicBank__Q212JASBNKParser4Ver1FPCvP7JKRHeap */
|
||||
// NONMATCHING instruction ordering, regalloc
|
||||
JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* heap) {
|
||||
if (heap == NULL) {
|
||||
heap = JASDram;
|
||||
@@ -74,44 +73,40 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
|
||||
TOscChunk* osc_chunk = (TOscChunk*)findChunk(stream, 'OSCT');
|
||||
TListChunk* list_chunk = (TListChunk*)findChunk(stream, 'LIST');
|
||||
|
||||
void* envt = new (heap, 2) u8[envt_chunk->mSize];
|
||||
u8* envt = new (heap, 2) u8[envt_chunk->mSize];
|
||||
JASCalc::bcopy(envt_chunk->mData, envt, envt_chunk->mSize);
|
||||
|
||||
u32 count = osc_chunk->mCount;
|
||||
TOsc* osc = osc_chunk->mOsc;
|
||||
u32* ptr = &osc_chunk->mCount;
|
||||
u32 count = *ptr++;
|
||||
JASOscillator::Data* osc_data = new (heap, 0) JASOscillator::Data[count];
|
||||
for (int i = 0; i < count; i++, osc++) {
|
||||
for (int i = 0; i < count; i++, ptr += sizeof(TOsc) >> 2) {
|
||||
TOsc* osc = (TOsc*)ptr;
|
||||
JASOscillator::Data* data = &osc_data[i];
|
||||
data->mTarget = osc->mTarget;
|
||||
data->_04 = osc->_08;
|
||||
data->mScale = osc->mScale;
|
||||
data->_14 = osc->_18;
|
||||
data->mTable = (JASOscillator::Point*)((int)envt + osc->mTableOffset);
|
||||
data->_0C = (JASOscillator::Point*)((int)envt + osc->_10);
|
||||
data->mTable = (JASOscillator::Point*)(envt + osc->mTableOffset);
|
||||
data->_0C = (JASOscillator::Point*)(envt + osc->_10);
|
||||
}
|
||||
|
||||
bank->newInstTable(list_chunk->mCount, heap);
|
||||
for (int i = 0; i < list_chunk->mCount; i++) {
|
||||
if (list_chunk->mOffsets[i] != 0) {
|
||||
u32* ptr = (u32*)((int)stream + list_chunk->mOffsets[i]);
|
||||
u32* data = ptr + 1;
|
||||
switch (*ptr) {
|
||||
u32* data = (u32*)((int)stream + list_chunk->mOffsets[i]);
|
||||
switch (*data++) {
|
||||
case 'Inst': {
|
||||
JASBasicInst* inst = new (heap, 0) JASBasicInst();
|
||||
u32 count = *data;
|
||||
data++;
|
||||
u32 count = *data++;
|
||||
for (int j = 0; j < count; j++) {
|
||||
u32 index = *data;
|
||||
data++;
|
||||
u32 index = *data++;
|
||||
inst->setOsc(j, &osc_data[index]);
|
||||
}
|
||||
count = *data;
|
||||
data++;
|
||||
count = *data++;
|
||||
for (int j = 0; j < count; j++) {
|
||||
data++;
|
||||
}
|
||||
count = *data;
|
||||
data++;
|
||||
count = *data++;
|
||||
inst->setKeyRegionCount(count, heap);
|
||||
for (int j = 0; j < count; j++) {
|
||||
JASBasicInst::TKeymap* keymap = inst->getKeyRegion(j);
|
||||
@@ -133,12 +128,10 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
|
||||
|
||||
case 'Perc': {
|
||||
JASDrumSet* drum = new (heap, 0) JASDrumSet();
|
||||
u32 count = *data;
|
||||
data++;
|
||||
u32 count = *data++;
|
||||
drum->newPercArray(count, heap);
|
||||
for (int j = 0; j < count; j++) {
|
||||
u32 offset = *data;
|
||||
data++;
|
||||
u32 offset = *data++;
|
||||
if (offset != 0) {
|
||||
JASDrumSet::TPerc* perc = new (heap, 0) JASDrumSet::TPerc();
|
||||
u32* ptr = (u32*)((int)stream + offset);
|
||||
@@ -148,8 +141,7 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
|
||||
perc->setPan((f32)perc_data->mPan / 127.0f);
|
||||
perc->setRelease(perc_data->mRelease);
|
||||
ptr = (u32*)&perc_data->field_0xc;
|
||||
u32 count2 = *ptr;
|
||||
ptr++;
|
||||
u32 count2 = *ptr++;
|
||||
for (int k = 0; k < count2; k++) {
|
||||
ptr++;
|
||||
}
|
||||
@@ -173,20 +165,150 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
|
||||
|
||||
/* 80299A3C-80299E68 29437C 042C+00 1/1 0/0 0/0 .text
|
||||
* createBasicBank__Q212JASBNKParser4Ver0FPCvP7JKRHeap */
|
||||
// NONMATCHING
|
||||
JASBasicBank* JASBNKParser::Ver0::createBasicBank(void const* stream, JKRHeap* heap) {
|
||||
// NONMATCHING
|
||||
THeader const* header = (THeader*)stream;
|
||||
|
||||
if (heap == NULL) {
|
||||
heap = JASDram;
|
||||
}
|
||||
|
||||
JASBasicBank* bank = new (heap, 0) JASBasicBank();
|
||||
if (bank == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bank->newInstTable(0x80, heap);
|
||||
|
||||
for (int i = 0; i < 0x80; i++) {
|
||||
TInst* tinst = header->mOffsets.mInstOffset[i].ptr(stream);
|
||||
if (tinst != NULL) {
|
||||
JASBasicInst* inst = new (heap, 0) JASBasicInst();
|
||||
inst->setVolume(tinst->mVolume);
|
||||
inst->setPitch(tinst->mPitch);
|
||||
|
||||
int osc_idx = 0;
|
||||
for (int j = 0; j < 2; j++) {
|
||||
TOsc* tosc = tinst->mOscOffset[j].ptr(stream);
|
||||
if (tosc != NULL) {
|
||||
JASOscillator::Data* osc_data = findOscPtr(bank, header, tosc);
|
||||
if (osc_data != NULL) {
|
||||
inst->setOsc(osc_idx, osc_data);
|
||||
} else {
|
||||
osc_data = new (heap, 0) JASOscillator::Data();
|
||||
osc_data->mTarget = tosc->mTarget;
|
||||
osc_data->_04 = tosc->field_0x4;
|
||||
u32 size;
|
||||
|
||||
JASOscillator::Point* points = tosc->mPointOffset.ptr(stream);
|
||||
if (points != NULL) {
|
||||
size = getOscTableEndPtr(points) - points;
|
||||
JASOscillator::Point* table = new (heap, 0) JASOscillator::Point[size];
|
||||
JASCalc::bcopy(points, table, size * sizeof(JASOscillator::Point));
|
||||
osc_data->mTable = table;
|
||||
} else {
|
||||
osc_data->mTable = NULL;
|
||||
}
|
||||
|
||||
points = tosc->field_0xc.ptr(stream);
|
||||
if (points != NULL) {
|
||||
size = getOscTableEndPtr(points) - points;
|
||||
JASOscillator::Point* table = new (heap, 0) JASOscillator::Point[size];
|
||||
JASCalc::bcopy(points, table, size * sizeof(JASOscillator::Point));
|
||||
osc_data->_0C = table;
|
||||
} else {
|
||||
osc_data->_0C = NULL;
|
||||
}
|
||||
|
||||
osc_data->mScale = tosc->mScale;
|
||||
osc_data->_14 = tosc->field_0x14;
|
||||
inst->setOsc(osc_idx, osc_data);
|
||||
}
|
||||
|
||||
osc_idx++;
|
||||
}
|
||||
}
|
||||
|
||||
inst->setKeyRegionCount(tinst->mKeyRegionCount, heap);
|
||||
for (int j = 0; j < tinst->mKeyRegionCount; j++) {
|
||||
JASBasicInst::TKeymap* keymap = inst->getKeyRegion(j);
|
||||
TKeymap* tkeymap = tinst->mKeymapOffset[j].ptr(stream);
|
||||
keymap->setHighKey(tkeymap->mHighKey);
|
||||
TVmap* tvmap = tkeymap->mVmapOffset.ptr(stream);
|
||||
keymap->field_0x4 = JSULoHalf(tvmap->field_0x4);
|
||||
keymap->field_0x8 = tvmap->field_0x8;
|
||||
keymap->field_0xc = tvmap->field_0xc;
|
||||
}
|
||||
|
||||
bank->setInst(i, inst);
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 12; i++) {
|
||||
TPerc* tperc = header->mOffsets.mPercOffset[i].ptr(stream);
|
||||
if (tperc != NULL) {
|
||||
JASDrumSet* drumset = new (heap, 0) JASDrumSet();
|
||||
drumset->newPercArray(0x80, heap);
|
||||
|
||||
for (int j = 0; j < 0x80; j++) {
|
||||
TPmap* tpmap = tperc->mPmapOffset[j].ptr(stream);
|
||||
if (tpmap != NULL) {
|
||||
JASDrumSet::TPerc* perc = new (heap, 0) JASDrumSet::TPerc();
|
||||
perc->setVolume(tpmap->mVolume);
|
||||
perc->setPitch(tpmap->mPitch);
|
||||
if (tperc->mMagic == 'PER2') {
|
||||
perc->setPan(tperc->mPan[j] / 127.0f);
|
||||
perc->setRelease(tperc->mRelease[j]);
|
||||
}
|
||||
TVmap* vmap = tpmap->mVmapOffset.ptr(stream);
|
||||
perc->field_0xe = JSULoHalf(vmap->field_0x4);
|
||||
perc->field_0x10 = vmap->field_0x8;
|
||||
perc->field_0x14 = vmap->field_0xc;
|
||||
drumset->setPerc(j, perc);
|
||||
}
|
||||
}
|
||||
|
||||
bank->setInst(i + 0xe4, drumset);
|
||||
}
|
||||
}
|
||||
|
||||
return bank;
|
||||
}
|
||||
|
||||
/* 80299E68-80299F8C 2947A8 0124+00 1/1 0/0 0/0 .text
|
||||
* findOscPtr__Q212JASBNKParser4Ver0FP12JASBasicBankPCQ312JASBNKParser4Ver07THeaderPCQ312JASBNKParser4Ver04TOsc
|
||||
*/
|
||||
void JASBNKParser::Ver0::findOscPtr(JASBasicBank* param_0, THeader const* param_1,
|
||||
TOsc const* param_2) {
|
||||
// NONMATCHING
|
||||
JASOscillator::Data* JASBNKParser::Ver0::findOscPtr(JASBasicBank* bank, THeader const* header,
|
||||
TOsc const* osc) {
|
||||
TOffsetData const* data = &header->mOffsets;
|
||||
for (int i = 0; i < 0x80; i++) {
|
||||
TInst* tinst = data->mInstOffset[i].ptr(header);
|
||||
if (tinst != NULL) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
TOsc* tosc = tinst->mOscOffset[j].ptr(header);
|
||||
if (tosc == osc) {
|
||||
JASInst* inst = bank->getInst(i);
|
||||
if (inst != NULL) {
|
||||
JASInstParam param;
|
||||
inst->getParam(0x3c, 0x7f, ¶m);
|
||||
if (j < param.field_0x1d) {
|
||||
return param.field_0x14[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 80299F8C-80299FA0 2948CC 0014+00 1/1 0/0 0/0 .text
|
||||
* getOscTableEndPtr__Q212JASBNKParser4Ver0FPCQ213JASOscillator5Point */
|
||||
void JASBNKParser::Ver0::getOscTableEndPtr(JASOscillator::Point const* param_0) {
|
||||
// NONMATCHING
|
||||
JASOscillator::Point const* JASBNKParser::Ver0::getOscTableEndPtr(JASOscillator::Point const* points) {
|
||||
s16 tmp;
|
||||
do {
|
||||
tmp = points->_0;
|
||||
points++;
|
||||
} while (tmp <= 10);
|
||||
return points;
|
||||
}
|
||||
|
||||
@@ -8,65 +8,6 @@
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__16JASBasicWaveBankFv();
|
||||
extern "C" void __dt__16JASBasicWaveBankFv();
|
||||
extern "C" void __dt__Q216JASBasicWaveBank11TWaveHandleFv();
|
||||
extern "C" void getWaveGroup__16JASBasicWaveBankFUl();
|
||||
extern "C" void setGroupCount__16JASBasicWaveBankFUlP7JKRHeap();
|
||||
extern "C" void setWaveTableSize__16JASBasicWaveBankFUlP7JKRHeap();
|
||||
extern "C" void incWaveTable__16JASBasicWaveBankFPCQ216JASBasicWaveBank10TWaveGroup();
|
||||
extern "C" void decWaveTable__16JASBasicWaveBankFPCQ216JASBasicWaveBank10TWaveGroup();
|
||||
extern "C" void getWaveHandle__16JASBasicWaveBankCFUl();
|
||||
extern "C" void
|
||||
setWaveInfo__16JASBasicWaveBankFPQ216JASBasicWaveBank10TWaveGroupiUsRC11JASWaveInfo();
|
||||
extern "C" void __ct__Q216JASBasicWaveBank10TWaveGroupFv();
|
||||
extern "C" void __dt__Q216JASBasicWaveBank10TWaveGroupFv();
|
||||
extern "C" void setWaveCount__Q216JASBasicWaveBank10TWaveGroupFUlP7JKRHeap();
|
||||
extern "C" void onLoadDone__Q216JASBasicWaveBank10TWaveGroupFv();
|
||||
extern "C" void onEraseDone__Q216JASBasicWaveBank10TWaveGroupFv();
|
||||
extern "C" void getWaveID__Q216JASBasicWaveBank10TWaveGroupCFi();
|
||||
extern "C" void getWavePtr__Q216JASBasicWaveBank11TWaveHandleCFv();
|
||||
extern "C" void __dt__11JASWaveBankFv();
|
||||
extern "C" void __dt__13JASWaveHandleFv();
|
||||
extern "C" void __ct__Q216JASBasicWaveBank11TWaveHandleFv();
|
||||
extern "C" void __ct__Q216JASBasicWaveBank14TGroupWaveInfoFv();
|
||||
extern "C" void getWaveInfo__Q216JASBasicWaveBank11TWaveHandleCFv();
|
||||
extern "C" void getWaveArc__16JASBasicWaveBankFUl();
|
||||
extern "C" void getArcCount__16JASBasicWaveBankCFv();
|
||||
extern "C" u8 mNoLoad__16JASBasicWaveBank[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10JASWaveArcFv();
|
||||
extern "C" void __dt__10JASWaveArcFv();
|
||||
extern "C" void onDispose__10JASWaveArcFv();
|
||||
extern "C" void* __nwa__FUlP7JKRHeapi();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __dla__FPv();
|
||||
extern "C" void __destroy_new_array();
|
||||
extern "C" void __construct_new_array();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u32 one__11JASWaveInfo[1 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802984F8-80298558 292E38 0060+00 0/0 1/1 0/0 .text __ct__16JASBasicWaveBankFv */
|
||||
JASBasicWaveBank::JASBasicWaveBank() {
|
||||
mWaveTable = NULL;
|
||||
|
||||
@@ -843,15 +843,15 @@ s32 JASSeqParser::cmdDump(JASTrack* param_0, u32* param_1) {
|
||||
}
|
||||
|
||||
/* 8029526C-80295498 28FBAC 022C+00 1/0 0/0 0/0 .text cmdPrintf__12JASSeqParserFP8JASTrackPUl */
|
||||
// NONMATCHING many things
|
||||
// NONMATCHING problem with second for loop
|
||||
s32 JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) {
|
||||
u8 stack_c[4];
|
||||
u32 stack_10[4];
|
||||
char buffer[128];
|
||||
|
||||
JASSeqCtrl* seqCtrl = param_0->getSeqCtrl();
|
||||
int r30 = 0;
|
||||
for (u8 i = 0; i < 128; i++) {
|
||||
u32 r30 = 0;
|
||||
for (u32 i = 0; i < 128; i++) {
|
||||
buffer[i] = seqCtrl->readByte();
|
||||
if (buffer[i] == 0) {
|
||||
break;
|
||||
@@ -861,15 +861,18 @@ s32 JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) {
|
||||
if (buffer[i] == 0) {
|
||||
break;
|
||||
}
|
||||
if (buffer[i] == 'n') {
|
||||
switch (buffer[i]) {
|
||||
case 'n':
|
||||
buffer[i] = '\r';
|
||||
}
|
||||
} else if (buffer[i] == '%') {
|
||||
buffer[i + 1] = seqCtrl->readByte();
|
||||
if (buffer[i + 1] == 0) {
|
||||
break;
|
||||
}
|
||||
switch (buffer[i + 1]) {
|
||||
} else if (buffer[i] == '%') {
|
||||
i++;
|
||||
buffer[i] = seqCtrl->readByte();
|
||||
if (buffer[i] == 0) {
|
||||
break;
|
||||
}
|
||||
switch (buffer[i]) {
|
||||
case 'd':
|
||||
stack_c[r30] = 0;
|
||||
break;
|
||||
@@ -881,18 +884,17 @@ s32 JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) {
|
||||
break;
|
||||
case 'r':
|
||||
stack_c[r30] = 3;
|
||||
buffer[i + 1] = 'd';
|
||||
buffer[i] = 'd';
|
||||
break;
|
||||
case 'R':
|
||||
stack_c[r30] = 4;
|
||||
buffer[i + 1] = 'x';
|
||||
break;
|
||||
default:
|
||||
buffer[i] = 'x';
|
||||
break;
|
||||
}
|
||||
r30++;
|
||||
}
|
||||
}
|
||||
|
||||
for (u32 i = 0; i < r30; i++) {
|
||||
stack_10[i] = seqCtrl->readByte();
|
||||
switch (stack_c[i]) {
|
||||
@@ -903,10 +905,9 @@ s32 JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) {
|
||||
case 4:
|
||||
stack_10[i] = readReg(param_0, stack_10[i] & 0xff);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
JASReport(buffer, stack_10[0], stack_10[1], stack_10[2], stack_10[3]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
#include "JSystem/JAudio2/JASDSPInterface.h"
|
||||
|
||||
/* 80291228-8029131C 28BB68 00F4+00 1/1 3/3 0/0 .text __ct__8JASTrackFv */
|
||||
// NONMATCHING
|
||||
JASTrack::JASTrack() : mDefaultChannelMgr(this), mChannelMgrCount(1), mStatus(0) {
|
||||
mChannelMgrs[0] = &mDefaultChannelMgr;
|
||||
for (int i = 1; i < 4; i++) {
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "JSystem/JAudio2/JAUStreamFileTable.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "stdlib.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/dvd.h"
|
||||
|
||||
namespace {
|
||||
@@ -78,12 +77,6 @@ JAUSection::TSectionData::TSectionData() {
|
||||
field_0x9c = 0;
|
||||
}
|
||||
|
||||
/* 8039B950-8039B950 027FB0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039B950 = "index out of range of bitset::reset";
|
||||
#pragma pop
|
||||
|
||||
/* 802A4F68-802A4FE4 29F8A8 007C+00 1/1 0/0 0/0 .text
|
||||
* resetRegisteredBankTables__Q210JAUSection12TSectionDataFv */
|
||||
void JAUSection::TSectionData::resetRegisteredBankTables() {
|
||||
@@ -139,7 +132,6 @@ void JAUSection::dispose() {
|
||||
|
||||
/* 802A51E4-802A52A0 29FB24 00BC+00 0/0 1/1 0/0 .text newSoundTable__10JAUSectionFPCvUlb
|
||||
*/
|
||||
// NONMATCHING regalloc
|
||||
JAUSoundTable* JAUSection::newSoundTable(void const* bst, u32 param_1, bool param_2) {
|
||||
JUT_ASSERT(285, isOpen());
|
||||
JUT_ASSERT(286, isBuilding());
|
||||
@@ -148,7 +140,7 @@ JAUSoundTable* JAUSection::newSoundTable(void const* bst, u32 param_1, bool para
|
||||
JUT_ASSERT(289, sectionHeap_->sectionHeapData_.soundTable == 0);
|
||||
{
|
||||
TPushCurrentHeap push(getHeap_());
|
||||
void* bstDst;
|
||||
void const* bstDst = bst;
|
||||
if (param_1) {
|
||||
bstDst = newCopy(bst, param_1, 4);
|
||||
JUT_ASSERT(296, bstDst);
|
||||
@@ -163,7 +155,6 @@ JAUSoundTable* JAUSection::newSoundTable(void const* bst, u32 param_1, bool para
|
||||
}
|
||||
|
||||
/* 802A52A0-802A535C 29FBE0 00BC+00 0/0 1/1 0/0 .text newSoundNameTable__10JAUSectionFPCvUlb */
|
||||
// NONMATCHING regalloc
|
||||
JAUSoundNameTable* JAUSection::newSoundNameTable(void const* bstn, u32 param_1, bool param_2) {
|
||||
JUT_ASSERT(315, isOpen());
|
||||
JUT_ASSERT(316, isBuilding());
|
||||
@@ -172,7 +163,7 @@ JAUSoundNameTable* JAUSection::newSoundNameTable(void const* bstn, u32 param_1,
|
||||
JUT_ASSERT(319, sectionHeap_->sectionHeapData_.soundNameTable == 0);
|
||||
{
|
||||
TPushCurrentHeap push(getHeap_());
|
||||
void* bstnDst;
|
||||
void const* bstnDst = bstn;
|
||||
if (param_1) {
|
||||
bstnDst = newCopy(bstn, param_1, 4);
|
||||
JUT_ASSERT(326, bstnDst);
|
||||
@@ -304,13 +295,10 @@ void* JAUSection::newCopy(void const* param_0, u32 param_1, s32 param_2) {
|
||||
return r31;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039B950-8039B950 027FB0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039B974 = "index out of range of bitset::test";
|
||||
SECTION_DEAD static char const* const stringBase_8039B997 = "index out of range of bitset::set";
|
||||
#pragma pop
|
||||
static bool dummy_string(int i) {
|
||||
std::bitset<1> x;
|
||||
return x.test(i);
|
||||
}
|
||||
|
||||
/* 802A5854-802A5948 2A0194 00F4+00 0/0 1/1 0/0 .text newWaveBank__10JAUSectionFUlPCv */
|
||||
JASWaveBank* JAUSection::newWaveBank(u32 bank_no, void const* param_1) {
|
||||
|
||||
Reference in New Issue
Block a user