diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-05-15 16:59:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-15 18:59:55 -0500 |
commit | f402e46cd3c8b7236673d6edbae77903a7cc0618 (patch) | |
tree | 37a19f3ab35a73c29d4d6da565741beaf7bb547f /asm/kecleon_items.s | |
parent | f65dee5a143bd543c74c010d7252eb76893ee243 (diff) |
Sese's April/May Dump (#37)
* splitting lots of pokemon square and labeling lots of other things
* actually commit this stuff
* more moving data and things
* more screen work
* split out some pokemon dungeon data
* lots of data work
* push more data work
* split kecleon, decomp another kanghaskhan func, and try to doc UpdateBGControl more
* lots of item work
* label more item things
* subtype -> category and doc types/category
Diffstat (limited to 'asm/kecleon_items.s')
-rw-r--r-- | asm/kecleon_items.s | 1530 |
1 files changed, 1530 insertions, 0 deletions
diff --git a/asm/kecleon_items.s b/asm/kecleon_items.s new file mode 100644 index 0000000..e703eba --- /dev/null +++ b/asm/kecleon_items.s @@ -0,0 +1,1530 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8018E88 +sub_8018E88: + push {r4,lr} + sub sp, 0x14 + ldr r1, _08018EA4 + ldr r0, [r1] + ldr r0, [r0, 0x8] + adds r4, r1, 0 + cmp r0, 0x20 + bls _08018E9A + b _080194E8 +_08018E9A: + lsls r0, 2 + ldr r1, _08018EA8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08018EA4: .4byte gUnknown_203B210 +_08018EA8: .4byte _08018EAC + .align 2, 0 +_08018EAC: + .4byte _08018F30 + .4byte _08018F58 + .4byte _08018FA8 + .4byte _08018FD0 + .4byte _080194E8 + .4byte _08018FFC + .4byte _08019024 + .4byte _0801904C + .4byte _08019070 + .4byte _08019094 + .4byte _080190B8 + .4byte _080190DC + .4byte _08019104 + .4byte _0801912C + .4byte _08019164 + .4byte _0801918C + .4byte _080191B4 + .4byte _08019294 + .4byte _080191DC + .4byte _080191FA + .4byte _08019218 + .4byte _080193F4 + .4byte _08019254 + .4byte _08019314 + .4byte _0801933C + .4byte _080193FE + .4byte _08019364 + .4byte _08019372 + .4byte _08019380 + .4byte _080193F4 + .4byte _080193B4 + .4byte _0801946C + .4byte _080194C0 +_08018F30: + bl sub_8019DAC + bl sub_80194F8 + movs r0, 0 + bl sub_8019E04 + ldr r2, _08018F50 + ldr r0, _08018F54 + ldr r4, [r0] + ldr r1, [r4] + movs r0, 0x5C + muls r0, r1 + adds r0, r2 + b _08018F76 + .align 2, 0 +_08018F50: .4byte gKecleonShopDialogue +_08018F54: .4byte gUnknown_203B210 +_08018F58: + bl sub_8019DAC + bl sub_80194F8 + movs r0, 0 + bl sub_8019E04 + ldr r1, _08018FA0 + ldr r0, _08018FA4 + ldr r4, [r0] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x4 + adds r0, r1 +_08018F76: + ldr r0, [r0] + ldr r2, [r4, 0x28] + adds r3, r4, 0 + adds r3, 0x34 + adds r1, r4, 0 + adds r1, 0x74 + str r1, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + adds r1, r4, 0 + adds r1, 0xE4 + ldr r1, [r1] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080194E8 + .align 2, 0 +_08018FA0: .4byte gKecleonShopDialogue +_08018FA4: .4byte gUnknown_203B210 +_08018FA8: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08018FCC + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x58 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08018FCC: .4byte gKecleonShopDialogue +_08018FD0: + ldr r1, [r4] + movs r0, 0x4 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08018FF4 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x8 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + ldr r3, _08018FF8 + b _08019456 + .align 2, 0 +_08018FF4: .4byte gKecleonShopDialogue +_08018FF8: .4byte 0x0000030d +_08018FFC: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019020 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x30 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019020: .4byte gKecleonShopDialogue +_08019024: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019048 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x34 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019048: .4byte gKecleonShopDialogue +_0801904C: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _0801906C + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x38 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_0801906C: .4byte gKecleonShopDialogue +_08019070: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _08019090 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x3C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019090: .4byte gKecleonShopDialogue +_08019094: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _080190B4 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x40 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080190B4: .4byte gKecleonShopDialogue +_080190B8: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _080190D8 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x44 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080190D8: .4byte gKecleonShopDialogue +_080190DC: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019100 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x48 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019100: .4byte gKecleonShopDialogue +_08019104: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019128 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x4C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019128: .4byte gKecleonShopDialogue +_0801912C: + ldr r0, _0801915C + ldr r1, [r4] + adds r1, 0x1C + movs r2, 0 + bl sub_8090E14 + ldr r1, [r4] + movs r0, 0x18 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019160 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x50 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_0801915C: .4byte gUnknown_202DE58 +_08019160: .4byte gKecleonShopDialogue +_08019164: + ldr r1, [r4] + movs r0, 0x18 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019188 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x54 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019188: .4byte gKecleonShopDialogue +_0801918C: + ldr r1, [r4] + movs r0, 0x12 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080191B0 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0xC + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080191B0: .4byte gKecleonShopDialogue +_080191B4: + ldr r1, [r4] + movs r0, 0x13 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080191D8 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x10 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080191D8: .4byte gKecleonShopDialogue +_080191DC: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080191EC + movs r0, 0x3 + bl sub_8019E40 + b _080191F2 +_080191EC: + movs r0, 0x3 + bl sub_801A20C +_080191F2: + movs r0, 0 + bl sub_801AD34 + b _08019378 +_080191FA: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _0801920A + movs r0, 0x1 + bl sub_8019FCC + b _08019210 +_0801920A: + movs r0, 0x1 + bl sub_801A398 +_08019210: + movs r0, 0 + bl sub_801AD34 + b _08019378 +_08019218: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019226 + bl sub_801A0D8 + b _0801922A +_08019226: + bl sub_801A4A4 +_0801922A: + movs r0, 0 + bl sub_801AD34 + movs r0, 0x1 + bl sub_8016C40 + bl sub_80195C0 + ldr r0, _08019250 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x84 + adds r1, r2, 0 + adds r1, 0x34 + adds r3, r2, 0 + adds r3, 0x74 + ldr r2, [r2, 0x30] + b _080193A0 + .align 2, 0 +_08019250: .4byte gUnknown_203B210 +_08019254: + bl sub_8019700 + ldr r0, _08019284 + ldr r4, _08019288 + ldr r1, [r4] + adds r1, 0x1C + movs r2, 0 + bl sub_8090E14 + ldr r1, _0801928C + ldr r0, [r4] + ldr r0, [r0, 0x10] + str r0, [r1] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019290 + ldr r4, [r4] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x14 + b _0801948C + .align 2, 0 +_08019284: .4byte gUnknown_202DE58 +_08019288: .4byte gUnknown_203B210 +_0801928C: .4byte gUnknown_202DE30 +_08019290: .4byte gKecleonShopDialogue +_08019294: + bl sub_8019D8C + cmp r0, 0 + bne _080192C0 + ldr r0, _080192AC + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080192B0 + bl sub_801A010 + b _080192B4 + .align 2, 0 +_080192AC: .4byte gUnknown_203B210 +_080192B0: + bl sub_801A3DC +_080192B4: + ldr r0, _080192BC + ldr r1, [r0] + movs r0, 0xB + b _080192F2 + .align 2, 0 +_080192BC: .4byte gUnknown_203B210 +_080192C0: + bl sub_8090A34 + cmp r0, 0x13 + ble _080192EC + ldr r0, _080192D8 + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080192DC + bl sub_801A010 + b _080192E0 + .align 2, 0 +_080192D8: .4byte gUnknown_203B210 +_080192DC: + bl sub_801A3DC +_080192E0: + ldr r0, _080192E8 + ldr r1, [r0] + movs r0, 0x1 + b _080192F2 + .align 2, 0 +_080192E8: .4byte gUnknown_203B210 +_080192EC: + ldr r0, _0801930C + ldr r1, [r0] + movs r0, 0x10 +_080192F2: + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r2, _08019310 + ldr r0, _0801930C + ldr r1, [r0] + ldr r3, [r1] + movs r0, 0x5C + muls r0, r3 + adds r2, 0x18 + b _0801944C + .align 2, 0 +_0801930C: .4byte gUnknown_203B210 +_08019310: .4byte gKecleonShopDialogue +_08019314: + ldr r1, [r4] + movs r0, 0x1A + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019338 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x1C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019338: .4byte gKecleonShopDialogue +_0801933C: + ldr r1, [r4] + movs r0, 0x1B + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019360 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x20 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019360: .4byte gKecleonShopDialogue +_08019364: + movs r0, 0x4 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801A5D8 + b _08019378 +_08019372: + movs r0, 0x1 + bl sub_801A8D0 +_08019378: + movs r0, 0x1 + bl sub_8016C40 + b _080194E8 +_08019380: + bl sub_801A9E0 + movs r0, 0x1 + bl sub_8016C40 + bl sub_8019660 + ldr r0, _080193B0 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x84 + adds r1, r2, 0 + adds r1, 0x34 + adds r3, r2, 0 + adds r3, 0x74 + ldr r2, [r2, 0x2C] +_080193A0: + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _080194E8 + .align 2, 0 +_080193B0: .4byte gUnknown_203B210 +_080193B4: + bl sub_8019700 + ldr r0, _080193E4 + ldr r4, _080193E8 + ldr r1, [r4] + adds r1, 0x1C + movs r2, 0 + bl sub_8090E14 + ldr r1, _080193EC + ldr r0, [r4] + ldr r0, [r0, 0x10] + str r0, [r1] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080193F0 + ldr r4, [r4] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x24 + b _0801948C + .align 2, 0 +_080193E4: .4byte gUnknown_202DE58 +_080193E8: .4byte gUnknown_203B210 +_080193EC: .4byte gUnknown_202DE30 +_080193F0: .4byte gKecleonShopDialogue +_080193F4: + ldr r0, [r4] + adds r0, 0x1C + bl sub_801B3C0 + b _080194E8 +_080193FE: + bl sub_8090A34 + cmp r0, 0 + beq _08019418 + ldr r0, _08019424 + ldr r0, [r0] + movs r1, 0x98 + lsls r1, 2 + adds r0, r1 + ldr r1, [r0] + ldr r0, _08019428 + cmp r1, r0 + ble _08019430 +_08019418: + bl sub_801A928 + ldr r0, _0801942C + ldr r1, [r0] + movs r0, 0x1 + b _08019436 + .align 2, 0 +_08019424: .4byte gUnknown_203B460 +_08019428: .4byte 0x0001869e +_0801942C: .4byte gUnknown_203B210 +_08019430: + ldr r0, _08019460 + ldr r1, [r0] + movs r0, 0x18 +_08019436: + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r2, _08019464 + ldr r0, _08019460 + ldr r1, [r0] + ldr r3, [r1] + movs r0, 0x5C + muls r0, r3 + adds r2, 0x2C +_0801944C: + adds r0, r2 + ldr r0, [r0] + adds r1, 0xE4 + ldr r2, [r1] +_08019454: + ldr r3, _08019468 +_08019456: + movs r1, 0 + bl sub_80141B4 + b _080194E8 + .align 2, 0 +_08019460: .4byte gUnknown_203B210 +_08019464: .4byte gKecleonShopDialogue +_08019468: .4byte 0x0000010d +_0801946C: + bl sub_8019700 + ldr r1, _080194B4 + ldr r4, _080194B8 + ldr r0, [r4] + ldr r0, [r0, 0x18] + str r0, [r1] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080194BC + ldr r4, [r4] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x28 +_0801948C: + adds r0, r1 + ldr r0, [r0] + adds r3, r4, 0 + adds r3, 0x34 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + adds r4, 0xE4 + ldr r1, [r4] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x5 + bl sub_8014248 + b _080194E8 + .align 2, 0 +_080194B4: .4byte gUnknown_202DE30 +_080194B8: .4byte gUnknown_203B210 +_080194BC: .4byte gKecleonShopDialogue +_080194C0: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080194F0 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x2C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + ldr r3, _080194F4 + movs r1, 0 + bl sub_80141B4 +_080194E8: + add sp, 0x14 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080194F0: .4byte gKecleonShopDialogue +_080194F4: .4byte 0x0000010d + thumb_func_end sub_8018E88 + + thumb_func_start sub_80194F8 +sub_80194F8: + push {r4-r7,lr} + ldr r4, _08019580 + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _08019584 + ldr r0, [r0] + str r0, [r3, 0x34] + movs r0, 0x2 + str r0, [r3, 0x38] + movs r1, 0x1 + ldr r0, _08019588 + ldr r0, [r0] + str r0, [r3, 0x3C] + movs r0, 0x3 + str r0, [r3, 0x40] + ldr r0, _0801958C + str r0, [r3, 0x44] + movs r0, 0x4 + str r0, [r3, 0x48] + ldr r0, _08019590 + ldr r0, [r0] + str r0, [r3, 0x4C] + movs r0, 0x7 + str r0, [r3, 0x50] + ldr r0, _08019594 + ldr r0, [r0] + str r0, [r3, 0x54] + str r1, [r3, 0x58] + movs r6, 0x5 + str r2, [r3, 0x5C] + str r1, [r3, 0x60] + movs r5, 0 + mov r12, r3 + adds r3, 0x38 + mov r2, r12 + adds r2, 0x74 +_0801954C: + ldrh r0, [r2] + cmp r0, 0 + bne _0801955C + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x28] + cmp r1, r0 + beq _080195BA +_0801955C: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _0801954C + movs r5, 0 + cmp r5, r6 + bge _080195BA + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x74 + ldrh r0, [r0] + cmp r0, 0 + bne _08019598 + ldr r0, [r1, 0x38] + str r0, [r1, 0x28] + b _080195BA + .align 2, 0 +_08019580: .4byte gUnknown_203B210 +_08019584: .4byte gUnknown_80D4978 +_08019588: .4byte gUnknown_80D4984 +_0801958C: .4byte gUnknown_80DB8A0 +_08019590: .4byte gUnknown_80D4970 +_08019594: .4byte gUnknown_80D4934 +_08019598: + adds r5, 0x1 + cmp r5, r6 + bge _080195BA + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08019598 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x38 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x28] +_080195BA: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80194F8 + + thumb_func_start sub_80195C0 +sub_80195C0: + push {r4-r7,lr} + ldr r4, _0801962C + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _08019630 + ldr r0, [r0] + str r0, [r3, 0x34] + movs r0, 0x2 + str r0, [r3, 0x38] + movs r1, 0x1 + ldr r0, _08019634 + ldr r0, [r0] + str r0, [r3, 0x3C] + movs r0, 0x7 + str r0, [r3, 0x40] + movs r6, 0x2 + str r2, [r3, 0x44] + str r1, [r3, 0x48] + movs r5, 0 + mov r12, r3 + adds r3, 0x38 + mov r2, r12 + adds r2, 0x74 +_080195FA: + ldrh r0, [r2] + cmp r0, 0 + bne _0801960A + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x30] + cmp r1, r0 + beq _0801965A +_0801960A: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _080195FA + movs r5, 0 + cmp r5, r6 + bge _0801965A + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x74 + ldrh r0, [r0] + cmp r0, 0 + bne _08019638 + ldr r0, [r1, 0x38] + str r0, [r1, 0x30] + b _0801965A + .align 2, 0 +_0801962C: .4byte gUnknown_203B210 +_08019630: .4byte gUnknown_80D4978 +_08019634: .4byte gUnknown_80D4970 +_08019638: + adds r5, 0x1 + cmp r5, r6 + bge _0801965A + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08019638 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x38 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x30] +_0801965A: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80195C0 + + thumb_func_start sub_8019660 +sub_8019660: + push {r4-r7,lr} + ldr r4, _080196CC + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _080196D0 + ldr r0, [r0] + str r0, [r3, 0x34] + movs r0, 0x3 + str r0, [r3, 0x38] + movs r1, 0x1 + ldr r0, _080196D4 + ldr r0, [r0] + str r0, [r3, 0x3C] + movs r0, 0x7 + str r0, [r3, 0x40] + movs r6, 0x2 + str r2, [r3, 0x44] + str r1, [r3, 0x48] + movs r5, 0 + mov r12, r3 + adds r3, 0x38 + mov r2, r12 + adds r2, 0x74 +_0801969A: + ldrh r0, [r2] + cmp r0, 0 + bne _080196AA + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x2C] + cmp r1, r0 + beq _080196FA +_080196AA: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _0801969A + movs r5, 0 + cmp r5, r6 + bge _080196FA + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x74 + ldrh r0, [r0] + cmp r0, 0 + bne _080196D8 + ldr r0, [r1, 0x38] + str r0, [r1, 0x2C] + b _080196FA + .align 2, 0 +_080196CC: .4byte gUnknown_203B210 +_080196D0: .4byte gUnknown_80D4984 +_080196D4: .4byte gUnknown_80D4970 +_080196D8: + adds r5, 0x1 + cmp r5, r6 + bge _080196FA + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _080196D8 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x38 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x2C] +_080196FA: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8019660 + + thumb_func_start sub_8019700 +sub_8019700: + ldr r0, _08019724 + ldr r1, [r0] + movs r3, 0 + ldr r0, _08019728 + ldr r0, [r0] + str r0, [r1, 0x34] + movs r0, 0x5 + str r0, [r1, 0x38] + movs r2, 0x1 + ldr r0, _0801972C + ldr r0, [r0] + str r0, [r1, 0x3C] + movs r0, 0x6 + str r0, [r1, 0x40] + str r3, [r1, 0x44] + str r2, [r1, 0x48] + bx lr + .align 2, 0 +_08019724: .4byte gUnknown_203B210 +_08019728: .4byte gUnknown_80D4920 +_0801972C: .4byte gUnknown_80D4928 + thumb_func_end sub_8019700 + + thumb_func_start sub_8019730 +sub_8019730: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + beq _08019740 + b _0801984A +_08019740: + ldr r1, [sp] + cmp r1, 0x1 + beq _0801974C + ldr r0, _08019760 + ldr r0, [r0] + str r1, [r0, 0x28] +_0801974C: + ldr r0, [sp] + subs r0, 0x1 + cmp r0, 0x6 + bls _08019756 + b _0801984A +_08019756: + lsls r0, 2 + ldr r1, _08019764 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08019760: .4byte gUnknown_203B210 +_08019764: .4byte _08019768 + .align 2, 0 +_08019768: + .4byte _08019844 + .4byte _08019784 + .4byte _080197AC + .4byte _080197E4 + .4byte _0801984A + .4byte _0801984A + .4byte _0801983C +_08019784: + bl sub_8019D8C + cmp r0, 0 + bne _08019794 + movs r0, 0x5 + bl UpdateKecleonStoreState + b _0801984A +_08019794: + bl sub_8090A34 + cmp r0, 0x13 + ble _080197A4 + movs r0, 0xA + bl UpdateKecleonStoreState + b _0801984A +_080197A4: + movs r0, 0xF + bl UpdateKecleonStoreState + b _0801984A +_080197AC: + bl sub_8090A34 + cmp r0, 0 + beq _080197EC + ldr r0, _080197D8 + ldr r0, [r0] + ldr r0, [r0, 0x14] + cmp r0, 0 + beq _080197FE + ldr r0, _080197DC + ldr r0, [r0] + movs r1, 0x98 + lsls r1, 2 + adds r0, r1 + ldr r1, [r0] + ldr r0, _080197E0 + cmp r1, r0 + bgt _08019822 + movs r0, 0x17 + bl UpdateKecleonStoreState + b _0801984A + .align 2, 0 +_080197D8: .4byte gUnknown_203B210 +_080197DC: .4byte gUnknown_203B460 +_080197E0: .4byte 0x0001869e +_080197E4: + bl sub_8090A34 + cmp r0, 0 + bne _080197F4 +_080197EC: + movs r0, 0x9 + bl UpdateKecleonStoreState + b _0801984A +_080197F4: + ldr r0, _08019808 + ldr r1, [r0] + ldr r0, [r1, 0x14] + cmp r0, 0 + bne _0801980C +_080197FE: + movs r0, 0x8 + bl UpdateKecleonStoreState + b _0801984A + .align 2, 0 +_08019808: .4byte gUnknown_203B210 +_0801980C: + ldr r0, _0801982C + ldr r0, [r0] + movs r2, 0x98 + lsls r2, 2 + adds r0, r2 + ldr r1, [r1, 0x18] + ldr r0, [r0] + adds r1, r0 + ldr r0, _08019830 + cmp r1, r0 + ble _08019834 +_08019822: + movs r0, 0x7 + bl UpdateKecleonStoreState + b _0801984A + .align 2, 0 +_0801982C: .4byte gUnknown_203B460 +_08019830: .4byte 0x0001869f +_08019834: + movs r0, 0x1F + bl UpdateKecleonStoreState + b _0801984A +_0801983C: + movs r0, 0x2 + bl UpdateKecleonStoreState + b _0801984A +_08019844: + movs r0, 0x3 + bl UpdateKecleonStoreState +_0801984A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8019730 + + thumb_func_start sub_8019850 +sub_8019850: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080198DE + ldr r0, [sp] + cmp r0, 0x5 + beq _08019874 + cmp r0, 0x5 + bgt _0801986E + cmp r0, 0x1 + beq _080198D8 + b _080198DE +_0801986E: + cmp r0, 0x6 + beq _080198D8 + b _080198DE +_08019874: + ldr r4, _080198A8 + ldr r0, [r4] + ldr r0, [r0, 0x10] + negs r0, r0 + bl sub_80913A0 + ldr r1, [r4] + ldrb r0, [r1, 0x4] + cmp r0, 0 + beq _080198AC + adds r0, r1, 0 + adds r0, 0x20 + ldrb r0, [r0] + bl sub_809185C + bl sub_8091274 + ldr r0, [r4] + adds r0, 0x20 + ldrb r0, [r0] + bl sub_8091840 + bl sub_8091874 + b _080198C8 + .align 2, 0 +_080198A8: .4byte gUnknown_203B210 +_080198AC: + adds r0, r1, 0 + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A90 + bl sub_8091274 + ldr r0, [r4] + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A74 + bl sub_8091AA8 +_080198C8: + movs r0, 0xA6 + lsls r0, 1 + bl PlaySound + movs r0, 0x11 + bl UpdateKecleonStoreState + b _080198DE +_080198D8: + movs r0, 0x10 + bl UpdateKecleonStoreState +_080198DE: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8019850 + + thumb_func_start sub_80198E8 +sub_80198E8: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801993A + ldr r0, [sp] + cmp r0, 0x5 + beq _0801990C + cmp r0, 0x5 + bgt _08019906 + cmp r0, 0x1 + beq _08019934 + b _0801993A +_08019906: + cmp r0, 0x6 + beq _08019934 + b _0801993A +_0801990C: + ldr r4, _08019930 + ldr r0, [r4] + ldr r0, [r0, 0x10] + bl sub_80913A0 + ldr r0, [r4] + ldr r0, [r0, 0x24] + bl sub_80911F8 + movs r0, 0xA6 + lsls r0, 1 + bl PlaySound + movs r0, 0x19 + bl UpdateKecleonStoreState + b _0801993A + .align 2, 0 +_08019930: .4byte gUnknown_203B210 +_08019934: + movs r0, 0x18 + bl UpdateKecleonStoreState +_0801993A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80198E8 + + thumb_func_start sub_8019944 +sub_8019944: + push {r4,r5,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080199C2 + ldr r0, [sp] + cmp r0, 0x5 + beq _08019968 + cmp r0, 0x5 + bgt _08019962 + cmp r0, 0x1 + beq _080199BC + b _080199C2 +_08019962: + cmp r0, 0x6 + beq _080199BC + b _080199C2 +_08019968: + movs r4, 0 + ldr r5, _080199B4 +_0801996C: + lsls r1, r4, 2 + ldr r0, [r5] + adds r2, r0, r1 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0801998E + ldrb r0, [r2, 0x2] + bl sub_80914E4 + lsls r0, 24 + cmp r0, 0 + beq _0801998E + adds r0, r4, 0 + bl sub_8091234 +_0801998E: + adds r4, 0x1 + cmp r4, 0x13 + ble _0801996C + bl sub_80910B4 + ldr r0, _080199B8 + ldr r0, [r0] + ldr r0, [r0, 0x18] + bl sub_80913A0 + movs r0, 0xA6 + lsls r0, 1 + bl PlaySound + movs r0, 0x20 + bl UpdateKecleonStoreState + b _080199C2 + .align 2, 0 +_080199B4: .4byte gUnknown_203B460 +_080199B8: .4byte gUnknown_203B210 +_080199BC: + movs r0, 0x1 + bl UpdateKecleonStoreState +_080199C2: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8019944 + + thumb_func_start sub_80199CC +sub_80199CC: + push {r4,r5,lr} + ldr r0, _080199E0 + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080199E4 + movs r0, 0x1 + bl sub_8019EDC + b _080199EA + .align 2, 0 +_080199E0: .4byte gUnknown_203B210 +_080199E4: + movs r0, 0x1 + bl sub_801A2A8 +_080199EA: + cmp r0, 0x2 + beq _08019AD4 + cmp r0, 0x2 + bhi _080199FA + cmp r0, 0x1 + bne _080199F8 + b _08019AF4 +_080199F8: + b _08019B00 +_080199FA: + cmp r0, 0x3 + beq _08019A04 + cmp r0, 0x4 + beq _08019A6C + b _08019B00 +_08019A04: + ldr r4, _08019A24 + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019A28 + bl sub_8019FB0 + ldr r1, [r4] + adds r1, 0x20 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x20 + ldrb r0, [r0] + bl sub_809185C + b _08019A3C + .align 2, 0 +_08019A24: .4byte gUnknown_203B210 +_08019A28: + bl sub_801A37C + ldr r1, [r4] + adds r1, 0x21 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A90 +_08019A3C: + adds r5, r0, 0 + ldr r4, _08019A68 + ldr r0, [r4] + adds r0, 0x1C + ldrb r1, [r5] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + ldrb r0, [r5, 0x1] + strb r0, [r1, 0x1D] + ldr r0, [r4] + adds r0, 0x1C + bl sub_8090C7C + ldr r1, [r4] + str r0, [r1, 0x10] + movs r0, 0x14 + bl UpdateKecleonStoreState + b _08019B00 + .align 2, 0 +_08019A68: .4byte gUnknown_203B210 +_08019A6C: + ldr r4, _08019A8C + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019A90 + bl sub_8019FB0 + ldr r1, [r4] + adds r1, 0x20 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x20 + ldrb r0, [r0] + bl sub_809185C + b _08019AA4 + .align 2, 0 +_08019A8C: .4byte gUnknown_203B210 +_08019A90: + bl sub_801A37C + ldr r1, [r4] + adds r1, 0x21 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A90 +_08019AA4: + adds r5, r0, 0 + ldr r4, _08019AD0 + ldr r0, [r4] + adds r0, 0x1C + ldrb r1, [r5] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + ldrb r0, [r5, 0x1] + strb r0, [r1, 0x1D] + ldr r0, [r4] + adds r0, 0x1C + bl sub_8090C7C + ldr r1, [r4] + str r0, [r1, 0x10] + movs r0, 0x15 + bl UpdateKecleonStoreState + b _08019B00 + .align 2, 0 +_08019AD0: .4byte gUnknown_203B210 +_08019AD4: + ldr r0, _08019AE4 + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019AE8 + bl sub_801A010 + b _08019AEC + .align 2, 0 +_08019AE4: .4byte gUnknown_203B210 +_08019AE8: + bl sub_801A3DC +_08019AEC: + movs r0, 0x1 + bl UpdateKecleonStoreState + b _08019B00 +_08019AF4: + movs r0, 0 + bl sub_801AD34 + movs r0, 0x1 + bl sub_8016C40 +_08019B00: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80199CC + + .align 2,0 |