slot_machine: through sub_813FBC0
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user