summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/fame_checker.s118
-rw-r--r--include/field_map_obj.h1
-rw-r--r--include/scanline_effect.h6
-rw-r--r--src/fame_checker.c43
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();
+ }
+}