Pal IX consts for main boards

This commit is contained in:
Retnuhytnuob
2026-09-04 01:35:42 -05:00
parent 5b1b8d9c08
commit 4f1c19c7ce
32 changed files with 483 additions and 217 deletions

View File

@@ -9128,7 +9128,7 @@ gMainRightFlipperSpriteSet:: @ 0x086B1602
gMainBoardBallSpriteSet:: @ 0x086B160C
.2byte 1
packed_sprite_oaml x=0x0, y=0x0, mosaic=0x1, spriteSize=SPRITE_SIZE_16x16, tileNum=0x20, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x0, y=0x0, mosaic=0x1, spriteSize=SPRITE_SIZE_16x16, tileNum=0x20, paletteNum=PAL_IX_BALL
gPikachuKickbackSpriteSet:: @ 0x086B1616
.2byte 2
@@ -9251,7 +9251,7 @@ gMainBoardHatchEggSprite:: @ 0x086B1846
gBallUpgradeFxSpriteSet:: @ 0x086B1858
.2byte 1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_32x32, tileNum=0xf7, priority=0x3, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_32x32, tileNum=0xf7, priority=0x3, paletteNum=PAL_IX_BALL
gSpoinkLauncherSpriteSet:: @ 0x086B1862
.2byte 3
@@ -9577,26 +9577,26 @@ gCatchBurstPanelElectrifyFxSpriteSet:: @ 0x086B1DA2
gMonCatchBallAbsorbPokemonFxSpriteSet:: @ 0x086B1DC4
.2byte 16
packed_sprite_oaml x=0xA, y=0x18, spriteSize=SPRITE_SIZE_16x32, tileNum=0x396, paletteNum=PAL_IX_1
packed_sprite_oaml x=0xA, y=0x38, spriteSize=SPRITE_SIZE_8x8, tileNum=0x39e, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0x5, y=0x20, spriteSize=SPRITE_SIZE_16x32, hFlip=0x1, vFlip=0x1, tileNum=0x396, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x3, y=0x18, spriteSize=SPRITE_SIZE_8x8, hFlip=0x1, vFlip=0x1, tileNum=0x39e, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x6, y=0x26, spriteSize=SPRITE_SIZE_32x32, hFlip=0x1, tileNum=0x362, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0x2, y=0x16, spriteSize=SPRITE_SIZE_32x16, hFlip=0x1, tileNum=0x372, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0x12, y=0x36, spriteSize=SPRITE_SIZE_8x8, hFlip=0x1, tileNum=0x37f, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0xA, y=0x26, spriteSize=SPRITE_SIZE_16x32, hFlip=0x1, tileNum=0x380, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0xA, y=0x16, spriteSize=SPRITE_SIZE_8x16, hFlip=0x1, tileNum=0x388, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0x2, y=0x46, spriteSize=SPRITE_SIZE_32x8, hFlip=0x1, tileNum=0x38a, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0xA, y=0x46, spriteSize=SPRITE_SIZE_8x8, hFlip=0x1, tileNum=0x38e, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0x2, y=0x6, spriteSize=SPRITE_SIZE_16x8, tileNum=0x38f, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0xA, y=0xE, spriteSize=SPRITE_SIZE_32x8, tileNum=0x391, paletteNum=PAL_IX_1
packed_sprite_oaml x=-0x1, y=-0x4, spriteSize=SPRITE_SIZE_16x16, tileNum=0x33b, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x7, y=0xC, spriteSize=SPRITE_SIZE_16x8, tileNum=0x341, paletteNum=PAL_IX_1
packed_sprite_oaml x=0xF, y=-0x4, spriteSize=SPRITE_SIZE_8x16, tileNum=0x33f, paletteNum=PAL_IX_1
packed_sprite_oaml x=0xA, y=0x18, spriteSize=SPRITE_SIZE_16x32, tileNum=0x396, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=0xA, y=0x38, spriteSize=SPRITE_SIZE_8x8, tileNum=0x39e, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0x5, y=0x20, spriteSize=SPRITE_SIZE_16x32, hFlip=0x1, vFlip=0x1, tileNum=0x396, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=0x3, y=0x18, spriteSize=SPRITE_SIZE_8x8, hFlip=0x1, vFlip=0x1, tileNum=0x39e, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=0x6, y=0x26, spriteSize=SPRITE_SIZE_32x32, hFlip=0x1, tileNum=0x362, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0x2, y=0x16, spriteSize=SPRITE_SIZE_32x16, hFlip=0x1, tileNum=0x372, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0x12, y=0x36, spriteSize=SPRITE_SIZE_8x8, hFlip=0x1, tileNum=0x37f, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0xA, y=0x26, spriteSize=SPRITE_SIZE_16x32, hFlip=0x1, tileNum=0x380, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0xA, y=0x16, spriteSize=SPRITE_SIZE_8x16, hFlip=0x1, tileNum=0x388, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0x2, y=0x46, spriteSize=SPRITE_SIZE_32x8, hFlip=0x1, tileNum=0x38a, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0xA, y=0x46, spriteSize=SPRITE_SIZE_8x8, hFlip=0x1, tileNum=0x38e, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0x2, y=0x6, spriteSize=SPRITE_SIZE_16x8, tileNum=0x38f, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0xA, y=0xE, spriteSize=SPRITE_SIZE_32x8, tileNum=0x391, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=-0x1, y=-0x4, spriteSize=SPRITE_SIZE_16x16, tileNum=0x33b, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=0x7, y=0xC, spriteSize=SPRITE_SIZE_16x8, tileNum=0x341, paletteNum=PAL_IX_BALL
packed_sprite_oaml x=0xF, y=-0x4, spriteSize=SPRITE_SIZE_8x16, tileNum=0x33f, paletteNum=PAL_IX_BALL
gMonCatchBallTrailSpriteSet:: @ 0x086B1E46
.2byte 1
packed_sprite_oaml x=0x0, y=0x0, objMode=ST_OAM_OBJ_BLEND, spriteSize=SPRITE_SIZE_16x16, tileNum=0x20, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x0, y=0x0, objMode=ST_OAM_OBJ_BLEND, spriteSize=SPRITE_SIZE_16x16, tileNum=0x20, paletteNum=PAL_IX_BALL
gMainModeStartBannerSpriteSet:: @ 0x086B1E50
.2byte 15
@@ -15417,7 +15417,7 @@ gBonusBoardRightFlipperSpriteSet:: @ 0x086BA176
gBonusBoardBallSpriteSet:: @ 0x086BA180
.2byte 1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_16x16, tileNum=0x20, priority=0x1, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_16x16, tileNum=0x20, priority=0x1, paletteNum=PAL_IX_BALL
gBonusBoardPausePanelSpriteSet:: @ 0x086BA18A
.2byte 11
@@ -15446,7 +15446,7 @@ gBonusBoardPauseBottomBorderSpriteSet:: @ 0x086BA1F6
gBonusBoardBallRespawnFxSpriteSet:: @ 0x086BA210
.2byte 1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_32x32, tileNum=0x39, priority=0x1, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_32x32, tileNum=0x39, priority=0x1, paletteNum=PAL_IX_BALL
gDusclopsBoardDuskullEntity0SpriteSet:: @ 0x086BA21A
.2byte 2
@@ -15586,7 +15586,7 @@ gKecleonReflectionHeadSpriteSet:: @ 0x086BA3F6
gKecleonReflectionBallSpriteSet:: @ 0x086BA408
.2byte 1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_16x16, vFlip=0x1, tileNum=0x20, priority=0x3, paletteNum=PAL_IX_1
packed_sprite_oaml x=0x0, y=0x0, spriteSize=SPRITE_SIZE_16x16, vFlip=0x1, tileNum=0x20, priority=0x3, paletteNum=PAL_IX_BALL
gKecleonBallRippleFxSpriteSet:: @ 0x086BA412
.2byte 4

View File

