more work on funcs

This commit is contained in:
Seth Barberee 2020-11-01 12:27:21 -06:00
parent a0d2d8e951
commit 22f19f8d55
4 changed files with 79 additions and 55 deletions

View File

@ -5,38 +5,6 @@
.text
@ Unused
thumb_func_start PrintFuncFileLineOrNotEntry
PrintFuncFileLineOrNotEntry:
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
adds r0, r1, 0
cmp r0, 0
beq _08011A90
ldr r1, _08011A8C
ldr r2, [r0, 0x8]
ldr r3, [r0]
ldr r0, [r0, 0x4]
str r0, [sp]
adds r0, r4, 0
bl sprintf
b _08011A98
.align 2, 0
_08011A8C: .4byte gUnknown_80D418C
_08011A90:
ldr r1, _08011AA0
adds r0, r4, 0
bl sprintf
_08011A98:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08011AA0: .4byte gNotEntryText
thumb_func_end PrintFuncFileLineOrNotEntry
thumb_func_start PrintFuncFileLine
PrintFuncFileLine:
push {r4,r5,lr}

View File

@ -116336,27 +116336,4 @@ _0808CD94: .4byte sub_8086A3C
_0808CD98: .4byte gUnknown_202E038
thumb_func_end sub_808CD44
thumb_func_start sub_808CD9C
sub_808CD9C:
push {lr}
bl sub_8086448
ldr r0, _0808CDAC
bl sub_80866C4
pop {r0}
bx r0
.align 2, 0
_0808CDAC: .4byte gUnknown_810697C
thumb_func_end sub_808CD9C
thumb_func_start sub_808CDB0
sub_808CDB0:
lsls r0, 24
lsrs r0, 21
ldr r1, _0808CDBC
adds r0, r1
bx lr
.align 2, 0
_0808CDBC: .4byte gUnknown_8107544
thumb_func_end sub_808CDB0
.align 2,0 @ Don't pad with nop

View File

@ -25,18 +25,31 @@ extern void nullsub_31(void);
extern void nullsub_32(void);
extern void nullsub_28(void);
extern int sprintf(char *, const char *, ...);
struct UnkStructType
{
/* 0x0 */ s16 unk0;
};
struct unkFileStruct
{
u32 unk0;
u32 unk4;
u32 unk8;
};
extern u16 gUnknown_80D4144[];
extern struct UnkStructType gUnknown_202DE20;
extern struct UnkStructType gUnknown_202DE22;
extern struct UnkStructType gUnknown_202DE24;
extern u32 gUnknown_202DE1C;
extern u32 gUnknown_203B14C;
extern const char gNotEntryText;
extern const char gUnknown_80D418C;
void sub_8011760(void)
{
@ -281,3 +294,52 @@ void nullsub_25(void)
void nullsub_26(void)
{
}
#ifndef NONMATCHING
NAKED
#endif
// Unused
void PrintFuncFileLineOrNotEntry(char * r0, struct unkFileStruct *r1)
{
#ifdef NONMATCHING
u32 temp;
if(r1 != 0)
{
// TODO fix regswap here.. otherwise looks good
temp = r1->unk4;
sprintf(r0, &gUnknown_80D418C, r1->unk8, r1->unk0, temp);
}
else
{
sprintf(r0, &gNotEntryText);
}
#else
asm_unified("\tpush {r4,lr}\n"
"\tsub sp, 0x4\n"
"\tadds r4, r0, 0\n"
"\tadds r0, r1, 0\n"
"\tcmp r0, 0\n"
"\tbeq _08011A90\n"
"\tldr r1, _08011A8C\n"
"\tldr r2, [r0, 0x8]\n"
"\tldr r3, [r0]\n"
"\tldr r0, [r0, 0x4]\n"
"\tstr r0, [sp]\n"
"\tadds r0, r4, 0\n"
"\tbl sprintf\n"
"\tb _08011A98\n"
"\t.align 2, 0\n"
"_08011A8C: .4byte gUnknown_80D418C\n"
"_08011A90:\n"
"\tldr r1, _08011AA0\n"
"\tadds r0, r4, 0\n"
"\tbl sprintf\n"
"_08011A98:\n"
"\tadd sp, 0x4\n"
"\tpop {r4}\n"
"\tpop {r0}\n"
"\tbx r0\n"
"\t.align 2, 0\n"
"_08011AA0: .4byte gNotEntryText");
#endif
}

View File

@ -10,6 +10,22 @@ extern struct OpenedFile *gMonsterParametersFile;
extern u16 gUnknown_20384E8;
extern struct gPokemon gMonsterParameters;
extern u64 gUnknown_8107544[];
extern u32 gUnknown_810697C;
extern void sub_8086448();
extern void sub_80866C4(u32 *r0);
void sub_808CD9C(u8 r0)
{
sub_8086448();
sub_80866C4(&gUnknown_810697C);
}
u64 *sub_808CDB0(u8 r0)
{
return &gUnknown_8107544[r0];
}
void LoadMonsterParameters(void)
{
gUnknown_203B45C = &gUnknown_202F400;
@ -24,3 +40,4 @@ u32 *sub_808CE00(void)
return &gUnknown_202F400;
}