diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-12-17 13:17:58 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 13:17:58 -0600 |
commit | 096de8d9b2ffd90c52e790296bfd7c5436d45ca3 (patch) | |
tree | 9c5af2e04dea05221c71946a5dfc06471f77801d /src/code_80118A4.c | |
parent | bc504264f1e54b3c1e482710c592e5549828bfe1 (diff) | |
parent | f90f3affeb9b0a66aa7df68f5fdecd692033faf9 (diff) |
Merge pull request #12 from SethBarberee/master
Merge work from SethBarberee/pmd-red into pret.
Diffstat (limited to 'src/code_80118A4.c')
-rw-r--r-- | src/code_80118A4.c | 268 |
1 files changed, 268 insertions, 0 deletions
diff --git a/src/code_80118A4.c b/src/code_80118A4.c new file mode 100644 index 0000000..73cb8b2 --- /dev/null +++ b/src/code_80118A4.c @@ -0,0 +1,268 @@ +#include "global.h" + +void sub_8011924(void); +void nullsub_26(void); + +extern u8 sub_80023E4(u8); +extern void sub_800BDFC(u16 r0); +extern void FadeInNewBGM(u16 r0, u16 r1); +extern void sub_800BF48(u16 r0); +extern void sub_800BF80(void); +extern void sub_800BFD0(u16 r0); +extern void sub_800C3F8(u16 r0, u16 r1); +extern void sub_801199C(u16 r0); +extern u16 sub_800C068(); +extern void sub_800C074(u16 r0, u16 r1); +extern void sub_800C298(u16 r0); +extern void sub_800C93C(); +extern u8 sub_800C5D0(u16 r0); +extern void sub_800C9CC(); + +extern void nullsub_27(void); +extern void nullsub_29(void); +extern void nullsub_30(void); +extern void nullsub_31(void); +extern void nullsub_32(void); +extern void nullsub_28(void); + +extern int sprintf(char *, const char *, ...); + +struct DebugLocation +{ + char *file; + u32 line; + char *func; +}; + + +extern u16 gUnknown_80D4144[]; +extern s16 gUnknown_202DE20; +extern s16 gUnknown_202DE22; +extern s16 gUnknown_202DE24; +extern u32 gUnknown_202DE1C; +extern u32 gUnknown_203B14C; +extern const char gNotEntryText[]; +extern const char gUnknown_80D418C[]; +extern const char gUnknown_80D41C4[]; + +void sub_8011760(void) +{ + if(sub_80023E4(0xD) != 0) + { + sub_800BDFC(0x13); + return; + } + if(sub_80023E4(0xC) != 0) + { + sub_800BDFC(0x7); // Pokemon Square Theme + } +} + +void sub_801178C(void) +{ + if(sub_80023E4(0xD) != 0) + { + sub_800BDFC(0x13); + return; + } + sub_800BDFC(0x7); // Pokemon Square Theme +} + +void sub_80117AC(void) +{ + if(sub_80023E4(0xD) == 0) + { + sub_800BFD0(0x1E); + } +} + +void sub_80117C4(void) +{ + sub_800BFD0(0x1E); +} + +void sub_80117D0(void) +{ + sub_800C074(0x97 << 1, 0x80 << 1); +} + +void sub_80117E4(void) +{ + sub_800C074(0x12f, 0x80 << 1); +} + +void sub_80117F8(void) +{ + sub_800C074(0x12d, 0x80 << 1); +} + +void sub_801180C(void) +{ + gUnknown_202DE1C = 0; + gUnknown_202DE20 = 0; + gUnknown_202DE22 = 0; + gUnknown_202DE24 = 0; +} + +void sub_8011830(void) +{ + sub_800C93C(); + gUnknown_202DE20 = 0; + gUnknown_202DE22 = 0; + gUnknown_202DE24 = 0; +} + +void sub_8011854(void) +{ + sub_800C9CC(); +} + +void sub_8011860(void) +{ + if(gUnknown_202DE20 > 0) + { + gUnknown_202DE20--; + } + if(gUnknown_202DE22 > 0) + { + gUnknown_202DE22--; + } + if(gUnknown_202DE24 > 0) + { + gUnknown_202DE24--; + } +} + +void sub_80118A4(void) +{ + sub_8011924(); + sub_801199C(0x3e6); + sub_801199C(0x3e5); +} + +void sub_80118C4(u16 r0) +{ + sub_800BFD0(r0); + sub_800C3F8(0x3e6, r0); + sub_800C3F8(0x3e5, r0); +} + +void sub_80118F0(u16 r0) +{ + sub_800BDFC(r0); +} + +void sub_8011900(u16 songIndex, u16 speed) +{ + FadeInNewBGM(songIndex, speed); +} + +void sub_8011914(u16 r0) +{ + sub_800BF48(r0); +} + +void sub_8011924() +{ + sub_800BF80(); +} + +void sub_8011930(u16 r0) +{ + sub_800BFD0(r0); +} + +u32 sub_8011940(u16 r0) +{ + u32 temp; + temp = sub_800C068(); + + if(r0 == 999) + return temp != 999; + + return temp == r0; +} + +void sub_8011974(u16 r0, u16 r1) +{ + sub_800C074(r0, r1); +} + +void sub_8011988(u16 r0) +{ + sub_800C074(r0, 0x80 << 1); +} + +void sub_801199C(u16 r0) +{ + sub_800C298(r0); +} + +void sub_80119AC(u16 r0, u16 r1) +{ + sub_800C3F8(r0, r1); +} + +u8 sub_80119C0(u16 r0) +{ + return sub_800C5D0(r0); +} + +void sub_80119D4(u32 r0) +{ + if(gUnknown_202DE20 > 0) + return; + sub_800C074(gUnknown_80D4144[r0], 0x80 << 1); + gUnknown_202DE20 = 4; +} + +void sub_8011A04(void) +{ + if(gUnknown_202DE22 > 0) + return; + gUnknown_202DE22 = 3; + sub_800C074(0x131, 0x80 << 1); +} + +void sub_8011A2C(u32 r0) +{ + gUnknown_202DE1C = r0; +} + +void NDS_DebugInit(void) +{ + nullsub_26(); + nullsub_27(); + nullsub_29(); + nullsub_30(); + nullsub_31(); + nullsub_32(); + nullsub_28(); + gUnknown_203B14C = 1; // Maybe a flag saying Debug is on? +} + +void nullsub_25(void) +{ +} + +void nullsub_26(void) +{ +} + +// Unused +void PrintFuncFileLineOrNotEntry(char * r0, struct DebugLocation *r1) +{ + if(r1 != 0) + { + sprintf(r0, gUnknown_80D418C, r1->func, r1->file, r1->line); + } + else + { + sprintf(r0, gNotEntryText); + } +} + +void PrintFuncFileLine(char *buf, struct DebugLocation *loc, char* prefix) +{ + sprintf(buf, gUnknown_80D41C4, prefix, loc->func, loc->file, loc->line); +} |