From ed85338018f1c19dcbda2329a4ed4533c3e9cbbc Mon Sep 17 00:00:00 2001 From: Retnuhytnuob Date: Wed, 12 Aug 2026 01:45:39 -0500 Subject: [PATCH] checkpoint pal part 2 --- include/global.h | 12 +++++------ include/variables.h | 2 +- src/all_board_portrait_display.c | 20 +++++++++---------- src/high_scores.c | 34 ++++++++++++++++---------------- src/intro.c | 18 ++++++++--------- src/main_board_catch_holes.c | 8 ++++---- src/options.c | 6 +++--- src/save_and_restore_game.c | 8 ++++---- src/titlescreen.c | 4 ++-- 9 files changed, 56 insertions(+), 56 deletions(-) diff --git a/include/global.h b/include/global.h index afd82394..e39373b0 100644 --- a/include/global.h +++ b/include/global.h @@ -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[]; diff --git a/include/variables.h b/include/variables.h index 88a573cd..287e5505 100644 --- a/include/variables.h +++ b/include/variables.h @@ -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; diff --git a/src/all_board_portrait_display.c b/src/all_board_portrait_display.c index 4820c497..407f1051 100644 --- a/src/all_board_portrait_display.c +++ b/src/all_board_portrait_display.c @@ -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( diff --git a/src/high_scores.c b/src/high_scores.c index eeb6869e..a45299b6 100644 --- a/src/high_scores.c +++ b/src/high_scores.c @@ -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(); diff --git a/src/intro.c b/src/intro.c index 3e489f0e..878a7d31 100644 --- a/src/intro.c +++ b/src/intro.c @@ -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) diff --git a/src/main_board_catch_holes.c b/src/main_board_catch_holes.c index 63ba2395..ad05ded4 100644 --- a/src/main_board_catch_holes.c +++ b/src/main_board_catch_holes.c @@ -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; diff --git a/src/options.c b/src/options.c index 142e685d..e5f5de51 100644 --- a/src/options.c +++ b/src/options.c @@ -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(); diff --git a/src/save_and_restore_game.c b/src/save_and_restore_game.c index 9dc1c42b..27aa45d2 100644 --- a/src/save_and_restore_game.c +++ b/src/save_and_restore_game.c @@ -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); diff --git a/src/titlescreen.c b/src/titlescreen.c index a201f6c6..09ec4815 100644 --- a/src/titlescreen.c +++ b/src/titlescreen.c @@ -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); }