summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-05-26 18:39:41 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-05-26 18:39:41 -0400
commit52cafb3668633e3c41ab3e69d47848cacb911e1c (patch)
tree9f84547a65bac749081167f5ebc6b032dc87766f
parent059a3d1496fc192b35e3a6779195d28ad35cc499 (diff)
Finish decomping scrcmd_mart.c
-rw-r--r--arm9/arm9.lsf1
-rw-r--r--arm9/asm/scrcmd_2.s119
-rw-r--r--arm9/asm/unk_02038C78.s10
-rw-r--r--arm9/global.inc10
-rw-r--r--arm9/modules/06/include/module_06.h10
-rw-r--r--arm9/src/scrcmd_mart.c203
-rw-r--r--include/constants/decorations.h144
-rw-r--r--include/scrcmd.h7
8 files changed, 295 insertions, 209 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index cceff08b..f68d3633 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -158,7 +158,6 @@ Static arm9
Object scrcmd.o
Object scrcmd_asm.o
Object scrcmd_mart.o
- Object scrcmd_2.o
Object scrcmd_3.o
Object scrcmd_names.o
Object scrcmd_5.o
diff --git a/arm9/asm/scrcmd_2.s b/arm9/asm/scrcmd_2.s
deleted file mode 100644
index 418d10bf..00000000
--- a/arm9/asm/scrcmd_2.s
+++ /dev/null
@@ -1,119 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .extern UNK_02105DEC
- .extern UNK_02105DF4
- .extern UNK_02105E10
-
- .text
-
- thumb_func_start FUN_0203FDBC
-FUN_0203FDBC: ; 0x0203FDBC
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl VarGet
- add r2, r0, #0x0
- ldr r0, _0203FE00 ; =0x0000FFF8
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x5
- bhi _0203FDE4
- mov r0, #0x1
- b _0203FDE6
-_0203FDE4:
- mov r0, #0x0
-_0203FDE6:
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE04 ; =UNK_02105E10
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x0
- bl MOD06_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE00: .word 0x0000FFF8
-_0203FE04: .word UNK_02105E10
-
- thumb_func_start FUN_0203FE08
-FUN_0203FE08: ; 0x0203FE08
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl VarGet
- add r2, r0, #0x0
- cmp r2, #0x1
- bhi _0203FE28
- mov r0, #0x1
- b _0203FE2A
-_0203FE28:
- mov r0, #0x0
-_0203FE2A:
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE44 ; =UNK_02105DEC
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x1
- bl MOD06_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE44: .word UNK_02105DEC
-
- thumb_func_start FUN_0203FE48
-FUN_0203FE48: ; 0x0203FE48
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl VarGet
- add r2, r0, #0x0
- mov r0, #0x0
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE7C ; =UNK_02105DF4
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x2
- bl MOD06_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE7C: .word UNK_02105DF4
-
- thumb_func_start FUN_0203FE80
-FUN_0203FE80: ; 0x0203FE80
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02038AD0
- mov r0, #0x1
- pop {r3, pc}
diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s
index bcf7b7cf..a49b0387 100644
--- a/arm9/asm/unk_02038C78.s
+++ b/arm9/asm/unk_02038C78.s
@@ -476,10 +476,10 @@ gScriptCmdTable: ; 0x020F355C
.word FUN_0203D66C
.word FUN_0203D6C4
.word FUN_0203D560
- .word FUN_0203FCF4
- .word FUN_0203FDBC
- .word FUN_0203FE08
- .word FUN_0203FE48
+ .word ScrCmd_NormalMart
+ .word ScrCmd_SpecialMart
+ .word ScrCmd_GoodsMart
+ .word ScrCmd_SealsMart
.word FUN_0203D868
.word FUN_0203D874
.word ScrCmd_getplayergender
@@ -748,7 +748,7 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk0254
.word ScrCmd_Unk0255
.word ScrCmd_Unk0256
- .word FUN_0203FE80
+ .word ScrCmd_AccessoriesShop
.word FUN_0203EDA4
.word FUN_0203EDC8
.word FUN_0203EDE0
diff --git a/arm9/global.inc b/arm9/global.inc
index d4d6b78c..fda0c781 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -3114,11 +3114,11 @@
.extern FUN_0203FC80
.extern FUN_0203FCB0
.extern FUN_0203FCDC
-.extern FUN_0203FCF4
-.extern FUN_0203FDBC
-.extern FUN_0203FE08
-.extern FUN_0203FE48
-.extern FUN_0203FE80
+.extern ScrCmd_NormalMart
+.extern ScrCmd_SpecialMart
+.extern ScrCmd_GoodsMart
+.extern ScrCmd_SealsMart
+.extern ScrCmd_AccessoriesShop
.extern FUN_0203FE90
.extern FUN_0203FEC0
.extern FUN_0203FF10
diff --git a/arm9/modules/06/include/module_06.h b/arm9/modules/06/include/module_06.h
index f8d2c4fb..d9915f00 100644
--- a/arm9/modules/06/include/module_06.h
+++ b/arm9/modules/06/include/module_06.h
@@ -1,6 +1,14 @@
#ifndef POKEDIAMOND_MODULE_06_H
#define POKEDIAMOND_MODULE_06_H
-void MOD06_0223D3D0(struct UnkStruct_0204639C *, struct UnkSavStruct80 *, u16 *, u32, u32);
+enum MartType
+{
+ MART_ITEMS = 0,
+ MART_GOODS,
+ MART_SEALS,
+ MART_DECORATIONS = MART_GOODS,
+};
+
+void MOD06_0223D3D0(struct UnkStruct_0204639C *, struct UnkSavStruct80 *, const u16 *, enum MartType, u32);
#endif //POKEDIAMOND_MODULE_06_H
diff --git a/arm9/src/scrcmd_mart.c b/arm9/src/scrcmd_mart.c
index 8f49e0e4..6803617c 100644
--- a/arm9/src/scrcmd_mart.c
+++ b/arm9/src/scrcmd_mart.c
@@ -1,8 +1,12 @@
#include "global.h"
#include "constants/items.h"
+#include "constants/seal_constants.h"
+#include "constants/decorations.h"
#include "scrcmd.h"
#include "module_06.h"
+extern void FUN_02038AD0(struct UnkStruct_0204639C *);
+
static const u16 UNK_020F40A6[] = {
ITEM_AIR_MAIL,
ITEM_HEAL_BALL,
@@ -94,21 +98,21 @@ static const u16 UNK_020F40E4[] = {
};
static const u16 UNK_020F410C[] = {
- ITEM_DIVE_BALL,
- ITEM_PARLYZ_HEAL,
- ITEM_HYPER_POTION,
- ITEM_SUPER_POTION,
- ITEM_FULL_HEAL,
+ DECORATION_YELLOW_CUSHION,
+ DECORATION_CUPBOARD,
+ DECORATION_TV,
+ DECORATION_REFRIGERATOR,
+ DECORATION_PRETTY_SINK,
0xFFFF
};
static const u16 UNK_020F4118[] = {
- 115,
- 116,
- 117,
- 119,
- 120,
- 121,
+ DECORATION_MUNCHLAX_DOLL,
+ DECORATION_BONSLY_DOLL,
+ DECORATION_MIME_JR__DOLL,
+ DECORATION_MANTYKE_DOLL,
+ DECORATION_BUIZEL_DOLL,
+ DECORATION_CHATOT_DOLL,
0xFFFF
};
@@ -133,57 +137,57 @@ static const u16 UNK_020F4134[] = {
};
static const u16 UNK_020F41B2[] = {
- ITEM_DIVE_BALL,
- ITEM_CALCIUM,
- ITEM_REVIVE,
- ITEM_LAVA_COOKIE,
- ITEM_HEAL_BALL,
- ITEM_AWAKENING,
- ITEM_ENERGY_ROOT,
+ SEAL_STAR_A,
+ SEAL_A,
+ SEAL_FIRE_A,
+ SEAL_SONG_A,
+ SEAL_LINE_B,
+ SEAL_ELE_B,
+ SEAL_PARTY_D,
0xFFFF
};
static const u16 UNK_020F4142[] = {
- ITEM_ULTRA_BALL,
- ITEM_REPEAT_BALL,
- ITEM_FRESH_WATER,
- ITEM_REVIVAL_HERB,
- ITEM_SACRED_ASH,
- ITEM_CHERISH_BALL,
- ITEM_FULL_RESTORE,
+ SEAL_HEART_B,
+ SEAL_STAR_C,
+ SEAL_FIRE_C,
+ SEAL_FLORA_B,
+ SEAL_SONG_C,
+ SEAL_SMOKE_A,
+ SEAL_ELE_D,
0xFFFF
};
static const u16 UNK_020F4152[] = {
- ITEM_FULL_HEAL,
- ITEM_ENERGYPOWDER,
- ITEM_MAX_ELIXIR,
- ITEM_CARBOS,
- ITEM_NET_BALL,
- ITEM_DUSK_BALL,
- ITEM_ICE_HEAL,
+ SEAL_FOAMY_D,
+ SEAL_PARTY_C,
+ SEAL_FLORA_F,
+ SEAL_SONG_G,
+ SEAL_HEART_F,
+ SEAL_LINE_A,
+ SEAL_ELE_A,
0xFFFF
};
static const u16 UNK_020F4162[] = {
- ITEM_GREAT_BALL,
- ITEM_TIMER_BALL,
- ITEM_SODA_POP,
- ITEM_ETHER,
- ITEM_HP_UP,
- ITEM_POTION,
- ITEM_MAX_POTION,
+ SEAL_HEART_C,
+ SEAL_STAR_D,
+ SEAL_FIRE_D,
+ SEAL_FLORA_C,
+ SEAL_SONG_D,
+ SEAL_SMOKE_B,
+ SEAL_FOAMY_A,
0xFFFF
};
static const u16 UNK_020F4172[] = {
- ITEM_POKE_BALL,
- ITEM_HYPER_POTION,
- ITEM_LEMONADE,
- ITEM_MAX_ETHER,
- ITEM_PROTEIN,
- ITEM_LUXURY_BALL,
- ITEM_ANTIDOTE,
+ SEAL_HEART_D,
+ SEAL_FOAMY_B,
+ SEAL_PARTY_A,
+ SEAL_FLORA_D,
+ SEAL_SONG_E,
+ SEAL_STAR_E,
+ SEAL_SMOKE_C,
0xFFFF
};
@@ -199,24 +203,24 @@ static const u16 UNK_020F4182[] = {
};
static const u16 UNK_020F4192[] = {
- ITEM_MASTER_BALL,
- ITEM_NEST_BALL,
- ITEM_MAX_REVIVE,
- ITEM_BERRY_JUICE,
- ITEM_QUICK_BALL,
- ITEM_PARLYZ_HEAL,
- ITEM_HEAL_POWDER,
+ SEAL_HEART_A,
+ SEAL_STAR_B,
+ SEAL_FIRE_B,
+ SEAL_SONG_B,
+ SEAL_LINE_C,
+ SEAL_ELE_C,
+ SEAL_FLORA_A,
0xFFFF
};
static const u16 UNK_020F41A2[] = {
- ITEM_SUPER_POTION,
- ITEM_MOOMOO_MILK,
- ITEM_ELIXIR,
- ITEM_IRON,
- ITEM_SAFARI_BALL,
- ITEM_PREMIER_BALL,
- ITEM_BURN_HEAL,
+ SEAL_FOAMY_C,
+ SEAL_PARTY_B,
+ SEAL_FLORA_E,
+ SEAL_SONG_F,
+ SEAL_HEART_E,
+ SEAL_STAR_F,
+ SEAL_SMOKE_D,
0xFFFF
};
@@ -275,7 +279,7 @@ static const u16 UNK_020F41FE[] = {
0xFFFF
};
-static const u16 UNK_020F4218[][2] = {
+static const u16 sNormalMartBadgeThresholds[][2] = {
// Balls
{ITEM_POKE_BALL, 1},
{ITEM_GREAT_BALL, 3},
@@ -303,22 +307,12 @@ static const u16 UNK_020F4218[][2] = {
{ITEM_MAX_REPEL, 4},
};
-const u16 *UNK_02105DEC[] = {
+const u16 *sDecorationMartPointers[] = {
UNK_020F410C,
UNK_020F4118,
};
-const u16 *UNK_02105DF4[] = {
- UNK_020F4192,
- UNK_020F4142,
- UNK_020F4162,
- UNK_020F4172,
- UNK_020F41A2,
- UNK_020F4152,
- UNK_020F41B2,
-};
-
-const u16 *UNK_02105E10[] = {
+const u16 *sSpecialMartPointers[] = {
UNK_020F40A6,
UNK_020F40B4,
UNK_020F40AC,
@@ -340,7 +334,17 @@ const u16 *UNK_02105E10[] = {
UNK_020F41C2,
};
-THUMB_FUNC BOOL FUN_0203FCF4(struct ScriptContext * ctx)
+const u16 *sSealsMartPointers[] = {
+ UNK_020F4192,
+ UNK_020F4142,
+ UNK_020F4162,
+ UNK_020F4172,
+ UNK_020F41A2,
+ UNK_020F4152,
+ UNK_020F41B2,
+};
+
+THUMB_FUNC BOOL ScrCmd_NormalMart(struct ScriptContext * ctx)
{
u16 whichMart = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
s32 param;
@@ -381,15 +385,58 @@ THUMB_FUNC BOOL FUN_0203FCF4(struct ScriptContext * ctx)
param = 1;
break;
}
- for (i = 0; i < NELEMS(UNK_020F4218); i++)
+ for (i = 0; i < NELEMS(sNormalMartBadgeThresholds); i++)
{
- if (param >= UNK_020F4218[i][1])
+ if (param >= sNormalMartBadgeThresholds[i][1])
{
- martItems[martIdx] = UNK_020F4218[i][0];
+ martItems[martIdx] = sNormalMartBadgeThresholds[i][0];
martIdx++;
}
}
martItems[martIdx] = 0xFFFF; // terminator
- MOD06_0223D3D0(ctx->unk74, ctx->unk80, martItems, 0, 0);
+ MOD06_0223D3D0(ctx->unk74, ctx->unk80, martItems, MART_ITEMS, 0);
+ return TRUE;
+}
+
+THUMB_FUNC BOOL ScrCmd_SpecialMart(struct ScriptContext * ctx)
+{
+ u16 whichMart = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u32 sp0;
+
+ // Fakematch?
+ if ((u16)(whichMart + (u16)(-8u)) <= 5)
+ sp0 = 1;
+ else
+ sp0 = 0;
+
+ MOD06_0223D3D0(ctx->unk74, ctx->unk80, sSpecialMartPointers[whichMart], MART_ITEMS, sp0);
+ return TRUE;
+}
+
+THUMB_FUNC BOOL ScrCmd_GoodsMart(struct ScriptContext * ctx)
+{
+ u16 whichMart = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u32 sp0;
+
+ if (whichMart <= 1)
+ sp0 = 1;
+ else
+ sp0 = 0;
+
+ MOD06_0223D3D0(ctx->unk74, ctx->unk80, sDecorationMartPointers[whichMart], MART_DECORATIONS, sp0);
+ return TRUE;
+}
+
+THUMB_FUNC BOOL ScrCmd_SealsMart(struct ScriptContext * ctx)
+{
+ u16 whichMart = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+
+ MOD06_0223D3D0(ctx->unk74, ctx->unk80, sSealsMartPointers[whichMart], MART_SEALS, 0);
+ return TRUE;
+}
+
+THUMB_FUNC BOOL ScrCmd_AccessoriesShop(struct ScriptContext * ctx)
+{
+ FUN_02038AD0(ctx->unk80->unk10);
return TRUE;
}
diff --git a/include/constants/decorations.h b/include/constants/decorations.h
new file mode 100644
index 00000000..e9b4e947
--- /dev/null
+++ b/include/constants/decorations.h
@@ -0,0 +1,144 @@
+#ifndef POKEDIAMOND_DECORATIONS_H
+#define POKEDIAMOND_DECORATIONS_H
+
+#define DECORATION_NONE 0
+#define DECORATION_DUMMY_1 1
+#define DECORATION_DUMMY_2 2
+#define DECORATION_DUMMY_3 3
+#define DECORATION_DUMMY_4 4
+#define DECORATION_DUMMY_5 5
+#define DECORATION_BIG_BOULDER 6
+#define DECORATION_YELLOW_CUSHION 7
+#define DECORATION_BLUE_CUSHION 8
+#define DECORATION_WOODEN_CHAIR 9
+#define DECORATION_BIG_TABLE 10
+#define DECORATION_PLAIN_TABLE 11
+#define DECORATION_SMALL_TABLE 12
+#define DECORATION_LONG_TABLE 13
+#define DECORATION_WIDE_TABLE 14
+#define DECORATION_POKE_TABLE 15
+#define DECORATION_BIG_BOOKSHELF 16
+#define DECORATION_SMALL_BOOKSHELF 17
+#define DECORATION_RESEARCH_SHELF 18
+#define DECORATION_BIKE_RACK 19
+#define DECORATION_SHOP_SHELF 20
+#define DECORATION_DISPLAY_SHELF 21
+#define DECORATION_CUPBOARD 22
+#define DECORATION_WOOD_DRESSER 23
+#define DECORATION_PINK_DRESSER 24
+#define DECORATION_TV 25
+#define DECORATION_REFRIGERATOR 26
+#define DECORATION_PRETTY_SINK 27
+#define DECORATION_FEATHERY_BED 28
+#define DECORATION_TRASH_CAN 29
+#define DECORATION_CARDBOARD_BOX 30
+#define DECORATION_CRATE 31
+#define DECORATION_CONTAINER 32
+#define DECORATION_OIL_DRUM 33
+#define DECORATION_BIG_OIL_DRUM 34
+#define DECORATION_IRON_BEAM 35
+#define DECORATION_POTTED_PLANT 36
+#define DECORATION_POKE_FLOWER 37
+#define DECORATION_HEALING_MACHINE 38
+#define DECORATION_LAB_MACHINE 39
+#define DECORATION_TEST_MACHINE 40
+#define DECORATION_GAME_SYSTEM 41
+#define DECORATION_VENDING_MACHINE 42
+#define DECORATION_RED_BIKE 43
+#define DECORATION_GREEN_BIKE 44
+#define DECORATION_BINOCULARS 45
+#define DECORATION_GLOBE 46
+#define DECORATION_GYM_STATUE 47
+#define DECORATION_RED_TENT 48
+#define DECORATION_BLUE_TENT 49
+#define DECORATION_CLEAR_TENT 50
+#define DECORATION_MAZE_BLOCK_1 51
+#define DECORATION_MAZE_BLOCK_2 52
+#define DECORATION_MAZE_BLOCK_3 53
+#define DECORATION_MAZE_BLOCK_4 54
+#define DECORATION_MAZE_BLOCK_5 55
+#define DECORATION_HOLE_TOOL 56
+#define DECORATION_PIT_TOOL 57
+#define DECORATION_SMOKE_TOOL 58
+#define DECORATION_BIG_SMOKE_TOOL 59
+#define DECORATION_ROCK_TOOL 60
+#define DECORATION_ROCKFALL_TOOL 61
+#define DECORATION_FOAM_TOOL 62
+#define DECORATION_BUBBLE_TOOL 63
+#define DECORATION_ALERT_TOOL_1 64
+#define DECORATION_ALERT_TOOL_2 65
+#define DECORATION_ALERT_TOOL_3 66
+#define DECORATION_ALERT_TOOL_4 67
+#define DECORATION_LEAF_TOOL 68
+#define DECORATION_FLOWER_TOOL 69
+#define DECORATION_EMBER_TOOL 70
+#define DECORATION_FIRE_TOOL 71
+#define DECORATION_CUTE_CUP 72
+#define DECORATION_COOL_CUP 73
+#define DECORATION_BEAUTY_CUP 74
+#define DECORATION_TOUGH_CUP 75
+#define DECORATION_CLEVER_CUP 76
+#define DECORATION_BLUE_CRYSTAL 77
+#define DECORATION_PINK_CRYSTAL 78
+#define DECORATION_RED_CRYSTAL 79
+#define DECORATION_YELLOW_CRYSTAL 80
+#define DECORATION_PRETTY_GEM 81
+#define DECORATION_SHINY_GEM 82
+#define DECORATION_MYSTIC_GEM 83
+#define DECORATION_GLITTER_GEM 84
+#define DECORATION_BRONZE_TROPHY 85
+#define DECORATION_SILVER_TROPHY 86
+#define DECORATION_GOLD_TROPHY 87
+#define DECORATION_GREAT_TROPHY 88
+#define DECORATION_BALL_ORNAMENT 89
+#define DECORATION_ROUND_ORNAMENT 90
+#define DECORATION_CLEAR_ORNAMENT 91
+#define DECORATION_CHARMANDER_DOLL 92
+#define DECORATION_BULBASAUR_DOLL 93
+#define DECORATION_SQUIRTLE_DOLL 94
+#define DECORATION_CYNDAQUIL_DOLL 95
+#define DECORATION_CHIKORITA_DOLL 96
+#define DECORATION_TOTODILE_DOLL 97
+#define DECORATION_TORCHIC_DOLL 98
+#define DECORATION_TREECKO_DOLL 99
+#define DECORATION_MUDKIP_DOLL 100
+#define DECORATION_CHIMCHAR_DOLL 101
+#define DECORATION_TURTWIG_DOLL 102
+#define DECORATION_PIPLUP_DOLL 103
+#define DECORATION_PIKACHU_DOLL 104
+#define DECORATION_PLUSLE_DOLL 105
+#define DECORATION_MINUN_DOLL 106
+#define DECORATION_CLEFAIRY_DOLL 107
+#define DECORATION_JIGGLYPUFF_DOLL 108
+#define DECORATION_WOBBUFFET_DOLL 109
+#define DECORATION_MEOWTH_DOLL 110
+#define DECORATION_SKITTY_DOLL 111
+#define DECORATION_GLAMEOW_DOLL 112
+#define DECORATION_BUNEARY_DOLL 113
+#define DECORATION_WEAVILE_DOLL 114
+#define DECORATION_MUNCHLAX_DOLL 115
+#define DECORATION_BONSLY_DOLL 116
+#define DECORATION_MIME_JR__DOLL 117
+#define DECORATION_LUCARIO_DOLL 118
+#define DECORATION_MANTYKE_DOLL 119
+#define DECORATION_BUIZEL_DOLL 120
+#define DECORATION_CHATOT_DOLL 121
+#define DECORATION_MANAPHY_DOLL 122
+#define DECORATION_SNORLAX_DOLL 123
+#define DECORATION_WAILORD_DOLL 124
+#define DECORATION_MAGNEZONE_DOLL 125
+#define DECORATION_DRIFLOON_DOLL 126
+#define DECORATION_HAPPINY_DOLL 127
+#define DECORATION_PACHIRISU_DOLL 128
+#define DECORATION_129 129
+#define DECORATION_130 130
+#define DECORATION_131 131
+#define DECORATION_132 132
+#define DECORATION_WIDE_SOFA 133
+#define DECORATION_BONSAI 134
+#define DECORATION_DAINTY_FLOWERS 135
+#define DECORATION_LOVELY_FLOWERS 136
+#define DECORATION_PRETTY_FLOWERS 137
+#define DECORATION_LAVISH_FLOWERS 138
+
+#endif //POKEDIAMOND_DECORATIONS_H
diff --git a/include/scrcmd.h b/include/scrcmd.h
index a1906e2d..13306ed1 100644
--- a/include/scrcmd.h
+++ b/include/scrcmd.h
@@ -107,6 +107,13 @@ BOOL ScrCmd_Unk02CF(struct ScriptContext *ctx);
BOOL ScrCmd_Unk02D0(struct ScriptContext *ctx);
BOOL ScrCmd_Unk005E(struct ScriptContext *ctx);
+// scrcmd_mart.c
+BOOL ScrCmd_NormalMart(struct ScriptContext * ctx);
+BOOL ScrCmd_SpecialMart(struct ScriptContext * ctx);
+BOOL ScrCmd_GoodsMart(struct ScriptContext * ctx);
+BOOL ScrCmd_SealsMart(struct ScriptContext * ctx);
+BOOL ScrCmd_AccessoriesShop(struct ScriptContext * ctx);
+
//scrcmd_4.c
BOOL ScrCmd_GetPlayerName(struct ScriptContext* ctx);
BOOL ScrCmd_GetRivalName(struct ScriptContext* ctx);