ogrebattle64/src/_ob_prized_room.c

48 lines
1.1 KiB
C

#include "common.h"
#include "nu/nusys.h"
INCLUDE_ASM(const s32, "_ob_prized_room", func_8009DA10);
/* 2DE50 8009DA50 */
void __calls_romCopy_8009DA50(void* src, void* dst, u32 len) {
u8 sp1F[32];
u8* _dst;
u8* _src;
s32 i;
// align to 16
_src = (u8*) (((u32) &sp1F[15] >> 4) << 4);
if (len < 16) {
_dst = dst;
// Copy into stack, length aligned to 2 bytes...
nuPiReadRom(src, _src, (len + 1) & ~1);
// ...then copy from stack into destination
for(len--; len != -1; len--)
*_dst++ = *_src++;
} else {
// Too big to fit in our stack, so just do a regular copy
nuPiReadRom(src, dst, (len + 1) & ~1);
}
}
void func_8009DAEC(void) { }
INCLUDE_ASM(const s32, "_ob_prized_room", __calls_romCopy_8009DAF4);
INCLUDE_ASM(const s32, "_ob_prized_room", __calls_romCopy_8009DBB8);
void* __add_0x594284(s32 arg0) {
return arg0 + &D_594284;
}
INCLUDE_ASM(const s32, "_ob_prized_room", __calls_romCopy_8009DD38);
INCLUDE_ASM(const s32, "_ob_prized_room", __calls_romCopy_8009DE40);
INCLUDE_ASM(const s32, "_ob_prized_room", __load_and_unpack);