summaryrefslogtreecommitdiff
path: root/src/decoration.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/decoration.c')
-rw-r--r--src/decoration.c97
1 files changed, 47 insertions, 50 deletions
diff --git a/src/decoration.c b/src/decoration.c
index ffa1c3a68..b21d51278 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -17,11 +17,10 @@
#include "field_player_avatar.h"
#include "field_camera.h"
#include "field_screen.h"
-#include "field_map_obj.h"
+#include "event_object_movement.h"
#include "list_menu.h"
#include "menu_helpers.h"
#include "menu.h"
-#include "menu_indicators.h"
#include "sound.h"
#include "event_scripts.h"
#include "event_data.h"
@@ -33,13 +32,11 @@
#include "tilesets.h"
#include "item_icon.h"
#include "trader.h"
-#include "constants/map_objects.h"
+#include "constants/event_objects.h"
#include "decoration_inventory.h"
#include "decoration.h"
#include "graphics.h"
-extern void (*gFieldCallback)(void);
-
// Static type declarations
#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5
@@ -562,7 +559,7 @@ void SecretBasePC_Cancel(u8 taskId)
}
else
{
- sub_816B060(taskId);
+ ReshowPlayerPC(taskId);
}
}
@@ -841,7 +838,7 @@ void sub_8127500(void)
{
if (sDecorPCBuffer->unk_522 == 0xFF)
{
- sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParametrized(0x02, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo);
+ sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo);
}
}
@@ -1205,15 +1202,15 @@ void sub_8127E18(void)
if (FlagGet(0xAE + i) == TRUE)
{
FlagClear(0xAE + i);
- for (j = 0; j < gMapHeader.events->mapObjectCount; j ++)
+ for (j = 0; j < gMapHeader.events->eventObjectCount; j ++)
{
- if (gMapHeader.events->mapObjects[j].flagId == 0xAE + i)
+ if (gMapHeader.events->eventObjects[j].flagId == 0xAE + i)
{
break;
}
}
- VarSet(0x3F20 + gMapHeader.events->mapObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
- gSpecialVar_0x8005 = gMapHeader.events->mapObjects[j].localId;
+ VarSet(0x3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
+ gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId;
gSpecialVar_0x8006 = sCurDecorMapX;
gSpecialVar_0x8007 = sCurDecorMapY;
show_sprite(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
@@ -1294,7 +1291,7 @@ void sub_8128060(u8 taskId)
gTasks[taskId].data[2] = 2;
break;
case 2:
- if (sub_80ABDFC() == TRUE)
+ if (IsWeatherNotFadingIn() == TRUE)
{
gTasks[taskId].data[12] = 0;
sub_8128FD8(taskId);
@@ -1305,12 +1302,12 @@ void sub_8128060(u8 taskId)
void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor)
{
- sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data[0];
- gUnknown_03005DD0.unk4 = gpu_pal_decompress_alloc_tag_and_upload(data, decor);
- gSprites[gUnknown_03005DD0.unk4].oam.priority = 1;
- gSprites[gUnknown_03005DD0.unk4].callback = sub_81292D0;
- gSprites[gUnknown_03005DD0.unk4].pos1.x = gUnknown_085A7250[data->decoration->shape].x;
- gSprites[gUnknown_03005DD0.unk4].pos1.y = gUnknown_085A7250[data->decoration->shape].y;
+ sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.spriteId].data[0];
+ gUnknown_03005DD0.spriteId = gpu_pal_decompress_alloc_tag_and_upload(data, decor);
+ gSprites[gUnknown_03005DD0.spriteId].oam.priority = 1;
+ gSprites[gUnknown_03005DD0.spriteId].callback = sub_81292D0;
+ gSprites[gUnknown_03005DD0.spriteId].pos1.x = gUnknown_085A7250[data->decoration->shape].x;
+ gSprites[gUnknown_03005DD0.spriteId].pos1.y = gUnknown_085A7250[data->decoration->shape].y;
}
void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphicsDataBuffer *data)
@@ -1324,15 +1321,15 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic
}
if (gSaveBlock2Ptr->playerGender == MALE)
{
- sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0);
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0);
}
else
{
- sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0);
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0);
}
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
- sDecor_CameraSpriteObjectIdx1 = gUnknown_03005DD0.unk4;
+ sDecor_CameraSpriteObjectIdx1 = gUnknown_03005DD0.spriteId;
}
void sub_812826C(u8 taskId)
@@ -1469,7 +1466,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
{
return FALSE;
}
- behaviorAt = GetFieldObjectIdByXYZ(curX, curY, 0);
+ behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0);
if (behaviorAt != 0 && behaviorAt != 16)
{
return FALSE;
@@ -1494,7 +1491,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
{
return FALSE;
}
- if (GetFieldObjectIdByXYZ(curX, curY, 0) != 16)
+ if (GetEventObjectIdByXYZ(curX, curY, 0) != 16)
{
return FALSE;
}
@@ -1514,7 +1511,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
{
return FALSE;
}
- behaviorAt = GetFieldObjectIdByXYZ(curX, curY, 0);
+ behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0);
if (behaviorAt != 0 && behaviorAt != 16)
{
return FALSE;
@@ -1559,7 +1556,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
return FALSE;
}
}
- if (GetFieldObjectIdByXYZ(curX, curY, 0) != 16)
+ if (GetEventObjectIdByXYZ(curX, curY, 0) != 16)
{
return FALSE;
}
@@ -1710,7 +1707,7 @@ void sub_8128C64(u8 taskId)
data[2] ++;
break;
case 3:
- if (sub_80ABDFC() == TRUE)
+ if (IsWeatherNotFadingIn() == TRUE)
{
gTasks[taskId].func = sub_812764C;
}
@@ -1739,7 +1736,7 @@ bool8 sub_8128D10(u8 taskId)
data[1] ++;
return FALSE;
}
- if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapData->height)
+ if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height)
{
data[1] --;
return FALSE;
@@ -1749,7 +1746,7 @@ bool8 sub_8128D10(u8 taskId)
data[0] ++;
return FALSE;
}
- if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapData->width)
+ if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width)
{
data[0] --;
return FALSE;
@@ -1993,7 +1990,7 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf
data->decoration = &gDecorations[decor];
if (data->decoration->permission == DECORPERM_SOLID_MAT)
{
- return AddPseudoFieldObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
+ return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
}
FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG);
sub_81291E8(data);
@@ -2043,7 +2040,7 @@ const u8 *GetDecorationIconPicOrPalette(u16 decor, u8 mode)
return gUnknown_085A6BE8[decor][mode];
}
-u8 AddDecorationIconObjectFromFieldObject(u16 tilesTag, u16 paletteTag, u8 decor)
+u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor)
{
u8 spriteId;
struct SpriteSheet sheet;
@@ -2074,7 +2071,7 @@ u8 AddDecorationIconObjectFromFieldObject(u16 tilesTag, u16 paletteTag, u8 decor
}
else
{
- spriteId = AddPseudoFieldObject(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
+ spriteId = AddPseudoEventObject(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
}
return spriteId;
}
@@ -2095,7 +2092,7 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1
}
else if (gUnknown_085A6BE8[decor][0] == NULL)
{
- spriteId = AddDecorationIconObjectFromFieldObject(tilesTag, paletteTag, decor);
+ spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor);
if (spriteId == MAX_SPRITES)
{
return MAX_SPRITES;
@@ -2144,11 +2141,11 @@ void sub_8129708(void)
{
gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId;
sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx);
- for (i = 0; i < gMapHeader.events->mapObjectCount; i ++)
+ for (i = 0; i < gMapHeader.events->eventObjectCount; i ++)
{
- if (gMapHeader.events->mapObjects[i].flagId == gSpecialVar_0x8005)
+ if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005)
{
- gSpecialVar_0x8006 = gMapHeader.events->mapObjects[i].localId;
+ gSpecialVar_0x8006 = gMapHeader.events->eventObjects[i].localId;
break;
}
}
@@ -2159,11 +2156,11 @@ void sub_81297AC(void)
{
u8 i;
- for (i = 0; i < gMapHeader.events->mapObjectCount; i ++)
+ for (i = 0; i < gMapHeader.events->eventObjectCount; i ++)
{
- if (gMapHeader.events->mapObjects[i].flagId == gSpecialVar_0x8004)
+ if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004)
{
- gSpecialVar_0x8005 = gMapHeader.events->mapObjects[i].localId;
+ gSpecialVar_0x8005 = gMapHeader.events->eventObjects[i].localId;
break;
}
}
@@ -2189,7 +2186,7 @@ void sub_81297F8(void)
{
for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x ++)
{
- MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapData->map[posX + x + gMapHeader.mapData->width * (posY - y)] | 0x3000);
+ MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapLayout->map[posX + x + gMapHeader.mapLayout->width * (posY - y)] | 0x3000);
}
}
sub_81296EC(sDecorRearrangementDataBuffer[i].idx);
@@ -2220,7 +2217,7 @@ void sub_81298EC(u8 taskId)
gTasks[taskId].data[2] = 3;
break;
case 3:
- if (sub_80ABDFC() == TRUE)
+ if (IsWeatherNotFadingIn() == TRUE)
{
StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC);
DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
@@ -2250,21 +2247,21 @@ bool8 sub_81299AC(u8 taskId)
void SetUpPuttingAwayDecorationPlayerAvatar(void)
{
- player_get_direction_lower_nybble();
- sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data[0];
+ GetPlayerFacingDirection();
+ sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.spriteId].data[0];
sub_812A39C();
- gUnknown_03005DD0.unk4 = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);
+ gUnknown_03005DD0.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);
if (gSaveBlock2Ptr->playerGender == MALE)
{
- sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0);
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0);
}
else
{
- sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0);
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0);
}
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
- sDecor_CameraSpriteObjectIdx1 = gUnknown_03005DD0.unk4;
+ sDecor_CameraSpriteObjectIdx1 = gUnknown_03005DD0.spriteId;
gSprites[sDecor_CameraSpriteObjectIdx1].oam.priority = 1;
}
@@ -2290,7 +2287,7 @@ void sub_8129ABC(u8 taskId)
data[2] = 2;
break;
case 2:
- if (sub_80ABDFC() == TRUE)
+ if (IsWeatherNotFadingIn() == TRUE)
{
data[12] = 1;
sub_8129B34(taskId);
@@ -2454,9 +2451,9 @@ void sub_8129F20(void)
yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F;
for (i = 0; i < 0x40; i ++)
{
- if (gSaveBlock1Ptr->mapObjectTemplates[i].x == xOff && gSaveBlock1Ptr->mapObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->mapObjectTemplates[i].flagId))
+ if (gSaveBlock1Ptr->eventObjectTemplates[i].x == xOff && gSaveBlock1Ptr->eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->eventObjectTemplates[i].flagId))
{
- sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].flagId = gSaveBlock1Ptr->mapObjectTemplates[i].flagId;
+ sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].flagId = gSaveBlock1Ptr->eventObjectTemplates[i].flagId;
break;
}
}
@@ -2616,7 +2613,7 @@ void sub_812A2C4(u8 taskId)
data[2] ++;
break;
case 3:
- if (sub_80ABDFC() == TRUE)
+ if (IsWeatherNotFadingIn() == TRUE)
{
gTasks[taskId].func = sub_8126B80;
}