through AddTextPrinterParameterized2()
This commit is contained in:
@@ -219,7 +219,7 @@ void sub_810B858(void)
|
||||
FillWindowPixelBuffer(i, 0x00);
|
||||
PutWindowTilemap(i);
|
||||
}
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
for (i = 0; i < 11; i++)
|
||||
{
|
||||
gUnknown_203AD34[i] = 0xFF;
|
||||
@@ -258,7 +258,7 @@ u8 sub_810B9DC(u8 a0, u8 a1)
|
||||
{
|
||||
SetWindowBorderStyle(gUnknown_203AD34[a0], FALSE, 0x081, 0x0C);
|
||||
}
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
return gUnknown_203AD34[a0];
|
||||
}
|
||||
@@ -268,7 +268,7 @@ void sub_810BA3C(u8 a0)
|
||||
ClearMenuWindow(gUnknown_203AD34[a0], FALSE);
|
||||
ClearWindowTilemap(gUnknown_203AD34[a0]);
|
||||
RemoveWindow(gUnknown_203AD34[a0]);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
gUnknown_203AD34[a0] = 0xFF;
|
||||
}
|
||||
|
||||
@@ -289,7 +289,7 @@ void sub_810BA9C(u8 a0)
|
||||
ClearWindowTilemap(gUnknown_203AD34[a0]);
|
||||
RemoveWindow(gUnknown_203AD34[a0]);
|
||||
PutWindowTilemap(1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
gUnknown_203AD34[a0] = 0xFF;
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1824,7 +1824,7 @@ static void CB2_EggHatch_0(void)
|
||||
SetVBlankCallback(VBlankCB_EggHatch);
|
||||
gSpecialVar_0x8005 = GetCurrentMapMusic();
|
||||
|
||||
reset_temp_tile_data_buffers();
|
||||
ResetTempTileDataBuffers();
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBgTemplates_EggHatch, ARRAY_COUNT(sBgTemplates_EggHatch));
|
||||
|
||||
|
||||
+3
-3
@@ -429,7 +429,7 @@ _08000E46:\n\
|
||||
}
|
||||
#endif
|
||||
|
||||
int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode)
|
||||
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode)
|
||||
{
|
||||
int cursor;
|
||||
int var = 0;
|
||||
@@ -466,7 +466,7 @@ int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode)
|
||||
return -1;
|
||||
}
|
||||
|
||||
int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode)
|
||||
s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode)
|
||||
{
|
||||
int cursor;
|
||||
int var = 0;
|
||||
@@ -504,7 +504,7 @@ int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode)
|
||||
return -1;
|
||||
}
|
||||
|
||||
int CheckForSpaceForDma3Request(s16 index)
|
||||
s16 CheckForSpaceForDma3Request(s16 index)
|
||||
{
|
||||
int current = 0;
|
||||
|
||||
|
||||
+1
-1
@@ -493,7 +493,7 @@ static void CB2_EggHatch_0(void)
|
||||
SetVBlankCallback(VBlankCB_EggHatch);
|
||||
gSpecialVar_0x8005 = GetCurrentMapMusic();
|
||||
|
||||
reset_temp_tile_data_buffers();
|
||||
ResetTempTileDataBuffers();
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBgTemplates_EggHatch, ARRAY_COUNT(sBgTemplates_EggHatch));
|
||||
|
||||
|
||||
+2
-2
@@ -897,7 +897,7 @@ void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles,
|
||||
if (!tileset->isCompressed)
|
||||
LoadBgTiles(2, tileset->tiles, numTiles * 32, offset);
|
||||
else
|
||||
sub_80F68F0(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
DecompressAndCopyTileDataToVram2(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -908,7 +908,7 @@ void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles,
|
||||
if (!tileset->isCompressed)
|
||||
LoadBgTiles(2, tileset->tiles, numTiles * 32, offset);
|
||||
else
|
||||
sub_80F69E8(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap2(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void sub_80E583C(u8 taskId)
|
||||
GetMonNickname(&gPlayerParty[gUnknown_203B0A0.unkA], gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8416F27);
|
||||
sub_81202F8(gStringVar4, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
gTasks[taskId].func = sub_80E58A0;
|
||||
}
|
||||
|
||||
@@ -104,6 +104,6 @@ void sub_80E5934(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
sub_81202F8(gUnknown_84169F8, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
gTasks[taskId].func = sub_80E5900;
|
||||
}
|
||||
|
||||
+17
-17
@@ -247,7 +247,7 @@ static void ItemPc_MainCB(void)
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
do_scheduled_bg_tilemap_copies_to_vram();
|
||||
DoScheduledBgTilemapCopiesToVram();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@ static bool8 ItemPc_DoGfxSetup(void)
|
||||
{
|
||||
case 0:
|
||||
SetVBlankHBlankCallbacksToNull();
|
||||
clear_scheduled_bg_copies_to_vram();
|
||||
ClearScheduledBgCopiesToVram();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -423,7 +423,7 @@ static bool8 ItemPc_InitBgs(void)
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBgTemplates, NELEMS(sBgTemplates));
|
||||
SetBgTilemapBuffer(1, sBg1TilemapBuffer);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT , 0);
|
||||
ShowBg(0);
|
||||
@@ -436,12 +436,12 @@ static bool8 ItemPc_LoadGraphics(void)
|
||||
switch (sStateDataPtr->data[0])
|
||||
{
|
||||
case 0:
|
||||
reset_temp_tile_data_buffers();
|
||||
decompress_and_copy_tile_data_to_vram(1, gItemPcTiles, 0, 0, 0);
|
||||
ResetTempTileDataBuffers();
|
||||
DecompressAndCopyTileDataToVram(1, gItemPcTiles, 0, 0, 0);
|
||||
sStateDataPtr->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
if (free_temp_tile_data_buffers_if_possible() != TRUE)
|
||||
if (FreeTempTileDataBuffersIfPossible() != TRUE)
|
||||
{
|
||||
LZDecompressWram(gItemPcTilemap, sBg1TilemapBuffer);
|
||||
sStateDataPtr->data[0]++;
|
||||
@@ -710,7 +710,7 @@ static void ItemPc_SetScrollPosition(void)
|
||||
static void ItemPc_SetMessageWindowPalette(int a0)
|
||||
{
|
||||
SetBgRectPal(1, 0, 14, 30, 6, a0 + 1);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
|
||||
void ItemPc_SetInitializedFlag(u8 a0)
|
||||
@@ -849,7 +849,7 @@ static void Task_ItemPcSubmenuInit(u8 taskId)
|
||||
CopyItemName(ItemPc_GetItemIdBySlotId(data[1]), gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1);
|
||||
ItemPc_AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 2, 1, 0, 0, 1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
gTasks[taskId].func = Task_ItemPcSubmenuRun;
|
||||
}
|
||||
|
||||
@@ -881,7 +881,7 @@ static void Task_ItemPcWithdraw(u8 taskId)
|
||||
if (ItemPc_GetItemQuantityBySlotId(data[1]) == 1)
|
||||
{
|
||||
PutWindowTilemap(0);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemPc_DoWithdraw(taskId);
|
||||
}
|
||||
else
|
||||
@@ -952,7 +952,7 @@ static void Task_ItemPcCleanUpWithdraw(u8 taskId)
|
||||
ItemPc_SetCursorPosition();
|
||||
ItemPc_BuildListMenuTemplate();
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemPc_ReturnFromSubmenu(taskId);
|
||||
}
|
||||
|
||||
@@ -967,7 +967,7 @@ static void ItemPc_WithdrawMultipleInitWindow(u16 slotId)
|
||||
StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1);
|
||||
ItemPc_SetBorderStyleOnWindow(3);
|
||||
ItemPc_AddTextPrinterParameterized(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
|
||||
static void sub_810E670(s16 quantity)
|
||||
@@ -991,7 +991,7 @@ static void Task_ItemPcHandleWithdrawMultiple(u8 taskId)
|
||||
ClearWindowTilemap(3);
|
||||
PutWindowTilemap(0);
|
||||
ItemPc_PrintOrRemoveCursor(data[0], 1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemPc_RemoveScrollIndicatorArrowPair();
|
||||
ItemPc_DoWithdraw(taskId);
|
||||
}
|
||||
@@ -1004,7 +1004,7 @@ static void Task_ItemPcHandleWithdrawMultiple(u8 taskId)
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(1);
|
||||
ItemPc_PrintOrRemoveCursor(data[0], 1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemPc_RemoveScrollIndicatorArrowPair();
|
||||
ItemPc_ReturnFromSubmenu(taskId);
|
||||
}
|
||||
@@ -1049,7 +1049,7 @@ static void gTask_ItemPcWaitButtonAndExitSubmenu(u8 taskId)
|
||||
ClearWindowTilemap(5);
|
||||
PutWindowTilemap(1);
|
||||
ItemPc_PrintOrRemoveCursor(data[0], 1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemPc_ReturnFromSubmenu(taskId);
|
||||
}
|
||||
}
|
||||
@@ -1064,7 +1064,7 @@ static void Task_ItemPcCancel(u8 taskId)
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(1);
|
||||
ItemPc_PrintOrRemoveCursor(data[0], 1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemPc_ReturnFromSubmenu(taskId);
|
||||
}
|
||||
|
||||
@@ -1084,7 +1084,7 @@ static void ItemPc_InitWindows(void)
|
||||
FillWindowPixelBuffer(i, 0x00);
|
||||
PutWindowTilemap(i);
|
||||
}
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
for (i = 0; i < 3; i++)
|
||||
sSubmenuWindowIds[i] = 0xFF;
|
||||
}
|
||||
@@ -1146,5 +1146,5 @@ static u8 ItemPc_GetSubwindow(u8 idx)
|
||||
static void ItemPc_PrintOnWindow5WithContinueTask(u8 taskId, const u8 * str, TaskFunc taskFunc)
|
||||
{
|
||||
DisplayMessageAndContinueTask(taskId, 5, 0x3AC, 0x0B, 2, GetTextSpeedSetting(), str, taskFunc);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
|
||||
@@ -175,13 +175,13 @@ s32 FadeToWonderCardMenu(void)
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
decompress_and_copy_tile_data_to_vram(2, gUnknown_203F3C8->unk_0170->tiles, 0, 0x008, 0);
|
||||
DecompressAndCopyTileDataToVram(2, gUnknown_203F3C8->unk_0170->tiles, 0, 0x008, 0);
|
||||
gUnknown_203F3C8->unk_0176[0] = AddWindow(&gUnknown_8467074[0]);
|
||||
gUnknown_203F3C8->unk_0176[1] = AddWindow(&gUnknown_8467074[1]);
|
||||
gUnknown_203F3C8->unk_0176[2] = AddWindow(&gUnknown_8467074[2]);
|
||||
break;
|
||||
case 3:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return 0;
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
LoadPalette(gUnknown_203F3C8->unk_0170->pal, 0x10, 0x20);
|
||||
@@ -565,12 +565,12 @@ s32 FadeToWonderNewsMenu(void)
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
decompress_and_copy_tile_data_to_vram(3, gUnknown_203F3CC->unk_01BC->tiles, 0, 8, 0);
|
||||
DecompressAndCopyTileDataToVram(3, gUnknown_203F3CC->unk_01BC->tiles, 0, 8, 0);
|
||||
gUnknown_203F3CC->unk_01C8[0] = AddWindow(&gUnknown_8468040[0]);
|
||||
gUnknown_203F3CC->unk_01C8[1] = AddWindow(&gUnknown_8468040[1]);
|
||||
break;
|
||||
case 3:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return 0;
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
LoadPalette(gUnknown_203F3CC->unk_01BC->pal, 0x10, 0x20);
|
||||
|
||||
@@ -0,0 +1,281 @@
|
||||
#include "global.h"
|
||||
#include "malloc.h"
|
||||
#include "dma3.h"
|
||||
#include "task.h"
|
||||
#include "bg.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "window.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "quest_log.h"
|
||||
#include "text.h"
|
||||
|
||||
static EWRAM_DATA bool8 gUnknown_203AB58[4] = {FALSE}; // knizz: bgmaps_that_need_syncing
|
||||
|
||||
EWRAM_DATA u16 gUnknown_203AB5C;
|
||||
EWRAM_DATA void *gUnknown_203AB60[0x20];
|
||||
extern const struct WindowTemplate sStandardTextBox_WindowTemplates[];
|
||||
EWRAM_DATA u8 sStartMenuWindowId;
|
||||
|
||||
u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
|
||||
void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId);
|
||||
|
||||
void ClearScheduledBgCopiesToVram(void)
|
||||
{
|
||||
memset(gUnknown_203AB58, 0, sizeof(gUnknown_203AB58));
|
||||
}
|
||||
|
||||
void ScheduleBgCopyTilemapToVram(u8 bgId)
|
||||
{
|
||||
gUnknown_203AB58[bgId] = TRUE;
|
||||
}
|
||||
|
||||
void DoScheduledBgTilemapCopiesToVram(void)
|
||||
{
|
||||
if (gUnknown_203AB58[0] == TRUE)
|
||||
{
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
gUnknown_203AB58[0] = FALSE;
|
||||
}
|
||||
if (gUnknown_203AB58[1] == TRUE)
|
||||
{
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
gUnknown_203AB58[1] = FALSE;
|
||||
}
|
||||
if (gUnknown_203AB58[2] == TRUE)
|
||||
{
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
gUnknown_203AB58[2] = FALSE;
|
||||
}
|
||||
if (gUnknown_203AB58[3] == TRUE)
|
||||
{
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
gUnknown_203AB58[3] = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void ResetTempTileDataBuffers(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < (s32)ARRAY_COUNT(gUnknown_203AB60); i++)
|
||||
{
|
||||
gUnknown_203AB60[i] = NULL;
|
||||
}
|
||||
gUnknown_203AB5C = 0;
|
||||
}
|
||||
|
||||
bool8 FreeTempTileDataBuffersIfPossible(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
{
|
||||
if (gUnknown_203AB5C)
|
||||
{
|
||||
for (i = 0; i < gUnknown_203AB5C; i++)
|
||||
{
|
||||
FREE_AND_SET_NULL(gUnknown_203AB60[i]);
|
||||
}
|
||||
gUnknown_203AB5C = 0;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void *DecompressAndCopyTileDataToVram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
|
||||
{
|
||||
u32 sizeOut;
|
||||
if (gUnknown_203AB5C < ARRAY_COUNT(gUnknown_203AB60))
|
||||
{
|
||||
void *ptr = MallocAndDecompress(src, &sizeOut);
|
||||
if (!size)
|
||||
size = sizeOut;
|
||||
if (ptr)
|
||||
{
|
||||
CopyDecompressedTileDataToVram(bgId, ptr, size, offset, mode);
|
||||
gUnknown_203AB60[gUnknown_203AB5C++] = ptr;
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void *DecompressAndCopyTileDataToVram2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
|
||||
{
|
||||
u32 sizeOut;
|
||||
if (gUnknown_203AB5C < ARRAY_COUNT(gUnknown_203AB60))
|
||||
{
|
||||
void *ptr = MallocAndDecompress(src, &sizeOut);
|
||||
if (sizeOut > size)
|
||||
sizeOut = size;
|
||||
if (ptr)
|
||||
{
|
||||
CopyDecompressedTileDataToVram(bgId, ptr, sizeOut, offset, mode);
|
||||
gUnknown_203AB60[gUnknown_203AB5C++] = ptr;
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
|
||||
{
|
||||
u32 sizeOut;
|
||||
void *ptr = MallocAndDecompress(src, &sizeOut);
|
||||
if (!size)
|
||||
size = sizeOut;
|
||||
if (ptr)
|
||||
{
|
||||
u8 taskId = CreateTask(TaskFreeBufAfterCopyingTileDataToVram, 0);
|
||||
gTasks[taskId].data[0] = CopyDecompressedTileDataToVram(bgId, ptr, size, offset, mode);
|
||||
SetWordTaskArg(taskId, 1, (u32)ptr);
|
||||
}
|
||||
}
|
||||
|
||||
void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
|
||||
{
|
||||
u32 sizeOut;
|
||||
void *ptr = MallocAndDecompress(src, &sizeOut);
|
||||
if (sizeOut > size)
|
||||
sizeOut = size;
|
||||
if (ptr)
|
||||
{
|
||||
u8 taskId = CreateTask(TaskFreeBufAfterCopyingTileDataToVram, 0);
|
||||
gTasks[taskId].data[0] = CopyDecompressedTileDataToVram(bgId, ptr, sizeOut, offset, mode);
|
||||
SetWordTaskArg(taskId, 1, (u32)ptr);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId)
|
||||
{
|
||||
if (!CheckForSpaceForDma3Request(gTasks[taskId].data[0]))
|
||||
{
|
||||
Free((void *)GetWordTaskArg(taskId, 1));
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
void *MallocAndDecompress(const void *src, u32 *size)
|
||||
{
|
||||
void *ptr;
|
||||
u8 *sizeAsBytes = (u8 *)size;
|
||||
u8 *srcAsBytes = (u8 *)src;
|
||||
|
||||
sizeAsBytes[0] = srcAsBytes[1];
|
||||
sizeAsBytes[1] = srcAsBytes[2];
|
||||
sizeAsBytes[2] = srcAsBytes[3];
|
||||
sizeAsBytes[3] = 0;
|
||||
|
||||
ptr = Alloc(*size);
|
||||
if (ptr)
|
||||
LZ77UnCompWram(src, ptr);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode)
|
||||
{
|
||||
switch (mode)
|
||||
{ // different to EM
|
||||
case 1:
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
return LoadBgTiles(bgId, src, size, offset);
|
||||
}
|
||||
return LoadBgTilemap(bgId, src, size, offset);
|
||||
}
|
||||
|
||||
void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
|
||||
{
|
||||
u8 i;
|
||||
u8 j;
|
||||
u16 *ptr = GetBgTilemapBuffer(bgId);
|
||||
|
||||
for (i = top; i < top + height; i++)
|
||||
{
|
||||
for (j = left; j < left + width; j++)
|
||||
{
|
||||
ptr[(i * 32) + j] = (ptr[(i * 32) + j] & 0xFFF) | (palette << 12);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CopyRectIntoAltRect(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height)
|
||||
{
|
||||
u8 i;
|
||||
u8 j;
|
||||
const u16 *src = GetBgTilemapBuffer(bgId);
|
||||
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
for (j = 0; j < width; j++)
|
||||
{
|
||||
dest[(i * width) + j] = src[(i + top) * 32 + j + left];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ResetBgPositions(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
}
|
||||
|
||||
void InitStandardTextBoxWindows(void)
|
||||
{
|
||||
InitWindows(sStandardTextBox_WindowTemplates);
|
||||
sStartMenuWindowId = 0xFF;
|
||||
MapNamePopupWindowIdSetDummy();
|
||||
}
|
||||
|
||||
void FreeAllOverworldWindowBuffers(void)
|
||||
{
|
||||
FreeAllWindowBuffers();
|
||||
}
|
||||
|
||||
void ResetBg0(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
DeactivateAllTextPrinters();
|
||||
sub_80F6E9C();
|
||||
}
|
||||
|
||||
u16 RunTextPrinters_CheckPrinter0Active(void)
|
||||
{
|
||||
RunTextPrinters();
|
||||
return IsTextPrinterActive(0);
|
||||
}
|
||||
|
||||
u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor)
|
||||
{
|
||||
struct TextPrinterTemplate printer;
|
||||
|
||||
printer.currentChar = str;
|
||||
printer.windowId = windowId;
|
||||
printer.fontId = fontId;
|
||||
printer.x = 0;
|
||||
printer.y = 1;
|
||||
printer.currentX = 0;
|
||||
printer.currentY = 1;
|
||||
printer.letterSpacing = 1; // different to EM
|
||||
printer.lineSpacing = 1; // different to EM
|
||||
printer.unk = 0;
|
||||
printer.fgColor = fgColor;
|
||||
printer.bgColor = bgColor;
|
||||
printer.shadowColor = shadowColor;
|
||||
gTextFlags.useAlternateDownArrow = 0;
|
||||
return AddTextPrinter(&printer, speed, callback);
|
||||
}
|
||||
|
||||
+8
-8
@@ -495,7 +495,7 @@ static void Task_OaksSpeech1(u8 taskId)
|
||||
ScanlineEffect_Stop();
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
reset_temp_tile_data_buffers();
|
||||
ResetTempTileDataBuffers();
|
||||
HelpSystem_SetSomeVariable2(2);
|
||||
break;
|
||||
case 1:
|
||||
@@ -536,10 +536,10 @@ static void Task_OaksSpeech1(u8 taskId)
|
||||
case 5:
|
||||
sOakSpeechResources->textSpeed = GetTextSpeedSetting();
|
||||
gTextFlags.canABSpeedUpPrint = TRUE;
|
||||
decompress_and_copy_tile_data_to_vram(1, sOakSpeechGfx_GameStartHelpUI, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(1, sOakSpeechGfx_GameStartHelpUI, 0, 0, 0);
|
||||
break;
|
||||
case 6:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return;
|
||||
ClearDialogWindowAndFrame(0, 1);
|
||||
FillBgTilemapBufferRect_Palette0(1, 0x0000, 0, 0, 32, 32);
|
||||
@@ -718,7 +718,7 @@ static void Task_OakSpeech6(u8 taskId)
|
||||
PlayBGM(BGM_FRLG_GAME_EXPLANATION_MIDDLE);
|
||||
sub_810F71C();
|
||||
PrintTextOnRightSnappedWindow(gText_ABUTTONNext, 0, 1);
|
||||
sOakSpeechResources->unk_0008 = malloc_and_decompress(sNewGameAdventureIntroTilemap, &sp14);
|
||||
sOakSpeechResources->unk_0008 = MallocAndDecompress(sNewGameAdventureIntroTilemap, &sp14);
|
||||
CopyToBgTilemapBufferRect(1, sOakSpeechResources->unk_0008, 0, 2, 30, 19);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
Free(sOakSpeechResources->unk_0008);
|
||||
@@ -869,7 +869,7 @@ static void Task_OakSpeech9(u8 taskId)
|
||||
data[3]--;
|
||||
else
|
||||
{
|
||||
sOakSpeechResources->solidColorsGfx = malloc_and_decompress(sOakSpeechGfx_SolidColors, &size);
|
||||
sOakSpeechResources->solidColorsGfx = MallocAndDecompress(sOakSpeechGfx_SolidColors, &size);
|
||||
LoadBgTiles(1, sOakSpeechResources->solidColorsGfx, size, 0);
|
||||
CopyToBgTilemapBuffer(1, sOakSpeech_BackgroundTilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
@@ -1536,7 +1536,7 @@ static void CB2_ReturnFromNamingScreen(void)
|
||||
ScanlineEffect_Stop();
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
reset_temp_tile_data_buffers();
|
||||
ResetTempTileDataBuffers();
|
||||
break;
|
||||
case 1:
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
@@ -1564,10 +1564,10 @@ static void CB2_ReturnFromNamingScreen(void)
|
||||
LoadPalette(sHelpDocsPalette, 0, 0xe0);
|
||||
break;
|
||||
case 4:
|
||||
decompress_and_copy_tile_data_to_vram(1, sOakSpeechGfx_SolidColors, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(1, sOakSpeechGfx_SolidColors, 0, 0, 0);
|
||||
break;
|
||||
case 5:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return;
|
||||
FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
|
||||
CopyToBgTilemapBuffer(1, sOakSpeech_BackgroundTilemap, 0, 0);
|
||||
|
||||
+2
-2
@@ -1418,7 +1418,7 @@ void sub_8111D10(void)
|
||||
PutWindowTilemap(gUnknown_203ADFE[2]);
|
||||
sub_8111D90(gUnknown_203ADFE[2]);
|
||||
AddTextPrinterParameterized4(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
|
||||
void sub_8111D90(u8 a0)
|
||||
@@ -2297,7 +2297,7 @@ const struct WindowTemplate gUnknown_8456928 = {
|
||||
0x00, 0, 15, 30, 5, 15, 0x008F
|
||||
};
|
||||
|
||||
void sub_8112EA8(void)
|
||||
void MapNamePopupWindowIdSetDummy(void)
|
||||
{
|
||||
gUnknown_203B020 = 0xFF;
|
||||
}
|
||||
|
||||
+16
-16
@@ -422,7 +422,7 @@ static void TeachyTvCallback(void)
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
do_scheduled_bg_tilemap_copies_to_vram();
|
||||
DoScheduledBgTilemapCopiesToVram();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
|
||||
@@ -476,7 +476,7 @@ static void TeachyTvMainCallback(void)
|
||||
sResources->grassAnimDisabled = 0;
|
||||
sResources->scrollIndicatorArrowPairId = 0xFF;
|
||||
SetVBlankHBlankCallbacksToNull();
|
||||
clear_scheduled_bg_copies_to_vram();
|
||||
ClearScheduledBgCopiesToVram();
|
||||
ScanlineEffect_Stop();
|
||||
FreeAllSpritePalettes();
|
||||
ResetPaletteFade();
|
||||
@@ -487,7 +487,7 @@ static void TeachyTvMainCallback(void)
|
||||
++gMain.state;
|
||||
break;
|
||||
case 1:
|
||||
if (free_temp_tile_data_buffers_if_possible() == TRUE)
|
||||
if (FreeTempTileDataBuffersIfPossible() == TRUE)
|
||||
return;
|
||||
TeachyTvCreateAndRenderRbox();
|
||||
TeachyTvInitIo();
|
||||
@@ -506,10 +506,10 @@ static void TeachyTvMainCallback(void)
|
||||
PlayNewMapMusic(BGM_FRLG_TEACHY_TV);
|
||||
TeachyTvSetWindowRegs();
|
||||
}
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
schedule_bg_copy_tilemap_to_vram(3);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
ScheduleBgCopyTilemapToVram(3);
|
||||
sub_812B1E0(9); // help system something
|
||||
BlendPalettes(0xFFFFFFFF, 0x10, 0);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
|
||||
@@ -542,8 +542,8 @@ static void TeachyTvSetupBg(void)
|
||||
static void TeachyTvLoadGraphic(void)
|
||||
{
|
||||
u16 src = RGB_BLACK;
|
||||
reset_temp_tile_data_buffers();
|
||||
decompress_and_copy_tile_data_to_vram(1, gUnknown_8E86240, 0, 0, 0);
|
||||
ResetTempTileDataBuffers();
|
||||
DecompressAndCopyTileDataToVram(1, gUnknown_8E86240, 0, 0, 0);
|
||||
LZDecompressWram(gUnknown_8E86BE8, sResources->buffer1);
|
||||
LZDecompressWram(gUnknown_8E86D6C, sResources->buffer4);
|
||||
LoadCompressedPalette(gUnknown_8E86F98, 0, 0x80);
|
||||
@@ -656,7 +656,7 @@ static void TeachyTvBg2AnimController(void)
|
||||
tilemapBuffer[32 * i + j] = ((Random() & 3) << 10) + 0x301F;
|
||||
}
|
||||
}
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void TeachyTvSetupPostBattleWindowAndObj(u8 taskId)
|
||||
@@ -757,7 +757,7 @@ static void TeachyTvOptionListController(u8 taskId)
|
||||
DestroyListMenu(data[0], &sStaticResources.scrollOffset, &sStaticResources.selectedRow);
|
||||
TeachyTvClearWindowRegs();
|
||||
ClearWindowTilemap(1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
TeachyTvRemoveScrollIndicatorArrowPair();
|
||||
data[3] = 0;
|
||||
data[2] = 0;
|
||||
@@ -776,7 +776,7 @@ static void TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId)
|
||||
{
|
||||
CopyToBgTilemapBufferRect_ChangePalette(2, sResources->buffer4, 0, 0, 0x20, 0x20, 0x11);
|
||||
TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 8, 0x38, 7);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
data[2] = 0;
|
||||
++data[3];
|
||||
PlayNewMapMusic(BGM_FRLG_FOLLOW_ME);
|
||||
@@ -789,7 +789,7 @@ static void TTVcmd_ClearBg2TeachyTvGraphic(u8 taskId)
|
||||
if (++data[2] == 134)
|
||||
{
|
||||
FillBgTilemapBufferRect_Palette0(2, 0, 2, 1, 0x1A, 0xC);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
data[2] = 0;
|
||||
++data[3];
|
||||
}
|
||||
@@ -1040,7 +1040,7 @@ static void TTVcmd_RenderAndRemoveBg1EndGraphic(u8 taskId)
|
||||
if (!data[2])
|
||||
{
|
||||
CopyToBgTilemapBufferRect_ChangePalette(1, sBg1EndGraphic, 20, 10, 8, 2, 0x11);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
if (++data[2] > 126)
|
||||
{
|
||||
@@ -1053,7 +1053,7 @@ static void TTVcmd_RenderAndRemoveBg1EndGraphic(u8 taskId)
|
||||
static void TeachyTvClearBg1EndGraphicText(void)
|
||||
{
|
||||
FillBgTilemapBufferRect_Palette0(1, 0, 20, 10, 8, 2);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
|
||||
static void TTVcmd_End(u8 taskId)
|
||||
@@ -1071,7 +1071,7 @@ static void TTVcmd_End(u8 taskId)
|
||||
PutWindowTilemap(0);
|
||||
TeachyTvSetupScrollIndicatorArrowPair();
|
||||
TeachyTvSetWindowRegs();
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ChangeBgX(3, 0x0, 0);
|
||||
ChangeBgY(3, 0x0, 0);
|
||||
ChangeBgX(3, 0x1000, 2);
|
||||
|
||||
+32
-32
@@ -290,7 +290,7 @@ static void CB2_Idle(void)
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
do_scheduled_bg_tilemap_copies_to_vram();
|
||||
DoScheduledBgTilemapCopiesToVram();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ static bool8 DoSetUpTMCaseUI(void)
|
||||
{
|
||||
case 0:
|
||||
SetVBlankHBlankCallbacksToNull();
|
||||
clear_scheduled_bg_copies_to_vram();
|
||||
ClearScheduledBgCopiesToVram();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -432,8 +432,8 @@ static void LoadBGTemplates(void)
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBGTemplates, NELEMS(sBGTemplates));
|
||||
SetBgTilemapBuffer(2, *ptr);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
ShowBg(0);
|
||||
@@ -446,12 +446,12 @@ static bool8 HandleLoadTMCaseGraphicsAndPalettes(void)
|
||||
switch (sTMCaseDynamicResources->seqId)
|
||||
{
|
||||
case 0:
|
||||
reset_temp_tile_data_buffers();
|
||||
decompress_and_copy_tile_data_to_vram(1, gUnknown_8E845D8, 0, 0, 0);
|
||||
ResetTempTileDataBuffers();
|
||||
DecompressAndCopyTileDataToVram(1, gUnknown_8E845D8, 0, 0, 0);
|
||||
sTMCaseDynamicResources->seqId++;
|
||||
break;
|
||||
case 1:
|
||||
if (free_temp_tile_data_buffers_if_possible() != TRUE)
|
||||
if (FreeTempTileDataBuffersIfPossible() != TRUE)
|
||||
{
|
||||
LZDecompressWram(gUnknown_8E84A24, sTilemapBuffer);
|
||||
sTMCaseDynamicResources->seqId++;
|
||||
@@ -596,7 +596,7 @@ static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex)
|
||||
static void FillBG2RowWithPalette_2timesNplus1(s32 a0)
|
||||
{
|
||||
SetBgRectPal(2, 0, 12, 30, 8, 2 * a0 + 1);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void PrintListMenuCursorByID_WithColorIdx(u8 a0, u8 a1)
|
||||
@@ -806,8 +806,8 @@ static void Task_SelectTMAction_FromFieldBag(u8 taskId)
|
||||
PlaceHMTileInWindow(2, 0, 2);
|
||||
CopyWindowToVram(2, 2);
|
||||
}
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
gTasks[taskId].func = Task_TMContextMenu_HandleInput;
|
||||
}
|
||||
|
||||
@@ -840,8 +840,8 @@ static void TMHMContextMenuAction_Use(u8 taskId)
|
||||
ClearMenuWindow(2, 0);
|
||||
ClearWindowTilemap(2);
|
||||
PutWindowTilemap(0);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
if (CalculatePlayerPartyCount() == 0)
|
||||
{
|
||||
PrintError_ThereIsNoPokemon(taskId);
|
||||
@@ -864,8 +864,8 @@ static void TMHMContextMenuAction_Give(u8 taskId)
|
||||
PutWindowTilemap(1);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
if (!itemid_is_unique(itemId))
|
||||
{
|
||||
if (CalculatePlayerPartyCount() == 0)
|
||||
@@ -917,8 +917,8 @@ static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId)
|
||||
PutWindowTilemap(1);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
Subtask_ReturnToTMCaseMain(taskId);
|
||||
}
|
||||
|
||||
@@ -934,8 +934,8 @@ static void TMHMContextMenuAction_Exit(u8 taskId)
|
||||
PutWindowTilemap(1);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
Subtask_ReturnToTMCaseMain(taskId);
|
||||
}
|
||||
|
||||
@@ -1023,8 +1023,8 @@ static void Task_SaleOfTMsCancelled(u8 taskId)
|
||||
PutWindowTilemap(3);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
PrintListMenuCursorByID_WithColorIdx(data[0], 1);
|
||||
Subtask_ReturnToTMCaseMain(taskId);
|
||||
}
|
||||
@@ -1040,8 +1040,8 @@ static void Task_InitQuantitySelectUI(u8 taskId)
|
||||
SellTM_PrintQuantityAndSalePrice(1, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]);
|
||||
HandlePrintMoneyOnHand();
|
||||
CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect();
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
gTasks[taskId].func = Task_QuantitySelect_HandleInput;
|
||||
}
|
||||
|
||||
@@ -1066,8 +1066,8 @@ static void Task_QuantitySelect_HandleInput(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ClearMenuWindow(7, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
RemoveTMCaseScrollIndicatorArrowPair();
|
||||
Task_AskConfirmSaleWithAmount(taskId);
|
||||
}
|
||||
@@ -1080,8 +1080,8 @@ static void Task_QuantitySelect_HandleInput(u8 taskId)
|
||||
PutWindowTilemap(3);
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(1);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
RemoveTMCaseScrollIndicatorArrowPair();
|
||||
PrintListMenuCursorByID_WithColorIdx(data[0], 1);
|
||||
Subtask_ReturnToTMCaseMain(taskId);
|
||||
@@ -1093,7 +1093,7 @@ static void Task_PrintSaleConfirmedText(u8 taskId)
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
PutWindowTilemap(0);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TurnedOverItemsWorthYen);
|
||||
@@ -1250,7 +1250,7 @@ static void Task_TMCaseDude_Playback(u8 taskId)
|
||||
FillBG2RowWithPalette_2timesNplus1(0);
|
||||
BeginNormalPaletteFade(0x00000400, 0, 6, 0, 0);
|
||||
ClearMenuWindow_BorderThickness2(6, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
data[8]++;
|
||||
}
|
||||
break;
|
||||
@@ -1312,7 +1312,7 @@ static void InitWindowTemplatesAndPals(void)
|
||||
PutWindowTilemap(3);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
|
||||
static void AddTextPrinterParameterized_ColorByIndex(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx)
|
||||
@@ -1333,7 +1333,7 @@ static void TMCase_SetWindowBorder2(u8 windowId)
|
||||
static void TMCase_PrintMessageWithFollowupTask(u8 taskId, u8 windowId, const u8 * str, TaskFunc func)
|
||||
{
|
||||
DisplayMessageAndContinueTask(taskId, 6, 0x64, 0x0B, windowId, GetTextSpeedSetting(), str, func);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
|
||||
static void PrintStringTMCaseOnWindow3(void)
|
||||
@@ -1413,7 +1413,7 @@ static u8 AddTMContextMenu(u8 * a0, u8 a1)
|
||||
{
|
||||
*a0 = AddWindow(&sTMContextWindowTemplates[a1]);
|
||||
TMCase_SetWindowBorder1(*a0);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
return *a0;
|
||||
}
|
||||
@@ -1423,7 +1423,7 @@ static void RemoveTMContextMenu(u8 * a0)
|
||||
ClearMenuWindow(*a0, FALSE);
|
||||
ClearWindowTilemap(*a0);
|
||||
RemoveWindow(*a0);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
*a0 = 0xFF;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user