@@ -18,4 +18,68 @@
#define PAL_IX_14 14
#define PAL_IX_15 15
// Named OBJ Pals
#define PAL_IX_DIMMING_BASE_0 0 // single pal
#define PAL_IX_FLIPPERS 0
#define PAL_IX_HATCH_MACHINE_SPARKLE 0
#define PAL_IX_BALL 1
#define PAL_IX_CAPTURE_CUTSCENE_FX 1
#define PAL_IX_CENTER_GRAVITY_FX 1
#define PAL_IX_PORTRAIT_BORDER 1
#define PAL_IX_DIMMING_BASE_2 2 // of 7 pal on ruby, 6 pal on sapphire; (avoids shop sign)
#define PAL_IX_WAILMER 2
#define PAL_IX_RUBY_SHOP_SIGN 2
#define PAL_IX_CHIKORITA 3
#define PAL_IX_CHIKORITA_BLADE_FX 3
#define PAL_IX_CYNDAQUIL 3
#define PAL_IX_CHARGE_SPINNER 3
#define PAL_IX_PIKA_KICKBACK 3
#define PAL_IX_MAKUHITA_PUNCH_FX 3
#define PAL_IX_LINOONE 4
#define PAL_IX_NUZLEAF 4
#define PAL_IX_PELIPPER 4
#define PAL_IX_RUBY_MART_DOOR 5
#define PAL_IX_SHROOMISH 6
#define PAL_IX_SHARPEDO 6
#define PAL_IX_ZIGZAGOON 6
#define PAL_IX_GULPIN 7
#define PAL_IX_SEEDOT 7
#define PAL_IX_MAKUHITA 8
#define PAL_IX_SAPPHIRE_MART_SIGN 8
#define PAL_IX_CHARGE_INDICATOR 9
#define PAL_IX_PAUSE_TEXT 9
#define PAL_IX_RUBY_BUMPERS 9 // Chinchou, Lotad, Whiscash
#define PAL_IX_RAMP_PRIZE 10
#define PAL_IX_DIMMING_BASE_10 10 // of 3
#define PAL_IX_SAPPHIRE_SHOP_GUARD 10 // Plusle, Minun, Electric gate
#define PAL_IX_HATCH_EGG 11 // Also includes cave, and machine segment
#define PAL_IX_SPOINK 11
#define PAL_IX_TREECKO_1_UP 12
#define PAL_IX_ROULETTE_SLOT_A 12
#define PAL_IX_ROULETTE_SLOT_B 13
#define PAL_IX_CATCH_MON 13 // Also hatch mon
#define PAL_IX_LOCATION_PORTRAIT 13
#define PAL_IX_MON_PORTRAIT 13
#define PAL_IX_BANNER 14
#define PAL_IX_TRAVEL_PAINTER 14
#define PAL_IX_RUBY_EGG_DELIVERER 14 // Aerodactyl, Totodile
#define PAL_IX_LATI_BALL_SAVER 14
#define PAL_IX_CATCH_TILE_FX 14 // Includes tiles, particles, and the lightning
#define PAL_IX_SHOP_UI 14 // Arrows, Coin banner, Coin, Cost, tile change sheen
#define PAL_IX_MON_SHADOW_PORTRAIT 15
#define PAL_IX_EVO_ITEM 15
// Named BG Pals
#define PAL_IX_HUD 12 // timer, score, lives, coins, mons, charge indicator
#define PAL_IX_SHOP_BG 12 // top banner, scrolling dots, backing behind displayed item
// Used with objPaletteSets
#define LIGHTING_PAL_IX_NORMAL 0
#define LIGHTING_PAL_IX_DIMMING 1
#define LIGHTING_PAL_IX_DIM 2
#define LIGHTING_BASE_2_SAPPHIRE_COUNT 6
#define LIGHTING_BASE_2_RUBY_COUNT 7
#define LIGHTING_BASE_10_COUNT 3
#endif //GUARD_CONSTANTS_PALETTE_MAPPINGS_H

View File

@@ -208,7 +208,7 @@ struct PinballGame
/*0x06A*/ s16 hudSpriteBaseY;
/*0x06C*/ u16 timerBonus; //Additional time to be added to next timed event (Only for bonus fields or all timers?)
/*0x06E*/ s8 ballUpgradeFxTileIndex;
/*0x06F*/ s8 activePaletteIndex;
/*0x06F*/ s8 paletteDimmingIx; // 0= normal, 1=dimming, 2=dim. Used with banner/focus moments.
/*0x070*/ s8 paletteSwapActive;
/*0x071*/ s8 ballTrailEnabled;
/*0x072*/ s8 jirachiActivationFlags;
@@ -936,7 +936,19 @@ struct FieldBoardLayout
/*0x26*/ s16 ballSpawnX;
/*0x28*/ s16 ballSpawnY;
/*0x2A*/ s16 ballDrainY;
/*0x2C*/ Palette *objPaletteSets[3];
/* 3 full sets of 16 palettes, referenced in smaller banks
Set 0 : Normal light
Set 1 : Dimming light
Set 2 : Dim Light
Bank 0 : single slot.
Bank 2 : 6 (Sapphire) or 7(Ruby) slots.
Bank 10 : 3 slots.
This avoids slot 1 (ball) and the sapphire shop sign (constantly changing palette)
*/
/*0x2C*/ Palette *objPaletteSets[3];
/*0x38*/ struct BoardCollisionDataSet collision;
};

View File

@@ -196,18 +196,30 @@ void RenderBannerSlideAnimation(void)
else
{
gCurrentPinballGame->paletteSwapActive = TRUE;
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
}
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
}
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 2;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIM;
}
}
else if (gCurrentPinballGame->bannerSlideTimer > 0x24)
@@ -225,18 +237,31 @@ void RenderBannerSlideAnimation(void)
else
{
gCurrentPinballGame->paletteSwapActive = TRUE;
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
}
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
}
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 1;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIMMING;
}
}
}
@@ -266,17 +291,29 @@ void RenderBannerSlideAnimation(void)
gMain.blendBrightness = 4;
if (gCurrentPinballGame->bannerSlideTimer > 0x19)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
}
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 1;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIMMING;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
if (gCurrentPinballGame->bannerSlideTimer == 0x1D)
@@ -295,17 +332,30 @@ void RenderBannerSlideAnimation(void)
|| gCurrentPinballGame->prizeId != PRIZE_START_EVO_MODE))
{
gMain.blendBrightness = 0;
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
}
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 0;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_NORMAL;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
}

View File

@@ -209,11 +209,11 @@ void EndOfBallSequence(void)
DmaCopy16(3, gMainBoardEndOfBall_Gfx, (void *)0x6015800, 0x2800);
if (gMain.selectedField == FIELD_RUBY)
{
DmaCopy16(3, gEndOfBallBonus_Ruby_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gEndOfBallBonus_Ruby_Pal, OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gEndOfBallBonus_Sapphire_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gEndOfBallBonus_Sapphire_Pal, OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
}
m4aSongNumStart(SE_BONUS_PANEL_SLIDE);
@@ -458,12 +458,12 @@ void BallSaverAnimation(void)
DmaCopy16(3, gMainBoardBallSave_Gfx, (void *)0x06015800, 0x2400);
DmaCopy16(3, gMainBoardBallSaveLatios_Gfx, (void *)0x06016800, 0x800);
DmaCopy16(3, gMainBoardBallSaveLatiosArm_Gfx, (void *)0x06017000, 0xC0);
DmaCopy16(3, gBallSaver_Ruby_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gBallSaver_Ruby_Pal, OBJ_PLTT_SLOT(PAL_IX_LATI_BALL_SAVER), PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gMainBoardBallSave_Gfx, (void *)0x06015800, 0x2400);
DmaCopy16(3, gBallSaver_Sapphire_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gBallSaver_Sapphire_Pal, OBJ_PLTT_SLOT(PAL_IX_LATI_BALL_SAVER), PLTT_SLOT_SIZE);
}
gCurrentPinballGame->ballPhysicsState = BALL_PHYSICS_FROZEN;

View File

