Skip to content

Commit

Permalink
thru sub_02055900
Browse files Browse the repository at this point in the history
  • Loading branch information
PikalaxALT committed Aug 16, 2023
1 parent 08cfde8 commit c2770e2
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 197 deletions.
190 changes: 1 addition & 189 deletions asm/unk_020557E0.s
Original file line number Diff line number Diff line change
Expand Up @@ -3,198 +3,10 @@
.include "global.inc"

.extern _021D4178
.extern sub_02055900

.text

; thumb_func_start sub_020557E0
; sub_020557E0: ; 0x020557E0
; mov r2, #0
; ldr r3, _020557F4 ; =_021D4178
; add r1, r2, #0
; _020557E6:
; add r0, r3, r2
; add r0, #0x30
; add r2, r2, #1
; strb r1, [r0]
; cmp r2, #6
; blt _020557E6
; bx lr
; .balign 4, 0
; _020557F4: .word _021D4178
; thumb_func_end sub_020557E0

; thumb_func_start sub_020557F8
; sub_020557F8: ; 0x020557F8
; push {r4, lr}
; ldr r1, _02055820 ; =_021D4178
; add r4, r0, #0
; mov r0, #0
; mov r2, #0x4c
; bl MIi_CpuClearFast
; ldr r1, _02055820 ; =_021D4178
; add r0, r4, #0
; bl sub_0205592C
; ldr r0, _02055820 ; =_021D4178
; bl sub_020559D0
; bl GF_RTC_DateTimeToSec
; ldr r2, _02055824 ; =_021D4178
; str r0, [r2, #0x40]
; str r1, [r2, #0x44]
; pop {r4, pc}
; .balign 4, 0
; _02055820: .word _021D4178
; _02055824: .word _021D4178
; thumb_func_end sub_020557F8

; thumb_func_start sub_02055828
; sub_02055828: ; 0x02055828
; push {r3, r4, r5, lr}
; ldr r0, [r0, #0xc]
; ldr r4, _0205586C ; =_021D4178
; bl Save_GameStats_Get
; add r5, r0, #0
; bl GF_RTC_DateTimeToSec
; add r3, r1, #0
; ldr r1, _02055870 ; =_021D4178
; add r2, r0, #0
; ldr r0, [r1, #0x40]
; ldr r1, [r1, #0x44]
; bl GF_RTC_TimeDelta
; mov r2, #0xfa
; mov r3, #0
; lsl r2, r2, #2
; sub r2, r0, r2
; sbc r1, r3
; bge _0205585C
; mov r1, #0xfa
; lsl r1, r1, #2
; sub r0, r1, r0
; lsl r0, r0, #1
; b _0205585E
; _0205585C:
; mov r0, #0
; _0205585E:
; str r0, [r4, #0x48]
; add r0, r5, #0
; mov r1, #0x11
; bl GameStats_AddSpecial
; pop {r3, r4, r5, pc}
; nop
; _0205586C: .word _021D4178
; _02055870: .word _021D4178
; thumb_func_end sub_02055828

thumb_func_start sub_02055874
sub_02055874: ; 0x02055874
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _02055898 ; =_021D4178
add r4, r1, #0
add r6, r2, #0
bl sub_020559E8
cmp r0, #1
bne _02055894
ldr r1, _02055898 ; =_021D4178
add r0, r5, #0
add r2, r4, #0
add r3, r6, #0
bl sub_02055A48
pop {r4, r5, r6, pc}
_02055894:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02055898: .word _021D4178
thumb_func_end sub_02055874

thumb_func_start sub_0205589C
sub_0205589C: ; 0x0205589C
ldr r3, _020558A4 ; =sub_02055B1C
ldr r1, _020558A8 ; =_021D4178
bx r3
nop
_020558A4: .word sub_02055B1C
_020558A8: .word _021D4178
thumb_func_end sub_0205589C

thumb_func_start sub_020558AC
sub_020558AC: ; 0x020558AC
ldr r3, _020558B4 ; =sub_02055AF4
ldr r2, _020558B8 ; =_021D4178
bx r3
nop
_020558B4: .word sub_02055AF4
_020558B8: .word _021D4178
thumb_func_end sub_020558AC

thumb_func_start sub_020558BC
sub_020558BC: ; 0x020558BC
push {r3, lr}
ldr r0, _020558CC ; =_021D4178
bl sub_020559B4
mov r1, #6
sub r0, r1, r0
pop {r3, pc}
nop
_020558CC: .word _021D4178
thumb_func_end sub_020558BC

thumb_func_start sub_020558D0
sub_020558D0: ; 0x020558D0
ldr r3, _020558D8 ; =sub_02055B68
ldr r0, _020558DC ; =_021D4178
bx r3
nop
_020558D8: .word sub_02055B68
_020558DC: .word _021D4178
thumb_func_end sub_020558D0

thumb_func_start sub_020558E0
sub_020558E0: ; 0x020558E0
ldr r3, _020558E8 ; =sub_02055BEC
ldr r0, _020558EC ; =_021D4178
bx r3
nop
_020558E8: .word sub_02055BEC
_020558EC: .word _021D4178
thumb_func_end sub_020558E0

thumb_func_start sub_020558F0
sub_020558F0: ; 0x020558F0
ldr r3, _020558F8 ; =sub_02055B7C
ldr r0, _020558FC ; =_021D4178
bx r3
nop
_020558F8: .word sub_02055B7C
_020558FC: .word _021D4178
thumb_func_end sub_020558F0

thumb_func_start sub_02055900
sub_02055900: ; 0x02055900
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
cmp r5, #0
beq _02055910
ldr r0, _02055928 ; =0x000001ED
cmp r5, r0
bls _02055914
_02055910:
bl GF_AssertFail
_02055914:
mov r3, #6
add r0, r4, #0
sub r4, r5, #1
str r3, [sp]
mov r1, #0x7d
mov r2, #0
mul r3, r4
bl ReadFromNarcMemberByIdPair
pop {r3, r4, r5, pc}
.balign 4, 0
_02055928: .word 0x000001ED
thumb_func_end sub_02055900

thumb_func_start sub_0205592C
sub_0205592C: ; 0x0205592C
push {r3, r4, r5, r6, r7, lr}
Expand Down
1 change: 1 addition & 0 deletions include/battle_setup.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,6 @@ BATTLE_SETUP *BattleSetup_New(HeapID heapId, u32 battleFlags);
void sub_020522F0(BATTLE_SETUP *setup, FieldSystem *fsys, void *a1);
void sub_02051F2C(BATTLE_SETUP *setup, FieldSystem *fsys, int level);
void sub_020520B0(BATTLE_SETUP *setup, FieldSystem *fsys, PARTY *party, void *a4);
BATTLE_SETUP* sub_02051A98(HeapID heapId, int a1);

#endif //POKEHEARTGOLD_BATTLE_SETUP_H
2 changes: 2 additions & 0 deletions include/unk_020557E0.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ void sub_0202EC70(struct UnkStruct_0202EB30 *a0, int i, Pokemon *mon);
int sub_020558D0(FieldSystem *fsys);
int sub_020558E0(FieldSystem *fsys);
int sub_020558F0(FieldSystem *fsys);
BOOL sub_02055874(FieldSystem* fsys, int x, int y);
BATTLE_SETUP* sub_0205589C(FieldSystem* fsys);
void sub_020558AC(FieldSystem *fsys, BATTLE_SETUP *setup);
int sub_020558BC(FieldSystem *fsys);

Expand Down
65 changes: 57 additions & 8 deletions src/unk_020557E0_c.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,18 @@
#include "field_system.h"
#include "gf_rtc.h"
#include "game_stats.h"
#include "battle_setup.h"
#include "constants/game_stat.h"
#include "unk_020557E0.h"

struct UnkStruct_021D4178_sub {
u8 filler_0[4];
u16 unk_4;
u8 filler_6[2];
};

struct UnkStruct_021D4178 {
u8 filler_00[0x30];
struct UnkStruct_021D4178_sub unk_00[6];
u8 unk_30[6];
u8 filler_36[0xA];
s64 timestamp;
Expand All @@ -14,14 +22,19 @@ struct UnkStruct_021D4178 {

struct UnkStruct_021D4178 _021D4178;

extern void sub_0205592C(FieldSystem* fsys, struct UnkStruct_021D4178* unk);
extern void sub_020559D0(struct UnkStruct_021D4178* unk);

void sub_020557E0(void);
void sub_020557F8(FieldSystem* fsys);
void sub_02055828(FieldSystem* fsys);
void sub_02055900(u16 species, u8* dest);
void sub_0205592C(FieldSystem* fsys, struct UnkStruct_021D4178* unk);
int sub_020559B4(struct UnkStruct_021D4178* unk);
void sub_020559D0(struct UnkStruct_021D4178* unk);
BOOL sub_020559E8(struct UnkStruct_021D4178* unk);
BOOL sub_02055A48(FieldSystem* fsys, struct UnkStruct_021D4178* unk, int x, int y);
BATTLE_SETUP* sub_02055B1C(FieldSystem* fsys, struct UnkStruct_021D4178* unk);
void sub_02055AF4(FieldSystem *fsys, BATTLE_SETUP *setup, struct UnkStruct_021D4178* unk);
int sub_02055B68(struct UnkStruct_021D4178* unk);
int sub_02055BEC(struct UnkStruct_021D4178* unk);
int sub_02055B7C(struct UnkStruct_021D4178* unk);

void sub_020557E0(void) {
void sub_020557E0(FieldSystem* fsys) {
s32 i;
struct UnkStruct_021D4178* r3 = &_021D4178;
for (i = 0; i < 6; ++i) {
Expand All @@ -47,3 +60,39 @@ void sub_02055828(FieldSystem* fsys) {
}
GameStats_AddSpecial(stats, GAME_STAT_UNK17);
}

BOOL sub_02055874(FieldSystem* fsys, int x, int y) {
if (sub_020559E8(&_021D4178) == TRUE) {
return sub_02055A48(fsys, &_021D4178, x, y);
}
return FALSE;
}

BATTLE_SETUP* sub_0205589C(FieldSystem* fsys) {
return sub_02055B1C(fsys, &_021D4178);
}

void sub_020558AC(FieldSystem *fsys, BATTLE_SETUP *setup) {
return sub_02055AF4(fsys, setup, &_021D4178);
}

int sub_020558BC(FieldSystem* fsys) {
return 6 - sub_020559B4(&_021D4178);
}

int sub_020558D0(FieldSystem* fsys) {
return sub_02055B68(&_021D4178);
}

int sub_020558E0(FieldSystem *fsys) {
return sub_02055BEC(&_021D4178);
}

int sub_020558F0(FieldSystem *fsys) {
return sub_02055B7C(&_021D4178);
}

void sub_02055900(u16 species, u8* dest) {
GF_ASSERT(species != SPECIES_NONE && species <= SPECIES_ARCEUS);
ReadFromNarcMemberByIdPair(dest, NARC_a_1_2_5, 0, (species - 1) * 6, 6);
}

0 comments on commit c2770e2

Please sign in to comment.