Files
dusklight/libs/JSystem/JAudio2/JAIStream.cpp
T
2021-03-31 23:22:38 +02:00

730 lines
20 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: JAIStream
//
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JAudio2/JAIStream.h"
//
// Types:
//
struct JSUPtrLink {
/* 802DBDFC */ // False False
// void* False
// void False
JSUPtrLink(void*);
};
struct JGeometry {
template <typename A1>
struct TVec3 { };
/* TVec3<f32> */
struct TVec3__template0 {
};
};
struct JASSoundParams {
};
template <typename A0>
struct JASMemPool { };
/* JASMemPool<JAISoundChild> */
struct JASMemPool__template1 {
/* 802A1268 */ // False True
~JASMemPool__template1();
};
struct JASGenericMemPool {
/* 80290848 */ // False False
JASGenericMemPool();
/* 80290948 */ // False False
// u32 False
void alloc(u32);
/* 80290994 */ // False False
// void* False
// void False
// u32 False
void free(void*, u32);
};
struct JASAramStream {
/* 802963A8 */ // False False
JASAramStream();
/* 8029649C */ // False False
// u32 False
// u32 False
// void (*)(u32, JASAramStream*, void*) False
// * False
// False
// void False
// u32 False
// JASAramStream* False
// JASAramStream False
// void* False
// void False
// void* False
// void False
void init(u32, u32, void (*)(u32, JASAramStream*, void*), void*);
/* 8029655C */ // False False
// s32 False
// int False
void prepare(s32, int);
/* 80296618 */ // False False
void start();
/* 8029664C */ // False False
// u16 False
void stop(u16);
/* 80296684 */ // False False
// bool False
void pause(bool);
/* 802966CC */ // False False
void cancel();
};
struct JAIStreamMgr {
};
struct JAISoundID {
};
struct JAISoundActivity {
};
template <typename A0>
struct JAISoundStrategyMgr { };
/* JAISoundStrategyMgr<JAIStream> */
struct JAISoundStrategyMgr__template2 {
};
struct JAIAudience {
};
struct JAIStream {
/* 802A3104 */ // False True
// JAIStreamMgr* False
// JAIStreamMgr False
// JAISoundStrategyMgr<JAIStream>* False
// JAISoundStrategyMgr<JAIStream> True
// JAIStream False
JAIStream(JAIStreamMgr*, JAISoundStrategyMgr<JAIStream>*);
/* 802A319C */ // False True
// JAISoundID False
// s32 False
// JGeometry::TVec3<f32> const* False
// JGeometry::TVec3<f32> const False
// JGeometry::TVec3<f32> True
// f32 False
// JAIAudience* False
// JAIAudience False
// int False
void JAIStreamMgr_startID_(JAISoundID, s32, JGeometry::TVec3<f32> const*, JAIAudience*, int);
/* 802A3230 */ // True False
void prepare_prepareStream_();
/* 802A33F4 */ // True False
void prepare_();
/* 802A3498 */ // True False
void prepare_startStream_();
/* 802A34E4 */ // False False
// JASSoundParams const& False
// JASSoundParams const False
// JASSoundParams False
// JAISoundActivity False
void JAIStreamMgr_mixOut_(JASSoundParams const&, JAISoundActivity);
/* 802A3720 */ // True False
void die_JAIStream_();
/* 802A37FC */ // True False
void JAISound_tryDie_();
/* 802A388C */ // False False
void JAIStreamMgr_calc_();
/* 802A3948 */ // True False
// s32 False
s32 getNumChild() const;
/* 802A3950 */ // True False
// int False
void getChild(int);
/* 802A3A24 */ // True False
// int False
void releaseChild(int);
/* 802A3ABC */ // True False
// bool False
bool getTrack();
/* 802A3AC4 */ // True False
// bool False
// int False
bool getChildTrack(int);
/* 802A3ACC */ // True False
// void False
void asStream();
/* 802A3AD0 */ // True False
// bool False
bool getTempoMgr();
};
struct JAISoundParams {
/* 802A2280 */ // False False
// JASSoundParams const& False
// JASSoundParams const False
// JASSoundParams False
// JASSoundParams* False
// JASSoundParams False
// f32 False
void mixOutAll(JASSoundParams const&, JASSoundParams*, f32);
};
struct JAISoundChild {
/* 802A2AB0 */ // False False
void init();
/* 802A2B7C */ // False False
void calc();
};
struct JAISound {
/* 802A22F8 */ // False False
JAISound();
/* 802A2328 */ // False True
// JAISoundID False
// JGeometry::TVec3<f32> const* False
// JGeometry::TVec3<f32> const False
// JGeometry::TVec3<f32> True
// f32 False
// JAIAudience* False
// JAIAudience False
void start_JAISound_(JAISoundID, JGeometry::TVec3<f32> const*, JAIAudience*);
/* 802A25D8 */ // False False
// bool False
bool asSe();
/* 802A25E0 */ // False False
// bool False
bool asSeq();
/* 802A25F0 */ // False False
void die_JAISound_();
/* 802A266C */ // False False
void increasePrepareCount_JAISound_();
/* 802A26B8 */ // False False
void calc_JAISound_();
};
//
// Forward References:
//
// True False
// u32 False
// JASAramStream* False
// JASAramStream False
// void* False
// void False
static void JAIStream_JASAramStreamCallback_(u32, JASAramStream*, void*);
// True False
// u32 False
// JASAramStream* False
// JASAramStream False
// void* False
// void False
extern "C" static void JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv();
// False True
// JAIStreamMgr* False
// JAIStreamMgr False
// JAISoundStrategyMgr<JAIStream>* False
// JAISoundStrategyMgr<JAIStream> True
// JAIStream False
extern "C" void func_802A3104();
// False True
// JAISoundID False
// s32 False
// JGeometry::TVec3<f32> const* False
// JGeometry::TVec3<f32> const False
// JGeometry::TVec3<f32> True
// f32 False
// JAIAudience* False
// JAIAudience False
// int False
extern "C" void func_802A319C();
// True False
extern "C" void prepare_prepareStream___9JAIStreamFv();
// True False
extern "C" void prepare___9JAIStreamFv();
// True False
extern "C" void prepare_startStream___9JAIStreamFv();
// False False
// JASSoundParams const& False
// JASSoundParams const False
// JASSoundParams False
// JAISoundActivity False
extern "C" void JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity();
// True False
extern "C" void die_JAIStream___9JAIStreamFv();
// True False
extern "C" void JAISound_tryDie___9JAIStreamFv();
// False False
extern "C" void JAIStreamMgr_calc___9JAIStreamFv();
// True False
// s32 False
extern "C" s32 getNumChild__9JAIStreamCFv();
// True False
// int False
extern "C" void getChild__9JAIStreamFi();
// True False
// int False
extern "C" void releaseChild__9JAIStreamFi();
// True False
// bool False
extern "C" bool getTrack__9JAIStreamFv();
// True False
// bool False
// int False
extern "C" bool getChildTrack__9JAIStreamFi();
// True False
// void False
extern "C" void asStream__9JAIStreamFv();
// True False
// bool False
extern "C" bool getTempoMgr__9JAIStreamFv();
extern "C" extern void* __vt__9JAIStream[12];
//
// External References:
//
// False False
extern "C" void __ct__17JASGenericMemPoolFv();
// False False
// u32 False
extern "C" void alloc__17JASGenericMemPoolFUl();
// False False
// void* False
// void False
// u32 False
extern "C" void free__17JASGenericMemPoolFPvUl();
// False False
extern "C" void __ct__13JASAramStreamFv();
// False False
// u32 False
// u32 False
// void (*)(u32, JASAramStream*, void*) False
// * False
// False
// void False
// u32 False
// JASAramStream* False
// JASAramStream False
// void* False
// void False
// void* False
// void False
extern "C" void init__13JASAramStreamFUlUlPFUlP13JASAramStreamPv_vPv();
// False False
// s32 False
// int False
extern "C" void prepare__13JASAramStreamFli();
// False False
extern "C" void start__13JASAramStreamFv();
// False False
// u16 False
extern "C" void stop__13JASAramStreamFUs();
// False False
// bool False
extern "C" void pause__13JASAramStreamFb();
// False False
extern "C" void cancel__13JASAramStreamFv();
// False True
extern "C" void func_802A1268();
// False False
// JASSoundParams const& False
// JASSoundParams const False
// JASSoundParams False
// JASSoundParams* False
// JASSoundParams False
// f32 False
extern "C" void mixOutAll__14JAISoundParamsFRC14JASSoundParamsP14JASSoundParamsf();
// False False
extern "C" void __ct__8JAISoundFv();
// False True
// JAISoundID False
// JGeometry::TVec3<f32> const* False
// JGeometry::TVec3<f32> const False
// JGeometry::TVec3<f32> True
// f32 False
// JAIAudience* False
// JAIAudience False
extern "C" void func_802A2328();
// False False
// bool False
extern "C" bool asSe__8JAISoundFv();
// False False
// bool False
extern "C" bool asSeq__8JAISoundFv();
// False False
extern "C" void die_JAISound___8JAISoundFv();
// False False
extern "C" void increasePrepareCount_JAISound___8JAISoundFv();
// False False
extern "C" void calc_JAISound___8JAISoundFv();
// False False
extern "C" void init__13JAISoundChildFv();
// False False
extern "C" void calc__13JAISoundChildFv();
// False False
// void* False
// void False
extern "C" void __ct__10JSUPtrLinkFPv();
// False False
extern "C" void __register_global_object();
// False False
extern "C" void _savegpr_27();
// False False
extern "C" void _savegpr_29();
// False False
extern "C" void _restgpr_27();
// False False
extern "C" void _restgpr_29();
extern "C" extern u8 data_804340B0[16];
extern "C" extern u8 data_80451318[8];
//
// Declarations:
//
/* 802A30D4-802A3104 0030+00 s=1 e=0 z=0 None .text JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u32 False
// JASAramStream* False
// JASAramStream False
// void* False
// void False
asm static void JAIStream_JASAramStreamCallback_(u32 param_0, JASAramStream* param_1, void* param_2) {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv.s"
}
#pragma pop
/* ############################################################################################## */
/* 803C99D8-803C9A08 0030+00 s=1 e=1 z=0 None .data __vt__9JAIStream */
SECTION_DATA void* __vt__9JAIStream[12] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)getNumChild__9JAIStreamCFv,
(void*)getChild__9JAIStreamFi,
(void*)releaseChild__9JAIStreamFi,
(void*)asSe__8JAISoundFv,
(void*)asSeq__8JAISoundFv,
(void*)asStream__9JAIStreamFv,
(void*)getTrack__9JAIStreamFv,
(void*)getChildTrack__9JAIStreamFi,
(void*)getTempoMgr__9JAIStreamFv,
(void*)JAISound_tryDie___9JAIStreamFv,
};
/* 802A3104-802A319C 0098+00 s=0 e=1 z=0 None .text __ct__9JAIStreamFP12JAIStreamMgrP31JAISoundStrategyMgr<9JAIStream> */
// 802A3114: 803621DC (_savegpr_29)
// 802A3124: 802A22F8 (__ct__8JAISoundFv)
// 802A3130: 802DBDFC (__ct__10JSUPtrLinkFPv)
// 802A3134: 803C99D8 (__vt__9JAIStream)
// 802A3138: 803C99D8 (__vt__9JAIStream)
// 802A3144: 802963A8 (__ct__13JASAramStreamFv)
// 802A3188: 80362228 (_restgpr_29)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False True
// JAIStreamMgr* False
// JAIStreamMgr False
// JAISoundStrategyMgr<JAIStream>* False
// JAISoundStrategyMgr<JAIStream> True
// JAIStream False
asm JAIStream::JAIStream(JAIStreamMgr* param_0, JAISoundStrategyMgr<JAIStream>* param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/func_802A3104.s"
}
#pragma pop
/* 802A319C-802A3230 0094+00 s=0 e=1 z=0 None .text JAIStreamMgr_startID___9JAIStreamF10JAISoundIDlPCQ29JGeometry8TVec3<f>P11JAIAudiencei */
// 802A31D4: 802A2328 (func_802A2328)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False True
// JAISoundID False
// s32 False
// JGeometry::TVec3<f32> const* False
// JGeometry::TVec3<f32> const False
// JGeometry::TVec3<f32> True
// f32 False
// JAIAudience* False
// JAIAudience False
// int False
asm void JAIStream::JAIStreamMgr_startID_(JAISoundID param_0, s32 param_1, JGeometry::TVec3<f32> const* param_2, JAIAudience* param_3, int param_4) {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/func_802A319C.s"
}
#pragma pop
/* 802A3230-802A33F4 01C4+00 s=1 e=0 z=0 None .text prepare_prepareStream___9JAIStreamFv */
// 802A32A8: 802A30D4 (JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv)
// 802A32AC: 802A30D4 (JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv)
// 802A32B4: 8029649C (init__13JASAramStreamFUlUlPFUlP13JASAramStreamPv_vPv)
// 802A32D0: 802A266C (increasePrepareCount_JAISound___8JAISoundFv)
// 802A3394: 8029655C (prepare__13JASAramStreamFli)
// 802A33CC: 802A266C (increasePrepareCount_JAISound___8JAISoundFv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm void JAIStream::prepare_prepareStream_() {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/prepare_prepareStream___9JAIStreamFv.s"
}
#pragma pop
/* 802A33F4-802A3498 00A4+00 s=1 e=0 z=0 None .text prepare___9JAIStreamFv */
// 802A3440: 802A3230 (prepare_prepareStream___9JAIStreamFv)
// 802A3458: 802A3498 (prepare_startStream___9JAIStreamFv)
// 802A3460: 802A3230 (prepare_prepareStream___9JAIStreamFv)
// 802A3480: 802A3498 (prepare_startStream___9JAIStreamFv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm void JAIStream::prepare_() {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/prepare___9JAIStreamFv.s"
}
#pragma pop
/* 802A3498-802A34E4 004C+00 s=1 e=0 z=0 None .text prepare_startStream___9JAIStreamFv */
// 802A34B0: 80296618 (start__13JASAramStreamFv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm void JAIStream::prepare_startStream_() {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/prepare_startStream___9JAIStreamFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 804557F0-804557F4 0004+00 s=2 e=0 z=0 None .sdata2 @864 */
SECTION_SDATA2 static f32 lit_864 = 1.0f;
/* 804557F4-804557F8 0004+00 s=2 e=0 z=0 None .sdata2 @865 */
SECTION_SDATA2 static u8 lit_865[4] = {
0x00, 0x00, 0x00, 0x00,
};
/* 804557F8-80455800 0004+04 s=2 e=0 z=0 None .sdata2 @866 */
SECTION_SDATA2 static f32 lit_866[1 + 1 /* padding */] = {
0.5f,
/* padding */
0.0f,
};
/* 802A34E4-802A3720 023C+00 s=0 e=1 z=0 None .text JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity */
// 802A34F4: 803621D4 (_savegpr_27)
// 802A3500: 804557F0 (lit_864)
// 802A350C: 804557F4 (lit_865)
// 802A3514: 804557F8 (lit_866)
// 802A3550: 804557F4 (lit_865)
// 802A355C: 802A2280 (mixOutAll__14JAISoundParamsFRC14JASSoundParamsP14JASSoundParamsf)
// 802A3654: 804557F8 (lit_866)
// 802A36B8: 802A33F4 (prepare___9JAIStreamFv)
// 802A3700: 80296684 (pause__13JASAramStreamFb)
// 802A370C: 80362220 (_restgpr_27)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// JASSoundParams const& False
// JASSoundParams const False
// JASSoundParams False
// JAISoundActivity False
asm void JAIStream::JAIStreamMgr_mixOut_(JASSoundParams const& param_0, JAISoundActivity param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity.s"
}
#pragma pop
/* ############################################################################################## */
/* 804340E0-804340F0 000C+04 s=3 e=0 z=0 None .bss @881 */
static u8 lit_881[12 + 4 /* padding */];
/* 802A3720-802A37FC 00DC+00 s=1 e=0 z=0 None .text die_JAIStream___9JAIStreamFv */
// 802A3730: 803621D4 (_savegpr_27)
// 802A3738: 802A25F0 (die_JAISound___8JAISoundFv)
// 802A3754: 80451318 (data_80451318)
// 802A3760: 804340B0 (data_804340B0)
// 802A3764: 804340B0 (data_804340B0)
// 802A3768: 80290848 (__ct__17JASGenericMemPoolFv)
// 802A376C: 804340B0 (data_804340B0)
// 802A3770: 804340B0 (data_804340B0)
// 802A3774: 802A1268 (func_802A1268)
// 802A3778: 802A1268 (func_802A1268)
// 802A377C: 804340E0 (lit_881)
// 802A3780: 804340E0 (lit_881)
// 802A3784: 80361C24 (__register_global_object)
// 802A378C: 80451318 (data_80451318)
// 802A3790: 804340B0 (data_804340B0)
// 802A3794: 804340B0 (data_804340B0)
// 802A37A0: 80290994 (free__17JASGenericMemPoolFPvUl)
// 802A37E8: 80362220 (_restgpr_27)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm void JAIStream::die_JAIStream_() {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/die_JAIStream___9JAIStreamFv.s"
}
#pragma pop
/* 802A37FC-802A388C 0090+00 s=1 e=0 z=0 None .text JAISound_tryDie___9JAIStreamFv */
// 802A3814: 802A3720 (die_JAIStream___9JAIStreamFv)
// 802A3844: 802A3720 (die_JAIStream___9JAIStreamFv)
// 802A385C: 802966CC (cancel__13JASAramStreamFv)
// 802A3874: 8029664C (stop__13JASAramStreamFUs)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm void JAIStream::JAISound_tryDie_() {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/JAISound_tryDie___9JAIStreamFv.s"
}
#pragma pop
/* 802A388C-802A3948 00BC+00 s=0 e=1 z=0 None .text JAIStreamMgr_calc___9JAIStreamFv */
// 802A389C: 803621DC (_savegpr_29)
// 802A38D8: 802A26B8 (calc_JAISound___8JAISoundFv)
// 802A38FC: 802A2B7C (calc__13JAISoundChildFv)
// 802A3934: 80362228 (_restgpr_29)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
asm void JAIStream::JAIStreamMgr_calc_() {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_calc___9JAIStreamFv.s"
}
#pragma pop
/* 802A3948-802A3950 0008+00 s=1 e=0 z=0 None .text getNumChild__9JAIStreamCFv */
// True False
// s32 False
s32 JAIStream::getNumChild() const {
return 6;
}
/* 802A3950-802A3A24 00D4+00 s=1 e=0 z=0 None .text getChild__9JAIStreamFi */
// 802A3978: 80451318 (data_80451318)
// 802A3984: 804340B0 (data_804340B0)
// 802A3988: 804340B0 (data_804340B0)
// 802A398C: 80290848 (__ct__17JASGenericMemPoolFv)
// 802A3990: 804340B0 (data_804340B0)
// 802A3994: 804340B0 (data_804340B0)
// 802A3998: 802A1268 (func_802A1268)
// 802A399C: 802A1268 (func_802A1268)
// 802A39A0: 804340E0 (lit_881)
// 802A39A4: 804340E0 (lit_881)
// 802A39A8: 80361C24 (__register_global_object)
// 802A39B0: 80451318 (data_80451318)
// 802A39B4: 804340B0 (data_804340B0)
// 802A39B8: 804340B0 (data_804340B0)
// 802A39C0: 80290948 (alloc__17JASGenericMemPoolFUl)
// 802A39CC: 804557F0 (lit_864)
// 802A39D8: 804557F4 (lit_865)
// 802A39E0: 804557F8 (lit_866)
// 802A3A00: 802A2AB0 (init__13JAISoundChildFv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// int False
asm void JAIStream::getChild(int param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/getChild__9JAIStreamFi.s"
}
#pragma pop
/* 802A3A24-802A3ABC 0098+00 s=1 e=0 z=0 None .text releaseChild__9JAIStreamFi */
// 802A3A4C: 80451318 (data_80451318)
// 802A3A58: 804340B0 (data_804340B0)
// 802A3A5C: 804340B0 (data_804340B0)
// 802A3A60: 80290848 (__ct__17JASGenericMemPoolFv)
// 802A3A64: 804340B0 (data_804340B0)
// 802A3A68: 804340B0 (data_804340B0)
// 802A3A6C: 802A1268 (func_802A1268)
// 802A3A70: 802A1268 (func_802A1268)
// 802A3A74: 804340E0 (lit_881)
// 802A3A78: 804340E0 (lit_881)
// 802A3A7C: 80361C24 (__register_global_object)
// 802A3A84: 80451318 (data_80451318)
// 802A3A88: 804340B0 (data_804340B0)
// 802A3A8C: 804340B0 (data_804340B0)
// 802A3A98: 80290994 (free__17JASGenericMemPoolFPvUl)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// int False
asm void JAIStream::releaseChild(int param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAIStream/releaseChild__9JAIStreamFi.s"
}
#pragma pop
/* 802A3ABC-802A3AC4 0008+00 s=1 e=0 z=0 None .text getTrack__9JAIStreamFv */
// True False
// bool False
bool JAIStream::getTrack() {
return false;
}
/* 802A3AC4-802A3ACC 0008+00 s=1 e=0 z=0 None .text getChildTrack__9JAIStreamFi */
// True False
// bool False
// int False
bool JAIStream::getChildTrack(int param_0) {
return false;
}
/* 802A3ACC-802A3AD0 0004+00 s=1 e=0 z=0 None .text asStream__9JAIStreamFv */
// True False
// void False
void JAIStream::asStream() {
/* empty function */
}
/* 802A3AD0-802A3AD8 0008+00 s=1 e=0 z=0 None .text getTempoMgr__9JAIStreamFv */
// True False
// bool False
bool JAIStream::getTempoMgr() {
return false;
}