Comment dma3 methods and create DMA3_*BIT macros
This commit is contained in:
+25
-1
@@ -6,6 +6,14 @@
|
|||||||
// Maximum amount of data we will transfer in one operation
|
// Maximum amount of data we will transfer in one operation
|
||||||
#define MAX_DMA_BLOCK_SIZE 0x1000
|
#define MAX_DMA_BLOCK_SIZE 0x1000
|
||||||
|
|
||||||
|
#define DMA_REQUEST_COPY32 1
|
||||||
|
#define DMA_REQUEST_FILL32 2
|
||||||
|
#define DMA_REQUEST_COPY16 3
|
||||||
|
#define DMA_REQUEST_FILL16 4
|
||||||
|
|
||||||
|
#define DMA3_16BIT 0
|
||||||
|
#define DMA3_32BIT 1
|
||||||
|
|
||||||
#define Dma3CopyLarge_(src, dest, size, bit) \
|
#define Dma3CopyLarge_(src, dest, size, bit) \
|
||||||
{ \
|
{ \
|
||||||
const void *_src = src; \
|
const void *_src = src; \
|
||||||
@@ -48,10 +56,26 @@
|
|||||||
#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
|
#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
|
||||||
#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
|
#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
|
||||||
|
|
||||||
|
// Cancel pending DMA3 requests
|
||||||
void ClearDma3Requests(void);
|
void ClearDma3Requests(void);
|
||||||
|
|
||||||
|
// Handle pending DMA3 requests
|
||||||
void ProcessDma3Requests(void);
|
void ProcessDma3Requests(void);
|
||||||
|
|
||||||
|
// Copy size bytes from src to dest.
|
||||||
|
// mode takes a DMA3_*BIT macro
|
||||||
|
// Returns the request index
|
||||||
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
|
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
|
||||||
|
|
||||||
|
// Fill size bytes at dest with value.
|
||||||
|
// mode takes a DMA3_*BIT macro
|
||||||
|
// Returns the request index
|
||||||
s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode);
|
s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode);
|
||||||
s16 CheckForSpaceForDma3Request(s16 index);
|
|
||||||
|
// index is the return value from RequestDma3*
|
||||||
|
// if index = -1, will check if any request is pending
|
||||||
|
// otherwise, checks if the specified request is pending
|
||||||
|
// Returns -1 if pending, 0 otherwise
|
||||||
|
s16 WaitDma3Request(s16 index);
|
||||||
|
|
||||||
#endif // GUARD_DMA3_H
|
#endif // GUARD_DMA3_H
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ void TeardownMonMarkingsMenu(void);
|
|||||||
bool8 MonMarkingsHandleInput(void);
|
bool8 MonMarkingsHandleInput(void);
|
||||||
struct Sprite * CreateMonMarkingSprite_SelectCombo(u16 tileTag, u16 paletteTag, const u16 *palette);
|
struct Sprite * CreateMonMarkingSprite_SelectCombo(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||||
struct Sprite * CreateMonMarkingSprite_AllOff(u16 tileTag, u16 paletteTag, const u16 *palette);
|
struct Sprite * CreateMonMarkingSprite_AllOff(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||||
void sub_80BEBD0(u8 markings, void * dest);
|
void RequestDma3LoadMonMarking(u8 markings, void * dest);
|
||||||
|
|
||||||
#endif //GUARD_MON_MARKINGS_H
|
#endif //GUARD_MON_MARKINGS_H
|
||||||
|
|||||||
@@ -335,9 +335,9 @@ struct PokemonStorageSystemData
|
|||||||
/* 0d88 */ bool8 (*monPlaceChangeFunc)(void);
|
/* 0d88 */ bool8 (*monPlaceChangeFunc)(void);
|
||||||
/* 0d8c */ u8 monPlaceChangeState;
|
/* 0d8c */ u8 monPlaceChangeState;
|
||||||
/* 0d8d */ u8 field_D91;
|
/* 0d8d */ u8 field_D91;
|
||||||
/* 0d90 */ struct Sprite *field_D94;
|
/* 0d90 */ struct Sprite *monMarkingSprite;
|
||||||
/* 0d94 */ struct Sprite *field_D98[2];
|
/* 0d94 */ struct Sprite *field_D98[2];
|
||||||
/* 0d9c */ u16 *field_DA0;
|
/* 0d9c */ u16 *monMarkingSpriteTileStart;
|
||||||
/* 0da0 */ struct PokemonMarkMenu field_DA4;
|
/* 0da0 */ struct PokemonMarkMenu field_DA4;
|
||||||
/* 1e58 */ struct UnkPSSStruct_2002370 field_1E5C;
|
/* 1e58 */ struct UnkPSSStruct_2002370 field_1E5C;
|
||||||
/* 20a0 */ struct Pokemon movingMon;
|
/* 20a0 */ struct Pokemon movingMon;
|
||||||
|
|||||||
+4
-4
@@ -2257,8 +2257,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
|||||||
if (!toBG_2)
|
if (!toBG_2)
|
||||||
{
|
{
|
||||||
|
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, DMA3_32BIT);
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, DMA3_32BIT);
|
||||||
sub_80752A0(&animBg);
|
sub_80752A0(&animBg);
|
||||||
CpuFill16(toBG_2, animBg.bgTiles, 0x1000);
|
CpuFill16(toBG_2, animBg.bgTiles, 0x1000);
|
||||||
CpuFill16(toBG_2, animBg.bgTilemap, 0x800);
|
CpuFill16(toBG_2, animBg.bgTilemap, 0x800);
|
||||||
@@ -2282,8 +2282,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(12)), 0x2000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(12)), 0x2000, DMA3_32BIT);
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(30)), 0x1000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(30)), 0x1000, DMA3_32BIT);
|
||||||
sub_80752C8(&animBg, 2);
|
sub_80752C8(&animBg, 2);
|
||||||
CpuFill16(0, animBg.bgTiles + 0x1000, 0x1000);
|
CpuFill16(0, animBg.bgTiles + 0x1000, 0x1000);
|
||||||
CpuFill16(0, animBg.bgTilemap + 0x400, 0x800);
|
CpuFill16(0, animBg.bgTilemap + 0x400, 0x800);
|
||||||
|
|||||||
@@ -2027,7 +2027,7 @@ void sub_80F15C8(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
|
spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
|
||||||
RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, 1);
|
RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, DMA3_32BIT);
|
||||||
ClearBehindSubstituteBit(gBattleAnimAttacker);
|
ClearBehindSubstituteBit(gBattleAnimAttacker);
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode)
|
|||||||
|
|
||||||
offset = destOffset + offset;
|
offset = destOffset + offset;
|
||||||
|
|
||||||
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0);
|
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, DMA3_16BIT);
|
||||||
|
|
||||||
if (cursor == -1)
|
if (cursor == -1)
|
||||||
{
|
{
|
||||||
@@ -472,7 +472,7 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset)
|
|||||||
if (IsInvalidBg32(bg) == FALSE)
|
if (IsInvalidBg32(bg) == FALSE)
|
||||||
{
|
{
|
||||||
paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2);
|
paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2);
|
||||||
cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, 0);
|
cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, DMA3_16BIT);
|
||||||
|
|
||||||
if (cursor == -1)
|
if (cursor == -1)
|
||||||
{
|
{
|
||||||
@@ -500,7 +500,7 @@ bool8 IsDma3ManagerBusyWithBgCopy(void)
|
|||||||
|
|
||||||
if ((sDmaBusyBitfield[div] & (1 << mod)))
|
if ((sDmaBusyBitfield[div] & (1 << mod)))
|
||||||
{
|
{
|
||||||
s8 reqSpace = CheckForSpaceForDma3Request(i);
|
s8 reqSpace = WaitDma3Request(i);
|
||||||
if (reqSpace == -1)
|
if (reqSpace == -1)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
sDmaBusyBitfield[div] &= ~(1 << mod);
|
sDmaBusyBitfield[div] &= ~(1 << mod);
|
||||||
|
|||||||
+9
-14
@@ -3,12 +3,7 @@
|
|||||||
|
|
||||||
#define MAX_DMA_REQUESTS 128
|
#define MAX_DMA_REQUESTS 128
|
||||||
|
|
||||||
#define DMA_REQUEST_COPY32 1
|
static struct {
|
||||||
#define DMA_REQUEST_FILL32 2
|
|
||||||
#define DMA_REQUEST_COPY16 3
|
|
||||||
#define DMA_REQUEST_FILL16 4
|
|
||||||
|
|
||||||
static /*IWRAM_DATA*/ struct {
|
|
||||||
/* 0x00 */ const u8 *src;
|
/* 0x00 */ const u8 *src;
|
||||||
/* 0x04 */ u8 *dest;
|
/* 0x04 */ u8 *dest;
|
||||||
/* 0x08 */ u16 size;
|
/* 0x08 */ u16 size;
|
||||||
@@ -26,7 +21,7 @@ void ClearDma3Requests(void)
|
|||||||
gDma3ManagerLocked = TRUE;
|
gDma3ManagerLocked = TRUE;
|
||||||
gDma3RequestCursor = 0;
|
gDma3RequestCursor = 0;
|
||||||
|
|
||||||
for(i = 0; i < (u8)ARRAY_COUNT(gDma3Requests); i++)
|
for(i = 0; i < (u8)NELEMS(gDma3Requests); i++)
|
||||||
{
|
{
|
||||||
gDma3Requests[i].size = 0;
|
gDma3Requests[i].size = 0;
|
||||||
gDma3Requests[i].src = 0;
|
gDma3Requests[i].src = 0;
|
||||||
@@ -108,10 +103,10 @@ s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode)
|
|||||||
gDma3Requests[cursor].dest = dest;
|
gDma3Requests[cursor].dest = dest;
|
||||||
gDma3Requests[cursor].size = size;
|
gDma3Requests[cursor].size = size;
|
||||||
|
|
||||||
if(mode == 1)
|
if(mode == DMA3_32BIT)
|
||||||
gDma3Requests[cursor].mode = mode;
|
gDma3Requests[cursor].mode = DMA_REQUEST_COPY32;
|
||||||
else
|
else
|
||||||
gDma3Requests[cursor].mode = 3;
|
gDma3Requests[cursor].mode = DMA_REQUEST_COPY16;
|
||||||
|
|
||||||
gDma3ManagerLocked = FALSE;
|
gDma3ManagerLocked = FALSE;
|
||||||
return (s16)cursor;
|
return (s16)cursor;
|
||||||
@@ -146,10 +141,10 @@ s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode)
|
|||||||
gDma3Requests[cursor].mode = mode;
|
gDma3Requests[cursor].mode = mode;
|
||||||
gDma3Requests[cursor].value = value;
|
gDma3Requests[cursor].value = value;
|
||||||
|
|
||||||
if(mode == 1)
|
if(mode == DMA3_32BIT)
|
||||||
gDma3Requests[cursor].mode = 2;
|
gDma3Requests[cursor].mode = DMA_REQUEST_FILL32;
|
||||||
else
|
else
|
||||||
gDma3Requests[cursor].mode = 4;
|
gDma3Requests[cursor].mode = DMA_REQUEST_FILL16;
|
||||||
|
|
||||||
gDma3ManagerLocked = FALSE;
|
gDma3ManagerLocked = FALSE;
|
||||||
return (s16)cursor;
|
return (s16)cursor;
|
||||||
@@ -167,7 +162,7 @@ s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 CheckForSpaceForDma3Request(s16 index)
|
s16 WaitDma3Request(s16 index)
|
||||||
{
|
{
|
||||||
int current = 0;
|
int current = 0;
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -74,9 +74,9 @@ u8 RunHelpSystemCallback(void)
|
|||||||
sVideoState.state = 2;
|
sVideoState.state = 2;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
RequestDma3Copy(sPals, (void *)PLTT, sizeof(sPals), 0);
|
RequestDma3Copy(sPals, (void *)PLTT, sizeof(sPals), DMA3_16BIT);
|
||||||
RequestDma3Copy(sTiles, gDecompressionBuffer + 0x3EE0, sizeof(sTiles), 0);
|
RequestDma3Copy(sTiles, gDecompressionBuffer + 0x3EE0, sizeof(sTiles), DMA3_16BIT);
|
||||||
sVideoState.state = 3;
|
sVideoState.state = 3;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
@@ -160,7 +160,7 @@ void SaveMapGPURegs(void)
|
|||||||
|
|
||||||
void SaveMapTiles(void)
|
void SaveMapTiles(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy((void *)BG_CHAR_ADDR(3), sMapTilesBackup, BG_CHAR_SIZE, 0);
|
RequestDma3Copy((void *)BG_CHAR_ADDR(3), sMapTilesBackup, BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SaveMapTextColors(void)
|
void SaveMapTextColors(void)
|
||||||
@@ -189,7 +189,7 @@ void RestoreGPURegs(void)
|
|||||||
|
|
||||||
void RestoreMapTiles(void)
|
void RestoreMapTiles(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(sMapTilesBackup, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
RequestDma3Copy(sMapTilesBackup, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestoreMapTextColors(void)
|
void RestoreMapTextColors(void)
|
||||||
@@ -203,7 +203,7 @@ void RestoreMapTextColors(void)
|
|||||||
|
|
||||||
void CommitTilemap(void)
|
void CommitTilemap(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HS_DrawBgTilemapRect(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increment)
|
void HS_DrawBgTilemapRect(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increment)
|
||||||
|
|||||||
+1
-1
@@ -392,7 +392,7 @@ static void Task_PrintMainMenuText(u8 taskId)
|
|||||||
|
|
||||||
static void Task_WaitDma3AndFadeIn(u8 taskId)
|
static void Task_WaitDma3AndFadeIn(u8 taskId)
|
||||||
{
|
{
|
||||||
if (CheckForSpaceForDma3Request(-1) != -1)
|
if (WaitDma3Request(-1) != -1)
|
||||||
{
|
{
|
||||||
gTasks[taskId].func = Task_UpdateVisualSelection;
|
gTasks[taskId].func = Task_UpdateVisualSelection;
|
||||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF);
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF);
|
||||||
|
|||||||
+2
-2
@@ -507,8 +507,8 @@ static struct Sprite * CreateMonMarkingSprite(u16 tileTag, u16 paletteTag, const
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80BEBD0(u8 markings, void * dest)
|
void RequestDma3LoadMonMarking(u8 markings, void * dest)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(&sMonMarkingsTiles[64 * markings], dest, 0x80, 1);
|
RequestDma3Copy(&sMonMarkingsTiles[64 * markings], dest, 0x80, DMA3_32BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 of
|
|||||||
|
|
||||||
static void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId)
|
static void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId)
|
||||||
{
|
{
|
||||||
if (!CheckForSpaceForDma3Request(gTasks[taskId].data[0]))
|
if (!WaitDma3Request(gTasks[taskId].data[0]))
|
||||||
{
|
{
|
||||||
Free((void *)GetWordTaskArg(taskId, 1));
|
Free((void *)GetWordTaskArg(taskId, 1));
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 an
|
|||||||
ChangeBgY(3, 0, 0);
|
ChangeBgY(3, 0, 0);
|
||||||
SetBgTilemapBuffer(0, buffer->field_0914);
|
SetBgTilemapBuffer(0, buffer->field_0914);
|
||||||
SetBgTilemapBuffer(3, buffer->field_1914);
|
SetBgTilemapBuffer(3, buffer->field_1914);
|
||||||
RequestDma3Fill(0, (void *)BG_VRAM, 0x20, TRUE);
|
RequestDma3Fill(0, (void *)BG_VRAM, 0x20, DMA3_32BIT);
|
||||||
FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 32, 32);
|
FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 32, 32);
|
||||||
LoadBgGfxByAnimType(animType);
|
LoadBgGfxByAnimType(animType);
|
||||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ static void LoadPSSMenuGfx(void);
|
|||||||
static bool8 InitPSSWindows(void);
|
static bool8 InitPSSWindows(void);
|
||||||
static void LoadWaveformSpritePalette(void);
|
static void LoadWaveformSpritePalette(void);
|
||||||
static void sub_808F078(void);
|
static void sub_808F078(void);
|
||||||
static void sub_808F0F4(void);
|
static void PSS_CreateMonMarkingSprite(void);
|
||||||
static void sub_808F164(void);
|
static void CreateWaveformSprites(void);
|
||||||
static void RefreshCursorMonData(void);
|
static void RefreshCursorMonData(void);
|
||||||
static void BoxSetMosaic(void);
|
static void BoxSetMosaic(void);
|
||||||
static void SpriteCB_CursorMon_Mosaic(struct Sprite * sprite);
|
static void SpriteCB_CursorMon_Mosaic(struct Sprite * sprite);
|
||||||
@@ -2158,22 +2158,22 @@ static void sub_808F078(void)
|
|||||||
|
|
||||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30));
|
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30));
|
||||||
LoadCursorMonSprite();
|
LoadCursorMonSprite();
|
||||||
sub_808F0F4();
|
PSS_CreateMonMarkingSprite();
|
||||||
sub_808F164();
|
CreateWaveformSprites();
|
||||||
RefreshCursorMonData();
|
RefreshCursorMonData();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_808F0F4(void)
|
static void PSS_CreateMonMarkingSprite(void)
|
||||||
{
|
{
|
||||||
gPSSData->field_D94 = CreateMonMarkingSprite_AllOff(TAG_TILE_10, TAG_PAL_DAC8, NULL);
|
gPSSData->monMarkingSprite = CreateMonMarkingSprite_AllOff(TAG_TILE_10, TAG_PAL_DAC8, NULL);
|
||||||
gPSSData->field_D94->oam.priority = 1;
|
gPSSData->monMarkingSprite->oam.priority = 1;
|
||||||
gPSSData->field_D94->subpriority = 1;
|
gPSSData->monMarkingSprite->subpriority = 1;
|
||||||
gPSSData->field_D94->pos1.x = 40;
|
gPSSData->monMarkingSprite->pos1.x = 40;
|
||||||
gPSSData->field_D94->pos1.y = 150;
|
gPSSData->monMarkingSprite->pos1.y = 150;
|
||||||
gPSSData->field_DA0 = (void *)OBJ_VRAM0 + 32 * GetSpriteTileStartByTag(TAG_TILE_10);
|
gPSSData->monMarkingSpriteTileStart = (void *)OBJ_VRAM0 + 32 * GetSpriteTileStartByTag(TAG_TILE_10);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_808F164(void)
|
static void CreateWaveformSprites(void)
|
||||||
{
|
{
|
||||||
u16 i;
|
u16 i;
|
||||||
struct SpriteSheet sheet = sWaveformSpriteSheet;
|
struct SpriteSheet sheet = sWaveformSpriteSheet;
|
||||||
@@ -2312,12 +2312,12 @@ static void PrintCursorMonInfo(void)
|
|||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, 2);
|
||||||
if (gPSSData->cursorMonSpecies != SPECIES_NONE)
|
if (gPSSData->cursorMonSpecies != SPECIES_NONE)
|
||||||
{
|
{
|
||||||
sub_80BEBD0(gPSSData->cursorMonMarkings, gPSSData->field_DA0);
|
RequestDma3LoadMonMarking(gPSSData->cursorMonMarkings, gPSSData->monMarkingSpriteTileStart);
|
||||||
gPSSData->field_D94->invisible = FALSE;
|
gPSSData->monMarkingSprite->invisible = FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gPSSData->field_D94->invisible = TRUE;
|
gPSSData->monMarkingSprite->invisible = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -996,10 +996,10 @@ static void sub_8091420(u8 taskId)
|
|||||||
case 0:
|
case 0:
|
||||||
gPSSData->field_2D2 = 0;
|
gPSSData->field_2D2 = 0;
|
||||||
gPSSData->bg2_X = 0;
|
gPSSData->bg2_X = 0;
|
||||||
task->data[1] = RequestDma3Fill(0, gPSSData->field_4AC4, 0x1000, 1);
|
task->data[1] = RequestDma3Fill(0, gPSSData->field_4AC4, 0x1000, DMA3_32BIT);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (CheckForSpaceForDma3Request(task->data[1]) == -1)
|
if (WaitDma3Request(task->data[1]) == -1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SetBgTilemapBuffer(2, gPSSData->field_4AC4);
|
SetBgTilemapBuffer(2, gPSSData->field_4AC4);
|
||||||
|
|||||||
@@ -53,8 +53,8 @@ bool32 RunSaveFailedScreen(void)
|
|||||||
sSaveFailedScreenState = 2;
|
sSaveFailedScreenState = 2;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
RequestDma3Copy(sSaveFailedScreenPals, (void *)PLTT, 0x20, 0);
|
RequestDma3Copy(sSaveFailedScreenPals, (void *)PLTT, 0x20, DMA3_16BIT);
|
||||||
sSaveFailedScreenState = 3;
|
sSaveFailedScreenState = 3;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
@@ -118,12 +118,12 @@ static void BlankPalettes(void)
|
|||||||
|
|
||||||
static void RequestDmaCopyFromScreenBuffer(void)
|
static void RequestDmaCopyFromScreenBuffer(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(gDecompressionBuffer + 0x3800, (void *)BG_SCREEN_ADDR(31), 0x500, 0);
|
RequestDma3Copy(gDecompressionBuffer + 0x3800, (void *)BG_SCREEN_ADDR(31), 0x500, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RequestDmaCopyFromCharBuffer(void)
|
static void RequestDmaCopyFromCharBuffer(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(gDecompressionBuffer + 0x020, (void *)BG_CHAR_ADDR(3) + 0x20, 0x2300, 0);
|
RequestDma3Copy(gDecompressionBuffer + 0x020, (void *)BG_CHAR_ADDR(3) + 0x20, 0x2300, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FillBgMapBufferRect(u16 baseBlock, u8 left, u8 top, u8 width, u8 height, u16 blockOffset)
|
static void FillBgMapBufferRect(u16 baseBlock, u8 left, u8 top, u8 width, u8 height, u16 blockOffset)
|
||||||
|
|||||||
+3
-3
@@ -1952,9 +1952,9 @@ static bool8 SlotsTask_GraphicsInit(u8 * state, struct SlotMachineSetupTaskData
|
|||||||
SetVBlankCallback(NULL);
|
SetVBlankCallback(NULL);
|
||||||
ResetSpriteData();
|
ResetSpriteData();
|
||||||
FreeAllSpritePalettes();
|
FreeAllSpritePalettes();
|
||||||
RequestDma3Fill(0, (void *)OAM, OAM_SIZE, 1);
|
RequestDma3Fill(0, (void *)OAM, OAM_SIZE, DMA3_32BIT);
|
||||||
RequestDma3Fill(0, (void *)VRAM, 0x20, 1);
|
RequestDma3Fill(0, (void *)VRAM, 0x20, DMA3_32BIT);
|
||||||
RequestDma3Fill(0, (void *)(VRAM + 0xC000), 0x20, 1);
|
RequestDma3Fill(0, (void *)(VRAM + 0xC000), 0x20, DMA3_32BIT);
|
||||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||||
ResetBgPositions();
|
ResetBgPositions();
|
||||||
ResetBgsAndClearDma3BusyFlags(FALSE);
|
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||||
|
|||||||
+5
-5
@@ -23,11 +23,11 @@ EWRAM_DATA struct MusicPlayerInfo* gMPlay_PokemonCry = NULL;
|
|||||||
EWRAM_DATA u8 gPokemonCryBGMDuckingCounter = 0;
|
EWRAM_DATA u8 gPokemonCryBGMDuckingCounter = 0;
|
||||||
|
|
||||||
// iwram bss
|
// iwram bss
|
||||||
/*IWRAM_DATA*/ static u16 sCurrentMapMusic;
|
static u16 sCurrentMapMusic;
|
||||||
/*IWRAM_DATA*/ static u16 sNextMapMusic;
|
static u16 sNextMapMusic;
|
||||||
/*IWRAM_DATA*/ static u8 sMapMusicState;
|
static u8 sMapMusicState;
|
||||||
/*IWRAM_DATA*/ static u8 sMapMusicFadeInSpeed;
|
static u8 sMapMusicFadeInSpeed;
|
||||||
/*IWRAM_DATA*/ static u16 sFanfareCounter;
|
static u16 sFanfareCounter;
|
||||||
|
|
||||||
// iwram common
|
// iwram common
|
||||||
bool8 gDisableMusic;
|
bool8 gDisableMusic;
|
||||||
|
|||||||
@@ -1252,7 +1252,7 @@ static void SetBgTilemapWorkBuffers(void)
|
|||||||
|
|
||||||
static void ClearBg0(void)
|
static void ClearBg0(void)
|
||||||
{
|
{
|
||||||
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(0), 0x20, 1);
|
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(0), 0x20, DMA3_32BIT);
|
||||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
|
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
|
||||||
CopyBgTilemapBufferToVram(0);
|
CopyBgTilemapBufferToVram(0);
|
||||||
}
|
}
|
||||||
@@ -1279,7 +1279,7 @@ static void LoadLinkMiscMenuGfx(void)
|
|||||||
static void LoadBg1Pal8(void)
|
static void LoadBg1Pal8(void)
|
||||||
{
|
{
|
||||||
LoadPalette(sBg1Pal8, 0x80, 0x20);
|
LoadPalette(sBg1Pal8, 0x80, 0x20);
|
||||||
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, 1);
|
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, DMA3_32BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LoadWin0(void)
|
static void LoadWin0(void)
|
||||||
|
|||||||
Reference in New Issue
Block a user