split, decomp, rinse, repeat

This commit is contained in:
Seth Barberee 2020-09-25 00:10:54 -05:00
parent 0b4a7ac24e
commit 1a649b9146
7 changed files with 20599 additions and 20571 deletions

View File

@ -2356,32 +2356,4 @@ _0800A878:
bx r0
thumb_func_end sub_800A78C
thumb_func_start sub_800A894
sub_800A894:
push {lr}
adds r2, r0, 0
adds r0, r1, 0
cmp r0, 0
bgt _0800A8A0
movs r0, 0x1
_0800A8A0:
ldr r1, _0800A8BC
cmp r0, r1
ble _0800A8A8
adds r0, r1, 0
_0800A8A8:
ldr r1, _0800A8C0
lsls r0, 2
adds r0, r1
ldr r0, [r0]
str r0, [r2, 0x4]
movs r0, 0
str r0, [r2]
pop {r0}
bx r0
.align 2, 0
_0800A8BC: .4byte 0x0000012b
_0800A8C0: .4byte gUnknown_80B96E4
thumb_func_end sub_800A894
.align 2, 0 @ Don't pad with nop.

File diff suppressed because it is too large Load Diff

20524
asm/code_8048480.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -77,6 +77,8 @@ SECTIONS {
asm/code_8012A18.o(.text);
src/code_8012A18.o(.text);
asm/code_803D110.o(.text);
src/code_8048480.o(.text);
asm/code_8048480.o(.text);
src/code_80521D0.o(.text);
asm/code_80521D0.o(.text);
src/pokemon.o(.text);

21
src/code_8048480.c Normal file
View File

@ -0,0 +1,21 @@
#include "global.h"
extern void sub_807D148(u32 r0, u32 r1, u32 r2, u32 r3);
extern void sub_8075FCC(void);
extern void sub_8077AE4(u32 r0, u32 r1, u32 r2);
extern void sub_8072008(u32 r0, u32 r1, u32 r2, u32 r3);
void sub_8048480(u32 r0, u32 r1)
{
sub_807D148(r0, r1, 0, 0);
}
void sub_8048490(void)
{
sub_8075FCC();
}
void sub_804849C(u32 r0, u32 r1)
{
sub_8077AE4(r0, r1, 1);
}

View File

@ -1,6 +1,38 @@
#include "global.h"
#include "memory.h"
struct UnkEventStruct
{
/* 0x0 */ u32 unk0;
/* 0x4 */ s16 unk4;
/* 0x6 */ u16 unk6;
/* 0x8 */ u16 unk8;
/* 0xA */ s16 unkA;
};
struct UnkEventStruct2
{
/* 0x0 */ u32 unk0;
/* 0x4 */ u32 unk4;
};
extern void sub_800226C(u8 r0, u8 r1, u32* r2, u8 u3);
extern void sub_800160C(struct UnkEventStruct2 *r0, u32 r1, u32 r2);
extern u8 gUnknown_2000A88;
//u8 sub_8002718(struct UnkEventStruct *r0)
//{
// struct UnkEventStruct2 temp;
// sub_800160C(&temp, 0, 0);
// MemoryCopy8(&gUnknown_2000A88, (u8 *)r0, (0x80 << 3));
//
// // TODO fix this comparison to make it match
// if(r0->unkA != temp.unk4)
// return 0;
// return 1;
//}
void sub_8002758(u32 *r0)
{

View File

@ -12,6 +12,26 @@ extern u32 sub_800AAB4(u32 r0, u32 r1, u32 r2);
u8 *GetSiroPtr(struct OpenedFile *);
void NDS_DecompressRLE(void *);
struct UnkFileStruct
{
/* 0x0 */ u32 unk0;
/* 0x4 */ u32 unk4;
};
extern u32 gUnknown_80B96E4[];
void sub_800A894(struct UnkFileStruct *r0, s32 r1)
{
s32 temp;
temp = r1;
if(r1 <= 0)
temp = 1;
if(temp > 0x12b)
temp = 0x12b;
r0->unk4 = gUnknown_80B96E4[temp];
r0->unk0 = 0;
}
void InitFileSystem(void)
{
s32 i;