diff --git a/asm/include/main_0205E448.inc b/asm/include/main_0205E48C.inc similarity index 100% rename from asm/include/main_0205E448.inc rename to asm/include/main_0205E48C.inc diff --git a/asm/main_0205E448.s b/asm/main_0205E48C.s similarity index 94% rename from asm/main_0205E448.s rename to asm/main_0205E48C.s index b265a0a7..ae317ffd 100644 --- a/asm/main_0205E448.s +++ b/asm/main_0205E48C.s @@ -1,31 +1,8 @@ .include "asm/macros.inc" - .include "main_0205E448.inc" + .include "main_0205E48C.inc" .text - arm_func_start sub_0205E448 -sub_0205E448: ; 0x0205E448 - stmdb sp!, {r4, lr} - mov lr, #0 - mov r4, lr - mov r2, lr - mov r3, #1 - b _0205E47C -_0205E460: - ldrb ip, [r1, r4, lsl #5] - add r4, r4, #1 - cmp ip, #0 - moveq ip, r3 - movne ip, r2 - tst ip, #0xff - addeq lr, lr, #1 -_0205E47C: - cmp r4, r0 - blt _0205E460 - mov r0, lr - ldmia sp!, {r4, pc} - arm_func_end sub_0205E448 - arm_func_start sub_0205E48C sub_0205E48C: ; 0x0205E48C stmdb sp!, {r3, r4, r5, r6, r7, lr} diff --git a/include/main_0205E288.h b/include/main_0205E288.h index ad13fd06..56018a4e 100644 --- a/include/main_0205E288.h +++ b/include/main_0205E288.h @@ -3,15 +3,17 @@ #include "mission.h" -bool8 sub_0205E1E8(struct mission* mission); -bool8 IsMissionTypeSpecialEpisode(struct mission* mission); -bool8 sub_0205E258(struct mission* mission); struct unkStruct_0205E3F8 { u32 data[8]; }; +bool8 sub_0205E1E8(struct mission* mission); +bool8 IsMissionTypeSpecialEpisode(struct mission* mission); +bool8 sub_0205E258(struct mission* mission); + bool8 sub_0205E288(struct mission *mission, u32 val, u8 *ptr2); bool8 sub_0205E2B8(u32 arg0, u8 *arg1); bool8 sub_0205E3F8(struct unkStruct_0205E3F8 *src, s32 limit, struct unkStruct_0205E3F8 *destArray); +s32 sub_0205E448(s32 arg0, struct mission* arg1); #endif //PMDSKY_MAIN_0205E288_H diff --git a/main.lsf b/main.lsf index 3042b299..2b3853bd 100644 --- a/main.lsf +++ b/main.lsf @@ -191,7 +191,7 @@ Static main Object src/main_0205E01C.o Object asm/main_0205E090.o Object src/main_0205E288.o - Object asm/main_0205E448.o + Object asm/main_0205E48C.o Object src/main_0205E954.o Object asm/main_0205E984.o Object src/main_0205EAC8.o diff --git a/src/main_0205E288.c b/src/main_0205E288.c index bb5f0130..35d9a164 100644 --- a/src/main_0205E288.c +++ b/src/main_0205E288.c @@ -86,3 +86,22 @@ bool8 sub_0205E3F8(struct unkStruct_0205E3F8 *src, s32 limit, struct unkStruct_0 return TRUE; } + +s32 sub_0205E448(s32 arg0, struct mission* arg1) +{ + int ret = 0; + for (int i = 0; i < arg0; i++) { + u8 flag; + if (!arg1[i].status) { + flag = 1; + } else { + flag = 0; + } + + if (!flag) { + ret++; + } + } + + return ret; +} diff --git a/src/main_0205E954.c b/src/main_0205E954.c index d87d4d6a..cd004758 100644 --- a/src/main_0205E954.c +++ b/src/main_0205E954.c @@ -1,10 +1,9 @@ #include "main_0205E954.h" +#include "main_0205E288.h" #include "mission.h" extern struct mission_deliver_list MISSION_DELIVER_LIST_PTR; -extern s32 sub_0205E448(u32 a0, struct mission* mission); - s32 sub_0205E954(void) { return sub_0205E448(8, (struct mission*) MISSION_DELIVER_LIST_PTR.unk18); diff --git a/src/main_0205EAC8.c b/src/main_0205EAC8.c index 0fc47e1b..8662ac3d 100644 --- a/src/main_0205EAC8.c +++ b/src/main_0205EAC8.c @@ -1,8 +1,7 @@ #include "main_0205EAC8.h" +#include "main_0205E288.h" #include "mission.h" -extern s32 sub_0205E448(u32 a, struct mission *mission); - extern struct mission_deliver_list MISSION_DELIVER_LIST_PTR; s32 sub_0205EAC8(void) diff --git a/src/main_0205ED84.c b/src/main_0205ED84.c index c36b168c..6a505bb5 100644 --- a/src/main_0205ED84.c +++ b/src/main_0205ED84.c @@ -1,8 +1,7 @@ #include "main_0205ED84.h" +#include "main_0205E288.h" #include "mission.h" -extern s32 sub_0205E448(u32 a0, struct mission* mission); - extern struct mission_deliver_list MISSION_DELIVER_LIST_PTR; s32 CountJobListMissions(void)