summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-06-12 20:46:11 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-06-12 20:46:11 -0400
commita68130a6a87530cfd2903aeec80e36d4fdd8b0c5 (patch)
treee0bd7e4921ddacc3a7787f370ae89213eb832616 /src
parent80c0abef8c4eb5e839d559c905333e0cbd371103 (diff)
parentba6ba4ff2c323559f4534edc12c68a1eafdb5cb4 (diff)
Merge branch 'decoration' of github.com:pikalaxalt/pokeruby into decoration
Diffstat (limited to 'src')
-rwxr-xr-xsrc/decoration.c120
-rwxr-xr-xsrc/secret_base.c3
2 files changed, 122 insertions, 1 deletions
diff --git a/src/decoration.c b/src/decoration.c
index 0ebeda765..d61d72baa 100755
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -2565,3 +2565,123 @@ void sub_81015B0(u8 taskId)
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_81015E0;
}
+
+void sub_81015E0(u8 taskId)
+{
+ switch (gTasks[taskId].data[2])
+ {
+ case 0:
+ if (!gPaletteFade.active)
+ {
+ sub_80FF114(taskId);
+ gTasks[taskId].data[2] = 1;
+ }
+ break;
+ case 1:
+ sub_81016F4();
+ gUnknown_0300485C = sub_8101678;
+ SetMainCallback2(c2_exit_to_overworld_2_switch);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void sub_8101648(u8 taskId)
+{
+ if (sub_807D770() == TRUE)
+ {
+ gTasks[taskId].func = Task_DecorationPCProcessMenuInput;
+ }
+}
+
+void sub_8101678(void)
+{
+ pal_fill_black();
+ MenuDisplayMessageBox();
+ sub_80FE220();
+ CreateTask(sub_8101648, 8);
+}
+
+void sub_8101698(struct Sprite *sprite)
+{
+ sprite->data0 = (sprite->data0 + 1) & 0x1f;
+ if (sprite->data0 >= 16)
+ {
+ sprite->invisible = TRUE;
+ } else
+ {
+ sprite->invisible = FALSE;
+ }
+}
+
+void sub_81016C8(void)
+{
+ if (gSaveBlock2.playerGender == MALE)
+ {
+ LoadSpritePalette(&gUnknown_083ECA5C);
+ } else
+ {
+ LoadSpritePalette(&gUnknown_083ECA64);
+ }
+}
+
+void sub_81016F4(void)
+{
+ FreeSpritePaletteByTag(8);
+}
+
+void sub_8101700(u8 taskId)
+{
+ if (!sub_81341D4())
+ {
+ DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0);
+ } else
+ {
+ gTasks[taskId].data[11] = 1;
+ gUnknown_020388F6 = 0;
+ sub_80FE5AC(taskId);
+ }
+}
+
+void sub_8101750(u8 taskId)
+{
+ if (!sub_81341D4())
+ {
+ DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0);
+ } else
+ {
+ gTasks[taskId].data[11] = 2;
+ gUnknown_020388F6 = 0;
+ sub_80FE5AC(taskId);
+ }
+}
+
+void sub_81017A0(u8 taskId)
+{
+ sub_80FEF74();
+ sub_80FED1C();
+ if (sub_80FEFA4() == TRUE)
+ {
+ StringCopy(gStringVar1, gDecorations[gUnknown_020388D0[gUnknown_020388F5]].name);
+ StringExpandPlaceholders(gStringVar4, gSecretBaseText_WillBeDiscarded);
+ DisplayItemMessageOnField(taskId, gStringVar4, sub_8101824, 0);
+ } else
+ {
+ DisplayItemMessageOnField(taskId, gSecretBaseText_DecorInUse, sub_80FEFF4, 0);
+ }
+}
+
+void sub_8101824(u8 taskId)
+{
+ DisplayYesNoMenu(20, 8, 1);
+ sub_80F914C(taskId, &gUnknown_083ECAA0);
+}
+
+void sub_8101848(u8 taskId)
+{
+ MenuZeroFillWindowRect(20, 8, 26, 14);
+ sub_8109A30(gUnknown_020388D0[gUnknown_020388F5]);
+ gUnknown_020388D0[gUnknown_020388F5] = DECOR_NONE;
+ sub_80FF098(taskId);
+ DisplayItemMessageOnField(taskId, gSecretBaseText_DecorThrownAway, sub_80FEFF4, 0);
+}
diff --git a/src/secret_base.c b/src/secret_base.c
index c074d6549..4ff0b6b17 100755
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -12,10 +12,11 @@
#include "map_constants.h"
#include "task.h"
#include "palette.h"
-#include "decoration.h"
#include "field_weather.h"
#include "metatile_behavior.h"
#include "pokemon.h"
+#include "script.h"
+#include "decoration.h"
extern u8 gUnknown_020387DC;
extern u16 gSpecialVar_0x8004;