Match unk_0200B29C.c

This commit is contained in:
Nomura
2022-12-25 18:20:40 +01:00
parent 150912ba1b
commit bcf6a11918
4 changed files with 66 additions and 113 deletions

View File

@@ -1,8 +0,0 @@
.public sub_0200B144
.public sub_0200B190
.public sub_0200B1B8
.public sub_0200B1EC
.public sub_0200C388
.public sub_02023790
.public sub_020237BC
.public sub_02023868

View File

@@ -1,104 +0,0 @@
.include "macros/function.inc"
.include "include/unk_0200B29C.inc"
.text
thumb_func_start sub_0200B29C
sub_0200B29C: ; 0x0200B29C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r0, #0
mov r0, #0
str r0, [sp, #4]
add r5, r1, #0
mov r0, #1
ldr r1, [sp, #4]
lsl r0, r0, #0xa
add r6, r2, #0
str r3, [sp]
bl sub_02023790
add r4, r0, #0
beq _0200B2E6
add r0, r5, #0
add r1, r6, #0
bl sub_0200B1EC
add r5, r0, #0
beq _0200B2E0
add r0, r7, #0
add r1, r4, #0
add r2, r5, #0
bl sub_0200C388
ldr r1, [sp]
add r0, r4, #0
bl sub_02023868
str r0, [sp, #4]
add r0, r5, #0
bl sub_020237BC
_0200B2E0:
add r0, r4, #0
bl sub_020237BC
_0200B2E6:
ldr r0, [sp, #4]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0200B29C
thumb_func_start sub_0200B2EC
sub_0200B2EC: ; 0x0200B2EC
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r0, #0
ldr r2, _0200B328 ; =0x00000287
mov r0, #1
mov r1, #0x1a
add r3, r5, #0
bl sub_0200B144
add r4, r0, #0
beq _0200B322
mov r0, #0x10
add r1, r5, #0
bl sub_02023790
add r5, r0, #0
beq _0200B318
add r0, r4, #0
add r1, r6, #0
add r2, r5, #0
bl sub_0200B1B8
_0200B318:
add r0, r4, #0
bl sub_0200B190
add r0, r5, #0
pop {r4, r5, r6, pc}
_0200B322:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_0200B328: .word 0x00000287
thumb_func_end sub_0200B2EC
thumb_func_start sub_0200B32C
sub_0200B32C: ; 0x0200B32C
push {r3, r4, r5, lr}
mov r2, #0x67
add r4, r0, #0
add r3, r1, #0
mov r0, #1
mov r1, #0x1a
lsl r2, r2, #2
bl sub_0200B144
add r5, r0, #0
beq _0200B354
add r1, r4, #0
bl sub_0200B1EC
add r4, r0, #0
add r0, r5, #0
bl sub_0200B190
add r0, r4, #0
pop {r3, r4, r5, pc}
_0200B354:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0200B32C

View File

@@ -33,7 +33,7 @@ Static main
Object asm/unk_0200A784.o
Object asm/unk_0200A9DC.o
Object asm/unk_0200AC5C.o
Object asm/unk_0200B29C.o
Object src/unk_0200B29C.o
Object asm/unk_0200B358.o
Object asm/unk_0200C440.o
Object asm/unk_0200C6E4.o

65
src/unk_0200B29C.c Normal file
View File

@@ -0,0 +1,65 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_0200B144_decl.h"
#include "struct_decls/struct_0200B358_decl.h"
#include "struct_decls/struct_02023790_decl.h"
#include "unk_0200AC5C.h"
#include "unk_0200B29C.h"
#include "unk_0200B358.h"
#include "unk_02023790.h"
UnkStruct_02023790 * sub_0200B29C (UnkStruct_0200B358 * param0, UnkStruct_0200B144 * param1, u32 param2, u32 param3)
{
UnkStruct_02023790 * v0 = NULL;
UnkStruct_02023790 * v1;
v1 = sub_02023790(1024, 0);
if (v1) {
UnkStruct_02023790 * v2 = sub_0200B1EC(param1, param2);
if (v2) {
sub_0200C388(param0, v1, v2);
v0 = sub_02023868(v1, param3);
sub_020237BC(v2);
}
sub_020237BC(v1);
}
return v0;
}
UnkStruct_02023790 * sub_0200B2EC (u32 param0, u32 param1)
{
UnkStruct_0200B144 * v0 = sub_0200B144(1, 26, 647, param1);
if (v0) {
UnkStruct_02023790 * v1 = sub_02023790(16, param1);
if (v1) {
sub_0200B1B8(v0, param0, v1);
}
sub_0200B190(v0);
return v1;
}
return NULL;
}
UnkStruct_02023790 * sub_0200B32C (u32 param0, u32 param1)
{
UnkStruct_0200B144 * v0 = sub_0200B144(1, 26, 412, param1);
if (v0) {
UnkStruct_02023790 * v1 = sub_0200B1EC(v0, param0);
sub_0200B190(v0);
return v1;
}
return NULL;
}