slot_machine: through sub_813FBC0

This commit is contained in:
PikalaxALT
2019-05-20 14:17:26 -04:00
parent 348bd19fdd
commit c33448ba09
7 changed files with 271 additions and 980 deletions
-510
View File
@@ -5,516 +5,6 @@
.text
thumb_func_start PlaySlotMachine
PlaySlotMachine: @ 813F804
push {r4-r6,lr}
adds r6, r1, 0
lsls r0, 16
lsrs r5, r0, 16
bl ResetTasks
ldr r4, _0813F828 @ =gUnknown_203F3A0
movs r0, 0x54
bl Alloc
str r0, [r4]
cmp r0, 0
bne _0813F82C
adds r0, r6, 0
bl SetMainCallback2
b _0813F840
.align 2, 0
_0813F828: .4byte gUnknown_203F3A0
_0813F82C:
cmp r5, 0x5
bls _0813F832
movs r5, 0
_0813F832:
strh r5, [r0, 0x4]
str r6, [r0]
bl sub_813F84C
ldr r0, _0813F848 @ =sub_813F898
bl SetMainCallback2
_0813F840:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813F848: .4byte sub_813F898
thumb_func_end PlaySlotMachine
thumb_func_start sub_813F84C
sub_813F84C: @ 813F84C
push {r4-r6,lr}
movs r1, 0
strh r1, [r0, 0x6]
strh r1, [r0, 0xE]
adds r0, 0x50
strh r1, [r0]
movs r3, 0
ldr r6, _0813F894 @ =gUnknown_203F3A0
movs r4, 0
movs r5, 0x15
_0813F860:
ldr r2, [r6]
lsls r1, r3, 2
adds r0, r2, 0
adds r0, 0x14
adds r0, r1
str r4, [r0]
lsls r1, r3, 1
adds r0, r2, 0
adds r0, 0x20
adds r0, r1
strh r4, [r0]
adds r0, r2, 0
adds r0, 0x26
adds r0, r1
strh r4, [r0]
adds r0, r2, 0
adds r0, 0x2C
adds r0, r1
strh r5, [r0]
adds r3, 0x1
cmp r3, 0x2
ble _0813F860
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813F894: .4byte gUnknown_203F3A0
thumb_func_end sub_813F84C
thumb_func_start sub_813F898
sub_813F898: @ 813F898
push {r4,lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
ldr r0, _0813F8BC @ =gMain
movs r1, 0x87
lsls r1, 3
adds r4, r0, r1
ldrb r0, [r4]
cmp r0, 0
beq _0813F8C0
cmp r0, 0x1
beq _0813F8EC
b _0813F916
.align 2, 0
_0813F8BC: .4byte gMain
_0813F8C0:
bl sub_814104C
cmp r0, 0
beq _0813F8DC
ldr r0, _0813F8D8 @ =gUnknown_203F3A0
ldr r0, [r0]
ldr r0, [r0]
bl SetMainCallback2
bl sub_813F92C
b _0813F916
.align 2, 0
_0813F8D8: .4byte gUnknown_203F3A0
_0813F8DC:
movs r0, 0
movs r1, 0
bl sub_8141148
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
b _0813F916
_0813F8EC:
movs r0, 0
bl sub_8141180
cmp r0, 0
bne _0813F916
ldr r0, _0813F91C @ =sub_813F964
movs r1, 0
bl CreateTask
ldr r4, _0813F920 @ =gUnknown_203F3A0
ldr r1, [r4]
strb r0, [r1, 0x10]
ldr r0, _0813F924 @ =sub_8140060
movs r1, 0x1
bl CreateTask
ldr r1, [r4]
strb r0, [r1, 0x11]
ldr r0, _0813F928 @ =sub_813F94C
bl SetMainCallback2
_0813F916:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813F91C: .4byte sub_813F964
_0813F920: .4byte gUnknown_203F3A0
_0813F924: .4byte sub_8140060
_0813F928: .4byte sub_813F94C
thumb_func_end sub_813F898
thumb_func_start sub_813F92C
sub_813F92C: @ 813F92C
push {r4,lr}
bl sub_8141094
ldr r4, _0813F948 @ =gUnknown_203F3A0
ldr r0, [r4]
cmp r0, 0
beq _0813F942
bl Free
movs r0, 0
str r0, [r4]
_0813F942:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813F948: .4byte gUnknown_203F3A0
thumb_func_end sub_813F92C
thumb_func_start sub_813F94C
sub_813F94C: @ 813F94C
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_813F94C
thumb_func_start sub_813F964
sub_813F964: @ 813F964
push {r4-r7,lr}
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _0813F988 @ =gTasks+0x8
adds r6, r1, r0
movs r1, 0
ldrsh r0, [r6, r1]
cmp r0, 0x4
bls _0813F97E
b _0813FBB8
_0813F97E:
lsls r0, 2
ldr r1, _0813F98C @ =_0813F990
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0813F988: .4byte gTasks+0x8
_0813F98C: .4byte _0813F990
.align 2, 0
_0813F990:
.4byte _0813F9A4
.4byte _0813FAA8
.4byte _0813FAE4
.4byte _0813FB08
.4byte _0813FB48
_0813F9A4:
bl GetCoins
lsls r0, 16
cmp r0, 0
bne _0813F9BC
ldr r0, _0813F9B8 @ =sub_813FBC0
bl sub_8140030
b _0813FBB8
.align 2, 0
_0813F9B8: .4byte sub_813FBC0
_0813F9BC:
ldr r1, _0813F9F4 @ =gMain
ldrh r2, [r1, 0x2E]
movs r0, 0x80
ands r0, r2
cmp r0, 0
beq _0813F9FC
ldr r0, _0813F9F8 @ =gUnknown_203F3A0
ldr r1, [r0]
ldrh r0, [r1, 0xE]
adds r0, 0x1
strh r0, [r1, 0xE]
movs r0, 0x1
bl TakeCoins
movs r0, 0x58
bl PlaySE
movs r0, 0x8
movs r1, 0
bl sub_8141148
movs r0, 0x2
movs r1, 0x1
bl sub_8141148
movs r0, 0x1
b _0813FBB6
.align 2, 0
_0813F9F4: .4byte gMain
_0813F9F8: .4byte gUnknown_203F3A0
_0813F9FC:
movs r0, 0x80
lsls r0, 1
ands r0, r2
cmp r0, 0
beq _0813FA5C
ldr r5, _0813FA2C @ =gUnknown_203F3A0
ldr r0, [r5]
ldrh r0, [r0, 0xE]
movs r7, 0x3
subs r4, r7, r0
bl GetCoins
lsls r0, 16
lsrs r0, 16
cmp r0, r4
blt _0813FA30
ldr r0, [r5]
strh r7, [r0, 0xE]
lsls r0, r4, 16
lsrs r0, 16
bl TakeCoins
b _0813FA42
.align 2, 0
_0813FA2C: .4byte gUnknown_203F3A0
_0813FA30:
bl GetCoins
ldr r1, [r5]
ldrh r2, [r1, 0xE]
adds r0, r2
strh r0, [r1, 0xE]
movs r0, 0
bl SetCoins
_0813FA42:
movs r0, 0x58
bl PlaySE
movs r0, 0x8
movs r1, 0
bl sub_8141148
movs r0, 0x2
movs r1, 0x1
bl sub_8141148
movs r0, 0x1
b _0813FBB6
_0813FA5C:
movs r0, 0x1
ands r0, r2
cmp r0, 0
beq _0813FA78
ldr r0, _0813FA74 @ =gUnknown_203F3A0
ldr r0, [r0]
ldrh r0, [r0, 0xE]
cmp r0, 0
beq _0813FA78
movs r0, 0x2
b _0813FBB6
.align 2, 0
_0813FA74: .4byte gUnknown_203F3A0
_0813FA78:
ldrh r1, [r1, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _0813FA90
ldr r0, _0813FA8C @ =sub_813FCAC
bl sub_8140030
b _0813FBB8
.align 2, 0
_0813FA8C: .4byte sub_813FCAC
_0813FA90:
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _0813FA9A
b _0813FBB8
_0813FA9A:
ldr r0, _0813FAA4 @ =sub_813FC2C
bl sub_8140030
b _0813FBB8
.align 2, 0
_0813FAA4: .4byte sub_813FC2C
_0813FAA8:
movs r0, 0
bl sub_8141180
cmp r0, 0
beq _0813FAB4
b _0813FBB8
_0813FAB4:
movs r0, 0x1
bl sub_8141180
adds r4, r0, 0
cmp r4, 0
beq _0813FAC2
b _0813FBB8
_0813FAC2:
ldr r0, _0813FADC @ =gUnknown_203F3A0
ldr r0, [r0]
ldrh r0, [r0, 0xE]
cmp r0, 0x3
beq _0813FAD6
bl GetCoins
lsls r0, 16
cmp r0, 0
bne _0813FAE0
_0813FAD6:
movs r0, 0x2
b _0813FBB6
.align 2, 0
_0813FADC: .4byte gUnknown_203F3A0
_0813FAE0:
strh r4, [r6]
b _0813FBB8
_0813FAE4:
bl sub_811539C
bl sub_81409B4
bl sub_8140148
ldr r0, _0813FB04 @ =gUnknown_203F3A0
ldr r1, [r0]
movs r0, 0
strh r0, [r1, 0x6]
movs r0, 0x3
movs r1, 0
bl sub_8141148
b _0813FBB4
.align 2, 0
_0813FB04: .4byte gUnknown_203F3A0
_0813FB08:
movs r0, 0
bl sub_8141180
cmp r0, 0
bne _0813FBB8
ldr r0, _0813FB40 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0813FBB8
movs r0, 0x18
bl PlaySE
ldr r4, _0813FB44 @ =gUnknown_203F3A0
ldr r0, [r4]
ldrh r1, [r0, 0x6]
adds r0, r1, 0
bl sub_814016C
ldr r0, [r4]
ldrb r0, [r0, 0x6]
movs r1, 0
bl sub_8141C30
movs r0, 0x4
b _0813FBB6
.align 2, 0
_0813FB40: .4byte gMain
_0813FB44: .4byte gUnknown_203F3A0
_0813FB48:
ldr r5, _0813FB90 @ =gUnknown_203F3A0
ldr r0, [r5]
ldrh r0, [r0, 0x6]
bl sub_81401A0
cmp r0, 0
bne _0813FBB8
movs r0, 0
bl sub_8141180
adds r4, r0, 0
cmp r4, 0
bne _0813FBB8
ldr r1, [r5]
ldrh r0, [r1, 0x6]
adds r0, 0x1
strh r0, [r1, 0x6]
lsls r0, 16
lsrs r0, 16
cmp r0, 0x2
bls _0813FBB4
bl sub_8140A80
ldr r1, [r5]
strh r0, [r1, 0xA]
strh r4, [r1, 0xE]
strh r4, [r1, 0x6]
lsls r0, 16
lsrs r0, 16
cmp r0, 0
bne _0813FB98
ldr r0, _0813FB94 @ =sub_813FD84
bl sub_8140030
b _0813FBB8
.align 2, 0
_0813FB90: .4byte gUnknown_203F3A0
_0813FB94: .4byte sub_813FD84
_0813FB98:
cmp r0, 0x6
bne _0813FBA2
movs r0, 0x1C
bl IncrementGameStat
_0813FBA2:
bl sub_8140A70
ldr r0, _0813FBB0 @ =sub_813FE1C
bl sub_8140030
b _0813FBB8
.align 2, 0
_0813FBB0: .4byte sub_813FE1C
_0813FBB4:
movs r0, 0x3
_0813FBB6:
strh r0, [r6]
_0813FBB8:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_813F964
thumb_func_start sub_813FBC0
sub_813FBC0: @ 813FBC0
push {r4,lr}
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _0813FBE4 @ =gTasks+0x8
adds r4, r1, r0
movs r1, 0
ldrsh r0, [r4, r1]
cmp r0, 0x1
beq _0813FBF8
cmp r0, 0x1
bgt _0813FBE8
cmp r0, 0
beq _0813FBEE
b _0813FC1C
.align 2, 0
_0813FBE4: .4byte gTasks+0x8
_0813FBE8:
cmp r0, 0x2
beq _0813FC0A
b _0813FC1C
_0813FBEE:
movs r0, 0x9
movs r1, 0
bl sub_8141148
b _0813FC02
_0813FBF8:
movs r0, 0
bl sub_8141180
cmp r0, 0
bne _0813FC1C
_0813FC02:
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
b _0813FC1C
_0813FC0A:
ldr r0, _0813FC24 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0xF3
ands r0, r1
cmp r0, 0
beq _0813FC1C
ldr r0, _0813FC28 @ =sub_813FFD8
bl sub_8140030
_0813FC1C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813FC24: .4byte gMain
_0813FC28: .4byte sub_813FFD8
thumb_func_end sub_813FBC0
thumb_func_start sub_813FC2C
sub_813FC2C: @ 813FC2C
push {r4,lr}