checkpoint pal part 2

This commit is contained in:
Retnuhytnuob
2026-08-12 01:45:39 -05:00
parent 7310774cf2
commit ed85338018
9 changed files with 56 additions and 56 deletions

View File

@@ -989,8 +989,8 @@ extern u16 gGroudonProjectileCollisionMap[0x2A80];
extern const u16 gSphealRampCollisionMap[0x1000];
extern const u16 gSphealFrozenIceCollisionMap[0x1000];
extern u8 gFlipperTileGraphics[][0x200];
extern u16 gDusclopsBoardDusclopsAppearFx_Gfx[];
extern u16 gDusclopsBoardDusclops_Gfx[];
extern u16 gDusclopsBoardDusclopsAppearFx_Gfx[];
extern u16 gDusclopsBoardDusclops_Gfx[];
extern u8 gDusclopsBoardDusclopsBallGrabSwirl_Gfx[];
extern struct SongHeader se_catch_evo_banner;
extern struct SongHeader se_dusclops_appear;
@@ -1005,12 +1005,12 @@ extern const u8 *const gModeBannerTilemaps[];
extern const u8 *const gModeBannerPalettes[];
extern s16 DuclopsFramesetData[][2];
extern u16 gModeBannerOamAttributes[14][45];
extern const u8 gPokemonNameDisplayGfx[];
extern u8 gShopNameDisplay_Pals[];
extern const u8 gPokemonNameDisplayGfx[];
extern const Palette gShopNameDisplay_Pals[];
extern const u16 gShopCursorToItemMap[];
extern u8 gShopModeBG0_0_Tilemap[];
extern u8 gShopEvoUI_Pals[];
extern u8 gEvoNameDisplay_Pals[];
extern const Palette gShopEvoUI_Pals[];
extern const Palette gEvoNameDisplay_Pals[];
extern u8 gEvoModeBG0_0_Tilemap[];
extern const u16 gShopItemData[][4];
extern u32 gShopEvoBGAnimFrames[];

View File

@@ -134,7 +134,7 @@ extern StateFunc gTitlescreenStateFuncs[];
//extern ? gIntroCopyright_Pal;
//extern ? gIntroScene1TorchicSprites_Pals;
//extern ? gIntroScene1TorchicSprites_Gfx;
extern const u8 gGBAButtonIcons_Pals[];
extern const Palette gGBAButtonIcons_Pals[];
extern const u8 gOptionsSprites_Gfx[];
extern const IntrFunc gIntrTableTemplate[14];
//extern ? gRumblePattern0;

View File