@@ -71,9 +71,13 @@ void PinballGame_State0_49ED4(void)
SetupDisplayRegistersForField();
InitPinballGameState();
loadFieldBoardGraphics();
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][0], OBJ_PLTT, OBJ_PLTT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT,
OBJ_PLTT_SIZE);
if (gMain.eReaderBonuses[EREADER_DX_MODE_CARD])
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
ConfigureBoardProcessesForField();
for (i = 0; i < 9; i++)
@@ -103,9 +107,13 @@ void PinballGame_State0_49ED4(void)
SetupDisplayRegistersForField();
InitPinballGameState();
loadFieldBoardGraphics();
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][0], OBJ_PLTT, OBJ_PLTT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT,
OBJ_PLTT_SIZE);
if (gMain.eReaderBonuses[EREADER_DX_MODE_CARD])
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
ConfigureBoardProcessesForField();
for (i = 0; i < 9; i++)
@@ -129,7 +137,10 @@ void PinballGame_State0_49ED4(void)
SetupDisplayRegistersForField();
InitPinballGameState();
loadFieldBoardGraphics();
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][0], OBJ_PLTT, OBJ_PLTT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT,
OBJ_PLTT_SIZE);
ConfigureBoardProcessesForField();
for (i = 0; i < 9; i++)
CurrentBoardProcPairs_020028D8[i].initFunc();
@@ -156,7 +167,7 @@ void PinballGame_State0_49ED4(void)
if (gMain.mainState != STATE_GAME_IDLE && gCurrentPinballGame->savedBgmSongHeader && gMPlayInfo_BGM.status < 0)
MPlayStart(&gMPlayInfo_BGM, gCurrentPinballGame->savedBgmSongHeader);
if (gMain.selectedField < MAIN_FIELD_COUNT)
RestoreBoardObjPalettes(gCurrentPinballGame->activePaletteIndex);
RestoreBoardObjPalettes(gCurrentPinballGame->paletteDimmingIx);
break;
case 1:
case 2:

View File

@@ -61,9 +61,9 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15][gCurrentPinballGame->portraitGfxIndex[picIx] % 15],
OBJ_PLTT_SLOT(PAL_IX_13),
OBJ_PLTT_SLOT(PAL_IX_CATCH_MON),
PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_15), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_MON_SHADOW_PORTRAIT), PLTT_SLOT_SIZE);
break;
case PORTRAIT_STATE_EVO_PREVIEW:
if (gCurrentPinballGame->evoChainPosition > 0)
@@ -74,13 +74,13 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15][gCurrentPinballGame->portraitGfxIndex[picIx] % 15],
OBJ_PLTT_SLOT(PAL_IX_13),
OBJ_PLTT_SLOT(PAL_IX_CATCH_MON),
PLTT_SLOT_SIZE);
}
else if (gMain_saveData.pokedexFlags[gCurrentPinballGame->evoTargetSpecies] < SPECIES_CAUGHT)
{
gCurrentPinballGame->portraitGfxIndex[picIx] = gCurrentPinballGame->evoTargetSpecies;
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
}
else
{
@@ -88,7 +88,7 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15][gCurrentPinballGame->portraitGfxIndex[picIx] % 15],
OBJ_PLTT_SLOT(PAL_IX_13),
OBJ_PLTT_SLOT(PAL_IX_CATCH_MON),
PLTT_SLOT_SIZE);
}
}
@@ -98,7 +98,7 @@ void LoadPortraitGraphics(s16 displayMode, s16 picIx)
DmaCopy16(
3,
gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[picIx] / 15][gCurrentPinballGame->portraitGfxIndex[picIx] % 15],
OBJ_PLTT_SLOT(PAL_IX_13),
OBJ_PLTT_SLOT(PAL_IX_MON_PORTRAIT),
PLTT_SLOT_SIZE);
}
@@ -244,7 +244,7 @@ void UpdatePortraitSpritePositions(void)
for (i = 0; i < 6; i++)
{
oamSimple = &group->oam[i];
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_12;
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_ROULETTE_SLOT_A;
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;
}

View File

@@ -513,7 +513,7 @@ void ProcessBonusBoardBallDrain(void)
gCurrentPinballGame->ballUpgradeType--;
gCurrentPinballGame->ballUpgradeTimer = TICKS_FOR_TIME(1,0);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
gCurrentPinballGame->ball->positionQ1.x = gCurrentPinballGame->ball->positionQ0.x * 2;
@@ -569,7 +569,7 @@ void ResetBoardStateOnDeath(void)
{
gCurrentPinballGame->ballUpgradeType = BALL_UPGRADE_TYPE_MASTER_BALL;
gCurrentPinballGame->ballUpgradeTimer = TICKS_FOR_TIME(1,0);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
else
{
@@ -578,7 +578,7 @@ void ResetBoardStateOnDeath(void)
}
gCurrentPinballGame->ballUpgradeTimerPaused = FALSE;
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
gCurrentPinballGame->bonusMultiplier = gCurrentPinballGame->progressLevel;
gCurrentPinballGame->progressLevel = 1;
if (gCurrentPinballGame->whiscashFrameIx == WHISCASH_FRAME_GONE_AFTER_HIT)

View File

@@ -37,7 +37,7 @@ void MainBoardProcess_7B_12524(void)
gCurrentPinballGame->ballUpgradeTimer = TICKS_FOR_TIME(1,0);
}
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
}
@@ -344,7 +344,7 @@ void BonusBoardProcess_7B_12BF8()
gCurrentPinballGame->ballRespawnTimer++;
if (r5 >= 7 && r5 <= 10)
{
DmaCopy16(3, gBall_Pals[(s16) (gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[(s16) (gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
}
@@ -359,7 +359,7 @@ void BonusBoardProcess_7B_12BF8()
gCurrentPinballGame->ballRespawnState = BALL_SPAWN_STATE_LIVE_BALL;
spriteGroup->active = FALSE;
gCurrentPinballGame->ballPhysicsState = BALL_PHYSICS_NORMAL;
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
}
else
@@ -395,7 +395,7 @@ void BonusBoardProcess_7B_12BF8()
{
gCurrentPinballGame->ballRespawnState = BALL_SPAWN_STATE_LIVE_BALL;
spriteGroup->active = FALSE;
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
}
}
@@ -414,7 +414,7 @@ void BonusBoardProcess_7B_12BF8()
gCurrentPinballGame->ballUpgradeTimer = TICKS_FOR_TIME(1,0);
}
}
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
}
}

View File

