diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-11-23 15:22:16 -0600 |
---|---|---|
committer | Seth Barberee <seth.barberee@gmail.com> | 2020-11-23 15:22:16 -0600 |
commit | 2582d7a8680e32493403d484c1990e1a63fb2015 (patch) | |
tree | 1994f24742ed525d9fcc7f5e31617f01e08f41c4 /src | |
parent | fc7f14ab66ff8e23cd758a9435f8ac48e99ae75f (diff) |
isemi-identified VRAM and split personality test funcs
Diffstat (limited to 'src')
-rw-r--r-- | src/code_8027C84.c | 25 | ||||
-rw-r--r-- | src/code_809747C.c | 81 | ||||
-rw-r--r-- | src/personality_test.c | 25 |
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]; +} + + |