Review changes pt 1
This commit is contained in:
parent
d151e00c70
commit
458bd5ad4d
@ -47,4 +47,4 @@ def export_messages(infile, outfile, n=None, indent=0, start=0):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
export_messages('emotions.txt', 'emotions.h', n=4, start=42)
|
||||
export_messages('emotions.txt', 'emotions.h', n=1, start=7)
|
||||
|
||||
@ -242,12 +242,12 @@
|
||||
#define OBJ_EVENT_GFX_HOOH 238
|
||||
#define OBJ_EVENT_GFX_POKE_BALL 239
|
||||
#define OBJ_EVENT_GFX_OW_MON 240
|
||||
#define OBJ_EVENT_GFX_LIGHT_SPRITE OBJ_EVENT_GFX_QUINTY_PLUMP
|
||||
#define OBJ_EVENT_GFX_LIGHT_SPRITE 241
|
||||
|
||||
// NOTE: The maximum amount of object events has been expanded from 255 to 65535.
|
||||
// Since dynamic graphics ids still require at least 16 free values, the actual limit
|
||||
// is 65519, but even considering follower Pokémon, this should be more than enough :)
|
||||
#define NUM_OBJ_EVENT_GFX 241
|
||||
#define NUM_OBJ_EVENT_GFX 242
|
||||
|
||||
|
||||
// These are dynamic object gfx ids.
|
||||
|
||||
@ -152,7 +152,6 @@ void ApplyWeatherColorMapIfIdle_Gradual(u8 colorMapIndex, u8 targetColorMapIndex
|
||||
void FadeScreen(u8 mode, s8 delay);
|
||||
bool8 IsWeatherNotFadingIn(void);
|
||||
void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex, bool8 allowFog);
|
||||
void ApplyWeatherColorMapToPal(u8 paletteIndex);
|
||||
void ApplyWeatherColorMapToPals(u8 startPalIndex, u8 numPalettes);
|
||||
void LoadCustomWeatherSpritePalette(const u16 *palette);
|
||||
void ResetDroughtWeatherPaletteLoading(void);
|
||||
|
||||
@ -40,15 +40,15 @@ struct LinkPlayerObjectEvent
|
||||
u8 movementMode;
|
||||
};
|
||||
|
||||
struct __attribute__((packed)) TimeBlendSettings {
|
||||
u16 weight:9;
|
||||
u16 time1:3;
|
||||
u16 time0:3;
|
||||
u16 unused:1;
|
||||
u16 altWeight;
|
||||
struct __attribute__((packed)) TimeBlendSettings
|
||||
{
|
||||
u16 weight:9;
|
||||
u16 time1:3;
|
||||
u16 time0:3;
|
||||
u16 unused:1;
|
||||
u16 altWeight;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
extern struct WarpData gLastUsedWarp;
|
||||
extern struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4];
|
||||
|
||||
|
||||
@ -26,8 +26,7 @@
|
||||
#define OBJ_PLTT_ID(n) (OBJ_PLTT_OFFSET + PLTT_ID(n))
|
||||
#define OBJ_PLTT_ID2(n) (PLTT_ID((n) + 16))
|
||||
|
||||
// Used to determine whether a sprite palette tag
|
||||
// should be excluded from time (and weather) blending
|
||||
// Used to determine whether a sprite palette tag should be excluded from time (and weather) blending
|
||||
#define BLEND_IMMUNE_FLAG (1 << 15)
|
||||
#define IS_BLEND_IMMUNE_TAG(tag) ((tag) & BLEND_IMMUNE_FLAG)
|
||||
|
||||
@ -39,10 +38,12 @@ enum
|
||||
FAST_FADE_OUT_TO_BLACK,
|
||||
};
|
||||
|
||||
struct BlendSettings {
|
||||
u32 blendColor:24;
|
||||
u32 isTint:1;
|
||||
u32 coeff:5;
|
||||
struct BlendSettings
|
||||
{
|
||||
u32 blendColor:24;
|
||||
u32 isTint:1;
|
||||
u32 coeff:5;
|
||||
u32 unused:2;
|
||||
};
|
||||
|
||||
struct PaletteFadeControl
|
||||
@ -84,7 +85,7 @@ void TransferPlttBuffer(void);
|
||||
u32 UpdatePaletteFade(void);
|
||||
void ResetPaletteFade(void);
|
||||
bool32 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u32 blendColor);
|
||||
bool32 BeginTimeOfDayPaletteFade(u32, s8, u8, u8, struct BlendSettings *, struct BlendSettings *, u32, u32);
|
||||
bool32 BeginTimeOfDayPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, struct BlendSettings *bld0, struct BlendSettings *bld1, u32 weight, u32 color);
|
||||
void PaletteStruct_ResetById(u32 id);
|
||||
void ResetPaletteFadeControl(void);
|
||||
void InvertPlttBuffer(u32 selectedPalettes);
|
||||
|
||||
@ -1355,7 +1355,7 @@ static void InitPatternWeaveTransition(struct Task *task)
|
||||
sTransitionData->WIN0V = DISPLAY_HEIGHT;
|
||||
sTransitionData->BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL;
|
||||
sTransitionData->BLDALPHA = BLDALPHA_BLEND(task->tBlendTarget2, task->tBlendTarget1);
|
||||
UpdateShadowColor(0x3DEF); // force shadows to gray
|
||||
UpdateShadowColor(RGB(15, 15, 15)); // force shadows to gray
|
||||
|
||||
for (i = 0; i < DISPLAY_HEIGHT; i++)
|
||||
gScanlineEffectRegBuffers[1][i] = DISPLAY_WIDTH;
|
||||
@ -3916,10 +3916,9 @@ void Task_BattleTransition_Intro(u8 taskId)
|
||||
static bool8 TransitionIntro_FadeToGray(struct Task *task)
|
||||
{
|
||||
u8 paletteNum = IndexOfSpritePaletteTag(TAG_WEATHER_START);
|
||||
u16 index = (paletteNum+16)*16+9; // SHADOW_COLOR_INDEX
|
||||
u16 index = OBJ_PLTT_ID(paletteNum) + 9; // SHADOW_COLOR_INDEX
|
||||
if (task->tDelayTimer == 0 || --task->tDelayTimer == 0)
|
||||
{
|
||||
|
||||
task->tDelayTimer = task->tFadeToGrayDelay;
|
||||
task->tBlend += task->tFadeToGrayIncrement;
|
||||
if (task->tBlend > 16)
|
||||
@ -3958,7 +3957,7 @@ static bool8 TransitionIntro_FadeFromGray(struct Task *task)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, task->tBldCntSaved);
|
||||
if (paletteNum < 16)
|
||||
{
|
||||
u16 index = ((paletteNum + 16) * 16) + 9; // SHADOW_COLOR_INDEX
|
||||
u16 index = OBJ_PLTT_ID(paletteNum) + 9; // SHADOW_COLOR_INDEX
|
||||
gPlttBufferFaded[index] = task->tShadowColor;
|
||||
}
|
||||
}
|
||||
@ -4253,7 +4252,7 @@ static bool8 FrontierLogoWave_Init(struct Task *task)
|
||||
LZ77UnCompVram(sFrontierLogo_Tileset, tileset);
|
||||
LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(15), sizeof(sFrontierLogo_Palette));
|
||||
sTransitionData->cameraY = 0;
|
||||
UpdateShadowColor(0x3DEF); // force shadows to gray
|
||||
UpdateShadowColor(RGB(15, 15, 15)); // force shadows to gray
|
||||
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
|
||||
@ -132,7 +132,7 @@ static void ContestEffect_UserLessEasilyStartled(void)
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant,CONTEST_STRING_STOPPED_CARING);
|
||||
}
|
||||
|
||||
// Slightly startles the POK<EFBFBD>MON in front.
|
||||
// Slightly startles the POKéMON in front.
|
||||
static void ContestEffect_StartleFrontMon(void)
|
||||
{
|
||||
u8 idx = 0;
|
||||
@ -180,7 +180,7 @@ static void ContestEffect_StartlePrevMons(void)
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Startles the POK<EFBFBD>MON that appealed before the user.
|
||||
// Startles the POKéMON that appealed before the user.
|
||||
static void ContestEffect_StartlePrevMon2(void)
|
||||
{
|
||||
u8 rval = Random() % 10;
|
||||
@ -197,7 +197,7 @@ static void ContestEffect_StartlePrevMon2(void)
|
||||
ContestEffect_StartleFrontMon();
|
||||
}
|
||||
|
||||
// Startles all POK<EFBFBD>MON that appealed before the user.
|
||||
// Startles all POKéMON that appealed before the user.
|
||||
static void ContestEffect_StartlePrevMons2(void)
|
||||
{
|
||||
u8 numStartled = 0;
|
||||
@ -273,7 +273,7 @@ static void ContestEffect_ShiftJudgeAttention(void)
|
||||
}
|
||||
}
|
||||
|
||||
// Startles the POK<EFBFBD>MON that has the JUDGE's attention.
|
||||
// Startles the POKéMON that has the JUDGE's attention.
|
||||
static void ContestEffect_StartleMonWithJudgesAttention(void)
|
||||
{
|
||||
u8 numStartled = 0;
|
||||
@ -311,7 +311,7 @@ static void ContestEffect_JamsOthersButMissOneTurn(void)
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Startles POK<EFBFBD>MON that made a same-type appeal.
|
||||
// Startles POKéMON that made a same-type appeal.
|
||||
static void ContestEffect_StartleMonsSameTypeAppeal(void)
|
||||
{
|
||||
u16 move = eContestantStatus[eContestAppealResults.contestant].currMove;
|
||||
@ -319,42 +319,42 @@ static void ContestEffect_StartleMonsSameTypeAppeal(void)
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Badly startles POK<EFBFBD>MON that made COOL appeals.
|
||||
// Badly startles POKéMON that made COOL appeals.
|
||||
static void ContestEffect_StartleMonsCoolAppeal(void)
|
||||
{
|
||||
JamByMoveCategory(CONTEST_CATEGORY_COOL);
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Badly startles POK<EFBFBD>MON that made BEAUTY appeals.
|
||||
// Badly startles POKéMON that made BEAUTY appeals.
|
||||
static void ContestEffect_StartleMonsBeautyAppeal(void)
|
||||
{
|
||||
JamByMoveCategory(CONTEST_CATEGORY_BEAUTY);
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Badly startles POK<EFBFBD>MON that made CUTE appeals.
|
||||
// Badly startles POKéMON that made CUTE appeals.
|
||||
static void ContestEffect_StartleMonsCuteAppeal(void)
|
||||
{
|
||||
JamByMoveCategory(CONTEST_CATEGORY_CUTE);
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Badly startles POK<EFBFBD>MON that made SMART appeals.
|
||||
// Badly startles POKéMON that made SMART appeals.
|
||||
static void ContestEffect_StartleMonsSmartAppeal(void)
|
||||
{
|
||||
JamByMoveCategory(CONTEST_CATEGORY_SMART);
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Badly startles POK<EFBFBD>MON that made TOUGH appeals.
|
||||
// Badly startles POKéMON that made TOUGH appeals.
|
||||
static void ContestEffect_StartleMonsToughAppeal(void)
|
||||
{
|
||||
JamByMoveCategory(CONTEST_CATEGORY_TOUGH);
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
|
||||
}
|
||||
|
||||
// Makes one POK<EFBFBD>MON after the user nervous.
|
||||
// Makes one POKéMON after the user nervous.
|
||||
static void ContestEffect_MakeFollowingMonNervous(void)
|
||||
{
|
||||
bool32 hitAny = FALSE;
|
||||
@ -386,7 +386,7 @@ static void ContestEffect_MakeFollowingMonNervous(void)
|
||||
SetContestantEffectStringID2(eContestAppealResults.contestant, CONTEST_STRING_MESSED_UP2);
|
||||
}
|
||||
|
||||
// Makes all POK<EFBFBD>MON after the user nervous.
|
||||
// Makes all POKéMON after the user nervous.
|
||||
static void ContestEffect_MakeFollowingMonsNervous(void)
|
||||
{
|
||||
u8 numUnnerved = 0;
|
||||
@ -493,7 +493,7 @@ static void ContestEffect_WorsenConditionOfPrevMons(void)
|
||||
SetContestantEffectStringID2(eContestAppealResults.contestant, CONTEST_STRING_IGNORED);
|
||||
}
|
||||
|
||||
// Badly startles POK<EFBFBD>MON in good condition.
|
||||
// Badly startles POKéMON in good condition.
|
||||
static void ContestEffect_BadlyStartlesMonsInGoodCondition(void)
|
||||
{
|
||||
u8 numHit = 0;
|
||||
@ -895,7 +895,7 @@ static void ContestEffect_ExciteAudienceInAnyContest(void)
|
||||
}
|
||||
}
|
||||
|
||||
// Badly startles all POK<EFBFBD>MON that made good appeals.
|
||||
// Badly startles all POKéMON that made good appeals.
|
||||
static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -254,7 +254,7 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
|
||||
[OBJ_EVENT_GFX_BRENDAN_MACH_BIKE] = &gObjectEventGraphicsInfo_BrendanMachBike,
|
||||
[OBJ_EVENT_GFX_BRENDAN_SURFING] = &gObjectEventGraphicsInfo_BrendanSurfing,
|
||||
[OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE] = &gObjectEventGraphicsInfo_BrendanFieldMove,
|
||||
// [OBJ_EVENT_GFX_QUINTY_PLUMP] = &gObjectEventGraphicsInfo_QuintyPlump,
|
||||
[OBJ_EVENT_GFX_QUINTY_PLUMP] = &gObjectEventGraphicsInfo_QuintyPlump,
|
||||
[OBJ_EVENT_GFX_NINJA_BOY] = &gObjectEventGraphicsInfo_NinjaBoy,
|
||||
[OBJ_EVENT_GFX_TWIN] = &gObjectEventGraphicsInfo_Twin,
|
||||
[OBJ_EVENT_GFX_BOY_1] = &gObjectEventGraphicsInfo_Boy1,
|
||||
|
||||
@ -9,8 +9,7 @@
|
||||
// The old method *should* still work, however.
|
||||
// See the README for details.
|
||||
|
||||
// Whether a palette has lights
|
||||
// the color indices to blend are stored in the palette's color 0
|
||||
// Whether a palette has lights the color indices to blend are stored in the palette's color 0
|
||||
#define LIGHT_PAL(x) ((x) < NUM_PALS_IN_PRIMARY ? 1 << (x) : 1 << ((x) - NUM_PALS_IN_PRIMARY))
|
||||
|
||||
const struct Tileset gTileset_General =
|
||||
|
||||
@ -2632,7 +2632,7 @@ void UpdateLightSprite(struct Sprite *sprite)
|
||||
DestroySprite(sprite);
|
||||
FieldEffectFreeTilesIfUnused(sheetTileStart);
|
||||
FieldEffectFreePaletteIfUnused(paletteNum);
|
||||
Weather_SetBlendCoeffs(7, 12); // TODO: Restore original blend coeffs at dawn
|
||||
Weather_SetBlendCoeffs(7, BASE_SHADOW_INTENSITY); // TODO: Restore original blend coeffs at dawn
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2647,25 +2647,25 @@ void UpdateLightSprite(struct Sprite *sprite)
|
||||
case 0:
|
||||
if (gPaletteFade.active) // if palette fade is active, don't flicker since the timer won't be updated
|
||||
{
|
||||
Weather_SetBlendCoeffs(7, 12);
|
||||
Weather_SetBlendCoeffs(7, BASE_SHADOW_INTENSITY);
|
||||
sprite->invisible = FALSE;
|
||||
}
|
||||
else if (gPlayerAvatar.tileTransitionState)
|
||||
{
|
||||
Weather_SetBlendCoeffs(7, 12); // As long as the second coefficient stays 12, shadows will not change
|
||||
Weather_SetBlendCoeffs(7, BASE_SHADOW_INTENSITY); // As long as the second coefficient stays 12, shadows will not change
|
||||
sprite->invisible = FALSE;
|
||||
if (GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum) == OBJ_EVENT_PAL_TAG_LIGHT_2)
|
||||
LoadSpritePaletteInSlot(&sObjectEventSpritePalettes[FindObjectEventPaletteIndexByTag(OBJ_EVENT_PAL_TAG_LIGHT)], sprite->oam.paletteNum);
|
||||
}
|
||||
else if ((sprite->invisible = gTimeUpdateCounter & 1))
|
||||
{
|
||||
Weather_SetBlendCoeffs(12, 12);
|
||||
Weather_SetBlendCoeffs(12, BASE_SHADOW_INTENSITY);
|
||||
if (GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum) == OBJ_EVENT_PAL_TAG_LIGHT)
|
||||
LoadSpritePaletteInSlot(&sObjectEventSpritePalettes[FindObjectEventPaletteIndexByTag(OBJ_EVENT_PAL_TAG_LIGHT_2)], sprite->oam.paletteNum);
|
||||
}
|
||||
break;
|
||||
case 1 ... 2:
|
||||
Weather_SetBlendCoeffs(12, 12);
|
||||
Weather_SetBlendCoeffs(12, BASE_SHADOW_INTENSITY);
|
||||
sprite->invisible = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -918,7 +918,6 @@ u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority)
|
||||
return CreateSprite(&sSpriteTemplate_NewGameBirch, x, y, subpriority);
|
||||
}
|
||||
|
||||
|
||||
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority)
|
||||
{
|
||||
s32 spriteId = CreateMonPicSprite(species, FALSE, 0x8000, TRUE, x, y, 0, species);
|
||||
|
||||
@ -1156,7 +1156,7 @@ static void Task_OrbEffect(u8 taskId)
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON);
|
||||
SetGpuRegBits(REG_OFFSET_BLDCNT, gOrbEffectBackgroundLayerFlags[0]);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7));
|
||||
UpdateShadowColor(0x2109); // force shadows to gray
|
||||
UpdateShadowColor(RGB(9, 8, 8)); // force shadows to gray
|
||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
|
||||
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ);
|
||||
SetBgTilemapPalette(0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF);
|
||||
|
||||
@ -446,16 +446,16 @@ static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex)
|
||||
u32 palettes = PALETTES_ALL;
|
||||
numPalettes += startPalIndex;
|
||||
palettes = (palettes >> startPalIndex) << startPalIndex;
|
||||
palettes = (palettes << (32-numPalettes)) >> (32-numPalettes);
|
||||
palettes = (palettes << (32 - numPalettes)) >> (32 - numPalettes);
|
||||
numPalettes -= startPalIndex;
|
||||
colorMapIndex--;
|
||||
palOffset = PLTT_ID(startPalIndex);
|
||||
UpdateAltBgPalettes(palettes & PALETTES_BG);
|
||||
// Thunder gamma-shift looks bad on night-blended palettes, so ignore time blending in some situations
|
||||
if (!(colorMapIndex > 3) && MapHasNaturalLight(gMapHeader.mapType))
|
||||
UpdatePalettesWithTime(palettes);
|
||||
if (colorMapIndex <= 3 && MapHasNaturalLight(gMapHeader.mapType))
|
||||
UpdatePalettesWithTime(palettes);
|
||||
else
|
||||
CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, PLTT_SIZE_4BPP * numPalettes);
|
||||
CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, PLTT_SIZE_4BPP * numPalettes);
|
||||
numPalettes += startPalIndex;
|
||||
curPalIndex = startPalIndex;
|
||||
|
||||
@ -808,6 +808,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex, bool8 allowFog)
|
||||
{
|
||||
u16 paletteIndex = 16 + spritePaletteIndex;
|
||||
u16 i;
|
||||
|
||||
switch (gWeatherPtr->palProcessingState)
|
||||
{
|
||||
case WEATHER_PAL_STATE_SCREEN_FADING_IN:
|
||||
@ -862,16 +863,11 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex, bool8 allowFog)
|
||||
if (gPaletteFade.y == 16)
|
||||
CpuFastCopy(
|
||||
gPlttBufferUnfaded + OBJ_PLTT_ID(spritePaletteIndex),
|
||||
gDecompressionBuffer + 2*OBJ_PLTT_ID(spritePaletteIndex),
|
||||
gDecompressionBuffer + 2 * OBJ_PLTT_ID(spritePaletteIndex),
|
||||
PLTT_SIZE_4BPP
|
||||
);
|
||||
}
|
||||
|
||||
void ApplyWeatherColorMapToPal(u8 paletteIndex) // now unused / obselete
|
||||
{
|
||||
ApplyColorMap(paletteIndex, 1, gWeatherPtr->colorMapIndex);
|
||||
}
|
||||
|
||||
void ApplyWeatherColorMapToPals(u8 startPalIndex, u8 numPalettes)
|
||||
{
|
||||
ApplyColorMap(startPalIndex, numPalettes, gWeatherPtr->colorMapIndex);
|
||||
|
||||
@ -1366,13 +1366,13 @@ u8 UpdateShadowColor(u16 color)
|
||||
u16 blendedColor;
|
||||
if (paletteNum < 16)
|
||||
{
|
||||
u16 index = OBJ_PLTT_ID(paletteNum)+SHADOW_COLOR_INDEX;
|
||||
u16 index = OBJ_PLTT_ID(paletteNum) + SHADOW_COLOR_INDEX;
|
||||
gPlttBufferUnfaded[index] = gPlttBufferFaded[index] = color;
|
||||
// Copy to temporary buffer, blend, and keep just the shadow color index
|
||||
CpuFastCopy(&gPlttBufferFaded[index-SHADOW_COLOR_INDEX], tempBuffer, PLTT_SIZE_4BPP);
|
||||
CpuFastCopy(&gPlttBufferFaded[index - SHADOW_COLOR_INDEX], tempBuffer, PLTT_SIZE_4BPP);
|
||||
UpdateSpritePaletteWithTime(paletteNum);
|
||||
blendedColor = gPlttBufferFaded[index];
|
||||
CpuFastCopy(tempBuffer, &gPlttBufferFaded[index-SHADOW_COLOR_INDEX], PLTT_SIZE_4BPP);
|
||||
CpuFastCopy(tempBuffer, &gPlttBufferFaded[index - SHADOW_COLOR_INDEX], PLTT_SIZE_4BPP);
|
||||
gPlttBufferFaded[index] = blendedColor;
|
||||
}
|
||||
return paletteNum;
|
||||
@ -1416,7 +1416,7 @@ void FogHorizontal_Main(void)
|
||||
if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL)
|
||||
{
|
||||
Weather_SetTargetBlendCoeffs(12, 8, 3);
|
||||
UpdateShadowColor(0x3DEF); // Gray
|
||||
UpdateShadowColor(RGB(15, 15, 15)); // Gray
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1549,8 +1549,7 @@ void Ash_InitVars(void)
|
||||
gWeatherPtr->ashUnused = 20; // Never read
|
||||
if (!gWeatherPtr->ashSpritesCreated)
|
||||
{
|
||||
Weather_SetBlendCoeffs(0, 12);
|
||||
// SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(64, 63)); // These aren't valid blend coefficients!
|
||||
Weather_SetBlendCoeffs(0, BASE_SHADOW_INTENSITY);
|
||||
}
|
||||
gWeatherPtr->noShadows = FALSE;
|
||||
}
|
||||
@ -2009,7 +2008,7 @@ void Sandstorm_Main(void)
|
||||
break;
|
||||
case 1:
|
||||
Weather_SetTargetBlendCoeffs(16, 2, 0);
|
||||
UpdateShadowColor(0x3DEF);
|
||||
UpdateShadowColor(RGB(15, 15, 15));
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 2:
|
||||
|
||||
@ -360,17 +360,23 @@ const struct FollowerMsgInfoExtended gFollowerConditionalMessages[COND_MSG_COUNT
|
||||
},
|
||||
[COND_MSG_DAY] =
|
||||
{
|
||||
.text = (u8*)sDayTexts,
|
||||
.textSpread = 1,
|
||||
.emotion = FOLLOWER_EMOTION_MUSIC,
|
||||
.conditions = {MATCH_TIME_OF_DAY(TIME_DAY)},
|
||||
.text = (u8*)sDayTexts,
|
||||
.textSpread = 1,
|
||||
.emotion = FOLLOWER_EMOTION_MUSIC,
|
||||
.conditions =
|
||||
{
|
||||
MATCH_TIME_OF_DAY(TIME_DAY),
|
||||
},
|
||||
},
|
||||
[COND_MSG_NIGHT] =
|
||||
{
|
||||
.text = (u8*)sNightTexts,
|
||||
.textSpread = 1,
|
||||
.emotion = FOLLOWER_EMOTION_MUSIC,
|
||||
.conditions = {MATCH_TIME_OF_DAY(TIME_NIGHT)},
|
||||
.text = (u8*)sNightTexts,
|
||||
.textSpread = 1,
|
||||
.emotion = FOLLOWER_EMOTION_MUSIC,
|
||||
.conditions =
|
||||
{
|
||||
MATCH_TIME_OF_DAY(TIME_NIGHT),
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -1539,9 +1539,9 @@ void CB1_Overworld(void)
|
||||
|
||||
const struct BlendSettings gTimeOfDayBlend[] =
|
||||
{
|
||||
[TIME_MORNING] = {.coeff = 4, .blendColor = 0xA8B0E0, .isTint = TRUE}, // Originally TIME_OF_DAY_TWILIGHT
|
||||
[TIME_MORNING] = {.coeff = 4, .blendColor = 0xA8B0E0, .isTint = TRUE},
|
||||
[TIME_DAY] = {.coeff = 0, .blendColor = 0, .isTint = FALSE},
|
||||
[TIME_EVENING] = {.coeff = 4, .blendColor = 0xA8B0E0, .isTint = TRUE}, // Originally TIME_OF_DAY_TWILIGHT
|
||||
[TIME_EVENING] = {.coeff = 4, .blendColor = 0xA8B0E0, .isTint = TRUE},
|
||||
[TIME_NIGHT] = {.coeff = 10, .blendColor = TINT_NIGHT, .isTint = TRUE},
|
||||
};
|
||||
|
||||
@ -1707,8 +1707,8 @@ static void OverworldBasic(void)
|
||||
UpdateTimeOfDay();
|
||||
FormChangeTimeUpdate();
|
||||
if (cachedBlend.time0 != currentTimeBlend.time0
|
||||
|| cachedBlend.time1 != currentTimeBlend.time1
|
||||
|| cachedBlend.weight != currentTimeBlend.weight)
|
||||
|| cachedBlend.time1 != currentTimeBlend.time1
|
||||
|| cachedBlend.weight != currentTimeBlend.weight)
|
||||
{
|
||||
UpdateAltBgPalettes(PALETTES_BG);
|
||||
UpdatePalettesWithTime(PALETTES_ALL);
|
||||
|
||||
@ -3959,7 +3959,7 @@ static void SetSpriteInvisibility(u8 spriteArrayId, bool8 invisible)
|
||||
|
||||
static void HidePageSpecificSprites(void)
|
||||
{
|
||||
// Keeps Pok<EFBFBD>mon, caught ball and status sprites visible.
|
||||
// Keeps POKéMON, caught ball and status sprites visible.
|
||||
u8 i;
|
||||
|
||||
for (i = SPRITE_ARR_ID_TYPE; i < ARRAY_COUNT(sMonSummaryScreen->spriteIds); i++)
|
||||
|
||||
@ -321,10 +321,6 @@ static const union AnimCmd *const sSpriteAnimTable_Emotes[] =
|
||||
sSpriteAnim_Emotes10,
|
||||
};
|
||||
|
||||
// TODO: Move these declarations into even_object_movement.h
|
||||
#define OBJ_EVENT_PAL_TAG_MAY 0x1110
|
||||
#define OBJ_EVENT_PAL_TAG_EMOTES 0x8003
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_ExclamationQuestionMark =
|
||||
{
|
||||
.tileTag = TAG_NONE,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user