diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-01-06 10:09:03 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-01-06 10:09:03 -0500 |
commit | 1cb1fd2bf8416821a897fbc6b5a60c60595b4a7b (patch) | |
tree | 3919f0fb244bbd9f3620c3bae98409e0468bd20b | |
parent | d2538cffa03a21aca4e116971a7eb8b760f98ce0 (diff) |
through ScrCmd_checkdecor
-rw-r--r-- | asm/battle_controller_oak.s | 2 | ||||
-rw-r--r-- | asm/battle_controller_player.s | 2 | ||||
-rw-r--r-- | asm/battle_setup.s | 4 | ||||
-rw-r--r-- | asm/battle_tower.s | 2 | ||||
-rw-r--r-- | asm/berry_pouch.s | 4 | ||||
-rw-r--r-- | asm/help_system_812B1E0.s | 2 | ||||
-rw-r--r-- | asm/item.s | 44 | ||||
-rw-r--r-- | asm/item_menu.s | 26 | ||||
-rw-r--r-- | asm/item_pc.s | 2 | ||||
-rw-r--r-- | asm/item_use.s | 6 | ||||
-rw-r--r-- | asm/party_menu.s | 46 | ||||
-rw-r--r-- | asm/player_pc.s | 4 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 6 | ||||
-rw-r--r-- | asm/scrcmd.s | 563 | ||||
-rw-r--r-- | asm/shop.s | 2 | ||||
-rw-r--r-- | asm/teachy_tv.s | 4 | ||||
-rw-r--r-- | asm/tm_case.s | 10 | ||||
-rw-r--r-- | asm/trainer_tower.s | 2 | ||||
-rw-r--r-- | asm/unk_810C3A4.s | 2 | ||||
-rw-r--r-- | asm/unk_8147AA8.s | 6 | ||||
-rw-r--r-- | asm/unk_814B6F0.s | 2 | ||||
-rw-r--r-- | asm/unk_81507FC.s | 6 | ||||
-rw-r--r-- | data/script_cmd_table.inc | 14 | ||||
-rw-r--r-- | include/item.h | 1 | ||||
-rw-r--r-- | src/scrcmd.c | 211 |
25 files changed, 311 insertions, 662 deletions
diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 29ae446f6..91931bb63 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -308,7 +308,7 @@ _080E77AC: bhi _080E7838 adds r0, r5, 0 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem _080E780A: movs r0, 0x5 bl PlaySE diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 4db1f94c3..d83245653 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -381,7 +381,7 @@ _0802E5A8: bhi _0802E634 adds r0, r5, 0 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem _0802E606: movs r0, 0x5 bl PlaySE diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 499d565f0..ca757da07 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -104,7 +104,7 @@ sub_807F6CC: @ 807F6CC bhi _0807F6FC ldr r0, _0807F6F8 @ =0x00000167 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 cmp r0, 0 bne _0807F6FC @@ -356,7 +356,7 @@ sub_807F904: @ 807F904 str r0, [r1, 0x8] ldr r0, _0807F94C @ =0x00000167 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 cmp r0, 0 beq _0807F958 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 82922b88f..c02c98723 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -3218,7 +3218,7 @@ sub_80E724C: @ 80E724C adds r1, r0 ldrh r0, [r1] movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index b58832931..75611547e 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -2497,7 +2497,7 @@ _0813E18A: ldr r0, _0813E1F4 @ =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r5, 0x10] - bl sub_809A1D8 + bl RemoveBagItem movs r0, 0x9 bl sub_813EA98 ldrb r0, [r5] @@ -3250,7 +3250,7 @@ sub_813E7F0: @ 813E7F0 ldrh r0, [r5] mov r2, r8 ldrh r1, [r2, 0x10] - bl sub_809A1D8 + bl RemoveBagItem ldr r7, _0813E8C4 @ =gSaveBlock1Ptr ldr r4, [r7] movs r3, 0xA4 diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index f9fb50cf7..bca296e67 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -967,7 +967,7 @@ _0812B98C: .4byte 0x00000829 _0812B990: ldr r0, _0812B99C @ =0x00000169 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem b _0812BAF6 .align 2, 0 _0812B99C: .4byte 0x00000169 diff --git a/asm/item.s b/asm/item.s index aa64e54fa..2bc45d5c4 100644 --- a/asm/item.s +++ b/asm/item.s @@ -252,8 +252,8 @@ _08099F3C: bx r1 thumb_func_end sub_8099F08 - thumb_func_start sub_8099F40 -sub_8099F40: @ 8099F40 + thumb_func_start CheckBagHasItem +CheckBagHasItem: @ 8099F40 push {r4,r5,lr} lsls r0, 16 lsrs r4, r0, 16 @@ -310,14 +310,14 @@ _08099FA6: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_8099F40 + thumb_func_end CheckBagHasItem thumb_func_start sub_8099FAC sub_8099FAC: @ 8099FAC push {r4,lr} ldr r0, _08099FC0 @ =0x0000016d movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -338,7 +338,7 @@ _08099FD4: _08099FD6: adds r0, r4, 0 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -360,8 +360,8 @@ _08099FF6: _08099FFC: .4byte gSpecialVar_Result thumb_func_end sub_8099FAC - thumb_func_start sub_809A000 -sub_809A000: @ 809A000 + thumb_func_start CheckBagHasSpace +CheckBagHasSpace: @ 809A000 push {r4-r6,lr} lsls r0, 16 lsrs r4, r0, 16 @@ -428,10 +428,10 @@ _0809A07C: pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_809A000 + thumb_func_end CheckBagHasSpace - thumb_func_start sub_809A084 -sub_809A084: @ 809A084 + thumb_func_start AddBagItem +AddBagItem: @ 809A084 push {r4-r7,lr} mov r7, r8 push {r7} @@ -494,7 +494,7 @@ _0809A0F4: lsls r4, 1 adds r0, r4, 0 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 cmp r0, 0 bne _0809A132 @@ -522,7 +522,7 @@ _0809A132: ldr r4, _0809A1B0 @ =0x0000016d adds r0, r4, 0 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 cmp r0, 0 bne _0809A174 @@ -595,10 +595,10 @@ _0809A1CC: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_809A084 + thumb_func_end AddBagItem - thumb_func_start sub_809A1D8 -sub_809A1D8: @ 809A1D8 + thumb_func_start RemoveBagItem +RemoveBagItem: @ 809A1D8 push {r4-r7,lr} lsls r0, 16 lsrs r4, r0, 16 @@ -667,7 +667,7 @@ _0809A25A: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_809A1D8 + thumb_func_end RemoveBagItem thumb_func_start GetPocketByItemId GetPocketByItemId: @ 809A260 @@ -832,8 +832,8 @@ _0809A35C: _0809A370: .4byte gSaveBlock1Ptr thumb_func_end sub_809A33C - thumb_func_start sub_809A374 -sub_809A374: @ 809A374 + thumb_func_start CheckPCHasItem +CheckPCHasItem: @ 809A374 push {r4-r6,lr} lsls r0, 16 lsrs r6, r0, 16 @@ -875,10 +875,10 @@ _0809A3C0: pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_809A374 + thumb_func_end CheckPCHasItem - thumb_func_start sub_809A3C8 -sub_809A3C8: @ 809A3C8 + thumb_func_start AddPCItem +AddPCItem: @ 809A3C8 push {r4-r7,lr} lsls r0, 16 lsrs r4, r0, 16 @@ -955,7 +955,7 @@ _0809A458: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_809A3C8 + thumb_func_end AddPCItem thumb_func_start sub_809A460 sub_809A460: @ 809A460 diff --git a/asm/item_menu.s b/asm/item_menu.s index 58b74acf3..f8872910f 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -4200,7 +4200,7 @@ _08109F6E: ldr r0, _08109FF4 @ =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r7, 0x10] - bl sub_809A1D8 + bl RemoveBagItem movs r0, 0x6 bl sub_810BA3C ldrb r0, [r7] @@ -5464,7 +5464,7 @@ sub_810A9D4: @ 810A9D4 ldrh r0, [r5] mov r2, r8 ldrh r1, [r2, 0x10] - bl sub_809A1D8 + bl RemoveBagItem ldr r3, _0810AAE0 @ =gSaveBlock1Ptr ldr r4, [r3] movs r7, 0xA4 @@ -5744,7 +5744,7 @@ sub_810AC40: @ 810AC40 ldr r5, _0810ACD0 @ =gSpecialVar_ItemId ldrh r0, [r5] ldrh r1, [r7, 0x10] - bl sub_809A3C8 + bl AddPCItem lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x1 @@ -5839,7 +5839,7 @@ _0810AD1E: cmp r0, 0 beq _0810AD98 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x1 @@ -6120,10 +6120,10 @@ sub_810AF74: @ 810AF74 bl sub_810ADD8 movs r0, 0xD movs r1, 0x1 - bl sub_809A084 + bl AddBagItem movs r0, 0x4 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem ldr r2, _0810AF98 @ =sub_8030AEC movs r0, 0x6 movs r1, 0 @@ -6317,27 +6317,27 @@ sub_810B108: @ 810B108 bl sub_810ADD8 movs r0, 0xD movs r1, 0x1 - bl sub_809A084 + bl AddBagItem movs r0, 0xE movs r1, 0x1 - bl sub_809A084 + bl AddBagItem movs r0, 0xB7 lsls r0, 1 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem movs r0, 0xB6 lsls r0, 1 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem movs r0, 0x4 movs r1, 0x5 - bl sub_809A084 + bl AddBagItem movs r0, 0x3 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem movs r0, 0x8 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem cmp r4, 0x7 beq _0810B160 cmp r4, 0x8 diff --git a/asm/item_pc.s b/asm/item_pc.s index b222b9ca2..0f3c5809b 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -2036,7 +2036,7 @@ sub_810E418: @ 810E418 lsrs r4, r0, 16 ldrh r1, [r5, 0x10] adds r0, r4, 0 - bl sub_809A084 + bl AddBagItem lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/item_use.s b/asm/item_use.s index 558e175f2..e34558a86 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -1361,7 +1361,7 @@ sub_80A1A44: @ 80A1A44 ldr r4, _080A1A84 @ =gSpecialVar_ItemId ldrh r0, [r4] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem ldrh r0, [r4] bl ItemId_GetPocket lsls r0, 24 @@ -1844,7 +1844,7 @@ sub_80A1E1C: @ 80A1E1C ldr r0, _080A1E44 @ =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem bl sub_8108CB4 adds r0, r4, 0 bl sub_8108B50 @@ -1959,7 +1959,7 @@ sub_80A1EF4: @ 80A1EF4 bl PlaySE adds r0, r4, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem adds r0, r4, 0 bl sub_8042DA4 adds r2, r0, 0 diff --git a/asm/party_menu.s b/asm/party_menu.s index c4980f984..86e1c42dc 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -3582,7 +3582,7 @@ sub_8120610: @ 8120610 b _0812064E _0812062C: movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 cmp r0, 0 beq _0812064C @@ -9943,7 +9943,7 @@ _081237CC: beq _081237F8 ldrh r0, [r6] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem movs r0, 0x9 ldrsb r0, [r5, r0] mov r1, r8 @@ -10016,7 +10016,7 @@ sub_8123824: @ 8123824 bl sub_81205C8 adds r0, r4, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem ldr r1, _0812389C @ =gTasks lsls r0, r7, 2 adds r0, r7 @@ -10133,17 +10133,17 @@ _08123956: ldr r5, _08123998 @ =gSpecialVar_ItemId ldrh r0, [r5] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem ldr r6, _0812399C @ =gUnknown_203B0D8 ldrh r0, [r6] movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 cmp r0, 0 bne _081239AC ldrh r0, [r5] movs r1, 0x1 - bl sub_809A084 + bl AddBagItem ldrh r0, [r6] bl sub_8120658 ldr r0, _081239A0 @ =gStringVar4 @@ -10330,10 +10330,10 @@ sub_8123ACC: @ 8123ACC bl SetMonData ldrh r0, [r4] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem mov r0, r8 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem ldrb r0, [r6, 0x8] lsls r0, 28 lsrs r0, 28 @@ -10903,7 +10903,7 @@ _08123FAA: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12735,7 +12735,7 @@ sub_8124E48: @ 8124E48 bhi _08124EB0 adds r0, r1, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem _08124EB0: mov r1, r8 ldr r0, [r1] @@ -12828,7 +12828,7 @@ sub_8124EFC: @ 8124EFC bhi _08124F7C adds r0, r1, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem _08124F7C: mov r1, r8 ldr r0, [r1] @@ -13418,7 +13418,7 @@ _0812544C: beq _0812547E adds r0, r6, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem b _0812547E .align 2, 0 _08125474: .4byte gUnknown_203B0C0 @@ -13963,7 +13963,7 @@ sub_8125898: @ 8125898 bl PlaySE ldrh r0, [r6] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem movs r2, 0xE ldrsh r1, [r5, r2] adds r1, 0xD @@ -14065,7 +14065,7 @@ _081259A0: bl PlaySE adds r0, r5, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem movs r0, 0 ldrsh r1, [r7, r0] adds r1, 0xD @@ -14406,7 +14406,7 @@ sub_8125C48: @ 8125C48 bhi _08125C84 adds r0, r4, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem _08125C84: ldr r1, _08125CD8 @ =gStringVar1 adds r0, r5, 0 @@ -15276,7 +15276,7 @@ sub_8126350: @ 8126350 bl sub_8126440 ldrh r0, [r5] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem ldr r1, _08126428 @ =gStringVar1 adds r0, r4, 0 bl GetMonNickname @@ -16117,7 +16117,7 @@ _08126AB4: ldr r0, _08126ADC @ =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem _08126ABE: ldr r1, _08126AE4 @ =gTasks lsls r0, r4, 2 @@ -16269,7 +16269,7 @@ sub_8126BD4: @ 8126BD4 bl sub_80A2294 ldrh r0, [r5] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem pop {r4,r5} pop {r0} bx r0 @@ -16971,7 +16971,7 @@ sub_812713C: @ 812713C bl SetMonData ldrh r0, [r4] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem adds r0, r7, 0 bl sub_81273AC ldr r0, [r6] @@ -17117,7 +17117,7 @@ _0812728E: ldr r6, _081272C4 @ =gUnknown_203B0D8 ldrh r0, [r6] movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 cmp r0, 0 bne _081272CC @@ -17240,7 +17240,7 @@ _0812739C: .4byte gUnknown_203B0A0 _081273A0: adds r0, r1, 0 movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem _081273A8: pop {r0} bx r0 @@ -17257,14 +17257,14 @@ sub_81273AC: @ 81273AC beq _081273C8 adds r0, r1, 0 movs r1, 0x1 - bl sub_809A3C8 + bl AddPCItem b _081273D0 .align 2, 0 _081273C4: .4byte gUnknown_203B0A0 _081273C8: adds r0, r1, 0 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem _081273D0: lsls r0, 24 lsrs r0, 24 diff --git a/asm/player_pc.s b/asm/player_pc.s index c4eab0f30..4fea7bea1 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -25,7 +25,7 @@ _080EB672: ldrh r0, [r0] adds r1, r6 ldrh r1, [r1] - bl sub_809A3C8 + bl AddPCItem lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1649,7 +1649,7 @@ sub_80EC364: @ 80EC364 adds r5, r1, r0 ldrh r0, [r5, 0x20] movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 cmp r0, 0 bne _080EC3B4 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 37f9e9762..c40afefde 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -5151,7 +5151,7 @@ _0808E2E8: adds r0, r1 ldrh r0, [r0] movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 cmp r0, 0 bne _0808E314 @@ -5504,7 +5504,7 @@ _0808E5E0: adds r0, r1 ldrh r0, [r0] movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6643,7 +6643,7 @@ _0808EF56: mov r0, sp ldrh r0, [r0] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem _0808EF60: add sp, 0x4 pop {r0} diff --git a/asm/scrcmd.s b/asm/scrcmd.s index b1fe31de5..1d957dba0 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -5,569 +5,6 @@ .text - thumb_func_start ScrCmd_setorcopyvar -ScrCmd_setorcopyvar: @ 806A3E0 - push {r4,r5,lr} - adds r4, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScrCmd_setorcopyvar - - thumb_func_start compare_012 -compare_012: @ 806A40C - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r0, r1 - bcs _0806A41E - movs r0, 0 - b _0806A428 -_0806A41E: - cmp r0, r1 - beq _0806A426 - movs r0, 0x2 - b _0806A428 -_0806A426: - movs r0, 0x1 -_0806A428: - pop {r1} - bx r1 - thumb_func_end compare_012 - - thumb_func_start ScrCmd_compare_local_to_local -ScrCmd_compare_local_to_local: @ 806A42C - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r0, [r2] - lsls r0, 2 - adds r3, r4, 0 - adds r3, 0x64 - adds r0, r3, r0 - ldrb r0, [r0] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - lsls r1, 2 - adds r3, r1 - ldrb r1, [r3] - adds r2, 0x1 - str r2, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_local_to_local - - thumb_func_start ScrCmd_compare_local_to_value -ScrCmd_compare_local_to_value: @ 806A45C - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r1, [r2] - lsls r1, 2 - adds r0, 0x64 - adds r0, r1 - ldrb r0, [r0] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_local_to_value - - thumb_func_start ScrCmd_compare_local_to_addr -ScrCmd_compare_local_to_addr: @ 806A484 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r1, [r2] - lsls r1, 2 - adds r0, 0x64 - adds r0, r1 - ldrb r5, [r0] - adds r2, 0x1 - str r2, [r4, 0x8] - adds r0, r4, 0 - bl ScriptReadWord - ldrb r1, [r0] - adds r0, r5, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_local_to_addr - - thumb_func_start ScrCmd_compare_addr_to_local -ScrCmd_compare_addr_to_local: @ 806A4B0 - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - ldrb r0, [r0] - ldr r3, [r4, 0x8] - ldrb r2, [r3] - lsls r2, 2 - adds r1, r4, 0 - adds r1, 0x64 - adds r1, r2 - ldrb r1, [r1] - adds r3, 0x1 - str r3, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_addr_to_local - - thumb_func_start ScrCmd_compare_addr_to_value -ScrCmd_compare_addr_to_value: @ 806A4DC - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - ldrb r0, [r0] - ldr r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_addr_to_value - - thumb_func_start ScrCmd_compare_addr_to_addr -ScrCmd_compare_addr_to_addr: @ 806A4FC - push {r4,r5,lr} - adds r4, r0, 0 - bl ScriptReadWord - ldrb r5, [r0] - adds r0, r4, 0 - bl ScriptReadWord - ldrb r1, [r0] - adds r0, r5, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_addr_to_addr - - thumb_func_start ScrCmd_compare_var_to_value -ScrCmd_compare_var_to_value: @ 806A520 - push {r4,r5,lr} - adds r4, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - ldrh r5, [r0] - adds r0, r4, 0 - bl ScriptReadHalfword - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_var_to_value - - thumb_func_start ScrCmd_compare_var_to_var -ScrCmd_compare_var_to_var: @ 806A550 - push {r4,r5,lr} - adds r4, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - ldrh r2, [r5] - ldrh r1, [r0] - adds r0, r2, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScrCmd_compare_var_to_var - - thumb_func_start ScrCmd_addvar -ScrCmd_addvar: @ 806A584 - push {r4,r5,lr} - adds r5, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r4, r0, 0 - adds r0, r5, 0 - bl ScriptReadHalfword - ldrh r1, [r4] - adds r0, r1 - strh r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScrCmd_addvar - - thumb_func_start ScrCmd_subvar -ScrCmd_subvar: @ 806A5AC - push {r4,r5,lr} - adds r4, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldrh r1, [r5] - subs r1, r0 - strh r1, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScrCmd_subvar - - thumb_func_start ScrCmd_random -ScrCmd_random: @ 806A5DC - push {r4,r5,lr} - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r5, _0806A60C @ =gSpecialVar_Result - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __umodsi3 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806A60C: .4byte gSpecialVar_Result - thumb_func_end ScrCmd_random - - thumb_func_start sub_806A610 -sub_806A610: @ 806A610 - push {r4,r5,lr} - adds r5, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _0806A658 @ =gSpecialVar_Result - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_809A084 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - adds r0, r4, 0 - bl sub_809A824 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806A658: .4byte gSpecialVar_Result - thumb_func_end sub_806A610 - - thumb_func_start ScrCmd_takeitem -ScrCmd_takeitem: @ 806A65C - push {r4,r5,lr} - adds r5, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _0806A69C @ =gSpecialVar_Result - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_809A1D8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806A69C: .4byte gSpecialVar_Result - thumb_func_end ScrCmd_takeitem - - thumb_func_start sub_806A6A0 -sub_806A6A0: @ 806A6A0 - push {r4,r5,lr} - adds r5, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _0806A6E0 @ =gSpecialVar_Result - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_809A000 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806A6E0: .4byte gSpecialVar_Result - thumb_func_end sub_806A6A0 - - thumb_func_start sub_806A6E4 -sub_806A6E4: @ 806A6E4 - push {r4,r5,lr} - adds r5, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _0806A724 @ =gSpecialVar_Result - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8099F40 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806A724: .4byte gSpecialVar_Result - thumb_func_end sub_806A6E4 - - thumb_func_start ScrCmd_checkitemtype -ScrCmd_checkitemtype: @ 806A728 - push {r4,lr} - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r4, _0806A750 @ =gSpecialVar_Result - bl GetPocketByItemId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806A750: .4byte gSpecialVar_Result - thumb_func_end ScrCmd_checkitemtype - - thumb_func_start ScrCmd_givepcitem -ScrCmd_givepcitem: @ 806A754 - push {r4,r5,lr} - adds r5, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r5, _0806A794 @ =gSpecialVar_Result - adds r0, r4, 0 - bl sub_809A3C8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806A794: .4byte gSpecialVar_Result - thumb_func_end ScrCmd_givepcitem - - thumb_func_start ScrCmd_checkpcitem -ScrCmd_checkpcitem: @ 806A798 - push {r4,r5,lr} - adds r5, r0, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r5, _0806A7D8 @ =gSpecialVar_Result - adds r0, r4, 0 - bl sub_809A374 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806A7D8: .4byte gSpecialVar_Result - thumb_func_end ScrCmd_checkpcitem - - thumb_func_start sub_806A7DC -sub_806A7DC: @ 806A7DC - push {lr} - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_806A7DC - - thumb_func_start sub_806A7F0 -sub_806A7F0: @ 806A7F0 - push {lr} - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_806A7F0 - - thumb_func_start sub_806A804 -sub_806A804: @ 806A804 - push {lr} - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_806A804 - - thumb_func_start sub_806A818 -sub_806A818: @ 806A818 - push {lr} - bl ScriptReadHalfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_806A818 - thumb_func_start ScrCmd_setflag ScrCmd_setflag: @ 806A82C push {lr} diff --git a/asm/shop.s b/asm/shop.s index 60b92410d..f710c9a7c 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -2485,7 +2485,7 @@ sub_809BEA4: @ 809BEA4 bl PutWindowTilemap ldrh r0, [r4, 0xA] ldrh r1, [r4, 0x2] - bl sub_809A084 + bl AddBagItem lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index bdd06dfff..5e2b048e2 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -398,7 +398,7 @@ sub_815AEE8: @ 815AEE8 movs r0, 0xB6 lsls r0, 1 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 cmp r0, 0 bne _0815AF30 @@ -443,7 +443,7 @@ sub_815AF5C: @ 815AF5C movs r0, 0xB6 lsls r0, 1 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 cmp r0, 0 bne _0815AF84 diff --git a/asm/tm_case.s b/asm/tm_case.s index 1539343e8..e7812abf2 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -2568,7 +2568,7 @@ sub_8132D34: @ 8132D34 ldrh r0, [r5] mov r2, r8 ldrh r1, [r2, 0x10] - bl sub_809A1D8 + bl RemoveBagItem ldr r7, _08132DFC @ =gSaveBlock1Ptr ldr r4, [r7] movs r3, 0xA4 @@ -2729,16 +2729,16 @@ sub_8132E64: @ 8132E64 bl sub_81320AC ldr r0, _08132F0C @ =0x00000121 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem ldr r0, _08132F10 @ =0x00000123 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem ldr r0, _08132F14 @ =0x00000129 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem ldr r0, _08132F18 @ =0x00000143 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem ldr r1, _08132F1C @ =sub_815ABFC movs r0, 0x4 movs r2, 0 diff --git a/asm/trainer_tower.s b/asm/trainer_tower.s index c1da74a98..8eef5eaf5 100644 --- a/asm/trainer_tower.s +++ b/asm/trainer_tower.s @@ -518,7 +518,7 @@ _0815E458: .4byte gSpecialVar_Result _0815E45C: adds r0, r4, 0 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/unk_810C3A4.s b/asm/unk_810C3A4.s index e7e825483..cabaac727 100644 --- a/asm/unk_810C3A4.s +++ b/asm/unk_810C3A4.s @@ -180,7 +180,7 @@ sub_810C4EC: @ 810C4EC movs r0, 0xB5 lsls r0, 1 movs r1, 0x1 - bl sub_8099F40 + bl CheckBagHasItem lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s index a7761148d..d27d74f84 100644 --- a/asm/unk_8147AA8.s +++ b/asm/unk_8147AA8.s @@ -2300,14 +2300,14 @@ _08148BFC: beq _08148C54 ldrh r0, [r1, 0x3E] ldrh r1, [r2] - bl sub_809A084 + bl AddBagItem lsls r0, 24 cmp r0, 0 beq _08148C54 ldr r0, [r4] ldrh r0, [r0, 0x3E] movs r1, 0x1 - bl sub_809A000 + bl CheckBagHasSpace lsls r0, 24 cmp r0, 0 bne _08148C4C @@ -4162,7 +4162,7 @@ _0814998A: beq _0814999C adds r0, r5, 0 adds r1, r4, 0 - bl sub_809A000 + bl CheckBagHasSpace lsls r0, 24 cmp r0, 0 beq _08149984 diff --git a/asm/unk_814B6F0.s b/asm/unk_814B6F0.s index 90882d61c..8cf90cd23 100644 --- a/asm/unk_814B6F0.s +++ b/asm/unk_814B6F0.s @@ -204,7 +204,7 @@ _0814B878: .4byte gSpecialVar_ItemId _0814B87C: ldrh r0, [r1] movs r1, 0x1 - bl sub_809A1D8 + bl RemoveBagItem _0814B884: ldr r4, _0814B8E0 @ =gUnknown_203F3DC ldr r2, [r4] diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index 0118eff4b..bc9b8c83a 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -6240,7 +6240,7 @@ _08153754: .4byte gUnknown_203F3E0 _08153758: adds r0, r5, 0 movs r1, 0x1 - bl sub_809A000 + bl CheckBagHasSpace lsls r0, 24 cmp r0, 0 bne _0815376A @@ -6249,10 +6249,10 @@ _08153758: _0815376A: adds r0, r6, 0 movs r1, 0x1 - bl sub_809A084 + bl AddBagItem adds r0, r6, 0 movs r1, 0x1 - bl sub_809A000 + bl CheckBagHasSpace lsls r0, 24 cmp r0, 0 beq _08153784 diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index aee959808..46414b0df 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -69,17 +69,17 @@ gScriptCmdTable:: @ 815F9B4 .4byte sub_806AF10 .4byte ScrCmd_getplayerxy .4byte ScrCmd_getpartysize - .4byte sub_806A610 + .4byte ScrCmd_giveitem .4byte ScrCmd_takeitem - .4byte sub_806A6A0 - .4byte sub_806A6E4 + .4byte ScrCmd_checkitemspace + .4byte ScrCmd_checkitem .4byte ScrCmd_checkitemtype .4byte ScrCmd_givepcitem .4byte ScrCmd_checkpcitem - .4byte sub_806A7DC - .4byte sub_806A7F0 - .4byte sub_806A818 - .4byte sub_806A804 + .4byte ScrCmd_givedecoration + .4byte ScrCmd_takedecoration + .4byte ScrCmd_checkdecor + .4byte ScrCmd_checkdecorspace .4byte ScrCmd_applymovement .4byte ScrCmd_applymovement_at .4byte ScrCmd_waitmovement diff --git a/include/item.h b/include/item.h index 75c56c94d..2d6bb9370 100644 --- a/include/item.h +++ b/include/item.h @@ -63,5 +63,6 @@ u16 itemid_get_market_price(u16 itemId); void sub_809A2DC(void); void sub_809A2A4(void); void sub_8099E90(u16, u8 *); +void sub_809A824(u16 itemId); #endif // ITEM_H diff --git a/src/scrcmd.c b/src/scrcmd.c index 20f1dbc3b..9802791bf 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -3,6 +3,8 @@ #include "script.h" #include "mystery_event_script.h" #include "event_data.h" +#include "random.h" +#include "item.h" extern u16 (*const gSpecials[])(void); extern u16 (*const gSpecialsEnd[])(void); @@ -311,9 +313,218 @@ SCRCMD_DEF(ScrCmd_copyvar) return FALSE; } +SCRCMD_DEF(ScrCmd_setorcopyvar) +{ + u16 * destPtr = GetVarPointer(ScriptReadHalfword(ctx)); + *destPtr = VarGet(ScriptReadHalfword(ctx)); + return FALSE; +} + u8 * const sScriptStringVars[] = { gStringVar1, gStringVar2, gStringVar3, }; + +u8 compare_012(u16 left, u16 right) +{ + if (left < right) + return 0; + else if (left == right) + return 1; + else + return 2; +} + +// comparelocaltolocal +SCRCMD_DEF(ScrCmd_compare_local_to_local) +{ + const u8 value1 = ctx->data[ScriptReadByte(ctx)]; + const u8 value2 = ctx->data[ScriptReadByte(ctx)]; + + ctx->comparisonResult = compare_012(value1, value2); + return FALSE; +} + +// comparelocaltoimm +SCRCMD_DEF(ScrCmd_compare_local_to_value) +{ + const u8 value1 = ctx->data[ScriptReadByte(ctx)]; + const u8 value2 = ScriptReadByte(ctx); + + ctx->comparisonResult = compare_012(value1, value2); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_compare_local_to_addr) +{ + const u8 value1 = ctx->data[ScriptReadByte(ctx)]; + const u8 value2 = *(const u8 *)ScriptReadWord(ctx); + + ctx->comparisonResult = compare_012(value1, value2); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_compare_addr_to_local) +{ + const u8 value1 = *(const u8 *)ScriptReadWord(ctx); + const u8 value2 = ctx->data[ScriptReadByte(ctx)]; + + ctx->comparisonResult = compare_012(value1, value2); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_compare_addr_to_value) +{ + const u8 value1 = *(const u8 *)ScriptReadWord(ctx); + const u8 value2 = ScriptReadByte(ctx); + + ctx->comparisonResult = compare_012(value1, value2); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_compare_addr_to_addr) +{ + const u8 value1 = *(const u8 *)ScriptReadWord(ctx); + const u8 value2 = *(const u8 *)ScriptReadWord(ctx); + + ctx->comparisonResult = compare_012(value1, value2); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_compare_var_to_value) +{ + const u16 value1 = *GetVarPointer(ScriptReadHalfword(ctx)); + const u16 value2 = ScriptReadHalfword(ctx); + + ctx->comparisonResult = compare_012(value1, value2); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_compare_var_to_var) +{ + const u16 *ptr1 = GetVarPointer(ScriptReadHalfword(ctx)); + const u16 *ptr2 = GetVarPointer(ScriptReadHalfword(ctx)); + + ctx->comparisonResult = compare_012(*ptr1, *ptr2); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_addvar) +{ + u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx)); + *ptr += ScriptReadHalfword(ctx); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_subvar) +{ + u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx)); + *ptr -= VarGet(ScriptReadHalfword(ctx)); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_random) +{ + u16 max = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = Random() % max; + return FALSE; +} + +SCRCMD_DEF(ScrCmd_giveitem) +{ + u16 itemId = VarGet(ScriptReadHalfword(ctx)); + u32 quantity = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = AddBagItem(itemId, (u8)quantity); + sub_809A824(itemId); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_takeitem) +{ + u16 itemId = VarGet(ScriptReadHalfword(ctx)); + u32 quantity = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = RemoveBagItem(itemId, (u8)quantity); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_checkitemspace) +{ + u16 itemId = VarGet(ScriptReadHalfword(ctx)); + u32 quantity = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = CheckBagHasSpace(itemId, (u8)quantity); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_checkitem) +{ + u16 itemId = VarGet(ScriptReadHalfword(ctx)); + u32 quantity = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = CheckBagHasItem(itemId, (u8)quantity); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_checkitemtype) +{ + u16 itemId = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = GetPocketByItemId(itemId); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_givepcitem) +{ + u16 itemId = VarGet(ScriptReadHalfword(ctx)); + u16 quantity = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = AddPCItem(itemId, quantity); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_checkpcitem) +{ + u16 itemId = VarGet(ScriptReadHalfword(ctx)); + u16 quantity = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = CheckPCHasItem(itemId, quantity); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_givedecoration) +{ + u32 decorId = VarGet(ScriptReadHalfword(ctx)); + +// gSpecialVar_Result = DecorationAdd(decorId); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_takedecoration) +{ + u32 decorId = VarGet(ScriptReadHalfword(ctx)); + +// gSpecialVar_Result = DecorationRemove(decorId); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_checkdecorspace) +{ + u32 decorId = VarGet(ScriptReadHalfword(ctx)); + +// gSpecialVar_Result = DecorationCheckSpace(decorId); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_checkdecor) +{ + u32 decorId = VarGet(ScriptReadHalfword(ctx)); + +// gSpecialVar_Result = CheckHasDecoration(decorId); + return FALSE; +} + |