@@ -218,11 +218,11 @@ void ProcessEventTimer(void)
{
if (gCurrentPinballGame->eventTimer & 0x8)
{
DmaCopy16(3, gTimer_Warning_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Warning_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->eventTimer == TIMER_TEXT_RED_UNDER_TIME)
@@ -232,11 +232,11 @@ void ProcessEventTimer(void)
{
if ((gCurrentPinballGame->eventTimer % 22) / 11)
{
DmaCopy16(3, gTimer_Slow_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Slow_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
}
}
}

View File

@@ -109,7 +109,10 @@ void ProcessBonusBannerAndScoring(void)
break;
}
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][var0], OBJ_PLTT_SLOT(PAL_IX_8), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][var0],
OBJ_PLTT_SLOT(PAL_IX_8),
PLTT_SLOT_SIZE);
if (group->active)
{

View File

@@ -983,7 +983,7 @@ void UpdateGroudonFieldEntities(void)
for (j = 0; j < 6; j++)
{
oamSimple = &group->oam[j];
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_13;
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_MON_PORTRAIT;
gOamBuffer[oamSimple->oamId].priority = gCurrentPinballGame->creatureOamPriority;
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;

View File

@@ -111,7 +111,7 @@ void KyogreBoardProcess_3A_383E4(void)
UpdateKyogreFieldEntities();
AnimateKyogreBackground();
m4aSongNumStart(MUS_BONUS_FIELD_KYOGRE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
DmaCopy16(3, gKyogreFadeInPaletteProgression[0][0], BG_PLTT, 8*PLTT_SLOT_SIZE);
DmaCopy16(3, gBonusStageObjPal, OBJ_PLTT_SLOT(PAL_IX_9), PLTT_SLOT_SIZE);
}
@@ -840,7 +840,7 @@ void UpdateKyogreFieldEntities(void)
for (i = 0; i < 6; i++)
{
oamSimple = &group->oam[i];
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_13;
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_MON_PORTRAIT;
gOamBuffer[oamSimple->oamId].priority = gCurrentPinballGame->creatureOamPriority;
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;
@@ -885,7 +885,7 @@ void UpdateKyogreFieldEntities(void)
if (gCurrentPinballGame->freezeTrapAnimFrame == 2)
{
int a; // force addition of 8 instead of offsetting the global constant
DmaCopy16(3, gBall_Pals[a = gCurrentPinballGame->ballUpgradeType + 8], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[a = gCurrentPinballGame->ballUpgradeType + 8], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
break;
@@ -991,7 +991,7 @@ void UpdateKyogreFieldEntities(void)
if (gCurrentPinballGame->freezeTrapAnimFrame == 15)
{
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), 0x20);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
m4aSongNumStart(SE_KYOGRE_FREEZE_ESCAPED);
}
}

View File

@@ -369,7 +369,7 @@ void HandleRubyBumperHit(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[7], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[7], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[7], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 0xCE;
}
}

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_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gShopNameDisplay_Pals, BG_PLTT_SLOT(PAL_IX_SHOP_BG), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->shopEntryTimer >= 145 && gCurrentPinballGame->shopEntryTimer < 150)
@@ -44,14 +44,23 @@ void UpdateShopEntryAnimation(s16 arg0)
{
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 1;
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIMMING;
gCurrentPinballGame->paletteSwapActive = FALSE;
}
}
@@ -63,14 +72,23 @@ void UpdateShopEntryAnimation(s16 arg0)
{
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 2;
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIM;
gCurrentPinballGame->paletteSwapActive = FALSE;
}
}
@@ -92,7 +110,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_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gShopEvoUI_Pals, OBJ_PLTT_SLOT(PAL_IX_SHOP_UI), PLTT_SLOT_SIZE);
DmaCopy16(3, gShopModeBG0_0_Tilemap, BG_CHAR_SCREEN_ADDR(0,4), 0xC40);
gMain.bgOffsets[0].yOffset = 80;
@@ -276,18 +294,30 @@ void UpdateShopEntryAnimation(s16 arg0)
if (gCurrentPinballGame->catchModeEventTimer <= 3)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 1;
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIMMING;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
}
@@ -297,18 +327,30 @@ void UpdateShopEntryAnimation(s16 arg0)
if (gCurrentPinballGame->catchModeEventTimer == 0)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 0;
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_NORMAL;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
}
@@ -379,7 +421,7 @@ void UpdateShopEntryAnimation(s16 arg0)
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[3], OBJ_VRAM1 + 0x1800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[3], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[3], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 206;
gCurrentPinballGame->shopEntryTimer = 148;
@@ -395,7 +437,7 @@ void UpdateShopEntryAnimation(s16 arg0)
gCurrentPinballGame->activePortraitType = 18;
DmaCopy16(3, &gPokemonNameDisplayGfx, OBJ_VRAM1 + 0x1C00, 0x940);
DmaCopy16(3, gEvoNameDisplay_Pals, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gEvoNameDisplay_Pals, BG_PLTT_SLOT(PAL_IX_SHOP_BG), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->shopEntryTimer == 145)
@@ -429,7 +471,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, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gShopEvoUI_Pals, OBJ_PLTT_SLOT(PAL_IX_SHOP_UI), PLTT_SLOT_SIZE);
gMain.bgOffsets[0].yOffset = 80;
gMain.shopPanelSlideOffset = 0;
@@ -710,17 +752,29 @@ void UpdateShopEntryAnimation(s16 arg0)
if (gCurrentPinballGame->catchModeEventTimer <= 3)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 1;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIMMING;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
}
@@ -731,18 +785,30 @@ void UpdateShopEntryAnimation(s16 arg0)
if (gCurrentPinballGame->catchModeEventTimer != 0)
return;
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 0;
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_NORMAL;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
}

View File

@@ -52,7 +52,7 @@ void CleanupCatchEmState(void)
gCurrentPinballGame->portraitDisplayState = PORTRAIT_DISPLAY_MODE_BOARD_CENTER;
ResetEventState();
for (i = 0; i < 6; i++)
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_13;
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_MON_PORTRAIT;
for (i = 0; i < 3; i++)
{
@@ -93,7 +93,7 @@ void InitCatchEmMode(void)
}
gCurrentPinballGame->catchEmModeStartCount++;
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
for (i = 0; i < 6; i++)
{
@@ -148,7 +148,7 @@ void UpdateCatchEmMode(void)
gCurrentPinballGame->hatchRevealPhase = 0;
gCurrentPinballGame->boardSubState++;
for (i = 0; i < 6; i++)
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_15;
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_MON_SHADOW_PORTRAIT;
break;
case CATCH_EM_SUBSTATE_START_MODE_BANNER:
if (gMain.modeChangeFlags == MODE_CHANGE_NONE)
@@ -175,7 +175,7 @@ void UpdateCatchEmMode(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[2], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[2], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[2], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 0xCE;
}
else if (gCurrentPinballGame->modeAnimTimer == 73)
@@ -210,7 +210,7 @@ void UpdateCatchEmMode(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[2], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[2], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[2], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 0xCE;
}
else if (gCurrentPinballGame->modeAnimTimer == 47)
@@ -242,7 +242,7 @@ void UpdateCatchEmMode(void)
{
gCurrentPinballGame->activePortraitType = 10;
DmaCopy16(3, gCatchMonAppearFx_Gfx, (void *)0x06015800, 0x1400);
DmaCopy16(3, gCatchMonAppearFx_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchMonAppearFx_Pal, OBJ_PLTT_SLOT(PAL_IX_CATCH_TILE_FX), PLTT_SLOT_SIZE);
m4aSongNumStart(SE_CATCH_MON_ENTITY_APPEARS);
gCurrentPinballGame->boardSubState++;
gCurrentPinballGame->stageTimer = 0;
@@ -253,8 +253,8 @@ void UpdateCatchEmMode(void)
return;
case CATCH_EM_SUBSTATE_SETUP_CATCH_HIT_COUNT:
ResetCatchFrameState();
DmaCopy16(3, gCaptureHit_Pal, OBJ_PLTT_SLOT(PAL_IX_15), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes, OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCaptureHit_Pal, OBJ_PLTT_SLOT(PAL_IX_MON_SHADOW_PORTRAIT), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes, OBJ_PLTT_SLOT(PAL_IX_MON_PORTRAIT), PLTT_SLOT_SIZE);
gCurrentPinballGame->catchTargetX = 118;
gCurrentPinballGame->catchTargetY = 264;
gCurrentPinballGame->evoBlinkTimer = 0;
@@ -339,7 +339,7 @@ void InitJirachiBonus(void)
gCurrentPinballGame->holeIndicators[1] = gCurrentPinballGame->holeIndicators[0];
gCurrentPinballGame->holeIndicators[2] = gCurrentPinballGame->holeIndicators[0];
gCurrentPinballGame->holeIndicators[3] = gCurrentPinballGame->holeIndicators[0];
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
}
void UpdateJirachiBonus(void)
@@ -383,7 +383,7 @@ void UpdateJirachiBonus(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[5], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[5], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[5], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 0xCE;
}
else if (gCurrentPinballGame->modeAnimTimer == 73)
@@ -417,7 +417,7 @@ void UpdateJirachiBonus(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[5], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[5], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[5], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 0xCE;
return;
}
@@ -439,8 +439,8 @@ void UpdateJirachiBonus(void)
}
break;
case JIRACHI_CATCH_SUBSTATE_SETUP_CATCH_HIT_COUNT:
DmaCopy16(3, gCaptureHit_Pal, OBJ_PLTT_SLOT(PAL_IX_15), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes, OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCaptureHit_Pal, OBJ_PLTT_SLOT(PAL_IX_MON_SHADOW_PORTRAIT), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes, OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
gCurrentPinballGame->evoBlinkTimer = 0;
gCurrentPinballGame->catchLights[0] = 2;
gCurrentPinballGame->catchLights[1] = 2;
@@ -880,7 +880,7 @@ void PlayCatchMonAppearsAnimation(void)
if (gCurrentPinballGame->catchRevealFrameId > 2)
{
DmaCopy16(3, gCatchSpritePalettes, OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes, OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpriteGfxBuffer, (void *)0x06010CA0, 0x480);
DrawCatchMonBoardSprite();
}
@@ -921,6 +921,6 @@ void ResetCatchFrameState(void)
gCurrentPinballGame->catchRevealFrameId = 0;
for (i = 0; i < 6; i++)
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_13;
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_LOCATION_PORTRAIT;
}

View File

