diff options
-rw-r--r-- | asm/fame_checker.s | 118 | ||||
-rw-r--r-- | include/field_map_obj.h | 1 | ||||
-rw-r--r-- | include/scanline_effect.h | 6 | ||||
-rw-r--r-- | src/fame_checker.c | 43 |
4 files changed, 50 insertions, 118 deletions
diff --git a/asm/fame_checker.s b/asm/fame_checker.s index f04455117..37bce8ba5 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -5,124 +5,6 @@ .text - thumb_func_start sub_812D558 -sub_812D558: @ 812D558 - push {lr} - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl dp13_810BB8C - bl ResetPaletteFade - movs r0, 0 - bl npc_paltag_set_load - ldr r1, _0812D580 @ =gReservedSpritePaletteCount - movs r0, 0x7 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0812D580: .4byte gReservedSpritePaletteCount - thumb_func_end sub_812D558 - - thumb_func_start sub_812D584 -sub_812D584: @ 812D584 - push {lr} - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_812D584 - - thumb_func_start sub_812D594 -sub_812D594: @ 812D594 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_812D594 - - thumb_func_start sub_812D5EC -sub_812D5EC: @ 812D5EC - push {r4-r6,lr} - ldr r1, _0812D638 @ =gUnknown_20370C0 - ldrh r0, [r1] - cmp r0, 0xF - bhi _0812D632 - ldr r5, _0812D63C @ =gSpecialVar_0x8005 - ldrh r0, [r5] - cmp r0, 0x5 - bhi _0812D632 - ldr r0, _0812D640 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r1] - lsls r0, 2 - adds r2, r0 - ldr r0, _0812D644 @ =0x00003a54 - adds r2, r0 - ldrh r3, [r2] - lsls r0, r3, 18 - lsrs r0, 20 - movs r4, 0x1 - adds r1, r4, 0 - ldrh r6, [r5] - lsls r1, r6 - orrs r1, r0 - ldr r6, _0812D648 @ =0x00000fff - adds r0, r6, 0 - ands r1, r0 - lsls r1, 2 - ldr r0, _0812D64C @ =0xffffc003 - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - strh r4, [r5] - bl sub_812D650 -_0812D632: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812D638: .4byte gUnknown_20370C0 -_0812D63C: .4byte gSpecialVar_0x8005 -_0812D640: .4byte gSaveBlock1Ptr -_0812D644: .4byte 0x00003a54 -_0812D648: .4byte 0x00000fff -_0812D64C: .4byte 0xffffc003 - thumb_func_end sub_812D5EC - thumb_func_start sub_812D650 sub_812D650: @ 812D650 push {r4,lr} diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 685701e89..d2ec58979 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -87,6 +87,7 @@ u8 sub_80634F0(u8 direction); u8 sub_8063500(u8 a0); void sub_805F060(struct MapObject *mapObject, u8 a1); u8 sub_805EB44(u8, u8, s16, s16); +void npc_paltag_set_load(u8 mode); // Exported data declarations diff --git a/include/scanline_effect.h b/include/scanline_effect.h new file mode 100644 index 000000000..d49f5b4d6 --- /dev/null +++ b/include/scanline_effect.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SCANLINE_EFFECT_H +#define GUARD_SCANLINE_EFFECT_H + +void remove_some_task(void); + +#endif //GUARD_SCANLINE_EFFECT_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 543fd8b87..d309e59a3 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -2,9 +2,12 @@ #include "constants/songs.h" #include "sprite.h" #include "bg.h" +#include "event_data.h" #include "graphics.h" #include "battle_setup.h" #include "menu.h" +#include "battle_dome_cards.h" +#include "scanline_effect.h" #include "new_menu_helpers.h" #include "item_menu.h" #include "list_menu.h" @@ -79,6 +82,7 @@ void sub_812D420(void); void sub_812D558(void); void sub_812D584(void); void sub_812D594(void); +void sub_812D650(void); bool8 sub_812D6B4(void); void sub_812D70C(void); u8 sub_812D724(s16 a0); @@ -699,3 +703,42 @@ void sub_812D420(void) SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); } + +void sub_812D558(void) +{ + remove_some_task(); + ResetTasks(); + ResetSpriteData(); + dp13_810BB8C(); + ResetPaletteFade(); + npc_paltag_set_load(0); + gReservedSpritePaletteCount = 7; + +} + +void sub_812D584(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON); +} + +void sub_812D594(void) +{ + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); +} + +void sub_812D5EC(void) +{ + if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 6) + { + gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_2 |= (1 << gSpecialVar_0x8005); + gSpecialVar_0x8005 = 1; + sub_812D650(); + } +} |