mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Decomped sub_0205E2B8
Decomped by @slaw-22
This commit is contained in:
parent
2437590882
commit
fddb06d6ac
|
|
@ -346,5 +346,5 @@
|
|||
.public sub_0205E01C
|
||||
.public sub_0205E090
|
||||
.public sub_0205E258
|
||||
.public sub_0205E288
|
||||
.public sub_0205E2B8
|
||||
.public vsprintf
|
||||
|
|
@ -1,103 +1,8 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "main_0205E2B8.inc"
|
||||
.include "main_0205E3F8.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start sub_0205E2B8
|
||||
sub_0205E2B8: ; 0x0205E2B8
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
mov r7, #0
|
||||
ldr r6, _0205E3F4 ; =MISSION_DELIVER_LIST_PTR
|
||||
b _0205E2F4
|
||||
_0205E2D0:
|
||||
ldr r0, [r6, #0x18]
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
add r0, r0, r7, lsl #5
|
||||
bl sub_0205E288
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
add r7, r7, #1
|
||||
_0205E2F4:
|
||||
cmp r7, #8
|
||||
blt _0205E2D0
|
||||
mov r7, #0
|
||||
ldr r6, _0205E3F4 ; =MISSION_DELIVER_LIST_PTR
|
||||
b _0205E330
|
||||
_0205E308:
|
||||
ldr r0, [r6, #0x18]
|
||||
mov r1, r5
|
||||
add r0, r0, #0x100
|
||||
mov r2, r4
|
||||
add r0, r0, r7, lsl #5
|
||||
bl sub_0205E288
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
add r7, r7, #1
|
||||
_0205E330:
|
||||
cmp r7, #8
|
||||
blt _0205E308
|
||||
mov r7, #0
|
||||
ldr r6, _0205E3F4 ; =MISSION_DELIVER_LIST_PTR
|
||||
b _0205E36C
|
||||
_0205E344:
|
||||
ldr r0, [r6, #0x18]
|
||||
mov r1, r5
|
||||
add r0, r0, #0x200
|
||||
mov r2, r4
|
||||
add r0, r0, r7, lsl #5
|
||||
bl sub_0205E288
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
add r7, r7, #1
|
||||
_0205E36C:
|
||||
cmp r7, #8
|
||||
blt _0205E344
|
||||
mov r7, #0
|
||||
ldr r6, _0205E3F4 ; =MISSION_DELIVER_LIST_PTR
|
||||
b _0205E3A8
|
||||
_0205E380:
|
||||
ldr r0, [r6, #0x18]
|
||||
mov r1, r5
|
||||
add r0, r0, #0x300
|
||||
mov r2, r4
|
||||
add r0, r0, r7, lsl #5
|
||||
bl sub_0205E288
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
add r7, r7, #1
|
||||
_0205E3A8:
|
||||
cmp r7, #1
|
||||
blt _0205E380
|
||||
mov r7, #0
|
||||
ldr r6, _0205E3F4 ; =MISSION_DELIVER_LIST_PTR
|
||||
b _0205E3E4
|
||||
_0205E3BC:
|
||||
ldr r0, [r6, #0x18]
|
||||
mov r1, r5
|
||||
add r0, r0, #0x320
|
||||
mov r2, r4
|
||||
add r0, r0, r7, lsl #5
|
||||
bl sub_0205E288
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
add r7, r7, #1
|
||||
_0205E3E4:
|
||||
cmp r7, #1
|
||||
blt _0205E3BC
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0205E3F4: .word MISSION_DELIVER_LIST_PTR
|
||||
arm_func_end sub_0205E2B8
|
||||
|
||||
arm_func_start sub_0205E3F8
|
||||
sub_0205E3F8: ; 0x0205E3F8
|
||||
stmdb sp!, {r3, lr}
|
||||
|
|
@ -1,14 +1,9 @@
|
|||
#ifndef PMDSKY_MAIN_0205E288_H
|
||||
#define PMDSKY_MAIN_0205E288_H
|
||||
|
||||
#include "util.h"
|
||||
#include "mission.h"
|
||||
|
||||
struct unkStruct_0205E288 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
};
|
||||
|
||||
bool8 sub_0205E288(struct unkStruct_0205E288 *ptr, u32 val, struct unkStruct_0205E288 *ptr2);
|
||||
bool8 sub_0205E288(struct mission *mission, u32 val, u8 *ptr2);
|
||||
bool8 sub_0205E2B8(u32 arg0, u8 *arg1);
|
||||
|
||||
#endif //PMDSKY_MAIN_0205E288_H
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -168,7 +168,7 @@ Static main
|
|||
Object src/main_0205E01C.o
|
||||
Object asm/main_0205E090.o
|
||||
Object src/main_0205E288.o
|
||||
Object asm/main_0205E2B8.o
|
||||
Object asm/main_0205E3F8.o
|
||||
Object src/dungeon_init_2.o
|
||||
Object asm/main_0206A750.o
|
||||
Object src/main_0206C98C.o
|
||||
|
|
|
|||
|
|
@ -1,12 +1,49 @@
|
|||
#include "main_0205E288.h"
|
||||
|
||||
bool8 sub_0205E288(struct unkStruct_0205E288 *ptr, u32 val, struct unkStruct_0205E288 *ptr2)
|
||||
extern struct mission_deliver_list MISSION_DELIVER_LIST_PTR;
|
||||
|
||||
bool8 sub_0205E288(struct mission *mission, u32 val, u8 *ptr2)
|
||||
{
|
||||
if (ptr->unk0 == 0)
|
||||
if (mission->status == MISSION_STATUS_INVALID)
|
||||
return FALSE;
|
||||
|
||||
if (ptr->unk1 == val && ptr->unk2 == ptr2->unk0)
|
||||
if (mission->type == val && mission->subtype.other == *ptr2)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_0205E2B8(u32 arg0, u8 *arg1)
|
||||
{
|
||||
for (s32 i = 0; i < 8; i++)
|
||||
{
|
||||
if (sub_0205E288((struct mission*) (MISSION_DELIVER_LIST_PTR.unk18 + i * 32), arg0, arg1))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for (s32 i = 0; i < 8; i++)
|
||||
{
|
||||
if (sub_0205E288((struct mission*) (MISSION_DELIVER_LIST_PTR.unk18 + 0x100 + i * 32), arg0, arg1))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for (s32 i = 0; i < 8; i++)
|
||||
{
|
||||
if (sub_0205E288((struct mission*) (MISSION_DELIVER_LIST_PTR.unk18 + 0x200 + i * 32), arg0, arg1))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for (s32 i = 0; i < 1; i++)
|
||||
{
|
||||
if (sub_0205E288((struct mission*) (MISSION_DELIVER_LIST_PTR.unk18 + 0x300 + i * 32), arg0, arg1))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for (s32 i = 0; i < 1; i++)
|
||||
{
|
||||
if (sub_0205E288((struct mission*) (MISSION_DELIVER_LIST_PTR.unk18 + 0x320 + i * 32), arg0, arg1))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user