mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-11 21:21:57 -04:00
JAudio2 and Z2AudioLib work (#2223)
* JAudio2 and Z2AudioLib work * check1stDynamicWave matched
This commit is contained in:
@@ -4,65 +4,14 @@
|
||||
//
|
||||
|
||||
#include "JSystem/JAudio2/JASBank.h"
|
||||
#include "JSystem/JAudio2/JASAiCtrl.h"
|
||||
#include "JSystem/JAudio2/JASBasicInst.h"
|
||||
#include "JSystem/JAudio2/JASBasicWaveBank.h"
|
||||
#include "JSystem/JAudio2/JASChannel.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void noteOn__7JASBankFPC7JASBankiUcUcUsPFUlP10JASChannelPQ26JASDsp8TChannelPv_vPv();
|
||||
extern "C" void noteOnOsc__7JASBankFiUcUcUsPFUlP10JASChannelPQ26JASDsp8TChannelPv_vPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__17JASGenericMemPoolFv();
|
||||
extern "C" void alloc__17JASGenericMemPoolFUl();
|
||||
extern "C" void func_802978DC(void* _this);
|
||||
extern "C" void __ct__10JASChannelFPFUlP10JASChannelPQ26JASDsp8TChannelPv_vPv();
|
||||
extern "C" void play__10JASChannelFv();
|
||||
extern "C" void setOscInit__10JASChannelFUlPCQ213JASOscillator4Data();
|
||||
extern "C" void getDacRate__9JASDriverFv();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void _savegpr_23();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _restgpr_23();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" extern u8 data_80431B34[16 + 4 /* padding */];
|
||||
extern "C" extern u8 struct_80451260[8];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80431B48-80431B58 05E868 000C+04 2/2 0/0 0/0 .bss @156 */
|
||||
static u8 lit_156[12 + 4 /* padding */];
|
||||
|
||||
/* 80455630-80455634 003C30 0004+00 1/1 0/0 0/0 .sdata2 @248 */
|
||||
SECTION_SDATA2 static f32 lit_248 = 1.0f;
|
||||
|
||||
/* 80455634-80455638 003C34 0004+00 1/1 0/0 0/0 .sdata2 @249 */
|
||||
SECTION_SDATA2 static u8 lit_249[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80455638-8045563C 003C38 0004+00 1/1 0/0 0/0 .sdata2 @250 */
|
||||
SECTION_SDATA2 static f32 lit_250 = 0.5f;
|
||||
|
||||
/* 80297930-80297C40 292270 0310+00 0/0 1/1 0/0 .text
|
||||
* noteOn__7JASBankFPC7JASBankiUcUcUsPFUlP10JASChannelPQ26JASDsp8TChannelPv_vPv */
|
||||
// vtables for JASWaveBank, JASWaveHandle
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING JASPoolAllocObject_MultiThreaded<_> locations
|
||||
JASChannel* JASBank::noteOn(JASBank const* param_0, int param_1, u8 param_2, u8 param_3, u16 param_4,
|
||||
void (*param_5)(u32, JASChannel*, JASDsp::TChannel*, void*),
|
||||
void* param_6) {
|
||||
@@ -120,38 +69,18 @@ JASChannel* JASBank::noteOn(JASBank const* param_0, int param_1, u8 param_2, u8
|
||||
}
|
||||
return channel;
|
||||
}
|
||||
#else
|
||||
JASChannel* JASBank::noteOn(JASBank const* param_0, int param_1, u8 param_2, u8 param_3, u16 param_4,
|
||||
void (*param_5)(u32, JASChannel*, JASDsp::TChannel*, void*),
|
||||
void* param_6) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039B190-8039B19C 0277F0 000C+00 1/0 0/0 0/0 .rodata OSC_RELEASE_TABLE$260 */
|
||||
SECTION_RODATA static JASOscillator::Point const OSC_RELEASE_TABLE[2] = {
|
||||
{0x0001, 0x000A, 0x0000},
|
||||
{0x000F, 0x0000, 0x0000},
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8039B190, &OSC_RELEASE_TABLE);
|
||||
|
||||
/* 8039B19C-8039B1B8 -00001 0018+04 1/1 0/0 0/0 .rodata OSC_ENV$261 */
|
||||
SECTION_RODATA static const JASOscillator::Data OSC_ENV = {
|
||||
0, 1.0f, NULL, OSC_RELEASE_TABLE, 1.0f, 0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8039B19C, &OSC_ENV);
|
||||
|
||||
/* 8045563C-80455640 003C3C 0004+00 1/1 0/0 0/0 .sdata2 @290 */
|
||||
SECTION_SDATA2 static f32 lit_290 = 16736.015625f;
|
||||
|
||||
/* 80297C40-80297D78 292580 0138+00 1/1 0/0 0/0 .text
|
||||
* noteOnOsc__7JASBankFiUcUcUsPFUlP10JASChannelPQ26JASDsp8TChannelPv_vPv */
|
||||
// wild ~JASMemPool_MultiThreaded<JASChannel> destructor appeared!
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING JASPoolAllocObject_MultiThreaded<_> locations
|
||||
JASChannel* JASBank::noteOnOsc(int param_0, u8 param_1, u8 param_2, u16 param_3,
|
||||
void (*param_4)(u32, JASChannel*, JASDsp::TChannel*, void*),
|
||||
void* param_5) {
|
||||
static JASOscillator::Point const OSC_RELEASE_TABLE[2] = {
|
||||
{0x0001, 0x000A, 0x0000},
|
||||
{0x000F, 0x0000, 0x0000},
|
||||
};
|
||||
static const JASOscillator::Data OSC_ENV = {0, 1.0f, NULL, OSC_RELEASE_TABLE, 1.0f, 0.0f};
|
||||
JASChannel* channel = new JASChannel(param_4, param_5);
|
||||
if (!channel) {
|
||||
return NULL;
|
||||
@@ -159,7 +88,7 @@ JASChannel* JASBank::noteOnOsc(int param_0, u8 param_1, u8 param_2, u16 param_3,
|
||||
channel->setPriority(param_3);
|
||||
channel->field_0x104 = param_0;
|
||||
channel->field_0xdc.field_0x0 = 2;
|
||||
channel->setInitPitch(16736.02f / JASDriver::getDacRate());
|
||||
channel->setInitPitch(16736.016f / JASDriver::getDacRate());
|
||||
channel->setKey(param_1 - channel->field_0xdc.field_0x4.field_0x01);
|
||||
channel->setVelocity(param_2);
|
||||
channel->setOscInit(0, &OSC_ENV);
|
||||
@@ -168,10 +97,3 @@ JASChannel* JASBank::noteOnOsc(int param_0, u8 param_1, u8 param_2, u16 param_3,
|
||||
}
|
||||
return channel;
|
||||
}
|
||||
#else
|
||||
JASChannel* JASBank::noteOnOsc(int param_0, u8 param_1, u8 param_2, u16 param_3,
|
||||
void (*param_4)(u32, JASChannel*, JASDsp::TChannel*, void*),
|
||||
void* param_5) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user