@@ -73,7 +73,7 @@ void RevealCatchTilesSequential(void)
if (gCurrentPinballGame->catchRevealFrameId == 0 && gCurrentPinballGame->catchTileRevealFrameAnimTimer == 0)
{
gCurrentPinballGame->activePortraitType = 11;
DmaCopy16(3, gCatchTile_Reveal_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchTile_Reveal_Pal, OBJ_PLTT_SLOT(PAL_IX_CATCH_TILE_FX), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchTile_RevealTilesGfx, (void *)0x06015800, 0x2800);
}
@@ -197,7 +197,7 @@ void RevealCatchTilesBurst(void)
case 1:
gCurrentPinballGame->activePortraitType = 5;
DmaCopy16(3, gCatchTile_BurstStart_Gfx, (void *)0x06015800, 0x2000);
DmaCopy16(3, gCatchTile_BurstStart_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchTile_BurstStart_Pal, OBJ_PLTT_SLOT(PAL_IX_CATCH_TILE_FX), PLTT_SLOT_SIZE);
gMain.fieldSpriteGroups[FIELD_SG_CATCH_BURST_LIGHTNING_STRIKE]->active = TRUE;
m4aSongNumStart(SE_CATCH_ALL_REVEAL_LIGHTNING);
gCurrentPinballGame->hatchRevealPhase++;
@@ -243,7 +243,7 @@ void RevealCatchTilesBurst(void)
case 3:
gCurrentPinballGame->activePortraitType = 6;
DmaCopy16(3, gCatchTile_BurstStage2_Gfx, (void *)0x06015800, 0x800);
DmaCopy16(3, gCatchTile_BurstStage2_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchTile_BurstStage2_Pal, OBJ_PLTT_SLOT(PAL_IX_CATCH_TILE_FX), PLTT_SLOT_SIZE);
gMain.fieldSpriteGroups[FIELD_SG_CATCH_BURST_TILE_FLASH_FX]->active = TRUE;
gCurrentPinballGame->hatchRevealPhase++;
gCurrentPinballGame->revealAnimFrameCounter = 0;
@@ -284,7 +284,7 @@ void RevealCatchTilesBurst(void)
case 5:
gCurrentPinballGame->activePortraitType = 7;
DmaCopy16(3, gCatchTile_BurstStage3_Gfx, (void *)0x06015800, 0x2000);
DmaCopy16(3, gCatchTile_BurstStage3_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchTile_BurstStage3_Pal, OBJ_PLTT_SLOT(PAL_IX_CATCH_TILE_FX), PLTT_SLOT_SIZE);
gCurrentPinballGame->hatchRevealPhase++;
InitBurstTileParticles();
m4aSongNumStart(SE_CATCH_ALL_REVEAL_SHATTER);
@@ -302,7 +302,7 @@ void RevealCatchTilesBurst(void)
else
{
for (i = 0; i < 6; i++)
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_13;
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_MON_PORTRAIT;
gMain.blendBrightness = ((8 - gCurrentPinballGame->revealAnimFrameCounter) / 4) + 16;
}
@@ -328,7 +328,7 @@ void RevealCatchTilesBurst(void)
case 7:
gCurrentPinballGame->activePortraitType = 8;
DmaCopy16(3, gCatchTile_BurstStage4_Gfx, (void *)0x06015800, 0x1800);
DmaCopy16(3, gCatchTile_BurstStage4_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchTile_BurstStage4_Pal, OBJ_PLTT_SLOT(PAL_IX_CATCH_TILE_FX), PLTT_SLOT_SIZE);
gMain.fieldSpriteGroups[FIELD_SG_CATCH_BURST_PANEL_ELECTRIFY_FX]->active = TRUE;
gCurrentPinballGame->hatchRevealPhase++;
gCurrentPinballGame->startButtonDisabled = FALSE;

View File

@@ -390,7 +390,7 @@ void GivePrize(void)
gCurrentPinballGame->ballUpgradeTimer = TICKS_FOR_TIME(1,0);
MPlayStart(&gMPlayInfo_SE1, &se_ball_upgrade);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
break;
case PRIZE_BALL_UPGRADE_TO_MASTER:
@@ -399,7 +399,7 @@ void GivePrize(void)
gCurrentPinballGame->ballUpgradeType = BALL_UPGRADE_TYPE_MASTER_BALL;
gCurrentPinballGame->ballUpgradeTimer = TICKS_FOR_TIME(1,0);
MPlayStart(&gMPlayInfo_SE1, &se_ball_upgrade);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
break;
case PRIZE_10_COINS:
@@ -588,22 +588,34 @@ void RunMonCaptureSequence(void)
break;
case 2:
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
gMain.blendBrightness = 4;
if (gCurrentPinballGame->captureSequenceFrame > 1)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 1;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIMMING;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
break;
@@ -613,21 +625,33 @@ void RunMonCaptureSequence(void)
if (gCurrentPinballGame->captureSequenceFrame > 1)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[2][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 2;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIM][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIM;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
DmaCopy16(3, gBall_Pals[8], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[8], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
break;
case 4:
@@ -649,15 +673,15 @@ void RunMonCaptureSequence(void)
&& gCurrentPinballGame->boardSubState == JIRACHI_CATCH_SUBSTATE_CATCH_HIT_PHASE)
))
{
DmaCopy16(3, gCatchSpritePalettes[2], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes[2], OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
}
DmaCopy16(3, gBall_Pals[8], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[8], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
gMain.blendBrightness = 6;
}
else
{
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
gMain.blendBrightness = 7;
}
@@ -705,7 +729,7 @@ void RunMonCaptureSequence(void)
gMain.fieldSpriteGroups[FIELD_SG_CAPTURE_MON_BALL_FX]->active = FALSE;
break;
case 11:
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
tempVector.x = (gCurrentPinballGame->catchTargetX << 8) - gCurrentPinballGame->ball->positionQ8.x;
tempVector.y = (gCurrentPinballGame->catchTargetY << 8) - gCurrentPinballGame->ball->positionQ8.y;
@@ -725,7 +749,7 @@ void RunMonCaptureSequence(void)
|| (gCurrentPinballGame->boardState == MAIN_BOARD_STATE_JIRACHI_CATCH_MODE
&& gCurrentPinballGame->boardSubState == JIRACHI_CATCH_SUBSTATE_CATCH_HIT_PHASE))
{
DmaCopy16(3, gCatchSpritePalettes[0], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes[0], OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
}
for (i = 0; i < 4; i++)
@@ -764,12 +788,12 @@ void RunMonCaptureSequence(void)
break;
case 14:
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
gCurrentPinballGame->ball->spinAngle -= ANGLE_45;
break;
case 15:
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[(s16)(gCurrentPinballGame->ballUpgradeType + 4)], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
gCurrentPinballGame->ball->spinAngle -= ANGLE_45;
break;
@@ -777,7 +801,7 @@ void RunMonCaptureSequence(void)
if (gCurrentPinballGame->captureSequenceFrame == 0)
m4aSongNumStart(SE_MON_CATCH_ENERGY_BEAM);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
gCurrentPinballGame->ball->spinAngle = 0x7000;
break;
@@ -844,7 +868,7 @@ void RunMonCaptureSequence(void)
&& gCurrentPinballGame->boardSubState == CATCH_EM_SUBSTATE_CATCH_HIT_PHASE)
|| (gCurrentPinballGame->boardState == MAIN_BOARD_STATE_JIRACHI_CATCH_MODE
&& gCurrentPinballGame->boardSubState == JIRACHI_CATCH_SUBSTATE_CATCH_HIT_PHASE))
DmaCopy16(3, gCatchSpritePalettes[1], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes[1], OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
}
else if (gCurrentPinballGame->captureSequenceTimer == 19 || gCurrentPinballGame->captureSequenceTimer == 22)
{
@@ -855,7 +879,7 @@ void RunMonCaptureSequence(void)
&& gCurrentPinballGame->boardSubState == CATCH_EM_SUBSTATE_CATCH_HIT_PHASE)
|| (gCurrentPinballGame->boardState == MAIN_BOARD_STATE_JIRACHI_CATCH_MODE
&& gCurrentPinballGame->boardSubState == JIRACHI_CATCH_SUBSTATE_CATCH_HIT_PHASE))
DmaCopy16(3, gCatchSpritePalettes[3], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePalettes[3], OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->captureSequenceTimer == 23)
@@ -940,7 +964,7 @@ void RunMonCaptureSequence(void)
case 29:
gMain.blendBrightness = 4;
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
spriteGroup = gMain.fieldSpriteGroups[FIELD_SG_CAPTURE_MON_BALL_FX];
@@ -972,17 +996,29 @@ void RunMonCaptureSequence(void)
{
if (gCurrentPinballGame->captureSequenceFrame == 0)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[1][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 1;
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_DIMMING][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_DIMMING;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
}
@@ -992,18 +1028,30 @@ void RunMonCaptureSequence(void)
if (gCurrentPinballGame->captureSequenceFrame > 4)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[0][10], OBJ_PLTT_SLOT(PAL_IX_10), 3*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[LIGHTING_PAL_IX_NORMAL][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
LIGHTING_BASE_10_COUNT * PLTT_SLOT_SIZE);
gCurrentPinballGame->activePaletteIndex = 0;
gCurrentPinballGame->paletteDimmingIx = LIGHTING_PAL_IX_NORMAL;
gCurrentPinballGame->paletteSwapActive = TRUE;
}
}

