document berry tag screen

This commit is contained in:
DizzyEggg
2018-02-02 14:41:56 +01:00
parent ebc8af50f1
commit b6437b8d80
2 changed files with 146 additions and 139 deletions
+145 -135
View File
@@ -29,8 +29,29 @@
#include "decompress.h" #include "decompress.h"
#include "international_string_util.h" #include "international_string_util.h"
// There are 4 windows used in berry tag screen.
enum
{
WIN_BERRY_NAME,
WIN_SIZE_FIRM,
WIN_DESC,
WIN_BERRY_TAG
};
struct BerryTagScreenStruct
{
u16 tilemapBuffers[3][0x400];
u16 berryId;
u8 berrySpriteId;
u8 flavorCircleIds[FLAVOR_COUNT];
u16 gfxState;
};
// EWRAM vars
static EWRAM_DATA struct BerryTagScreenStruct *sBerryTag = NULL;
// const rom data // const rom data
static const struct BgTemplate gUnknown_085EFCF0[] = static const struct BgTemplate sBackgroundTemplates[] =
{ {
{ {
.bg = 0, .bg = 0,
@@ -70,24 +91,24 @@ static const struct BgTemplate gUnknown_085EFCF0[] =
} }
}; };
static const u16 gUnknown_085EFD00[] = INCBIN_U16("graphics/interface/berry_tag_screen.gbapal"); static const u16 sFontPalette[] = INCBIN_U16("graphics/interface/berry_tag_screen.gbapal");
static const struct TextColor gUnknown_085EFD20[] = static const struct TextColor sTextColors[] =
{ {
{0, 2, 3}, {0, 2, 3},
{15, 14, 13} {15, 14, 13}
}; };
static const struct WindowTemplate gUnknown_085EFD28[] = static const struct WindowTemplate sWindowTemplates[] =
{ {
{0x01, 0x0b, 0x04, 0x08, 0x02, 0x0f, 0x0045}, {0x01, 0x0b, 0x04, 0x08, 0x02, 0x0f, 0x0045}, // WIN_BERRY_NAME
{0x01, 0x0b, 0x07, 0x12, 0x04, 0x0f, 0x0055}, {0x01, 0x0b, 0x07, 0x12, 0x04, 0x0f, 0x0055}, // WIN_SIZE_FIRM
{0x01, 0x04, 0x0e, 0x19, 0x04, 0x0f, 0x009d}, {0x01, 0x04, 0x0e, 0x19, 0x04, 0x0f, 0x009d}, // WIN_DESC
{0x00, 0x02, 0x00, 0x08, 0x02, 0x0f, 0x0101}, {0x00, 0x02, 0x00, 0x08, 0x02, 0x0f, 0x0101}, // WIN_BERRY_TAG
DUMMY_WIN_TEMPLATE DUMMY_WIN_TEMPLATE
}; };
static const u8 *const gBerryFirmnessStringPointers[] = static const u8 *const sBerryFirmnessStrings[] =
{ {
gBerryFirmnessString_VerySoft, gBerryFirmnessString_VerySoft,
gBerryFirmnessString_Soft, gBerryFirmnessString_Soft,
@@ -97,47 +118,36 @@ static const u8 *const gBerryFirmnessStringPointers[] =
}; };
// this file's functions // this file's functions
static void sub_8177C84(void); static void CB2_InitBerryTagScreen(void);
static void sub_8177E14(void); static void HandleInitBackgrounds(void);
static void sub_8178008(void); static void HandleInitWindows(void);
static void sub_8178090(void); static void AddBerryTagTextToBg0(void);
static void sub_81780F4(void); static void PrintAllBerryData(void);
static void sub_8178338(void); static void CreateBerrySprite(void);
static void sub_817839C(void); static void CreateFlavorCircleSprites(void);
static void sub_8178404(void); static void SetFlavorCirclesVisiblity(void);
static void sub_8178110(void); static void PrintBerryNumberAndName(void);
static void sub_8178174(void); static void PrintBerrySize(void);
static void sub_8178250(void); static void PrintBerryFirmness(void);
static void sub_81782D0(void); static void PrintBerryDescription1(void);
static void sub_8178304(void); static void PrintBerryDescription2(void);
static bool8 sub_8177CB0(void); static bool8 InitBerryTagScreen(void);
static bool8 sub_8177E88(void); static bool8 LoadBerryTagGfx(void);
static void sub_8178654(u8 taskId); static void Task_HandleInput(u8 taskId);
static void sub_8178610(u8 taskId); static void Task_CloseBerryTagScreen(u8 taskId);
static void sub_81787AC(u8 taskId); static void Task_DisplayAnotherBerry(u8 taskId);
static void sub_81786AC(u8 taskId, s8 toMove); static void TryChangeDisplayedBerry(u8 taskId, s8 toMove);
static void sub_8178728(s8 toMove); static void HandleBagCursorPositionChange(s8 toMove);
// code // code
struct BerryTagScreenStruct
{
u16 tilemapBuffers[3][0x400];
u16 berryId;
u8 berrySpriteId;
u8 flavorCircleIds[FLAVOR_COUNT];
u16 field_1808;
};
extern struct BerryTagScreenStruct *sBerryTag;
void DoBerryTagScreen(void) void DoBerryTagScreen(void)
{ {
sBerryTag = AllocZeroed(0x180C); sBerryTag = AllocZeroed(sizeof(*sBerryTag));
sBerryTag->berryId = ItemIdToBerryType(gSpecialVar_ItemId); sBerryTag->berryId = ItemIdToBerryType(gSpecialVar_ItemId);
SetMainCallback2(sub_8177C84); SetMainCallback2(CB2_InitBerryTagScreen);
} }
static void sub_8177C54(void) static void CB2_BerryTagScreen(void)
{ {
RunTasks(); RunTasks();
AnimateSprites(); AnimateSprites();
@@ -146,27 +156,27 @@ static void sub_8177C54(void)
UpdatePaletteFade(); UpdatePaletteFade();
} }
static void sub_8177C70(void) static void VblankCB(void)
{ {
LoadOam(); LoadOam();
ProcessSpriteCopyRequests(); ProcessSpriteCopyRequests();
TransferPlttBuffer(); TransferPlttBuffer();
} }
static void sub_8177C84(void) static void CB2_InitBerryTagScreen(void)
{ {
while (1) while (1)
{ {
if (sub_81221EC() == TRUE) if (sub_81221EC() == TRUE)
break; break;
if (sub_8177CB0() == TRUE) if (InitBerryTagScreen() == TRUE)
break; break;
if (sub_81221AC() == TRUE) if (sub_81221AC() == TRUE)
break; break;
} }
} }
static bool8 sub_8177CB0(void) static bool8 InitBerryTagScreen(void)
{ {
switch (gMain.state) switch (gMain.state)
{ {
@@ -199,37 +209,37 @@ static bool8 sub_8177CB0(void)
gMain.state++; gMain.state++;
break; break;
case 6: case 6:
sub_8177E14(); HandleInitBackgrounds();
sBerryTag->field_1808 = 0; sBerryTag->gfxState = 0;
gMain.state++; gMain.state++;
break; break;
case 7: case 7:
if (sub_8177E88()) if (LoadBerryTagGfx())
gMain.state++; gMain.state++;
break; break;
case 8: case 8:
sub_8178008(); HandleInitWindows();
gMain.state++; gMain.state++;
break; break;
case 9: case 9:
sub_8178090(); AddBerryTagTextToBg0();
gMain.state++; gMain.state++;
break; break;
case 10: case 10:
sub_81780F4(); PrintAllBerryData();
gMain.state++; gMain.state++;
break; break;
case 11: case 11:
sub_8178338(); CreateBerrySprite();
gMain.state++; gMain.state++;
break; break;
case 12: case 12:
sub_817839C(); CreateFlavorCircleSprites();
sub_8178404(); SetFlavorCirclesVisiblity();
gMain.state++; gMain.state++;
break; break;
case 13: case 13:
CreateTask(sub_8178654, 0); CreateTask(Task_HandleInput, 0);
gMain.state++; gMain.state++;
break; break;
case 14: case 14:
@@ -242,18 +252,18 @@ static bool8 sub_8177CB0(void)
gMain.state++; gMain.state++;
break; break;
default: // done default: // done
SetVBlankCallback(sub_8177C70); SetVBlankCallback(VblankCB);
SetMainCallback2(sub_8177C54); SetMainCallback2(CB2_BerryTagScreen);
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
} }
static void sub_8177E14(void) static void HandleInitBackgrounds(void)
{ {
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_085EFCF0, ARRAY_COUNT(gUnknown_085EFCF0)); InitBgsFromTemplates(0, sBackgroundTemplates, ARRAY_COUNT(sBackgroundTemplates));
SetBgTilemapBuffer(2, sBerryTag->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryTag->tilemapBuffers[0]);
SetBgTilemapBuffer(3, sBerryTag->tilemapBuffers[1]); SetBgTilemapBuffer(3, sBerryTag->tilemapBuffers[1]);
ResetAllBgsCoordinates(); ResetAllBgsCoordinates();
@@ -267,27 +277,27 @@ static void sub_8177E14(void)
ShowBg(3); ShowBg(3);
} }
static bool8 sub_8177E88(void) static bool8 LoadBerryTagGfx(void)
{ {
u16 i; u16 i;
switch (sBerryTag->field_1808) switch (sBerryTag->gfxState)
{ {
case 0: case 0:
reset_temp_tile_data_buffers(); reset_temp_tile_data_buffers();
decompress_and_copy_tile_data_to_vram(2, gUnknown_08D9BB44, 0, 0, 0); decompress_and_copy_tile_data_to_vram(2, gUnknown_08D9BB44, 0, 0, 0);
sBerryTag->field_1808++; sBerryTag->gfxState++;
break; break;
case 1: case 1:
if (free_temp_tile_data_buffers_if_possible() != TRUE) if (free_temp_tile_data_buffers_if_possible() != TRUE)
{ {
LZDecompressWram(gUnknown_08D9BF98, sBerryTag->tilemapBuffers[0]); LZDecompressWram(gUnknown_08D9BF98, sBerryTag->tilemapBuffers[0]);
sBerryTag->field_1808++; sBerryTag->gfxState++;
} }
break; break;
case 2: case 2:
LZDecompressWram(gUnknown_08D9C13C, sBerryTag->tilemapBuffers[2]); LZDecompressWram(gUnknown_08D9C13C, sBerryTag->tilemapBuffers[2]);
sBerryTag->field_1808++; sBerryTag->gfxState++;
break; break;
case 3: case 3:
if (gSaveBlock2Ptr->playerGender == MALE) if (gSaveBlock2Ptr->playerGender == MALE)
@@ -300,15 +310,15 @@ static bool8 sub_8177E88(void)
for (i = 0; i < ARRAY_COUNT(sBerryTag->tilemapBuffers[1]); i++) for (i = 0; i < ARRAY_COUNT(sBerryTag->tilemapBuffers[1]); i++)
sBerryTag->tilemapBuffers[1][i] = 0x5042; sBerryTag->tilemapBuffers[1][i] = 0x5042;
} }
sBerryTag->field_1808++; sBerryTag->gfxState++;
break; break;
case 4: case 4:
LoadCompressedPalette(gUnknown_08D9BEF0, 0, 0xC0); LoadCompressedPalette(gUnknown_08D9BEF0, 0, 0xC0);
sBerryTag->field_1808++; sBerryTag->gfxState++;
break; break;
case 5: case 5:
LoadCompressedObjectPic(&gUnknown_0857FDEC); LoadCompressedObjectPic(&gUnknown_0857FDEC);
sBerryTag->field_1808++; sBerryTag->gfxState++;
break; break;
default: default:
LoadCompressedObjectPalette(&gUnknown_0857FDF4); LoadCompressedObjectPalette(&gUnknown_0857FDF4);
@@ -318,55 +328,55 @@ static bool8 sub_8177E88(void)
return FALSE; return FALSE;
} }
static void sub_8178008(void) static void HandleInitWindows(void)
{ {
u16 i; u16 i;
InitWindows(gUnknown_085EFD28); InitWindows(sWindowTemplates);
DeactivateAllTextPrinters(); DeactivateAllTextPrinters();
LoadPalette(gUnknown_085EFD00, 0xF0, 0x20); LoadPalette(sFontPalette, 0xF0, 0x20);
for (i = 0; i < ARRAY_COUNT(gUnknown_085EFD28) - 1; i++) for (i = 0; i < ARRAY_COUNT(sWindowTemplates) - 1; i++)
PutWindowTilemap(i); PutWindowTilemap(i);
schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(0);
schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(1);
} }
static void sub_817804C(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed, u8 colorStructId) static void PrintTextInBerryTagScreen(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed, u8 colorStructId)
{ {
AddTextPrinterParameterized2(windowId, 1, x, y, 0, 0, &gUnknown_085EFD20[colorStructId], speed, text); AddTextPrinterParameterized2(windowId, 1, x, y, 0, 0, &sTextColors[colorStructId], speed, text);
} }
static void sub_8178090(void) static void AddBerryTagTextToBg0(void)
{ {
memcpy(GetBgTilemapBuffer(0), sBerryTag->tilemapBuffers[2], sizeof(sBerryTag->tilemapBuffers[2])); memcpy(GetBgTilemapBuffer(0), sBerryTag->tilemapBuffers[2], sizeof(sBerryTag->tilemapBuffers[2]));
FillWindowPixelBuffer(3, 0xFF); FillWindowPixelBuffer(WIN_BERRY_TAG, 0xFF);
sub_817804C(3, gText_BerryTag, GetStringCenterAlignXOffset(1, gText_BerryTag, 0x40), 1, 0, 1); PrintTextInBerryTagScreen(WIN_BERRY_TAG, gText_BerryTag, GetStringCenterAlignXOffset(1, gText_BerryTag, 0x40), 1, 0, 1);
PutWindowTilemap(3); PutWindowTilemap(WIN_BERRY_TAG);
schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(0);
} }
static void sub_81780F4(void) static void PrintAllBerryData(void)
{ {
sub_8178110(); PrintBerryNumberAndName();
sub_8178174(); PrintBerrySize();
sub_8178250(); PrintBerryFirmness();
sub_81782D0(); PrintBerryDescription1();
sub_8178304(); PrintBerryDescription2();
} }
static void sub_8178110(void) static void PrintBerryNumberAndName(void)
{ {
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, 2, 2); ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, 2, 2);
StringCopy(gStringVar2, berry->name); StringCopy(gStringVar2, berry->name);
StringExpandPlaceholders(gStringVar4, gText_UnkF908Var1Var2); StringExpandPlaceholders(gStringVar4, gText_UnkF908Var1Var2);
sub_817804C(0, gStringVar4, 0, 1, 0, 0); PrintTextInBerryTagScreen(WIN_BERRY_NAME, gStringVar4, 0, 1, 0, 0);
} }
static void sub_8178174(void) static void PrintBerrySize(void)
{ {
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
PrintTextOnWindow(1, 1, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL); PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL);
if (berry->size != 0) if (berry->size != 0)
{ {
u32 inches, fraction; u32 inches, fraction;
@@ -380,48 +390,48 @@ static void sub_8178174(void)
ConvertIntToDecimalStringN(gStringVar1, inches, 0, 2); ConvertIntToDecimalStringN(gStringVar1, inches, 0, 2);
ConvertIntToDecimalStringN(gStringVar2, fraction, 0, 2); ConvertIntToDecimalStringN(gStringVar2, fraction, 0, 2);
StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2); StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2);
PrintTextOnWindow(1, 1, gStringVar4, 0x28, 1, 0, NULL); PrintTextOnWindow(WIN_SIZE_FIRM, 1, gStringVar4, 0x28, 1, 0, NULL);
} }
else else
{ {
PrintTextOnWindow(1, 1, gText_ThreeMarks, 0x28, 1, 0, NULL); PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 1, 0, NULL);
} }
} }
static void sub_8178250(void) static void PrintBerryFirmness(void)
{ {
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
PrintTextOnWindow(1, 1, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL); PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL);
if (berry->firmness != 0) if (berry->firmness != 0)
PrintTextOnWindow(1, 1, gBerryFirmnessStringPointers[berry->firmness - 1], 0x28, 0x11, 0, NULL); PrintTextOnWindow(WIN_SIZE_FIRM, 1, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL);
else else
PrintTextOnWindow(1, 1, gText_ThreeMarks, 0x28, 0x11, 0, NULL); PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 0x11, 0, NULL);
} }
static void sub_81782D0(void) static void PrintBerryDescription1(void)
{ {
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
PrintTextOnWindow(2, 1, berry->description1, 0, 1, 0, NULL); PrintTextOnWindow(WIN_DESC, 1, berry->description1, 0, 1, 0, NULL);
} }
static void sub_8178304(void) static void PrintBerryDescription2(void)
{ {
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
PrintTextOnWindow(2, 1, berry->description2, 0, 0x11, 0, NULL); PrintTextOnWindow(WIN_DESC, 1, berry->description2, 0, 0x11, 0, NULL);
} }
static void sub_8178338(void) static void CreateBerrySprite(void)
{ {
sBerryTag->berrySpriteId = CreateBerryTagSprite(sBerryTag->berryId - 1, 56, 64); sBerryTag->berrySpriteId = CreateBerryTagSprite(sBerryTag->berryId - 1, 56, 64);
} }
static void sub_817836C(void) static void DestroyBerrySprite(void)
{ {
DestroySprite(&gSprites[sBerryTag->berrySpriteId]); DestroySprite(&gSprites[sBerryTag->berrySpriteId]);
FreeBerryTagSpritePalette(); FreeBerryTagSpritePalette();
} }
static void sub_817839C(void) static void CreateFlavorCircleSprites(void)
{ {
sBerryTag->flavorCircleIds[FLAVOR_SPICY] = CreateBerryFlavorCircleSprite(64); sBerryTag->flavorCircleIds[FLAVOR_SPICY] = CreateBerryFlavorCircleSprite(64);
sBerryTag->flavorCircleIds[FLAVOR_DRY] = CreateBerryFlavorCircleSprite(104); sBerryTag->flavorCircleIds[FLAVOR_DRY] = CreateBerryFlavorCircleSprite(104);
@@ -430,7 +440,7 @@ static void sub_817839C(void)
sBerryTag->flavorCircleIds[FLAVOR_SOUR] = CreateBerryFlavorCircleSprite(224); sBerryTag->flavorCircleIds[FLAVOR_SOUR] = CreateBerryFlavorCircleSprite(224);
} }
static void sub_8178404(void) static void SetFlavorCirclesVisiblity(void)
{ {
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
@@ -460,7 +470,7 @@ static void sub_8178404(void)
gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = 1; gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = 1;
} }
static void sub_8178594(void) static void DestroyFlavorCircleSprites(void)
{ {
u16 i; u16 i;
@@ -468,19 +478,19 @@ static void sub_8178594(void)
DestroySprite(&gSprites[sBerryTag->flavorCircleIds[i]]); DestroySprite(&gSprites[sBerryTag->flavorCircleIds[i]]);
} }
static void sub_81785D0(u8 taskId) static void PrepareToCloseBerryTagScreen(u8 taskId)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
gTasks[taskId].func = sub_8178610; gTasks[taskId].func = Task_CloseBerryTagScreen;
} }
static void sub_8178610(u8 taskId) static void Task_CloseBerryTagScreen(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
sub_817836C(); DestroyBerrySprite();
sub_8178594(); DestroyFlavorCircleSprites();
Free(sBerryTag); Free(sBerryTag);
FreeAllWindowBuffers(); FreeAllWindowBuffers();
SetMainCallback2(bag_menu_mail_related); SetMainCallback2(bag_menu_mail_related);
@@ -488,21 +498,21 @@ static void sub_8178610(u8 taskId)
} }
} }
static void sub_8178654(u8 taskId) static void Task_HandleInput(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
u16 arrowKeys = gMain.newAndRepeatedKeys & DPAD_ANY; u16 arrowKeys = gMain.newAndRepeatedKeys & DPAD_ANY;
if (arrowKeys == DPAD_UP) if (arrowKeys == DPAD_UP)
sub_81786AC(taskId, -1); TryChangeDisplayedBerry(taskId, -1);
else if (arrowKeys == DPAD_DOWN) else if (arrowKeys == DPAD_DOWN)
sub_81786AC(taskId, 1); TryChangeDisplayedBerry(taskId, 1);
else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) else if (gMain.newKeys & (A_BUTTON | B_BUTTON))
sub_81785D0(taskId); PrepareToCloseBerryTagScreen(taskId);
} }
} }
static void sub_81786AC(u8 taskId, s8 toMove) static void TryChangeDisplayedBerry(u8 taskId, s8 toMove)
{ {
s16 *data = gTasks[taskId].data; s16 *data = gTasks[taskId].data;
s16 currPocketPosition = gUnknown_0203CE58.unk12[3] + gUnknown_0203CE58.unk8[3]; s16 currPocketPosition = gUnknown_0203CE58.unk12[3] + gUnknown_0203CE58.unk8[3];
@@ -516,12 +526,12 @@ static void sub_81786AC(u8 taskId, s8 toMove)
data[0] = 0; data[0] = 0;
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
sub_8178728(toMove); HandleBagCursorPositionChange(toMove);
gTasks[taskId].func = sub_81787AC; gTasks[taskId].func = Task_DisplayAnotherBerry;
} }
} }
static void sub_8178728(s8 toMove) static void HandleBagCursorPositionChange(s8 toMove)
{ {
u16 *scrollPos = &gUnknown_0203CE58.unk12[3]; u16 *scrollPos = &gUnknown_0203CE58.unk12[3];
u16 *cursorPos = &gUnknown_0203CE58.unk8[3]; u16 *cursorPos = &gUnknown_0203CE58.unk8[3];
@@ -543,7 +553,7 @@ static void sub_8178728(s8 toMove)
sBerryTag->berryId = ItemIdToBerryType(BagGetItemIdByPocketPosition(BAG_BERRIES, *scrollPos + *cursorPos)); sBerryTag->berryId = ItemIdToBerryType(BagGetItemIdByPocketPosition(BAG_BERRIES, *scrollPos + *cursorPos));
} }
static void sub_81787AC(u8 taskId) static void Task_DisplayAnotherBerry(u8 taskId)
{ {
u16 i; u16 i;
s16 posY; s16 posY;
@@ -559,32 +569,32 @@ static void sub_81787AC(u8 taskId)
FillWindowPixelBuffer(0, 0); FillWindowPixelBuffer(0, 0);
break; break;
case 0x40: case 0x40:
sub_8178110(); PrintBerryNumberAndName();
break; break;
case 0x50: case 0x50:
sub_817836C(); DestroyBerrySprite();
sub_8178338(); CreateBerrySprite();
break; break;
case 0x60: case 0x60:
FillWindowPixelBuffer(1, 0); FillWindowPixelBuffer(1, 0);
break; break;
case 0x70: case 0x70:
sub_8178174(); PrintBerrySize();
break; break;
case 0x80: case 0x80:
sub_8178250(); PrintBerryFirmness();
break; break;
case 0x90: case 0x90:
sub_8178404(); SetFlavorCirclesVisiblity();
break; break;
case 0xA0: case 0xA0:
FillWindowPixelBuffer(2, 0); FillWindowPixelBuffer(2, 0);
break; break;
case 0xB0: case 0xB0:
sub_81782D0(); PrintBerryDescription1();
break; break;
case 0xC0: case 0xC0:
sub_8178304(); PrintBerryDescription2();
break; break;
} }
} }
@@ -596,32 +606,32 @@ static void sub_81787AC(u8 taskId)
FillWindowPixelBuffer(2, 0); FillWindowPixelBuffer(2, 0);
break; break;
case 0x40: case 0x40:
sub_8178304(); PrintBerryDescription2();
break; break;
case 0x50: case 0x50:
sub_81782D0(); PrintBerryDescription1();
break; break;
case 0x60: case 0x60:
sub_8178404(); SetFlavorCirclesVisiblity();
break; break;
case 0x70: case 0x70:
FillWindowPixelBuffer(1, 0); FillWindowPixelBuffer(1, 0);
break; break;
case 0x80: case 0x80:
sub_8178250(); PrintBerryFirmness();
break; break;
case 0x90: case 0x90:
sub_8178174(); PrintBerrySize();
break; break;
case 0xA0: case 0xA0:
sub_817836C(); DestroyBerrySprite();
sub_8178338(); CreateBerrySprite();
break; break;
case 0xB0: case 0xB0:
FillWindowPixelBuffer(0, 0); FillWindowPixelBuffer(0, 0);
break; break;
case 0xC0: case 0xC0:
sub_8178110(); PrintBerryNumberAndName();
break; break;
} }
} }
@@ -639,5 +649,5 @@ static void sub_81787AC(u8 taskId)
ChangeBgY(2, 0x1000, data[1]); ChangeBgY(2, 0x1000, data[1]);
if (data[0] == 0) if (data[0] == 0)
gTasks[taskId].func = sub_8178654; gTasks[taskId].func = Task_HandleInput;
} }
+1 -4
View File
@@ -1266,10 +1266,7 @@ gUnknown_0203BCE8: @ 203BCE8
.include "src/lottery_corner.o" .include "src/lottery_corner.o"
.include "src/diploma.o" .include "src/diploma.o"
.include "src/berry_tag_screen.o"
sBerryTag: @ 203BCF4
.space 0x4
.include "src/mystery_event_menu.o" .include "src/mystery_event_menu.o"
.include "src/save_failed_screen.o" .include "src/save_failed_screen.o"