@@ -60,9 +60,9 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15] + (gCurrentPinballGame->portraitGfxIndex[picIx] % 15) * 0x20,
(void *)0x050003A0 ,
0x20);
DmaCopy16(3, gMonPortraitGroupPals[0] + 15 * 0x20, (void *)0x050003E0, 0x20);
OBJ_PLTT_SLOT(13),
PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[0] + 15 * 0x20, OBJ_PLTT_SLOT(15), PLTT_SLOT_SIZE);
break;
case PORTRAIT_STATE_EVO_PREVIEW:
if (gCurrentPinballGame->evoChainPosition > 0)
@@ -73,13 +73,13 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15] + (gCurrentPinballGame->portraitGfxIndex[picIx] % 15) * 0x20,
(void *)0x050003A0,
0x20);
OBJ_PLTT_SLOT(13),
PLTT_SLOT_SIZE);
}
else if (gMain_saveData.pokedexFlags[gCurrentPinballGame->evoTargetSpecies] < SPECIES_CAUGHT)
{
gCurrentPinballGame->portraitGfxIndex[picIx] = gCurrentPinballGame->evoTargetSpecies;
DmaCopy16(3, gMonPortraitGroupPals[0] + 15 * 0x20, (void *)0x050003A0, 0x20);
DmaCopy16(3, gMonPortraitGroupPals[0] + 15 * 0x20, OBJ_PLTT_SLOT(13), PLTT_SLOT_SIZE);
}
else
{
@@ -87,8 +87,8 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15] + (gCurrentPinballGame->portraitGfxIndex[picIx] % 15) * 0x20,
(void *)0x050003A0,
0x20);
OBJ_PLTT_SLOT(13),
PLTT_SLOT_SIZE);
}
}
else
@@ -97,8 +97,8 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15] + (gCurrentPinballGame->portraitGfxIndex[picIx] % 15) * 0x20,
(void *)0x050003A0,
0x20);
OBJ_PLTT_SLOT(13),
PLTT_SLOT_SIZE);
}
DmaCopy16(

View File

@@ -11,7 +11,7 @@
extern StateFunc gHighScoresStateFuncs[15];
extern StateFunc gIdleHighScoresStateFuncs[3];
extern u8 gHighScoreBG_Pals[];
extern const Palette gHighScoreBG_Pals[];
extern u8 gHighScoreBallWatermark_Tilemap[];
extern u8 gHighScoreText_Gfx[];
extern s16 gHighScoreEntrySource;
@@ -33,6 +33,15 @@ extern s16 gScrollXOffset;
extern s8 gResetComboTimer;
extern s8 gResetComboCount;
extern struct HighScoreEntry gWorkingHighScores[MAIN_FIELD_COUNT][NUM_HIGH_SCORES];
extern struct HighScoreEntry gRemoteTopScores[2];
extern u8 gHighScoreBallWatermark_Gfx[];
extern u8 gHighScoreScoreTable_Tilemap[];
extern const Palette gHighScoreSprite_Pals[];
extern u8 gHighScoreDialogs_Gfx[];
extern u32 gHighScoreNameRowTilemapOffsets[8];
extern const struct HighScoreEntry gDefaultHighScores[2][8];
struct HighScoreScreenState
{
u32 newScoreHi;
@@ -55,6 +64,7 @@ struct HighScoreScreenState
s8 pressStartBlinkToggle; // press start blink toggle
s8 displayModeVisible;
};
struct HighScoreScreenState gHighScoreScreenState;
enum HighScoreStates{
HIGH_SCORE_STATE_INIT = 0,
@@ -80,16 +90,6 @@ enum IdleHighScoreStates{
IDLE_HIGH_SCORE_STATE_EXIT = 2
};
struct HighScoreScreenState gHighScoreScreenState;
extern struct HighScoreEntry gWorkingHighScores[MAIN_FIELD_COUNT][NUM_HIGH_SCORES];
extern struct HighScoreEntry gRemoteTopScores[2];
extern u8 gHighScoreBallWatermark_Gfx[];
extern u8 gHighScoreScoreTable_Tilemap[];
extern u8 gHighScoreSprite_Pals[];
extern u8 gHighScoreDialogs_Gfx[];
extern u32 gHighScoreNameRowTilemapOffsets[8];
extern const struct HighScoreEntry gDefaultHighScores[2][8];
enum HighScorePopupType {
HIGH_SCORE_POPUP_DEFAULT = 0,
@@ -120,12 +120,12 @@ void LoadHighScoreGraphics(void)
REG_DISPCNT |= DISPCNT_BG3_ON;
gMain.dispcntBackup = REG_DISPCNT;
DmaCopy16(3, gHighScoreBG_Pals, (void*) PLTT, 0x200);
DmaCopy16(3, gHighScoreBG_Pals, BG_PLTT, BG_PLTT_SIZE);
DmaCopy16(3, gHighScoreText_Gfx, (void*) BG_VRAM + 0x4000, 0x4800);
DmaCopy16(3, gHighScoreBallWatermark_Gfx, (void *)BG_VRAM + 0xC000, 0x2C00);
DmaCopy16(3, gHighScoreScoreTable_Tilemap, gBG0TilemapBuffer, 0x1000);
DmaCopy16(3, gHighScoreBallWatermark_Tilemap, (void *)BG_SCREEN_ADDR(2), 0x1000);
DmaCopy16(3, gHighScoreSprite_Pals, (void *)OBJ_PLTT, 0x100);
DmaCopy16(3, gHighScoreSprite_Pals, OBJ_PLTT_SLOT(0), 8*PLTT_SLOT_SIZE);
DmaCopy16(3, gHighScoreDialogs_Gfx, (void *)OBJ_VRAM0, 0x4420);
InitHighScoreData();
DrawAllHighScoreText();
@@ -748,12 +748,12 @@ void IdleHighScore_LoadGraphics(void)
REG_BG3CNT = 0x420F;
REG_DISPCNT |= DISPCNT_BG3_ON;
gMain.dispcntBackup = REG_DISPCNT;
DmaCopy16(3, gHighScoreBG_Pals, (void*) PLTT, 0x200);
DmaCopy16(3, gHighScoreBG_Pals, BG_PLTT, BG_PLTT_SIZE);
DmaCopy16(3, gHighScoreText_Gfx, (void*) BG_VRAM + 0x4000, 0x4800);
DmaCopy16(3, gHighScoreBallWatermark_Gfx, (void *)BG_VRAM + 0xC000, 0x2C00);
DmaCopy16(3, gHighScoreScoreTable_Tilemap, gBG0TilemapBuffer, 0x1000);
DmaCopy16(3, gHighScoreBallWatermark_Tilemap, (void *)BG_SCREEN_ADDR(2), 0x1000);
DmaCopy16(3, gHighScoreSprite_Pals, (void *)OBJ_PLTT, 0x20);
DmaCopy16(3, gHighScoreSprite_Pals, OBJ_PLTT_SLOT(0), PLTT_SLOT_SIZE);
DmaCopy16(3, gHighScoreDialogs_Gfx, (void *)OBJ_VRAM0, 0x4420);
InitIdleHighScoreData();
DrawAllHighScoreText();
@@ -866,12 +866,12 @@ void HighScore_ReloadAfterLink(void)
REG_BG3CNT = 0x420f;
REG_DISPCNT |= DISPCNT_BG3_ON;
gMain.dispcntBackup = REG_DISPCNT;
DmaCopy16(3, gHighScoreBG_Pals, (void*) PLTT, 0x200);
DmaCopy16(3, gHighScoreBG_Pals, BG_PLTT, BG_PLTT_SIZE);
DmaCopy16(3, gHighScoreText_Gfx, (void*) BG_VRAM + 0x4000, 0x4800);
DmaCopy16(3, gHighScoreBallWatermark_Gfx, (void *)BG_VRAM + 0xC000, 0x2C00);
DmaCopy16(3, gHighScoreScoreTable_Tilemap, gBG0TilemapBuffer, 0x1000);
DmaCopy16(3, gHighScoreBallWatermark_Tilemap, (void *)BG_SCREEN_ADDR(2), 0x1000);
DmaCopy16(3, gHighScoreSprite_Pals, (void *)OBJ_PLTT, 0x20);
DmaCopy16(3, gHighScoreSprite_Pals, OBJ_PLTT_SLOT(0), PLTT_SLOT_SIZE);
DmaCopy16(3, gHighScoreDialogs_Gfx, (void *)OBJ_VRAM0, 0x4420);
InitIdleHighScoreData();
DrawAllHighScoreText();

View File

@@ -39,7 +39,7 @@ extern u8 gIntroCopyright_Tilemap[];
extern u8 gIntroCopyright_Gfx[];
extern u8 gIntroCopyright_Pal[];
extern u8 gIntroScene1TorchicSprites_Gfx[];
extern u8 gIntroScene1TorchicSprites_Pals[];
extern Palette gIntroScene1TorchicSprites_Pals[];
extern u8 gIntroScene1Torchic_BG0Tilemap[];
extern u8 gIntroScene1Torchic_BG1Tilemap[];
@@ -232,9 +232,9 @@ void IntroScene1_00_LoadTitleLettersAndTorchicScene(void)
DmaCopy16(3, gIntroScene1TorchicText_Gfx, BG_CHAR_ADDR(0), 0x5800);
DmaCopy16(3, gIntroScene1TorchicBall_Gfx, gIntroTileBuffer, 0x6800);
DarkenPalette(gIntroScene1TorchicSprites_Pals, (void*)BG_PLTT, BG_PLTT_SIZE, 0x20);
DarkenPalette((u8 * )gIntroScene1TorchicSprites_Pals, (void*)BG_PLTT, BG_PLTT_SIZE, 0x20);
DmaCopy16(3, gIntroScene1TorchicSprites_Gfx, BG_CHAR_ADDR(4), 0x8000);
DmaCopy16(3, gIntroScene1TorchicSprites_Pals, 0x05000200, BG_PLTT_SIZE);
DmaCopy16(3, gIntroScene1TorchicSprites_Pals, OBJ_PLTT, OBJ_PLTT_SIZE);
IntroScene1Torchic_InitVars();
gMain.bgOffsets[0].xOffset = gIntroBGParams[0].posX;
gMain.bgOffsets[0].yOffset = gIntroBGParams[0].posY;
@@ -245,9 +245,9 @@ void IntroScene1_00_LoadTitleLettersAndTorchicScene(void)
gMain.bgOffsets[3].xOffset = gIntroBGParams[2].posX;
gMain.bgOffsets[3].yOffset = gIntroBGParams[2].posY;
EnableVBlankInterrupts();
FadeInWithCustomPalettes((void*)BG_PLTT, gIntroScene1TorchicSprites_Pals, NULL);
DmaCopy16(3, gIntroScene1TorchicSprites_Pals, 0x05000200, BG_PLTT_SIZE);
DmaCopy16(3, 0, 0x05000200, 0x20);
FadeInWithCustomPalettes((void*)BG_PLTT, (u8 * )gIntroScene1TorchicSprites_Pals, NULL);
DmaCopy16(3, gIntroScene1TorchicSprites_Pals, OBJ_PLTT, OBJ_PLTT_SIZE);
DmaCopy16(3, 0, OBJ_PLTT_SLOT(0), PLTT_SLOT_SIZE);
gIntroSceneIndex++;
}
@@ -359,7 +359,7 @@ void IntroScene1Torchic_04_LargeSparkle(void)
if (++gIntroSpriteEntities[0].frameTimer > 1)
{
gIntroSpriteEntities[0].visible = FALSE;
DarkenPalette(&gIntroScene1TorchicSprites_Pals[0x1C0], (void*)BG_PLTT + 0xE0, 0x20, 0);
DarkenPalette((u8 * )gIntroScene1TorchicSprites_Pals[14], (void*)BG_PLTT_SLOT(7), 0x20, 0);
m4aSongNumStart(MUS_OPENING);
gIntroSceneIndex++;
}
@@ -410,8 +410,8 @@ void IntroScene1Torchic_06_BrightenPokeballFlyTowardsScreen(void)
{
gIntroPalFadeLevel = 0;
}
DarkenPalette(gIntroScene1TorchicSprites_Pals, (void*)BG_PLTT, 0x200, gIntroPalFadeLevel);
DarkenPalette(gIntroScene1TorchicSprites_Pals, (void*)OBJ_PLTT, 0x20, gIntroPalFadeLevel);
DarkenPalette((u8 * )gIntroScene1TorchicSprites_Pals, (void*)BG_PLTT, 0x200, gIntroPalFadeLevel);
DarkenPalette((u8 * )gIntroScene1TorchicSprites_Pals, (void*)OBJ_PLTT, 0x20, gIntroPalFadeLevel);
}
if (gIntroFrameCounter % 3 == 0)

View File

@@ -31,7 +31,7 @@ void UpdateShopEntryAnimation(s16 arg0)
gCurrentPinballGame->activePortraitType = 18;
DmaCopy16(3, &gPokemonNameDisplayGfx, OBJ_VRAM1 + 0x1C00, 0x940);
DmaCopy16(3, &gShopNameDisplay_Pals, BG_PLTT + 0x180, 0x20);
DmaCopy16(3, gShopNameDisplay_Pals, BG_PLTT_SLOT(12), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->shopEntryTimer >= 145 && gCurrentPinballGame->shopEntryTimer < 150)
@@ -92,7 +92,7 @@ void UpdateShopEntryAnimation(s16 arg0)
gMain.fieldSpriteGroups[FIELD_SG_MAIN_SHOP_ARROWS]->active = TRUE;
gMain.fieldSpriteGroups[FIELD_SG_MAIN_SHOP_PORTRAIT_OVERLAY]->active = TRUE;
DmaCopy16(3, gShopEvoUI_Pals, OBJ_PLTT + 0x1C0, 0x20);
DmaCopy16(3, gShopEvoUI_Pals, OBJ_PLTT_SLOT(14), PLTT_SLOT_SIZE);
DmaCopy16(3, gShopModeBG0_0_Tilemap, BG_VRAM + 0x2000, 0xC40);
gMain.bgOffsets[0].yOffset = 80;
@@ -395,7 +395,7 @@ void UpdateShopEntryAnimation(s16 arg0)
gCurrentPinballGame->activePortraitType = 18;
DmaCopy16(3, &gPokemonNameDisplayGfx, OBJ_VRAM1 + 0x1C00, 0x940);
DmaCopy16(3, &gEvoNameDisplay_Pals, PLTT + 0x180, 0x20);
DmaCopy16(3, gEvoNameDisplay_Pals, BG_PLTT_SLOT(12), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->shopEntryTimer == 145)
@@ -429,7 +429,7 @@ void UpdateShopEntryAnimation(s16 arg0)
gMain.fieldSpriteGroups[FIELD_SG_MAIN_SHOP_PORTRAIT_OVERLAY]->active = TRUE;
gMain.fieldSpriteGroups[FIELD_SG_MAIN_SHOP_ARROWS]->active = TRUE;
DmaCopy16(3, &gShopEvoUI_Pals, PLTT + 0x3C0, 0x20);
DmaCopy16(3, gShopEvoUI_Pals, OBJ_PLTT_SLOT(14), PLTT_SLOT_SIZE);
gMain.bgOffsets[0].yOffset = 80;
gMain.shopPanelSlideOffset = 0;

View File

@@ -66,7 +66,7 @@ extern struct OptionsData gOptionsData;
extern s16 gMain_saveData_customButtonConfig[][2];
extern u8 gCustomButtonConfigTileIds[];
extern const u16 gOptionsBackground_Pals[];
extern const Palette gOptionsBackground_Pals[];
extern const u8 gOptionsText_Gfx[];
extern const u8 gOptionsBackground_Gfx[];
extern const u8 gOptionsText_Tilemap[];
@@ -95,7 +95,7 @@ void Options_LoadGraphics(void)
gMain.dispcntBackup = REG_DISPCNT;
DmaCopy16(3, gOptionsBackground_Pals, (void *)PLTT, 0x200);
DmaCopy16(3, gOptionsBackground_Pals, BG_PLTT, BG_PLTT_SIZE);
DmaCopy16(3, gOptionsText_Gfx, (void *)(VRAM + 0x4000), 0x1800);
DmaCopy16(3, gOptionsBackground_Gfx, (void *)(VRAM + 0x8000), 0xC00);
DmaCopy16(3, gOptionsText_Tilemap, gBG0TilemapBuffer, 0x800);
@@ -109,7 +109,7 @@ void Options_LoadGraphics(void)
DmaCopy16(3, gBG0TilemapBuffer, (void *)VRAM, 0x800);
DmaCopy16(3, gOptionsBackground_Tilemap, (void *)(VRAM + 0x800), 0x800);
DmaCopy16(3, gGBAButtonIcons_Pals, (void *)(PLTT + 0x200), 0x60);
DmaCopy16(3, gGBAButtonIcons_Pals, OBJ_PLTT_SLOT(0), 3*PLTT_SLOT_SIZE);
DmaCopy16(3, gOptionsSprites_Gfx, (void *)(VRAM + 0x10000), 0x2020);
Options_InitStates();
UpdateOptionsSpritePositions();

View File

@@ -512,23 +512,23 @@ void RestoreMainFieldDynamicGraphics(void)
if (gMain_saveData.pokedexFlags[gCurrentPinballGame->evoTargetSpecies] == 0)
{
gCurrentPinballGame->portraitGfxIndex[i] = 205;
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15] + (gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x20, 0x050003A0, 0x20);
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15] + (gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x20, OBJ_PLTT_SLOT(13), PLTT_SLOT_SIZE);
}
else if (gMain_saveData.pokedexFlags[gCurrentPinballGame->evoTargetSpecies] <= 3)
{
gCurrentPinballGame->portraitGfxIndex[i] = gCurrentPinballGame->evoTargetSpecies;
DmaCopy16(3, gMonPortraitGroupPals[0] + 15 * 0x20, 0x050003A0, 0x20);
DmaCopy16(3, gMonPortraitGroupPals[0] + 15 * 0x20, OBJ_PLTT_SLOT(13), PLTT_SLOT_SIZE);
}
else
{
gCurrentPinballGame->portraitGfxIndex[i] = gCurrentPinballGame->evoTargetSpecies;
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15] + (gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x20, 0x050003A0, 0x20);
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15] + (gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x20, OBJ_PLTT_SLOT(13), PLTT_SLOT_SIZE);
}
}
else
{
gCurrentPinballGame->portraitGfxIndex[i] = gCurrentPinballGame->currentSpecies;
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15] + ((gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x20), 0x050003A0, 0x20);
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15] + ((gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x20), OBJ_PLTT_SLOT(13), PLTT_SLOT_SIZE);
}
case 3:
DmaCopy16(3, gMonPortraitGroupGfx[gCurrentPinballGame->portraitGfxIndex[i] / 15] + (gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x300, 0x06010CA0 + (i * 0x18), 0x300);

View File

@@ -63,14 +63,14 @@ void LoadTitlescreenGraphics(void)
{
DmaCopy16(3, gTitlescreenSprites_Pals, (void *)OBJ_PLTT, 0xA0);
DmaCopy16(3, gTitlescreenSpritesSavedGame_Gfx, (void *)BG_CHAR_ADDR(4), 0x7000);
DmaCopy16(3, gGBAButtonIcons_Pals, (void *)(OBJ_PLTT + 0xA0), 0x40);
DmaCopy16(3, gGBAButtonIcons_Pals, OBJ_PLTT_SLOT(5), 2*PLTT_SLOT_SIZE);
DmaCopy16(3, gOptionsSprites_Gfx, (void *)OBJ_VRAM0 + 0x7000, 0x400);
}
else
{
DmaCopy16(3, gTitlescreenSprites_Pals, (void *)OBJ_PLTT, 0xA0);
DmaCopy16(3, gTitlescreenSpritesNoSavedGame_Gfx, (void *)BG_CHAR_ADDR(4), 0x7000);
DmaCopy16(3, gGBAButtonIcons_Pals, (void *)(OBJ_PLTT + 0xA0), 0x40);
DmaCopy16(3, gGBAButtonIcons_Pals, OBJ_PLTT_SLOT(5), 2*PLTT_SLOT_SIZE);
DmaCopy16(3, gOptionsSprites_Gfx, (void *)OBJ_VRAM0 + 0x7000, 0x400);
}