dol2asm OK

This commit is contained in:
Julgodis
2021-03-28 22:49:05 +02:00
parent 3d66902e1a
commit 1e95d29b60
60106 changed files with 4755966 additions and 1107376 deletions
+70 -87
View File
@@ -1,103 +1,86 @@
//
// Generated By: dol2asm
// Translation Unit: binary
//
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JGadget/binary.h"
#include "global.h"
extern "C" {
void parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl(void);
void parseVariableUInt_16_32_following__Q27JGadget6binaryFPCvPUlPUlPQ37JGadget6binary5TEBit(void);
void __dt__Q37JGadget6binary19TParse_header_blockFv(void);
}
extern u8 lbl_803C488C;
//
// Types:
//
namespace JGadget {
namespace binary {
struct binary {
struct TEBit {
};
#ifdef NONMATCHING // really small difference
const void* parseVariableUInt_16_32_following(const void* pu16, u32* pu32First, u32* pu32Second,
TEBit* tebit) {
JUT_ASSERT(pu_16 != NULL);
JUT_ASSERT(pu32First != NULL);
JUT_ASSERT(pu32Second != NULL);
struct TParse_header_block {
/* 802DC8C8 */ ~TParse_header_block();
/* 802DC910 */ void parse_next(void const**, u32);
};
TEBit bit;
/* 802DC864 */ void parseVariableUInt_16_32_following(void const*, u32*, u32*, JGadget::binary::TEBit*);
};
if (tebit == NULL) {
tebit = &bit;
}
};
const u16* u = static_cast<const u16*>(pu16);
//
// Forward References:
//
if (!(u[0] & 0x8000)) {
tebit->value = 0x10;
*pu32First = u[0];
*pu32Second = u[1];
return &u[2];
} else {
tebit->value = 0x20;
const u32* u2 = static_cast<const u32*>(pu16);
*pu32First = (u[0] << 16) | u[1];
*pu32Second = u2[1];
return &u[4];
}
extern "C" void parseVariableUInt_16_32_following__Q27JGadget6binaryFPCvPUlPUlPQ37JGadget6binary5TEBit();
extern "C" void __dt__Q37JGadget6binary19TParse_header_blockFv();
extern "C" void parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl();
//
// External References:
//
void operator delete(void*);
extern "C" extern void* __vt__Q37JGadget6binary19TParse_header_block[5];
extern "C" void __dl__FPv();
extern "C" void _savegpr_26();
extern "C" void _restgpr_26();
extern "C" extern void* __vt__Q37JGadget6binary19TParse_header_block[5];
//
// Declarations:
//
/* 802DC864-802DC8C8 0064+00 s=0 e=2 z=0 None .text parseVariableUInt_16_32_following__Q27JGadget6binaryFPCvPUlPUlPQ37JGadget6binary5TEBit */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JGadget::binary::parseVariableUInt_16_32_following(void const* param_0, u32* param_1, u32* param_2, JGadget::binary::TEBit* param_3) {
nofralloc
#include "asm/JSystem/JGadget/binary/parseVariableUInt_16_32_following__Q27JGadget6binaryFPCvPUlPUlPQ37JGadget6binary5TEBit.s"
}
#else
asm const void* parseVariableUInt_16_32_following(const void* pu16, u32* pu32First, u32* pu32Second,
TEBit* tebit) {
nofralloc
#include "JSystem/JGadget/asm/func_802DC864.s"
#pragma pop
/* 802DC8C8-802DC910 0048+00 s=0 e=4 z=0 None .text __dt__Q37JGadget6binary19TParse_header_blockFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JGadget::binary::TParse_header_block::~TParse_header_block() {
nofralloc
#include "asm/JSystem/JGadget/binary/__dt__Q37JGadget6binary19TParse_header_blockFv.s"
}
#endif
#pragma pop
TParse_header_block::~TParse_header_block() {}
#ifdef NONMATCHING // minor regalloc
bool TParse_header_block::parse_next(const void** ppData_inout, u32 a2) {
bool result;
u32 count;
if (ppData_inout == NULL || *ppData_inout == NULL) {
JUTWarn w;
w << "data not specified";
return false;
}
bool headerOK = false;
if (parseHeader_next(ppData_inout, &count, a2)) {
headerOK = true;
}
result = headerOK;
if (!(a2 & 1) && !result) {
return result;
}
for (; count != 0; --count) {
bool blockOK = false;
const void* p = *ppData_inout;
if (parseBlock_next(ppData_inout, &count, a2) && result) {
blockOK = true;
}
result = blockOK;
JUT_ASSERT(std::uintptr_t(*ppData_inout) == std::uintptr_t(p) + uData);
if (!(a2 & 2) && !blockOK) {
return result;
}
}
return result;
/* 802DC910-802DCA1C 010C+00 s=0 e=9 z=0 None .text parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JGadget::binary::TParse_header_block::parse_next(void const** param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JGadget/binary/parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl.s"
}
#else
asm bool TParse_header_block::parse_next(const void** ppData_inout, u32 a2) {
nofralloc
#include "JSystem/JGadget/asm/func_802DC910.s"
}
#endif
#pragma pop
} // namespace binary
} // namespace JGadget