Through ScrCmd_pokemart

This commit is contained in:
scnorton
2019-01-06 16:00:27 -05:00
parent 2822d29c0b
commit fdd7b1033c
14 changed files with 311 additions and 654 deletions
-605
View File
@@ -5,611 +5,6 @@
.text
thumb_func_start ScrCmd_vloadword
ScrCmd_vloadword: @ 806BF3C
push {lr}
bl ScriptReadWord
adds r1, r0, 0
ldr r0, _0806BF58 @ =gVScriptOffset
ldr r0, [r0]
subs r1, r0
ldr r0, _0806BF5C @ =gStringVar4
bl StringExpandPlaceholders
movs r0, 0
pop {r1}
bx r1
.align 2, 0
_0806BF58: .4byte gVScriptOffset
_0806BF5C: .4byte gStringVar4
thumb_func_end ScrCmd_vloadword
thumb_func_start ScrCmd_vbufferstring
ScrCmd_vbufferstring: @ 806BF60
push {r4,lr}
ldr r1, [r0, 0x8]
ldrb r4, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
bl ScriptReadWord
adds r1, r0, 0
ldr r0, _0806BF8C @ =gVScriptOffset
ldr r0, [r0]
subs r1, r0
ldr r0, _0806BF90 @ =sScriptStringVars
lsls r4, 2
adds r4, r0
ldr r0, [r4]
bl StringCopy
movs r0, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806BF8C: .4byte gVScriptOffset
_0806BF90: .4byte sScriptStringVars
thumb_func_end ScrCmd_vbufferstring
thumb_func_start ScrCmd_bufferboxname
ScrCmd_bufferboxname: @ 806BF94
push {r4,lr}
ldr r1, [r0, 0x8]
ldrb r4, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
bl ScriptReadHalfword
lsls r0, 16
lsrs r0, 16
bl VarGet
ldr r1, _0806BFCC @ =sScriptStringVars
lsls r4, 2
adds r4, r1
ldr r4, [r4]
lsls r0, 24
lsrs r0, 24
bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
bl StringCopy
movs r0, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806BFCC: .4byte sScriptStringVars
thumb_func_end ScrCmd_bufferboxname
thumb_func_start ScrCmd_givemon
ScrCmd_givemon: @ 806BFD0
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0x8
adds r4, r0, 0
bl ScriptReadHalfword
lsls r0, 16
lsrs r0, 16
bl VarGet
adds r6, r0, 0
lsls r6, 16
lsrs r6, 16
ldr r0, [r4, 0x8]
ldrb r1, [r0]
mov r9, r1
adds r0, 0x1
str r0, [r4, 0x8]
adds r0, r4, 0
bl ScriptReadHalfword
lsls r0, 16
lsrs r0, 16
bl VarGet
adds r5, r0, 0
lsls r5, 16
lsrs r5, 16
adds r0, r4, 0
bl ScriptReadWord
mov r8, r0
adds r0, r4, 0
bl ScriptReadWord
ldr r1, [r4, 0x8]
ldrb r2, [r1]
adds r1, 0x1
str r1, [r4, 0x8]
ldr r4, _0806C04C @ =gSpecialVar_Result
str r0, [sp]
str r2, [sp, 0x4]
adds r0, r6, 0
mov r1, r9
adds r2, r5, 0
mov r3, r8
bl ScriptGiveMon
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
movs r0, 0
add sp, 0x8
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0806C04C: .4byte gSpecialVar_Result
thumb_func_end ScrCmd_givemon
thumb_func_start ScrCmd_giveegg
ScrCmd_giveegg: @ 806C050
push {r4,lr}
bl ScriptReadHalfword
lsls r0, 16
lsrs r0, 16
bl VarGet
lsls r0, 16
lsrs r0, 16
ldr r4, _0806C078 @ =gSpecialVar_Result
bl sub_80A01AC
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
movs r0, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806C078: .4byte gSpecialVar_Result
thumb_func_end ScrCmd_giveegg
thumb_func_start ScrCmd_setmonmove
ScrCmd_setmonmove: @ 806C07C
push {r4,r5,lr}
ldr r1, [r0, 0x8]
ldrb r5, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
ldrb r4, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
bl ScriptReadHalfword
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r5, 0
adds r2, r4, 0
bl ScriptSetMonMoveSlot
movs r0, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end ScrCmd_setmonmove
thumb_func_start ScrCmd_checkpartymove
ScrCmd_checkpartymove: @ 806C0A8
push {r4-r7,lr}
bl ScriptReadHalfword
lsls r0, 16
lsrs r7, r0, 16
ldr r1, _0806C0BC @ =gSpecialVar_Result
movs r0, 0x6
strh r0, [r1]
movs r6, 0
b _0806C0F6
.align 2, 0
_0806C0BC: .4byte gSpecialVar_Result
_0806C0C0:
adds r0, r4, 0
movs r1, 0x2D
bl GetMonData
cmp r0, 0
bne _0806C0F0
adds r0, r4, 0
adds r1, r7, 0
bl pokemon_has_move
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0806C0F0
ldr r0, _0806C0E8 @ =gSpecialVar_Result
strh r6, [r0]
ldr r0, _0806C0EC @ =gSpecialVar_0x8004
strh r5, [r0]
b _0806C116
.align 2, 0
_0806C0E8: .4byte gSpecialVar_Result
_0806C0EC: .4byte gSpecialVar_0x8004
_0806C0F0:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
_0806C0F6:
cmp r6, 0x5
bhi _0806C116
movs r0, 0x64
adds r1, r6, 0
muls r1, r0
ldr r0, _0806C120 @ =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0xB
movs r2, 0
bl GetMonData
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0
bne _0806C0C0
_0806C116:
movs r0, 0
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0806C120: .4byte gPlayerParty
thumb_func_end ScrCmd_checkpartymove
thumb_func_start ScrCmd_givemoney
ScrCmd_givemoney: @ 806C124
push {r4,lr}
adds r4, r0, 0
bl ScriptReadWord
adds r2, r0, 0
ldr r0, [r4, 0x8]
ldrb r1, [r0]
adds r0, 0x1
str r0, [r4, 0x8]
cmp r1, 0
bne _0806C14A
ldr r0, _0806C154 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
adds r1, r2, 0
bl AddMoney
_0806C14A:
movs r0, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806C154: .4byte gSaveBlock1Ptr
thumb_func_end ScrCmd_givemoney
thumb_func_start ScrCmd_takemoney
ScrCmd_takemoney: @ 806C158
push {r4,lr}
adds r4, r0, 0
bl ScriptReadWord
adds r2, r0, 0
ldr r0, [r4, 0x8]
ldrb r1, [r0]
adds r0, 0x1
str r0, [r4, 0x8]
cmp r1, 0
bne _0806C17E
ldr r0, _0806C188 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
adds r1, r2, 0
bl RemoveMoney
_0806C17E:
movs r0, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806C188: .4byte gSaveBlock1Ptr
thumb_func_end ScrCmd_takemoney
thumb_func_start ScrCmd_checkmoney
ScrCmd_checkmoney: @ 806C18C
push {r4,lr}
adds r4, r0, 0
bl ScriptReadWord
adds r2, r0, 0
ldr r0, [r4, 0x8]
ldrb r1, [r0]
adds r0, 0x1
str r0, [r4, 0x8]
cmp r1, 0
bne _0806C1BA
ldr r4, _0806C1C4 @ =gSpecialVar_Result
ldr r0, _0806C1C8 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
adds r1, r2, 0
bl IsEnoughMoney
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
_0806C1BA:
movs r0, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806C1C4: .4byte gSpecialVar_Result
_0806C1C8: .4byte gSaveBlock1Ptr
thumb_func_end ScrCmd_checkmoney
thumb_func_start ScrCmd_showmoneybox
ScrCmd_showmoneybox: @ 806C1CC
push {r4,r5,lr}
ldr r1, [r0, 0x8]
ldrb r5, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
ldrb r4, [r1]
adds r2, r1, 0x1
str r2, [r0, 0x8]
ldrb r1, [r1, 0x1]
adds r2, 0x1
str r2, [r0, 0x8]
cmp r1, 0
bne _0806C20A
ldr r0, _0806C214 @ =sub_809D6D4
bl sub_81119D4
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0806C20A
ldr r0, _0806C218 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
bl GetMoney
adds r1, r5, 0
adds r2, r4, 0
bl DrawMoneyBox
_0806C20A:
movs r0, 0
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0806C214: .4byte sub_809D6D4
_0806C218: .4byte gSaveBlock1Ptr
thumb_func_end ScrCmd_showmoneybox
thumb_func_start ScrCmd_hidemoneybox
ScrCmd_hidemoneybox: @ 806C21C
push {lr}
bl HideMoneyBox
movs r0, 0
pop {r1}
bx r1
thumb_func_end ScrCmd_hidemoneybox
thumb_func_start ScrCmd_updatemoneybox
ScrCmd_updatemoneybox: @ 806C228
push {lr}
ldr r1, [r0, 0x8]
adds r1, 0x1
adds r2, r1, 0x1
str r2, [r0, 0x8]
ldrb r1, [r1, 0x1]
adds r2, 0x1
str r2, [r0, 0x8]
cmp r1, 0
bne _0806C24E
ldr r0, _0806C254 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
bl GetMoney
bl ChangeAmountInMoneyBox
_0806C24E:
movs r0, 0
pop {r1}
bx r1
.align 2, 0
_0806C254: .4byte gSaveBlock1Ptr
thumb_func_end ScrCmd_updatemoneybox
thumb_func_start ScrCmd_showcoinsbox
ScrCmd_showcoinsbox: @ 806C258
push {r4,r5,lr}
ldr r1, [r0, 0x8]
ldrb r5, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
ldrb r4, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
ldr r0, _0806C290 @ =sub_809D6D4
bl sub_81119D4
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0806C286
bl GetCoins
lsls r0, 16
lsrs r0, 16
adds r1, r5, 0
adds r2, r4, 0
bl ShowCoinsWindow
_0806C286:
movs r0, 0
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0806C290: .4byte sub_809D6D4
thumb_func_end ScrCmd_showcoinsbox
thumb_func_start ScrCmd_hidecoinsbox
ScrCmd_hidecoinsbox: @ 806C294
push {lr}
ldr r1, [r0, 0x8]
adds r1, 0x2
str r1, [r0, 0x8]
bl HideCoinsWindow
movs r0, 0
pop {r1}
bx r1
thumb_func_end ScrCmd_hidecoinsbox
thumb_func_start ScrCmd_updatecoinsbox
ScrCmd_updatecoinsbox: @ 806C2A8
push {lr}
ldr r1, [r0, 0x8]
adds r1, 0x2
str r1, [r0, 0x8]
bl GetCoins
lsls r0, 16
lsrs r0, 16
bl PrintCoinsString
movs r0, 0
pop {r1}
bx r1
thumb_func_end ScrCmd_updatecoinsbox
thumb_func_start ScrCmd_trainerbattle
ScrCmd_trainerbattle: @ 806C2C4
push {r4,lr}
adds r4, r0, 0
ldr r0, [r4, 0x8]
bl sub_8080228
str r0, [r4, 0x8]
movs r0, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end ScrCmd_trainerbattle
thumb_func_start ScrCmd_dotrainerbattle
ScrCmd_dotrainerbattle: @ 806C2D8
push {lr}
bl sub_8080464
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end ScrCmd_dotrainerbattle
thumb_func_start ScrCmd_ontrainerbattleend
ScrCmd_ontrainerbattleend: @ 806C2E4
push {r4,lr}
adds r4, r0, 0
bl sub_80805E8
str r0, [r4, 0x8]
movs r0, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end ScrCmd_ontrainerbattleend
thumb_func_start ScrCmd_ontrainerbattleendgoto
ScrCmd_ontrainerbattleendgoto: @ 806C2F8
push {r4,lr}
adds r4, r0, 0
bl sub_8080600
str r0, [r4, 0x8]
movs r0, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end ScrCmd_ontrainerbattleendgoto
thumb_func_start ScrCmd_checktrainerflag
ScrCmd_checktrainerflag: @ 806C30C
push {r4,lr}
adds r4, r0, 0
bl ScriptReadHalfword
lsls r0, 16
lsrs r0, 16
bl VarGet
lsls r0, 16
lsrs r0, 16
bl HasTrainerAlreadyBeenFought
strb r0, [r4, 0x2]
movs r0, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end ScrCmd_checktrainerflag
thumb_func_start ScrCmd_settrainerflag
ScrCmd_settrainerflag: @ 806C330
push {lr}
bl ScriptReadHalfword
lsls r0, 16
lsrs r0, 16
bl VarGet
lsls r0, 16
lsrs r0, 16
bl trainer_flag_set
movs r0, 0
pop {r1}
bx r1
thumb_func_end ScrCmd_settrainerflag
thumb_func_start ScrCmd_cleartrainerflag
ScrCmd_cleartrainerflag: @ 806C34C
push {lr}
bl ScriptReadHalfword
lsls r0, 16
lsrs r0, 16
bl VarGet
lsls r0, 16
lsrs r0, 16
bl trainer_flag_clear
movs r0, 0
pop {r1}
bx r1
thumb_func_end ScrCmd_cleartrainerflag
thumb_func_start ScrCmd_setwildbattle
ScrCmd_setwildbattle: @ 806C368
push {r4-r6,lr}
adds r4, r0, 0
bl ScriptReadHalfword
adds r5, r0, 0
lsls r5, 16
lsrs r5, 16
ldr r0, [r4, 0x8]
ldrb r6, [r0]
adds r0, 0x1
str r0, [r4, 0x8]
adds r0, r4, 0
bl ScriptReadHalfword
adds r2, r0, 0
lsls r2, 16
lsrs r2, 16
adds r0, r5, 0
adds r1, r6, 0
bl CreateScriptedWildMon
movs r0, 0
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end ScrCmd_setwildbattle
thumb_func_start ScrCmd_dowildbattle
ScrCmd_dowildbattle: @ 806C39C
push {lr}
bl sub_807F8C4
bl ScriptContext1_Stop
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end ScrCmd_dowildbattle
thumb_func_start ScrCmd_pokemart
ScrCmd_pokemart: @ 806C3AC
push {lr}
bl ScriptReadWord
bl sub_809C164
bl ScriptContext1_Stop
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end ScrCmd_pokemart
thumb_func_start ScrCmd_pokemartdecoration
ScrCmd_pokemartdecoration: @ 806C3C0
push {lr}