Sync palette macros
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
8
|
||||
148 197 172
|
||||
16 16 16
|
||||
32 32 32
|
||||
49 49 49
|
||||
65 65 65
|
||||
82 82 82
|
||||
98 98 98
|
||||
115 115 115
|
||||
@@ -1,14 +1,6 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
148 197 172
|
||||
16 16 16
|
||||
32 32 32
|
||||
49 49 49
|
||||
65 65 65
|
||||
82 82 82
|
||||
98 98 98
|
||||
115 115 115
|
||||
8
|
||||
131 131 131
|
||||
148 148 148
|
||||
164 164 164
|
||||
|
Before Width: | Height: | Size: 258 B After Width: | Height: | Size: 258 B |
+11
-7
@@ -31,14 +31,12 @@
|
||||
#define IWRAM_START 0x03000000
|
||||
#define IWRAM_END (IWRAM_START + 0x8000)
|
||||
|
||||
#define PLTT 0x5000000
|
||||
#define PLTT_SIZE 0x400
|
||||
|
||||
#define BG_PLTT PLTT
|
||||
#define BG_PLTT_SIZE 0x200
|
||||
|
||||
#define OBJ_PLTT (PLTT + 0x200)
|
||||
#define PLTT 0x5000000
|
||||
#define BG_PLTT PLTT
|
||||
#define BG_PLTT_SIZE 0x200
|
||||
#define OBJ_PLTT (PLTT + BG_PLTT_SIZE)
|
||||
#define OBJ_PLTT_SIZE 0x200
|
||||
#define PLTT_SIZE (BG_PLTT_SIZE + OBJ_PLTT_SIZE)
|
||||
|
||||
#define VRAM 0x6000000
|
||||
#define VRAM_SIZE 0x18000
|
||||
@@ -79,6 +77,12 @@
|
||||
|
||||
#define TOTAL_OBJ_TILE_COUNT 1024
|
||||
|
||||
#define PLTT_SIZEOF(n) ((n) * sizeof(u16))
|
||||
#define PLTT_SIZE_4BPP PLTT_SIZEOF(16)
|
||||
#define PLTT_SIZE_8BPP PLTT_SIZEOF(256)
|
||||
|
||||
#define PLTT_OFFSET_4BPP(n) ((n) * PLTT_SIZE_4BPP)
|
||||
|
||||
// Some functions are strictly inline asm
|
||||
#define NAKED __attribute__((naked))
|
||||
#define UNUSED __attribute__((unused))
|
||||
|
||||
+1
-1
@@ -2753,7 +2753,7 @@ extern const u32 gItemIcon_QuestionMark[];
|
||||
extern const u32 gItemIconPalette_QuestionMark[];
|
||||
|
||||
// fame_checker
|
||||
extern const u16 gFameCheckerBgPals[0x30];
|
||||
extern const u16 gFameCheckerBgPals[][16];
|
||||
extern const u16 gFameCheckerBgTiles[0xa50];
|
||||
extern const u16 gFameCheckerBg3Tilemap[0x400];
|
||||
extern const u16 gFameCheckerBg2Tilemap[0x400];
|
||||
|
||||
+18
-2
@@ -8,8 +8,7 @@
|
||||
#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade
|
||||
#define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade
|
||||
|
||||
#define PLTT_BUFFER_SIZE 0x200
|
||||
#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2)
|
||||
#define PLTT_BUFFER_SIZE (PLTT_SIZE / sizeof(u16))
|
||||
|
||||
#define PALETTE_FADE_STATUS_DELAY 2
|
||||
#define PALETTE_FADE_STATUS_ACTIVE 1
|
||||
@@ -20,6 +19,13 @@
|
||||
#define PALETTES_OBJECTS 0xFFFF0000
|
||||
#define PALETTES_ALL (PALETTES_BG | PALETTES_OBJECTS)
|
||||
|
||||
#define PLTT_ID(n) ((n) * 16)
|
||||
#define BG_PLTT_OFFSET 0x000
|
||||
#define OBJ_PLTT_OFFSET 0x100
|
||||
#define BG_PLTT_ID(n) (BG_PLTT_OFFSET + PLTT_ID(n))
|
||||
#define OBJ_PLTT_ID(n) (OBJ_PLTT_OFFSET + PLTT_ID(n))
|
||||
#define OBJ_PLTT_ID2(n) (PLTT_ID((n) + 16))
|
||||
|
||||
enum
|
||||
{
|
||||
FAST_FADE_IN_FROM_WHITE,
|
||||
@@ -80,4 +86,14 @@ void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTa
|
||||
bool32 IsBlendPalettesGraduallyTaskActive(u8 var);
|
||||
void DestroyBlendPalettesGraduallyTask(void);
|
||||
|
||||
static inline void SetBackdropFromColor(u16 color)
|
||||
{
|
||||
FillPalette(color, 0, PLTT_SIZEOF(1));
|
||||
}
|
||||
|
||||
static inline void SetBackdropFromPalette(const u16 *palette)
|
||||
{
|
||||
LoadPalette(palette, 0, PLTT_SIZEOF(1));
|
||||
}
|
||||
|
||||
#endif // GUARD_PALETTE_H
|
||||
|
||||
@@ -20,27 +20,27 @@ static const u8 sTextColors[][3] = {
|
||||
static const struct WindowTemplate sDefaultBagWindowsStd[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x0b,
|
||||
.tilemapTop = 0x01,
|
||||
.width = 0x12,
|
||||
.height = 0x0c,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 1,
|
||||
.width = 18,
|
||||
.height = 12,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x008a
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x05,
|
||||
.tilemapTop = 0x0e,
|
||||
.width = 0x19,
|
||||
.height = 0x06,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 14,
|
||||
.width = 25,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x0162
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x01,
|
||||
.width = 0x09,
|
||||
.height = 0x02,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x01f8
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -48,27 +48,27 @@ static const struct WindowTemplate sDefaultBagWindowsStd[] = {
|
||||
static const struct WindowTemplate sDefaultBagWindowsDeposit[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x0b,
|
||||
.tilemapTop = 0x01,
|
||||
.width = 0x12,
|
||||
.height = 0x0c,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 1,
|
||||
.width = 18,
|
||||
.height = 12,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x008a
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x05,
|
||||
.tilemapTop = 0x0e,
|
||||
.width = 0x19,
|
||||
.height = 0x06,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 14,
|
||||
.width = 25,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x0162
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x01,
|
||||
.width = 0x08,
|
||||
.height = 0x02,
|
||||
.paletteNum = 0x0C,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x01f8
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -80,7 +80,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 5,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x242
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -88,7 +88,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 9,
|
||||
.width = 12,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x242
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -96,7 +96,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 1,
|
||||
.width = 8,
|
||||
.height = 3,
|
||||
.paletteNum = 0xC,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x272
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -104,7 +104,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x28a
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -112,7 +112,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 9,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x28a
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -120,7 +120,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x2a2
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -128,7 +128,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 14,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x2a2
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -136,7 +136,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 15,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x2da
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -144,7 +144,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 16,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x316
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -152,7 +152,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 23,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x356
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -160,7 +160,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 17,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x20a
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -168,7 +168,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 7,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x20a
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -176,7 +176,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 13,
|
||||
.width = 7,
|
||||
.height = 6,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x20a
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -184,7 +184,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 11,
|
||||
.width = 7,
|
||||
.height = 8,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x20a
|
||||
}
|
||||
};
|
||||
@@ -202,10 +202,10 @@ void InitBagWindows(void)
|
||||
else
|
||||
InitWindows(sDefaultBagWindowsDeposit);
|
||||
DeactivateAllTextPrinters();
|
||||
LoadUserWindowGfx(0, 0x64, 0xE0);
|
||||
LoadMenuMessageWindowGfx(0, 0x6D, 0xD0);
|
||||
LoadStdWindowGfx(0, 0x81, 0xC0);
|
||||
LoadPalette(sBagWindowPalF, 0xF0, 0x20);
|
||||
LoadUserWindowGfx(0, 0x64, BG_PLTT_ID(14));
|
||||
LoadMenuMessageWindowGfx(0, 0x6D, BG_PLTT_ID(13));
|
||||
LoadStdWindowGfx(0, 0x81, BG_PLTT_ID(12));
|
||||
LoadPalette(sBagWindowPalF, BG_PLTT_ID(15), sizeof(sBagWindowPalF));
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
FillWindowPixelBuffer(i, 0x00);
|
||||
@@ -232,7 +232,7 @@ void BagPrintTextOnWin1CenteredColor0(const u8 * str, u8 unused)
|
||||
void BagDrawDepositItemTextBox(void)
|
||||
{
|
||||
u32 x;
|
||||
DrawStdFrameWithCustomTileAndPalette(2, FALSE, 0x081, 0x0C);
|
||||
DrawStdFrameWithCustomTileAndPalette(2, FALSE, 0x081, 12);
|
||||
x = 0x40 - GetStringWidth(FONT_SMALL, gText_DepositItem, 0);
|
||||
AddTextPrinterParameterized(2, FONT_SMALL, gText_DepositItem, x / 2, 1, 0, NULL);
|
||||
}
|
||||
@@ -244,11 +244,11 @@ u8 ShowBagWindow(u8 whichWindow, u8 nItems)
|
||||
sOpenWindows[whichWindow] = AddWindow(&sWindowTemplates[whichWindow + nItems]);
|
||||
if (whichWindow != 6)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x064, 0xE);
|
||||
DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x064, 14);
|
||||
}
|
||||
else
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x081, 0xC);
|
||||
DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x081, 12);
|
||||
}
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
@@ -293,12 +293,12 @@ u8 GetBagWindow(u8 whichWindow)
|
||||
|
||||
void BagCreateYesNoMenuBottomRight(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[3], FONT_NORMAL, 0, 2, 0x064, 0x0E, ptrs);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[3], FONT_NORMAL, 0, 2, 0x064, 14, ptrs);
|
||||
}
|
||||
|
||||
void BagCreateYesNoMenuTopRight(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[4], FONT_NORMAL, 0, 2, 0x064, 0x0E, ptrs);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[4], FONT_NORMAL, 0, 2, 0x064, 14, ptrs);
|
||||
}
|
||||
|
||||
void BagPrintMoneyAmount(void)
|
||||
@@ -308,5 +308,5 @@ void BagPrintMoneyAmount(void)
|
||||
|
||||
void BagDrawTextBoxOnWindow(u8 windowId)
|
||||
{
|
||||
DrawTextBorderOuter(windowId, 0x064, 0x0E);
|
||||
DrawTextBorderOuter(windowId, 0x064, 14);
|
||||
}
|
||||
|
||||
+7
-17
@@ -654,8 +654,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
|
||||
|
||||
LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], animBg.paletteId * 16, 0x20);
|
||||
CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + animBg.paletteId * 32), 0x20);
|
||||
LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + animBg.paletteId * PLTT_SIZE_4BPP), PLTT_SIZE_4BPP);
|
||||
|
||||
CopyBattlerSpriteToBg(1, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles,
|
||||
animBg.bgTilemap, animBg.tilesOffset);
|
||||
@@ -679,8 +679,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X);
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y);
|
||||
|
||||
LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20);
|
||||
CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + 0x120), 0x20);
|
||||
LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(9), PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + 9 * PLTT_SIZE_4BPP), PLTT_SIZE_4BPP);
|
||||
|
||||
CopyBattlerSpriteToBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000,
|
||||
animBg.bgTilemap + 0x400, animBg.tilesOffset);
|
||||
@@ -739,25 +739,15 @@ static void Task_InitUpdateMonBg(u8 taskId)
|
||||
|
||||
if (gTasks[taskId].data[5] == 0)
|
||||
{
|
||||
u16 *src;
|
||||
u16 *dst;
|
||||
|
||||
gBattle_BG1_X = x + gTasks[taskId].data[3];
|
||||
gBattle_BG1_Y = y + gTasks[taskId].data[4];
|
||||
src = gPlttBufferFaded + 0x100 + palIndex * 16;
|
||||
dst = gPlttBufferFaded + 0x100 + animBg.paletteId * 16 - 256;
|
||||
CpuCopy32(src, dst, 0x20);
|
||||
CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(palIndex)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
u16 *src;
|
||||
u16 *dst;
|
||||
|
||||
gBattle_BG2_X = x + gTasks[taskId].data[3];
|
||||
gBattle_BG2_Y = y + gTasks[taskId].data[4];
|
||||
src = gPlttBufferFaded + 0x100 + palIndex * 16;
|
||||
dst = gPlttBufferFaded + 0x100 - 112;
|
||||
CpuCopy32(src, dst, 0x20);
|
||||
CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(palIndex)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1113,7 +1103,7 @@ static void LoadMoveBg(u16 bgId)
|
||||
{
|
||||
LZDecompressVram(gBattleAnimBackgroundTable[bgId].tilemap, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_CHAR_ADDR(2)));
|
||||
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, 32, 32);
|
||||
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void LoadDefaultBg(void)
|
||||
|
||||
@@ -415,7 +415,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
task->data[10] = gBattle_BG1_Y;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
|
||||
FillPalette(RGB_BLACK, animBg.paletteId * 16, 32);
|
||||
FillPalette(RGB_BLACK, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
scanlineParams.dmaDest = ®_BG1VOFS;
|
||||
var0 = WINOUT_WIN01_BG1;
|
||||
if (!IsContest())
|
||||
@@ -425,7 +425,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId)
|
||||
{
|
||||
task->data[10] = gBattle_BG2_Y;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2);
|
||||
FillPalette(RGB_BLACK, 144, 32);
|
||||
FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP);
|
||||
scanlineParams.dmaDest = ®_BG2VOFS;
|
||||
var0 = WINOUT_WIN01_BG2;
|
||||
if (!IsContest())
|
||||
@@ -545,12 +545,12 @@ void AnimTask_MoveTargetMementoShadow(u8 taskId)
|
||||
{
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
task->data[10] = gBattle_BG1_Y;
|
||||
FillPalette(RGB_BLACK, animBg.paletteId * 16, 32);
|
||||
FillPalette(RGB_BLACK, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
task->data[10] = gBattle_BG2_Y;
|
||||
FillPalette(RGB_BLACK, 9 * 16, 32);
|
||||
FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP);
|
||||
}
|
||||
SetAllBattlersSpritePriority(3);
|
||||
++task->data[0];
|
||||
@@ -806,14 +806,14 @@ void AnimTask_MetallicShine(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gMetalShinePalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
gBattle_BG1_X = -gSprites[spriteId].x + 96;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].y + 32;
|
||||
paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
|
||||
if (gBattleAnimArgs[1] == 0)
|
||||
SetGreyscaleOrOriginalPalette(paletteNum, FALSE);
|
||||
else
|
||||
BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]);
|
||||
BlendPalette(PLTT_ID(paletteNum), 16, 11, gBattleAnimArgs[2]);
|
||||
gTasks[taskId].data[0] = newSpriteId;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[1];
|
||||
|
||||
@@ -3672,8 +3672,8 @@ void AnimTask_CycleMagicalLeafPal(u8 taskId)
|
||||
switch (task->data[0])
|
||||
{
|
||||
case 0:
|
||||
task->data[8] = IndexOfSpritePaletteTag(ANIM_TAG_LEAF) * 16 + 256;
|
||||
task->data[12] = IndexOfSpritePaletteTag(ANIM_TAG_RAZOR_LEAF) * 16 + 256;
|
||||
task->data[8] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_LEAF));
|
||||
task->data[12] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_RAZOR_LEAF));
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -3996,7 +3996,7 @@ static void AnimProtect(struct Sprite* sprite)
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = (IndexOfSpritePaletteTag(ANIM_TAG_PROTECT) << 4) + 0x100;
|
||||
sprite->data[2] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_PROTECT));
|
||||
sprite->data[7] = 16;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7]));
|
||||
@@ -4384,7 +4384,7 @@ static void AnimLockOnTarget_Step4(struct Sprite* sprite)
|
||||
int pal;
|
||||
sprite->data[2]++;
|
||||
pal = sprite->oam.paletteNum;
|
||||
LoadPalette(&gPlttBufferUnfaded[0x108 + pal * 16], pal * 16 | 0x101, 4);
|
||||
LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(pal) + 8], OBJ_PLTT_ID(pal) + 1, PLTT_SIZEOF(2));
|
||||
PlaySE12WithPanning(SE_M_LEER, BattleAnimAdjustPanning(SOUND_PAN_TARGET));
|
||||
}
|
||||
else if (sprite->data[1] == 0)
|
||||
@@ -5216,8 +5216,8 @@ void AnimTask_DoubleTeam(u8 taskId)
|
||||
|
||||
task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
task->data[1] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
|
||||
r3 = (task->data[1] * 16) + 0x100;
|
||||
r4 = (gSprites[task->data[0]].oam.paletteNum + 16) << 4;
|
||||
r3 = OBJ_PLTT_ID(task->data[1]);
|
||||
r4 = OBJ_PLTT_ID2(gSprites[task->data[0]].oam.paletteNum);
|
||||
for (i = 1; i < 16; i++)
|
||||
gPlttBufferUnfaded[r3 + i] = gPlttBufferUnfaded[r4 + i];
|
||||
|
||||
@@ -5295,7 +5295,7 @@ void AnimTask_MusicNotesRainbowBlend(u8 taskId)
|
||||
index = IndexOfSpritePaletteTag(sParticlesColorBlendTable[0][0]);
|
||||
if (index != 0xFF)
|
||||
{
|
||||
index = (index << 4) + 0x100;
|
||||
index = OBJ_PLTT_ID(index);
|
||||
for (i = 1; i < NELEMS(sParticlesColorBlendTable[0]); i++)
|
||||
gPlttBufferFaded[index + i] = sParticlesColorBlendTable[0][i];
|
||||
}
|
||||
@@ -5305,7 +5305,7 @@ void AnimTask_MusicNotesRainbowBlend(u8 taskId)
|
||||
index = AllocSpritePalette(sParticlesColorBlendTable[j][0]);
|
||||
if (index != 0xFF)
|
||||
{
|
||||
index = (index << 4) + 0x100;
|
||||
index = OBJ_PLTT_ID(index);
|
||||
for (i = 1; i < NELEMS(sParticlesColorBlendTable[0]); i++)
|
||||
gPlttBufferFaded[index + i] = sParticlesColorBlendTable[j][i];
|
||||
}
|
||||
|
||||
@@ -1744,7 +1744,7 @@ void AnimTask_AirCutterProjectile(u8 taskId)
|
||||
static void AnimVoidLines(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||
sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(sVoidLinesSpriteTemplate.paletteTag) << 4);
|
||||
sprite->data[0] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(sVoidLinesSpriteTemplate.paletteTag));
|
||||
sprite->callback = AnimVoidLines_Step;
|
||||
}
|
||||
|
||||
@@ -2687,9 +2687,7 @@ static void AnimUproarRing(struct Sprite *sprite)
|
||||
u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING);
|
||||
|
||||
if (index != 0xFF)
|
||||
{
|
||||
BlendPalette(((index << 20) + 0x1010000) >> 16, 15, gBattleAnimArgs[5], gBattleAnimArgs[4]);
|
||||
}
|
||||
BlendPalette(OBJ_PLTT_ID(index) + 1, 15, gBattleAnimArgs[5], gBattleAnimArgs[4]);
|
||||
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
sprite->callback = AnimSpriteOnMonPos;
|
||||
@@ -3045,7 +3043,7 @@ void AnimTask_LoadMusicNotesPals(u8 taskId)
|
||||
gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000);
|
||||
LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->multiUseBuffer);
|
||||
for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++)
|
||||
LoadPalette(&gMonSpritesGfxPtr->multiUseBuffer[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32);
|
||||
LoadPalette(&gMonSpritesGfxPtr->multiUseBuffer[i * 32], OBJ_PLTT_ID(paletteNums[i]), PLTT_SIZE_4BPP);
|
||||
|
||||
FREE_AND_SET_NULL(gMonSpritesGfxPtr->multiUseBuffer);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
@@ -3282,7 +3280,7 @@ void AnimTask_HeartsBackground(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBg_AttractTilemap);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBg_AttractGfx, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnimBg_AttractPal, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnimBg_AttractPal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
if (IsContest())
|
||||
RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0);
|
||||
|
||||
@@ -3370,7 +3368,7 @@ void AnimTask_ScaryFace(u8 taskId)
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_ScaryFaceOpponent);
|
||||
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_ScaryFaceGfx, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnim_ScaryFacePal, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnim_ScaryFacePal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
if (IsContest())
|
||||
RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0);
|
||||
|
||||
|
||||
+14
-14
@@ -1367,11 +1367,11 @@ static void SetPsychicBackground_Step(u8 taskId)
|
||||
|
||||
if (++gTasks[taskId].data[5] == 4)
|
||||
{
|
||||
lastColor = gPlttBufferFaded[paletteIndex * 16 + 11];
|
||||
lastColor = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 11];
|
||||
for (i = 10; i > 0; i--)
|
||||
gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i];
|
||||
gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i + 1] = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i];
|
||||
|
||||
gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor;
|
||||
gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 1] = lastColor;
|
||||
gTasks[taskId].data[5] = 0;
|
||||
}
|
||||
|
||||
@@ -1393,15 +1393,15 @@ static void FadeScreenToWhite_Step(u8 taskId)
|
||||
|
||||
if (++gTasks[taskId].data[5] == 4)
|
||||
{
|
||||
lastColor = gPlttBufferFaded[paletteIndex * 16 + 11];
|
||||
lastColor = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 11];
|
||||
for (i = 10; i > 0; i--)
|
||||
gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i];
|
||||
gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor;
|
||||
gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i + 1] = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i];
|
||||
gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 1] = lastColor;
|
||||
|
||||
lastColor = gPlttBufferUnfaded[paletteIndex * 16 + 11];
|
||||
lastColor = gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + 11];
|
||||
for (i = 10; i > 0; i--)
|
||||
gPlttBufferUnfaded[paletteIndex * 16 + i + 1] = gPlttBufferUnfaded[paletteIndex * 16 + i];
|
||||
gPlttBufferUnfaded[paletteIndex * 16 + 1] = lastColor;
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + i + 1] = gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + i];
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + 1] = lastColor;
|
||||
|
||||
gTasks[taskId].data[5] = 0;
|
||||
}
|
||||
@@ -2329,7 +2329,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnim_MorningSunPal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
if (IsContest())
|
||||
{
|
||||
RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0);
|
||||
@@ -2509,7 +2509,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnim_MorningSunPal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
|
||||
if (IsContest())
|
||||
{
|
||||
@@ -3177,7 +3177,7 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
|
||||
spriteId = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1);
|
||||
gSprites[spriteId].oam.priority = priority;
|
||||
gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
|
||||
FillPalette(RGB_WHITE, (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32);
|
||||
FillPalette(RGB_WHITE, OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum), PLTT_SIZE_4BPP);
|
||||
gSprites[spriteId].oam.priority = priority;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1]));
|
||||
@@ -3806,7 +3806,7 @@ void AnimTask_FacadeColorBlend(u8 taskId)
|
||||
gTasks[taskId].data[0] = 0;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||
spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
|
||||
gTasks[taskId].data[2] = 0x100 + gSprites[spriteId].oam.paletteNum * 16;
|
||||
gTasks[taskId].data[2] = OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum);
|
||||
gTasks[taskId].func = AnimTask_FacadeColorBlend_Step;
|
||||
}
|
||||
|
||||
@@ -5025,7 +5025,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
|
||||
spriteId2 = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE)
|
||||
BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE);
|
||||
BlendPalette(OBJ_PLTT_ID(gSprites[spriteId2].oam.paletteNum), 16, 6, RGB_WHITE);
|
||||
gTasks[taskId].data[15] = spriteId2;
|
||||
gTasks[taskId].data[0]++;
|
||||
break;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "util.h"
|
||||
#include "task.h"
|
||||
#include "trig.h"
|
||||
#include "palette.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
static void AnimFireSpiralInward(struct Sprite *sprite);
|
||||
@@ -1239,7 +1240,7 @@ void AnimTask_BlendBackground(u8 taskId)
|
||||
struct BattleAnimBgData animBg;
|
||||
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
BlendPalette(animBg.paletteId * 16, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]);
|
||||
BlendPalette(BG_PLTT_ID(animBg.paletteId), 16, gBattleAnimArgs[0], gBattleAnimArgs[1]);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
|
||||
@@ -395,15 +395,15 @@ static void AnimTask_AnimateGustTornadoPalette_Step(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[10] = 0;
|
||||
data2 = gTasks[taskId].data[2];
|
||||
temp = gPlttBufferFaded[16 * data2 + 0x108];
|
||||
temp = gPlttBufferFaded[OBJ_PLTT_ID(data2) + 8];
|
||||
i = 7;
|
||||
base = data2 * 16;
|
||||
base = PLTT_ID(data2);
|
||||
do
|
||||
{
|
||||
gPlttBufferFaded[base + 0x101 + i] = gPlttBufferFaded[base + 0x100 + i];
|
||||
gPlttBufferFaded[base + OBJ_PLTT_OFFSET + 1 + i] = gPlttBufferFaded[base + OBJ_PLTT_OFFSET + i];
|
||||
} while (--i > 0);
|
||||
|
||||
gPlttBufferFaded[base + 0x101] = temp;
|
||||
gPlttBufferFaded[base + OBJ_PLTT_OFFSET + 1] = temp;
|
||||
}
|
||||
if (--gTasks[taskId].data[0] == 0)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
|
||||
@@ -625,7 +625,7 @@ static void AnimTask_SpiteTargetShadow_Step1(u8 taskId)
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 16;
|
||||
task->data[13] = GetAnimBattlerSpriteId(ANIM_TARGET);
|
||||
task->data[4] = (gSprites[task->data[13]].oam.paletteNum + 16) * 16;
|
||||
task->data[4] = OBJ_PLTT_ID2(gSprites[task->data[13]].oam.paletteNum);
|
||||
if (position == 1)
|
||||
{
|
||||
u16 mask = DISPCNT_BG1_ON;
|
||||
@@ -644,8 +644,8 @@ static void AnimTask_SpiteTargetShadow_Step1(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
task->data[14] = (task->data[14] + 16) * 16;
|
||||
CpuCopy32(&gPlttBufferUnfaded[task->data[4]], &gPlttBufferFaded[task->data[14]], 0x20);
|
||||
task->data[14] = OBJ_PLTT_ID2(task->data[14]);
|
||||
CpuCopy32(&gPlttBufferUnfaded[task->data[4]], &gPlttBufferFaded[task->data[14]], PLTT_SIZE_4BPP);
|
||||
BlendPalette(task->data[4], 16, 10, RGB(13, 0, 15));
|
||||
++task->data[15];
|
||||
break;
|
||||
@@ -1290,10 +1290,10 @@ static void AnimTask_GhostGetOut_Step1(u8 taskId)
|
||||
task->data[3] = 16;
|
||||
task->data[4] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
task->data[5] = gSprites[task->data[4]].oam.priority;
|
||||
task->data[6] = (gSprites[task->data[4]].oam.paletteNum + 16) << 4;
|
||||
task->data[6] = OBJ_PLTT_ID2(gSprites[task->data[4]].oam.paletteNum);
|
||||
gSprites[task->data[4]].oam.objMode = ST_OAM_OBJ_BLEND;
|
||||
gSprites[task->data[4]].oam.priority = 3;
|
||||
task->data[7] = 128;
|
||||
task->data[7] = BG_PLTT_ID(8);
|
||||
break;
|
||||
case 1:
|
||||
++task->data[1];
|
||||
@@ -1320,7 +1320,7 @@ static void AnimTask_GhostGetOut_Step1(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y);
|
||||
GetBattleAnimBgData(&animBgData, 2);
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, gBattleAnim_ScaryFaceGfx, animBgData.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnim_ScaryFacePal, 16 * animBgData.paletteId, 0x20);
|
||||
LoadCompressedPalette(gBattleAnim_ScaryFacePal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 3:
|
||||
GetBattleAnimBgData(&animBgData, 2);
|
||||
@@ -1422,7 +1422,7 @@ static void AnimTask_GhostGetOut_Step3(u8 taskId)
|
||||
break;
|
||||
case 3:
|
||||
InitBattleAnimBg(2);
|
||||
FillPalette(RGB_BLACK, 0x90, 0x20);
|
||||
FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP);
|
||||
SetAnimBgAttribute(2, BG_ANIM_CHAR_BASE_BLOCK, 0);
|
||||
task->data[1] = 12;
|
||||
break;
|
||||
|
||||
@@ -946,7 +946,7 @@ void AnimTask_HazeScrollingFog(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap);
|
||||
LoadPalette(&gDefaultWeatherSpritePalette, animBg.paletteId * 16, 32);
|
||||
LoadPalette(&gDefaultWeatherSpritePalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
if (IsContest())
|
||||
RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0);
|
||||
gTasks[taskId].func = AnimTask_HazeScrollingFog_Step;
|
||||
@@ -1043,7 +1043,7 @@ void AnimTask_MistBallFog(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap);
|
||||
LoadPalette(&gDefaultWeatherSpritePalette, animBg.paletteId * 16, 32);
|
||||
LoadPalette(&gDefaultWeatherSpritePalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
if (IsContest())
|
||||
RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0);
|
||||
gTasks[taskId].data[15] = -1;
|
||||
|
||||
@@ -1291,7 +1291,7 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
|
||||
struct PlttData *destColor;
|
||||
u16 average;
|
||||
|
||||
paletteNum *= 16;
|
||||
paletteNum = PLTT_ID(paletteNum);
|
||||
|
||||
if (!restoreOriginalColor)
|
||||
{
|
||||
@@ -1308,7 +1308,7 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
|
||||
}
|
||||
else
|
||||
{
|
||||
CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], 32);
|
||||
CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], PLTT_SIZE_4BPP);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@ void AnimTask_BlendMonInAndOut(u8 task)
|
||||
DestroyAnimVisualTask(task);
|
||||
return;
|
||||
}
|
||||
gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101;
|
||||
gTasks[task].data[0] = OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum) + 1;
|
||||
AnimTask_BlendMonInAndOutSetup(&gTasks[task]);
|
||||
}
|
||||
|
||||
@@ -1952,7 +1952,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat
|
||||
gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000);
|
||||
if (!isBackpic)
|
||||
{
|
||||
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
|
||||
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP);
|
||||
if (ignoreDeoxys == TRUE || ShouldIgnoreDeoxysForm(DEOXYS_CHECK_BATTLE_ANIM, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
|
||||
LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
|
||||
gMonSpritesGfxPtr->multiUseBuffer,
|
||||
@@ -1968,7 +1968,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
|
||||
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP);
|
||||
if (ignoreDeoxys == TRUE || ShouldIgnoreDeoxysForm(DEOXYS_CHECK_BATTLE_ANIM, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
|
||||
LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
|
||||
gMonSpritesGfxPtr->multiUseBuffer,
|
||||
@@ -2224,8 +2224,8 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
|
||||
task->tPaletteNum = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
|
||||
task->tNumTracesActive = 0;
|
||||
|
||||
dest = (task->tPaletteNum + 16) * 16;
|
||||
src = (gSprites[task->tBattlerSpriteId].oam.paletteNum + 0x10) * 0x10;
|
||||
dest = OBJ_PLTT_ID2(task->tPaletteNum);
|
||||
src = OBJ_PLTT_ID2(gSprites[task->tBattlerSpriteId].oam.paletteNum);
|
||||
|
||||
// Set trace's priority based on battler's subpriority
|
||||
task->tPriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
|
||||
@@ -2234,7 +2234,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
|
||||
else
|
||||
task->tPriority = 3;
|
||||
|
||||
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
|
||||
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], PLTT_SIZE_4BPP);
|
||||
BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]);
|
||||
task->func = AnimTask_AttackerPunchWithTrace_Step;
|
||||
}
|
||||
|
||||
@@ -459,7 +459,7 @@ static void AnimDefensiveWall(struct Sprite *sprite)
|
||||
}
|
||||
if (IsContest())
|
||||
sprite->y += 9;
|
||||
sprite->data[0] = 256 + IndexOfSpritePaletteTag(gBattleAnimArgs[2]) * 16;
|
||||
sprite->data[0] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(gBattleAnimArgs[2]));
|
||||
sprite->callback = AnimDefensiveWall_Step2;
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
if (IsContest())
|
||||
RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0);
|
||||
if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
|
||||
+11
-11
@@ -438,7 +438,7 @@ void AnimTask_LevelUpHealthBox(u8 taskId)
|
||||
GetBattleAnimBg1Data(&animBgData);
|
||||
AnimLoadCompressedBgTilemap(animBgData.bgId, gUnusedLevelupAnimationTilemap);
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, gUnusedLevelupAnimationGfx, animBgData.tilesOffset);
|
||||
LoadCompressedPalette(gCureBubblesPal, animBgData.paletteId << 4, 32);
|
||||
LoadCompressedPalette(gCureBubblesPal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
gBattle_BG1_X = -gSprites[spriteId3].x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId3].y - 32;
|
||||
gTasks[taskId].data[1] = 640;
|
||||
@@ -518,10 +518,10 @@ void DoLoadHealthboxPalsForLevelUp(u8 *paletteId1, u8 *paletteId2, u8 battler)
|
||||
spriteId2 = gSprites[healthBoxSpriteId].data[5];
|
||||
*paletteId1 = AllocSpritePalette(TAG_HEALTHBOX_PALS_1);
|
||||
*paletteId2 = AllocSpritePalette(TAG_HEALTHBOX_PALS_2);
|
||||
offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100;
|
||||
offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100;
|
||||
LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20);
|
||||
LoadPalette(&gPlttBufferUnfaded[offset2], *paletteId2 * 16 + 0x100, 0x20);
|
||||
offset1 = OBJ_PLTT_ID(gSprites[healthBoxSpriteId].oam.paletteNum);
|
||||
offset2 = OBJ_PLTT_ID(gSprites[spriteId2].oam.paletteNum);
|
||||
LoadPalette(&gPlttBufferUnfaded[offset1], OBJ_PLTT_ID(*paletteId1), PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gPlttBufferUnfaded[offset2], OBJ_PLTT_ID(*paletteId2), PLTT_SIZE_4BPP);
|
||||
gSprites[healthBoxSpriteId].oam.paletteNum = *paletteId1;
|
||||
gSprites[spriteId1].oam.paletteNum = *paletteId1;
|
||||
gSprites[spriteId2].oam.paletteNum = *paletteId2;
|
||||
@@ -584,7 +584,7 @@ static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId)
|
||||
if (gTasks[taskId].data[2] > 16)
|
||||
gTasks[taskId].data[2] = 16;
|
||||
|
||||
paletteOffset = paletteNum * 16 + 0x100;
|
||||
paletteOffset = OBJ_PLTT_ID(paletteNum);
|
||||
BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
|
||||
if (gTasks[taskId].data[2] == 16)
|
||||
gTasks[taskId].data[1]++;
|
||||
@@ -594,7 +594,7 @@ static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId)
|
||||
if (gTasks[taskId].data[2] < 0)
|
||||
gTasks[taskId].data[2] = 0;
|
||||
|
||||
paletteOffset = paletteNum * 16 + 0x100;
|
||||
paletteOffset = OBJ_PLTT_ID(paletteNum);
|
||||
BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
|
||||
if (gTasks[taskId].data[2] == 0)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
@@ -1874,12 +1874,12 @@ u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 battler, u32 selectedPalettes, u8
|
||||
|
||||
if (!unfadeLater)
|
||||
{
|
||||
BlendPalette(battler * 16 + 0x100, 16, 0, sBallOpenFadeColors[ballId]);
|
||||
BlendPalette(OBJ_PLTT_ID(battler), 16, 0, sBallOpenFadeColors[ballId]);
|
||||
gTasks[taskId].data[1] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
BlendPalette(battler * 16 + 0x100, 16, 16, sBallOpenFadeColors[ballId]);
|
||||
BlendPalette(OBJ_PLTT_ID(battler), 16, 16, sBallOpenFadeColors[ballId]);
|
||||
gTasks[taskId].data[0] = 16;
|
||||
gTasks[taskId].data[1] = -1;
|
||||
gTasks[taskId].func = Task_FadeMon_ToNormal;
|
||||
@@ -1895,7 +1895,7 @@ static void Task_FadeMon_ToBallColor(u8 taskId)
|
||||
|
||||
if (gTasks[taskId].data[2] <= 16)
|
||||
{
|
||||
BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]);
|
||||
BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[3]), 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]);
|
||||
gTasks[taskId].data[0] += gTasks[taskId].data[1];
|
||||
gTasks[taskId].data[2]++;
|
||||
}
|
||||
@@ -1923,7 +1923,7 @@ static void Task_FadeMon_ToNormal_Step(u8 taskId)
|
||||
|
||||
if (gTasks[taskId].data[2] <= 16)
|
||||
{
|
||||
BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]);
|
||||
BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[3]), 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]);
|
||||
gTasks[taskId].data[0] += gTasks[taskId].data[1];
|
||||
gTasks[taskId].data[2]++;
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ static void Task_UpdateFlashingCircleImpacts(u8 taskId)
|
||||
if (gTasks[taskId].data[2] == 2)
|
||||
{
|
||||
gTasks[taskId].data[2] = 0;
|
||||
BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]);
|
||||
BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[0]), 16, gTasks[taskId].data[4], gTasks[taskId].data[1]);
|
||||
if (gTasks[taskId].data[5] == 0)
|
||||
{
|
||||
gTasks[taskId].data[4]++;
|
||||
@@ -394,10 +394,10 @@ static void AnimTask_FrozenIceCube_Step2(u8 taskId)
|
||||
{
|
||||
u16 temp;
|
||||
|
||||
temp = gPlttBufferFaded[0x100 + palIndex * 16 + 13];
|
||||
gPlttBufferFaded[0x100 + palIndex * 16 + 13] = gPlttBufferFaded[0x100 + palIndex * 16 + 14];
|
||||
gPlttBufferFaded[0x100 + palIndex * 16 + 14] = gPlttBufferFaded[0x100 + palIndex * 16 + 15];
|
||||
gPlttBufferFaded[0x100 + palIndex * 16 + 15] = temp;
|
||||
temp = gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 13];
|
||||
gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 13] = gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 14];
|
||||
gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 14] = gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 15];
|
||||
gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 15] = temp;
|
||||
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].data[3]++;
|
||||
|
||||
@@ -338,7 +338,7 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId)
|
||||
if (IsContest())
|
||||
RelocateBattleBgPal(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_sheet, animBgData.tilesOffset);
|
||||
LoadPalette(sRgbWhite, animBgData.paletteId * 16 + 1, 2);
|
||||
LoadPalette(sRgbWhite, BG_PLTT_ID(animBgData.paletteId) + 1, PLTT_SIZEOF(1));
|
||||
gBattle_BG1_X = -gSprites[spriteId].x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].y + 32;
|
||||
gTasks[taskId].data[0] = newSpriteId;
|
||||
@@ -465,28 +465,28 @@ static void StatsChangeAnimation_Step2(u8 taskId)
|
||||
switch (sAnimStatsChangeData->data[1])
|
||||
{
|
||||
case 0:
|
||||
LoadCompressedPalette(gBattleStatMask2_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask2_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 1:
|
||||
LoadCompressedPalette(gBattleStatMask1_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask1_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 2:
|
||||
LoadCompressedPalette(gBattleStatMask3_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask3_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 3:
|
||||
LoadCompressedPalette(gBattleStatMask4_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask4_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 4:
|
||||
LoadCompressedPalette(gBattleStatMask6_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask6_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 5:
|
||||
LoadCompressedPalette(gBattleStatMask7_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask7_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 6:
|
||||
LoadCompressedPalette(gBattleStatMask8_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask8_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
default:
|
||||
LoadCompressedPalette(gBattleStatMask5_Pal, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleStatMask5_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
}
|
||||
gBattle_BG1_X = 0;
|
||||
@@ -618,13 +618,13 @@ static void AnimTask_Flash_Step(u8 taskId)
|
||||
{
|
||||
if ((task->data[15] >> i) & 1)
|
||||
{
|
||||
u16 paletteOffset = i * 16;
|
||||
u16 paletteOffset = BG_PLTT_ID(i);
|
||||
BlendPalette(paletteOffset, 16, task->data[2], 0xFFFF);
|
||||
}
|
||||
|
||||
if ((task->data[14] >> i) & 1)
|
||||
{
|
||||
u16 paletteOffset = i * 16 + 0x100;
|
||||
u16 paletteOffset = OBJ_PLTT_ID(i);
|
||||
BlendPalette(paletteOffset, 16, task->data[2], 0);
|
||||
}
|
||||
}
|
||||
@@ -645,7 +645,7 @@ static void SetPalettesToColor(u32 selectedPalettes, u16 color)
|
||||
|
||||
for (i = 0; i < 32; selectedPalettes >>= 1, ++i)
|
||||
if (selectedPalettes & 1)
|
||||
for (curOffset = i * 16, paletteOffset = curOffset; curOffset < paletteOffset + 16; ++curOffset)
|
||||
for (curOffset = PLTT_ID(i), paletteOffset = curOffset; curOffset < paletteOffset + 16; ++curOffset)
|
||||
gPlttBufferFaded[curOffset] = color;
|
||||
}
|
||||
|
||||
@@ -764,7 +764,7 @@ void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 scrollSpeed, u8 battler1
|
||||
if (IsContest())
|
||||
RelocateBattleBgPal(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, gfx, animBgData.tilesOffset);
|
||||
LoadCompressedPalette(palette, animBgData.paletteId * 16, 32);
|
||||
LoadCompressedPalette(palette, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP);
|
||||
gBattle_BG1_X = 0;
|
||||
gBattle_BG1_Y = 0;
|
||||
gTasks[taskId].data[1] = scrollSpeed;
|
||||
@@ -867,7 +867,7 @@ void AnimTask_CopyPalUnfadedToBackup(u8 taskId)
|
||||
paletteIndex = gBattleAnimAttacker + 16;
|
||||
else if (gBattleAnimArgs[0] == 2)
|
||||
paletteIndex = gBattleAnimTarget + 16;
|
||||
memcpy(&gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], &gPlttBufferUnfaded[paletteIndex * 16], 32);
|
||||
memcpy(&gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], &gPlttBufferUnfaded[PLTT_ID(paletteIndex)], PLTT_SIZE_4BPP);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
@@ -885,7 +885,7 @@ void AnimTask_CopyPalUnfadedFromBackup(u8 taskId)
|
||||
paletteIndex = gBattleAnimAttacker + 16;
|
||||
else if (gBattleAnimArgs[0] == 2)
|
||||
paletteIndex = gBattleAnimTarget + 16;
|
||||
memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], 32);
|
||||
memcpy(&gPlttBufferUnfaded[PLTT_ID(paletteIndex)], &gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], PLTT_SIZE_4BPP);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
@@ -903,7 +903,7 @@ void AnimTask_CopyPalFadedToUnfaded(u8 taskId)
|
||||
paletteIndex = gBattleAnimAttacker + 16;
|
||||
else if (gBattleAnimArgs[0] == 2)
|
||||
paletteIndex = gBattleAnimTarget + 16;
|
||||
memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gPlttBufferFaded[paletteIndex * 16], 32);
|
||||
memcpy(&gPlttBufferUnfaded[PLTT_ID(paletteIndex)], &gPlttBufferFaded[PLTT_ID(paletteIndex)], PLTT_SIZE_4BPP);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
|
||||
@@ -620,7 +620,7 @@ static void AnimAuroraBeamRings_Step(struct Sprite *sprite)
|
||||
void AnimTask_RotateAuroraRingColors(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256;
|
||||
gTasks[taskId].data[2] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS));
|
||||
gTasks[taskId].func = AnimTask_RotateAuroraRingColors_Step;
|
||||
}
|
||||
static void AnimTask_RotateAuroraRingColors_Step(u8 taskId)
|
||||
@@ -826,9 +826,9 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
||||
}
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_Surf, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
else
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_MuddyWater, animBg.paletteId * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_MuddyWater, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1);
|
||||
gTasks[taskId].data[15] = taskId2;
|
||||
gTasks[taskId2].data[0] = 0;
|
||||
|
||||
+20
-17
@@ -648,7 +648,7 @@ static void LoadBattleTerrainGfx(u16 terrain)
|
||||
// Copy to bg3
|
||||
LZDecompressVram(sBattleTerrainTable[terrain].tileset, (void *)BG_CHAR_ADDR(2));
|
||||
LZDecompressVram(sBattleTerrainTable[terrain].tilemap, (void *)BG_SCREEN_ADDR(26));
|
||||
LoadCompressedPalette(sBattleTerrainTable[terrain].palette, 0x20, 0x60);
|
||||
LoadCompressedPalette(sBattleTerrainTable[terrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void LoadBattleTerrainEntryGfx(u16 terrain)
|
||||
@@ -690,19 +690,22 @@ void InitBattleBgsVideo(void)
|
||||
|
||||
void LoadBattleMenuWindowGfx(void)
|
||||
{
|
||||
LoadUserWindowGfx(2, 0x012, 0x10);
|
||||
LoadUserWindowGfx(2, 0x022, 0x10);
|
||||
gPlttBufferUnfaded[0x5C] = RGB( 9, 9, 9);
|
||||
gPlttBufferUnfaded[0x5D] = RGB( 9, 9, 9);
|
||||
gPlttBufferUnfaded[0x5E] = RGB(31, 31, 31);
|
||||
gPlttBufferUnfaded[0x5F] = RGB( 26, 26, 25);
|
||||
CpuCopy16(&gPlttBufferUnfaded[0x5C], &gPlttBufferFaded[0x5C], 8);
|
||||
LoadUserWindowGfx(2, 0x012, BG_PLTT_ID(1));
|
||||
LoadUserWindowGfx(2, 0x022, BG_PLTT_ID(1));
|
||||
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(5) + 12] = RGB( 9, 9, 9);
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(5) + 13] = RGB( 9, 9, 9);
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(5) + 14] = RGB(31, 31, 31);
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(5) + 15] = RGB( 26, 26, 25);
|
||||
CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(5) + 12], &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(4));
|
||||
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_POKEDUDE))
|
||||
{
|
||||
Menu_LoadStdPalAt(0x70);
|
||||
LoadMenuMessageWindowGfx(0, 0x030, 0x70);
|
||||
gPlttBufferUnfaded[0x76] = RGB( 0, 0, 0);
|
||||
CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2);
|
||||
Menu_LoadStdPalAt(BG_PLTT_ID(7));
|
||||
LoadMenuMessageWindowGfx(0, 0x030, BG_PLTT_ID(7));
|
||||
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(7) + 6] = RGB( 0, 0, 0);
|
||||
CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(7) + 6], &gPlttBufferFaded[BG_PLTT_ID(7) + 6], PLTT_SIZEOF(1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -716,7 +719,7 @@ void LoadBattleTextboxAndBackground(void)
|
||||
LZDecompressVram(gBattleInterface_Textbox_Gfx, (void *)BG_CHAR_ADDR(0));
|
||||
CopyToBgTilemapBuffer(0, gBattleInterface_Textbox_Tilemap, 0, 0x000);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0x00, 0x40);
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP);
|
||||
LoadBattleMenuWindowGfx();
|
||||
DrawMainBattleBackground();
|
||||
}
|
||||
@@ -927,7 +930,7 @@ void InitLinkBattleVsScreen(u8 taskId)
|
||||
break;
|
||||
case 1:
|
||||
palId = AllocSpritePalette(TAG_VS_LETTERS);
|
||||
gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = RGB(31, 31, 31);
|
||||
gPlttBufferUnfaded[OBJ_PLTT_ID(palId) + 15] = gPlttBufferFaded[OBJ_PLTT_ID(palId) + 15] = RGB_WHITE;
|
||||
gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&sVsLetter_V_SpriteTemplate, 108, 80, 0);
|
||||
gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&sVsLetter_S_SpriteTemplate, 132, 80, 0);
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE;
|
||||
@@ -982,7 +985,7 @@ void DrawBattleEntryBackground(void)
|
||||
{
|
||||
LZDecompressVram(gFile_graphics_battle_transitions_vs_frame_sheet, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gVsLettersGfx, (void *)(VRAM + 0x10000));
|
||||
LoadCompressedPalette(gFile_graphics_battle_transitions_vs_frame_palette, 0x60, 0x20);
|
||||
LoadCompressedPalette(gFile_graphics_battle_transitions_vs_frame_palette, BG_PLTT_ID(6), PLTT_SIZE_4BPP);
|
||||
SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT512x256);
|
||||
CopyToBgTilemapBuffer(1, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0);
|
||||
@@ -1083,7 +1086,7 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
break;
|
||||
case 2:
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0x00, 0x40);
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 3:
|
||||
battleScene = GetBattleTerrainOverride();
|
||||
@@ -1095,7 +1098,7 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
break;
|
||||
case 5:
|
||||
battleScene = GetBattleTerrainOverride();
|
||||
LoadCompressedPalette(sBattleTerrainTable[battleScene].palette, 0x20, 0x60);
|
||||
LoadCompressedPalette(sBattleTerrainTable[battleScene].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 6:
|
||||
LoadBattleMenuWindowGfx();
|
||||
|
||||
@@ -1513,7 +1513,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
|
||||
trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender;
|
||||
}
|
||||
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, 0x100 + paletteNum * 16, 32);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP);
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum;
|
||||
|
||||
|
||||
@@ -2086,7 +2086,7 @@ static void OakOldManHandleIntroTrainerBallThrow(void)
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
|
||||
paletteNum = AllocSpritePalette(0xD6F8);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum;
|
||||
taskId = CreateTask(Task_StartSendOutAnim, 5);
|
||||
gTasks[taskId].data[0] = gActiveBattler;
|
||||
|
||||
@@ -2714,7 +2714,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
|
||||
paletteNum = AllocSpritePalette(0xD6F8);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum;
|
||||
taskId = CreateTask(Task_StartSendOutAnim, 5);
|
||||
gTasks[taskId].data[0] = gActiveBattler;
|
||||
|
||||
@@ -1858,7 +1858,7 @@ static void PokedudeHandleIntroTrainerBallThrow(void)
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
|
||||
paletteNum = AllocSpritePalette(0xD6F8);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_POKEDUDE].data, 0x100 + paletteNum * 16, 32);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_POKEDUDE].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum;
|
||||
taskId = CreateTask(Task_StartSendOutAnim, 5);
|
||||
gTasks[taskId].data[0] = gActiveBattler;
|
||||
|
||||
+27
-27
@@ -341,27 +341,27 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
|
||||
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
|
||||
gMonSpritesGfxPtr->sprites[position],
|
||||
species, currentPersonality);
|
||||
paletteOffset = 0x100 + battlerId * 16;
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
|
||||
lzPaletteData = GetMonFrontSpritePal(mon);
|
||||
else
|
||||
lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality);
|
||||
buffer = AllocZeroed(0x400);
|
||||
LZDecompressWram(lzPaletteData, buffer);
|
||||
LoadPalette(buffer, paletteOffset, 0x20);
|
||||
LoadPalette(buffer, 0x80 + battlerId * 16, 0x20);
|
||||
LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP);
|
||||
LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP);
|
||||
Free(buffer);
|
||||
if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
paletteOffset = 0x100 + battlerId * 16;
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
// transform's pink color
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
|
||||
{
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
|
||||
CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,27 +395,27 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
|
||||
HandleLoadSpecialPokePic(&gMonBackPicTable[species],
|
||||
gMonSpritesGfxPtr->sprites[position],
|
||||
species, currentPersonality);
|
||||
paletteOffset = 0x100 + battlerId * 16;
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
|
||||
lzPaletteData = GetMonFrontSpritePal(mon);
|
||||
else
|
||||
lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality);
|
||||
buffer = AllocZeroed(0x400);
|
||||
LZDecompressWram(lzPaletteData, buffer);
|
||||
LoadPalette(buffer, paletteOffset, 0x20);
|
||||
LoadPalette(buffer, 0x80 + battlerId * 16, 0x20);
|
||||
LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP);
|
||||
LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP);
|
||||
Free(buffer);
|
||||
if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
paletteOffset = 0x100 + battlerId * 16;
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
// transform's pink color
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
|
||||
{
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
|
||||
CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -426,11 +426,11 @@ void DecompressGhostFrontPic(struct Pokemon *unused, u8 battlerId)
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
|
||||
LZ77UnCompWram(gGhostFrontPic, gMonSpritesGfxPtr->sprites[position]);
|
||||
palOffset = 0x100 + 16 * battlerId;
|
||||
palOffset = OBJ_PLTT_ID(battlerId);
|
||||
buffer = AllocZeroed(0x400);
|
||||
LZDecompressWram(gGhostPalette, buffer);
|
||||
LoadPalette(buffer, palOffset, 0x20);
|
||||
LoadPalette(buffer, 0x80 + 16 * battlerId, 0x20);
|
||||
LoadPalette(buffer, palOffset, PLTT_SIZE_4BPP);
|
||||
LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP);
|
||||
Free(buffer);
|
||||
}
|
||||
|
||||
@@ -449,7 +449,7 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId)
|
||||
|
||||
void DecompressTrainerBackPalette(u16 index, u8 palette)
|
||||
{
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[index].data, (palette + 16) * 16, 0x20);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[index].data, OBJ_PLTT_ID2(palette), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
void BattleGfxSfxDummy3(u8 gender)
|
||||
@@ -675,11 +675,11 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 transformType)
|
||||
src = gMonSpritesGfxPtr->sprites[position];
|
||||
dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32);
|
||||
DmaCopy32(3, src, dst, 0x800);
|
||||
paletteOffset = 0x100 + battlerAtk * 16;
|
||||
paletteOffset = OBJ_PLTT_ID(battlerAtk);
|
||||
lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue);
|
||||
buffer = AllocZeroed(0x400);
|
||||
LZDecompressWram(lzPaletteData, buffer);
|
||||
LoadPalette(buffer, paletteOffset, 32);
|
||||
LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP);
|
||||
Free(buffer);
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]);
|
||||
@@ -690,13 +690,13 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 transformType)
|
||||
else if (transformType) // Castform form change
|
||||
{
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleSpritesDataPtr->animationData->animArg);
|
||||
paletteOffset = 0x100 + battlerAtk * 16;
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, 32);
|
||||
paletteOffset = OBJ_PLTT_ID(battlerAtk);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, PLTT_SIZE_4BPP);
|
||||
gBattleMonForms[battlerAtk] = gBattleSpritesDataPtr->animationData->animArg;
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies != SPECIES_NONE)
|
||||
{
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
|
||||
CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP);
|
||||
}
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
}
|
||||
@@ -733,19 +733,19 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 transformType)
|
||||
src = gMonSpritesGfxPtr->sprites[position];
|
||||
dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32);
|
||||
DmaCopy32(3, src, dst, 0x800);
|
||||
paletteOffset = 0x100 + battlerAtk * 16;
|
||||
paletteOffset = OBJ_PLTT_ID(battlerAtk);
|
||||
lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue);
|
||||
buffer = AllocZeroed(0x400);
|
||||
LZDecompressWram(lzPaletteData, buffer);
|
||||
LoadPalette(buffer, paletteOffset, 32);
|
||||
LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP);
|
||||
Free(buffer);
|
||||
if (targetSpecies == SPECIES_CASTFORM)
|
||||
{
|
||||
LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]);
|
||||
LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32);
|
||||
LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
|
||||
CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP);
|
||||
gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies = targetSpecies;
|
||||
gBattleMonForms[battlerAtk] = gBattleMonForms[battlerDef];
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
@@ -774,8 +774,8 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
|
||||
--ptr;
|
||||
DmaCopy32Defvars(3, (*ptr)[0], (*ptr)[i], 0x800);
|
||||
}
|
||||
palOffset = (battlerId * 16) + 0x100;
|
||||
LoadCompressedPalette(gSubstituteDollPal, palOffset, 32);
|
||||
palOffset = OBJ_PLTT_ID(battlerId);
|
||||
LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -1663,11 +1663,11 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
|
||||
return;
|
||||
}
|
||||
|
||||
pltAdder = gSprites[healthboxSpriteId].oam.paletteNum * 16;
|
||||
pltAdder = PLTT_ID(gSprites[healthboxSpriteId].oam.paletteNum);
|
||||
pltAdder += battlerId + 12;
|
||||
|
||||
FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2);
|
||||
CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void *)(OBJ_PLTT + pltAdder * 2), 2);
|
||||
FillPalette(sStatusIconColors[statusPalId], pltAdder + OBJ_PLTT_OFFSET, PLTT_SIZEOF(1));
|
||||
CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_OFFSET + pltAdder], (u16 *)OBJ_PLTT + pltAdder, PLTT_SIZEOF(1));
|
||||
CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 3 * TILE_SIZE_4BPP);
|
||||
if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
|
||||
{
|
||||
|
||||
+1
-1
@@ -1769,7 +1769,7 @@ void CB2_InitEndLinkBattle(void)
|
||||
gBattle_BG3_X = 0;
|
||||
gBattle_BG3_Y = 0;
|
||||
InitBattleBgsVideo();
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0, 64);
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP);
|
||||
LoadBattleMenuWindowGfx();
|
||||
ResetSpriteData();
|
||||
ResetTasks();
|
||||
|
||||
@@ -2820,11 +2820,11 @@ void SetPpNumbersPaletteInMoveSelection(void)
|
||||
u8 var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]],
|
||||
chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBattler]]);
|
||||
|
||||
gPlttBufferUnfaded[92] = palPtr[(var * 2) + 0];
|
||||
gPlttBufferUnfaded[91] = palPtr[(var * 2) + 1];
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(5) + 12] = palPtr[(var * 2) + 0];
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(5) + 11] = palPtr[(var * 2) + 1];
|
||||
|
||||
CpuCopy16(&gPlttBufferUnfaded[92], &gPlttBufferFaded[92], sizeof(u16));
|
||||
CpuCopy16(&gPlttBufferUnfaded[91], &gPlttBufferFaded[91], sizeof(u16));
|
||||
CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(5) + 12], &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(1));
|
||||
CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(5) + 11], &gPlttBufferFaded[BG_PLTT_ID(5) + 11], PLTT_SIZEOF(1));
|
||||
}
|
||||
|
||||
u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp)
|
||||
|
||||
@@ -45,7 +45,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 1,
|
||||
.width = 27,
|
||||
.height = 18,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x014
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -109,7 +109,7 @@ static void MainCB2_SetUp(void)
|
||||
break;
|
||||
case 3:
|
||||
LoadFrameGfxOnBg(3);
|
||||
LoadPalette(GetTextWindowPalette(0), 0xF0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 4:
|
||||
@@ -564,5 +564,5 @@ static void LoadFrameGfxOnBg(u8 bg)
|
||||
{
|
||||
LoadBgTiles(bg, sTiles, 0xC0, 0);
|
||||
CopyToBgTilemapBufferRect(bg, sTilemap, 0, 0, 32, 32);
|
||||
LoadPalette(sPalette, 0, 0x20);
|
||||
LoadPalette(sPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
@@ -5784,7 +5784,7 @@ static void InitLevelUpBanner(void)
|
||||
gBattle_BG2_Y = 0;
|
||||
gBattle_BG2_X = LEVEL_UP_BANNER_START;
|
||||
|
||||
LoadPalette(sLevelUpBanner_Pal, 0x60, 0x20);
|
||||
LoadPalette(sLevelUpBanner_Pal, BG_PLTT_ID(6), sizeof(sLevelUpBanner_Pal));
|
||||
CopyToWindowPixelBuffer(B_WIN_LEVEL_UP_BANNER, sLevelUpBanner_Gfx, 0, 0);
|
||||
PutWindowTilemap(B_WIN_LEVEL_UP_BANNER);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, COPYWIN_FULL);
|
||||
|
||||
@@ -655,7 +655,7 @@ static void Task_BattleTransition(u8 taskId)
|
||||
static bool8 Transition_StartIntro(struct Task *task)
|
||||
{
|
||||
SetWeatherScreenFadeOut();
|
||||
CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, sizeof(gPlttBufferUnfaded));
|
||||
CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE);
|
||||
if (sTasks_Intro[task->tTransitionId] != NULL)
|
||||
{
|
||||
CreateTask(sTasks_Intro[task->tTransitionId], 4);
|
||||
@@ -937,7 +937,7 @@ static bool8 BigPokeball_Init(struct Task *task)
|
||||
GetBg0TilesDst(&tilemap, &tileset);
|
||||
CpuFill16(0, tilemap, BG_SCREEN_SIZE);
|
||||
CpuCopy16(sBigPokeball_Gfx, tileset, sizeof(sBigPokeball_Gfx));
|
||||
LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball));
|
||||
LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball));
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1108,7 +1108,7 @@ static bool8 PokeballsTrail_Init(struct Task *task)
|
||||
GetBg0TilesDst(&tilemap, &tileset);
|
||||
CpuCopy16(sSlidingPokeball_Tilemap, tileset, sizeof(sSlidingPokeball_Tilemap));
|
||||
CpuFill32(0, tilemap, BG_SCREEN_SIZE);
|
||||
LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball));
|
||||
LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball));
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1906,8 +1906,8 @@ static bool8 Mugshot_SetGfx(struct Task *task)
|
||||
|
||||
GetBg0TilesDst(&tilemap, &tileset);
|
||||
CpuCopy16(sMugshotBanner_Gfx, tileset, sizeof(sMugshotBanner_Gfx));
|
||||
LoadPalette(sOpponentMugshotsPals[task->tMugshotId], 0xF0, 0x20);
|
||||
LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], 0xFA, 0xC);
|
||||
LoadPalette(sOpponentMugshotsPals[task->tMugshotId], BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], BG_PLTT_ID(15) + 10, PLTT_SIZEOF(16 - 10));
|
||||
|
||||
for (i = 0; i < 20; i++)
|
||||
for (j = 0; j < 32; j++, mugshotsMap++)
|
||||
@@ -2588,7 +2588,7 @@ static bool8 GridSquares_Init(struct Task *task)
|
||||
GetBg0TilesDst(&tilemap, &tileset);
|
||||
CpuCopy16(sGridSquare_Gfx, tileset, 0x20);
|
||||
CpuFill16(0xF0 << 8, tilemap, BG_SCREEN_SIZE);
|
||||
LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball));
|
||||
LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball));
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+13
-13
@@ -548,7 +548,7 @@ static const struct WindowTemplate sWindowTemplate_BerryCrushRankings = {
|
||||
.tilemapTop = 4,
|
||||
.width = 24,
|
||||
.height = 13,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x001
|
||||
};
|
||||
|
||||
@@ -559,7 +559,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = {
|
||||
.tilemapTop = 0,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0x8,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 0x3ed
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -567,7 +567,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = {
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0x8,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 0x3db
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -575,7 +575,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = {
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0x8,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 0x3c9
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -583,7 +583,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = {
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0x8,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 0x3b7
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -591,7 +591,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = {
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0x8,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 0x3a5
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -604,7 +604,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = {
|
||||
.tilemapTop = 2,
|
||||
.width = 22,
|
||||
.height = 16,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x001
|
||||
},
|
||||
[STATE_RESULTS_RANDOM - RESULTS_STATE_START] = {
|
||||
@@ -613,7 +613,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = {
|
||||
.tilemapTop = 2,
|
||||
.width = 22,
|
||||
.height = 16,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x001
|
||||
},
|
||||
[STATE_RESULTS_CRUSHING - RESULTS_STATE_START] = {
|
||||
@@ -622,7 +622,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = {
|
||||
.tilemapTop = 2,
|
||||
.width = 24,
|
||||
.height = 16,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x001
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -2551,7 +2551,7 @@ static s32 ShowGameDisplay(void)
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
break;
|
||||
case 7:
|
||||
LoadPalette(gBerryCrush_Crusher_Pal, 0, 0x180);
|
||||
LoadPalette(gBerryCrush_Crusher_Pal, BG_PLTT_ID(0), 12 * PLTT_SIZE_4BPP);
|
||||
CopyToBgTilemapBuffer(1, sCrusherTop_Tilemap, 0, 0);
|
||||
CopyToBgTilemapBuffer(2, sContainerCap_Tilemap, 0, 0);
|
||||
CopyToBgTilemapBuffer(3, sBg_Tilemap, 0, 0);
|
||||
@@ -3046,7 +3046,7 @@ static bool32 OpenResultsWindow(struct BerryCrushGame * game, struct BerryCrushG
|
||||
FillWindowPixelBuffer(spriteManager->resultsWindowId, PIXEL_FILL(0));
|
||||
break;
|
||||
case 2:
|
||||
LoadStdWindowGfx(spriteManager->resultsWindowId, 0x21D, 0xD0);
|
||||
LoadStdWindowGfx(spriteManager->resultsWindowId, 0x21D, BG_PLTT_ID(13));
|
||||
DrawStdFrameWithCustomTileAndPalette(spriteManager->resultsWindowId, FALSE, 541, 13);
|
||||
break;
|
||||
case 3:
|
||||
@@ -3105,8 +3105,8 @@ static void Task_ShowBerryCrushRankings(u8 taskId)
|
||||
tWindowId = AddWindow(&sWindowTemplate_BerryCrushRankings);
|
||||
PutWindowTilemap(tWindowId);
|
||||
FillWindowPixelBuffer(tWindowId, PIXEL_FILL(0));
|
||||
LoadStdWindowGfx(tWindowId, 0x21D, 0xD0);
|
||||
DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 0x21D, 0xD);
|
||||
LoadStdWindowGfx(tWindowId, 0x21D, BG_PLTT_ID(13));
|
||||
DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 0x21D, 13);
|
||||
break;
|
||||
case 1:
|
||||
xPos = 96 - GetStringWidth(FONT_NORMAL, gText_BerryCrush2, -1) / 2u;
|
||||
|
||||
+95
-95
@@ -243,116 +243,116 @@ static const struct WindowTemplate sWindowTemplates_Main[] = {
|
||||
|
||||
static const struct WindowTemplate sWindowTemplates_Variable[] = {
|
||||
{
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x18,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x05,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 24,
|
||||
.tilemapTop = 15,
|
||||
.width = 5,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x1d1
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x11,
|
||||
.tilemapTop = 0x09,
|
||||
.width = 0x0c,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 17,
|
||||
.tilemapTop = 9,
|
||||
.width = 12,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x1d1
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x01,
|
||||
.width = 0x08,
|
||||
.height = 0x03,
|
||||
.paletteNum = 0x0c,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 8,
|
||||
.height = 3,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x201
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x17,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x06,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 23,
|
||||
.tilemapTop = 15,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x219
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x15,
|
||||
.tilemapTop = 0x09,
|
||||
.width = 0x06,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 9,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x219
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x02,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x1a,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x231
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x0e,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 14,
|
||||
.height = 4,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x231
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x0f,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 15,
|
||||
.height = 4,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x269
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x10,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 16,
|
||||
.height = 4,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x2a5
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x17,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 23,
|
||||
.height = 4,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x2e5
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x11,
|
||||
.width = 0x07,
|
||||
.height = 0x02,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 17,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x199
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x07,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 15,
|
||||
.width = 7,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x199
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0d,
|
||||
.width = 0x07,
|
||||
.height = 0x06,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 13,
|
||||
.width = 7,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x199
|
||||
}, {
|
||||
.bg = 0x02,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0b,
|
||||
.width = 0x07,
|
||||
.height = 0x08,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 2,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 11,
|
||||
.width = 7,
|
||||
.height = 8,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x199
|
||||
}
|
||||
};
|
||||
@@ -618,9 +618,9 @@ static bool8 BerryPouchLoadGfx(void)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
LoadCompressedPalette(gBerryPouchBgPals, 0, 0x60);
|
||||
LoadCompressedPalette(gBerryPouchBgPals, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
|
||||
if (gSaveBlock2Ptr->playerGender != MALE)
|
||||
LoadCompressedPalette(gBerryPouchBgPal0FemaleOverride, 0, 0x20);
|
||||
LoadCompressedPalette(gBerryPouchBgPal0FemaleOverride, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
sResources->data[0]++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -1411,10 +1411,10 @@ static void BerryPouchInitWindows(void)
|
||||
u8 i;
|
||||
InitWindows(sWindowTemplates_Main);
|
||||
DeactivateAllTextPrinters();
|
||||
LoadUserWindowGfx(0, 0x001, 0xE0);
|
||||
LoadMenuMessageWindowGfx(0, 0x013, 0xD0);
|
||||
LoadStdWindowGfx(0, 0x00A, 0xC0);
|
||||
LoadPalette(gStandardMenuPalette, 0xF0, 0x20);
|
||||
LoadUserWindowGfx(0, 0x001, BG_PLTT_ID(14));
|
||||
LoadMenuMessageWindowGfx(0, 0x013, BG_PLTT_ID(13));
|
||||
LoadStdWindowGfx(0, 0x00A, BG_PLTT_ID(12));
|
||||
LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
for (i = 0; i < 3; i++)
|
||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||
PutWindowTilemap(0);
|
||||
@@ -1438,9 +1438,9 @@ static u8 GetOrCreateVariableWindow(u8 winIdx)
|
||||
{
|
||||
sVariableWindowIds[winIdx] = AddWindow(&sWindowTemplates_Variable[winIdx]);
|
||||
if (winIdx == 2 || winIdx == 6 || winIdx == 7 || winIdx == 8 || winIdx == 9)
|
||||
DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x00A, 0xC);
|
||||
DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x00A, 12);
|
||||
else
|
||||
DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 0xE);
|
||||
DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 14);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
retval = sVariableWindowIds[winIdx];
|
||||
}
|
||||
@@ -1449,7 +1449,7 @@ static u8 GetOrCreateVariableWindow(u8 winIdx)
|
||||
|
||||
static void VariableWindowSetAltFrameTileAndPalette(u8 winIdx)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 0xE);
|
||||
DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 14);
|
||||
}
|
||||
|
||||
static void DestroyVariableWindow(u8 winIdx)
|
||||
@@ -1490,12 +1490,12 @@ void DisplayItemMessageInBerryPouch(u8 taskId, u8 fontId, const u8 * str, TaskFu
|
||||
|
||||
static void CreateYesNoMenuWin3(u8 taskId, const struct YesNoFuncTable *ptrs)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[3], FONT_NORMAL, 0, 2, 0x001, 0xE, ptrs);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[3], FONT_NORMAL, 0, 2, 0x001, 14, ptrs);
|
||||
}
|
||||
|
||||
static void CreateYesNoMenuWin4(u8 taskId, const struct YesNoFuncTable *ptrs)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[4], FONT_NORMAL, 0, 2, 0x001, 0xE, ptrs);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[4], FONT_NORMAL, 0, 2, 0x001, 14, ptrs);
|
||||
}
|
||||
|
||||
static void PrintMoneyInWin2(void)
|
||||
|
||||
+3
-2
@@ -2,6 +2,7 @@
|
||||
#include "event_data.h"
|
||||
#include "load_save.h"
|
||||
#include "menu.h"
|
||||
#include "palette.h"
|
||||
#include "quest_log.h"
|
||||
#include "script_menu.h"
|
||||
#include "string_util.h"
|
||||
@@ -119,8 +120,8 @@ void DisplayBerryPowderVendorMenu(void)
|
||||
sBerryPowderVendorWindowId = AddWindow(&template);
|
||||
FillWindowPixelBuffer(sBerryPowderVendorWindowId, 0);
|
||||
PutWindowTilemap(sBerryPowderVendorWindowId);
|
||||
LoadStdWindowGfx(sBerryPowderVendorWindowId, 0x21D, 0xD0);
|
||||
DrawPlayerPowderAmount(sBerryPowderVendorWindowId, 0x21D, 0xD, GetBerryPowder());
|
||||
LoadStdWindowGfx(sBerryPowderVendorWindowId, 0x21D, BG_PLTT_ID(13));
|
||||
DrawPlayerPowderAmount(sBerryPowderVendorWindowId, 0x21D, 13, GetBerryPowder());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+91
-90
@@ -8,61 +8,62 @@
|
||||
#include "new_menu_helpers.h"
|
||||
#include "menu.h"
|
||||
#include "shop.h"
|
||||
#include "palette.h"
|
||||
|
||||
static const struct WindowTemplate sShopBuyMenuWindowTemplatesNormal[] =
|
||||
{
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x8,
|
||||
.height = 0x3,
|
||||
.paletteNum = 0xF,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 8,
|
||||
.height = 3,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x27,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0xB,
|
||||
.width = 0xD,
|
||||
.height = 0x2,
|
||||
.paletteNum = 0xF,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 11,
|
||||
.width = 13,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x3F,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x2,
|
||||
.tilemapTop = 0xF,
|
||||
.width = 0x1A,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x59,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x11,
|
||||
.tilemapTop = 0x9,
|
||||
.width = 0xC,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 17,
|
||||
.tilemapTop = 9,
|
||||
.width = 12,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0xC1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0xB,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x11,
|
||||
.height = 0xC,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 1,
|
||||
.width = 17,
|
||||
.height = 12,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0xF1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x5,
|
||||
.tilemapTop = 0xE,
|
||||
.width = 0x19,
|
||||
.height = 0x6,
|
||||
.paletteNum = 0xF,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 14,
|
||||
.width = 25,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x1BD,
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
@@ -72,66 +73,66 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplatesNormal[] =
|
||||
static const struct WindowTemplate sShopBuyMenuWindowTemplatesTM[] =
|
||||
{
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x8,
|
||||
.height = 0x3,
|
||||
.paletteNum = 0xF,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 8,
|
||||
.height = 3,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x27,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0xB,
|
||||
.width = 0xD,
|
||||
.height = 0x2,
|
||||
.paletteNum = 0xF,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 11,
|
||||
.width = 13,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x3F,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x2,
|
||||
.tilemapTop = 0xF,
|
||||
.width = 0x1A,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x59,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x11,
|
||||
.tilemapTop = 0x9,
|
||||
.width = 0xC,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 17,
|
||||
.tilemapTop = 9,
|
||||
.width = 12,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0xC1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0xB,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x11,
|
||||
.height = 0xA,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 1,
|
||||
.width = 17,
|
||||
.height = 10,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0xF1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0xC,
|
||||
.tilemapTop = 0xC,
|
||||
.width = 0x12,
|
||||
.height = 0x8,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 12,
|
||||
.tilemapTop = 12,
|
||||
.width = 18,
|
||||
.height = 8,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x19B,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0xE,
|
||||
.width = 0xA,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 14,
|
||||
.width = 10,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x22B,
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
@@ -139,12 +140,12 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplatesTM[] =
|
||||
|
||||
static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplate =
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x15,
|
||||
.tilemapTop = 0x9,
|
||||
.width = 0x6,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 9,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0xC1,
|
||||
};
|
||||
|
||||
@@ -162,9 +163,9 @@ void BuyMenuInitWindows(bool32 isSellingTM)
|
||||
else
|
||||
InitWindows(sShopBuyMenuWindowTemplatesTM);
|
||||
DeactivateAllTextPrinters();
|
||||
LoadUserWindowGfx(0, 0x1, 0xD0);
|
||||
LoadMenuMessageWindowGfx(0, 0x13, 0xE0);
|
||||
LoadStdWindowGfx(0, 0xA, 0xF0);
|
||||
LoadUserWindowGfx(0, 0x1, BG_PLTT_ID(13));
|
||||
LoadMenuMessageWindowGfx(0, 0x13, BG_PLTT_ID(14));
|
||||
LoadStdWindowGfx(0, 0xA, BG_PLTT_ID(15));
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
@@ -190,15 +191,15 @@ void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback)
|
||||
|
||||
void BuyMenuQuantityBoxNormalBorder(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0x1, 0xD);
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0x1, 13);
|
||||
}
|
||||
|
||||
void BuyMenuQuantityBoxThinBorder(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0xA, 0xF);
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0xA, 15);
|
||||
}
|
||||
|
||||
void BuyMenuConfirmPurchase(u8 taskId, const struct YesNoFuncTable *yesNo)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sShopBuyMenuYesNoWindowTemplate, FONT_NORMAL, 0, 2, 1, 0xD, yesNo);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sShopBuyMenuYesNoWindowTemplate, FONT_NORMAL, 0, 2, 1, 13, yesNo);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 5,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x00A
|
||||
}, {
|
||||
.bg = 0,
|
||||
@@ -48,7 +48,7 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 23,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x022
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -101,16 +101,16 @@ static void Task_DrawClearSaveDataScreen(u8 taskId)
|
||||
SaveClearScreen_GpuInit();
|
||||
break;
|
||||
case 3:
|
||||
LoadStdWindowGfx(0, 0x001, 0xF0);
|
||||
LoadStdWindowGfx(1, 0x001, 0xF0);
|
||||
LoadStdWindowGfx(0, 0x001, BG_PLTT_ID(15));
|
||||
LoadStdWindowGfx(1, 0x001, BG_PLTT_ID(15));
|
||||
break;
|
||||
case 4:
|
||||
DrawStdFrameWithCustomTileAndPalette(1, TRUE, 0x001, 0xF);
|
||||
DrawStdFrameWithCustomTileAndPalette(1, TRUE, 0x001, 15);
|
||||
AddTextPrinterParameterized4(1, FONT_NORMAL, 0, 3, 1, 1, sTextColor, 0, gText_ClearAllSaveData);
|
||||
CopyWindowToVram(1, COPYWIN_GFX);
|
||||
break;
|
||||
case 5:
|
||||
CreateYesNoMenu(&sWindowTemplates[0], FONT_NORMAL, 0, 2, 0x001, 0xF, 1);
|
||||
CreateYesNoMenu(&sWindowTemplates[0], FONT_NORMAL, 0, 2, 0x001, 15, 1);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
break;
|
||||
default:
|
||||
|
||||
+2
-2
@@ -84,8 +84,8 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y)
|
||||
sCoinsWindowId = AddWindow(&template);
|
||||
FillWindowPixelBuffer(sCoinsWindowId, 0);
|
||||
PutWindowTilemap(sCoinsWindowId);
|
||||
LoadStdWindowGfx(sCoinsWindowId, 0x21D, 0xD0);
|
||||
DrawStdFrameWithCustomTileAndPalette(sCoinsWindowId, FALSE, 0x21D, 0xD);
|
||||
LoadStdWindowGfx(sCoinsWindowId, 0x21D, BG_PLTT_ID(13));
|
||||
DrawStdFrameWithCustomTileAndPalette(sCoinsWindowId, FALSE, 0x21D, 13);
|
||||
AddTextPrinterParameterized(sCoinsWindowId, FONT_NORMAL, gText_Coins_2, 0, 0, 0xFF, 0);
|
||||
PrintCoinsString(coinAmount);
|
||||
}
|
||||
|
||||
+17
-17
@@ -803,9 +803,9 @@ static bool32 DoOverworldMapScrollScene(u8 whichMon)
|
||||
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(36, DISPLAY_HEIGHT - 36));
|
||||
SwitchWin1OffWin0On();
|
||||
InitBgDarkenEffect();
|
||||
Menu_LoadStdPalAt(0xF0);
|
||||
gPlttBufferUnfaded[0xFF] = RGB_BLACK;
|
||||
gPlttBufferFaded[0xFF] = RGB_BLACK;
|
||||
Menu_LoadStdPalAt(BG_PLTT_ID(15));
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(15) + 15] = RGB_BLACK;
|
||||
gPlttBufferFaded[BG_PLTT_ID(15) + 15] = RGB_BLACK;
|
||||
return TRUE;
|
||||
default:
|
||||
return FALSE;
|
||||
@@ -827,9 +827,9 @@ static s32 RollCredits(void)
|
||||
case CREDITSSCENE_SETUP_DARKEN_EFFECT:
|
||||
InitBgDarkenEffect();
|
||||
CreateCreditsWindow();
|
||||
Menu_LoadStdPalAt(0xF0);
|
||||
gPlttBufferUnfaded[0xFF] = RGB_BLACK;
|
||||
gPlttBufferFaded[0xFF] = RGB_BLACK;
|
||||
Menu_LoadStdPalAt(BG_PLTT_ID(15));
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(15) + 15] = RGB_BLACK;
|
||||
gPlttBufferFaded[BG_PLTT_ID(15) + 15] = RGB_BLACK;
|
||||
sCreditsMgr->mainseqno = CREDITSSCENE_OPEN_WIN0;
|
||||
return 0;
|
||||
case CREDITSSCENE_OPEN_WIN0:
|
||||
@@ -1128,15 +1128,15 @@ static bool32 DoCreditsMonScene(void)
|
||||
DecompressAndLoadBgGfxUsingHeap(2, sCreditsMonCircle_Tiles, 0x2000, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(1, gCreditsMonPokeball_Tilemap, 0x500, 0, 1);
|
||||
DecompressAndLoadBgGfxUsingHeap(2, sCreditsMonCircle_Tilemap, 0x400, 0, 1);
|
||||
LoadPalette(gCreditsMonPokeball_Pals[sCreditsMgr->whichMon], 0, 0x20);
|
||||
LoadPalette(sCreditsMonCircle_Pal, 0xF0, 0x20);
|
||||
LoadPalette(gCreditsMonPokeball_Pals[sCreditsMgr->whichMon], BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
LoadPalette(sCreditsMonCircle_Pal, BG_PLTT_ID(15), sizeof(sCreditsMonCircle_Pal));
|
||||
LoadCreditsMonPic(sCreditsMgr->whichMon);
|
||||
SetVBlankCallback(VBlankCB);
|
||||
EnableInterrupts(INTR_FLAG_VBLANK);
|
||||
sCreditsMgr->subseqno++;
|
||||
break;
|
||||
case 1:
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, PIXEL_FILL(1));
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 17);
|
||||
PutWindowTilemap(0);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
@@ -1249,7 +1249,7 @@ static bool32 DoCopyrightOrTheEndGfxScene(void)
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
DecompressAndLoadBgGfxUsingHeap(0, sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].tiles, 0x2000, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(0, sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].map, 0x800, 0, 1);
|
||||
LoadPalette(sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].palette, 0x00, 0x200);
|
||||
LoadPalette(sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].palette, BG_PLTT_ID(0), 16 * PLTT_SIZE_4BPP);
|
||||
SetVBlankCallback(VBlankCB);
|
||||
EnableInterrupts(INTR_FLAG_VBLANK);
|
||||
sCreditsMgr->subseqno++;
|
||||
@@ -1375,7 +1375,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene)
|
||||
sprSheet.size = 0x3000;
|
||||
sprSheet.tag = data->characterTilesTag;
|
||||
LoadCompressedSpriteSheet(&sprSheet);
|
||||
LoadPalette(sPlayerMale_Pal, 0x1F0, sizeof(sPlayerMale_Pal));
|
||||
LoadPalette(sPlayerMale_Pal, OBJ_PLTT_ID(15), sizeof(sPlayerMale_Pal));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1383,7 +1383,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene)
|
||||
sprSheet.size = 0x3000;
|
||||
sprSheet.tag = data->characterTilesTag;
|
||||
LoadCompressedSpriteSheet(&sprSheet);
|
||||
LoadPalette(sPlayerFemale_Pal, 0x1F0, sizeof(sPlayerFemale_Pal));
|
||||
LoadPalette(sPlayerFemale_Pal, OBJ_PLTT_ID(15), sizeof(sPlayerFemale_Pal));
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
@@ -1392,7 +1392,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene)
|
||||
sprSheet.size = 0x3000;
|
||||
sprSheet.tag = data->characterTilesTag;
|
||||
LoadCompressedSpriteSheet(&sprSheet);
|
||||
LoadPalette(sRival_Pal, 0x1F0, sizeof(sRival_Pal));
|
||||
LoadPalette(sRival_Pal, OBJ_PLTT_ID(15), sizeof(sRival_Pal));
|
||||
break;
|
||||
}
|
||||
sprTemplate = sPlayerOrRivalSpriteTemplate;
|
||||
@@ -1410,7 +1410,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene)
|
||||
sprSheet.size = 0x3000;
|
||||
sprSheet.tag = data->groundTilesTag;
|
||||
LoadCompressedSpriteSheet(&sprSheet);
|
||||
LoadPalette(sGround_Grass_Pal, 0x1E0, sizeof(sGround_Grass_Pal));
|
||||
LoadPalette(sGround_Grass_Pal, OBJ_PLTT_ID(14), sizeof(sGround_Grass_Pal));
|
||||
sprTemplate = sGroundSpriteTemplate_Running;
|
||||
break;
|
||||
case 1:
|
||||
@@ -1418,7 +1418,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene)
|
||||
sprSheet.size = 0x3000;
|
||||
sprSheet.tag = data->groundTilesTag;
|
||||
LoadCompressedSpriteSheet(&sprSheet);
|
||||
LoadPalette(sGround_Grass_Pal, 0x1E0, sizeof(sGround_Grass_Pal));
|
||||
LoadPalette(sGround_Grass_Pal, OBJ_PLTT_ID(14), sizeof(sGround_Grass_Pal));
|
||||
sprTemplate = sGroundSpriteTemplate_Static;
|
||||
break;
|
||||
case 2:
|
||||
@@ -1426,7 +1426,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene)
|
||||
sprSheet.size = 0x3000;
|
||||
sprSheet.tag = data->groundTilesTag;
|
||||
LoadCompressedSpriteSheet(&sprSheet);
|
||||
LoadPalette(sGround_Dirt_Pal, 0x1E0, sizeof(sGround_Dirt_Pal));
|
||||
LoadPalette(sGround_Dirt_Pal, OBJ_PLTT_ID(14), sizeof(sGround_Dirt_Pal));
|
||||
sprTemplate = sGroundSpriteTemplate_Running;
|
||||
break;
|
||||
case 3:
|
||||
@@ -1434,7 +1434,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene)
|
||||
sprSheet.size = 0x3000;
|
||||
sprSheet.tag = data->groundTilesTag;
|
||||
LoadCompressedSpriteSheet(&sprSheet);
|
||||
LoadPalette(sGround_City_Pal, 0x1E0, sizeof(sGround_City_Pal));
|
||||
LoadPalette(sGround_City_Pal, OBJ_PLTT_ID(14), sizeof(sGround_City_Pal));
|
||||
sprTemplate = sGroundSpriteTemplate_Running;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ static const struct WindowTemplate sWindowTemplate_BButtonCancel = {
|
||||
.tilemapTop = 0,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x008
|
||||
};
|
||||
|
||||
|
||||
+4
-4
@@ -1810,7 +1810,7 @@ static void CB2_EggHatch_0(void)
|
||||
case 2:
|
||||
DecompressAndLoadBgGfxUsingHeap(0, gBattleInterface_Textbox_Gfx, 0, 0, 0);
|
||||
CopyToBgTilemapBuffer(0, gBattleInterface_Textbox_Tilemap, 0, 0);
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0, 0x20);
|
||||
LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -1834,7 +1834,7 @@ static void CB2_EggHatch_0(void)
|
||||
break;
|
||||
case 7:
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||
LoadPalette(gTradeGba2_Pal, 0x10, 0xA0);
|
||||
LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(1), 5 * PLTT_SIZE_4BPP);
|
||||
LoadBgTiles(1, gTradeGba_Gfx, 0x1420, 0);
|
||||
CopyToBgTilemapBuffer(1, gTradeOrHatchMonShadowTilemap, 0x1000, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
@@ -1948,8 +1948,8 @@ static void CB2_EggHatch_1(void)
|
||||
case 9:
|
||||
if (!IsTextPrinterActive(sEggHatchData->windowId))
|
||||
{
|
||||
LoadUserWindowGfx2(sEggHatchData->windowId, 0x140, 0xE0);
|
||||
CreateYesNoMenu(&sYesNoWinTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x140, 0xE, 0);
|
||||
LoadUserWindowGfx2(sEggHatchData->windowId, 0x140, BG_PLTT_ID(14));
|
||||
CreateYesNoMenu(&sYesNoWinTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x140, 14, 0);
|
||||
sEggHatchData->CB2_state++;
|
||||
}
|
||||
break;
|
||||
|
||||
+1
-1
@@ -243,7 +243,7 @@ static bool8 DiplomaLoadGfx(void)
|
||||
return FALSE;
|
||||
break;
|
||||
case 3:
|
||||
LoadPalette(sDiplomaPal, 0, sizeof(sDiplomaPal));
|
||||
LoadPalette(sDiplomaPal, BG_PLTT_ID(0), sizeof(sDiplomaPal));
|
||||
// fallthrough
|
||||
default:
|
||||
// Finished
|
||||
|
||||
@@ -3002,8 +3002,8 @@ static void PrintRecordsText(u8 windowId)
|
||||
recordNums[1] = gSaveBlock2Ptr->berryPick.bestScore;
|
||||
recordNums[2] = gSaveBlock2Ptr->berryPick.berriesPickedInRow;
|
||||
|
||||
LoadStdWindowGfx(windowId, 0x21D, 0xD0);
|
||||
DrawTextBorderOuter(windowId, 0x21D, 0xD);
|
||||
LoadStdWindowGfx(windowId, 0x21D, BG_PLTT_ID(13));
|
||||
DrawTextBorderOuter(windowId, 0x21D, 13);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, sRecordsTexts[0], 1, 1, TEXT_SKIP_DRAW, NULL);
|
||||
for (i = 0; i < NUM_RECORD_TYPES; i++)
|
||||
@@ -4161,12 +4161,12 @@ static void ResetBerryAndStatusBarSprites(void)
|
||||
static void LoadWindowFrameGfx(u8 frameId)
|
||||
{
|
||||
LoadBgTiles(BG_INTERFACE, GetUserWindowGraphics(frameId)->tiles, 0x120, 1);
|
||||
LoadPalette(GetUserWindowGraphics(frameId)->palette, 0xA0, 0x20);
|
||||
LoadPalette(GetUserWindowGraphics(frameId)->palette, BG_PLTT_ID(10), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void DBP_LoadStdWindowGfx(void)
|
||||
{
|
||||
LoadStdWindowGfx(0, 0xA, 0xB0);
|
||||
LoadStdWindowGfx(0, 0xA, BG_PLTT_ID(11));
|
||||
}
|
||||
|
||||
static void ResetGfxState(void)
|
||||
@@ -4926,7 +4926,7 @@ static bool32 LoadBgGfx(void)
|
||||
switch (sGfx->loadState)
|
||||
{
|
||||
case 0:
|
||||
LoadPalette(sBg_Pal, 0, sizeof(sBg_Pal));
|
||||
LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal));
|
||||
break;
|
||||
case 1:
|
||||
ResetTempTileDataBuffers();
|
||||
@@ -4942,7 +4942,7 @@ static bool32 LoadBgGfx(void)
|
||||
return FALSE;
|
||||
break;
|
||||
case 5:
|
||||
LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
default:
|
||||
sGfx->loadState = 0;
|
||||
|
||||
+8
-8
@@ -1319,13 +1319,13 @@ static void SetGpuRegsForEasyChatInit(void)
|
||||
static void LoadEasyChatPals(void)
|
||||
{
|
||||
ResetPaletteFade();
|
||||
LoadPalette(gEasyChatWindow_Pal, 0, 32);
|
||||
LoadPalette(sTextInputFrameOrange_Pal, 1 * 16, 32);
|
||||
LoadPalette(sTextInputFrameGreen_Pal, 4 * 16, 32);
|
||||
LoadPalette(sTitleText_Pal, 10 * 16, 8);
|
||||
LoadPalette(sText_Pal, 11 * 16, 10);
|
||||
LoadPalette(sText_Pal, 15 * 16, 10);
|
||||
LoadPalette(sText_Pal, 3 * 16, 10);
|
||||
LoadPalette(gEasyChatWindow_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
LoadPalette(sTextInputFrameOrange_Pal, BG_PLTT_ID(1), sizeof(sTextInputFrameOrange_Pal));
|
||||
LoadPalette(sTextInputFrameGreen_Pal, BG_PLTT_ID(4), sizeof(sTextInputFrameGreen_Pal));
|
||||
LoadPalette(sTitleText_Pal, BG_PLTT_ID(10), sizeof(sTitleText_Pal));
|
||||
LoadPalette(sText_Pal, BG_PLTT_ID(11), sizeof(sText_Pal));
|
||||
LoadPalette(sText_Pal, BG_PLTT_ID(15), sizeof(sText_Pal));
|
||||
LoadPalette(sText_Pal, BG_PLTT_ID(3), sizeof(sText_Pal));
|
||||
}
|
||||
|
||||
static void PrintTitleText(void)
|
||||
@@ -1363,7 +1363,7 @@ static void EC_AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *st
|
||||
static void PrintECInstructionsText(void)
|
||||
{
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17);
|
||||
LoadUserWindowGfx(1, 1, 0xE0);
|
||||
LoadUserWindowGfx(1, 1, BG_PLTT_ID(14));
|
||||
DrawTextBorderOuter(1, 1, 14);
|
||||
PrintECInterfaceTextById(0);
|
||||
PutWindowTilemap(1);
|
||||
|
||||
@@ -2175,7 +2175,7 @@ void PatchObjectPalette(u16 paletteTag, u8 paletteSlot)
|
||||
{
|
||||
u8 paletteIndex = FindObjectEventPaletteIndexByTag(paletteTag);
|
||||
|
||||
LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20);
|
||||
LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP);
|
||||
ApplyGlobalFieldPaletteTint(paletteSlot);
|
||||
}
|
||||
|
||||
|
||||
@@ -397,7 +397,7 @@ static void EvoTask_PostEvoSparklesSet2Init(u8 taskId)
|
||||
SetEvoSparklesMatrices();
|
||||
gTasks[taskId].data[15] = 0;
|
||||
IsMovingBackgroundTaskRunning();
|
||||
CpuCopy16(&gPlttBufferFaded[32], &gPlttBufferUnfaded[32], 96);
|
||||
CpuCopy16(&gPlttBufferFaded[BG_PLTT_ID(2)], &gPlttBufferUnfaded[BG_PLTT_ID(2)], 3 * PLTT_SIZE_4BPP);
|
||||
BeginNormalPaletteFade(0xFFF90F1C, 0, 0, 16, RGB_WHITE);
|
||||
gTasks[taskId].func = EvoTask_CreatePostEvoSparklesSet2;
|
||||
PlaySE(SE_M_PETAL_DANCE);
|
||||
@@ -448,7 +448,7 @@ static void EvoTask_PostEvoSparklesSet2TradeInit(u8 taskId)
|
||||
SetEvoSparklesMatrices();
|
||||
gTasks[taskId].data[15] = 0;
|
||||
IsMovingBackgroundTaskRunning();
|
||||
CpuCopy16(&gPlttBufferFaded[32], &gPlttBufferUnfaded[32], 96);
|
||||
CpuCopy16(&gPlttBufferFaded[BG_PLTT_ID(2)], &gPlttBufferUnfaded[BG_PLTT_ID(2)], 3 * PLTT_SIZE_4BPP);
|
||||
BeginNormalPaletteFade(0xFFF90F00, 0, 0, 16, RGB_WHITE);
|
||||
gTasks[taskId].func = EvoTask_CreatePostEvoSparklesSet2Trade;
|
||||
PlaySE(SE_M_PETAL_DANCE);
|
||||
@@ -511,12 +511,12 @@ u8 CycleEvolutionMonSprite(u8 preEvoSpriteId, u8 postEvoSpriteId)
|
||||
gSprites[preEvoSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
|
||||
gSprites[preEvoSpriteId].oam.matrixNum = 30;
|
||||
gSprites[preEvoSpriteId].invisible = FALSE;
|
||||
CpuCopy16(palette, &gPlttBufferFaded[256 + 16 * gSprites[preEvoSpriteId].oam.paletteNum], 32);
|
||||
CpuCopy16(palette, &gPlttBufferFaded[OBJ_PLTT_ID(gSprites[preEvoSpriteId].oam.paletteNum)], PLTT_SIZE_4BPP);
|
||||
gSprites[postEvoSpriteId].callback = SpriteCallbackDummy_MonSprites;
|
||||
gSprites[postEvoSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
|
||||
gSprites[postEvoSpriteId].oam.matrixNum = 31;
|
||||
gSprites[postEvoSpriteId].invisible = FALSE;
|
||||
CpuCopy16(palette, &gPlttBufferFaded[256 + 16 * gSprites[postEvoSpriteId].oam.paletteNum], 32);
|
||||
CpuCopy16(palette, &gPlttBufferFaded[OBJ_PLTT_ID(gSprites[postEvoSpriteId].oam.paletteNum)], PLTT_SIZE_4BPP);
|
||||
gTasks[taskId].EvoGraphicsTaskEvoStop = FALSE;
|
||||
return taskId;
|
||||
}
|
||||
|
||||
+15
-15
@@ -264,7 +264,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
|
||||
gMonSpritesGfxPtr->sprites[B_POSITION_OPPONENT_LEFT],
|
||||
currSpecies);
|
||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(currSpecies, trainerId, personality);
|
||||
LoadCompressedPalette(pokePal->data, 0x110, 0x20);
|
||||
LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(currSpecies, B_POSITION_OPPONENT_LEFT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
@@ -279,7 +279,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
|
||||
gMonSpritesGfxPtr->sprites[B_POSITION_OPPONENT_RIGHT],
|
||||
postEvoSpecies);
|
||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality);
|
||||
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
||||
LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
@@ -299,7 +299,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
|
||||
gTasks[id].tEvoWasStopped = FALSE;
|
||||
gTasks[id].tPartyId = partyId;
|
||||
|
||||
memcpy(&sEvoStructPtr->savedPalette, &gPlttBufferUnfaded[0x20], sizeof(sEvoStructPtr->savedPalette));
|
||||
memcpy(&sEvoStructPtr->savedPalette, &gPlttBufferUnfaded[BG_PLTT_ID(2)], sizeof(sEvoStructPtr->savedPalette));
|
||||
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP);
|
||||
|
||||
@@ -358,7 +358,7 @@ static void CB2_EvolutionSceneLoadGraphics(void)
|
||||
postEvoSpecies);
|
||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality);
|
||||
|
||||
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
||||
LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
@@ -416,7 +416,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 3:
|
||||
FillBgTilemapBufferRect(1, 0, 0, 0, 0x20, 0x20, 0x11);
|
||||
FillBgTilemapBufferRect(1, 0, 0, 0, 0x20, 0x20, 17);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
gMain.state++;
|
||||
break;
|
||||
@@ -429,7 +429,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
|
||||
gMonSpritesGfxPtr->sprites[B_POSITION_OPPONENT_RIGHT],
|
||||
postEvoSpecies);
|
||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality);
|
||||
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
||||
LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
@@ -494,7 +494,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit
|
||||
postEvoSpecies);
|
||||
|
||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality);
|
||||
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
||||
LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
@@ -756,7 +756,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
if (IsSEPlaying())
|
||||
{
|
||||
m4aMPlayAllStop();
|
||||
memcpy(&gPlttBufferUnfaded[0x20], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette));
|
||||
memcpy(&gPlttBufferUnfaded[BG_PLTT_ID(2)], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette));
|
||||
RestoreBgAfterAnim();
|
||||
BeginNormalPaletteFade(0x1C, 0, 0x10, 0, RGB_BLACK);
|
||||
gTasks[taskId].tState++;
|
||||
@@ -1199,7 +1199,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
|
||||
{
|
||||
// Free(sBgAnimPal);
|
||||
PlayCry_Normal(gTasks[taskId].tPostEvoSpecies, 0);
|
||||
memcpy(&gPlttBufferUnfaded[0x20], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette));
|
||||
memcpy(&gPlttBufferUnfaded[BG_PLTT_ID(2)], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette));
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
@@ -1331,8 +1331,8 @@ static void Task_TradeEvolutionScene(u8 taskId)
|
||||
case T_MVSTATE_PRINT_YES_NO:
|
||||
if (!IsTextPrinterActive(0) && !IsSEPlaying())
|
||||
{
|
||||
LoadUserWindowGfx2(0, 0xA8, 0xE0);
|
||||
CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, FONT_NORMAL_COPY_2, 0, 2, 0xA8, 0xE, 0);
|
||||
LoadUserWindowGfx2(0, 0xA8, BG_PLTT_ID(14));
|
||||
CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, FONT_NORMAL_COPY_2, 0, 2, 0xA8, 14, 0);
|
||||
sEvoCursorPos = 0;
|
||||
gTasks[taskId].tLearnMoveState++;
|
||||
sEvoCursorPos = 0;
|
||||
@@ -1537,7 +1537,7 @@ static void Task_UpdateBgPalette(u8 taskId)
|
||||
else
|
||||
{
|
||||
// Haven't reached final palette in current stage, load the current palette
|
||||
LoadPalette(&sBgAnimPal[tPalStage * 16], 0xA0, 0x20);
|
||||
LoadPalette(&sBgAnimPal[tPalStage * 16], BG_PLTT_ID(10), PLTT_SIZE_4BPP);
|
||||
tCycleTimer = 0;
|
||||
tPalStage++;
|
||||
}
|
||||
@@ -1635,7 +1635,7 @@ static void StartBgAnimation(bool8 isLink)
|
||||
else
|
||||
innerBgId = 1, outerBgId = 3;
|
||||
|
||||
LoadPalette(sBlackPalette, 0xA0, 0x20);
|
||||
LoadPalette(sBlackPalette, BG_PLTT_ID(10), sizeof(sBlackPalette));
|
||||
|
||||
DecompressAndLoadBgGfxUsingHeap(1, sMovingBackgroundTiles, FALSE, 0, 0);
|
||||
CopyToBgTilemapBuffer(1, sMovingBackgroundMap1, 0, 0);
|
||||
@@ -1673,7 +1673,7 @@ void IsMovingBackgroundTaskRunning(void) // unused
|
||||
if (taskId != TASK_NONE)
|
||||
gTasks[taskId].tPaused = TRUE;
|
||||
|
||||
FillPalette(RGB_BLACK, 0xA0, 0x20);
|
||||
FillPalette(RGB_BLACK, BG_PLTT_ID(10), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
#undef tPaused
|
||||
@@ -1687,7 +1687,7 @@ static void StopBgAnimation(void)
|
||||
if ((taskId = FindTaskIdByFunc(Task_AnimateBg)) != TASK_NONE)
|
||||
DestroyTask(taskId);
|
||||
|
||||
FillPalette(RGB_BLACK, 0xA0, 0x20);
|
||||
FillPalette(RGB_BLACK, BG_PLTT_ID(10), PLTT_SIZE_4BPP);
|
||||
RestoreBgAfterAnim();
|
||||
}
|
||||
|
||||
|
||||
+21
-17
@@ -663,11 +663,11 @@ static void MainCB2_LoadFameChecker(void)
|
||||
case 3:
|
||||
LoadBgTiles(3, gFameCheckerBgTiles, sizeof(gFameCheckerBgTiles), 0);
|
||||
CopyToBgTilemapBufferRect(3, gFameCheckerBg3Tilemap, 0, 0, 32, 32);
|
||||
LoadPalette(gFameCheckerBgPals + 0x00, 0x00, 0x40);
|
||||
LoadPalette(gFameCheckerBgPals + 0x10, 0x10, 0x20);
|
||||
LoadPalette(&gFameCheckerBgPals[0], BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gFameCheckerBgPals[1], BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
CopyToBgTilemapBufferRect(2, gFameCheckerBg2Tilemap, 0, 0, 32, 32);
|
||||
CopyToBgTilemapBufferRect_ChangePalette(1, sFameCheckerTilemap, 30, 0, 32, 32, 0x11);
|
||||
LoadPalette(GetTextWindowPalette(2), 0xF0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 4:
|
||||
@@ -1335,40 +1335,44 @@ static void SpriteCB_FCSpinningPokeball(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
#define PERSON_PAL_NUM 6
|
||||
#define PERSON_X 148
|
||||
#define PERSON_Y 66
|
||||
|
||||
static u8 CreatePersonPicSprite(u8 fcPersonIdx)
|
||||
{
|
||||
u8 spriteId;
|
||||
if (fcPersonIdx == FAMECHECKER_DAISY)
|
||||
{
|
||||
spriteId = CreateSprite(&sDaisySpriteTemplate, 0x94, 0x42, 0);
|
||||
LoadPalette(sDaisySpritePalette, 0x160, 0x20);
|
||||
gSprites[spriteId].oam.paletteNum = 6;
|
||||
spriteId = CreateSprite(&sDaisySpriteTemplate, PERSON_X, PERSON_Y, 0);
|
||||
LoadPalette(sDaisySpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sDaisySpritePalette));
|
||||
gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM;
|
||||
}
|
||||
else if (fcPersonIdx == FAMECHECKER_MRFUJI)
|
||||
{
|
||||
spriteId = CreateSprite(&sFujiSpriteTemplate, 0x94, 0x42, 0);
|
||||
LoadPalette(sFujiSpritePalette, 0x160, 0x20);
|
||||
gSprites[spriteId].oam.paletteNum = 6;
|
||||
spriteId = CreateSprite(&sFujiSpriteTemplate, PERSON_X, PERSON_Y, 0);
|
||||
LoadPalette(sFujiSpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sFujiSpritePalette));
|
||||
gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM;
|
||||
}
|
||||
else if (fcPersonIdx == FAMECHECKER_OAK)
|
||||
{
|
||||
spriteId = CreateSprite(&sOakSpriteTemplate, 0x94, 0x42, 0);
|
||||
LoadPalette(sOakSpritePalette, 0x160, 0x20);
|
||||
gSprites[spriteId].oam.paletteNum = 6;
|
||||
spriteId = CreateSprite(&sOakSpriteTemplate, PERSON_X, PERSON_Y, 0);
|
||||
LoadPalette(sOakSpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sOakSpritePalette));
|
||||
gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM;
|
||||
}
|
||||
else if (fcPersonIdx == FAMECHECKER_BILL)
|
||||
{
|
||||
spriteId = CreateSprite(&sBillSpriteTemplate, 0x94, 0x42, 0);
|
||||
LoadPalette(sBillSpritePalette, 0x160, 0x20);
|
||||
gSprites[spriteId].oam.paletteNum = 6;
|
||||
spriteId = CreateSprite(&sBillSpriteTemplate, PERSON_X, PERSON_Y, 0);
|
||||
LoadPalette(sBillSpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sBillSpritePalette));
|
||||
gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM;
|
||||
}
|
||||
else
|
||||
{
|
||||
spriteId = CreateTrainerPicSprite(sFameCheckerTrainerPicIdxs[fcPersonIdx], 1, 0x94, 0x42, 6, 0xFFFF);
|
||||
spriteId = CreateTrainerPicSprite(sFameCheckerTrainerPicIdxs[fcPersonIdx], TRUE, PERSON_X, PERSON_Y, PERSON_PAL_NUM, TAG_NONE);
|
||||
}
|
||||
gSprites[spriteId].callback = SpriteCB_FCSpinningPokeball;
|
||||
if (gSaveBlock1Ptr->fameChecker[fcPersonIdx].pickState == FCPICKSTATE_SILHOUETTE)
|
||||
LoadPalette(sSilhouettePalette, 0x160, 0x20);
|
||||
LoadPalette(sSilhouettePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sSilhouettePalette));
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
|
||||
+23
-22
@@ -106,7 +106,7 @@ static const struct OamData sNewGameOakOamAttributes = {
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0x000,
|
||||
.priority = 0,
|
||||
.paletteNum = 0x0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
@@ -122,7 +122,7 @@ static const struct OamData sOamData_8x8 = {
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileNum = 0x000,
|
||||
.priority = 0,
|
||||
.paletteNum = 0x0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
@@ -138,7 +138,7 @@ static const struct OamData sOamData_16x16 = {
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.tileNum = 0x000,
|
||||
.priority = 0,
|
||||
.paletteNum = 0x0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
@@ -189,7 +189,7 @@ static const struct OamData sOamData_32x16 = {
|
||||
.size = SPRITE_SIZE(32x16),
|
||||
.tileNum = 0x000,
|
||||
.priority = 0,
|
||||
.paletteNum = 0x0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
@@ -442,19 +442,19 @@ void ApplyGlobalFieldPaletteTint(u8 paletteIdx)
|
||||
case 0:
|
||||
return;
|
||||
case 1:
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10);
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], 16);
|
||||
break;
|
||||
case 2:
|
||||
TintPalette_SepiaTone(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10);
|
||||
TintPalette_SepiaTone(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], 16);
|
||||
break;
|
||||
case 3:
|
||||
QuestLog_BackUpPalette((paletteIdx + 16) * 16, 0x10);
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10);
|
||||
QuestLog_BackUpPalette(OBJ_PLTT_ID2(paletteIdx), 16);
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], 16);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
CpuFastCopy(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], &gPlttBufferFaded[(paletteIdx + 16) * 16], 0x20);
|
||||
CpuFastCopy(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], &gPlttBufferFaded[OBJ_PLTT_ID2(paletteIdx)], PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void FieldEffectScript_LoadFadedPal(const u8 **script)
|
||||
@@ -591,10 +591,11 @@ u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buf
|
||||
return CreateSprite(&spriteTemplate, x, y, subpriority);
|
||||
}
|
||||
|
||||
// Unused
|
||||
static void LoadTrainerGfx_TrainerCard(u8 gender, u16 palOffset, u8 *dest)
|
||||
{
|
||||
LZDecompressVram(gTrainerFrontPicTable[gender].data, dest);
|
||||
LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, 0x20);
|
||||
LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
// Unused
|
||||
@@ -945,14 +946,14 @@ static void PokeballGlowEffect_FlashFirstThree(struct Sprite *sprite)
|
||||
sprite->sNumFlashed++;
|
||||
}
|
||||
phase = (sprite->sCounter + 3) & 3;
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 8, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
phase = (sprite->sCounter + 2) & 3;
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 6, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
phase = (sprite->sCounter + 1) & 3;
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 2, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
phase = sprite->sCounter;
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 5, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 3, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
if (sprite->sNumFlashed >= 3)
|
||||
{
|
||||
sprite->sState++;
|
||||
@@ -976,11 +977,11 @@ static void PokeballGlowEffect_FlashLast(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
phase = sprite->sCounter;
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 8, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 6, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 2, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 5, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 3, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]);
|
||||
}
|
||||
|
||||
static void PokeballGlowEffect_WaitAfterFlash(struct Sprite *sprite)
|
||||
@@ -2625,7 +2626,7 @@ static void ShowMonEffect_Outdoors_2(struct Task *task)
|
||||
u16 screenbase = ((GetGpuReg(REG_OFFSET_BG0CNT) >> 8) << 11);
|
||||
CpuCopy16(sFieldMoveStreaksOutdoors_Gfx, (void *)(VRAM + charbase), 0x200);
|
||||
CpuFill32(0, (void *)(VRAM + screenbase), 0x800);
|
||||
LoadPalette(sFieldMoveStreaksOutdoors_Pal, 0xf0, 0x20);
|
||||
LoadPalette(sFieldMoveStreaksOutdoors_Pal, BG_PLTT_ID(15), sizeof(sFieldMoveStreaksOutdoors_Pal));
|
||||
LoadFieldMoveStreaksTilemapToVram(screenbase);
|
||||
task->data[0]++;
|
||||
}
|
||||
@@ -2776,7 +2777,7 @@ static void ShowMonEffect_Indoors_2(struct Task *task)
|
||||
task->data[12] = screenbase;
|
||||
CpuCopy16(sFieldMoveStreaksIndoors_Gfx, (void *)(VRAM + charbase), 0x80);
|
||||
CpuFill32(0, (void *)(VRAM + screenbase), 0x800);
|
||||
LoadPalette(sFieldMoveStreaksIndoors_Pal, 0xf0, 0x20);
|
||||
LoadPalette(sFieldMoveStreaksIndoors_Pal, BG_PLTT_ID(15), sizeof(sFieldMoveStreaksIndoors_Pal));
|
||||
task->data[0]++;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,12 +43,12 @@ static bool8 WaitStairExitMovementFinished(s16 *speedX, s16 *speedY, s16 *offset
|
||||
|
||||
void palette_bg_faded_fill_white(void)
|
||||
{
|
||||
CpuFastFill16(RGB_WHITE, gPlttBufferFaded, 0x400);
|
||||
CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE);
|
||||
}
|
||||
|
||||
void palette_bg_faded_fill_black(void)
|
||||
{
|
||||
CpuFastFill16(RGB_BLACK, gPlttBufferFaded, 0x400);
|
||||
CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE);
|
||||
}
|
||||
|
||||
void WarpFadeInScreen(void)
|
||||
|
||||
@@ -394,7 +394,7 @@ static void Task_RushInjuredPokemonToCenter(u8 taskId)
|
||||
case 0:
|
||||
windowId = AddWindow(&sWindowTemplate_WhiteoutText);
|
||||
gTasks[taskId].tWindowId = windowId;
|
||||
Menu_LoadStdPalAt(0xF0);
|
||||
Menu_LoadStdPalAt(BG_PLTT_ID(15));
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
PutWindowTilemap(windowId);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
|
||||
+11
-15
@@ -730,7 +730,7 @@ static const struct WindowTemplate sElevatorCurrentFloorWindowTemplate = {
|
||||
.tilemapTop = 1,
|
||||
.width = 7,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x008
|
||||
};
|
||||
|
||||
@@ -1098,8 +1098,8 @@ void DrawElevatorCurrentFloorWindow(void)
|
||||
if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE)
|
||||
{
|
||||
sElevatorCurrentFloorWindowId = AddWindow(&sElevatorCurrentFloorWindowTemplate);
|
||||
LoadStdWindowGfx(sElevatorCurrentFloorWindowId, 0x21D, 0xD0);
|
||||
DrawStdFrameWithCustomTileAndPalette(sElevatorCurrentFloorWindowId, FALSE, 0x21D, 0xD);
|
||||
LoadStdWindowGfx(sElevatorCurrentFloorWindowId, 0x21D, BG_PLTT_ID(13));
|
||||
DrawStdFrameWithCustomTileAndPalette(sElevatorCurrentFloorWindowId, FALSE, 0x21D, 13);
|
||||
AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, FONT_NORMAL, gText_NowOn, 0, 2, 0xFF, NULL);
|
||||
floorname = sFloorNamePointers[gSpecialVar_0x8005];
|
||||
strwidth = GetStringWidth(FONT_NORMAL, floorname, 0);
|
||||
@@ -2142,13 +2142,13 @@ void DoPokemonLeagueLightingEffect(void)
|
||||
{
|
||||
data[0] = sChampionRoomLightingTimers[0];
|
||||
data[2] = 8;
|
||||
LoadPalette(sChampionRoomLightingPalettes[0], 0x70, 0x20);
|
||||
LoadPalette(sChampionRoomLightingPalettes[0], BG_PLTT_ID(7), PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
data[0] = sEliteFourLightingTimers[0];
|
||||
data[2] = 11;
|
||||
LoadPalette(sEliteFourLightingPalettes[0], 0x70, 0x20);
|
||||
LoadPalette(sEliteFourLightingPalettes[0], BG_PLTT_ID(7), PLTT_SIZE_4BPP);
|
||||
}
|
||||
data[1] = 0;
|
||||
ApplyGlobalTintToPaletteSlot(7, 1);
|
||||
@@ -2171,12 +2171,12 @@ static void Task_RunPokemonLeagueLightingEffect(u8 taskId)
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(POKEMON_LEAGUE_CHAMPIONS_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(POKEMON_LEAGUE_CHAMPIONS_ROOM))
|
||||
{
|
||||
data[0] = sChampionRoomLightingTimers[data[1]];
|
||||
LoadPalette(sChampionRoomLightingPalettes[data[1]], 0x70, 0x20);
|
||||
LoadPalette(sChampionRoomLightingPalettes[data[1]], BG_PLTT_ID(7), PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
data[0] = sEliteFourLightingTimers[data[1]];
|
||||
LoadPalette(sEliteFourLightingPalettes[data[1]], 0x70, 0x20);
|
||||
LoadPalette(sEliteFourLightingPalettes[data[1]], BG_PLTT_ID(7), PLTT_SIZE_4BPP);
|
||||
}
|
||||
ApplyGlobalTintToPaletteSlot(7, 1);
|
||||
}
|
||||
@@ -2188,13 +2188,9 @@ static void Task_CancelPokemonLeagueLightingEffect(u8 taskId)
|
||||
if (FlagGet(FLAG_TEMP_4) != FALSE)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(POKEMON_LEAGUE_CHAMPIONS_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(POKEMON_LEAGUE_CHAMPIONS_ROOM))
|
||||
{
|
||||
LoadPalette(sChampionRoomLightingPalettes[8], 0x70, 0x20);
|
||||
}
|
||||
LoadPalette(sChampionRoomLightingPalettes[8], BG_PLTT_ID(7), PLTT_SIZE_4BPP);
|
||||
else
|
||||
{
|
||||
LoadPalette(sEliteFourLightingPalettes[11], 0x70, 0x20);
|
||||
}
|
||||
LoadPalette(sEliteFourLightingPalettes[11], BG_PLTT_ID(7), PLTT_SIZE_4BPP);
|
||||
ApplyGlobalTintToPaletteSlot(7, 1);
|
||||
if (gPaletteFade.active)
|
||||
{
|
||||
@@ -2407,7 +2403,7 @@ static void Task_DoDeoxysTriangleInteraction(u8 taskId)
|
||||
static void MoveDeoxysObject(u8 num)
|
||||
{
|
||||
u8 mapObjId;
|
||||
LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08);
|
||||
LoadPalette(sDeoxysObjectPals[num], OBJ_PLTT_ID(10), PLTT_SIZEOF(4));
|
||||
ApplyGlobalFieldPaletteTint(10);
|
||||
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjId);
|
||||
if (num == 0)
|
||||
@@ -2453,7 +2449,7 @@ void IncrementBirthIslandRockStepCount(void)
|
||||
void SetDeoxysTrianglePalette(void)
|
||||
{
|
||||
u8 num = VarGet(VAR_DEOXYS_INTERACTION_NUM);
|
||||
LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08);
|
||||
LoadPalette(sDeoxysObjectPals[num], OBJ_PLTT_ID(10), PLTT_SIZEOF(4));
|
||||
ApplyGlobalFieldPaletteTint(10);
|
||||
}
|
||||
|
||||
|
||||
+14
-40
@@ -146,7 +146,7 @@ void StartWeather(void)
|
||||
if (!FuncIsActiveTask(Task_WeatherMain))
|
||||
{
|
||||
u8 index = AllocSpritePalette(0x1200);
|
||||
CpuCopy32(gDefaultWeatherSpritePalette, &gPlttBufferUnfaded[0x100 + index * 16], 32);
|
||||
CpuCopy32(gDefaultWeatherSpritePalette, &gPlttBufferUnfaded[OBJ_PLTT_ID(index)], PLTT_SIZE_4BPP);
|
||||
ApplyGlobalFieldPaletteTint(index);
|
||||
BuildGammaShiftTables();
|
||||
gWeatherPtr->altGammaSpritePalIndex = index;
|
||||
@@ -449,7 +449,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex)
|
||||
if (gammaIndex > 0)
|
||||
{
|
||||
gammaIndex--;
|
||||
palOffset = startPalIndex * 16;
|
||||
palOffset = PLTT_ID(startPalIndex);
|
||||
numPalettes += startPalIndex;
|
||||
curPalIndex = startPalIndex;
|
||||
|
||||
@@ -459,7 +459,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex)
|
||||
if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE)
|
||||
{
|
||||
// No palette change.
|
||||
CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16));
|
||||
CpuFastCopy(&gPlttBufferUnfaded[palOffset], &gPlttBufferFaded[palOffset], PLTT_SIZE_4BPP);
|
||||
palOffset += 16;
|
||||
}
|
||||
else
|
||||
@@ -489,37 +489,11 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex)
|
||||
{
|
||||
// A negative gammIndex value means that the blending will come from the special Drought weather's palette tables.
|
||||
// Dummied out in FRLG
|
||||
|
||||
// gammaIndex = -gammaIndex - 1;
|
||||
// palOffset = startPalIndex * 16;
|
||||
// numPalettes += startPalIndex;
|
||||
// curPalIndex = startPalIndex;
|
||||
//
|
||||
// CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16));
|
||||
// while (curPalIndex < numPalettes)
|
||||
// {
|
||||
// if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE)
|
||||
// {
|
||||
// // No palette change.
|
||||
// palOffset += 16;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
//
|
||||
// for (i = 0; i < 16; i++)
|
||||
// {
|
||||
// gPlttBufferFaded[palOffset] = sDroughtWeatherColors[gammaIndex][DROUGHT_COLOR_INDEX(gPlttBufferUnfaded[palOffset])];
|
||||
// palOffset++;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// curPalIndex++;
|
||||
// }
|
||||
}
|
||||
else
|
||||
{
|
||||
// No palette blending.
|
||||
CpuFastCopy(gPlttBufferUnfaded + startPalIndex * 16, gPlttBufferFaded + startPalIndex * 16, numPalettes * 16 * sizeof(u16));
|
||||
CpuFastCopy(&gPlttBufferUnfaded[PLTT_ID(startPalIndex)], &gPlttBufferFaded[PLTT_ID(startPalIndex)], numPalettes * PLTT_SIZE_4BPP);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -533,7 +507,7 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI
|
||||
u8 gBlend = color.g;
|
||||
u8 bBlend = color.b;
|
||||
|
||||
palOffset = startPalIndex * 16;
|
||||
palOffset = PLTT_ID(startPalIndex);
|
||||
numPalettes += startPalIndex;
|
||||
gammaIndex--;
|
||||
curPalIndex = startPalIndex;
|
||||
@@ -641,8 +615,8 @@ static void ApplyFogBlend(u8 blendCoeff, u16 blendColor)
|
||||
{
|
||||
if (LightenSpritePaletteInFog(curPalIndex))
|
||||
{
|
||||
u16 palEnd = (curPalIndex + 1) * 16;
|
||||
u16 palOffset = curPalIndex * 16;
|
||||
u16 palEnd = PLTT_ID(curPalIndex + 1);
|
||||
u16 palOffset = PLTT_ID(curPalIndex);
|
||||
|
||||
while (palOffset < palEnd)
|
||||
{
|
||||
@@ -665,7 +639,7 @@ static void ApplyFogBlend(u8 blendCoeff, u16 blendColor)
|
||||
}
|
||||
else
|
||||
{
|
||||
BlendPalette(curPalIndex * 16, 16, blendCoeff, blendColor);
|
||||
BlendPalette(PLTT_ID(curPalIndex), 16, blendCoeff, blendColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -829,7 +803,7 @@ void FadeSelectedPals(u8 mode, s8 delay, u32 selectedPalettes)
|
||||
if (fadeOut)
|
||||
{
|
||||
if (useWeatherPal)
|
||||
CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
|
||||
CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE);
|
||||
|
||||
BeginNormalPaletteFade(selectedPalettes, delay, 0, 16, fadeColor);
|
||||
gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_OUT;
|
||||
@@ -868,14 +842,14 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex)
|
||||
{
|
||||
if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL)
|
||||
MarkFogSpritePalToLighten(paletteIndex);
|
||||
paletteIndex *= 16;
|
||||
paletteIndex = PLTT_ID(paletteIndex);
|
||||
for (i = 0; i < 16; i++)
|
||||
gPlttBufferFaded[paletteIndex + i] = gWeatherPtr->fadeDestColor;
|
||||
}
|
||||
break;
|
||||
case WEATHER_PAL_STATE_SCREEN_FADING_OUT:
|
||||
paletteIndex *= 16;
|
||||
CpuFastCopy(gPlttBufferFaded + paletteIndex, gPlttBufferUnfaded + paletteIndex, 32);
|
||||
paletteIndex = PLTT_ID(paletteIndex);
|
||||
CpuFastCopy(&gPlttBufferFaded[paletteIndex], &gPlttBufferUnfaded[paletteIndex], PLTT_SIZE_4BPP);
|
||||
BlendPalette(paletteIndex, 16, gPaletteFade.y, gPaletteFade.blendColor);
|
||||
break;
|
||||
// WEATHER_PAL_STATE_CHANGING_WEATHER
|
||||
@@ -887,7 +861,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex)
|
||||
}
|
||||
else
|
||||
{
|
||||
paletteIndex *= 16;
|
||||
paletteIndex = PLTT_ID(paletteIndex);
|
||||
BlendPalette(paletteIndex, 16, 12, RGB(28, 31, 28));
|
||||
}
|
||||
break;
|
||||
@@ -909,7 +883,7 @@ static u8 IsWeatherFadingIn(void)
|
||||
|
||||
void LoadCustomWeatherSpritePalette(const u16 *palette)
|
||||
{
|
||||
LoadPalette(palette, 0x100 + gWeatherPtr->weatherPicSpritePalIndex * 16, 32);
|
||||
LoadPalette(palette, OBJ_PLTT_ID(gWeatherPtr->weatherPicSpritePalIndex), PLTT_SIZE_4BPP);
|
||||
UpdateSpritePaletteWithWeather(gWeatherPtr->weatherPicSpritePalIndex);
|
||||
}
|
||||
|
||||
|
||||
+13
-13
@@ -845,19 +845,19 @@ static void ApplyGlobalTintToPaletteEntries(u16 offset, u16 size)
|
||||
case QL_TINT_NONE:
|
||||
return;
|
||||
case QL_TINT_GRAYSCALE:
|
||||
TintPalette_GrayScale(gPlttBufferUnfaded + offset, size);
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[offset], size);
|
||||
break;
|
||||
case QL_TINT_SEPIA:
|
||||
TintPalette_SepiaTone(gPlttBufferUnfaded + offset, size);
|
||||
TintPalette_SepiaTone(&gPlttBufferUnfaded[offset], size);
|
||||
break;
|
||||
case QL_TINT_BACKUP_GRAYSCALE:
|
||||
QuestLog_BackUpPalette(offset, size);
|
||||
TintPalette_GrayScale(gPlttBufferUnfaded + offset, size);
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[offset], size);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
CpuCopy16(gPlttBufferUnfaded + offset, gPlttBufferFaded + offset, size * sizeof(u16));
|
||||
CpuCopy16(&gPlttBufferUnfaded[offset], &gPlttBufferFaded[offset], PLTT_SIZEOF(size));
|
||||
}
|
||||
|
||||
void ApplyGlobalTintToPaletteSlot(u8 slot, u8 count)
|
||||
@@ -867,19 +867,19 @@ void ApplyGlobalTintToPaletteSlot(u8 slot, u8 count)
|
||||
case QL_TINT_NONE:
|
||||
return;
|
||||
case QL_TINT_GRAYSCALE:
|
||||
TintPalette_GrayScale(gPlttBufferUnfaded + slot * 16, count * 16);
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], count * 16);
|
||||
break;
|
||||
case QL_TINT_SEPIA:
|
||||
TintPalette_SepiaTone(gPlttBufferUnfaded + slot * 16, count * 16);
|
||||
TintPalette_SepiaTone(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], count * 16);
|
||||
break;
|
||||
case QL_TINT_BACKUP_GRAYSCALE:
|
||||
QuestLog_BackUpPalette(slot * 16, count * 16);
|
||||
TintPalette_GrayScale(gPlttBufferUnfaded + slot * 16, count * 16);
|
||||
QuestLog_BackUpPalette(BG_PLTT_ID(slot), count * 16);
|
||||
TintPalette_GrayScale(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], count * 16);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
CpuFastCopy(gPlttBufferUnfaded + slot * 16, gPlttBufferFaded + slot * 16, count * 16 * sizeof(u16));
|
||||
CpuFastCopy(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], &gPlttBufferFaded[BG_PLTT_ID(slot)], count * PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size)
|
||||
@@ -890,8 +890,8 @@ static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u1
|
||||
{
|
||||
if (tileset->isSecondary == FALSE)
|
||||
{
|
||||
LoadPalette(&black, destOffset, 2);
|
||||
LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - 2);
|
||||
LoadPalette(&black, destOffset, PLTT_SIZEOF(1));
|
||||
LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - PLTT_SIZEOF(1));
|
||||
ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1);
|
||||
}
|
||||
else if (tileset->isSecondary == TRUE)
|
||||
@@ -924,12 +924,12 @@ void CopySecondaryTilesetToVramUsingHeap(const struct MapLayout *mapLayout)
|
||||
|
||||
static void LoadPrimaryTilesetPalette(const struct MapLayout *mapLayout)
|
||||
{
|
||||
LoadTilesetPalette(mapLayout->primaryTileset, 0, NUM_PALS_IN_PRIMARY * 16 * 2);
|
||||
LoadTilesetPalette(mapLayout->primaryTileset, BG_PLTT_ID(0), NUM_PALS_IN_PRIMARY * PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
void LoadSecondaryTilesetPalette(const struct MapLayout *mapLayout)
|
||||
{
|
||||
LoadTilesetPalette(mapLayout->secondaryTileset, NUM_PALS_IN_PRIMARY * 16, (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * 16 * 2);
|
||||
LoadTilesetPalette(mapLayout->secondaryTileset, BG_PLTT_ID(NUM_PALS_IN_PRIMARY), (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
void CopyMapTilesetsToVram(struct MapLayout const *mapLayout)
|
||||
|
||||
+1
-1
@@ -79,7 +79,7 @@ static const struct OamData sOamData_FldEff_CutGrass = {
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileNum = 0x001,
|
||||
.priority = 1,
|
||||
.paletteNum = 0x1,
|
||||
.paletteNum = 1,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
|
||||
+20
-19
@@ -154,11 +154,13 @@ static const struct FlashStruct sTransitionTypes[] = {
|
||||
}, {0}
|
||||
};
|
||||
|
||||
static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/field_effects/flash_white.gbapal");
|
||||
static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/field_effects/flash_black.gbapal");
|
||||
static const u16 sCaveTransitionPalette_Gradient[] = INCBIN_U16("graphics/field_effects/flash_gradient.gbapal");
|
||||
static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/field_effects/flash_effect_map.bin.lz");
|
||||
static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/field_effects/flash_effect_tiles.4bpp.lz");
|
||||
static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/cave_transition/white.gbapal");
|
||||
static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/cave_transition/black.gbapal");
|
||||
|
||||
static const u16 sCaveTransitionPalette_Enter[] = INCBIN_U16("graphics/cave_transition/enter.gbapal");
|
||||
static const u16 sCaveTransitionPalette_Exit[] = INCBIN_U16("graphics/cave_transition/exit.gbapal");
|
||||
static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/cave_transition/tilemap.bin.lz");
|
||||
static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/cave_transition/tiles.4bpp.lz");
|
||||
|
||||
bool8 SetUpFieldMove_Flash(void)
|
||||
{
|
||||
@@ -299,8 +301,8 @@ static void Task_FlashTransition_Exit_1(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
LZ77UnCompVram(sCaveTransitionTiles, (void *)BG_CHAR_ADDR(3));
|
||||
LZ77UnCompVram(sCaveTransitionTilemap, (void *)BG_SCREEN_ADDR(31));
|
||||
LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20);
|
||||
LoadPalette(sCaveTransitionPalette_Gradient + 8, 0xE0, 0x10);
|
||||
LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_White));
|
||||
LoadPalette(sCaveTransitionPalette_Exit, BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_Exit));
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
@@ -328,17 +330,17 @@ static void Task_FlashTransition_Exit_2(u8 taskId)
|
||||
|
||||
static void Task_FlashTransition_Exit_3(u8 taskId)
|
||||
{
|
||||
u16 r4;
|
||||
u16 count;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + 16);
|
||||
r4 = gTasks[taskId].data[2];
|
||||
if (r4 < 8)
|
||||
count = gTasks[taskId].data[2];
|
||||
if (count < 8)
|
||||
{
|
||||
gTasks[taskId].data[2]++;
|
||||
LoadPalette(sCaveTransitionPalette_Gradient + 8 + r4, 0xE0, 0x10 - 2 * r4);
|
||||
LoadPalette(&sCaveTransitionPalette_Exit[count], BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_Exit) - PLTT_SIZEOF(count));
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadPalette(sCaveTransitionPalette_White, 0x00, 0x20);
|
||||
LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0), sizeof(sCaveTransitionPalette_White));
|
||||
gTasks[taskId].func = Task_FlashTransition_Exit_4;
|
||||
gTasks[taskId].data[2] = 8;
|
||||
}
|
||||
@@ -372,8 +374,8 @@ static void Task_FlashTransition_Enter_1(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31));
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON);
|
||||
LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20);
|
||||
LoadPalette(sCaveTransitionPalette_Black, 0, 0x20);
|
||||
LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_White));
|
||||
LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0), sizeof(sCaveTransitionPalette_Black));
|
||||
gTasks[taskId].func = Task_FlashTransition_Enter_2;
|
||||
gTasks[taskId].data[0] = 16;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
@@ -382,13 +384,12 @@ static void Task_FlashTransition_Enter_1(u8 taskId)
|
||||
|
||||
static void Task_FlashTransition_Enter_2(u8 taskId)
|
||||
{
|
||||
u16 r4;
|
||||
r4 = gTasks[taskId].data[2];
|
||||
if (r4 < 16)
|
||||
u16 count = gTasks[taskId].data[2];
|
||||
if (count < 16)
|
||||
{
|
||||
gTasks[taskId].data[2]++;
|
||||
gTasks[taskId].data[2]++;
|
||||
LoadPalette(&sCaveTransitionPalette_Gradient[16 - (r4 + 1)], 0xE0, 2 * (r4 + 1));
|
||||
LoadPalette(&sCaveTransitionPalette_Enter[15 - count], BG_PLTT_ID(14), PLTT_SIZEOF(count + 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -408,7 +409,7 @@ static void Task_FlashTransition_Enter_3(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadPalette(sCaveTransitionPalette_Black, 0x00, 0x20);
|
||||
LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0), sizeof(sCaveTransitionPalette_Black));
|
||||
SetMainCallback2(gMain.savedCallback);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1227,7 +1227,7 @@ const u16 gTradeUnused_Tilemap[] = INCBIN_U16("graphics/trade/unused.bin");
|
||||
const u16 gTradeMenu_Tilemap[] = INCBIN_U16("graphics/trade/menu.bin");
|
||||
const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.bin");
|
||||
|
||||
const u16 gFameCheckerBgPals[] = INCBIN_U16("graphics/fame_checker/bg.gbapal");
|
||||
const u16 gFameCheckerBgPals[][16] = INCBIN_U16("graphics/fame_checker/bg.gbapal");
|
||||
const u16 gFameCheckerBgTiles[] = INCBIN_U16("graphics/fame_checker/bg.4bpp");
|
||||
const u16 gFameCheckerBg3Tilemap[] = INCBIN_U16("graphics/fame_checker/tilemap3.bin");
|
||||
const u16 gFameCheckerBg2Tilemap[] = INCBIN_U16("graphics/fame_checker/tilemap2.bin");
|
||||
|
||||
+5
-5
@@ -620,7 +620,7 @@ static void Task_Hof_SpawnPlayerPic(u8 taskId)
|
||||
ShowBg(3);
|
||||
gTasks[taskId].data[4] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender, TRUE), TRUE, 0x78, 0x48, 6, 0xFFFF);
|
||||
AddWindow(&sWindowTemplate);
|
||||
LoadStdWindowGfx(1, 0x21D, 0xD0);
|
||||
LoadStdWindowGfx(1, 0x21D, BG_PLTT_ID(13));
|
||||
gTasks[taskId].data[3] = 120;
|
||||
gTasks[taskId].func = Task_Hof_WaitAndPrintPlayerInfo;
|
||||
}
|
||||
@@ -657,7 +657,7 @@ static void Task_Hof_ExitOnKeyPressed(u8 taskId)
|
||||
|
||||
static void Task_Hof_HandlePaletteOnExit(u8 taskId)
|
||||
{
|
||||
CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * sizeof(u16));
|
||||
CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE);
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 8, 0, 16, RGB_BLACK);
|
||||
gTasks[taskId].func = Task_Hof_HandleExit;
|
||||
}
|
||||
@@ -938,7 +938,7 @@ static void Task_HofPC_HandlePaletteOnExit(u8 taskId)
|
||||
{
|
||||
struct HallofFameTeam* fameTeam;
|
||||
|
||||
CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
|
||||
CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE);
|
||||
BeginPCScreenEffect_TurnOff(0, 0, 0);
|
||||
gTasks[taskId].func = Task_HofPC_HandleExit;
|
||||
}
|
||||
@@ -1085,7 +1085,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
||||
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
PutWindowTilemap(1);
|
||||
DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 0xD);
|
||||
DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 13);
|
||||
AddTextPrinterParameterized4(1, FONT_NORMAL, 4, 3, 0, 0, sTextColors[1], 0, gText_Name);
|
||||
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, textWidth - GetStringWidth(FONT_NORMAL, gSaveBlock2Ptr->playerName, 0), 3, sTextColors[1], 0, gSaveBlock2Ptr->playerName);
|
||||
@@ -1148,7 +1148,7 @@ static void ClearVramOamPltt_LoadHofPal(void)
|
||||
DmaFill16(3, 0, plttOffset, plttSize);
|
||||
|
||||
ResetPaletteFade();
|
||||
LoadPalette(sHallOfFame_Pal, 0, 0x20);
|
||||
LoadPalette(sHallOfFame_Pal, BG_PLTT_ID(0), sizeof(sHallOfFame_Pal));
|
||||
}
|
||||
|
||||
static void HofInit_ResetGpuBuffersAndLoadConfettiGfx(void)
|
||||
|
||||
+15
-15
@@ -405,7 +405,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = {
|
||||
.tilemapTop = 4,
|
||||
.width = 18,
|
||||
.height = 9,
|
||||
.paletteNum = 0xD,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 0x000
|
||||
},
|
||||
[WIN_COUNT] = DUMMY_WIN_TEMPLATE
|
||||
@@ -930,7 +930,7 @@ static bool8 SetUpCopyrightScreen(void)
|
||||
DmaFill32(3, 0, OAM, OAM_SIZE);
|
||||
DmaFill16(3, 0, PLTT + sizeof(vu16), PLTT_SIZE - sizeof(vu16));
|
||||
ResetPaletteFade();
|
||||
LoadCopyrightGraphics(0 * BG_CHAR_SIZE, 7 * BG_SCREEN_SIZE, 0);
|
||||
LoadCopyrightGraphics(0 * BG_CHAR_SIZE, 7 * BG_SCREEN_SIZE, BG_PLTT_ID(0));
|
||||
ScanlineEffect_Stop();
|
||||
ResetTasks();
|
||||
ResetSpriteData();
|
||||
@@ -1025,15 +1025,15 @@ static void CB2_SetUpIntro(void)
|
||||
DmaFill16(3, 0, VRAM, VRAM_SIZE);
|
||||
DmaFill32(3, 0, OAM, OAM_SIZE);
|
||||
DmaFill16(3, 0, PLTT, PLTT_SIZE);
|
||||
FillPalette(RGB_BLACK, 0, 0x400);
|
||||
FillPalette(RGB_BLACK, 0, PLTT_SIZE);
|
||||
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||
InitBgsFromTemplates(0, sBgTemplates_GameFreakScene, ARRAY_COUNT(sBgTemplates_GameFreakScene));
|
||||
break;
|
||||
case 1:
|
||||
LoadPalette(sGameFreakBg_Pal, 0x00, sizeof(sGameFreakBg_Pal));
|
||||
LoadPalette(sGameFreakBg_Pal, BG_PLTT_ID(0), sizeof(sGameFreakBg_Pal));
|
||||
DecompressAndCopyTileDataToVram(BG_GF_BACKGROUND, sGameFreakBg_Gfx, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(BG_GF_BACKGROUND, sGameFreakBg_Map, 0, 0, 1);
|
||||
LoadPalette(sGameFreakLogo_Pal, 0xD0, sizeof(sGameFreakLogo_Pal));
|
||||
LoadPalette(sGameFreakLogo_Pal, BG_PLTT_ID(13), sizeof(sGameFreakLogo_Pal));
|
||||
break;
|
||||
case 2:
|
||||
if (!FreeTempTileDataBuffersIfPossible())
|
||||
@@ -1113,7 +1113,7 @@ static void IntroCB_Init(struct IntroSequenceData * this)
|
||||
InitWindows(sWindowTemplates);
|
||||
LZ77UnCompWram(sGameFreakText_Gfx, this->gameFreakTextGfx);
|
||||
LZ77UnCompWram(sGameFreakLogo_Gfx, this->gameFreakLogoGfx);
|
||||
FillBgTilemapBufferRect(BG_GF_TEXT_LOGO, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(BG_GF_TEXT_LOGO, 0x000, 0, 0, 32, 32, 17);
|
||||
FillWindowPixelBuffer(WIN_GF_TEXT_LOGO, PIXEL_FILL(0));
|
||||
BlitBitmapToWindow(WIN_GF_TEXT_LOGO, this->gameFreakTextGfx, 0, 40, 144, 16);
|
||||
PutWindowTilemap(WIN_GF_TEXT_LOGO);
|
||||
@@ -1293,8 +1293,8 @@ static void IntroCB_Scene1(struct IntroSequenceData * this)
|
||||
{
|
||||
case 0:
|
||||
SetVBlankCallback(NULL);
|
||||
LoadPalette(sScene1_Grass_Pal, 16 * PALSLOT_SCENE1_GRASS, sizeof(sScene1_Grass_Pal));
|
||||
LoadPalette(sScene1_Bg_Pal, 16 * PALSLOT_SCENE1_BG, sizeof(sScene1_Bg_Pal));
|
||||
LoadPalette(sScene1_Grass_Pal, BG_PLTT_ID(PALSLOT_SCENE1_GRASS), sizeof(sScene1_Grass_Pal));
|
||||
LoadPalette(sScene1_Bg_Pal, BG_PLTT_ID(PALSLOT_SCENE1_BG), sizeof(sScene1_Bg_Pal));
|
||||
BlendPalettes((1 << PALSLOT_SCENE1_GRASS) | (1 << PALSLOT_SCENE1_BG), 16, RGB_WHITE);
|
||||
InitBgsFromTemplates(0, sBgTemplates_Scene1, ARRAY_COUNT(sBgTemplates_Scene1));
|
||||
DecompressAndCopyTileDataToVram(BG_SCENE1_BACKGROUND, sScene1_Bg_Gfx, 0, 0, 0);
|
||||
@@ -1439,9 +1439,9 @@ static void IntroCB_Scene2(struct IntroSequenceData * this)
|
||||
if (!FreeTempTileDataBuffersIfPossible())
|
||||
{
|
||||
SetVBlankCallback(NULL);
|
||||
LoadPalette(sScene2_Bg_Pal, 0x10, sizeof(sScene2_Bg_Pal));
|
||||
LoadPalette(sGengar_Pal, 0x50, sizeof(sGengar_Pal));
|
||||
LoadPalette(sScene2_NidorinoClose_Pal, 0x60, sizeof(sScene2_NidorinoClose_Pal));
|
||||
LoadPalette(sScene2_Bg_Pal, BG_PLTT_ID(1), sizeof(sScene2_Bg_Pal));
|
||||
LoadPalette(sGengar_Pal, BG_PLTT_ID(5), sizeof(sGengar_Pal));
|
||||
LoadPalette(sScene2_NidorinoClose_Pal, BG_PLTT_ID(6), sizeof(sScene2_NidorinoClose_Pal));
|
||||
BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE);
|
||||
DecompressAndCopyTileDataToVram(BG_SCENE2_PLANTS, sScene2_Plants_Gfx, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(BG_SCENE2_PLANTS, sScene2_Plants_Map, 0, 0, 1);
|
||||
@@ -1553,8 +1553,8 @@ static void IntroCB_Scene3_Entrance(struct IntroSequenceData * this)
|
||||
switch (this->state)
|
||||
{
|
||||
case 0:
|
||||
LoadPalette(sScene3_Bg_Pal, 0x10, sizeof(sScene3_Bg_Pal));
|
||||
LoadPalette(sGengar_Pal, 0x50, sizeof(sGengar_Pal));
|
||||
LoadPalette(sScene3_Bg_Pal, BG_PLTT_ID(1), sizeof(sScene3_Bg_Pal));
|
||||
LoadPalette(sGengar_Pal, BG_PLTT_ID(5), sizeof(sGengar_Pal));
|
||||
BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE);
|
||||
InitBgsFromTemplates(0, sBgTemplates_Scene3, ARRAY_COUNT(sBgTemplates_Scene3));
|
||||
DecompressAndCopyTileDataToVram(BG_SCENE3_BACKGROUND, sScene3_Bg_Gfx, 0, 0, 0);
|
||||
@@ -1831,7 +1831,7 @@ static void IntroCB_Scene3_Fight(struct IntroSequenceData * this)
|
||||
case 13:
|
||||
if (++this->timer > 8)
|
||||
{
|
||||
CpuFill16(RGB_WHITE, gPlttBufferUnfaded + 16, 64);
|
||||
CpuFill16(RGB_WHITE, &gPlttBufferUnfaded[BG_PLTT_ID(1)], 2 * PLTT_SIZE_4BPP);
|
||||
BeginNormalPaletteFade(PALETTES_ALL & ~1, -2, 0, 16, RGB_BLACK);
|
||||
this->state++;
|
||||
}
|
||||
@@ -1916,7 +1916,7 @@ static void IntroCB_ExitToTitleScreen(struct IntroSequenceData * this)
|
||||
switch (this->state)
|
||||
{
|
||||
case 0:
|
||||
FillPalette(RGB_BLACK, 0, 0x400);
|
||||
FillPalette(RGB_BLACK, 0, PLTT_SIZE);
|
||||
this->state++;
|
||||
break;
|
||||
case 1:
|
||||
|
||||
+6
-6
@@ -576,9 +576,9 @@ static bool8 DoLoadBagGraphics(void)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
LoadCompressedPalette(gBagBgPalette, 0x00, 0x60);
|
||||
LoadCompressedPalette(gBagBgPalette, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
|
||||
if (!BagIsTutorial() && gSaveBlock2Ptr->playerGender != MALE)
|
||||
LoadCompressedPalette(gBagBgPalette_FemaleOverride, 0x00, 0x20);
|
||||
LoadCompressedPalette(gBagBgPalette_FemaleOverride, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
sBagMenuDisplay->data[0]++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -922,20 +922,20 @@ static void ShowBagOrBeginWin0OpenTask(void)
|
||||
u16 paldata = RGB_BLACK;
|
||||
u8 taskId;
|
||||
|
||||
LoadPalette(&paldata, 0x00, 0x02);
|
||||
SetBackdropFromPalette(&paldata);
|
||||
SetGpuReg(REG_OFFSET_WININ, 0);
|
||||
SetGpuReg(REG_OFFSET_WINOUT, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
|
||||
BlendPalettes(PALETTES_ALL, 16, RGB_BLACK);
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK);
|
||||
if (gBagMenuState.bagOpen == TRUE)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240));
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, DISPLAY_WIDTH));
|
||||
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240));
|
||||
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 160));
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, DISPLAY_WIDTH));
|
||||
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, DISPLAY_HEIGHT));
|
||||
taskId = CreateTask(Task_AnimateWin0v, 0);
|
||||
gTasks[taskId].data[0] = 192;
|
||||
gTasks[taskId].data[1] = -16;
|
||||
|
||||
+53
-53
@@ -130,51 +130,51 @@ static const u8 sTextColors[][3] = {
|
||||
static const struct WindowTemplate sWindowTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x07,
|
||||
.tilemapTop = 0x01,
|
||||
.width = 0x13,
|
||||
.height = 0x0c,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 7,
|
||||
.tilemapTop = 1,
|
||||
.width = 19,
|
||||
.height = 12,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x02bf
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x05,
|
||||
.tilemapTop = 0x0e,
|
||||
.width = 0x19,
|
||||
.height = 0x06,
|
||||
.paletteNum = 0x0d,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 14,
|
||||
.width = 25,
|
||||
.height = 6,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 0x0229
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x01,
|
||||
.width = 0x05,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 5,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x0215
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x18,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x05,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 24,
|
||||
.tilemapTop = 15,
|
||||
.width = 5,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x0201
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0d,
|
||||
.width = 0x07,
|
||||
.height = 0x06,
|
||||
.paletteNum = 0x0f,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 13,
|
||||
.width = 7,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x01d7
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x02,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x1a,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0b,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 11,
|
||||
.baseBlock = 0x016f
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -182,27 +182,27 @@ static const struct WindowTemplate sWindowTemplates[] = {
|
||||
static const struct WindowTemplate sSubwindowTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x0e,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 14,
|
||||
.height = 4,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x0137
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x10,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 16,
|
||||
.height = 4,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x0137
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x17,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 23,
|
||||
.height = 4,
|
||||
.paletteNum = 12,
|
||||
.baseBlock = 0x009b
|
||||
}
|
||||
};
|
||||
@@ -443,7 +443,7 @@ static bool8 ItemPc_LoadGraphics(void)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
LoadCompressedPalette(gItemPcBgPals, 0x00, 0x60);
|
||||
LoadCompressedPalette(gItemPcBgPals, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
|
||||
sStateDataPtr->data[0]++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -1069,11 +1069,11 @@ static void ItemPc_InitWindows(void)
|
||||
|
||||
InitWindows(sWindowTemplates);
|
||||
DeactivateAllTextPrinters();
|
||||
LoadUserWindowGfx(0, 0x3C0, 0xE0);
|
||||
LoadStdWindowGfx(0, 0x3A3, 0xC0);
|
||||
LoadMenuMessageWindowGfx(0, 0x3AC, 0xB0);
|
||||
LoadPalette(GetTextWindowPalette(2), 0xD0, 0x20);
|
||||
LoadPalette(gStandardMenuPalette, 0xF0, 0x20);
|
||||
LoadUserWindowGfx(0, 0x3C0, BG_PLTT_ID(14));
|
||||
LoadStdWindowGfx(0, 0x3A3, BG_PLTT_ID(12));
|
||||
LoadMenuMessageWindowGfx(0, 0x3AC, BG_PLTT_ID(11));
|
||||
LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(13), PLTT_SIZE_4BPP);
|
||||
LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
FillWindowPixelBuffer(i, 0x00);
|
||||
@@ -1111,7 +1111,7 @@ static void ItemPc_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8
|
||||
|
||||
static void ItemPc_SetBorderStyleOnWindow(u8 windowId)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x3C0, 0x0E);
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x3C0, 14);
|
||||
}
|
||||
|
||||
static u8 ItemPc_GetOrCreateSubwindow(u8 idx)
|
||||
@@ -1119,7 +1119,7 @@ static u8 ItemPc_GetOrCreateSubwindow(u8 idx)
|
||||
if (sSubmenuWindowIds[idx] == 0xFF)
|
||||
{
|
||||
sSubmenuWindowIds[idx] = AddWindow(&sSubwindowTemplates[idx]);
|
||||
DrawStdFrameWithCustomTileAndPalette(sSubmenuWindowIds[idx], TRUE, 0x3A3, 0x0C);
|
||||
DrawStdFrameWithCustomTileAndPalette(sSubmenuWindowIds[idx], TRUE, 0x3A3, 12);
|
||||
}
|
||||
|
||||
return sSubmenuWindowIds[idx];
|
||||
|
||||
+19
-19
@@ -258,7 +258,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 0,
|
||||
.width = 6,
|
||||
.height = 7,
|
||||
.paletteNum = 0x0d,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 0x014
|
||||
},
|
||||
{
|
||||
@@ -267,7 +267,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 0,
|
||||
.width = 5,
|
||||
.height = 5,
|
||||
.paletteNum = 0x0d,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 0x03e
|
||||
},
|
||||
{
|
||||
@@ -276,7 +276,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 0,
|
||||
.width = 5,
|
||||
.height = 2,
|
||||
.paletteNum = 0x0d,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 0x057
|
||||
},
|
||||
{
|
||||
@@ -285,7 +285,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 0,
|
||||
.width = 3,
|
||||
.height = 5,
|
||||
.paletteNum = 0x0f,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x061
|
||||
},
|
||||
{
|
||||
@@ -294,7 +294,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 2,
|
||||
.width = 3,
|
||||
.height = 3,
|
||||
.paletteNum = 0x0f,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x070
|
||||
},
|
||||
{
|
||||
@@ -303,7 +303,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 6,
|
||||
.width = 15,
|
||||
.height = 8,
|
||||
.paletteNum = 0x0f,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x079
|
||||
},
|
||||
{
|
||||
@@ -312,7 +312,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 1,
|
||||
.width = 10,
|
||||
.height = 12,
|
||||
.paletteNum = 0x0f,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x0f1
|
||||
},
|
||||
{
|
||||
@@ -321,7 +321,7 @@ static const struct WindowTemplate sWindowTemplates[9] = {
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 0x0f,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x169
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -332,7 +332,7 @@ static const struct WindowTemplate sMoveRelearnerYesNoMenuTemplate = {
|
||||
.tilemapTop = 8,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0x0f,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x1d1
|
||||
};
|
||||
|
||||
@@ -396,11 +396,11 @@ static void MoveRelearnerLoadBgGfx(void)
|
||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||
}
|
||||
FillWindowPixelBuffer(7, PIXEL_FILL(1));
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 0, 30, 20, 0xF);
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 0, 30, 20, 15);
|
||||
SetBgTilemapBuffer(1, sMoveRelearner->bg1TilemapBuffer);
|
||||
LoadUserWindowGfx(0, 1, 0xE0);
|
||||
ListMenuLoadStdPalAt(0xD0, 1);
|
||||
LoadPalette(gMoveRelearner_Pal, 0x00, 0x20);
|
||||
LoadUserWindowGfx(0, 1, BG_PLTT_ID(14));
|
||||
ListMenuLoadStdPalAt(BG_PLTT_ID(13), 1);
|
||||
LoadPalette(gMoveRelearner_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
DecompressAndLoadBgGfxUsingHeap(1, gMoveRelearner_Gfx, 0, 0, 0);
|
||||
CopyToBgTilemapBuffer(1, gMoveRelearner_Tilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
@@ -442,7 +442,7 @@ static void CB2_MoveRelearner_Resume(void)
|
||||
SetVBlankCallback(VBlankCB_MoveRelearner);
|
||||
MoveRelearnerLoadBgGfx();
|
||||
SpawnListMenuScrollIndicatorSprites();
|
||||
FillPalette(RGB_BLACK, 0, 2);
|
||||
SetBackdropFromColor(RGB_BLACK);
|
||||
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
@@ -506,7 +506,7 @@ static void MoveRelearnerStateMachine(void)
|
||||
MoveRelearnerMenuHandleInput();
|
||||
break;
|
||||
case MENU_STATE_PRINT_TEACH_MOVE_PROMPT:
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0);
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0);
|
||||
sMoveRelearner->state++;
|
||||
break;
|
||||
case MENU_STATE_TEACH_MOVE_CONFIRM :
|
||||
@@ -531,7 +531,7 @@ static void MoveRelearnerStateMachine(void)
|
||||
}
|
||||
break;
|
||||
case MENU_STATE_PRINT_GIVE_UP_PROMPT:
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0);
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0);
|
||||
sMoveRelearner->state++;
|
||||
break;
|
||||
case MENU_STATE_GIVE_UP_CONFIRM:
|
||||
@@ -552,7 +552,7 @@ static void MoveRelearnerStateMachine(void)
|
||||
sMoveRelearner->state++;
|
||||
break;
|
||||
case MENU_STATE_WAIT_FOR_TRYING_TO_LEARN:
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0);
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0);
|
||||
sMoveRelearner->state = 18;
|
||||
break;
|
||||
case MENU_STATE_CONFIRM_DELETE_OLD_MOVE:
|
||||
@@ -573,7 +573,7 @@ static void MoveRelearnerStateMachine(void)
|
||||
sMoveRelearner->state++;
|
||||
break;
|
||||
case MENU_STATE_WAIT_FOR_STOP_TEACHING:
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0);
|
||||
CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0);
|
||||
sMoveRelearner->state = 26;
|
||||
break;
|
||||
case MENU_STATE_CONFIRM_STOP_TEACHING:
|
||||
@@ -680,7 +680,7 @@ static void DrawTextBorderOnWindows6and7(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 6; i < 8; i++)
|
||||
DrawTextBorderOuter(i, 0x001, 0xE);
|
||||
DrawTextBorderOuter(i, 0x001, 14);
|
||||
}
|
||||
|
||||
static void PrintTeachWhichMoveToStrVar1(bool8 onInit)
|
||||
|
||||
+5
-5
@@ -242,7 +242,7 @@ void Task_DestroySelf(u8 taskId)
|
||||
|
||||
void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock, u16 baseChar)
|
||||
{
|
||||
LoadPalette(sLinkTestFontPal, paletteNum * 16, 0x20);
|
||||
LoadPalette(sLinkTestFontPal, BG_PLTT_ID(paletteNum), PLTT_SIZE_4BPP);
|
||||
DmaCopy16(3, sLinkTestFontGfx, (u16 *)BG_CHAR_ADDR(charBaseBlock) + (16 * baseChar), sizeof sLinkTestFontGfx);
|
||||
gLinkTestBGInfo.screenBaseBlock = screenBaseBlock;
|
||||
gLinkTestBGInfo.paletteNum = paletteNum;
|
||||
@@ -266,7 +266,7 @@ void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBloc
|
||||
// Unused
|
||||
static void LoadLinkTestBgGfx(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock)
|
||||
{
|
||||
LoadPalette(sLinkTestFontPal, paletteNum * 16, 0x20);
|
||||
LoadPalette(sLinkTestFontPal, BG_PLTT_ID(paletteNum), PLTT_SIZE_4BPP);
|
||||
DmaCopy16(3, sLinkTestFontGfx, (u16 *)BG_CHAR_ADDR(charBaseBlock), sizeof sLinkTestFontGfx);
|
||||
gLinkTestBGInfo.screenBaseBlock = screenBaseBlock;
|
||||
gLinkTestBGInfo.paletteNum = paletteNum;
|
||||
@@ -1382,7 +1382,7 @@ void CB2_LinkError(void)
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
ResetPaletteFadeControl();
|
||||
FillPalette(RGB_BLACK, 0, 2);
|
||||
SetBackdropFromColor(RGB_BLACK);
|
||||
ResetTasks();
|
||||
ScanlineEffect_Stop();
|
||||
if (gWirelessCommType)
|
||||
@@ -1407,7 +1407,7 @@ void CB2_LinkError(void)
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, 0);
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON);
|
||||
LoadPalette(gStandardMenuPalette, 0xf0, 0x20);
|
||||
LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
gSoftResetDisabled = FALSE;
|
||||
CreateTask(Task_DestroySelf, 0);
|
||||
StopMapMusic();
|
||||
@@ -1425,7 +1425,7 @@ static void ErrorMsg_MoveCloserToPartner(void)
|
||||
DecompressAndLoadBgGfxUsingHeap(1, sWirelessLinkDisplayGfx, FALSE, 0, 0);
|
||||
CopyToBgTilemapBuffer(1, sWirelessLinkDisplayTilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
LoadPalette(sWirelessLinkDisplayPal, 0, 0x20);
|
||||
LoadPalette(sWirelessLinkDisplayPal, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
FillWindowPixelBuffer(2, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL_COPY_2, 2, 5, sLinkErrorTextColor, 0, gText_CommErrorEllipsis);
|
||||
|
||||
+5
-5
@@ -81,7 +81,7 @@ static void ListMenuDummyTask(u8 taskId)
|
||||
{
|
||||
}
|
||||
|
||||
u32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum)
|
||||
u32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palOffset)
|
||||
{
|
||||
switch (sMysteryGiftLinkMenu.state)
|
||||
{
|
||||
@@ -91,9 +91,9 @@ u32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
|
||||
switch (arg2)
|
||||
{
|
||||
case 2:
|
||||
LoadUserWindowGfx(sMysteryGiftLinkMenu.windowId, tileNum, palNum);
|
||||
LoadUserWindowGfx(sMysteryGiftLinkMenu.windowId, tileNum, palOffset);
|
||||
case 1:
|
||||
DrawTextBorderOuter(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16);
|
||||
DrawTextBorderOuter(sMysteryGiftLinkMenu.windowId, tileNum, palOffset / 16);
|
||||
break;
|
||||
}
|
||||
gMultiuseListMenuTemplate = *listMenuTemplate;
|
||||
@@ -727,7 +727,7 @@ void ListMenuSetTemplateField(u8 taskId, u8 field, s32 value)
|
||||
|
||||
void ListMenu_LoadMonIconPalette(u8 palOffset, u16 speciesId)
|
||||
{
|
||||
LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, 0x20);
|
||||
LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
void ListMenu_DrawMonIconGraphics(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y)
|
||||
@@ -749,7 +749,7 @@ void ListMenuLoadStdPalAt(u8 palOffset, u8 palId)
|
||||
palette = gFireRedMenuElements2_Pal;
|
||||
break;
|
||||
}
|
||||
LoadPalette(palette, palOffset, 0x20);
|
||||
LoadPalette(palette, palOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
void BlitMoveInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y)
|
||||
|
||||
+11
-10
@@ -560,16 +560,17 @@ static bool8 DoInitMailView(void)
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
break;
|
||||
case 12:
|
||||
LoadPalette(GetTextWindowPalette(0), 0xF0, 0x20);
|
||||
gPlttBufferUnfaded[15 * 16 + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0];
|
||||
gPlttBufferFaded[15 * 16 + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0];
|
||||
gPlttBufferUnfaded[15 * 16 + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1];
|
||||
gPlttBufferFaded[15 * 16 + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1];
|
||||
LoadPalette(sGfxHeaders[sMailViewResources->mailType].pal, 0x00, 0x20);
|
||||
gPlttBufferUnfaded[0 * 16 + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0];
|
||||
gPlttBufferFaded[0 * 16 + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0];
|
||||
gPlttBufferUnfaded[0 * 16 + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1];
|
||||
gPlttBufferFaded[0 * 16 + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1];
|
||||
LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(15) + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0];
|
||||
gPlttBufferFaded[BG_PLTT_ID(15) + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0];
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(15) + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1];
|
||||
gPlttBufferFaded[BG_PLTT_ID(15) + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1];
|
||||
|
||||
LoadPalette(sGfxHeaders[sMailViewResources->mailType].pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(0) + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0];
|
||||
gPlttBufferFaded[BG_PLTT_ID(0) + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0];
|
||||
gPlttBufferUnfaded[BG_PLTT_ID(0) + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1];
|
||||
gPlttBufferFaded[BG_PLTT_ID(0) + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1];
|
||||
break;
|
||||
case 13:
|
||||
if (sMailViewResources->messageExists)
|
||||
|
||||
+5
-5
@@ -196,8 +196,8 @@ static bool32 MainMenuGpuInit(u8 a0)
|
||||
ChangeBgY(2, 0, 0);
|
||||
InitWindows(sWindowTemplate);
|
||||
DeactivateAllTextPrinters();
|
||||
LoadPalette(sBg_Pal, 0x00, 0x20);
|
||||
LoadPalette(sTextbox_Pal, 0xF0, 0x20);
|
||||
LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal));
|
||||
LoadPalette(sTextbox_Pal, BG_PLTT_ID(15), sizeof(sTextbox_Pal));
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0V, 0);
|
||||
SetGpuReg(REG_OFFSET_WININ, 0);
|
||||
@@ -343,7 +343,7 @@ static void Task_PrintMainMenuText(u8 taskId)
|
||||
pal = RGB(4, 16, 31);
|
||||
else
|
||||
pal = RGB(31, 3, 21);
|
||||
LoadPalette(&pal, 0xF1, 2);
|
||||
LoadPalette(&pal, BG_PLTT_ID(15) + 1, PLTT_SIZEOF(1));
|
||||
switch (gTasks[taskId].tMenuType)
|
||||
{
|
||||
case MAIN_MENU_NEWGAME:
|
||||
@@ -678,13 +678,13 @@ static void PrintBadgeCount(void)
|
||||
static void LoadUserFrameToBg(u8 bgId)
|
||||
{
|
||||
LoadBgTiles(bgId, GetUserWindowGraphics(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, 0x1B1);
|
||||
LoadPalette(GetUserWindowGraphics(gSaveBlock2Ptr->optionsWindowFrameType)->palette, 0x20, 0x20);
|
||||
LoadPalette(GetUserWindowGraphics(gSaveBlock2Ptr->optionsWindowFrameType)->palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]);
|
||||
}
|
||||
|
||||
static void SetStdFrame0OnBg(u8 bgId)
|
||||
{
|
||||
LoadStdWindowGfx(MAIN_MENU_WINDOW_NEWGAME_ONLY, 0x1B1, 0x20);
|
||||
LoadStdWindowGfx(MAIN_MENU_WINDOW_NEWGAME_ONLY, 0x1B1, BG_PLTT_ID(2));
|
||||
MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]);
|
||||
}
|
||||
|
||||
|
||||
+18
-18
@@ -7,6 +7,8 @@
|
||||
#include "region_map.h"
|
||||
#include "strings.h"
|
||||
|
||||
#define FLOOR_ROOFTOP 127
|
||||
|
||||
static void Task_MapNamePopup(u8 taskId);
|
||||
static u16 MapNamePopupCreateWindow(bool32 palIntoFadedBuffer);
|
||||
static void MapNamePopupPrintMapNameOnWindow(u16 windowId);
|
||||
@@ -28,7 +30,7 @@ void ShowMapNamePopup(bool32 palIntoFadedBuffer)
|
||||
if (FlagGet(FLAG_DONT_SHOW_MAP_NAME_POPUP) != TRUE && !QL_IS_PLAYBACK_STATE)
|
||||
{
|
||||
taskId = FindTaskIdByFunc(Task_MapNamePopup);
|
||||
if (taskId == 0xFF)
|
||||
if (taskId == TASK_NONE)
|
||||
{
|
||||
taskId = CreateTask(Task_MapNamePopup, 90);
|
||||
ChangeBgX(0, 0x0000, 0);
|
||||
@@ -129,7 +131,7 @@ void DismissMapNamePopup(void)
|
||||
u8 taskId;
|
||||
s16 *data;
|
||||
taskId = FindTaskIdByFunc(Task_MapNamePopup);
|
||||
if (taskId != 0xFF)
|
||||
if (taskId != TASK_NONE)
|
||||
{
|
||||
data = gTasks[taskId].data;
|
||||
if (tState < 6)
|
||||
@@ -139,9 +141,11 @@ void DismissMapNamePopup(void)
|
||||
|
||||
bool32 IsMapNamePopupTaskActive(void)
|
||||
{
|
||||
return FindTaskIdByFunc(Task_MapNamePopup) != 0xFF ? TRUE : FALSE;
|
||||
return FindTaskIdByFunc(Task_MapNamePopup) != TASK_NONE ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
#define WIN_PAL_NUM 13
|
||||
|
||||
static u16 MapNamePopupCreateWindow(bool32 palintoFadedBuffer)
|
||||
{
|
||||
struct WindowTemplate windowTemplate = {
|
||||
@@ -150,36 +154,32 @@ static u16 MapNamePopupCreateWindow(bool32 palintoFadedBuffer)
|
||||
.tilemapTop = 29,
|
||||
.width = 14,
|
||||
.height = 2,
|
||||
.paletteNum = 0xD,
|
||||
.paletteNum = WIN_PAL_NUM,
|
||||
.baseBlock = 0x001
|
||||
};
|
||||
u16 windowId;
|
||||
u16 r6 = 0x01D;
|
||||
u16 tileNum = 0x01D;
|
||||
if (gMapHeader.floorNum != 0)
|
||||
{
|
||||
if (gMapHeader.floorNum != 0x7F)
|
||||
if (gMapHeader.floorNum != FLOOR_ROOFTOP)
|
||||
{
|
||||
windowTemplate.width += 5;
|
||||
r6 = 0x027;
|
||||
tileNum = 0x027;
|
||||
}
|
||||
else
|
||||
{
|
||||
// ROOFTOP
|
||||
windowTemplate.width += 8;
|
||||
r6 = 0x02D;
|
||||
tileNum = 0x02D;
|
||||
}
|
||||
}
|
||||
windowId = AddWindow(&windowTemplate);
|
||||
if (palintoFadedBuffer)
|
||||
{
|
||||
LoadPalette(GetTextWindowPalette(3), 0xd0, 0x20);
|
||||
}
|
||||
LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(WIN_PAL_NUM), PLTT_SIZE_4BPP);
|
||||
else
|
||||
{
|
||||
CpuCopy16(GetTextWindowPalette(3), &gPlttBufferUnfaded[0xd0], 0x20);
|
||||
}
|
||||
LoadStdWindowTiles(windowId, r6);
|
||||
DrawTextBorderOuter(windowId, r6, 0xD);
|
||||
CpuCopy16(GetTextWindowPalette(3), &gPlttBufferUnfaded[BG_PLTT_ID(WIN_PAL_NUM)], PLTT_SIZE_4BPP);
|
||||
LoadStdWindowTiles(windowId, tileNum);
|
||||
DrawTextBorderOuter(windowId, tileNum, WIN_PAL_NUM);
|
||||
PutWindowTilemap(windowId);
|
||||
MapNamePopupPrintMapNameOnWindow(windowId);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
@@ -195,7 +195,7 @@ static void MapNamePopupPrintMapNameOnWindow(u16 windowId)
|
||||
if (gMapHeader.floorNum != 0)
|
||||
{
|
||||
ptr = MapNamePopupAppendFloorNum(ptr, gMapHeader.floorNum);
|
||||
maxWidth = gMapHeader.floorNum != 0x7F ? 152 : 176;
|
||||
maxWidth = gMapHeader.floorNum != FLOOR_ROOFTOP ? 152 : 176;
|
||||
}
|
||||
xpos = (maxWidth - GetStringWidth(FONT_NORMAL, mapName, -1)) / 2;
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
@@ -207,7 +207,7 @@ static u8 *MapNamePopupAppendFloorNum(u8 *dest, s8 floorNum)
|
||||
if (floorNum == 0)
|
||||
return dest;
|
||||
*dest++ = CHAR_SPACE;
|
||||
if (floorNum == 0x7F)
|
||||
if (floorNum == FLOOR_ROOFTOP)
|
||||
return StringCopy(dest, gText_Rooftop2);
|
||||
if (floorNum < 0)
|
||||
{
|
||||
|
||||
@@ -386,7 +386,7 @@ void MapPreview_LoadGfx(u8 mapsec)
|
||||
if (idx != MPS_COUNT)
|
||||
{
|
||||
ResetTempTileDataBuffers();
|
||||
LoadPalette(sMapPreviewScreenData[idx].palptr, 0xD0, 0x60);
|
||||
LoadPalette(sMapPreviewScreenData[idx].palptr, BG_PLTT_ID(13), 3 * PLTT_SIZE_4BPP);
|
||||
DecompressAndCopyTileDataToVram(0, sMapPreviewScreenData[idx].tilesptr, 0, 0, 0);
|
||||
if (GetBgTilemapBuffer(0) == NULL)
|
||||
{
|
||||
|
||||
+3
-3
@@ -177,10 +177,10 @@ u8 CreateTopBarWindowLoadPalette(u8 bg, u8 width, u8 yPos, u8 palette, u16 baseT
|
||||
window.baseBlock = baseTile;
|
||||
sTopBarWindowId = AddWindow(&window);
|
||||
if (palette > 15)
|
||||
palette = 15 * 16;
|
||||
palette = BG_PLTT_ID(15);
|
||||
else
|
||||
palette *= 16;
|
||||
LoadPalette(GetTextWindowPalette(2), palette, 0x20);
|
||||
palette = BG_PLTT_ID(palette);
|
||||
LoadPalette(GetTextWindowPalette(2), palette, PLTT_SIZE_4BPP);
|
||||
return sTopBarWindowId;
|
||||
}
|
||||
|
||||
|
||||
@@ -333,7 +333,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16
|
||||
LoadCompressedSpriteSheet(&spriteSheet);
|
||||
if (arrowInfo->palTag == TAG_NONE)
|
||||
{
|
||||
LoadPalette(sRedArrowPal, (16 * arrowInfo->palNum) + 0x100, 0x20);
|
||||
LoadPalette(sRedArrowPal, OBJ_PLTT_ID(arrowInfo->palNum), sizeof(sRedArrowPal));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -539,7 +539,7 @@ u8 ListMenuAddRedOutlineCursorObject(const struct CursorStruct *cursor)
|
||||
LoadCompressedSpriteSheet(&spriteSheet);
|
||||
if (cursor->palTag == TAG_NONE)
|
||||
{
|
||||
LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20);
|
||||
LoadPalette(sRedArrowPal, OBJ_PLTT_ID(cursor->palNum), sizeof(sRedArrowPal));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -612,7 +612,7 @@ static u8 ListMenuAddRedArrowCursorObject(const struct CursorStruct *cursor)
|
||||
LoadCompressedSpriteSheet(&spriteSheet);
|
||||
if (cursor->palTag == TAG_NONE)
|
||||
{
|
||||
LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20);
|
||||
LoadPalette(sRedArrowPal, OBJ_PLTT_ID(cursor->palNum), sizeof(sRedArrowPal));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+3
-3
@@ -104,9 +104,9 @@ void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed)
|
||||
AddTextPrinterParameterized(windowId, FONT_SMALL, gStringVar4, x, y, speed, NULL);
|
||||
}
|
||||
|
||||
void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount)
|
||||
void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 paletteNum, int amount)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, tileStart, pallete);
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, tileStart, paletteNum);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_TrainerCardMoney, 0, 0, 0xFF, 0);
|
||||
PrintMoneyAmountInMoneyBox(windowId, amount, 0);
|
||||
}
|
||||
@@ -124,7 +124,7 @@ void DrawMoneyBox(int amount, u8 x, u8 y)
|
||||
sMoneyBoxWindowId = AddWindow(&template);
|
||||
FillWindowPixelBuffer(sMoneyBoxWindowId, 0);
|
||||
PutWindowTilemap(sMoneyBoxWindowId);
|
||||
LoadStdWindowGfx(sMoneyBoxWindowId, 0x21D, 0xD0);
|
||||
LoadStdWindowGfx(sMoneyBoxWindowId, 0x21D, BG_PLTT_ID(13));
|
||||
PrintMoneyAmountInMoneyBoxWithBorder(sMoneyBoxWindowId, 0x21D, 13, amount);
|
||||
}
|
||||
|
||||
|
||||
+87
-87
@@ -87,110 +87,110 @@ static const struct BgTemplate sBGTemplates[] = {
|
||||
|
||||
static const struct WindowTemplate sMainWindows[] = {
|
||||
{
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x00,
|
||||
.tilemapTop = 0x00,
|
||||
.width = 0x1e,
|
||||
.height = 0x02,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x0013
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x1c,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 15,
|
||||
.width = 28,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x004f
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x00,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x1e,
|
||||
.height = 0x05,
|
||||
.paletteNum = 0x0d,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 15,
|
||||
.width = 30,
|
||||
.height = 5,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 0x004f
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_YesNoMsg_Wide = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x1c,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 15,
|
||||
.width = 28,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x00e5
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_YesNoMsg = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x14,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 15,
|
||||
.width = 20,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x00e5
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_GiftSelect = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x01,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x13,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 15,
|
||||
.width = 19,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x00e5
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_ThreeOptions = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x08,
|
||||
.tilemapTop = 0x05,
|
||||
.width = 0x0e,
|
||||
.height = 0x05,
|
||||
.paletteNum = 0x0e,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 8,
|
||||
.tilemapTop = 5,
|
||||
.width = 14,
|
||||
.height = 5,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0155
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_YesNoBox = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x17,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x06,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0e,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 23,
|
||||
.tilemapTop = 15,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0155
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_GiftSelect_3Options = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0c,
|
||||
.width = 0x07,
|
||||
.height = 0x07,
|
||||
.paletteNum = 0x0e,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 12,
|
||||
.width = 7,
|
||||
.height = 7,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0155
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_GiftSelect_2Options = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0e,
|
||||
.width = 0x07,
|
||||
.height = 0x05,
|
||||
.paletteNum = 0x0e,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 14,
|
||||
.width = 7,
|
||||
.height = 5,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0155
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_GiftSelect_1Option = {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x07,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0e,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 15,
|
||||
.width = 7,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0155
|
||||
};
|
||||
|
||||
@@ -392,8 +392,8 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 isEReader)
|
||||
SetBgTilemapBuffer(1, Alloc(BG_SCREEN_SIZE));
|
||||
SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE));
|
||||
|
||||
LoadUserWindowGfx2(0, 10, 0xE0);
|
||||
LoadStdWindowGfxOnBg(0, 1, 0xF0);
|
||||
LoadUserWindowGfx2(0, 10, BG_PLTT_ID(14));
|
||||
LoadStdWindowGfxOnBg(0, 1, BG_PLTT_ID(15));
|
||||
DecompressAndLoadBgGfxUsingHeap(3, sTextboxBorder_Gfx, 0x100, 0, 0);
|
||||
InitWindows(sMainWindows);
|
||||
DeactivateAllTextPrinters();
|
||||
@@ -404,11 +404,11 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 isEReader)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
LoadPalette(sTextboxBorder_Pal, 0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(2), 0xd0, 0x20);
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11);
|
||||
LoadPalette(sTextboxBorder_Pal, BG_PLTT_ID(0), sizeof(sTextboxBorder_Pal));
|
||||
LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(13), PLTT_SIZE_4BPP);
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 17);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17);
|
||||
FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 17);
|
||||
MG_DrawCheckerboardPattern();
|
||||
PrintMysteryGiftOrEReaderTopMenu(isEReader, FALSE);
|
||||
gMain.state++;
|
||||
@@ -486,23 +486,23 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 isEReader, bool32 useCancel)
|
||||
|
||||
void MG_DrawTextBorder(u8 windowId)
|
||||
{
|
||||
DrawTextBorderOuter(windowId, 0x01, 0xF);
|
||||
DrawTextBorderOuter(windowId, 0x01, 15);
|
||||
}
|
||||
|
||||
void MG_DrawCheckerboardPattern(void)
|
||||
{
|
||||
s32 i = 0, j;
|
||||
|
||||
FillBgTilemapBufferRect(3, 0x003, 0, 0, 32, 2, 0x11);
|
||||
FillBgTilemapBufferRect(3, 0x003, 0, 0, 32, 2, 17);
|
||||
|
||||
for (i = 0; i < 18; i++)
|
||||
{
|
||||
for (j = 0; j < 32; j++)
|
||||
{
|
||||
if ((i & 1) != (j & 1))
|
||||
FillBgTilemapBufferRect(3, 1, j, i + 2, 1, 1, 0x11);
|
||||
FillBgTilemapBufferRect(3, 1, j, i + 2, 1, 1, 17);
|
||||
else
|
||||
FillBgTilemapBufferRect(3, 2, j, i + 2, 1, 1, 0x11);
|
||||
FillBgTilemapBufferRect(3, 2, j, i + 2, 1, 1, 17);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -512,10 +512,10 @@ void ClearScreenInBg0(bool32 ignoreTopTwoRows)
|
||||
switch (ignoreTopTwoRows)
|
||||
{
|
||||
case 0:
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 17);
|
||||
break;
|
||||
case 1:
|
||||
FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 0x11);
|
||||
FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 17);
|
||||
break;
|
||||
}
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
@@ -526,7 +526,7 @@ void AddTextPrinterToWindow1(const u8 *str)
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
FillWindowPixelBuffer(1, 0x11);
|
||||
AddTextPrinterParameterized4(1, FONT_NORMAL, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(1, 0x001, 0xF);
|
||||
DrawTextBorderOuter(1, 0x001, 15);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
}
|
||||
@@ -637,7 +637,7 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whi
|
||||
finalWidth = (((width + 9) / 8) + 2) & ~1;
|
||||
windowTemplate.width = finalWidth;
|
||||
windowTemplate.tilemapLeft = (30 - finalWidth) / 2;
|
||||
response = DoMysteryGiftListMenu(&windowTemplate, &listMenuTemplate, 1, 0x00A, 0xE0);
|
||||
response = DoMysteryGiftListMenu(&windowTemplate, &listMenuTemplate, 1, 0x00A, BG_PLTT_ID(14));
|
||||
if (response != LIST_NOTHING_CHOSEN)
|
||||
{
|
||||
ClearWindowTilemap(2);
|
||||
@@ -662,7 +662,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c
|
||||
*windowId = AddWindow(&sWindowTemplate_YesNoMsg);
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 15);
|
||||
CopyWindowToVram(*windowId, COPYWIN_GFX);
|
||||
PutWindowTilemap(*windowId);
|
||||
(*textState)++;
|
||||
@@ -719,7 +719,7 @@ static s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cann
|
||||
*windowId = AddWindow(&sWindowTemplate_GiftSelect);
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 15);
|
||||
CopyWindowToVram(*windowId, COPYWIN_GFX);
|
||||
PutWindowTilemap(*windowId);
|
||||
(*textState)++;
|
||||
@@ -729,16 +729,16 @@ static s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cann
|
||||
if (cannotSend)
|
||||
{
|
||||
if (!cannotToss)
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveToss, 1, 0x00A, 0xE0);
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveToss, 1, 0x00A, BG_PLTT_ID(14));
|
||||
else
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_1Option, &sListMenu_Receive, 1, 0x00A, 0xE0);
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_1Option, &sListMenu_Receive, 1, 0x00A, BG_PLTT_ID(14));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!cannotToss)
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_3Options, &sListMenu_ReceiveSendToss, 1, 0x00A, 0xE0);
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_3Options, &sListMenu_ReceiveSendToss, 1, 0x00A, BG_PLTT_ID(14));
|
||||
else
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveSend, 1, 0x00A, 0xE0);
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveSend, 1, 0x00A, BG_PLTT_ID(14));
|
||||
}
|
||||
if (input != LIST_NOTHING_CHOSEN)
|
||||
{
|
||||
|
||||
@@ -215,7 +215,7 @@ s32 WonderCard_Enter(void)
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return 0;
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
LoadPalette(sWonderCardData->gfx->pal, 0x10, 0x20);
|
||||
LoadPalette(sWonderCardData->gfx->pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
LZ77UnCompWram(sWonderCardData->gfx->map, sWonderCardData->bgTilemapBuffer);
|
||||
CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
|
||||
@@ -171,7 +171,7 @@ s32 WonderNews_Enter(void)
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return 0;
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
LoadPalette(sWonderNewsData->gfx->pal, 0x10, 0x20);
|
||||
LoadPalette(sWonderNewsData->gfx->pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
LZ77UnCompWram(sWonderNewsData->gfx->map, sWonderNewsData->bgTilemapBuffer);
|
||||
CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0);
|
||||
CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0);
|
||||
|
||||
+8
-8
@@ -978,10 +978,10 @@ static u16 GetButtonPalOffset(u8 button)
|
||||
{
|
||||
const u16 palOffsets[BUTTON_COUNT + 1] =
|
||||
{
|
||||
[BUTTON_PAGE] = IndexOfSpritePaletteTag(PALTAG_PAGE_SWAP) * 16 + 0x10E,
|
||||
[BUTTON_BACK] = IndexOfSpritePaletteTag(PALTAG_BACK_BUTTON) * 16 + 0x10E,
|
||||
[BUTTON_OK] = IndexOfSpritePaletteTag(PALTAG_OK_BUTTON) * 16 + 0x10E,
|
||||
[BUTTON_COUNT] = IndexOfSpritePaletteTag(PALTAG_OK_BUTTON) * 16 + 0x101,
|
||||
[BUTTON_PAGE] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_PAGE_SWAP)) + 14,
|
||||
[BUTTON_BACK] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_BACK_BUTTON)) + 14,
|
||||
[BUTTON_OK] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_OK_BUTTON)) + 14,
|
||||
[BUTTON_COUNT] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_OK_BUTTON)) + 1,
|
||||
};
|
||||
|
||||
return palOffsets[button];
|
||||
@@ -1060,7 +1060,7 @@ static void SpriteCB_Cursor(struct Sprite *sprite)
|
||||
{
|
||||
s8 gb = sprite->sColor;
|
||||
s8 r = sprite->sColor >> 1;
|
||||
u16 index = IndexOfSpritePaletteTag(PALTAG_CURSOR) * 16 + 0x0101;
|
||||
u16 index = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_CURSOR)) + 1;
|
||||
|
||||
MultiplyInvertedPaletteRGBComponents(index, r, gb, gb);
|
||||
}
|
||||
@@ -1872,9 +1872,9 @@ static void CreateHelperTasks(void)
|
||||
|
||||
static void LoadPalettes(void)
|
||||
{
|
||||
LoadPalette(gNamingScreenMenu_Pal, 0, sizeof(gNamingScreenMenu_Pal));
|
||||
LoadPalette(gNamingScreenKeyboard_Pal, 0xA0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(2), 0xB0, 0x20);
|
||||
LoadPalette(gNamingScreenMenu_Pal, BG_PLTT_ID(0), sizeof(gNamingScreenMenu_Pal));
|
||||
LoadPalette(gNamingScreenKeyboard_Pal, BG_PLTT_ID(10), PLTT_SIZE_4BPP);
|
||||
LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(11), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void DecompressToBgTilemapBuffer(u8 bg, const u32 *src)
|
||||
|
||||
+10
-10
@@ -457,9 +457,9 @@ void LoadStdWindowFrameGfx(void)
|
||||
else
|
||||
{
|
||||
Menu_LoadStdPal();
|
||||
LoadMenuMessageWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10);
|
||||
LoadMenuMessageWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM));
|
||||
}
|
||||
LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10);
|
||||
LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM));
|
||||
}
|
||||
|
||||
void DrawDialogueFrame(u8 windowId, bool8 copyToVram)
|
||||
@@ -591,7 +591,7 @@ static void WindowFunc_ClearDialogWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilem
|
||||
|
||||
void EraseFieldMessageBox(bool8 copyToVram)
|
||||
{
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 0x20, 0x20, 0x11);
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 0x20, 0x20, 17);
|
||||
if (copyToVram == TRUE)
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
@@ -610,19 +610,19 @@ void LoadMessageBoxAndFrameGfx(u8 windowId, bool8 copyToVram)
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadMenuMessageWindowGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10);
|
||||
LoadMenuMessageWindowGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM));
|
||||
}
|
||||
DrawDialogFrameWithCustomTileAndPalette(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void Menu_LoadStdPal(void)
|
||||
{
|
||||
LoadPalette(gStandardMenuPalette, STD_WINDOW_PALETTE_NUM * 0x10, 0x14);
|
||||
LoadPalette(gStandardMenuPalette, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM), PLTT_SIZEOF(10));
|
||||
}
|
||||
|
||||
void Menu_LoadStdPalAt(u16 offset)
|
||||
{
|
||||
LoadPalette(gStandardMenuPalette, offset, 0x14);
|
||||
LoadPalette(gStandardMenuPalette, offset, PLTT_SIZEOF(10));
|
||||
}
|
||||
|
||||
// Unused
|
||||
@@ -633,7 +633,7 @@ static const u16 *GetStdMenuPalette(void)
|
||||
|
||||
static u16 GetStdPalColor(u8 colorNum)
|
||||
{
|
||||
if (colorNum > 0xF)
|
||||
if (colorNum > 15)
|
||||
colorNum = 0;
|
||||
return gStandardMenuPalette[colorNum];
|
||||
}
|
||||
@@ -700,7 +700,7 @@ u16 GetStdWindowBaseTileNum(void)
|
||||
|
||||
void DrawHelpMessageWindowWithText(const u8 * text)
|
||||
{
|
||||
LoadHelpMessageWindowGfx(CreateHelpMessageWindow(), DLG_WINDOW_BASE_TILE_NUM, 0x10 * DLG_WINDOW_PALETTE_NUM);
|
||||
LoadHelpMessageWindowGfx(CreateHelpMessageWindow(), DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM));
|
||||
PrintTextOnHelpMessageWindow(text, 2);
|
||||
}
|
||||
|
||||
@@ -712,8 +712,8 @@ void DestroyHelpMessageWindow_(void)
|
||||
void LoadSignpostWindowFrameGfx(void)
|
||||
{
|
||||
Menu_LoadStdPal();
|
||||
LoadSignpostWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, 0x10 * DLG_WINDOW_PALETTE_NUM);
|
||||
LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, 0x10 * STD_WINDOW_PALETTE_NUM);
|
||||
LoadSignpostWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM));
|
||||
LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM));
|
||||
}
|
||||
|
||||
void SetDefaultFontsPointer(void)
|
||||
|
||||
+18
-12
@@ -753,9 +753,9 @@ static void Task_NewGameScene(u8 taskId)
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
InitStandardTextBoxWindows();
|
||||
InitTextBoxGfxAndPrinters();
|
||||
Menu_LoadStdPalAt(0xD0);
|
||||
LoadPalette(sOakSpeech_Background_Pals, 0, 0x80);
|
||||
LoadPalette(GetTextWindowPalette(2) + 15, 0, 2);
|
||||
Menu_LoadStdPalAt(BG_PLTT_ID(13));
|
||||
LoadPalette(sOakSpeech_Background_Pals, BG_PLTT_ID(0), sizeof(sOakSpeech_Background_Pals));
|
||||
LoadPalette(GetTextWindowPalette(2) + 15, BG_PLTT_ID(0), PLTT_SIZEOF(1));
|
||||
break;
|
||||
case 5:
|
||||
sOakSpeechResources->textSpeed = GetTextSpeedSetting();
|
||||
@@ -921,7 +921,7 @@ static void Task_ControlsGuide_Clear(u8 taskId)
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
DestroyTextCursorSprite(gTasks[taskId].tTextCursorSpriteId);
|
||||
sOakSpeechResources->windowIds[0] = RGB_BLACK;
|
||||
LoadPalette(sOakSpeechResources->windowIds, 0, 2);
|
||||
LoadPalette(sOakSpeechResources->windowIds, BG_PLTT_ID(0), PLTT_SIZEOF(1));
|
||||
gTasks[taskId].tTimer = 32;
|
||||
gTasks[taskId].func = Task_PikachuIntro_LoadPage1;
|
||||
}
|
||||
@@ -1739,7 +1739,7 @@ static void Task_OakSpeech_FadePlayerPicWhite(u8 taskId)
|
||||
{
|
||||
if (tUnderflowingTimer <= 0 && tSecondaryTimer != 0)
|
||||
tSecondaryTimer--;
|
||||
BlendPalette(0x40, 0x20, tBlendCoefficient, RGB_WHITE);
|
||||
BlendPalette(BG_PLTT_ID(4), 0x20, tBlendCoefficient, RGB_WHITE);
|
||||
tBlendCoefficient++;
|
||||
tUnderflowingTimer--;
|
||||
tPlayerPicFadeWhiteTimer = tSecondaryTimer;
|
||||
@@ -1747,8 +1747,8 @@ static void Task_OakSpeech_FadePlayerPicWhite(u8 taskId)
|
||||
{
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
gPlttBufferFaded[i + 0x40] = RGB_WHITE;
|
||||
gPlttBufferUnfaded[i + 0x40] = RGB_WHITE;
|
||||
gPlttBufferFaded[i + BG_PLTT_ID(4)] = RGB_WHITE;
|
||||
gPlttBufferUnfaded[i + BG_PLTT_ID(4)] = RGB_WHITE;
|
||||
}
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -1825,7 +1825,13 @@ static void CB2_ReturnFromNamingScreen(void)
|
||||
FreeAllWindowBuffers();
|
||||
InitStandardTextBoxWindows();
|
||||
InitTextBoxGfxAndPrinters();
|
||||
LoadPalette(sOakSpeech_Background_Pals, 0, 0xE0);
|
||||
// Below is reading 48 colors beyond the background palette (into the tiles that follow it).
|
||||
// This color range is used by the player and rival pic, which will overwrite them with the correct colors.
|
||||
#ifdef BUGFIX
|
||||
LoadPalette(sOakSpeech_Background_Pals, BG_PLTT_ID(0), sizeof(sOakSpeech_Background_Pals));
|
||||
#else
|
||||
LoadPalette(sOakSpeech_Background_Pals, BG_PLTT_ID(0), sizeof(sOakSpeech_Background_Pals) + PLTT_SIZEOF(48));
|
||||
#endif
|
||||
break;
|
||||
case 4:
|
||||
DecompressAndCopyTileDataToVram(1, sOakSpeech_Background_Tiles, 0, 0, 0);
|
||||
@@ -1964,19 +1970,19 @@ static void LoadTrainerPic(u16 whichPic, u16 tileOffset)
|
||||
switch (whichPic)
|
||||
{
|
||||
case MALE_PLAYER_PIC:
|
||||
LoadPalette(sOakSpeech_Red_Pal, 0x40, 0x40);
|
||||
LoadPalette(sOakSpeech_Red_Pal, BG_PLTT_ID(4), sizeof(sOakSpeech_Red_Pal));
|
||||
LZ77UnCompVram(sOakSpeech_Red_Tiles, (void *)VRAM + 0x600 + tileOffset);
|
||||
break;
|
||||
case FEMALE_PLAYER_PIC:
|
||||
LoadPalette(sOakSpeech_Leaf_Pal, 0x40, 0x40);
|
||||
LoadPalette(sOakSpeech_Leaf_Pal, BG_PLTT_ID(4), sizeof(sOakSpeech_Leaf_Pal));
|
||||
LZ77UnCompVram(sOakSpeech_Leaf_Tiles, (void *)VRAM + 0x600 + tileOffset);
|
||||
break;
|
||||
case RIVAL_PIC:
|
||||
LoadPalette(sOakSpeech_Rival_Pal, 0x60, 0x40);
|
||||
LoadPalette(sOakSpeech_Rival_Pal, BG_PLTT_ID(6), sizeof(sOakSpeech_Rival_Pal));
|
||||
LZ77UnCompVram(sOakSpeech_Rival_Tiles, (void *)VRAM + 0x600 + tileOffset);
|
||||
break;
|
||||
case OAK_PIC:
|
||||
LoadPalette(sOakSpeech_Oak_Pal, 0x60, 0x40);
|
||||
LoadPalette(sOakSpeech_Oak_Pal, BG_PLTT_ID(6), sizeof(sOakSpeech_Oak_Pal));
|
||||
LZ77UnCompVram(sOakSpeech_Oak_Tiles, (void *)VRAM + 0x600 + tileOffset);
|
||||
break;
|
||||
default:
|
||||
|
||||
+6
-6
@@ -93,7 +93,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] =
|
||||
.tilemapTop = 0,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x16e
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
@@ -340,14 +340,14 @@ static bool8 LoadOptionMenuPalette(void)
|
||||
LoadBgTiles(1, GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->tiles, 0x120, 0x1AA);
|
||||
break;
|
||||
case 1:
|
||||
LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, 0x20, 0x20);
|
||||
LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 2:
|
||||
LoadPalette(sOptionMenuPalette, 0x10, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(2), 0xF0, 0x20);
|
||||
LoadPalette(sOptionMenuPalette, BG_PLTT_ID(1), sizeof(sOptionMenuPalette));
|
||||
LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 3:
|
||||
LoadStdWindowGfxOnBg(1, 0x1B3, 0x30);
|
||||
LoadStdWindowGfxOnBg(1, 0x1B3, BG_PLTT_ID(3));
|
||||
break;
|
||||
default:
|
||||
return TRUE;
|
||||
@@ -382,7 +382,7 @@ static void Task_OptionMenu(u8 taskId)
|
||||
break;
|
||||
case 2:
|
||||
LoadBgTiles(1, GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->tiles, 0x120, 0x1AA);
|
||||
LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, 0x20, 0x20);
|
||||
LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
BufferOptionMenuString(sOptionMenuPtr->cursorPos);
|
||||
break;
|
||||
case 3:
|
||||
|
||||
+7
-7
@@ -59,7 +59,7 @@ ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0};
|
||||
static EWRAM_DATA struct PaletteStruct sPaletteStructs[NUM_PALETTE_STRUCTS] = {0};
|
||||
EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
|
||||
static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0};
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_SIZE] = {0};
|
||||
|
||||
static const struct PaletteStructTemplate sDummyPaletteStructTemplate =
|
||||
{
|
||||
@@ -141,7 +141,7 @@ void ReadPlttIntoBuffers(void)
|
||||
u16 i;
|
||||
u16 *pltt = (u16 *)PLTT;
|
||||
|
||||
for (i = 0; i < PLTT_SIZE / 2; ++i)
|
||||
for (i = 0; i < PLTT_BUFFER_SIZE; ++i)
|
||||
{
|
||||
gPlttBufferUnfaded[i] = pltt[i];
|
||||
gPlttBufferFaded[i] = pltt[i];
|
||||
@@ -420,7 +420,7 @@ static u8 UpdateNormalPaletteFade(void)
|
||||
else
|
||||
{
|
||||
selectedPalettes = gPaletteFade_selectedPalettes >> 16;
|
||||
paletteOffset = 256;
|
||||
paletteOffset = OBJ_PLTT_OFFSET;
|
||||
}
|
||||
while (selectedPalettes)
|
||||
{
|
||||
@@ -559,13 +559,13 @@ static u8 UpdateFastPaletteFade(void)
|
||||
return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE;
|
||||
if (gPaletteFade.objPaletteToggle)
|
||||
{
|
||||
paletteOffsetStart = 256;
|
||||
paletteOffsetEnd = 512;
|
||||
paletteOffsetStart = OBJ_PLTT_OFFSET;
|
||||
paletteOffsetEnd = PLTT_BUFFER_SIZE;
|
||||
}
|
||||
else
|
||||
{
|
||||
paletteOffsetStart = 0;
|
||||
paletteOffsetEnd = 256;
|
||||
paletteOffsetEnd = OBJ_PLTT_OFFSET;
|
||||
}
|
||||
switch (gPaletteFade_submode)
|
||||
{
|
||||
@@ -791,7 +791,7 @@ void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color)
|
||||
void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color)
|
||||
{
|
||||
// This copy is done via DMA in both RUBY and EMERALD
|
||||
CpuFastCopy(gPlttBufferUnfaded, gPlttBufferFaded, 0x400);
|
||||
CpuFastCopy(gPlttBufferUnfaded, gPlttBufferFaded, PLTT_SIZE);
|
||||
BlendPalettes(selectedPalettes, coeff, color);
|
||||
}
|
||||
|
||||
|
||||
+31
-31
@@ -670,8 +670,8 @@ static bool8 AllocPartyMenuBgGfx(void)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
LoadCompressedPalette(gPartyMenuBg_Pal, 0, 0x160);
|
||||
CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 0x160);
|
||||
LoadCompressedPalette(gPartyMenuBg_Pal, BG_PLTT_ID(0), 11 * PLTT_SIZE_4BPP);
|
||||
CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 11 * PLTT_SIZE_4BPP);
|
||||
++sPartyMenuInternal->data[0];
|
||||
break;
|
||||
case 3:
|
||||
@@ -702,9 +702,9 @@ static bool8 AllocPartyMenuBgGfx(void)
|
||||
|
||||
static void PartyPaletteBufferCopy(u8 offset)
|
||||
{
|
||||
offset *= 16;
|
||||
CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferUnfaded[offset], 32);
|
||||
CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferFaded[offset], 32);
|
||||
offset = PLTT_ID(offset);
|
||||
CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(3)], &gPlttBufferUnfaded[offset], PLTT_SIZE_4BPP);
|
||||
CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(3)], &gPlttBufferFaded[offset], PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void FreePartyPointers(void)
|
||||
@@ -2006,8 +2006,8 @@ static void Task_FirstBattleEnterParty_WaitFadeNormal(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
LoadUserWindowGfx(0, 0x4F, 0xD0);
|
||||
LoadStdWindowGfx(0, 0x58, 0xF0);
|
||||
LoadUserWindowGfx(0, 0x4F, BG_PLTT_ID(13));
|
||||
LoadStdWindowGfx(0, 0x58, BG_PLTT_ID(15));
|
||||
if (gPartyMenu.action == PARTY_ACTION_USE_ITEM)
|
||||
DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON);
|
||||
else
|
||||
@@ -2117,10 +2117,10 @@ static void InitPartyMenuWindows(u8 layout)
|
||||
DeactivateAllTextPrinters();
|
||||
for (i = 0; i < PARTY_SIZE; ++i)
|
||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||
LoadUserWindowGfx(0, 0x4F, 0xD0);
|
||||
LoadStdWindowGfx(0, 0x58, 0xF0);
|
||||
LoadPalette(GetTextWindowPalette(2), 0xC0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(0), 0xE0, 0x20);
|
||||
LoadUserWindowGfx(0, 0x4F, BG_PLTT_ID(13));
|
||||
LoadStdWindowGfx(0, 0x58, BG_PLTT_ID(15));
|
||||
LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(12), PLTT_SIZE_4BPP);
|
||||
LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(14), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void CreateCancelConfirmWindows(bool8 chooseMultiple)
|
||||
@@ -2215,16 +2215,16 @@ static void DrawEmptySlot(u8 windowId)
|
||||
BlitBitmapToPartyWindow(windowId, sSlotTilemap_WideEmpty, 18, 0, 0, 18, 3);
|
||||
}
|
||||
|
||||
#define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \
|
||||
{ \
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palNum, 2); \
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palNum, 2); \
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palNum, 2); \
|
||||
#define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \
|
||||
{ \
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palOffset, PLTT_SIZEOF(1)); \
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palOffset, PLTT_SIZEOF(1)); \
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palOffset, PLTT_SIZEOF(1)); \
|
||||
}
|
||||
|
||||
static void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags)
|
||||
{
|
||||
u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
|
||||
u8 palOffset = BG_PLTT_ID(GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM));
|
||||
|
||||
if (palFlags & PARTY_PAL_TO_SOFTBOIL)
|
||||
{
|
||||
@@ -2349,7 +2349,7 @@ static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct Pa
|
||||
|
||||
static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
|
||||
u8 palOffset = BG_PLTT_ID(GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM));
|
||||
|
||||
if (species == SPECIES_NONE)
|
||||
return;
|
||||
@@ -2358,13 +2358,13 @@ static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, stru
|
||||
switch (gender)
|
||||
{
|
||||
case MON_MALE:
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palOffset, PLTT_SIZEOF(1));
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palOffset, PLTT_SIZEOF(1));
|
||||
DisplayPartyPokemonBarDetail(menuBox->windowId, gText_MaleSymbol, 2, &menuBox->infoRects->dimensions[8]);
|
||||
break;
|
||||
case MON_FEMALE:
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palOffset, PLTT_SIZEOF(1));
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palOffset, PLTT_SIZEOF(1));
|
||||
DisplayPartyPokemonBarDetail(menuBox->windowId, gText_FemaleSymbol, 2, &menuBox->infoRects->dimensions[8]);
|
||||
break;
|
||||
}
|
||||
@@ -2417,23 +2417,23 @@ static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuB
|
||||
|
||||
static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
|
||||
u8 palOffset = BG_PLTT_ID(GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM));
|
||||
u8 hpFraction;
|
||||
|
||||
switch (GetHPBarLevel(hp, maxhp))
|
||||
{
|
||||
case HP_BAR_GREEN:
|
||||
case HP_BAR_FULL:
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palOffset, PLTT_SIZEOF(1));
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palOffset, PLTT_SIZEOF(1));
|
||||
break;
|
||||
case HP_BAR_YELLOW:
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palOffset, PLTT_SIZEOF(1));
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palOffset, PLTT_SIZEOF(1));
|
||||
break;
|
||||
default:
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palNum, 2);
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palOffset, PLTT_SIZEOF(1));
|
||||
LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palOffset, PLTT_SIZEOF(1));
|
||||
break;
|
||||
}
|
||||
hpFraction = GetScaledHPFraction(hp, maxhp, menuBox->infoRects->dimensions[22]);
|
||||
@@ -2503,7 +2503,7 @@ void DisplayPartyMenuStdMessage(u32 stringId)
|
||||
else if (!ShouldUseChooseMonText())
|
||||
stringId = PARTY_MSG_CHOOSE_MON_OR_CANCEL;
|
||||
}
|
||||
DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x58, 0xF);
|
||||
DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x58, 15);
|
||||
StringExpandPlaceholders(gStringVar4, sActionStringTable[stringId]);
|
||||
AddTextPrinterParameterized(*windowPtr, FONT_NORMAL, gStringVar4, 0, 2, 0, 0);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
@@ -2603,7 +2603,7 @@ static bool8 FirstBattleEnterParty_CreateWindowAndMsg1Printer(void)
|
||||
{
|
||||
u8 windowId = AddWindow(&sWindowTemplate_FirstBattleOakVoiceover);
|
||||
|
||||
LoadMenuMessageWindowGfx(windowId, 0x4F, 0xE0);
|
||||
LoadMenuMessageWindowGfx(windowId, 0x4F, BG_PLTT_ID(14));
|
||||
DrawDialogFrameWithCustomTileAndPalette(windowId, 1, 0x4F, 0xE);
|
||||
PartyMenu_Oak_PrintText(windowId, gText_OakImportantToGetToKnowPokemonThroughly);
|
||||
return windowId;
|
||||
|
||||
@@ -83,7 +83,7 @@ static void Task_PCScreenEffect_TurnOn(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, task->tBldCntBak);
|
||||
BlendPalettes(PALETTES_ALL, 0, RGB_BLACK);
|
||||
gPlttBufferFaded[0] = 0;
|
||||
gPlttBufferFaded[BG_PLTT_ID(0)] = 0;
|
||||
}
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->tWin0Left, task->tWin0Right));
|
||||
if (task->tWin0Left)
|
||||
@@ -117,7 +117,7 @@ static void Task_PCScreenEffect_TurnOff(u8 taskId)
|
||||
switch (task->tState)
|
||||
{
|
||||
case 0:
|
||||
gPlttBufferFaded[0] = 0;
|
||||
gPlttBufferFaded[BG_PLTT_ID(0)] = 0;
|
||||
break;
|
||||
case 1:
|
||||
task->tWin0Left = 0;
|
||||
@@ -152,7 +152,7 @@ static void Task_PCScreenEffect_TurnOff(u8 taskId)
|
||||
task->tWin0Left = 120;
|
||||
task->tWin0Right = 120;
|
||||
BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK);
|
||||
gPlttBufferFaded[0] = 0;
|
||||
gPlttBufferFaded[BG_PLTT_ID(0)] = 0;
|
||||
}
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->tWin0Left, task->tWin0Right));
|
||||
if (task->tWin0Left != 120)
|
||||
|
||||
@@ -201,7 +201,7 @@ u8 CreatePokedexAreaMarkers(u16 species, u16 tilesTag, u8 palIdx, u8 y)
|
||||
spriteSheet.size = 0x4A0;
|
||||
spriteSheet.tag = tilesTag;
|
||||
LoadCompressedSpriteSheet(&spriteSheet);
|
||||
LoadPalette(sMarkerPal, 0x100 + 16 * palIdx, 0x20);
|
||||
LoadPalette(sMarkerPal, OBJ_PLTT_ID(palIdx), sizeof(sMarkerPal));
|
||||
|
||||
// Get marker subsprites
|
||||
taskId = CreateTask(Task_ShowAreaMarkers, 0);
|
||||
|
||||
+32
-32
@@ -922,15 +922,15 @@ void DexScreen_LoadResources(void)
|
||||
ChangeBgY(3, 0, 0);
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
if (natDex)
|
||||
LoadPalette(sNationalDexPalette, 0, 0x200);
|
||||
LoadPalette(sNationalDexPalette, BG_PLTT_ID(0), sizeof(sNationalDexPalette));
|
||||
else
|
||||
LoadPalette(sKantoDexPalette, 0, 0x200);
|
||||
FillBgTilemapBufferRect(3, 0x001, 0, 0, 32, 32, 0x00);
|
||||
FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(0, 0x003, 0, 0, 32, 2, 0x0F);
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 2, 32, 16, 0x11);
|
||||
FillBgTilemapBufferRect(0, 0x003, 0, 18, 32, 2, 0x0F);
|
||||
LoadPalette(sKantoDexPalette, BG_PLTT_ID(0), sizeof(sKantoDexPalette));
|
||||
FillBgTilemapBufferRect(3, 0x001, 0, 0, 32, 32, 0);
|
||||
FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 17);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17);
|
||||
FillBgTilemapBufferRect(0, 0x003, 0, 0, 32, 2, 15);
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 2, 32, 16, 17);
|
||||
FillBgTilemapBufferRect(0, 0x003, 0, 18, 32, 2, 15);
|
||||
}
|
||||
|
||||
void CB2_OpenPokedexFromStartMenu(void)
|
||||
@@ -1124,9 +1124,9 @@ static void Task_PokedexScreen(u8 taskId)
|
||||
static void DexScreen_InitGfxForTopMenu(void)
|
||||
{
|
||||
struct ListMenuTemplate listMenuTemplate;
|
||||
FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00);
|
||||
FillBgTilemapBufferRect(2, 0x000, 0, 0, 30, 20, 0x11);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 30, 20, 0x11);
|
||||
FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0);
|
||||
FillBgTilemapBufferRect(2, 0x000, 0, 0, 30, 20, 17);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 30, 20, 17);
|
||||
sPokedexScreenData->modeSelectWindowId = AddWindow(&sWindowTemplate_ModeSelect);
|
||||
sPokedexScreenData->selectionIconWindowId = AddWindow(&sWindowTemplate_SelectionIcon);
|
||||
sPokedexScreenData->dexCountsWindowId = AddWindow(&sWindowTemplate_DexCounts);
|
||||
@@ -1177,12 +1177,12 @@ static void MoveCursorFunc_DexModeSelect(s32 itemIndex, bool8 onInit, struct Lis
|
||||
if (itemIndex == LIST_CANCEL)
|
||||
{
|
||||
CopyToWindowPixelBuffer(sPokedexScreenData->selectionIconWindowId, sTopMenuSelectionIconTiles_Cancel, 0x000, 0x000);
|
||||
LoadPalette(sTopMenuSelectionIconPals_Cancel, 0x10, 0x20);
|
||||
LoadPalette(sTopMenuSelectionIconPals_Cancel, BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
CopyToWindowPixelBuffer(sPokedexScreenData->selectionIconWindowId, sTopMenuSelectionIconGfxPtrs[itemIndex].tiles, 0x000, 0x000);
|
||||
LoadPalette(sTopMenuSelectionIconGfxPtrs[itemIndex].pal, 0x10, 0x20);
|
||||
LoadPalette(sTopMenuSelectionIconGfxPtrs[itemIndex].pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
}
|
||||
PutWindowTilemap(sPokedexScreenData->selectionIconWindowId);
|
||||
CopyWindowToVram(sPokedexScreenData->selectionIconWindowId, COPYWIN_GFX);
|
||||
@@ -1201,8 +1201,8 @@ static void Task_DexScreen_NumericalOrder(u8 taskId)
|
||||
switch (sPokedexScreenData->state)
|
||||
{
|
||||
case 0:
|
||||
ListMenuLoadStdPalAt(0x10, 0);
|
||||
ListMenuLoadStdPalAt(0x20, 1);
|
||||
ListMenuLoadStdPalAt(BG_PLTT_ID(1), 0);
|
||||
ListMenuLoadStdPalAt(BG_PLTT_ID(2), 1);
|
||||
sPokedexScreenData->orderedDexCount = DexScreen_CountMonsInOrderedList(sPokedexScreenData->dexOrderId);
|
||||
sPokedexScreenData->state = 2;
|
||||
break;
|
||||
@@ -1266,8 +1266,8 @@ static void Task_DexScreen_NumericalOrder(u8 taskId)
|
||||
static void DexScreen_InitGfxForNumericalOrderList(void)
|
||||
{
|
||||
struct ListMenuTemplate template;
|
||||
FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17);
|
||||
sPokedexScreenData->numericalOrderWindowId = AddWindow(&sWindowTemplate_OrderedListMenu);
|
||||
template = sListMenuTemplate_OrderedListMenu;
|
||||
template.items = sPokedexScreenData->listItems;
|
||||
@@ -1287,8 +1287,8 @@ static void Task_DexScreen_CharacteristicOrder(u8 taskId)
|
||||
switch (sPokedexScreenData->state)
|
||||
{
|
||||
case 0:
|
||||
ListMenuLoadStdPalAt(0x10, 0);
|
||||
ListMenuLoadStdPalAt(0x20, 1);
|
||||
ListMenuLoadStdPalAt(BG_PLTT_ID(1), 0);
|
||||
ListMenuLoadStdPalAt(BG_PLTT_ID(2), 1);
|
||||
sPokedexScreenData->orderedDexCount = DexScreen_CountMonsInOrderedList(sPokedexScreenData->dexOrderId);
|
||||
sPokedexScreenData->state = 2;
|
||||
break;
|
||||
@@ -1352,8 +1352,8 @@ static void Task_DexScreen_CharacteristicOrder(u8 taskId)
|
||||
static void DexScreen_CreateCharacteristicListMenu(void)
|
||||
{
|
||||
struct ListMenuTemplate template;
|
||||
FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17);
|
||||
sPokedexScreenData->numericalOrderWindowId = AddWindow(&sWindowTemplate_OrderedListMenu);
|
||||
template = sListMenuTemplate_OrderedListMenu;
|
||||
template.items = sPokedexScreenData->listItems;
|
||||
@@ -2405,10 +2405,10 @@ static void DexScreen_CreateCategoryPageSelectionCursor(u8 cursorPos)
|
||||
{
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x52 + 0x10 * i, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[1], 0x58 + 0x10 * i, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[0], PLTT_ID(i) + PLTT_ID(5) + 2 + BG_PLTT_OFFSET, PLTT_SIZEOF(1));
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[1], PLTT_ID(i) + PLTT_ID(5) + 8 + BG_PLTT_OFFSET, PLTT_SIZEOF(1));
|
||||
}
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x141, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x141, PLTT_SIZEOF(1));
|
||||
sPokedexScreenData->categoryPageSelectionCursorTimer = 0;
|
||||
}
|
||||
else
|
||||
@@ -2421,16 +2421,16 @@ static void DexScreen_CreateCategoryPageSelectionCursor(u8 cursorPos)
|
||||
{
|
||||
if (i == cursorPos)
|
||||
{
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], 0x52 + 0x10 * i, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 3], 0x58 + 0x10 * i, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], PLTT_ID(i) + PLTT_ID(5) + 2 + BG_PLTT_OFFSET, PLTT_SIZEOF(1));
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 3], PLTT_ID(i) + PLTT_ID(5) + 8 + BG_PLTT_OFFSET, PLTT_SIZEOF(1));
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x52 + 0x10 * i, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[1], 0x58 + 0x10 * i, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[0], PLTT_ID(i) + PLTT_ID(5) + 2 + BG_PLTT_OFFSET, PLTT_SIZEOF(1));
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[1], PLTT_ID(i) + PLTT_ID(5) + 8 + BG_PLTT_OFFSET, PLTT_SIZEOF(1));
|
||||
}
|
||||
}
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], 0x141, 2);
|
||||
LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], OBJ_PLTT_ID(4) + 1, PLTT_SIZEOF(1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3054,7 +3054,7 @@ u8 DexScreen_DrawMonAreaPage(void)
|
||||
|
||||
// Draw the mon icon
|
||||
FillWindowPixelBuffer(sPokedexScreenData->windowIds[11], PIXEL_FILL(0));
|
||||
ListMenu_LoadMonIconPalette(160, species);
|
||||
ListMenu_LoadMonIconPalette(BG_PLTT_ID(10), species);
|
||||
ListMenu_DrawMonIconGraphics(sPokedexScreenData->windowIds[11], species, DexScreen_GetDefaultPersonality(species), 0, 0);
|
||||
PutWindowTilemap(sPokedexScreenData->windowIds[11]);
|
||||
CopyWindowToVram(sPokedexScreenData->windowIds[11], COPYWIN_GFX);
|
||||
@@ -3087,7 +3087,7 @@ u8 DexScreen_DrawMonAreaPage(void)
|
||||
|
||||
// Type icons
|
||||
FillWindowPixelBuffer(sPokedexScreenData->windowIds[12], PIXEL_FILL(0));
|
||||
ListMenuLoadStdPalAt(176, 1);
|
||||
ListMenuLoadStdPalAt(BG_PLTT_ID(11), 1);
|
||||
|
||||
if (monIsCaught)
|
||||
{
|
||||
@@ -3100,7 +3100,7 @@ u8 DexScreen_DrawMonAreaPage(void)
|
||||
|
||||
// Show size comparison
|
||||
ResetAllPicSprites();
|
||||
LoadPalette(sPalette_Silhouette, 288, 32);
|
||||
LoadPalette(sPalette_Silhouette, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
|
||||
if (monIsCaught)
|
||||
{
|
||||
|
||||
+6
-6
@@ -1126,7 +1126,7 @@ void DestroyMonIcon(struct Sprite *sprite)
|
||||
void LoadMonIconPalettes(void)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 0; i < NELEMS(gMonIconPaletteTable); i++)
|
||||
for (i = 0; i < ARRAY_COUNT(gMonIconPaletteTable); i++)
|
||||
LoadSpritePalette(&gMonIconPaletteTable[i]);
|
||||
}
|
||||
|
||||
@@ -1151,7 +1151,7 @@ void LoadMonIconPalette(u16 species)
|
||||
void FreeMonIconPalettes(void)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(gMonIconPaletteTable); i++)
|
||||
FreeSpritePaletteByTag(gMonIconPaletteTable[i].tag);
|
||||
}
|
||||
|
||||
@@ -1179,12 +1179,12 @@ void SpriteCB_MonIcon(struct Sprite *sprite)
|
||||
void LoadMonIconPalettesAt(u16 offset)
|
||||
{
|
||||
int i;
|
||||
if (offset <= 0x100 - 0x60)
|
||||
if (offset <= BG_PLTT_ID(16 - ARRAY_COUNT(gMonIconPaletteTable)))
|
||||
{
|
||||
for (i = 0; i < (int)NELEMS(gMonIconPaletteTable); i++)
|
||||
for (i = 0; i < (int)ARRAY_COUNT(gMonIconPaletteTable); i++)
|
||||
{
|
||||
LoadPalette(gMonIconPaletteTable[i].data, offset, 0x20);
|
||||
offset += 0x10;
|
||||
LoadPalette(gMonIconPaletteTable[i].data, offset, PLTT_SIZE_4BPP);
|
||||
offset += 16;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -3039,22 +3039,22 @@ static void LoadPokeJumpGfx(void)
|
||||
ResetTempTileDataBuffers();
|
||||
LoadSpriteSheetsAndPalettes(sPokemonJumpGfx);
|
||||
InitDigitPrinters();
|
||||
LoadPalette(sBg_Pal, 0, 0x20);
|
||||
LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal));
|
||||
DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Gfx, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Tilemap, 0, 0, 1);
|
||||
LoadPalette(sVenusaur_Pal, 0x30, 0x20);
|
||||
LoadPalette(sVenusaur_Pal, BG_PLTT_ID(3), sizeof(sVenusaur_Pal));
|
||||
DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Gfx, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Tilemap, 0, 0, 1);
|
||||
LoadPalette(sBonuses_Pal, 0x10, 0x20);
|
||||
LoadPalette(sBonuses_Pal, BG_PLTT_ID(1), sizeof(sBonuses_Pal));
|
||||
DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Gfx, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Tilemap, 0, 0, 1);
|
||||
LoadPalette(sInterface_Pal, 0x20, 0x20);
|
||||
LoadPalette(sInterface_Pal, BG_PLTT_ID(2), sizeof(sInterface_Pal));
|
||||
SetBgTilemapBuffer(BG_INTERFACE, sPokemonJumpGfx->tilemapBuffer);
|
||||
FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 0x20, 0x20);
|
||||
PrintScoreSuffixes();
|
||||
PrintScore(0);
|
||||
LoadStdWindowGfxOnBg(0, 1, 0xE0);
|
||||
LoadUserWindowGfx2(0, 0x00A, 0xD0);
|
||||
LoadStdWindowGfxOnBg(0, 1, BG_PLTT_ID(14));
|
||||
LoadUserWindowGfx2(0, 0x00A, BG_PLTT_ID(13));
|
||||
CopyBgTilemapBufferToVram(BG_INTERFACE);
|
||||
CopyBgTilemapBufferToVram(BG_VENUSAUR);
|
||||
CopyBgTilemapBufferToVram(BG_BONUSES);
|
||||
@@ -3472,7 +3472,7 @@ static u32 AddMessageWindow(u32 left, u32 top, u32 width, u32 height)
|
||||
window.tilemapTop = top;
|
||||
window.width = width;
|
||||
window.height = height;
|
||||
window.paletteNum = 0xF;
|
||||
window.paletteNum = 15;
|
||||
window.baseBlock = 0x43;
|
||||
|
||||
windowId = AddWindow(&window);
|
||||
@@ -3493,7 +3493,7 @@ static void CreatePokeJumpYesNoMenu(u16 left, u16 top, u8 cursorPos)
|
||||
window.paletteNum = 2;
|
||||
window.baseBlock = 0x2B;
|
||||
|
||||
CreateYesNoMenu(&window, FONT_NORMAL, 0, 2, 0x00a, 0xD, a);
|
||||
CreateYesNoMenu(&window, FONT_NORMAL, 0, 2, 0x00a, 13, a);
|
||||
}
|
||||
|
||||
// "Points" for jump score and "times" for number of jumps in a row
|
||||
@@ -4554,8 +4554,8 @@ static void PrintRecordsText(u16 windowId)
|
||||
recordNums[1] = records->bestJumpScore;
|
||||
recordNums[2] = records->excellentsInRow;
|
||||
|
||||
LoadStdWindowGfx(windowId, 0x21D, 0xD0);
|
||||
DrawTextBorderOuter(windowId, 0x21D, 0xD);
|
||||
LoadStdWindowGfx(windowId, 0x21D, BG_PLTT_ID(13));
|
||||
DrawTextBorderOuter(windowId, 0x21D, 13);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized5(windowId, FONT_NORMAL, gText_PkmnJumpRecords, 0, 0, TEXT_SKIP_DRAW, NULL, 1, 0);
|
||||
for (i = 0; i < ARRAY_COUNT(sRecordsTexts); i++)
|
||||
|
||||
@@ -341,7 +341,7 @@ void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 an
|
||||
FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 32, 32);
|
||||
LoadBgGfxByAnimType(animType);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
LoadUserWindowGfx(0, 0x000, 0xe0);
|
||||
LoadUserWindowGfx(0, 0x000, BG_PLTT_ID(14));
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
ShowBg(0);
|
||||
ShowBg(3);
|
||||
@@ -370,7 +370,7 @@ void PSA_ShowMessageWindow(void)
|
||||
{
|
||||
PutWindowTilemap(0);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
DrawTextBorderOuter(0, 0x001, 0xE);
|
||||
DrawTextBorderOuter(0, 0x001, 14);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
@@ -612,7 +612,7 @@ bool8 PSA_LevelUpVerticalSpritesTaskIsRunning(void)
|
||||
// Unused
|
||||
void PSA_DrawLevelUpWindowPg1(u16 *statsBefore, u16 *statsAfter)
|
||||
{
|
||||
DrawTextBorderOuter(1, 0x001, 0xE);
|
||||
DrawTextBorderOuter(1, 0x001, 14);
|
||||
DrawLevelUpWindowPg1(1, statsBefore, statsAfter, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
@@ -636,9 +636,9 @@ static void LoadBgGfxByAnimType(u16 animType)
|
||||
CopyToBgTilemapBuffer(3, sBg_Tilemap, 0, 0x000);
|
||||
DecompressAndCopyTileDataToVram(3, sBg_Gfx, 0, 0x000, 0);
|
||||
if (animType != 4)
|
||||
LoadPalette(sBg_Pal, 0x00, 0x20);
|
||||
LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal));
|
||||
else
|
||||
LoadPalette(sBg_TmHm_Pal, 0x00, 0x20);
|
||||
LoadPalette(sBg_TmHm_Pal, BG_PLTT_ID(0), sizeof(sBg_TmHm_Pal));
|
||||
}
|
||||
|
||||
void PSA_CreateMonSpriteAtCloseness(u8 closeness)
|
||||
|
||||
@@ -1205,9 +1205,9 @@ static void LoadWallpaperGfx(u8 boxId, s8 direction)
|
||||
DrawWallpaper(gStorage->wallpaperBgTilemapBuffer, gStorage->wallpaperTilemap, gStorage->wallpaperLoadDir, gStorage->wallpaperOffset);
|
||||
|
||||
if (gStorage->wallpaperLoadDir != 0)
|
||||
LoadPalette(wallpaper->palettes, (gStorage->wallpaperOffset * 32) + 0x40, 0x40);
|
||||
LoadPalette(wallpaper->palettes, BG_PLTT_ID(4) + BG_PLTT_ID(gStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP);
|
||||
else
|
||||
CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[(gStorage->wallpaperOffset * 32) + 0x40], 0x40);
|
||||
CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[BG_PLTT_ID(4) + BG_PLTT_ID(gStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP);
|
||||
|
||||
DecompressAndLoadBgGfxUsingHeap(2, wallpaper->tiles, 0, 256 * gStorage->wallpaperOffset, 0);
|
||||
|
||||
@@ -1281,12 +1281,12 @@ static void InitBoxTitle(u8 boxId)
|
||||
gStorage->wallpaperPalBits = 0x3F0;
|
||||
|
||||
tagIndex = IndexOfSpritePaletteTag(PALTAG_BOX_TITLE);
|
||||
gStorage->boxTitlePalOffset = 0x10e + 16 * tagIndex;
|
||||
gStorage->wallpaperPalBits |= 0x10000 << tagIndex;
|
||||
gStorage->boxTitlePalOffset = OBJ_PLTT_ID(tagIndex) + 14;
|
||||
gStorage->wallpaperPalBits |= (1 << 16) << tagIndex;
|
||||
|
||||
tagIndex = IndexOfSpritePaletteTag(PALTAG_BOX_TITLE);
|
||||
gStorage->boxTitleAltPalOffset = 0x10e + 16 * tagIndex;
|
||||
gStorage->wallpaperPalBits |= 0x10000 << tagIndex;
|
||||
gStorage->boxTitleAltPalOffset = OBJ_PLTT_ID(tagIndex) + 14;
|
||||
gStorage->wallpaperPalBits |= (1 << 16) << tagIndex;
|
||||
|
||||
StringCopyPadded(gStorage->boxTitleText, GetBoxNamePtr(boxId), 0, 8);
|
||||
DrawTextWindowAndBufferTiles(gStorage->boxTitleText, gStorage->boxTitleTiles, 0, 0, gStorage->boxTitleUnused, 2);
|
||||
@@ -1387,9 +1387,9 @@ static void CycleBoxTitleColor(void)
|
||||
u8 boxId = StorageGetCurrentBox();
|
||||
u8 wallpaperId = GetBoxWallpaper(boxId);
|
||||
if (gStorage->boxTitleCycleId == 0)
|
||||
CpuCopy16(sBoxTitleColors[wallpaperId], gPlttBufferUnfaded + gStorage->boxTitlePalOffset, 4);
|
||||
CpuCopy16(sBoxTitleColors[wallpaperId], &gPlttBufferUnfaded[gStorage->boxTitlePalOffset], PLTT_SIZEOF(2));
|
||||
else
|
||||
CpuCopy16(sBoxTitleColors[wallpaperId], gPlttBufferUnfaded + gStorage->boxTitleAltPalOffset, 4);
|
||||
CpuCopy16(sBoxTitleColors[wallpaperId], &gPlttBufferUnfaded[gStorage->boxTitleAltPalOffset], PLTT_SIZEOF(2));
|
||||
}
|
||||
|
||||
static s16 GetBoxTitleBaseX(const u8 *string)
|
||||
|
||||
@@ -118,7 +118,7 @@ static bool8 MultiMove_Function_Start(void)
|
||||
{
|
||||
case 0:
|
||||
HideBg(0);
|
||||
LoadMonIconPalettesAt(0x80);
|
||||
LoadMonIconPalettesAt(BG_PLTT_ID(8));
|
||||
sMultiMove->state++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -167,7 +167,7 @@ static bool8 MultiMove_Function_Single(void)
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
{
|
||||
SetCursorPriorityTo1();
|
||||
LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP);
|
||||
ShowBg(0);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -273,7 +273,7 @@ static bool8 MultiMove_Function_PlaceMons(void)
|
||||
case 3:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
{
|
||||
LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP);
|
||||
SetCursorPriorityTo1();
|
||||
ShowBg(0);
|
||||
return FALSE;
|
||||
@@ -703,8 +703,7 @@ void CreateItemIconSprites(void)
|
||||
LoadCompressedSpriteSheet(&spriteSheet);
|
||||
gStorage->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * TILE_SIZE_4BPP + (void *)(OBJ_VRAM0);
|
||||
gStorage->itemIcons[i].palIndex = AllocSpritePalette(PALTAG_ITEM_ICON_0 + i);
|
||||
gStorage->itemIcons[i].palIndex *= 16;
|
||||
gStorage->itemIcons[i].palIndex += 0x100;
|
||||
gStorage->itemIcons[i].palIndex = OBJ_PLTT_ID(gStorage->itemIcons[i].palIndex);
|
||||
spriteTemplate.tileTag = GFXTAG_ITEM_ICON_0 + i;
|
||||
spriteTemplate.paletteTag = PALTAG_ITEM_ICON_0 + i;
|
||||
spriteId = CreateSprite(&spriteTemplate, 0, 0, 11);
|
||||
@@ -1060,7 +1059,7 @@ static void LoadItemIconGfx(u8 id, const u32 *itemTiles, const u32 *itemPal)
|
||||
|
||||
CpuFastCopy(gStorage->itemIconBuffer, gStorage->itemIcons[id].tiles, 0x200);
|
||||
LZ77UnCompWram(itemPal, gStorage->itemIconBuffer);
|
||||
LoadPalette(gStorage->itemIconBuffer, gStorage->itemIcons[id].palIndex, 0x20);
|
||||
LoadPalette(gStorage->itemIconBuffer, gStorage->itemIcons[id].palIndex, PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void SetItemIconAffineAnim(u8 id, u8 animNum)
|
||||
|
||||
@@ -534,7 +534,7 @@ static void Task_InitPokeStorage(u8 taskId)
|
||||
PutWindowTilemap(0);
|
||||
ClearWindowTilemap(1);
|
||||
CpuFill32(0, (void *)VRAM, 0x200);
|
||||
LoadUserWindowGfx(1, 0xB, 0xE0);
|
||||
LoadUserWindowGfx(1, 0xB, BG_PLTT_ID(14));
|
||||
break;
|
||||
case 3:
|
||||
ResetAllBgCoords();
|
||||
@@ -2147,13 +2147,13 @@ static void LoadsMiscSpritePalette(void)
|
||||
|
||||
static void InitPalettesAndSprites(void)
|
||||
{
|
||||
LoadPalette(gPokeStorageInterface_Pal, 0, 0x20);
|
||||
LoadPalette(gPokeStorageInterface_NoDisplayMon_Pal, 0x20, 0x20);
|
||||
LoadPalette(sItemInfoFrame_Pal, 0xF0, 0x20);
|
||||
LoadPalette(gPokeStorageInterface_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
LoadPalette(gPokeStorageInterface_NoDisplayMon_Pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP);
|
||||
LoadPalette(sItemInfoFrame_Pal, BG_PLTT_ID(15), sizeof(sItemInfoFrame_Pal));
|
||||
if (gStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
LoadPalette(sScrollingBg_Pal, 0x30, sizeof(sScrollingBg_Pal));
|
||||
LoadPalette(sScrollingBg_Pal, BG_PLTT_ID(3), sizeof(sScrollingBg_Pal));
|
||||
else
|
||||
LoadPalette(sScrollingBgMoveItems_Pal, 0x30, sizeof(sScrollingBgMoveItems_Pal));
|
||||
LoadPalette(sScrollingBgMoveItems_Pal, BG_PLTT_ID(3), sizeof(sScrollingBgMoveItems_Pal));
|
||||
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30));
|
||||
CreateDisplayMonSprite();
|
||||
@@ -2256,7 +2256,7 @@ static void CreateDisplayMonSprite(void)
|
||||
break;
|
||||
|
||||
gStorage->displayMonSprite = &gSprites[spriteId];
|
||||
gStorage->displayMonPalOffset = palSlot * 16 + 0x100;
|
||||
gStorage->displayMonPalOffset = OBJ_PLTT_ID(palSlot);
|
||||
gStorage->displayMonTilePtr = (void *)OBJ_VRAM0 + tileStart * 32;
|
||||
} while (FALSE);
|
||||
|
||||
@@ -2277,7 +2277,7 @@ static void LoadDisplayMonGfx(u16 species, u32 personality)
|
||||
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gStorage->tileBuffer, species, personality);
|
||||
LZ77UnCompWram(gStorage->displayMonPalette, gStorage->displayMonPalBuffer);
|
||||
CpuCopy32(gStorage->tileBuffer, gStorage->displayMonTilePtr, 0x800);
|
||||
LoadPalette(gStorage->displayMonPalBuffer, gStorage->displayMonPalOffset, 0x20);
|
||||
LoadPalette(gStorage->displayMonPalBuffer, gStorage->displayMonPalOffset, PLTT_SIZE_4BPP);
|
||||
gStorage->displayMonSprite->invisible = FALSE;
|
||||
}
|
||||
else
|
||||
@@ -2337,7 +2337,7 @@ static void UpdateWaveformAnimation(void)
|
||||
static void InitSupplementalTilemaps(void)
|
||||
{
|
||||
LZ77UnCompWram(gPokeStoragePartyMenu_Tilemap, gStorage->partyMenuTilemapBuffer);
|
||||
LoadPalette(gPokeStoragePartyMenu_Pal, 0x10, 0x20);
|
||||
LoadPalette(gPokeStoragePartyMenu_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
TilemapUtil_SetTilemap(TILEMAP_PARTY_MENU, 1, gStorage->partyMenuTilemapBuffer, 12, 22);
|
||||
TilemapUtil_SetTilemap(TILEMAP_CLOSE_BUTTON, 1, sCloseBoxButton_Tilemap, 9, 4);
|
||||
TilemapUtil_SetPos(TILEMAP_PARTY_MENU, 10, 0);
|
||||
@@ -2545,7 +2545,7 @@ static bool8 DoShowPartyMenu(void)
|
||||
static void InitPokeStorageBg0(void)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(29));
|
||||
LoadStdWindowGfx(1, 2, 0xD0);
|
||||
LoadStdWindowGfx(1, 2, BG_PLTT_ID(13));
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
|
||||
@@ -2006,22 +2006,22 @@ static u8 PokeSum_HandleLoadBgGfx(void)
|
||||
switch (sMonSummaryScreen->loadBgGfxStep)
|
||||
{
|
||||
case 0:
|
||||
LoadPalette(gSummaryScreen_Bg_Pal, 0, 0x20 * 5);
|
||||
LoadPalette(gSummaryScreen_Bg_Pal, BG_PLTT_ID(0), 5 * PLTT_SIZE_4BPP);
|
||||
if (IsMonShiny(&sMonSummaryScreen->currentMon) == TRUE && !sMonSummaryScreen->isEgg)
|
||||
{
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], 0, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], 0x10, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], 0, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], 0x10, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
break;
|
||||
case 1:
|
||||
ListMenuLoadStdPalAt(0x60, 1);
|
||||
LoadPalette(sTextHeaderPalette, 0x70, 0x20);
|
||||
ListMenuLoadStdPalAt(BG_PLTT_ID(6), 1);
|
||||
LoadPalette(sTextHeaderPalette, BG_PLTT_ID(7), PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case 2:
|
||||
ResetTempTileDataBuffers();
|
||||
@@ -2039,7 +2039,7 @@ static u8 PokeSum_HandleLoadBgGfx(void)
|
||||
break;
|
||||
|
||||
default:
|
||||
LoadPalette(sTextMovesPalette, 0x80, 0x20);
|
||||
LoadPalette(sTextMovesPalette, BG_PLTT_ID(8), PLTT_SIZE_4BPP);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -5078,13 +5078,13 @@ static void Task_PokeSum_SwitchDisplayedPokemon(u8 taskId)
|
||||
|
||||
if (IsMonShiny(&sMonSummaryScreen->currentMon) == TRUE && !sMonSummaryScreen->isEgg)
|
||||
{
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], 0, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], 0x10, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], 0, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], 0x10, 0x20);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], BG_PLTT_ID(0), PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], BG_PLTT_ID(1), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
sMonSummaryScreen->switchMonTaskState++;
|
||||
|
||||
+9
-9
@@ -459,7 +459,7 @@ void sub_8110FCC(void)
|
||||
|
||||
static bool8 FieldCB2_QuestLogStartPlaybackWithWarpExit(void)
|
||||
{
|
||||
LoadPalette(GetTextWindowPalette(4), 0xF0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(4), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
SetQuestLogState(QL_STATE_PLAYBACK);
|
||||
FieldCB_DefaultWarpExit();
|
||||
sQuestLogCurrentScene = (struct UnkStruct_203AE94){};
|
||||
@@ -469,7 +469,7 @@ static bool8 FieldCB2_QuestLogStartPlaybackWithWarpExit(void)
|
||||
|
||||
static bool8 FieldCB2_QuestLogStartPlaybackStandingInPlace(void)
|
||||
{
|
||||
LoadPalette(GetTextWindowPalette(4), 0xF0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(4), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
SetQuestLogState(QL_STATE_PLAYBACK);
|
||||
FieldCB_WarpExitFadeFromBlack();
|
||||
sQuestLogCurrentScene = (struct UnkStruct_203AE94){};
|
||||
@@ -1071,12 +1071,12 @@ void QuestLog_InitPalettesBackup(void)
|
||||
|
||||
void QuestLog_BackUpPalette(u16 offset, u16 size)
|
||||
{
|
||||
CpuCopy16(gPlttBufferUnfaded + offset, sPalettesBackup + offset, size * 2);
|
||||
CpuCopy16(&gPlttBufferUnfaded[offset], &sPalettesBackup[offset], PLTT_SIZEOF(size));
|
||||
}
|
||||
|
||||
static bool8 FieldCB2_FinalScene(void)
|
||||
{
|
||||
LoadPalette(GetTextWindowPalette(4), 0xF0, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(4), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
DrawPreviouslyOnQuestHeader(0);
|
||||
FieldCB_WarpExitFadeFromBlack();
|
||||
CreateTask(Task_FinalScene_WaitFade, 0xFF);
|
||||
@@ -1199,8 +1199,8 @@ static bool8 sub_81121D8(u8 taskId)
|
||||
if (data[1] > 15)
|
||||
return TRUE;
|
||||
|
||||
CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]);
|
||||
CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]);
|
||||
CopyPaletteInvertedTint(&gPlttBufferUnfaded[BG_PLTT_ID(0) + 1], &gPlttBufferFaded[BG_PLTT_ID(0) + 1], 0xDF, 0x0F - data[1]);
|
||||
CopyPaletteInvertedTint(&gPlttBufferUnfaded[OBJ_PLTT_ID(0)], &gPlttBufferFaded[OBJ_PLTT_ID(0)], 0x100, 0x0F - data[1]);
|
||||
FillWindowPixelRect(sQuestLogHeaderWindowIds[0], 0x00, 0, sQuestLogHeaderWindowTemplates[0].height * 8 - 1 - data[1], sQuestLogHeaderWindowTemplates[0].width * 8, 1);
|
||||
FillWindowPixelRect(sQuestLogHeaderWindowIds[1], 0x00, 0, data[1], sQuestLogHeaderWindowTemplates[1].width * 8, 1);
|
||||
CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX);
|
||||
@@ -1214,9 +1214,9 @@ static void QL_SlightlyDarkenSomePals(void)
|
||||
u16 *buffer = Alloc(PLTT_SIZE);
|
||||
CpuCopy16(sPalettesBackup, buffer, PLTT_SIZE);
|
||||
SlightlyDarkenPalsInWeather(sPalettesBackup, sPalettesBackup, 13 * 16);
|
||||
SlightlyDarkenPalsInWeather(sPalettesBackup + 17 * 16, sPalettesBackup + 17 * 16, 1 * 16);
|
||||
SlightlyDarkenPalsInWeather(sPalettesBackup + 22 * 16, sPalettesBackup + 22 * 16, 4 * 16);
|
||||
SlightlyDarkenPalsInWeather(sPalettesBackup + 27 * 16, sPalettesBackup + 27 * 16, 5 * 16);
|
||||
SlightlyDarkenPalsInWeather(&sPalettesBackup[OBJ_PLTT_ID(1)], &sPalettesBackup[OBJ_PLTT_ID(1)], 1 * 16);
|
||||
SlightlyDarkenPalsInWeather(&sPalettesBackup[OBJ_PLTT_ID(6)], &sPalettesBackup[OBJ_PLTT_ID(6)], 4 * 16);
|
||||
SlightlyDarkenPalsInWeather(&sPalettesBackup[OBJ_PLTT_ID(11)], &sPalettesBackup[OBJ_PLTT_ID(11)], 5 * 16);
|
||||
CpuCopy16(sPalettesBackup, gPlttBufferUnfaded, PLTT_SIZE);
|
||||
CpuCopy16(buffer, sPalettesBackup, PLTT_SIZE);
|
||||
Free(buffer);
|
||||
|
||||
+21
-21
@@ -961,8 +961,8 @@ static void TintMapEdgesPalette(void)
|
||||
u16 mapEdgesPal[16];
|
||||
CpuCopy16(&sRegionMap_Pal[0x20], mapEdgesPal, sizeof(mapEdgesPal));
|
||||
RegionMap_DarkenPalette(mapEdgesPal, NELEMS(mapEdgesPal), 95);
|
||||
LoadPalette(mapEdgesPal, 0x20, sizeof(mapEdgesPal));
|
||||
LoadPalette(&sRegionMap_Pal[0x2F], 0x2F, sizeof(sRegionMap_Pal[0x2F]));
|
||||
LoadPalette(mapEdgesPal, BG_PLTT_ID(2), sizeof(mapEdgesPal));
|
||||
LoadPalette(&sRegionMap_Pal[0x2F], BG_PLTT_ID(2) + 15, PLTT_SIZEOF(1));
|
||||
}
|
||||
|
||||
static void InitRegionMap(u8 type)
|
||||
@@ -1105,18 +1105,18 @@ static bool8 LoadRegionMapGfx(void)
|
||||
switch (sRegionMap->loadGfxState)
|
||||
{
|
||||
case 0:
|
||||
LoadPalette(sTopBar_Pal, 0xC0, sizeof(sTopBar_Pal));
|
||||
LoadPalette(sTopBar_Pal, BG_PLTT_ID(12), sizeof(sTopBar_Pal));
|
||||
break;
|
||||
case 1:
|
||||
LoadPalette(sRegionMap_Pal, 0, sizeof(sRegionMap_Pal));
|
||||
TintMapEdgesPalette();
|
||||
if (sRegionMap->type != REGIONMAP_TYPE_NORMAL)
|
||||
{
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 0, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 1, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 2, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 3, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 4, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(0), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(1), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(2), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(3), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(4), sizeof(sTopBar_Pal[15]));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -1972,7 +1972,7 @@ static bool8 LoadMapPreviewGfx(void)
|
||||
LoadBgTiles(2, sDungeonMapPreview->tiles, sizeof(sDungeonMapPreview->tiles), 0);
|
||||
break;
|
||||
case 3:
|
||||
LoadPalette(sDungeonMapPreview->mapPreviewInfo->palptr, 0xD0, 0x60);
|
||||
LoadPalette(sDungeonMapPreview->mapPreviewInfo->palptr, BG_PLTT_ID(13), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
default:
|
||||
return TRUE;
|
||||
@@ -2073,7 +2073,7 @@ static void Task_DrawDungeonMapPreviewFlavorText(u8 taskId)
|
||||
sDungeonMapPreview->blue -= 5;
|
||||
CpuCopy16(sDungeonMapPreview->mapPreviewInfo->palptr, sDungeonMapPreview->palette, 0x60);
|
||||
TintPalette_CustomTone(sDungeonMapPreview->palette, 48, sDungeonMapPreview->red, sDungeonMapPreview->green, sDungeonMapPreview->blue);
|
||||
LoadPalette(sDungeonMapPreview->palette, 0xD0, sizeof(sDungeonMapPreview->palette));
|
||||
LoadPalette(sDungeonMapPreview->palette, BG_PLTT_ID(13), sizeof(sDungeonMapPreview->palette));
|
||||
}
|
||||
sDungeonMapPreview->timer++;
|
||||
break;
|
||||
@@ -2416,19 +2416,19 @@ static void Task_MapOpenAnim(u8 taskId)
|
||||
sMapOpenCloseAnim->openState++;
|
||||
break;
|
||||
case 10:
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 0, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 1, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 2, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 3, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], 16 * 4, sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(0), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(1), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(2), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(3), sizeof(sTopBar_Pal[15]));
|
||||
LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(4), sizeof(sTopBar_Pal[15]));
|
||||
sMapOpenCloseAnim->openState++;
|
||||
break;
|
||||
case 11:
|
||||
FillBgTilemapBufferRect(1, 0x002, 0, 1, 1, 1, 0x2);
|
||||
FillBgTilemapBufferRect(1, 0x003, 1, 1, 1, 1, 0x2);
|
||||
FillBgTilemapBufferRect(1, 0x03E, 28, 1, 1, 1, 0x2);
|
||||
FillBgTilemapBufferRect(1, 0x03F, 29, 1, 1, 1, 0x2);
|
||||
FillBgTilemapBufferRect(1, 0x03D, 2, 1, 26, 1, 0x2);
|
||||
FillBgTilemapBufferRect(1, 0x002, 0, 1, 1, 1, 2);
|
||||
FillBgTilemapBufferRect(1, 0x003, 1, 1, 1, 1, 2);
|
||||
FillBgTilemapBufferRect(1, 0x03E, 28, 1, 1, 1, 2);
|
||||
FillBgTilemapBufferRect(1, 0x03F, 29, 1, 1, 1, 2);
|
||||
FillBgTilemapBufferRect(1, 0x03D, 2, 1, 26, 1, 2);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
m4aSongNumStop(SE_CARD_OPEN);
|
||||
PlaySE(SE_ROTATING_GATE);
|
||||
@@ -2569,7 +2569,7 @@ static void Task_MapCloseAnim(u8 taskId)
|
||||
sMapOpenCloseAnim->closeState++;
|
||||
break;
|
||||
case 2:
|
||||
LoadPalette(sRegionMap_Pal, 0, sizeof(sRegionMap_Pal));
|
||||
LoadPalette(sRegionMap_Pal, BG_PLTT_ID(0), sizeof(sRegionMap_Pal));
|
||||
sMapOpenCloseAnim->closeState++;
|
||||
break;
|
||||
case 3:
|
||||
|
||||
+5
-3
@@ -1137,6 +1137,8 @@ void Task_WaitMuseumFossilPic(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
#define FOSSIL_PIC_PAL_NUM 13
|
||||
|
||||
bool8 OpenMuseumFossilPic(void)
|
||||
{
|
||||
u8 spriteId;
|
||||
@@ -1148,19 +1150,19 @@ bool8 OpenMuseumFossilPic(void)
|
||||
if (gSpecialVar_0x8004 == SPECIES_KABUTOPS)
|
||||
{
|
||||
LoadSpriteSheets(sMuseumKabutopsSprSheets);
|
||||
LoadPalette(sMuseumKabutopsSprPalette, 0x1D0, 0x20);
|
||||
LoadPalette(sMuseumKabutopsSprPalette, OBJ_PLTT_ID(FOSSIL_PIC_PAL_NUM), sizeof(sMuseumKabutopsSprPalette));
|
||||
}
|
||||
else if (gSpecialVar_0x8004 == SPECIES_AERODACTYL)
|
||||
{
|
||||
LoadSpriteSheets(sMuseumAerodactylSprSheets);
|
||||
LoadPalette(sMuseumAerodactylSprPalette, 0x1D0, 0x20);
|
||||
LoadPalette(sMuseumAerodactylSprPalette, OBJ_PLTT_ID(FOSSIL_PIC_PAL_NUM), sizeof(sMuseumAerodactylSprPalette));
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
spriteId = CreateSprite(&sMuseumFossilSprTemplate, gSpecialVar_0x8005 * 8 + 40, gSpecialVar_0x8006 * 8 + 40, 0);
|
||||
gSprites[spriteId].oam.paletteNum = 13;
|
||||
gSprites[spriteId].oam.paletteNum = FOSSIL_PIC_PAL_NUM;
|
||||
taskId = CreateTask(Task_WaitMuseumFossilPic, 80);
|
||||
gTasks[taskId].tWindowId = CreateWindowFromRect(gSpecialVar_0x8005, gSpecialVar_0x8006, 8, 8);
|
||||
gTasks[taskId].tState = 0;
|
||||
|
||||
+2
-6
@@ -204,15 +204,11 @@ static void CB2_SetUpSeagallopScene(void)
|
||||
case 3:
|
||||
LoadBgTiles(3, sWaterTiles, sizeof(sWaterTiles), 0);
|
||||
if (GetDirectionOfTravel() == DIRN_EASTBOUND)
|
||||
{
|
||||
CopyToBgTilemapBufferRect(3, sWaterTilemap_EB, 0, 0, 32, 32);
|
||||
}
|
||||
else
|
||||
{
|
||||
CopyToBgTilemapBufferRect(3, sWaterTilemap_WB, 0, 0, 32, 32);
|
||||
}
|
||||
LoadPalette(sWaterPal, 0x40, 0x20);
|
||||
LoadPalette(GetTextWindowPalette(2), 0xF0, 0x20);
|
||||
LoadPalette(sWaterPal, BG_PLTT_ID(4), sizeof(sWaterPal));
|
||||
LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(15), PLTT_SIZE_4BPP);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 4:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user