diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-24 12:22:36 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-24 12:22:36 -0500 |
commit | 351ee943db92ac091197512921a0e58b286b7bb4 (patch) | |
tree | 2c1e38190401f9f218b411c5af63ed778c661258 | |
parent | fecda40501d39c633435fe2777ebc93d92233ca1 (diff) |
Fame Checker START
-rw-r--r-- | asm/fame_checker.s | 57 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/fame_checker.c | 51 |
3 files changed, 52 insertions, 57 deletions
diff --git a/asm/fame_checker.s b/asm/fame_checker.s index 9e352e8ae..d0236d696 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,63 +5,6 @@ .text - thumb_func_start sub_812C380 -sub_812C380: @ 812C380 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_812C380 - - thumb_func_start sub_812C394 -sub_812C394: @ 812C394 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_812C394 - - thumb_func_start sub_812C3AC -sub_812C3AC: @ 812C3AC - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0 - bl SetVBlankCallback - ldr r4, _0812C3F0 @ =gUnknown_203B0FC - movs r0, 0x24 - bl AllocZeroed - str r0, [r4] - str r5, [r0] - movs r1, 0 - strb r1, [r0, 0x9] - ldr r0, [r4] - strb r1, [r0, 0xA] - ldr r0, [r4] - strb r1, [r0, 0xB] - ldr r1, [r4] - adds r1, 0x23 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0xC7 - bl PlaySE - ldr r0, _0812C3F4 @ =sub_812C3F8 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812C3F0: .4byte gUnknown_203B0FC -_0812C3F4: .4byte sub_812C3F8 - thumb_func_end sub_812C3AC - thumb_func_start sub_812C3F8 sub_812C3F8: @ 812C3F8 push {r4-r6,lr} diff --git a/ld_script.txt b/ld_script.txt index 67f21c48f..e821a34ca 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -226,6 +226,7 @@ SECTIONS { asm/union_room_chat.o(.text); asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); + src/fame_checker.o(.text); asm/fame_checker.o(.text); asm/menu2.o(.text); asm/oak_speech.o(.text); diff --git a/src/fame_checker.c b/src/fame_checker.c new file mode 100644 index 000000000..889b96214 --- /dev/null +++ b/src/fame_checker.c @@ -0,0 +1,51 @@ +#include "global.h" +#include "constants/songs.h" +#include "palette.h" +#include "task.h" +#include "malloc.h" +#include "main.h" +#include "sound.h" + +struct FameCheckerData +{ + u32 unk_00; + u8 filler_04[5]; + u8 unk_09; + u8 unk_0A; + u8 unk_0B; + u8 filler_0C[23]; + u8 unk_23_0:1; + u8 unk_23_1:7; +}; + +EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL; + +void sub_812C3F8(void); + +void sub_812C380(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_812C394(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_812C3AC(u32 a0) +{ + SetVBlankCallback(NULL); + gUnknown_203B0FC = AllocZeroed(sizeof(struct FameCheckerData)); + gUnknown_203B0FC->unk_00 = a0; + gUnknown_203B0FC->unk_09 = 0; + gUnknown_203B0FC->unk_0A = 0; + gUnknown_203B0FC->unk_0B = 0; + gUnknown_203B0FC->unk_23_0 = FALSE; + PlaySE(SE_W202); + SetMainCallback2(sub_812C3F8); +} |