From d0c276a0d89703dd42683ba392f467336be0b78d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 3 Jun 2017 19:44:08 -0400 Subject: Several smaller functions in decoration.s --- src/decoration.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 161 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/decoration.c b/src/decoration.c index 63fe83b48..a001ffba9 100755 --- a/src/decoration.c +++ b/src/decoration.c @@ -5,6 +5,7 @@ #include "songs.h" #include "string_util.h" #include "menu.h" +#include "menu_helpers.h" #include "strings.h" #include "script.h" #include "palette.h" @@ -1636,5 +1637,164 @@ bool8 sub_80FFC24(u8 taskId, struct Decoration *decoration) "\tbx r1\n" ".syntax divided\n"); } - #endif + +void sub_8100038(u8 taskId) +{ + if (sub_80FFC24(taskId, &gDecorations[gUnknown_020388D0[gUnknown_020388F5]]) == 1) + { + DisplayItemMessageOnField(taskId, gSecretBaseText_PlaceItHere, sub_81000A0, 0); + } else + { + PlaySE(SE_HAZURE); + DisplayItemMessageOnField(taskId, gSecretBaseText_CantBePlacedHere, sub_81006A8, 0); + } +} + +void sub_81000A0(u8 taskId) +{ + DisplayYesNoMenu(20, 8, 1); + sub_80F914C(taskId, &gUnknown_083EC95C); +} + +void sub_81000C4(u8 taskId) +{ + MenuZeroFillWindowRect(0, 0, 29, 19); + sub_8100174(taskId); + if (gDecorations[gUnknown_020388D0[gUnknown_020388F5]].decor_field_11 != 4) + { + sub_80FF394(gTasks[taskId].data[0], gTasks[taskId].data[1], gUnknown_020388D0[gUnknown_020388F5]); + } else + { + gUnknown_020391A4 = gTasks[taskId].data[0] - 7; + gUnknown_020391A6 = gTasks[taskId].data[1] - 7; + ScriptContext1_SetupScript(gUnknown_081A2F7B); + } + gSprites[gUnknown_020391A8].pos1.y += 2; + sub_810028C(taskId); +} + +void sub_8100174(u8 taskId) +{ + u16 i; + for (i=0; i= gMapHeader.mapData->height) + { + data[1]--; + return FALSE; + } else if (gUnknown_020391AA == DIR_WEST && data[0] - 7 < 0) + { + data[0]++; + return FALSE; + } else if (gUnknown_020391AA == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapData->width) + { + data[0]--; + return FALSE; + } + return TRUE; +} + +bool8 sub_8100430(void) +{ + if ((gMain.heldKeys & 0xF0) != DPAD_UP && (gMain.heldKeys & 0xF0) != DPAD_DOWN && (gMain.heldKeys & 0xF0) != DPAD_LEFT && (gMain.heldKeys & 0xF0) != DPAD_RIGHT) + { + return FALSE; + } + return TRUE; +} -- cgit v1.2.3