summaryrefslogtreecommitdiff
path: root/asm/felicity_bank.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-05-15 16:59:55 -0700
committerGitHub <noreply@github.com>2021-05-15 18:59:55 -0500
commitf402e46cd3c8b7236673d6edbae77903a7cc0618 (patch)
tree37a19f3ab35a73c29d4d6da565741beaf7bb547f /asm/felicity_bank.s
parentf65dee5a143bd543c74c010d7252eb76893ee243 (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/felicity_bank.s')
-rw-r--r--asm/felicity_bank.s571
1 files changed, 571 insertions, 0 deletions
diff --git a/asm/felicity_bank.s b/asm/felicity_bank.s
new file mode 100644
index 0000000..c60b295
--- /dev/null
+++ b/asm/felicity_bank.s
@@ -0,0 +1,571 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start UpdateFelicityBankDialogue
+UpdateFelicityBankDialogue:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _08016558
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r2, r1, 0
+ cmp r0, 0xC
+ bls _0801654E
+ b _080168EC
+_0801654E:
+ lsls r0, 2
+ ldr r1, _0801655C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08016558: .4byte gUnknown_203B204
+_0801655C: .4byte _08016560
+ .align 2, 0
+_08016560:
+ .4byte _08016594
+ .4byte _080165B4
+ .4byte _080168B2
+ .4byte _08016650
+ .4byte _08016668
+ .4byte _080166C4
+ .4byte _080168EC
+ .4byte _080166DC
+ .4byte _0801674C
+ .4byte _080167A8
+ .4byte _080167CC
+ .4byte _0801685C
+ .4byte _080168C4
+_08016594:
+ ldr r2, [r2]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r3, _080165B0
+ ldr r1, [r2]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldr r0, [r0]
+ adds r2, 0xA4
+ ldr r2, [r2]
+ b _08016844
+ .align 2, 0
+_080165B0: .4byte gFelicityDialogue
+_080165B4:
+ bl CreateFelicityBankShopMenu
+ ldr r0, _080165FC
+ ldr r0, [r0]
+ mov r12, r0
+ movs r0, 0x2
+ mov r1, r12
+ str r0, [r1, 0x8]
+ ldr r0, _08016600
+ ldr r0, [r0]
+ movs r3, 0x99
+ lsls r3, 2
+ adds r0, r3
+ ldr r4, [r0]
+ cmp r4, 0
+ bne _08016608
+ ldr r2, _08016604
+ ldr r1, [r1]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x4
+ adds r0, r2
+ ldr r0, [r0]
+ mov r5, r12
+ ldr r2, [r5, 0x10]
+ mov r3, r12
+ adds r3, 0x14
+ mov r1, r12
+ adds r1, 0x54
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ b _08016632
+ .align 2, 0
+_080165FC: .4byte gUnknown_203B204
+_08016600: .4byte gUnknown_203B460
+_08016604: .4byte gFelicityDialogue
+_08016608:
+ ldr r0, _08016648
+ str r4, [r0]
+ ldr r2, _0801664C
+ mov r0, r12
+ ldr r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x8
+ adds r0, r2
+ ldr r0, [r0]
+ mov r1, r12
+ ldr r2, [r1, 0x10]
+ mov r3, r12
+ adds r3, 0x14
+ adds r1, 0x54
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+_08016632:
+ mov r1, r12
+ adds r1, 0xA4
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _080168EC
+ .align 2, 0
+_08016648: .4byte gUnknown_202DE30
+_0801664C: .4byte gFelicityDialogue
+_08016650:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016664
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x38
+ b _0801683C
+ .align 2, 0
+_08016664: .4byte gFelicityDialogue
+_08016668:
+ ldr r3, [r2]
+ movs r0, 0x6
+ str r0, [r3, 0x8]
+ ldr r0, _08016698
+ ldr r0, [r0]
+ movs r5, 0x99
+ lsls r5, 2
+ adds r0, r5
+ ldr r1, [r0]
+ cmp r1, 0
+ bne _080166A0
+ ldr r2, _0801669C
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x10
+ adds r0, r2
+ ldr r0, [r0]
+ adds r1, r3, 0
+ adds r1, 0xA4
+ ldr r2, [r1]
+ b _08016844
+ .align 2, 0
+_08016698: .4byte gUnknown_203B460
+_0801669C: .4byte gFelicityDialogue
+_080166A0:
+ ldr r0, _080166BC
+ str r1, [r0]
+ ldr r2, _080166C0
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x14
+ adds r0, r2
+ ldr r0, [r0]
+ adds r1, r3, 0
+ adds r1, 0xA4
+ ldr r2, [r1]
+ b _08016844
+ .align 2, 0
+_080166BC: .4byte gUnknown_202DE30
+_080166C0: .4byte gFelicityDialogue
+_080166C4:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _080166D8
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0xC
+ b _0801683C
+ .align 2, 0
+_080166D8: .4byte gFelicityDialogue
+_080166DC:
+ ldr r0, _08016700
+ ldr r1, [r0]
+ movs r3, 0x98
+ lsls r3, 2
+ adds r0, r1, r3
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08016708
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016704
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ b _0801683C
+ .align 2, 0
+_08016700: .4byte gUnknown_203B460
+_08016704: .4byte gFelicityDialogue
+_08016708:
+ movs r5, 0x99
+ lsls r5, 2
+ adds r0, r1, r5
+ ldr r1, [r0]
+ ldr r0, _0801672C
+ cmp r1, r0
+ ble _08016734
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016730
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x20
+ b _0801683C
+ .align 2, 0
+_0801672C: .4byte 0x0098967e
+_08016730: .4byte gFelicityDialogue
+_08016734:
+ ldr r3, [r2]
+ movs r0, 0x8
+ str r0, [r3, 0x8]
+ ldr r2, _08016748
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x18
+ b _0801683C
+ .align 2, 0
+_08016748: .4byte gFelicityDialogue
+_0801674C:
+ ldr r4, [r2]
+ ldr r0, _080167A0
+ ldr r3, [r0]
+ movs r1, 0x99
+ lsls r1, 2
+ adds r0, r3, r1
+ ldr r1, [r0]
+ ldr r0, _080167A4
+ subs r0, r1
+ str r0, [r4, 0x70]
+ movs r5, 0x98
+ lsls r5, 2
+ adds r1, r3, r5
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _0801676E
+ str r1, [r4, 0x70]
+_0801676E:
+ ldr r2, [r2]
+ ldr r0, [r2, 0x70]
+ str r0, [r2, 0x68]
+ movs r0, 0x1
+ str r0, [r2, 0x6C]
+ movs r0, 0x5
+ str r0, [r2, 0x74]
+ movs r0, 0x2
+ str r0, [r2, 0x78]
+ adds r0, r2, 0
+ adds r0, 0xD8
+ str r0, [r2, 0x7C]
+ adds r1, r2, 0
+ adds r1, 0x80
+ movs r0, 0x50
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x64
+ bl sub_8013AA0
+ movs r0, 0x1
+ b _080168AE
+ .align 2, 0
+_080167A0: .4byte gUnknown_203B460
+_080167A4: .4byte 0x0098967f
+_080167A8:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r1, _080167C4
+ ldr r0, [r3, 0xC]
+ str r0, [r1]
+ ldr r2, _080167C8
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x24
+ b _0801683C
+ .align 2, 0
+_080167C4: .4byte gUnknown_202DE30
+_080167C8: .4byte gFelicityDialogue
+_080167CC:
+ ldr r0, _080167F4
+ ldr r3, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r3, r1
+ ldr r1, [r0]
+ ldr r0, _080167F8
+ cmp r1, r0
+ ble _08016800
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _080167FC
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x30
+ b _0801683C
+ .align 2, 0
+_080167F4: .4byte gUnknown_203B460
+_080167F8: .4byte 0x0001869e
+_080167FC: .4byte gFelicityDialogue
+_08016800:
+ movs r5, 0x99
+ lsls r5, 2
+ adds r4, r3, r5
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _08016824
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016820
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x2C
+ b _0801683C
+ .align 2, 0
+_08016820: .4byte gFelicityDialogue
+_08016824:
+ ldr r3, [r2]
+ movs r0, 0xB
+ str r0, [r3, 0x8]
+ ldr r1, _08016850
+ ldr r0, [r4]
+ str r0, [r1]
+ ldr r2, _08016854
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x28
+_0801683C:
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xA4
+ ldr r2, [r3]
+_08016844:
+ ldr r3, _08016858
+ movs r1, 0
+ bl sub_80141B4
+ b _080168EC
+ .align 2, 0
+_08016850: .4byte gUnknown_202DE30
+_08016854: .4byte gFelicityDialogue
+_08016858: .4byte 0x0000010d
+_0801685C:
+ ldr r4, [r2]
+ ldr r0, _080168BC
+ ldr r3, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r3, r1
+ ldr r1, [r0]
+ ldr r0, _080168C0
+ subs r0, r1
+ str r0, [r4, 0x70]
+ movs r5, 0x99
+ lsls r5, 2
+ adds r1, r3, r5
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _0801687E
+ str r1, [r4, 0x70]
+_0801687E:
+ ldr r2, [r2]
+ ldr r0, [r2, 0x70]
+ str r0, [r2, 0x68]
+ movs r0, 0x1
+ str r0, [r2, 0x6C]
+ movs r0, 0x5
+ str r0, [r2, 0x74]
+ movs r0, 0x2
+ str r0, [r2, 0x78]
+ adds r0, r2, 0
+ adds r0, 0xD8
+ str r0, [r2, 0x7C]
+ adds r1, r2, 0
+ adds r1, 0x80
+ movs r0, 0x50
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x64
+ bl sub_8013AA0
+ movs r0, 0
+_080168AE:
+ bl sub_8016B48
+_080168B2:
+ movs r0, 0x3
+ bl CreateFelicityMoneySavingsHeader
+ b _080168EC
+ .align 2, 0
+_080168BC: .4byte gUnknown_203B460
+_080168C0: .4byte 0x0001869f
+_080168C4:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r1, _080168F4
+ ldr r0, [r3, 0xC]
+ str r0, [r1]
+ ldr r2, _080168F8
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x34
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xA4
+ ldr r2, [r3]
+ ldr r3, _080168FC
+ movs r1, 0
+ bl sub_80141B4
+_080168EC:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080168F4: .4byte gUnknown_202DE30
+_080168F8: .4byte gFelicityDialogue
+_080168FC: .4byte 0x0000010d
+ thumb_func_end UpdateFelicityBankDialogue
+
+ thumb_func_start CreateFelicityBankShopMenu
+CreateFelicityBankShopMenu:
+ push {r4-r7,lr}
+ ldr r4, _08016980
+ ldr r0, [r4]
+ adds r0, 0x54
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08016984
+ ldr r0, [r0]
+ str r0, [r3, 0x14]
+ movs r0, 0x2
+ str r0, [r3, 0x18]
+ movs r1, 0x1
+ ldr r0, _08016988
+ ldr r0, [r0]
+ str r0, [r3, 0x1C]
+ movs r0, 0x3
+ str r0, [r3, 0x20]
+ ldr r0, _0801698C
+ ldr r0, [r0]
+ str r0, [r3, 0x24]
+ movs r0, 0x4
+ str r0, [r3, 0x28]
+ ldr r0, _08016990
+ ldr r0, [r0]
+ str r0, [r3, 0x2C]
+ str r1, [r3, 0x30]
+ movs r6, 0x4
+ str r2, [r3, 0x34]
+ str r1, [r3, 0x38]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x18
+ mov r2, r12
+ adds r2, 0x54
+_0801694C:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _0801695C
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x10]
+ cmp r1, r0
+ beq _080169B6
+_0801695C:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _0801694C
+ movs r5, 0
+ cmp r5, r6
+ bge _080169B6
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x54
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08016994
+ ldr r0, [r1, 0x18]
+ str r0, [r1, 0x10]
+ b _080169B6
+ .align 2, 0
+_08016980: .4byte gUnknown_203B204
+_08016984: .4byte gUnknown_80D4958
+_08016988: .4byte gUnknown_80D4964
+_0801698C: .4byte gUnknown_80D4970
+_08016990: .4byte gUnknown_80D4934
+_08016994:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _080169B6
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x54
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08016994
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x18
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x10]
+_080169B6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end CreateFelicityBankShopMenu
+
+ .align 2,0