fixed
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "international_string_util.h"
|
||||
#include "safari_zone.h"
|
||||
#include "battle_anim.h"
|
||||
#include "constants/rgb.h"
|
||||
|
||||
struct TestingBar
|
||||
{
|
||||
@@ -555,13 +556,13 @@ enum
|
||||
PAL_STATUS_BRN
|
||||
};
|
||||
|
||||
static const u16 sStatusIconPalettes[] =
|
||||
static const u16 sStatusIconColors[] =
|
||||
{
|
||||
0x6198, // PAL_STATUS_PSN
|
||||
0xEF7, // PAL_STATUS_PAR
|
||||
0x4694, // PAL_STATUS_SLP
|
||||
0x72D1, // PAL_STATUS_FRZ
|
||||
0x29DC // PAL_STATUS_BRN
|
||||
RGB(24, 12, 24), // PAL_STATUS_PSN
|
||||
RGB(23, 23, 3), // PAL_STATUS_PAR
|
||||
RGB(20, 20, 17), // PAL_STATUS_SLP
|
||||
RGB(17, 22, 28), // PAL_STATUS_FRZ
|
||||
RGB(28, 14, 10) // PAL_STATUS_BRN
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sHealthboxWindowTemplate = {0, 0, 0, 8, 2, 0, 0}; // width = 8, height = 2
|
||||
@@ -2071,7 +2072,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
|
||||
pltAdder = gSprites[healthboxSpriteId].oam.paletteNum * 16;
|
||||
pltAdder += bank + 12;
|
||||
|
||||
FillPalette(sStatusIconPalettes[statusPalId], pltAdder + 0x100, 2);
|
||||
FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2);
|
||||
CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void*)(OBJ_PLTT + pltAdder * 2), 2);
|
||||
CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * 32), 96);
|
||||
if (IsDoubleBattle() == TRUE || GetBankSide(bank) == SIDE_OPPONENT)
|
||||
|
||||
+5
-5
@@ -529,7 +529,7 @@ void SecretBasePC_PutAway(u8 taskId)
|
||||
{
|
||||
sub_8126A58(0);
|
||||
sub_8197434(0, 0);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].func = sub_8129ABC;
|
||||
}
|
||||
@@ -1247,7 +1247,7 @@ void sub_8127F68(u8 taskId)
|
||||
{
|
||||
if (sub_8127F38() == TRUE)
|
||||
{
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].func = sub_8128060;
|
||||
}
|
||||
@@ -1661,7 +1661,7 @@ void sub_8128BA0(u8 taskId)
|
||||
|
||||
void sub_8128BBC(u8 taskId)
|
||||
{
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].func = c1_overworld_prev_quest;
|
||||
}
|
||||
@@ -2635,7 +2635,7 @@ void sub_812A1A0(u8 taskId)
|
||||
|
||||
void sub_812A1C0(u8 taskId)
|
||||
{
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].func = sub_81298EC;
|
||||
}
|
||||
@@ -2654,7 +2654,7 @@ void sub_812A210(u8 taskId)
|
||||
|
||||
void sub_812A22C(u8 taskId)
|
||||
{
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].func = sub_812A25C;
|
||||
}
|
||||
|
||||
+2
-2
@@ -61,7 +61,7 @@ extern u8 sav1_map_get_name(void);
|
||||
extern s8 ProcessMenuInputNoWrap_(void);
|
||||
extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8);
|
||||
extern void sub_806A068(u16, u8);
|
||||
extern void fade_screen(u8, u8);
|
||||
extern void FadeScreen(u8, u8);
|
||||
extern void overworld_free_bg_tilemaps(void);
|
||||
extern void sub_80AF168(void);
|
||||
extern void AllocateMonSpritesGfx(void);
|
||||
@@ -465,7 +465,7 @@ void EggHatch(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
CreateTask(Task_EggHatch, 10);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
}
|
||||
|
||||
static void Task_EggHatch(u8 taskID)
|
||||
|
||||
+1
-2
@@ -25,6 +25,7 @@
|
||||
#include "random.h"
|
||||
#include "event_data.h"
|
||||
#include "overworld.h"
|
||||
#include "new_menu_helpers.h"
|
||||
|
||||
struct HallofFameMon
|
||||
{
|
||||
@@ -53,7 +54,6 @@ static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL;
|
||||
|
||||
extern bool8 gHasHallOfFameRecords;
|
||||
extern u32 gUnknown_0203BCD4;
|
||||
extern u8 gDecompressionBuffer[];
|
||||
extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
||||
extern MainCallback gGameContinueCallback;
|
||||
extern u32 gDamagedSaveSectors;
|
||||
@@ -82,7 +82,6 @@ extern const u8 gContestConfetti_Gfx[];
|
||||
extern const u8 gContestConfetti_Pal[];
|
||||
|
||||
extern void sub_81973C4(u8, u8);
|
||||
extern u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
extern void sub_8175620(void);
|
||||
extern u8 TrySavingData(u8);
|
||||
extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16);
|
||||
|
||||
+6
-6
@@ -171,7 +171,7 @@ void Task_CallItemUseOnFieldCallback(u8 taskId)
|
||||
gUnknown_0203A0F4(taskId);
|
||||
}
|
||||
|
||||
void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, u8 *str)
|
||||
void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
if (!isUsingRegisteredKeyItemOnField)
|
||||
@@ -375,9 +375,9 @@ bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId)
|
||||
{
|
||||
if (events->bgEvents[i].kind == 7 && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4))
|
||||
{
|
||||
distanceX = (u16)events -> bgEvents[i].x + 7;
|
||||
distanceX = (u16)events->bgEvents[i].x + 7;
|
||||
newDistanceX = distanceX - x;
|
||||
distanceY = (u16)events -> bgEvents[i].y + 7;
|
||||
distanceY = (u16)events->bgEvents[i].y + 7;
|
||||
newDistanceY = distanceY - y;
|
||||
|
||||
if ((u16)(newDistanceX + 7) < 15 && (newDistanceY >= -5) && (newDistanceY < 6))
|
||||
@@ -772,7 +772,7 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
|
||||
else
|
||||
{
|
||||
gFieldCallback = sub_80AF6D4;
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = sub_80FDC00;
|
||||
}
|
||||
}
|
||||
@@ -879,9 +879,7 @@ bool8 sub_80FDE2C(void)
|
||||
z = PlayerGetZCoord();
|
||||
objId = GetFieldObjectIdByXYZ(x, y, z);
|
||||
if (objId == 16 || gMapObjects[objId].graphicsId != 0xE4)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1100,7 +1098,9 @@ void ItemUseInBattle_PokeBall(u8 taskId)
|
||||
sub_81C5B14(taskId);
|
||||
}
|
||||
else if (!InBattlePyramid())
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gText_BoxFull, bag_menu_inits_lists_menu);
|
||||
}
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, sub_81C6714);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "decompress.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "task.h"
|
||||
#include "constants/rgb.h"
|
||||
|
||||
enum
|
||||
{
|
||||
|
||||
+4
-7
@@ -74,8 +74,6 @@ extern u8 GetFrontierOpponentClass(u16 trainerId);
|
||||
extern u8 pokemon_order_func(u8 bankPartyId);
|
||||
extern void GetFrontierTrainerName(u8* dest, u16 trainerId);
|
||||
extern void sub_81C488C(u8);
|
||||
extern void sub_817F578(struct Sprite*, u8 frontAnimId);
|
||||
extern u8 GetSpeciesBackAnimId(u16 species);
|
||||
|
||||
static void sub_806E6CC(u8 taskId);
|
||||
|
||||
@@ -1508,7 +1506,7 @@ static void Task_PokemonSummaryAnimateAfterDelay(u8 taskId)
|
||||
{
|
||||
if (--gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
sub_817F578(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]);
|
||||
StartMonSummaryAnimation(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]);
|
||||
sub_81C488C(0xFF);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -1523,7 +1521,6 @@ void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u
|
||||
}
|
||||
|
||||
extern void SpriteCallbackDummy_2(struct Sprite*);
|
||||
extern void sub_817F60C(struct Sprite*);
|
||||
|
||||
void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3)
|
||||
{
|
||||
@@ -1580,11 +1577,11 @@ void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneF
|
||||
gTasks[taskId].data[2] = gMonFrontAnimIdsTable[species - 1];
|
||||
gTasks[taskId].data[3] = gMonAnimationDelayTable[species - 1];
|
||||
sub_81C488C(taskId);
|
||||
sub_817F60C(sprite);
|
||||
SetSpriteCB_MonAnimDummy(sprite);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_817F578(sprite, gMonFrontAnimIdsTable[species - 1]);
|
||||
StartMonSummaryAnimation(sprite, gMonFrontAnimIdsTable[species - 1]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1603,7 +1600,7 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species)
|
||||
}
|
||||
else
|
||||
{
|
||||
LaunchAnimationTaskForBackSprite(sprite, GetSpeciesBackAnimId(species));
|
||||
LaunchAnimationTaskForBackSprite(sprite, GetSpeciesBackAnimSet(species));
|
||||
sprite->callback = SpriteCallbackDummy_2;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+5
-5
@@ -638,7 +638,7 @@ static bool8 IsPaletteNotActive(void)
|
||||
|
||||
bool8 ScrCmd_fadescreen(struct ScriptContext *ctx)
|
||||
{
|
||||
fade_screen(ScriptReadByte(ctx), 0);
|
||||
FadeScreen(ScriptReadByte(ctx), 0);
|
||||
SetupNativeScript(ctx, IsPaletteNotActive);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -648,7 +648,7 @@ bool8 ScrCmd_fadescreenspeed(struct ScriptContext *ctx)
|
||||
u8 mode = ScriptReadByte(ctx);
|
||||
u8 speed = ScriptReadByte(ctx);
|
||||
|
||||
fade_screen(mode, speed);
|
||||
FadeScreen(mode, speed);
|
||||
SetupNativeScript(ctx, IsPaletteNotActive);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -662,12 +662,12 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx)
|
||||
case 1:
|
||||
default:
|
||||
CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_DECOMP_BUFFER_SIZE);
|
||||
fade_screen(mode, 0);
|
||||
FadeScreen(mode, 0);
|
||||
break;
|
||||
case 0:
|
||||
case 2:
|
||||
CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_DECOMP_BUFFER_SIZE);
|
||||
fade_screen(mode, 0);
|
||||
FadeScreen(mode, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -726,7 +726,7 @@ bool8 ScrCmd_setweather(struct ScriptContext *ctx)
|
||||
|
||||
bool8 ScrCmd_resetweather(struct ScriptContext *ctx)
|
||||
{
|
||||
sub_80AEDBC();
|
||||
SetSav1WeatherFromCurrMapHeader();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -394,7 +394,7 @@ void sub_80E8FD0(u8 taskId)
|
||||
void sub_80E9068(void)
|
||||
{
|
||||
CreateTask(sub_80E8FD0, 0);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
|
||||
}
|
||||
|
||||
@@ -451,7 +451,7 @@ void sub_80E916C(u8 taskId)
|
||||
void sub_80E91F8(void)
|
||||
{
|
||||
CreateTask(sub_80E916C, 0);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
}
|
||||
|
||||
bool8 CurrentMapIsSecretBase(void)
|
||||
@@ -651,7 +651,7 @@ void sub_80E96A4(u8 taskId)
|
||||
void sub_80E9728(void)
|
||||
{
|
||||
CreateTask(sub_80E96A4, 0);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
}
|
||||
|
||||
void sub_80E9744(void)
|
||||
|
||||
+2205
-1905
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,118 @@
|
||||
#include "global.h"
|
||||
#include "time_events.h"
|
||||
#include "event_data.h"
|
||||
#include "field_weather.h"
|
||||
#include "pokemon.h"
|
||||
#include "random.h"
|
||||
#include "overworld.h"
|
||||
#include "rtc.h"
|
||||
#include "script.h"
|
||||
#include "task.h"
|
||||
|
||||
static u32 GetMirageRnd(void)
|
||||
{
|
||||
u32 hi = VarGet(VAR_MIRAGE_RND_H);
|
||||
u32 lo = VarGet(VAR_MIRAGE_RND_L);
|
||||
return (hi << 16) | lo;
|
||||
}
|
||||
|
||||
static void SetMirageRnd(u32 rnd)
|
||||
{
|
||||
VarSet(VAR_MIRAGE_RND_H, rnd >> 16);
|
||||
VarSet(VAR_MIRAGE_RND_L, rnd);
|
||||
}
|
||||
|
||||
// unused
|
||||
void InitMirageRnd(void)
|
||||
{
|
||||
SetMirageRnd((Random() << 16) | Random());
|
||||
}
|
||||
|
||||
void UpdateMirageRnd(u16 days)
|
||||
{
|
||||
s32 rnd = GetMirageRnd();
|
||||
while (days)
|
||||
{
|
||||
rnd = 1103515245 * rnd + 12345;
|
||||
days--;
|
||||
}
|
||||
SetMirageRnd(rnd);
|
||||
}
|
||||
|
||||
bool8 IsMirageIslandPresent(void)
|
||||
{
|
||||
u16 rnd = GetMirageRnd() >> 16;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && (GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY) & 0xFFFF) == rnd)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void UpdateShoalTideFlag(void)
|
||||
{
|
||||
static const u8 tide[] =
|
||||
{
|
||||
1, // 00
|
||||
1, // 01
|
||||
1, // 02
|
||||
0, // 03
|
||||
0, // 04
|
||||
0, // 05
|
||||
0, // 06
|
||||
0, // 07
|
||||
0, // 08
|
||||
1, // 09
|
||||
1, // 10
|
||||
1, // 11
|
||||
1, // 12
|
||||
1, // 13
|
||||
1, // 14
|
||||
0, // 15
|
||||
0, // 16
|
||||
0, // 17
|
||||
0, // 18
|
||||
0, // 19
|
||||
0, // 20
|
||||
1, // 21
|
||||
1, // 22
|
||||
1, // 23
|
||||
};
|
||||
|
||||
if (is_light_level_1_2_3_5_or_6(get_map_light_from_warp0()))
|
||||
{
|
||||
RtcCalcLocalTime();
|
||||
if (tide[gLocalTime.hours])
|
||||
FlagSet(FLAG_SYS_SHOAL_TIDE);
|
||||
else
|
||||
FlagClear(FLAG_SYS_SHOAL_TIDE);
|
||||
}
|
||||
}
|
||||
|
||||
static void Task_WaitWeather(u8 taskId)
|
||||
{
|
||||
if (IsWeatherChangeComplete())
|
||||
{
|
||||
EnableBothScriptContexts();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
void WaitWeather(void)
|
||||
{
|
||||
CreateTask(Task_WaitWeather, 80);
|
||||
}
|
||||
|
||||
void InitBirchState(void)
|
||||
{
|
||||
*GetVarPointer(VAR_BIRCH_STATE) = 0;
|
||||
}
|
||||
|
||||
void UpdateBirchState(u16 days)
|
||||
{
|
||||
u16 *state = GetVarPointer(VAR_BIRCH_STATE);
|
||||
*state += days;
|
||||
*state %= 7;
|
||||
}
|
||||
Reference in New Issue
Block a user