diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-24 23:41:08 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-24 23:41:08 -0500 |
commit | b09bbc65bed4716bc944306f64b89301dcaaffe6 (patch) | |
tree | 13c75c21f1cad3be0322a1a88f491bab331cd87f | |
parent | 8f9ec933264a3ecfe204b653c508feacde3c976d (diff) |
through sub_812D174
-rw-r--r-- | asm/fame_checker.s | 121 | ||||
-rw-r--r-- | src/fame_checker.c | 43 |
2 files changed, 43 insertions, 121 deletions
diff --git a/asm/fame_checker.s b/asm/fame_checker.s index a99054d8b..49226ae15 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,127 +5,6 @@ .text - thumb_func_start sub_812D0C0 -sub_812D0C0: @ 812D0C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0xAF - lsls r0, 1 - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812D0EA - cmp r4, 0x9 - bne _0812D0DE - movs r0, 0xF - b _0812D0EC -_0812D0DE: - cmp r4, 0x9 - bls _0812D0EA - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0812D0EC -_0812D0EA: - adds r0, r4, 0 -_0812D0EC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812D0C0 - - thumb_func_start sub_812D0F4 -sub_812D0F4: @ 812D0F4 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0812D164 @ =gUnknown_841E5A4 - cmp r0, 0 - beq _0812D10A - ldr r5, _0812D168 @ =gUnknown_841E5D2 - cmp r0, 0x1 - bne _0812D10A - ldr r5, _0812D16C @ =gUnknown_841E5B9 -_0812D10A: - movs r0, 0 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - movs r0, 0xC0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x44 - negs r0, r0 - adds r2, r0, 0 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - ldr r0, _0812D170 @ =gUnknown_845F5E0 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - str r5, [sp, 0x10] - movs r0, 0x1 - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParametrized2 - movs r0, 0x1 - bl sub_812CEE0 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812D164: .4byte gUnknown_841E5A4 -_0812D168: .4byte gUnknown_841E5D2 -_0812D16C: .4byte gUnknown_841E5B9 -_0812D170: .4byte gUnknown_845F5E0 - thumb_func_end sub_812D0F4 - - thumb_func_start sub_812D174 -sub_812D174: @ 812D174 - push {r4,lr} - movs r4, 0 -_0812D178: - ldr r0, _0812D1A0 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0x1D - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812D1A4 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812D178 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D1A0: .4byte gUnknown_203B0FC -_0812D1A4: .4byte gSprites - thumb_func_end sub_812D174 - thumb_func_start sub_812D1A8 sub_812D1A8: @ 812D1A8 push {r4-r7,lr} diff --git a/src/fame_checker.c b/src/fame_checker.c index bb2fe29b5..ed7544d98 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -3,6 +3,8 @@ #include "sprite.h" #include "bg.h" #include "graphics.h" +#include "battle_setup.h" +#include "menu.h" #include "new_menu_helpers.h" #include "item_menu.h" #include "list_menu.h" @@ -98,9 +100,13 @@ void sub_812E178(u8 a0, s16 a1); void sub_812E4A4(u8 a0); extern const u8 gUnknown_84181E4[]; +extern const u8 gUnknown_841E5A4[]; +extern const u8 gUnknown_841E5B9[]; +extern const u8 gUnknown_841E5D2[]; extern const u16 gUnknown_845C600[]; extern const u8 *const gUnknown_845F63C[]; +extern const struct TextColor gUnknown_845F5E0; extern const u8 *const gUnknown_845F6BC[]; extern const struct BgTemplate gUnknown_845FBF4[4]; extern const struct SpriteSheet gUnknown_845FB9C[]; @@ -558,3 +564,40 @@ void sub_812D094(u8 windowId) CopyWindowToVram(windowId, 2); RemoveWindow(windowId); } + +u8 sub_812D0C0(u8 a0) +{ + if (HasTrainerAlreadyBeenFought(0x15e) == TRUE) + { + if (a0 == 9) + return 15; + if (a0 > 9) + return a0 - 1; + } + return a0; +} + +void sub_812D0F4(u8 a0) +{ + const u8 * r5 = gUnknown_841E5A4; + s32 width; + if (a0 != 0) + { + r5 = gUnknown_841E5D2; + if (a0 == 1) + r5 = gUnknown_841E5B9; + } + width = GetStringWidth(0, r5, 0); + FillWindowPixelRect(1, 0x00, 0, 0, 0xc0, 0x10); + AddTextPrinterParametrized2(1, 0, 188 - width, 0, 0, 2, &gUnknown_845F5E0, -1, r5); + sub_812CEE0(1); +} + +void sub_812D174(void) +{ + u8 r4; + for (r4 = 0; r4 < 6; r4++) + { + DestroySprite(&gSprites[gUnknown_203B0FC->unk_1D[r4]]); + } +} |