nonmatch sub_0807CF88

This commit is contained in:
Henny022p 2021-02-18 17:58:42 +01:00
parent 809a903207
commit f475bd9fa0
5 changed files with 43 additions and 10 deletions

View File

@ -1,12 +1,11 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0807CF88
sub_0807CF88: @ 0x0807CF88
push {r4, r5, r6, r7, lr}
sub sp, #8
adds r7, r1, #0
@ -69,3 +68,4 @@ _0807CFFE:
.align 2, 0
_0807D004: .4byte 0x4D435A33
.syntax divided

View File

@ -1,6 +1,3 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified

View File

@ -224,7 +224,7 @@ extern u32 sub_0807D24C(u32, const char*, u32);
extern void sub_0807CF68(u32);
extern u32 sub_0807D20C(u32, const char*, u32);
extern u32 sub_0807CF88(u32, u8*);
extern void sub_0807D184(u32, const char*);
extern u32 sub_0807D184(u32, const char*);
extern u32 sub_0806F520();
extern void sub_0806F4E8(Entity*);
extern u32 sub_0806F3E4(Entity*);

View File

@ -675,7 +675,6 @@ SECTIONS {
asm/code_0807CAA0.o(.text);
src/flags.o(.text);
src/save.o(.text);
asm/code_0807CC3C.o(.text);
src/code_0807CC3C.o(.text);
src/executeScriptCommandSet.o(.text);
asm/code_0807F0D8.o(.text);

View File

@ -32,6 +32,39 @@ u16 sub_0807D1A4(u16* unk_1, u32 unk_2);
u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3);
u32 sub_0807D0EC(u32 unk_1, const char* unk_2);
NONMATCH("asm/non_matching/code_0807CC3C/sub_0807CF88.inc", u32 sub_0807CF88(u32 arg0, u8* arg1)) {
u32 signature;
s16 local1[2];
u32 retval;
struct_0807D1C4* ptr;
u32 e0, e1;
u16 l1prep;
ptr = sub_0807D1C4(arg0);
signature = 'MCZ3';
l1prep = sub_0807D1A4((u16*)&signature, 4);
l1prep += sub_0807D1A4((u16*)arg1, ptr->field_0x0);
local1[0] = l1prep;
local1[1] = -(u32)l1prep;
e0 = sub_0807D20C(ptr->field_0x6, (const char*)arg1, ptr->field_0x0);
if (e0) {
e0 = sub_0807D184(ptr->field_0x2, (const char*)local1);
}
e1 = sub_0807D20C(ptr->field_0x8, (const char*)arg1, ptr->field_0x0);
if (e1) {
e1 = sub_0807D184(ptr->field_0x4, (const char*)local1);
}
retval = 0;
if (e0 || e1) {
retval = 1;
}
return retval;
}
END_NONMATCH
NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D008.inc", u32 sub_0807D008(u32 param_1, SaveFile* saveFile)) {
u32 set_0;
char auStack32[8];
@ -138,10 +171,14 @@ u32 sub_0807D128(u16* unk_1) {
return ret;
}
void sub_0807D184(u32 param_1, const char* param_2) {
if (sub_0807D20C(param_1, param_2, 8) == 0) {
sub_0807D20C(param_1 + 8, param_2, 8);
u32 sub_0807D184(u32 param_1, const char* param_2) {
u32 uVar1;
uVar1 = sub_0807D20C(param_1, param_2, 8);
if (uVar1 == 0) {
uVar1 = sub_0807D20C(param_1 + 8, param_2, 8);
}
return uVar1;
}
u16 sub_0807D1A4(u16* unk_1, u32 unk_2) {