through AddTextPrinterParameterized2()

This commit is contained in:
jiangzhengwenjz
2019-06-24 14:37:45 +08:00
parent 5b7c34096c
commit efad45497d
52 changed files with 664 additions and 1213 deletions
+4 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
}
}
+2 -2
View File
@@ -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
View File
@@ -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);
}
+4 -4
View File
@@ -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);
+281
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}