summaryrefslogtreecommitdiff
path: root/src/berry_fix_program.c
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-18 14:07:34 -0400
committerscnorton <scnorton@biociphers.org>2017-09-18 14:07:34 -0400
commit0e2d84f24d22b6ec47e6adf32bc5f4d6b4c6289b (patch)
treeeaec27b046ce6dc0acfae2a7bf6572c1af3179b2 /src/berry_fix_program.c
parent39e6bdf094ac1b53109782c9b5b98c211bbe3149 (diff)
Remaining functions
Diffstat (limited to 'src/berry_fix_program.c')
-rw-r--r--src/berry_fix_program.c86
1 files changed, 24 insertions, 62 deletions
diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c
index 6f4c1c79e..e4ec0d8c4 100644
--- a/src/berry_fix_program.c
+++ b/src/berry_fix_program.c
@@ -32,7 +32,7 @@ static void sub_81BF3DC(void);
static void sub_81BF5A4(void);
static int sub_81BF7A4(int);
static void sub_81BF7E8(int);
-void sub_81BF8D8(int);
+static void sub_81BF8D8(void);
// .rodata
@@ -184,31 +184,6 @@ static void sub_81BF5A4(void)
CopyWindowToVram(0, 2);
}
-static int sub_81BF7A4(int checkval)
-{
- int retval;
-
- retval = gUnknown_030012B8->unk1;
- if (retval == checkval)
- {
- retval = checkval;
- }
- else
- {
- if (retval == 6)
- {
- sub_81BF7E8(checkval);
- gUnknown_030012B8->unk1 = checkval;
- }
- else
- {
- sub_81BF8D8(gUnknown_030012B8->unk1);
- gUnknown_030012B8->unk1 = 6;
- }
- retval = gUnknown_030012B8->unk1;
- }
- return retval;
-}
#else
__attribute__((naked)) static void sub_81BF5A4(void)
{
@@ -416,45 +391,26 @@ __attribute__((naked)) static void sub_81BF5A4(void)
"\t.pool\n"
".syntax divided");
}
+#endif
-__attribute__((naked)) static int sub_81BF7A4(int checkval)
+static int sub_81BF7A4(int checkval)
{
- asm(".syntax unified\n"
- "\tpush {r4,r5,lr}\n"
- "\tadds r4, r0, 0\n"
- "\tldr r5, =gUnknown_030012B8\n"
- "\tldr r0, [r5]\n"
- "\tldrb r0, [r0, 0x1]\n"
- "\tcmp r0, r4\n"
- "\tbne _081BF7BC\n"
- "\tadds r0, r4, 0\n"
- "\tb _081BF7DC\n"
- "\t.pool\n"
- "_081BF7BC:\n"
- "\tcmp r0, 0x6\n"
- "\tbne _081BF7CC\n"
- "\tadds r0, r4, 0\n"
- "\tbl sub_81BF7E8\n"
- "\tldr r0, [r5]\n"
- "\tstrb r4, [r0, 0x1]\n"
- "\tb _081BF7D6\n"
- "_081BF7CC:\n"
- "\tbl sub_81BF8D8\n"
- "\tldr r1, [r5]\n"
- "\tmovs r0, 0x6\n"
- "\tstrb r0, [r1, 0x1]\n"
- "_081BF7D6:\n"
- "\tldr r0, =gUnknown_030012B8\n"
- "\tldr r0, [r0]\n"
- "\tldrb r0, [r0, 0x1]\n"
- "_081BF7DC:\n"
- "\tpop {r4,r5}\n"
- "\tpop {r1}\n"
- "\tbx r1\n"
- "\t.pool\n"
- ".syntax divided");
+ if (gUnknown_030012B8->unk1 == checkval)
+ {
+ return checkval;
+ }
+ if (gUnknown_030012B8->unk1 == 6)
+ {
+ sub_81BF7E8(checkval);
+ gUnknown_030012B8->unk1 = checkval;
+ }
+ else
+ {
+ sub_81BF8D8();
+ gUnknown_030012B8->unk1 = 6;
+ }
+ return gUnknown_030012B8->unk1;
}
-#endif
static void sub_81BF7E8(int scene)
{
@@ -485,3 +441,9 @@ static void sub_81BF7E8(int scene)
ShowBg(0);
ShowBg(1);
}
+
+static void sub_81BF8D8()
+{
+ HideBg(0);
+ HideBg(1);
+}