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

594 lines
15 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: JKRDecomp
//
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRDecomp.h"
//
// Types:
//
struct JKRThread {
/* 802D1568 */ // False False
// u32 False
// int False
// int False
JKRThread(u32, int, int);
/* 802D1758 */ // False False
~JKRThread();
};
struct JKRHeap {
};
struct JKRDecompCommand {
/* 802DBD70 */ // True False
JKRDecompCommand();
/* 802DBDC0 */ // True False
~JKRDecompCommand();
};
struct JKRDecomp {
/* 802DB680 */ // False False
// s32 False
void create(s32);
/* 802DB6E0 */ // True False
// s32 False
JKRDecomp(s32);
/* 802DB730 */ // True False
~JKRDecomp();
/* 802DB790 */ // True False
void run();
/* 802DB858 */ // True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
void prepareCommand(u8*, u8*, u32, u32, void (*)(u32));
/* 802DB8D0 */ // False False
// JKRDecompCommand* False
// JKRDecompCommand False
void sendCommand(JKRDecompCommand*);
/* 802DB900 */ // True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
void orderAsync(u8*, u8*, u32, u32, void (*)(u32));
/* 802DB934 */ // True False
// JKRDecompCommand* False
// JKRDecompCommand False
// int False
void sync(JKRDecompCommand*, int);
/* 802DB988 */ // False False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
void orderSync(u8*, u8*, u32, u32);
/* 802DB9DC */ // True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
void decode(u8*, u8*, u32, u32);
/* 802DBA58 */ // True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
void decodeSZP(u8*, u8*, u32, u32);
/* 802DBC14 */ // True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
void decodeSZS(u8*, u8*, u32, u32);
/* 802DBCF8 */ // False False
// u8* False
// u8 False
void checkCompressed(u8*);
};
struct JKRAMCommand {
};
struct JKRAramPiece {
/* 802D35F4 */ // False False
// JKRAMCommand* False
// JKRAMCommand False
void sendCommand(JKRAMCommand*);
};
//
// Forward References:
//
// False False
// s32 False
extern "C" void create__9JKRDecompFl();
// True False
// s32 False
extern "C" void __ct__9JKRDecompFl();
// True False
extern "C" void __dt__9JKRDecompFv();
// True False
extern "C" void run__9JKRDecompFv();
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
extern "C" void prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v();
// False False
// JKRDecompCommand* False
// JKRDecompCommand False
extern "C" void sendCommand__9JKRDecompFP16JKRDecompCommand();
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
extern "C" void orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v();
// True False
// JKRDecompCommand* False
// JKRDecompCommand False
// int False
extern "C" void sync__9JKRDecompFP16JKRDecompCommandi();
// False False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
extern "C" void orderSync__9JKRDecompFPUcPUcUlUl();
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
extern "C" void decode__9JKRDecompFPUcPUcUlUl();
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
extern "C" void decodeSZP__9JKRDecompFPUcPUcUlUl();
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
extern "C" void decodeSZS__9JKRDecompFPUcPUcUlUl();
// False False
// u8* False
// u8 False
extern "C" void checkCompressed__9JKRDecompFPUc();
// True False
extern "C" void __ct__16JKRDecompCommandFv();
// True False
extern "C" void __dt__16JKRDecompCommandFv();
extern "C" extern void* __vt__9JKRDecomp[4];
//
// External References:
//
// False False
// void* False
// void False
// u32 False
// JKRHeap* False
// JKRHeap False
// int False
void* operator new(u32, JKRHeap*, int);
// False False
// void False
// void* False
// void False
void operator delete(void*);
// False False
// void* False
// void False
// u32 False
// JKRHeap* False
// JKRHeap False
// int False
extern "C" void* __nw__FUlP7JKRHeapi();
// False False
// void False
// void* False
// void False
extern "C" void __dl__FPv();
// False False
// u32 False
// int False
// int False
extern "C" void __ct__9JKRThreadFUlii();
// False False
extern "C" void __dt__9JKRThreadFv();
// False False
// JKRAMCommand* False
// JKRAMCommand False
extern "C" void sendCommand__12JKRAramPieceFP12JKRAMCommand();
// False False
extern "C" void OSInitMessageQueue();
// False False
extern "C" void OSSendMessage();
// False False
extern "C" void OSReceiveMessage();
// False False
extern "C" void OSResumeThread();
// False False
extern "C" void _savegpr_27();
// False False
extern "C" void _savegpr_28();
// False False
extern "C" void _restgpr_27();
// False False
extern "C" void _restgpr_28();
extern "C" extern u8 sSystemHeap__7JKRHeap[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 804514B0-804514B8 0004+04 s=1 e=0 z=0 None .sbss sDecompObject__9JKRDecomp */
static u8 sDecompObject__9JKRDecomp[4 + 4 /* padding */];
/* 802DB680-802DB6E0 0060+00 s=0 e=1 z=0 None .text create__9JKRDecompFl */
// 802DB694: 804514B0 (sDecompObject__9JKRDecomp)
// 802DB6A4: 80451370 (sSystemHeap__7JKRHeap)
// 802DB6AC: 802CEC98 (__nw__FUlP7JKRHeapi)
// 802DB6BC: 802DB6E0 (__ct__9JKRDecompFl)
// 802DB6C4: 804514B0 (sDecompObject__9JKRDecomp)
// 802DB6C8: 804514B0 (sDecompObject__9JKRDecomp)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// s32 False
asm void JKRDecomp::create(s32 param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/create__9JKRDecompFl.s"
}
#pragma pop
/* ############################################################################################## */
/* 803CC460-803CC480 0020+00 s=1 e=0 z=0 None .data sMessageBuffer__9JKRDecomp */
SECTION_DATA static u8 sMessageBuffer__9JKRDecomp[32] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803CC480-803CC4A0 0020+00 s=2 e=0 z=0 None .data sMessageQueue__9JKRDecomp */
SECTION_DATA static u8 sMessageQueue__9JKRDecomp[32] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803CC4A0-803CC4B0 0010+00 s=2 e=0 z=0 None .data __vt__9JKRDecomp */
SECTION_DATA void* __vt__9JKRDecomp[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__9JKRDecompFv,
(void*)run__9JKRDecompFv,
};
/* 802DB6E0-802DB730 0050+00 s=1 e=0 z=0 None .text __ct__9JKRDecompFl */
// 802DB700: 802D1568 (__ct__9JKRThreadFUlii)
// 802DB704: 803CC4A0 (__vt__9JKRDecomp)
// 802DB708: 803CC4A0 (__vt__9JKRDecomp)
// 802DB714: 803417B4 (OSResumeThread)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// s32 False
asm JKRDecomp::JKRDecomp(s32 param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__ct__9JKRDecompFl.s"
}
#pragma pop
/* 802DB730-802DB790 0060+00 s=1 e=0 z=0 None .text __dt__9JKRDecompFv */
// 802DB750: 803CC4A0 (__vt__9JKRDecomp)
// 802DB754: 803CC4A0 (__vt__9JKRDecomp)
// 802DB760: 802D1758 (__dt__9JKRThreadFv)
// 802DB770: 802CED3C (__dl__FPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm JKRDecomp::~JKRDecomp() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__dt__9JKRDecompFv.s"
}
#pragma pop
/* 802DB790-802DB858 00C8+00 s=1 e=0 z=0 None .text run__9JKRDecompFv */
// 802DB7A4: 803CC480 (sMessageQueue__9JKRDecomp)
// 802DB7A8: 803CC480 (sMessageQueue__9JKRDecomp)
// 802DB7AC: 803CC460 (sMessageBuffer__9JKRDecomp)
// 802DB7B0: 803CC460 (sMessageBuffer__9JKRDecomp)
// 802DB7B8: 8033E994 (OSInitMessageQueue)
// 802DB7BC: 803CC480 (sMessageQueue__9JKRDecomp)
// 802DB7C0: 803CC480 (sMessageQueue__9JKRDecomp)
// 802DB7D0: 8033EABC (OSReceiveMessage)
// 802DB7E8: 802DB9DC (decode__9JKRDecompFPUcPUcUlUl)
// 802DB804: 802D35F4 (sendCommand__12JKRAramPieceFP12JKRAMCommand)
// 802DB83C: 8033E9F4 (OSSendMessage)
// 802DB850: 8033E9F4 (OSSendMessage)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm void JKRDecomp::run() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/run__9JKRDecompFv.s"
}
#pragma pop
/* 802DB858-802DB8D0 0078+00 s=1 e=0 z=0 None .text prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v */
// 802DB868: 803621D4 (_savegpr_27)
// 802DB884: 80451370 (sSystemHeap__7JKRHeap)
// 802DB88C: 802CEC98 (__nw__FUlP7JKRHeapi)
// 802DB898: 802DBD70 (__ct__16JKRDecompCommandFv)
// 802DB8BC: 80362220 (_restgpr_27)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
asm void JKRDecomp::prepareCommand(u8* param_0, u8* param_1, u32 param_2, u32 param_3, void (*)(u32)) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v.s"
}
#pragma pop
/* 802DB8D0-802DB900 0030+00 s=1 e=1 z=0 None .text sendCommand__9JKRDecompFP16JKRDecompCommand */
// 802DB8E0: 803CC480 (sMessageQueue__9JKRDecomp)
// 802DB8E4: 803CC480 (sMessageQueue__9JKRDecomp)
// 802DB8EC: 8033E9F4 (OSSendMessage)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// JKRDecompCommand* False
// JKRDecompCommand False
asm void JKRDecomp::sendCommand(JKRDecompCommand* param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/sendCommand__9JKRDecompFP16JKRDecompCommand.s"
}
#pragma pop
/* 802DB900-802DB934 0034+00 s=1 e=0 z=0 None .text orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v */
// 802DB910: 802DB858 (prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v)
// 802DB918: 802DB8D0 (sendCommand__9JKRDecompFP16JKRDecompCommand)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
asm void JKRDecomp::orderAsync(u8* param_0, u8* param_1, u32 param_2, u32 param_3, void (*)(u32)) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v.s"
}
#pragma pop
/* 802DB934-802DB988 0054+00 s=1 e=0 z=0 None .text sync__9JKRDecompFP16JKRDecompCommandi */
// 802DB954: 8033EABC (OSReceiveMessage)
// 802DB96C: 8033EABC (OSReceiveMessage)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// JKRDecompCommand* False
// JKRDecompCommand False
// int False
asm void JKRDecomp::sync(JKRDecompCommand* param_0, int param_1) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/sync__9JKRDecompFP16JKRDecompCommandi.s"
}
#pragma pop
/* 802DB988-802DB9DC 0054+00 s=0 e=5 z=0 None .text orderSync__9JKRDecompFPUcPUcUlUl */
// 802DB9A0: 802DB900 (orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v)
// 802DB9AC: 802DB934 (sync__9JKRDecompFP16JKRDecompCommandi)
// 802DB9BC: 802DBDC0 (__dt__16JKRDecompCommandFv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
asm void JKRDecomp::orderSync(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/orderSync__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DB9DC-802DBA58 007C+00 s=1 e=0 z=0 None .text decode__9JKRDecompFPUcPUcUlUl */
// 802DB9EC: 803621D8 (_savegpr_28)
// 802DBA00: 802DBCF8 (checkCompressed__9JKRDecompFPUc)
// 802DBA1C: 802DBA58 (decodeSZP__9JKRDecompFPUcPUcUlUl)
// 802DBA3C: 802DBC14 (decodeSZS__9JKRDecompFPUcPUcUlUl)
// 802DBA44: 80362224 (_restgpr_28)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
asm void JKRDecomp::decode(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/decode__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DBA58-802DBC14 01BC+00 s=1 e=0 z=0 None .text decodeSZP__9JKRDecompFPUcPUcUlUl */
// 802DBA68: 803621D4 (_savegpr_27)
// 802DBC00: 80362220 (_restgpr_27)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
asm void JKRDecomp::decodeSZP(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/decodeSZP__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DBC14-802DBCF8 00E4+00 s=1 e=0 z=0 None .text decodeSZS__9JKRDecompFPUcPUcUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
asm void JKRDecomp::decodeSZS(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/decodeSZS__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DBCF8-802DBD70 0078+00 s=1 e=4 z=0 None .text checkCompressed__9JKRDecompFPUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// u8* False
// u8 False
asm void JKRDecomp::checkCompressed(u8* param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/checkCompressed__9JKRDecompFPUc.s"
}
#pragma pop
/* 802DBD70-802DBDC0 0050+00 s=1 e=0 z=0 None .text __ct__16JKRDecompCommandFv */
// 802DBD90: 8033E994 (OSInitMessageQueue)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm JKRDecompCommand::JKRDecompCommand() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__ct__16JKRDecompCommandFv.s"
}
#pragma pop
/* 802DBDC0-802DBDFC 003C+00 s=1 e=0 z=0 None .text __dt__16JKRDecompCommandFv */
// 802DBDE0: 802CED3C (__dl__FPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm JKRDecompCommand::~JKRDecompCommand() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__dt__16JKRDecompCommandFv.s"
}
#pragma pop