View File

@@ -50,27 +50,39 @@ void RestoreBoardObjPalettes(s16 arg0)
{
if (gCurrentPinballGame->paletteSwapActive == TRUE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[arg0][0], OBJ_PLTT_SLOT(PAL_IX_0), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[arg0][PAL_IX_DIMMING_BASE_0],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_0),
PLTT_SLOT_SIZE);
}
if (gMain.selectedField == FIELD_SAPPHIRE)
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[arg0][2], OBJ_PLTT_SLOT(PAL_IX_2), 6*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[arg0][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_SAPPHIRE_COUNT * PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[arg0][2], OBJ_PLTT_SLOT(PAL_IX_2), 7*PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[arg0][PAL_IX_DIMMING_BASE_2],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_2),
LIGHTING_BASE_2_RUBY_COUNT * PLTT_SLOT_SIZE);
}
DmaCopy16(3, gBoardConfig.fieldLayout.objPaletteSets[arg0][10], OBJ_PLTT_SLOT(PAL_IX_10), PLTT_SLOT_SIZE);
DmaCopy16(3,
gBoardConfig.fieldLayout.objPaletteSets[arg0][PAL_IX_DIMMING_BASE_10],
OBJ_PLTT_SLOT(PAL_IX_DIMMING_BASE_10),
PLTT_SLOT_SIZE);
// related to Y position of camera on the field
if (gCurrentPinballGame->cameraYViewport < 170)
{
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][arg0 * 2], OBJ_PLTT_SLOT(PAL_IX_11), PLTT_SLOT_SIZE);
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][arg0 * 2], OBJ_PLTT_SLOT(PAL_IX_HATCH_EGG), PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][arg0 * 2 + 1], OBJ_PLTT_SLOT(PAL_IX_11), PLTT_SLOT_SIZE);
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][arg0 * 2 + 1], OBJ_PLTT_SLOT(PAL_IX_SPOINK), PLTT_SLOT_SIZE);
}
}

View File

@@ -68,7 +68,7 @@ void InitEvolutionMode(void)
gCurrentPinballGame->evoItemGfxIndex = 0;
}
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
gCurrentPinballGame->evoArrowProgress = 0;
gCurrentPinballGame->shopArrowActive = FALSE;
gCurrentPinballGame->catchModeEventTimer = 0;
@@ -389,7 +389,7 @@ void UpdateEvolutionItemAnimation(void)
{
gCurrentPinballGame->activePortraitType = 15;
DmaCopy16(3, gEvoItemAppear_GfxList[gCurrentPinballGame->evoItemGfxIndex], (void *)0x06015800, 0x1C00);
DmaCopy16(3, gEvoItem_Pals[gCurrentPinballGame->evoItemGfxIndex], OBJ_PLTT_SLOT(PAL_IX_15), PLTT_SLOT_SIZE);
DmaCopy16(3, gEvoItem_Pals[gCurrentPinballGame->evoItemGfxIndex], OBJ_PLTT_SLOT(PAL_IX_EVO_ITEM), PLTT_SLOT_SIZE);
gCurrentPinballGame->evoItemAnimFrame = 0;
gCurrentPinballGame->evoItemAnimFrameTimer = 0;
}

View File

@@ -32,9 +32,9 @@ void InitBoardIntroMode(void)
LoadPortraitGraphics(PORTRAIT_STATE_CURRENT_LOCATION, PORTRAIT_MAIN_SLOT);
LoadPortraitGraphics(PORTRAIT_STATE_CURRENT_LOCATION, PORTRAIT_ALT_SLOT);
for (i = 0; i < 6; i++)
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_13;
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_LOCATION_PORTRAIT;
DmaCopy16(3, gTravelPortrait_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gTravelPortrait_Pal, OBJ_PLTT_SLOT(PAL_IX_TRAVEL_PAINTER), PLTT_SLOT_SIZE);
DmaCopy16(3, gAreaRouletteSelectedFx_Gfx, (void *)0x06015800, 0x280);
gCurrentPinballGame->activePortraitType = 12;
}

View File

@@ -133,7 +133,7 @@ void AnimateOneUpSprite(void)
if (gCurrentPinballGame->oneUpAnimTimer == 90)
{
group->active = TRUE;
DmaCopy16(3, gOneUpSprite_Pal, OBJ_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gOneUpSprite_Pal, OBJ_PLTT_SLOT(PAL_IX_TREECKO_1_UP), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->oneUpAnimTimer == 85)
@@ -186,11 +186,11 @@ void UpdateSpoinkAnimation(void)
{
if (gCurrentPinballGame->cameraYViewport < 170)
{
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][gCurrentPinballGame->activePaletteIndex * 2], OBJ_PLTT_SLOT(PAL_IX_11), PLTT_SLOT_SIZE);
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][gCurrentPinballGame->paletteDimmingIx * 2], OBJ_PLTT_SLOT(PAL_IX_HATCH_EGG), PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][gCurrentPinballGame->activePaletteIndex * 2 + 1], OBJ_PLTT_SLOT(PAL_IX_11), PLTT_SLOT_SIZE);
DmaCopy16(3, gFieldVariant_Pals[gMain.selectedField][gCurrentPinballGame->paletteDimmingIx * 2 + 1], OBJ_PLTT_SLOT(PAL_IX_SPOINK), PLTT_SLOT_SIZE);
}
switch (gCurrentPinballGame->spoinkEntityState)
@@ -322,7 +322,7 @@ void RunEvolutionCutscene(void)
{
gCurrentPinballGame->activePortraitType = 16;
DmaCopy16(3, gBoardActionTilesGfx, (void *)0x06015800, 0x2400);
DmaCopy16(3, gBoardActionObj_Pals, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gBoardActionObj_Pals, OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.fieldSpriteGroups[FIELD_SG_EVOLUTION_TEXT_LARGE_BOTTOM]->active = TRUE;
gMain.fieldSpriteGroups[FIELD_SG_EVOLUTION_TEXT_LARGE_TOP]->active = TRUE;
gMain.fieldSpriteGroups[FIELD_SG_EVOLUTION_TEXT_MEDIUM_LOWER]->active = TRUE;
@@ -388,7 +388,7 @@ void RunEvolutionCutscene(void)
destColor[i] = RGB5(sp210[0], sp210[1], sp210[2]);
}
DmaCopy16(3, destColor, OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, destColor, OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
}
if (var0 == 10)
@@ -630,7 +630,7 @@ void RunEvolutionCutscene(void)
LoadPortraitGraphics(PORTRAIT_STATE_POKEMON_DISPLAY, PORTRAIT_MAIN_SLOT);
gCurrentPinballGame->activePortraitType = 17;
DmaCopy16(3, gCatchTile_BurstStage4_Gfx, (void *)0x06015800, 0x1800);
DmaCopy16(3, gCatchTile_BurstStage4_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchTile_BurstStage4_Pal, OBJ_PLTT_SLOT(PAL_IX_CATCH_TILE_FX), PLTT_SLOT_SIZE);
gCurrentPinballGame->creatureOamPriority = 3;
}
}
@@ -719,13 +719,13 @@ void RunTravelEventCutscene(void)
if (gMain.selectedField == FIELD_RUBY)
{
DmaCopy16(3, gRubyTravelPaint_Gfx, (void *)0x06015800, 0x1800);
DmaCopy16(3, gRubyPainter_Pals, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gRubyPainter_Pals, OBJ_PLTT_SLOT(PAL_IX_TRAVEL_PAINTER), PLTT_SLOT_SIZE);
DmaCopy16(3, gRubyTravelVolbeat_Gfx, (void *)0x06015800, 0x480);
}
else
{
DmaCopy16(3, gSapphireTravelPaint_Gfx, (void *)0x06015800, 0x1800);
DmaCopy16(3, gSapphirePainter_Pals, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gSapphirePainter_Pals, OBJ_PLTT_SLOT(PAL_IX_TRAVEL_PAINTER), PLTT_SLOT_SIZE);
DmaCopy16(3, gSapphireTravelIllumise_Gfx, (void *)0x06015800, 0x480);
}
}

