diff options
author | Marijn van der Werf <marijn.vanderwerf@gmail.com> | 2017-05-08 22:15:03 +0200 |
---|---|---|
committer | YamaArashi <YamaArashi@users.noreply.github.com> | 2017-05-08 14:19:49 -0700 |
commit | bb1440fde21a36209bf61160172d922e21fbef12 (patch) | |
tree | 561c4dc622abb8ebd309b8b300ca418f9c2668e6 | |
parent | 00c64ddd66d1cf733f71d4e2104ae9f12108486d (diff) |
Decompile sub_812BB10
-rw-r--r-- | asm/battle_anim_81258BC.s | 101 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rw-r--r-- | src/battle_anim_81258BC.c | 50 |
3 files changed, 53 insertions, 100 deletions
diff --git a/asm/battle_anim_81258BC.s b/asm/battle_anim_81258BC.s index 8293435d0..86abad6f3 100644 --- a/asm/battle_anim_81258BC.s +++ b/asm/battle_anim_81258BC.s @@ -1595,106 +1595,7 @@ _0812BB0C: bx r0 thumb_func_end dp01t_11_6_message_for_player_only - thumb_func_start sub_812BB10 -sub_812BB10: @ 812BB10 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _0812BBCC @ =gUnknown_030042A4 - movs r2, 0 - strh r2, [r0] - ldr r1, _0812BBD0 @ =gUnknown_030042A0 - movs r0, 0xA0 - strh r0, [r1] - ldr r4, _0812BBD4 @ =gUnknown_03004210 - movs r5, 0 - strb r2, [r4, 0x6] - movs r0, 0x1B - str r0, [sp] - movs r0, 0x12 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0x2 - movs r3, 0xF - bl FillWindowRect_DefaultPalette - movs r0, 0x10 - str r0, [sp] - movs r0, 0x24 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0x2 - movs r3, 0x23 - bl FillWindowRect_DefaultPalette - ldr r1, _0812BBD8 @ =gUnknown_03004330 - ldr r0, _0812BBDC @ =gUnknown_02024A60 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0812BBE0 @ =bx_battle_menu_t6_2 - str r1, [r0] - ldr r1, _0812BBE4 @ =gUnknown_08400D15 - movs r2, 0xC8 - lsls r2, 1 - movs r0, 0x23 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0x12 - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 - ldr r1, _0812BBE8 @ =0x0000ffff - ldr r3, _0812BBEC @ =0x00002d9f - str r5, [sp] - movs r0, 0 - movs r2, 0xC - bl sub_814A5C0 - movs r4, 0 -_0812BB84: - lsls r0, r4, 24 - lsrs r0, 24 - bl nullsub_8 - adds r4, 0x1 - cmp r4, 0x3 - ble _0812BB84 - ldr r1, _0812BBF0 @ =gUnknown_02024E60 - ldr r0, _0812BBDC @ =gUnknown_02024A60 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_802E3E4 - ldr r0, _0812BBF4 @ =gUnknown_08400CBB - bl get_battle_strings_ - ldr r4, _0812BBD4 @ =gUnknown_03004210 - ldr r1, _0812BBF8 @ =gUnknown_020238CC - movs r2, 0xDC - lsls r2, 1 - movs r0, 0x23 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0x2 - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812BBCC: .4byte gUnknown_030042A4 -_0812BBD0: .4byte gUnknown_030042A0 -_0812BBD4: .4byte gUnknown_03004210 -_0812BBD8: .4byte gUnknown_03004330 -_0812BBDC: .4byte gUnknown_02024A60 -_0812BBE0: .4byte bx_battle_menu_t6_2 -_0812BBE4: .4byte gUnknown_08400D15 -_0812BBE8: .4byte 0x0000ffff -_0812BBEC: .4byte 0x00002d9f -_0812BBF0: .4byte gUnknown_02024E60 -_0812BBF4: .4byte gUnknown_08400CBB -_0812BBF8: .4byte gUnknown_020238CC - thumb_func_end sub_812BB10 +.section .text_812BBFC thumb_func_start sub_812BBFC sub_812BBFC: @ 812BBFC diff --git a/ld_script.txt b/ld_script.txt index 7945d61a7..f1d398cf0 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -244,6 +244,8 @@ SECTIONS { asm/field_effect_helpers.o(.text); asm/contest_ai.o(.text); asm/battle_anim_81258BC.o(.text); + src/battle_anim_81258BC.o(.text); + asm/battle_anim_81258BC.o(.text_812BBFC); src/fldeff_sweetscent.o(.text); asm/battle_anim_812C144.o(.text); asm/learn_move.o(.text); diff --git a/src/battle_anim_81258BC.c b/src/battle_anim_81258BC.c new file mode 100644 index 000000000..42a685f4a --- /dev/null +++ b/src/battle_anim_81258BC.c @@ -0,0 +1,50 @@ +#include "global.h" +#include "asm.h" +#include "text.h" +#include "menu_cursor.h" + +extern struct Window gUnknown_03004210; +extern u8 gUnknown_020238CC[]; +extern u8 gUnknown_02024E60[]; + +extern const u8 gUnknown_08400CBB[]; +extern u8 gUnknown_02024A60; +extern const u8 gUnknown_08400D15[]; + +extern void* gUnknown_03004330[]; +extern u16 gUnknown_030042A0; +extern u16 gUnknown_030042A4; + +void bx_battle_menu_t6_2(void); + +#if ENGLISH +#define SUB_812BB10_TILE_DATA_OFFSET 440 +#elif GERMAN +#define SUB_812BB10_TILE_DATA_OFFSET 444 +#endif + +void sub_812BB10(void) { + int i; + + gUnknown_030042A4 = 0; + gUnknown_030042A0 = 160; + gUnknown_03004210.paletteNum = 0; + FillWindowRect_DefaultPalette(&gUnknown_03004210, 10, 2, 15, 27, 18); + FillWindowRect_DefaultPalette(&gUnknown_03004210, 10, 2, 35, 16, 36); + gUnknown_03004330[gUnknown_02024A60] = bx_battle_menu_t6_2; + + InitWindow(&gUnknown_03004210, gUnknown_08400D15, 400, 18, 35); + sub_8002F44(&gUnknown_03004210); + sub_814A5C0(0, 0xFFFF, 12, 11679, 0); + + for (i = 0; i < 4; i++) + { + nullsub_8(i); + } + + sub_802E3E4(gUnknown_02024E60[gUnknown_02024A60], 0); + get_battle_strings_((u8 *) gUnknown_08400CBB); + + InitWindow(&gUnknown_03004210, gUnknown_020238CC, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); + sub_8002F44(&gUnknown_03004210); +}
\ No newline at end of file |