From 3106e3010202441e6cb6672c95a7a113abcf1eac Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Sat, 17 Oct 2020 00:51:33 -0500 Subject: some more splitting and decomping --- src/code_8098BDC.c | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 src/code_8098BDC.c (limited to 'src/code_8098BDC.c') diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c new file mode 100644 index 0000000..bd56fb3 --- /dev/null +++ b/src/code_8098BDC.c @@ -0,0 +1,166 @@ +#include "global.h" + +extern u32 gUnknown_203B47C; + +extern void sub_809B57C(); +extern void GroundScript_Unlock(); +extern void sub_809D25C(); +extern void sub_80A59DC(); +extern void sub_809B614(); +extern void sub_809CA20(); +extern void sub_80A6E80(); +extern void sub_8099BE4(); +extern void sub_8099744(); +extern void sub_8011860(); +extern void sub_8094FB4(u32 r0); +extern void sub_800CB20(); +extern void sub_800485C(); +extern void nullsub_120(); +extern void sub_80A5E70(); +extern void sub_809B638(); +extern void nullsub_106(); +extern void sub_80A73EC(); +extern void sub_8099750(); +extern void sub_8009908(); +extern void xxx_call_update_bg_sound_input(); +extern void sub_80A6E68(); +extern void GroundMap_Action(); +extern void nullsub_124(); +extern void GroundLives_Action(); +extern void GroundObject_Action(); +extern void GroundEffect_Action(); + +extern s32 sub_8001658(u8, u8); +extern s32 sub_8001784(u8, u8, u8); +extern void sub_809CB8C(); +extern void sub_8001D88(); +extern void sub_80015C0(u8, u8); +extern void sub_80018D8(u8, u8, u32); +extern void sub_800199C(u8, u8, u8, s32); +extern void sub_8098CC8(); +extern void sub_809674C(); +extern void sub_80961B4(); +extern void sub_8091FB4(); +extern u8 sub_8001CC4(u8, u8, u8); +extern void sub_8091980(u32); + +void sub_8098BDC(void) +{ + sub_809B57C(); + GroundScript_Unlock(); + sub_809D25C(); + sub_80A59DC(); + sub_809B614(); + sub_809CA20(); + sub_80A6E80(); + sub_8099BE4(); + sub_8099744(); + sub_8011860(); + sub_8094FB4(gUnknown_203B47C); + sub_800CB20(); + sub_800485C(); + nullsub_120(); + sub_80A5E70(); + sub_809B638(); + nullsub_106(); + sub_80A73EC(); + sub_8099750(); + sub_8009908(); + xxx_call_update_bg_sound_input(); + sub_80A6E68(); + GroundMap_Action(); + nullsub_124(); + GroundLives_Action(); + GroundObject_Action(); + GroundEffect_Action(); +} + +void sub_8098C58(void) +{ + s32 temp; + sub_80015C0(0, 0x36); + sub_80015C0(0, 0x39); + sub_809CB8C(); + sub_8001D88(); + + if(sub_8001658(0, 0x2A) != 0) + { + temp = sub_8001658(0, 0x29); + temp++; + if(temp > 0xF){ + temp = 0; + } + sub_80018D8(0, 0x29, temp); + sub_80018D8(0, 0x2A, 0); + } + + // TODO this uses r2 but it should be r3 + // Else this matches so nonmatch for now +#ifdef NONMATCHING + temp = sub_8001784(0, 0x42, 0); + if(temp <= 0) + { + temp = 1; + } + sub_800199C(0, 0x42, 0, temp - 1); +#else + asm_unified("\tmovs r0, 0\n" + "\tmovs r1, 0x42\n" + "\tmovs r2, 0\n" + "\tbl sub_8001784\n" + "\tadds r3, r0, 0\n" + "\tcmp r3, 0\n" + "\tbgt _08098CB4\n" + "\tmovs r3, 0x1\n" +"_08098CB4:\n" + "\tsubs r3, 0x1\n" + "\tmovs r0, 0\n" + "\tmovs r1, 0x42\n" + "\tmovs r2, 0\n" + "\tbl sub_800199C"); +#endif + + sub_8098CC8(); +} + +void sub_8098CC8(void) +{ + u32 temp; + if(sub_8001CC4(0x3, 0xB, 0) != 0) + { + temp = 0; + } + else if(sub_8001CC4(0x3, 0xF, 0) != 0) + { + temp = 1; + } + else if(sub_8001CC4(0x3, 0x12, 0) != 0) + { + temp = 2; + } + else + { + temp = 3; + } + sub_8091980(temp); + sub_809674C(); + sub_80961B4(); + sub_8091FB4(); +} + +// TODO lsrs should be asrs on my first arg +//u8 sub_8098D1C(u16 r0, u32 r1, s32 r2) +//{ +// if(gUnknown_20398A8 == 0) +// { +// Log(0, &gUnknown_8115F5C, r0, r2); +// gUnknown_20398A8 = 1; +// gUnknown_20398AC = 1; +// gUnknown_20398B0 = r2; +// gUnknown_20398B4 = 2; +// gUnknown_20398BE = r0; +// gUnknown_20398C0 = r1; +// return 1; +// } +// return 0; +//} -- cgit v1.2.3 From 9df5bb1bcb7d7a2b2c919a18a6a91e4b336e55af Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Thu, 5 Nov 2020 22:27:43 -0600 Subject: more decomp work on some funcs --- src/code_8098BDC.c | 83 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 67 insertions(+), 16 deletions(-) (limited to 'src/code_8098BDC.c') diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c index bd56fb3..23aa716 100644 --- a/src/code_8098BDC.c +++ b/src/code_8098BDC.c @@ -1,6 +1,15 @@ #include "global.h" extern u32 gUnknown_203B47C; +extern u32 gUnknown_20398A8; +extern u32 gUnknown_8115F5C; +extern u32 gUnknown_20398AC; +extern u32 gUnknown_20398B0; +extern u32 gUnknown_20398B4; +extern u32 gUnknown_20398C0; +extern u16 gUnknown_20398BE; + +extern void Log(u32, u32*, s32, u32); extern void sub_809B57C(); extern void GroundScript_Unlock(); @@ -44,6 +53,10 @@ extern void sub_8091FB4(); extern u8 sub_8001CC4(u8, u8, u8); extern void sub_8091980(u32); +extern u8 sub_80023E4(u32); +extern void sub_80118C4(u32); +extern void sub_809C730(); + void sub_8098BDC(void) { sub_809B57C(); @@ -148,19 +161,57 @@ void sub_8098CC8(void) sub_8091FB4(); } -// TODO lsrs should be asrs on my first arg -//u8 sub_8098D1C(u16 r0, u32 r1, s32 r2) -//{ -// if(gUnknown_20398A8 == 0) -// { -// Log(0, &gUnknown_8115F5C, r0, r2); -// gUnknown_20398A8 = 1; -// gUnknown_20398AC = 1; -// gUnknown_20398B0 = r2; -// gUnknown_20398B4 = 2; -// gUnknown_20398BE = r0; -// gUnknown_20398C0 = r1; -// return 1; -// } -// return 0; -//} +bool8 sub_8098D1C(s16 r0, u32 r1, u32 r2) +{ + s32 temp; + temp = r0; // force a asr shift + if(gUnknown_20398A8 == 0) + { + Log(0, &gUnknown_8115F5C, temp, r2); + gUnknown_20398A8 = 1; + gUnknown_20398AC = 1; + gUnknown_20398B0 = r2; + gUnknown_20398B4 = 2; + gUnknown_20398BE = temp; + gUnknown_20398C0 = r1; + return TRUE; + } + return FALSE; +} + +bool8 sub_8098D80(u32 r0) +{ + if(gUnknown_20398A8 == 0) + { + gUnknown_20398A8 = 3; + gUnknown_20398AC = 1; + gUnknown_20398B0 = r0; + sub_809C730(); + if(sub_80023E4(0xD) == 0) + { + // Terrible hack but meh + sub_80118C4((r0 << 16) >> 16); + } + return TRUE; + } + return FALSE; +} + +bool8 sub_8098DCC(u32 r0) +{ + if(gUnknown_20398A8 == 0) + { + gUnknown_20398A8 = 4; + gUnknown_20398AC = 1; + gUnknown_20398B0 = r0; + sub_809C730(); + if(sub_80023E4(0xD) == 0) + { + // Terrible hack but meh + sub_80118C4((r0 << 16) >> 16); + } + return TRUE; + } + return FALSE; +} + -- cgit v1.2.3 From 31d0b3255386da62a95fcf9d89c8b6540a05406d Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Fri, 6 Nov 2020 22:34:48 -0600 Subject: Should be casting to u16 there.. Thx Kermalis for the spot --- src/code_8098BDC.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/code_8098BDC.c') diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c index 23aa716..e35500a 100644 --- a/src/code_8098BDC.c +++ b/src/code_8098BDC.c @@ -54,7 +54,7 @@ extern u8 sub_8001CC4(u8, u8, u8); extern void sub_8091980(u32); extern u8 sub_80023E4(u32); -extern void sub_80118C4(u32); +extern void sub_80118C4(u16); extern void sub_809C730(); void sub_8098BDC(void) @@ -189,8 +189,7 @@ bool8 sub_8098D80(u32 r0) sub_809C730(); if(sub_80023E4(0xD) == 0) { - // Terrible hack but meh - sub_80118C4((r0 << 16) >> 16); + sub_80118C4(r0); } return TRUE; } @@ -207,8 +206,7 @@ bool8 sub_8098DCC(u32 r0) sub_809C730(); if(sub_80023E4(0xD) == 0) { - // Terrible hack but meh - sub_80118C4((r0 << 16) >> 16); + sub_80118C4(r0); } return TRUE; } -- cgit v1.2.3 From cbfab08a06d7f9deca21b510b1bbdb80c05ea662 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Fri, 20 Nov 2020 10:33:21 -0600 Subject: finish docing PlayTime and fix function - Kermalis --- src/code_8098BDC.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/code_8098BDC.c') diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c index e35500a..b47d39c 100644 --- a/src/code_8098BDC.c +++ b/src/code_8098BDC.c @@ -1,6 +1,7 @@ #include "global.h" +#include "time.h" -extern u32 gUnknown_203B47C; +extern struct PlayTimeStruct *gUnknown_203B47C; extern u32 gUnknown_20398A8; extern u32 gUnknown_8115F5C; extern u32 gUnknown_20398AC; @@ -21,7 +22,7 @@ extern void sub_80A6E80(); extern void sub_8099BE4(); extern void sub_8099744(); extern void sub_8011860(); -extern void sub_8094FB4(u32 r0); +extern void IncrementPlayTime(struct PlayTimeStruct *Time); extern void sub_800CB20(); extern void sub_800485C(); extern void nullsub_120(); @@ -69,7 +70,7 @@ void sub_8098BDC(void) sub_8099BE4(); sub_8099744(); sub_8011860(); - sub_8094FB4(gUnknown_203B47C); + IncrementPlayTime(gUnknown_203B47C); sub_800CB20(); sub_800485C(); nullsub_120(); -- cgit v1.2.3 From db6ed3e526baf0018b47dda5a1f6a802c7763a6e Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Fri, 20 Nov 2020 18:57:36 -0600 Subject: some more work on decomping funcs --- src/code_8098BDC.c | 225 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 222 insertions(+), 3 deletions(-) (limited to 'src/code_8098BDC.c') diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c index b47d39c..2d04bf4 100644 --- a/src/code_8098BDC.c +++ b/src/code_8098BDC.c @@ -3,12 +3,22 @@ extern struct PlayTimeStruct *gUnknown_203B47C; extern u32 gUnknown_20398A8; -extern u32 gUnknown_8115F5C; extern u32 gUnknown_20398AC; extern u32 gUnknown_20398B0; extern u32 gUnknown_20398B4; +extern u8 gUnknown_20398B9; +extern u8 gUnknown_20398BA; extern u32 gUnknown_20398C0; +extern s16 gUnknown_20398C4; extern u16 gUnknown_20398BE; +extern u8 gUnknown_203B49D; +extern u8 gUnknown_203B49C; + +extern u32 gUnknown_8115F5C; +extern u32 gUnknown_8115F80; +extern u32 gUnknown_8115FA4; +extern u32 gUnknown_8115FC8; +extern u32 gUnknown_8115FE8; extern void Log(u32, u32*, s32, u32); @@ -22,7 +32,6 @@ extern void sub_80A6E80(); extern void sub_8099BE4(); extern void sub_8099744(); extern void sub_8011860(); -extern void IncrementPlayTime(struct PlayTimeStruct *Time); extern void sub_800CB20(); extern void sub_800485C(); extern void nullsub_120(); @@ -51,12 +60,13 @@ extern void sub_8098CC8(); extern void sub_809674C(); extern void sub_80961B4(); extern void sub_8091FB4(); +extern s32 sub_80A2B18(s16); extern u8 sub_8001CC4(u8, u8, u8); extern void sub_8091980(u32); extern u8 sub_80023E4(u32); extern void sub_80118C4(u16); -extern void sub_809C730(); +extern u8 sub_809C730(); void sub_8098BDC(void) { @@ -214,3 +224,212 @@ bool8 sub_8098DCC(u32 r0) return FALSE; } +#ifndef NONMATCHING +NAKED +#endif +bool8 sub_8098E18(s16 r0, u32 r1, u32 r2) +{ +#ifdef NONMATCHING + // Had to nonmatch because the prologue statements of add/lsls/lsrs didn't match + s32 temp; + s16 return_var; + temp = r0; + if(gUnknown_20398A8 == 0) + { + Log(0, &gUnknown_8115F80, temp, r2); + if(gUnknown_203B49D != 0) + { + gUnknown_20398A8 = 7; + } + else + { + if(gUnknown_203B49C == 0) + { + gUnknown_20398C4 = r2; + } + return_var = sub_80A2750(gUnknown_20398C4); + // TODO so ugly but it works.. nested if statements aren't my thing in decomping + if(return_var == 2) + { + goto _08098E88; + } + if(return_var > 2) + { + goto _08098E7C; + } + if(return_var == 1) + { + goto _08098E84; + } + else + { + goto _08098E8C; + } +_08098E7C: + if(return_var == 4) + { + gUnknown_20398A8 = 8; + goto _08098E8C; + } + else + { + goto _08098E8C; + } +_08098E84: + gUnknown_20398A8 = 5; + goto _08098E8C; +_08098E88: + gUnknown_20398A8 = 6; + } +_08098E8C: + gUnknown_20398AC = 1; + gUnknown_20398B0 = r1; + sub_809C730(); + return TRUE; + } + return FALSE; +#else + asm_unified("\tpush {r4-r6,lr}\n" + "\tadds r6, r1, 0\n" + "\tlsls r0, 16\n" + "\tasrs r2, r0, 16\n" + "\tadds r5, r2, 0\n" + "\tldr r4, _08098E40\n" + "\tldr r0, [r4]\n" + "\tcmp r0, 0\n" + "\tbne _08098EA8\n" + "\tldr r1, _08098E44\n" + "\tmovs r0, 0\n" + "\tadds r3, r6, 0\n" + "\tbl Log\n" + "\tldr r0, _08098E48\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbeq _08098E4C\n" + "\tmovs r0, 0x7\n" + "\tb _08098E8A\n" + "\t.align 2, 0\n" +"_08098E40: .4byte gUnknown_20398A8\n" +"_08098E44: .4byte gUnknown_8115F80\n" +"_08098E48: .4byte gUnknown_203B49D\n" +"_08098E4C:\n" + "\tldr r0, _08098E74\n" + "\tldrb r0, [r0]\n" + "\tldr r1, _08098E78\n" + "\tcmp r0, 0\n" + "\tbne _08098E58\n" + "\tstrh r5, [r1]\n" +"_08098E58:\n" + "\tmovs r2, 0\n" + "\tldrsh r0, [r1, r2]\n" + "\tbl sub_80A2750\n" + "\tlsls r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x2\n" + "\tbeq _08098E88\n" + "\tcmp r0, 0x2\n" + "\tbgt _08098E7C\n" + "\tcmp r0, 0x1\n" + "\tbeq _08098E84\n" + "\tb _08098E8C\n" + "\t.align 2, 0\n" +"_08098E74: .4byte gUnknown_203B49C\n" +"_08098E78: .4byte gUnknown_20398C4\n" +"_08098E7C:\n" + "\tcmp r0, 0x4\n" + "\tbne _08098E8C\n" + "\tmovs r0, 0x8\n" + "\tb _08098E8A\n" +"_08098E84:\n" + "\tmovs r0, 0x5\n" + "\tb _08098E8A\n" +"_08098E88:\n" + "\tmovs r0, 0x6\n" +"_08098E8A:\n" + "\tstr r0, [r4]\n" +"_08098E8C:\n" + "\tldr r0, _08098EA0\n" + "\tmovs r1, 0x1\n" + "\tstr r1, [r0]\n" + "\tldr r0, _08098EA4\n" + "\tstr r6, [r0]\n" + "\tbl sub_809C730\n" + "\tmovs r0, 0x1\n" + "\tb _08098EAA\n" + "\t.align 2, 0\n" +"_08098EA0: .4byte gUnknown_20398AC\n" +"_08098EA4: .4byte gUnknown_20398B0\n" +"_08098EA8:\n" + "\tmovs r0, 0\n" +"_08098EAA:\n" + "\tpop {r4-r6}\n" + "\tpop {r1}\n" + "\tbx r1"); +#endif +} + +// Unused +u32 sub_8098EB0(u32 r0, u32 r1, u32 r2, u32 r3) +{ + if(gUnknown_20398A8 == 0) + { + if(gUnknown_203B49D != 0) + { + Log(0, &gUnknown_8115FA4, r0, r3); + gUnknown_20398A8 = 7; + gUnknown_20398AC = 1; + gUnknown_20398B0 = r0; + sub_809C730(); + return 1; + } + } + return 0; +} + +u32 sub_8098F00(u32 r0, u32 r1, u32 r2, u32 r3) +{ + if(gUnknown_20398A8 == 0) + { + Log(0, &gUnknown_8115FC8, r0, r3); + gUnknown_20398A8 = 9; + gUnknown_20398AC = 1; + gUnknown_20398B0 = r0; + sub_809C730(); + return 1; + } + return 0; +} + +u32 sub_8098F44(u32 r0, u32 r1, u32 r2, u32 r3) +{ + if(gUnknown_20398A8 == 0) + { + Log(0, &gUnknown_8115FE8, r0, r3); + gUnknown_20398A8 = 0xA; + gUnknown_20398AC = 1; + gUnknown_20398B0 = r0; + sub_809C730(); + return 1; + } + return 0; +} + +u32 sub_8098F88(void) +{ + return gUnknown_20398B9; +} + +u32 sub_8098F94(void) +{ + return gUnknown_20398BA; +} + +s16 sub_8098FA0(void) +{ + return sub_8001658(0, 0x11); +} + +s32 sub_8098FB4(void) +{ + return sub_80A2B18(sub_8001658(0, 0x11)); +} -- cgit v1.2.3 From ae9e96ec43001cd942ad23b0d3394c400100d686 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Sat, 21 Nov 2020 18:05:56 -0600 Subject: Fix sub_8098E18 - jiang/Kermalis --- src/code_8098BDC.c | 130 ++++------------------------------------------------- 1 file changed, 9 insertions(+), 121 deletions(-) (limited to 'src/code_8098BDC.c') diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c index 2d04bf4..491fdc9 100644 --- a/src/code_8098BDC.c +++ b/src/code_8098BDC.c @@ -67,6 +67,7 @@ extern void sub_8091980(u32); extern u8 sub_80023E4(u32); extern void sub_80118C4(u16); extern u8 sub_809C730(); +extern s16 sub_80A2750(s16); void sub_8098BDC(void) { @@ -224,19 +225,12 @@ bool8 sub_8098DCC(u32 r0) return FALSE; } -#ifndef NONMATCHING -NAKED -#endif -bool8 sub_8098E18(s16 r0, u32 r1, u32 r2) +bool8 sub_8098E18(s16 r0, u32 r1) { -#ifdef NONMATCHING - // Had to nonmatch because the prologue statements of add/lsls/lsrs didn't match - s32 temp; - s16 return_var; - temp = r0; + s32 r2 = r0, r5 = r2; if(gUnknown_20398A8 == 0) { - Log(0, &gUnknown_8115F80, temp, r2); + Log(0, &gUnknown_8115F80, r2, r1); if(gUnknown_203B49D != 0) { gUnknown_20398A8 = 7; @@ -245,127 +239,21 @@ bool8 sub_8098E18(s16 r0, u32 r1, u32 r2) { if(gUnknown_203B49C == 0) { - gUnknown_20398C4 = r2; - } - return_var = sub_80A2750(gUnknown_20398C4); - // TODO so ugly but it works.. nested if statements aren't my thing in decomping - if(return_var == 2) - { - goto _08098E88; - } - if(return_var > 2) - { - goto _08098E7C; + gUnknown_20398C4 = r5; } - if(return_var == 1) + switch(sub_80A2750(gUnknown_20398C4)) { - goto _08098E84; + case 4: gUnknown_20398A8 = 8; break; + case 1: gUnknown_20398A8 = 5; break; + case 2: gUnknown_20398A8 = 6; break; } - else - { - goto _08098E8C; - } -_08098E7C: - if(return_var == 4) - { - gUnknown_20398A8 = 8; - goto _08098E8C; - } - else - { - goto _08098E8C; - } -_08098E84: - gUnknown_20398A8 = 5; - goto _08098E8C; -_08098E88: - gUnknown_20398A8 = 6; } -_08098E8C: gUnknown_20398AC = 1; gUnknown_20398B0 = r1; sub_809C730(); return TRUE; } return FALSE; -#else - asm_unified("\tpush {r4-r6,lr}\n" - "\tadds r6, r1, 0\n" - "\tlsls r0, 16\n" - "\tasrs r2, r0, 16\n" - "\tadds r5, r2, 0\n" - "\tldr r4, _08098E40\n" - "\tldr r0, [r4]\n" - "\tcmp r0, 0\n" - "\tbne _08098EA8\n" - "\tldr r1, _08098E44\n" - "\tmovs r0, 0\n" - "\tadds r3, r6, 0\n" - "\tbl Log\n" - "\tldr r0, _08098E48\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _08098E4C\n" - "\tmovs r0, 0x7\n" - "\tb _08098E8A\n" - "\t.align 2, 0\n" -"_08098E40: .4byte gUnknown_20398A8\n" -"_08098E44: .4byte gUnknown_8115F80\n" -"_08098E48: .4byte gUnknown_203B49D\n" -"_08098E4C:\n" - "\tldr r0, _08098E74\n" - "\tldrb r0, [r0]\n" - "\tldr r1, _08098E78\n" - "\tcmp r0, 0\n" - "\tbne _08098E58\n" - "\tstrh r5, [r1]\n" -"_08098E58:\n" - "\tmovs r2, 0\n" - "\tldrsh r0, [r1, r2]\n" - "\tbl sub_80A2750\n" - "\tlsls r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x2\n" - "\tbeq _08098E88\n" - "\tcmp r0, 0x2\n" - "\tbgt _08098E7C\n" - "\tcmp r0, 0x1\n" - "\tbeq _08098E84\n" - "\tb _08098E8C\n" - "\t.align 2, 0\n" -"_08098E74: .4byte gUnknown_203B49C\n" -"_08098E78: .4byte gUnknown_20398C4\n" -"_08098E7C:\n" - "\tcmp r0, 0x4\n" - "\tbne _08098E8C\n" - "\tmovs r0, 0x8\n" - "\tb _08098E8A\n" -"_08098E84:\n" - "\tmovs r0, 0x5\n" - "\tb _08098E8A\n" -"_08098E88:\n" - "\tmovs r0, 0x6\n" -"_08098E8A:\n" - "\tstr r0, [r4]\n" -"_08098E8C:\n" - "\tldr r0, _08098EA0\n" - "\tmovs r1, 0x1\n" - "\tstr r1, [r0]\n" - "\tldr r0, _08098EA4\n" - "\tstr r6, [r0]\n" - "\tbl sub_809C730\n" - "\tmovs r0, 0x1\n" - "\tb _08098EAA\n" - "\t.align 2, 0\n" -"_08098EA0: .4byte gUnknown_20398AC\n" -"_08098EA4: .4byte gUnknown_20398B0\n" -"_08098EA8:\n" - "\tmovs r0, 0\n" -"_08098EAA:\n" - "\tpop {r4-r6}\n" - "\tpop {r1}\n" - "\tbx r1"); -#endif } // Unused -- cgit v1.2.3