View File

@@ -528,7 +528,7 @@ void UpdateRubyEvolutionShopSprite(void)
if (gCurrentPinballGame->shopAnimTimer == 0)
{
group->active = TRUE;
DmaCopy16(3, gRubyShopSign_Pal, OBJ_PLTT_SLOT(PAL_IX_2), PLTT_SLOT_SIZE);
DmaCopy16(3, gRubyShopSign_Pal, OBJ_PLTT_SLOT(PAL_IX_RUBY_SHOP_SIGN), PLTT_SLOT_SIZE);
}
else if (gCurrentPinballGame->shopAnimTimer == 37)
{
@@ -857,7 +857,7 @@ void InitTotodileEggDelivery(void)
gCurrentPinballGame->portraitOffsetX = 240;
gCurrentPinballGame->portraitOffsetY = 160;
gCurrentPinballGame->activePortraitType = 3;
DmaCopy16(3, gTotodile_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gTotodile_Pal, OBJ_PLTT_SLOT(PAL_IX_RUBY_EGG_DELIVERER), PLTT_SLOT_SIZE);
DmaCopy16(3, gTotodileEggDelivery_Gfx, (void *)0x06015800, 0xCA0);
}
@@ -940,7 +940,7 @@ void InitAerodactylEggDelivery(void)
gCurrentPinballGame->portraitOffsetX = gCurrentPinballGame->eggDeliveryX / 20 - gFlyingCreatureCameraOffsets[0].x;
gCurrentPinballGame->portraitOffsetY = gCurrentPinballGame->eggDeliveryY / 20 - gFlyingCreatureCameraOffsets[0].y;
gCurrentPinballGame->activePortraitType = 2;
DmaCopy16(3, gAerodactlyFlight_Pal, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gAerodactlyFlight_Pal, OBJ_PLTT_SLOT(PAL_IX_RUBY_EGG_DELIVERER), PLTT_SLOT_SIZE);
DmaCopy16(3, gAerodactlyFlight_Gfx, (void *)0x06015800, 0x1000);
}
@@ -1713,7 +1713,7 @@ void UpdateEggMode(void)
group->baseX = gCurrentPinballGame->walkMonXPos / 10 - gCurrentPinballGame->cameraXOffset;
group->baseY = gCurrentPinballGame->walkMonYPos / 10 - gCurrentPinballGame->cameraYOffset;
DmaCopy16(3, gCatchSpriteFrameBuffer[var0], (void *)0x060112A0, 0x120);
DmaCopy16(3, gCatchSpritePaletteBuffer, OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gCatchSpritePaletteBuffer, OBJ_PLTT_SLOT(PAL_IX_CATCH_MON), PLTT_SLOT_SIZE);
for (i = 0; i < 4; i++)
{
oamSimple = &group->oam[i];
@@ -1934,7 +1934,7 @@ void UpdateEggMode(void)
break;
case EGG_HATCH_SUBSTATE_SETUP_CATCH_ANIMATION:
gCurrentPinballGame->activePortraitType = 9;
DmaCopy16(3, gCaptureHit_Pal, OBJ_PLTT_SLOT(PAL_IX_15), PLTT_SLOT_SIZE);
DmaCopy16(3, gCaptureHit_Pal, OBJ_PLTT_SLOT(PAL_IX_MON_SHADOW_PORTRAIT), PLTT_SLOT_SIZE);
DmaCopy16(3, gCaptureScreenTilesGfx, (void *)0x06015800, 0x1C00);
DmaCopy16(3, &gCaptureBallTilesGfx[gCurrentPinballGame->ballUpgradeType * 0x200], (void *)0x060164C0, 0x80);
DmaCopy16(3, &gCaptureBallTilesGfx[(gCurrentPinballGame->ballUpgradeType * 8 + 4) * 0x40], (void *)0x06016760, 0x80);
@@ -1943,7 +1943,7 @@ void UpdateEggMode(void)
gCurrentPinballGame->catchTargetX = gCurrentPinballGame->walkMonXPos / 10 + 8;
gCurrentPinballGame->catchTargetY = gCurrentPinballGame->walkMonYPos / 10 - 31;
for (i = 0; i < 6; i++)
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_13;
gCurrentPinballGame->catchTilePalette[i] = PAL_IX_MON_PORTRAIT;
gCurrentPinballGame->boardSubState++;
group->baseX = gCurrentPinballGame->walkMonXPos / 10 - gCurrentPinballGame->cameraXOffset;

View File

@@ -42,7 +42,7 @@ void InitTravelMode(void)
gCurrentPinballGame->eventTimer = gCurrentPinballGame->timerBonus + TRAVEL_MODE_TIME;
gCurrentPinballGame->timerBonus = 0;
gCurrentPinballGame->saverTimeRemaining = TRAVEL_MODE_SAVER_TIME;
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_12), PLTT_SLOT_SIZE);
DmaCopy16(3, gTimer_Default_Pal, BG_PLTT_SLOT(PAL_IX_HUD), PLTT_SLOT_SIZE);
}
void UpdateTravelMode(void)

View File

