diff options
author | camthesaxman <cameronghall@cox.net> | 2017-06-07 12:00:57 -0500 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-06-07 12:00:57 -0500 |
commit | 5d4a042fa654930450f73f0af3abf14df2daf2ef (patch) | |
tree | ce7d18e30b339d1e510dc8f253dedab47c56e83d | |
parent | eb492eb014397ce2b9933e024bea62a32db5fc5d (diff) |
decompile sub_811F9D0
-rw-r--r-- | asm/battle_811DA74.s | 65 | ||||
-rw-r--r-- | src/battle_811DA74.c | 23 |
2 files changed, 22 insertions, 66 deletions
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s index b31b05366..bf02e6422 100644 --- a/asm/battle_811DA74.s +++ b/asm/battle_811DA74.s @@ -6,71 +6,6 @@ .text - thumb_func_start sub_811F9D0 -sub_811F9D0: @ 811F9D0 - push {r4-r6,lr} - ldr r1, _0811FA00 @ =gUnknown_02023A60 - ldr r6, _0811FA04 @ =gUnknown_02024A60 - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _0811FA14 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _0811FA08 @ =0x02017810 - adds r0, r1 - strb r3, [r0, 0x4] - ldr r1, _0811FA0C @ =gUnknown_03004330 - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811FA10 @ =sub_811FA5C - str r1, [r0] - b _0811FA4A - .align 2, 0 -_0811FA00: .4byte gUnknown_02023A60 -_0811FA04: .4byte gUnknown_02024A60 -_0811FA08: .4byte 0x02017810 -_0811FA0C: .4byte gUnknown_03004330 -_0811FA10: .4byte sub_811FA5C -_0811FA14: - ldr r5, _0811FA50 @ =gUnknown_02024BE0 - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0811FA54 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, _0811FA58 @ =gUnknown_03004340 - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl dp01_tbl3_exec_completed -_0811FA4A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811FA50: .4byte gUnknown_02024BE0 -_0811FA54: .4byte gSprites -_0811FA58: .4byte gUnknown_03004340 - thumb_func_end sub_811F9D0 - thumb_func_start sub_811FA5C sub_811FA5C: @ 811FA5C push {r4,r5,lr} diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c index 0bef8b3af..1cb2d620e 100644 --- a/src/battle_811DA74.c +++ b/src/battle_811DA74.c @@ -21,7 +21,11 @@ struct UnknownStruct2 { u8 unk0; u8 unk1; - u8 filler2[7]; + //u8 filler2[7]; + u8 filler2[2]; + u8 unk4; + u8 filler5[4]; + u8 unk9; u8 fillerA[2]; }; @@ -87,6 +91,7 @@ void dp01_tbl3_exec_completed(void); u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *b); void sub_811EC68(u8); void sub_811F864(u8, u8); +void sub_811FA5C(void); void nullsub_74(void) { @@ -999,3 +1004,19 @@ void sub_811F864(u8 a, u8 b) gSprites[gUnknown_02024BE0[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data0 = sub_8046400(0, 0xFF); } + +void sub_811F9D0(void) +{ + if (gUnknown_02023A60[gUnknown_02024A60][1] == 0) + { + EWRAM_17810[gUnknown_02024A60].unk4 = 0; + gUnknown_03004330[gUnknown_02024A60] = sub_811FA5C; + } + else + { + FreeSpriteOamMatrix(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); + DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); + sub_8043DB0(gUnknown_03004340[gUnknown_02024A60]); + dp01_tbl3_exec_completed(); + } +} |