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 /asm/code_8098468.s | |
parent | bc504264f1e54b3c1e482710c592e5549828bfe1 (diff) | |
parent | f90f3affeb9b0a66aa7df68f5fdecd692033faf9 (diff) |
Merge pull request #12 from SethBarberee/master
Merge work from SethBarberee/pmd-red into pret.
Diffstat (limited to 'asm/code_8098468.s')
-rw-r--r-- | asm/code_8098468.s | 791 |
1 files changed, 791 insertions, 0 deletions
diff --git a/asm/code_8098468.s b/asm/code_8098468.s new file mode 100644 index 0000000..4a9a111 --- /dev/null +++ b/asm/code_8098468.s @@ -0,0 +1,791 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start xxx_script_related_8098468 +xxx_script_related_8098468: + push {r4-r7,lr} + sub sp, 0x8 + ldr r1, _08098494 + str r0, [r1] + ldr r4, _08098498 + movs r2, 0 + strb r2, [r4] + ldr r3, _0809849C + movs r1, 0x1 + strb r1, [r3] + ldr r1, _080984A0 + strb r2, [r1] + subs r0, 0xD + adds r2, r1, 0 + cmp r0, 0x4 + bhi _08098504 + lsls r0, 2 + ldr r1, _080984A4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08098494: .4byte gUnknown_20398B4 +_08098498: .4byte gUnknown_20398B9 +_0809849C: .4byte gUnknown_20398B8 +_080984A0: .4byte gUnknown_20398BA +_080984A4: .4byte _080984A8 + .align 2, 0 +_080984A8: + .4byte _080984BC + .4byte _080984C8 + .4byte _080984CE + .4byte _080984D4 + .4byte _080984FC +_080984BC: + movs r1, 0x1 + strb r1, [r2] + movs r0, 0 + strb r0, [r3] + strb r1, [r4] + b _08098504 +_080984C8: + movs r0, 0x1 + strb r0, [r3] + b _08098502 +_080984CE: + movs r0, 0x1 + strb r0, [r3] + b _08098502 +_080984D4: + add r2, sp, 0x4 + movs r0, 0x3 + mov r1, sp + bl sub_8001B88 + ldr r2, _080984F4 + movs r1, 0 + ldr r0, [sp] + cmp r0, 0 + bne _080984EA + movs r1, 0x1 +_080984EA: + strb r1, [r2] + ldr r1, _080984F8 + movs r0, 0x1 + strb r0, [r1] + b _08098504 + .align 2, 0 +_080984F4: .4byte gUnknown_20398B8 +_080984F8: .4byte gUnknown_20398B9 +_080984FC: + movs r0, 0 + strb r0, [r3] + movs r0, 0x1 +_08098502: + strb r0, [r4] +_08098504: + bl sub_801180C + ldr r0, _080985B0 + ldrb r0, [r0] + cmp r0, 0 + bne _08098522 + movs r0, 0xD + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + bne _08098522 + movs r0, 0x10 + bl sub_80118C4 +_08098522: + ldr r1, _080985B4 + ldr r2, _080985B8 + adds r0, r2, 0 + strh r0, [r1] + movs r0, 0 + bl xxx_update_some_bg_tiles + bl sub_8099648 + bl sub_809975C + bl sub_809D0AC + bl sub_80A7744 + bl sub_809D490 + bl sub_80A62F0 + bl sub_809C5C4 + bl sub_809A560 + bl sub_809CB50 + bl sub_80A4A7C + bl nullsub_117 + bl sub_80AD990 + bl sub_80A77F8 + bl sub_80ABB54 + bl sub_80ACB90 + bl sub_809A62C + ldr r0, _080985BC + movs r1, 0 + strb r1, [r0] + ldr r0, _080985C0 + strb r1, [r0] + ldr r6, _080985C4 + movs r0, 0x1 + str r0, [r6] + ldr r1, _080985C8 + movs r0, 0 + str r0, [r1] + ldr r0, _080985CC + movs r4, 0x1 + negs r4, r4 + str r4, [r0] + ldr r5, _080985D0 + movs r0, 0 + movs r1, 0xD + bl sub_8001658 + strh r0, [r5] + movs r0, 0 + movs r1, 0xE + bl sub_8001658 + ldr r1, _080985D4 + str r0, [r1] + ldr r0, _080985D8 + strh r4, [r0] + adds r7, r4, 0 + ldr r0, [r6] + b _08098988 + .align 2, 0 +_080985B0: .4byte gUnknown_20398B9 +_080985B4: .4byte gUnknown_2026E4E +_080985B8: .4byte 0x00000808 +_080985BC: .4byte gUnknown_203B49C +_080985C0: .4byte gUnknown_203B49D +_080985C4: .4byte gUnknown_20398A8 +_080985C8: .4byte gUnknown_20398AC +_080985CC: .4byte gUnknown_20398B0 +_080985D0: .4byte gUnknown_20398BE +_080985D4: .4byte gUnknown_20398C0 +_080985D8: .4byte gUnknown_20398C4 +_080985DC: + movs r0, 0x1 + negs r0, r0 + bl sub_809A71C + bl sub_809A76C + bl sub_809977C + ldr r0, _08098600 + ldr r0, [r0] + cmp r0, 0x11 + bls _080985F6 + b _08098756 +_080985F6: + lsls r0, 2 + ldr r1, _08098604 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08098600: .4byte gUnknown_20398B4 +_08098604: .4byte _08098608 + .align 2, 0 +_08098608: + .4byte _08098650 + .4byte _08098756 + .4byte _08098660 + .4byte _08098660 + .4byte _08098756 + .4byte _08098666 + .4byte _08098756 + .4byte _08098756 + .4byte _08098756 + .4byte _0809866A + .4byte _0809866A + .4byte _0809866A + .4byte _0809866A + .4byte _0809870C + .4byte _08098748 + .4byte _0809874C + .4byte _08098750 + .4byte _08098754 +_08098650: + bl sub_8098C58 + ldr r1, _0809865C + movs r0, 0x1 + str r0, [r1] + b _08098756 + .align 2, 0 +_0809865C: .4byte gUnknown_20398B4 +_08098660: + bl sub_8001D88 + b _08098756 +_08098666: + movs r7, 0x70 + b _08098756 +_0809866A: + ldr r0, _080986BC + ldr r2, [r0] + movs r0, 0 + movs r1, 0x16 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x25 + movs r2, 0 + bl sub_80018D8 + bl sub_8098C58 + movs r0, 0 + movs r1, 0x15 + movs r2, 0x1 + movs r3, 0x2 + bl sub_800226C + movs r0, 0 + movs r1, 0x13 + bl sub_8001658 + lsls r0, 16 + asrs r4, r0, 16 + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + beq _08098756 + cmp r4, 0x51 + bne _080986C0 + movs r0, 0 + movs r1, 0x14 + bl sub_8001658 + lsls r0, 16 + asrs r0, 16 + bl sub_80A2608 + b _080986C6 + .align 2, 0 +_080986BC: .4byte gUnknown_20398B4 +_080986C0: + adds r0, r4, 0 + bl sub_80A2608 +_080986C6: + movs r1, 0xA + ldrsh r7, [r0, r1] + ldr r5, _08098700 + ldr r0, [r5] + cmp r0, 0x9 + bne _080986E0 + lsls r2, r4, 16 + lsrs r2, 16 + movs r0, 0 + movs r1, 0x31 + movs r3, 0x1 + bl sub_800199C +_080986E0: + ldr r0, [r5] + bl sub_8098FCC + lsls r0, 16 + asrs r1, r0, 16 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _08098756 + ldr r0, _08098704 + strh r1, [r0] + ldr r1, _08098708 + movs r0, 0 + str r0, [r1] + b _08098756 + .align 2, 0 +_08098700: .4byte gUnknown_20398B4 +_08098704: .4byte gUnknown_20398BE +_08098708: .4byte gUnknown_20398C0 +_0809870C: + bl sub_8098C58 + ldr r1, _08098744 + movs r0, 0x1 + str r0, [r1] + movs r0, 0 + movs r1, 0x18 + movs r2, 0x1 + bl sub_80018D8 + movs r0, 0 + movs r1, 0xF + movs r2, 0 + bl sub_80018D8 + movs r0, 0 + movs r1, 0xD + movs r2, 0 + bl sub_80018D8 + movs r0, 0 + movs r1, 0xE + movs r2, 0 + bl sub_80018D8 + movs r7, 0x71 + b _08098756 + .align 2, 0 +_08098744: .4byte gUnknown_20398B4 +_08098748: + movs r7, 0x73 + b _08098756 +_0809874C: + movs r7, 0x74 + b _08098756 +_08098750: + movs r7, 0x75 + b _08098756 +_08098754: + movs r7, 0x76 +_08098756: + ldr r0, _08098790 + ldrb r0, [r0] + cmp r0, 0 + bne _080987C0 + movs r0, 0 + movs r1, 0xD + bl sub_8001658 + adds r5, r0, 0 + ldr r4, _08098794 + ldr r2, [r4] + movs r0, 0 + movs r1, 0x18 + bl sub_80018D8 + ldr r4, [r4] + cmp r4, 0x1 + beq _080987A6 + cmp r4, 0x3 + bne _0809879C + ldr r0, _08098798 + movs r1, 0 + ldrsh r2, [r0, r1] + movs r0, 0 + movs r1, 0xF + bl sub_80018D8 + b _080987A6 + .align 2, 0 +_08098790: .4byte gUnknown_20398B9 +_08098794: .4byte gUnknown_20398B4 +_08098798: .4byte gUnknown_20398BE +_0809879C: + movs r0, 0 + movs r1, 0xF + adds r2, r5, 0 + bl sub_80018D8 +_080987A6: + ldr r0, _0809882C + movs r1, 0 + ldrsh r2, [r0, r1] + movs r0, 0 + movs r1, 0xD + bl sub_80018D8 + ldr r0, _08098830 + ldr r2, [r0] + movs r0, 0 + movs r1, 0xE + bl sub_80018D8 +_080987C0: + ldr r1, _08098834 + movs r0, 0x2 + str r0, [r1] + ldr r0, _08098838 + movs r1, 0 + str r1, [r0] + ldr r0, _0809883C + str r1, [r0] + ldr r0, _08098840 + movs r4, 0x1 + negs r4, r4 + str r4, [r0] + ldr r2, _08098844 + ldr r1, _0809882C + ldrh r0, [r1] + strh r0, [r2] + strh r4, [r1] + bl sub_809977C + bl sub_809D4B0 + adds r0, r4, 0 + bl GroundSprite_Reset + bl sub_809C63C + bl sub_809A62C + bl sub_80A4AEC + bl sub_809D0BC + bl sub_80AD9D0 + bl sub_80A786C + bl sub_80ABB98 + bl sub_80ACBD4 + bl sub_809C658 + bl nullsub_16 + bl sub_8097944 + cmp r7, r4 + beq _08098848 + adds r0, r7, 0 + movs r1, 0 + bl GroundMap_ExecuteEvent + b _08098850 + .align 2, 0 +_0809882C: .4byte gUnknown_20398BE +_08098830: .4byte gUnknown_20398C0 +_08098834: .4byte gUnknown_20398B4 +_08098838: .4byte gUnknown_20398A8 +_0809883C: .4byte gUnknown_20398AC +_08098840: .4byte gUnknown_20398B0 +_08098844: .4byte gUnknown_20398BC +_08098848: + movs r0, 0x66 + movs r1, 0 + bl GroundMap_ExecuteEvent +_08098850: + bl GroundMap_Action + movs r0, 0 + movs r1, 0 + bl sub_8005838 + bl sub_80060EC + bl xxx_call_update_bg_sound_input +_08098864: + bl xxx_call_update_bg_sound_input + bl sub_80A6E68 + ldr r0, _08098890 + ldr r0, [r0] + cmp r0, 0 + beq _080988B2 + ldr r1, _08098894 + ldr r0, [r1] + cmp r0, 0 + ble _0809889C + subs r0, 0x1 + str r0, [r1] + cmp r0, 0 + bgt _080988F8 + ldr r0, _08098898 + ldr r0, [r0] + bl sub_80999D4 + b _080988F8 + .align 2, 0 +_08098890: .4byte gUnknown_20398A8 +_08098894: .4byte gUnknown_20398AC +_08098898: .4byte gUnknown_20398B0 +_0809889C: + bl sub_8099B94 + lsls r0, 24 + cmp r0, 0 + bne _080988F8 + bl sub_809C740 + lsls r0, 24 + cmp r0, 0 + bne _0809897C + b _080988F8 +_080988B2: + ldr r0, _08098968 + ldrb r0, [r0] + cmp r0, 0 + beq _080988F8 + ldr r0, _0809896C + ldrb r0, [r0] + cmp r0, 0 + bne _080988F8 + bl sub_809AFAC + lsls r0, 24 + cmp r0, 0 + bne _080988F8 + ldr r0, _08098970 + ldrh r0, [r0, 0x2] + ldr r2, _08098974 + adds r1, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _080988E4 + bl sub_80048BC + lsls r0, 24 + cmp r0, 0 + beq _080988F8 +_080988E4: + movs r0, 0x72 + movs r1, 0 + bl GroundMap_ExecuteEvent + movs r0, 0x1E + bl sub_8098F44 + movs r0, 0x1E + bl sub_80118C4 +_080988F8: + bl GroundMap_Action + bl nullsub_124 + bl GroundLives_Action + bl GroundObject_Action + bl GroundEffect_Action + bl nullsub_105 + bl sub_809B474 + bl GroundScript_Unlock + bl sub_809D25C + bl sub_80A59DC + bl sub_809B614 + bl sub_809CA20 + bl sub_80A6E80 + bl sub_8099BE4 + bl sub_8099744 + bl sub_8011860 + ldr r0, _08098978 + ldr r0, [r0] + bl IncrementPlayTime + bl sub_800CB20 + bl sub_800485C + bl nullsub_120 + bl sub_80A5E70 + bl sub_809B638 + bl nullsub_106 + bl sub_80A73EC + bl sub_8099750 + bl sub_8009908 + b _08098864 + .align 2, 0 +_08098968: .4byte gUnknown_20398B9 +_0809896C: .4byte gUnknown_20398B8 +_08098970: .4byte gUnknown_20255F0 +_08098974: .4byte 0x0000030f +_08098978: .4byte gUnknown_203B47C +_0809897C: + bl sub_80A4AEC + movs r7, 0x1 + negs r7, r7 + ldr r0, _080989E8 + ldr r0, [r0] +_08098988: + subs r0, 0x1 + cmp r0, 0x1 + bhi _08098990 + b _080985DC +_08098990: + bl sub_80A4AC4 + bl nullsub_118 + bl sub_80A78F0 + bl sub_80ABBD4 + bl sub_80ACC10 + bl sub_80ADA08 + bl sub_809CB74 + bl sub_809A610 + bl sub_809C618 + bl sub_80A658C + bl sub_809D508 + bl sub_80A7754 + bl nullsub_119 + bl sub_8099768 + bl nullsub_103 + bl nullsub_16 + ldr r0, _080989EC + ldrb r0, [r0] + cmp r0, 0 + beq _080989FA + ldr r0, _080989E8 + ldr r0, [r0] + cmp r0, 0x9 + beq _080989F0 + cmp r0, 0xA + bne _080989F0 + movs r0, 0x10 + b _08098BD2 + .align 2, 0 +_080989E8: .4byte gUnknown_20398A8 +_080989EC: .4byte gUnknown_20398B9 +_080989F0: + movs r0, 0x1E + bl sub_80118C4 + movs r0, 0xF + b _08098BD2 +_080989FA: + ldr r0, _08098A10 + ldr r0, [r0] + subs r0, 0x3 + cmp r0, 0x5 + bls _08098A06 + b _08098BC0 +_08098A06: + lsls r0, 2 + ldr r1, _08098A14 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08098A10: .4byte gUnknown_20398A8 +_08098A14: .4byte _08098A18 + .align 2, 0 +_08098A18: + .4byte _08098A30 + .4byte _08098A72 + .4byte _08098AA0 + .4byte _08098B08 + .4byte _08098B58 + .4byte _08098B8C +_08098A30: + movs r4, 0x1 + negs r4, r4 + movs r0, 0 + movs r1, 0x13 + adds r2, r4, 0 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x14 + adds r2, r4, 0 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x18 + movs r2, 0x4 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x16 + movs r2, 0x4 + bl sub_80018D8 + movs r0, 0 + movs r1, 0xD + bl sub_8001658 + adds r2, r0, 0 + movs r0, 0 + movs r1, 0xF + bl sub_80018D8 + movs r0, 0x5 + b _08098BD2 +_08098A72: + movs r0, 0 + movs r1, 0x13 + movs r2, 0 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x18 + movs r2, 0x5 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x16 + movs r2, 0x5 + bl sub_80018D8 + movs r2, 0x1 + negs r2, r2 + movs r0, 0 + movs r1, 0x13 + bl sub_80018D8 + movs r0, 0x6 + b _08098BD2 +_08098AA0: + ldr r5, _08098B04 + movs r1, 0 + ldrsh r0, [r5, r1] + bl sub_80A2654 + adds r4, r0, 0 + lsls r4, 16 + asrs r4, 16 + movs r0, 0 + ldrsh r2, [r5, r0] + movs r0, 0 + movs r1, 0x13 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x14 + adds r2, r4, 0 + bl sub_80018D8 + ldrh r2, [r5] + movs r0, 0 + movs r1, 0x30 + movs r3, 0x1 + bl sub_800199C + movs r0, 0 + movs r1, 0x18 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x16 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x11 + bl sub_8001658 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _08098B00 + movs r0, 0 + movs r1, 0x11 + movs r2, 0 + bl sub_80018D8 +_08098B00: + movs r0, 0x7 + b _08098BD2 + .align 2, 0 +_08098B04: .4byte gUnknown_20398C4 +_08098B08: + movs r0, 0 + movs r1, 0x13 + movs r2, 0x51 + bl sub_80018D8 + ldr r0, _08098B54 + movs r1, 0 + ldrsh r2, [r0, r1] + movs r0, 0 + movs r1, 0x14 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x18 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x16 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x11 + bl sub_8001658 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _08098B4E + movs r0, 0 + movs r1, 0x11 + movs r2, 0 + bl sub_80018D8 +_08098B4E: + movs r0, 0x8 + b _08098BD2 + .align 2, 0 +_08098B54: .4byte gUnknown_20398C4 +_08098B58: + movs r0, 0 + movs r1, 0x13 + movs r2, 0x50 + bl sub_80018D8 + ldr r0, _08098B88 + ldrb r2, [r0] + movs r0, 0 + movs r1, 0x14 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x18 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x16 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0x9 + b _08098BD2 + .align 2, 0 +_08098B88: .4byte gUnknown_2039950 +_08098B8C: + movs r0, 0 + movs r1, 0x13 + movs r2, 0x52 + bl sub_80018D8 + ldr r0, _08098BBC + movs r1, 0 + ldrsh r2, [r0, r1] + movs r0, 0 + movs r1, 0x14 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x18 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0 + movs r1, 0x16 + movs r2, 0x7 + bl sub_80018D8 + movs r0, 0xA + b _08098BD2 + .align 2, 0 +_08098BBC: .4byte gUnknown_20398C4 +_08098BC0: + movs r0, 0 + movs r1, 0x18 + movs r2, 0x1 + bl sub_80018D8 + movs r0, 0x10 + bl sub_80118C4 + movs r0, 0xE +_08098BD2: + add sp, 0x8 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end xxx_script_related_8098468 + + .align 2,0 @ Don't pad with nop |