summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-11-23 15:22:16 -0600
committerSeth Barberee <seth.barberee@gmail.com>2020-11-23 15:22:16 -0600
commit2582d7a8680e32493403d484c1990e1a63fb2015 (patch)
tree1994f24742ed525d9fcc7f5e31617f01e08f41c4 /src
parentfc7f14ab66ff8e23cd758a9435f8ac48e99ae75f (diff)
isemi-identified VRAM and split personality test funcs
Diffstat (limited to 'src')
-rw-r--r--src/code_8027C84.c25
-rw-r--r--src/code_809747C.c81
-rw-r--r--src/personality_test.c25
3 files changed, 106 insertions, 25 deletions
diff --git a/src/code_8027C84.c b/src/code_8027C84.c
deleted file mode 100644
index e21400c..0000000
--- a/src/code_8027C84.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "global.h"
-
-extern u8 gUnknown_80F42D0[];
-extern u8 gUnknown_80F42F0[];
-extern u8 gUnknown_203B408;
-
-u8 sub_803D0D8()
-{
- return gUnknown_203B408;
-}
-
-void sub_803D0E4(u8 r0)
-{
- gUnknown_203B408 = r0;
-}
-
-u8 sub_803D0F0(u8 r0)
-{
- return gUnknown_80F42F0[r0];
-}
-
-u8 sub_803D100(u8 r0)
-{
- return gUnknown_80F42D0[r0];
-}
diff --git a/src/code_809747C.c b/src/code_809747C.c
new file mode 100644
index 0000000..56e057e
--- /dev/null
+++ b/src/code_809747C.c
@@ -0,0 +1,81 @@
+#include "global.h"
+#include "dungeon.h"
+
+extern u32 *gStoryMissionText[];
+extern const u8 gDummyScenarioText;
+extern u32 gUnknown_8109CC0;
+extern u8 sub_80A270C();
+extern void sub_80015C0(u8, u8);
+
+const u8 *sub_809747C(s16 r0)
+{
+ if(r0 == 0xD)
+ {
+ return &gDummyScenarioText;
+ }
+ else
+ {
+ return GetDungeonName1(sub_80A270C());
+ }
+}
+
+const u8 *sub_80974A0(s16 r0)
+{
+ if(r0 == 0xD)
+ {
+ return &gDummyScenarioText;
+ }
+ else
+ {
+ return GetDungeonName1(sub_80A270C());
+ }
+}
+
+#ifndef NONMATCHING
+NAKED
+#endif
+u32 *sub_80974C4(s16 r0)
+{
+#ifdef NONMATCHING
+ // TODO fix regswap memes of r0/r1
+ if(r0 <= 0x1E)
+ {
+ return gStoryMissionText[(r0 << 1)];
+ }
+ else
+ {
+ return &gUnknown_8109CC0;
+ }
+#else
+ asm_unified("\tpush {lr}\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r0, 16\n"
+ "\tcmp r0, 0x1E\n"
+ "\tble _080974D8\n"
+ "\tldr r0, _080974D4\n"
+ "\tb _080974E0\n"
+ "\t.align 2, 0\n"
+"_080974D4: .4byte gUnknown_8109CC0\n"
+"_080974D8:\n"
+ "\tlsls r0, 3\n"
+ "\tldr r1, _080974E4\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+"_080974E0:\n"
+ "\tpop {r1}\n"
+ "\tbx r1\n"
+ "\t.align 2, 0\n"
+"_080974E4: .4byte gStoryMissionText");
+
+#endif
+}
+
+void sub_80974E8(void)
+{
+ sub_80015C0(0, 0x2E);
+ sub_80015C0(0, 0x2F);
+}
+
+void nullsub_208(void)
+{
+}
diff --git a/src/personality_test.c b/src/personality_test.c
index bac1b89..c0562e4 100644
--- a/src/personality_test.c
+++ b/src/personality_test.c
@@ -28,3 +28,28 @@ const u16 gPartners[10] =
SPECIES_MUDKIP
};
+extern u8 gUnknown_80F42D0[];
+extern u8 gUnknown_80F42F0[];
+extern u8 gUnknown_203B408;
+
+u8 sub_803D0D8()
+{
+ return gUnknown_203B408;
+}
+
+void sub_803D0E4(u8 r0)
+{
+ gUnknown_203B408 = r0;
+}
+
+u8 sub_803D0F0(u8 r0)
+{
+ return gUnknown_80F42F0[r0];
+}
+
+u8 sub_803D100(u8 r0)
+{
+ return gUnknown_80F42D0[r0];
+}
+
+