@@ -1928,20 +1928,20 @@ void LoadMonPortrait(s16 species)
{
case SPECIES_UNSEEN:
CopyBgTilesRect(gPokedexSprites_Gfx + 0x5C00, (void *)0x06013400, 24, 1);
DmaCopy16(3, gPokedexSprites_Pals, OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gPokedexSprites_Pals, OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
break;
case SPECIES_SEEN:
CopyBgTilesRect(gMonPortraitGroupGfx[var1] + var2 * 0x300, (void *)0x06013400, 24, 1);
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
break;
case SPECIES_SHARED:
case SPECIES_SHARED_AND_SEEN:
CopyBgTilesRect(gMonPortraitGroupGfx[var1] + var2 * 0x300, (void *)0x06013400, 24, 1);
DarkenPalette(&gMonPortraitGroupPals[var1][var2], OBJ_PLTT_SLOT(PAL_IX_1), 0x20, 0xE);
DarkenPalette(&gMonPortraitGroupPals[var1][var2], OBJ_PLTT_SLOT(PAL_IX_BALL), 0x20, 0xE);
break;
case SPECIES_CAUGHT:
CopyBgTilesRect(gMonPortraitGroupGfx[var1] + var2 * 0x300, (void *)0x06013400, 24, 1);
DmaCopy16(3, gMonPortraitGroupPals[var1][var2], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[var1][var2], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
break;
}
}

View File

@@ -973,7 +973,7 @@ void UpdateRayquazaMinionsAndEffects(void)
for (j = 0; j < 6; j++)
{
oamSimple = &group->oam[j];
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_13;
gOamBuffer[oamSimple->oamId].paletteNum = PAL_IX_MON_PORTRAIT;
gOamBuffer[oamSimple->oamId].priority = gCurrentPinballGame->creatureOamPriority;
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;

View File

@@ -377,7 +377,7 @@ void AnimateRubyBallPowerUpSequence(void)
gCurrentPinballGame->ballUpgradeType++;
gCurrentPinballGame->ballUpgradeTimer = TICKS_FOR_TIME(1,0);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
}
if (gCurrentPinballGame->gBallUpgradeFxTimer == 40)

View File

@@ -252,7 +252,7 @@ void DrawWhiscash(void)
if (group->active)
{
frameIx = frameData[0];
DmaCopy16(3, gWhiscash_Pals[3*gCurrentPinballGame->activePaletteIndex], OBJ_PLTT_SLOT(PAL_IX_9), PLTT_SLOT_SIZE);
DmaCopy16(3, gWhiscash_Pals[3*gCurrentPinballGame->paletteDimmingIx], OBJ_PLTT_SLOT(PAL_IX_RUBY_BUMPERS), PLTT_SLOT_SIZE);
DmaCopy16(3, gWhiscash_Gfx[frameIx], (void *)0x06014680, 0x460);
gCurrentPinballGame->rubyBumperCollisionPosition[0].x = -248;
gCurrentPinballGame->rubyBumperCollisionPosition[0].y = -316;
@@ -762,7 +762,7 @@ void RubyPondTriBumperHandleHitAndDraw(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[6], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[6], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[6], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
}
else
{
@@ -780,7 +780,7 @@ void RubyPondTriBumperHandleHitAndDraw(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[1], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[1], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[1], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
}
gMain.blendControl = 0xCE;
@@ -823,7 +823,7 @@ void RubyPondTriBumperHandleHitAndDraw(void)
DmaCopy16(3, gLotadBumper_Gfx[var0], (void *)0x06012E80 + i * 0x100, 0x100);
}
DmaCopy16(3, gLotadBumper_Pals[3*gCurrentPinballGame->activePaletteIndex], OBJ_PLTT_SLOT(PAL_IX_9), PLTT_SLOT_SIZE);
DmaCopy16(3, gLotadBumper_Pals[3*gCurrentPinballGame->paletteDimmingIx], OBJ_PLTT_SLOT(PAL_IX_RUBY_BUMPERS), PLTT_SLOT_SIZE);
}
else // chinchou
{
@@ -851,7 +851,7 @@ void RubyPondTriBumperHandleHitAndDraw(void)
DmaCopy16(3, gChinchouBumper_Gfx[var0], (void *)0x06012E80 + i * 0x100, 0x100);
}
DmaCopy16(3, gChinchouBumper_Pals[3*gCurrentPinballGame->activePaletteIndex], OBJ_PLTT_SLOT(PAL_IX_9), PLTT_SLOT_SIZE);
DmaCopy16(3, gChinchouBumper_Pals[3*gCurrentPinballGame->paletteDimmingIx], OBJ_PLTT_SLOT(PAL_IX_RUBY_BUMPERS), PLTT_SLOT_SIZE);
}
// Draw Bumpers: Lotad/chinchou

View File

@@ -481,7 +481,7 @@ void DrawRubySideBumperSprites(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[4], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[4], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[4], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 0xCE;
}
}

View File

@@ -339,7 +339,7 @@ void UpdateSapphireSeedotCollection(void)
gCurrentPinballGame->bannerSlideTimer = 50;
gCurrentPinballGame->bannerSlideVelocity = 0;
DmaCopy16(3, gModeBannerTilemaps[4], (void *)0x06015800, 0x2400);
DmaCopy16(3, gModeBanner_Pals[4], OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gModeBanner_Pals[4], OBJ_PLTT_SLOT(PAL_IX_BANNER), PLTT_SLOT_SIZE);
gMain.blendControl = 0xCE;
}
}
@@ -550,8 +550,8 @@ void DrawSapphireShopSignSprite(void)
{
group->baseX = 16 - gCurrentPinballGame->cameraXOffset;
group->baseY = 115 - gCurrentPinballGame->cameraYOffset;
index = gCurrentPinballGame->shopSignPaletteIndex + gCurrentPinballGame->activePaletteIndex * 3;
DmaCopy16(3, gSapphireShopSign_Pals[index], OBJ_PLTT_SLOT(PAL_IX_8), PLTT_SLOT_SIZE);
index = gCurrentPinballGame->shopSignPaletteIndex + gCurrentPinballGame->paletteDimmingIx * 3;
DmaCopy16(3, gSapphireShopSign_Pals[index], OBJ_PLTT_SLOT(PAL_IX_SAPPHIRE_MART_SIGN), PLTT_SLOT_SIZE);
DmaCopy16(3, gSapphireShopSignTileGfx[gCurrentPinballGame->shopSignFrame], (void *) 0x06014B20, 0x480);
for (i = 0; i < 2; i++)
{

View File

@@ -254,7 +254,7 @@ void RestoreGameState(u16 arg0)
DmaCopy16(3, gCurrentPinballGame->savedObjPalette[gMain.isBonusField], OBJ_PLTT, OBJ_PLTT_SIZE);
DmaCopy16(3, gCurrentPinballGame->savedBgPalette[gMain.isBonusField], BG_PLTT, BG_PLTT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
RestoreFieldSpecificGraphics();
switch (gMain.selectedField)
{
@@ -456,12 +456,12 @@ void RestoreFieldSpecificGraphics(void)
if (gMain.selectedField == FIELD_RUBY)
{
DmaCopy16(3, gRubyTravelPaint_Gfx, (void *)0x6015800, 0x1800);
DmaCopy16(3, gRubyPainter_Pals, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gRubyPainter_Pals, OBJ_PLTT_SLOT(PAL_IX_TRAVEL_PAINTER), PLTT_SLOT_SIZE);
}
else
{
DmaCopy16(3, gSapphireTravelPaint_Gfx, (void *)0x6015800, 0x1800);
DmaCopy16(3, gSapphirePainter_Pals, OBJ_PLTT_SLOT(PAL_IX_14), PLTT_SLOT_SIZE);
DmaCopy16(3, gSapphirePainter_Pals, OBJ_PLTT_SLOT(PAL_IX_TRAVEL_PAINTER), PLTT_SLOT_SIZE);
}
break;
case 21:
@@ -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], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15][gCurrentPinballGame->portraitGfxIndex[i] % 15], OBJ_PLTT_SLOT(PAL_IX_MON_PORTRAIT), PLTT_SLOT_SIZE);
}
else if (gMain_saveData.pokedexFlags[gCurrentPinballGame->evoTargetSpecies] <= 3)
{
gCurrentPinballGame->portraitGfxIndex[i] = gCurrentPinballGame->evoTargetSpecies;
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[0][15], OBJ_PLTT_SLOT(PAL_IX_MON_PORTRAIT), PLTT_SLOT_SIZE);
}
else
{
gCurrentPinballGame->portraitGfxIndex[i] = gCurrentPinballGame->evoTargetSpecies;
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15][gCurrentPinballGame->portraitGfxIndex[i] % 15], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15][gCurrentPinballGame->portraitGfxIndex[i] % 15], OBJ_PLTT_SLOT(PAL_IX_MON_PORTRAIT), PLTT_SLOT_SIZE);
}
}
else
{
gCurrentPinballGame->portraitGfxIndex[i] = gCurrentPinballGame->currentSpecies;
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15][gCurrentPinballGame->portraitGfxIndex[i] % 15], OBJ_PLTT_SLOT(PAL_IX_13), PLTT_SLOT_SIZE);
DmaCopy16(3, gMonPortraitGroupPals[gCurrentPinballGame->portraitGfxIndex[i] / 15][gCurrentPinballGame->portraitGfxIndex[i] % 15], OBJ_PLTT_SLOT(PAL_IX_LOCATION_PORTRAIT), PLTT_SLOT_SIZE);
}
case 3:
DmaCopy16(3, gMonPortraitGroupGfx[gCurrentPinballGame->portraitGfxIndex[i] / 15] + (gCurrentPinballGame->portraitGfxIndex[i] % 15) * 0x300, 0x06010CA0 + (i * 0x18), 0x300);

View File

@@ -141,7 +141,7 @@ void SphealBoardProcess_3A_42E48(void)
gMain.bgOffsets[1].yOffset = 126;
DmaCopy16(3, &gBG0TilemapBuffer[0x800], (void *)0x06001140, 0x280);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_1), PLTT_SLOT_SIZE);
DmaCopy16(3, gBall_Pals[gCurrentPinballGame->ballUpgradeType], OBJ_PLTT_SLOT(PAL_IX_BALL), PLTT_SLOT_SIZE);
m4aSongNumStart(MUS_BONUS_FIELD_SPHEAL);
DmaCopy16(3, gBonusStageObjPal, OBJ_PLTT_SLOT(PAL_IX_9), PLTT_SLOT_SIZE);
}