diff options
Diffstat (limited to 'src/code_80118A4_1.c')
-rw-r--r-- | src/code_80118A4_1.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/code_80118A4_1.c b/src/code_80118A4_1.c new file mode 100644 index 0000000..c2fa641 --- /dev/null +++ b/src/code_80118A4_1.c @@ -0,0 +1,69 @@ +#include "global.h" + +extern u8 gUnknown_203B150; + +void nullsub_199(void) +{ +} + +void nullsub_27(void) +{ +} + +void sub_8011B08(void) +{ + gUnknown_203B150 = 1; +} + +void sub_8011B14(void) +{ + gUnknown_203B150 = 0; +} + +#ifndef NONMATCHING +NAKED +#endif +u8 sub_8011B20(void) +{ +#ifdef NONMATCHING + // TODO figure out why I mix up my mv/ldr for these kinds of comparisons + u8 temp; + if(gUnknown_203B150 == 0) + { + temp = 1; + } + else + { + temp = 0; + } + gUnknown_203B150 = temp; + return gUnknown_203B150; +#else + asm_unified("\tpush {lr}\n" + "\tldr r1, _08011B38\n" + "\tmovs r2, 0\n" + "\tldrb r0, [r1]\n" + "\tcmp r0, 0\n" + "\tbne _08011B2E\n" + "\tmovs r2, 0x1\n" +"_08011B2E:\n" + "\tstrb r2, [r1]\n" + "\tldrb r0, [r1]\n" + "\tpop {r1}\n" + "\tbx r1\n" + "\t.align 2, 0\n" +"_08011B38: .4byte gUnknown_203B150"); +#endif +} + +// unused +u8 sub_8011B3C(void) +{ + return gUnknown_203B150; +} + +// unused +void nullsub_137(void) +{ + +} |