summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/calculate_base_damage.c29
-rw-r--r--src/field_ground_effect.c2
-rw-r--r--src/field_player_avatar.c4
-rw-r--r--src/link.c6
-rw-r--r--src/load_save.c8
-rw-r--r--src/lottery_corner.c72
-rw-r--r--src/main.c9
-rw-r--r--src/main_menu.c68
-rw-r--r--src/metatile_behavior.c67
-rw-r--r--src/new_game.c2
-rw-r--r--src/rom4.c4
-rw-r--r--src/tv.c20
12 files changed, 142 insertions, 149 deletions
diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c
index 29b00370d..e6fd49444 100644
--- a/src/calculate_base_damage.c
+++ b/src/calculate_base_damage.c
@@ -61,7 +61,7 @@ extern u8 sub_803C348(u8);
}
#ifdef NONMATCHING
-s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
+s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
{
s32 i;
s32 damage = 0;
@@ -206,7 +206,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if (gBattleMoves[gUnknown_02024BE6].effect == 7)
defense /= 2;
- if (type <= 8)
+ if (type < TYPE_MYSTERY) // is physical?
{
if (gCritMultiplier == 2)
{
@@ -246,14 +246,15 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2)
damage /= 2;
+ // moves always do at least 1 damage.
if (damage == 0)
damage = 1;
}
- if (type == 9)
- damage = 0;
+ if (type == TYPE_MYSTERY)
+ damage = 0; // is ??? type. does 0 damage.
- if (type > 9)
+ if (type > TYPE_MYSTERY) // is special?
{
if (gCritMultiplier == 2)
{
@@ -290,33 +291,33 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2)
damage /= 2;
+ // are effects of weather negated with cloud nine or air lock?
if (!sub_8018324(0xE, 0, ABILITY_CLOUD_NINE, 0, 0) && !sub_8018324(0xE, 0, ABILITY_AIR_LOCK, 0, 0))
{
+ // rain?
if (gBattleWeather & 1)
{
if (type == TYPE_FIRE)
- {
damage /= 2;
- }
else if (type == TYPE_WATER)
- {
damage = (15 * damage) / 10;
- }
}
+
+ // does lack of sun half solar beam damage?
if ((gBattleWeather & 0x9F) && gUnknown_02024BE6 == 76)
damage /= 2;
+
+ // sunny?
if (gBattleWeather & 0x60)
{
if (type == TYPE_FIRE)
- {
damage = (15 * damage) / 10;
- }
else if (type == TYPE_WATER)
- {
damage /= 2;
- }
}
}
+
+ // flash fire triggered?
if ((dword_2017100[a7] & 1) && type == TYPE_FIRE)
damage = (15 * damage) / 10;
}
@@ -325,7 +326,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
}
#else
__attribute__((naked))
-s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
+s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
diff --git a/src/field_ground_effect.c b/src/field_ground_effect.c
index 42cf5d676..1aea8f52e 100644
--- a/src/field_ground_effect.c
+++ b/src/field_ground_effect.c
@@ -227,7 +227,7 @@ void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags)
MetatileBehavior_IsPuddle,
MetatileBehavior_IsSurfableWaterOrUnderwater,
MetatileBehavior_IsShallowFlowingWater,
- sub_8056D9C,
+ MetatileBehavior_IsATile,
};
static const u32 jumpLandingFlags[] =
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 97c04f8e5..7e4e5aed6 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -467,7 +467,7 @@ static u8 sub_8058F6C(s16 a, s16 b, u8 c)
b = gMapObjects[mapObjectId].coords2.y;
MoveCoords(c, &a, &b);
if (npc_block_way(&gMapObjects[mapObjectId], a, b, c) == 0
- && sub_8056F08(MapGridGetMetatileBehaviorAt(a, b)) == 0)
+ && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(a, b)) == 0)
{
StartStrengthAnim(mapObjectId, c);
return 1;
@@ -787,7 +787,7 @@ static void PlayCollisionSoundIfNotFacingWarp(u8 a)
{
PlayerGetDestCoords(&x, &y);
MoveCoords(2, &x, &y);
- if (is_tile_x69_2_warp_door(MapGridGetMetatileBehaviorAt(x, y)))
+ if (MetatileBehavior_IsWarpDoor(MapGridGetMetatileBehaviorAt(x, y)))
return;
}
PlaySE(SE_WALL_HIT);
diff --git a/src/link.c b/src/link.c
index 25a7ce270..7b4625bfd 100644
--- a/src/link.c
+++ b/src/link.c
@@ -462,7 +462,7 @@ static void HandleReceiveRemoteLinkPlayer(u8 multiplayerId)
gReceivedRemoteLinkPlayers = TRUE;
}
-static void ProcessRecvCmds(u8 a1)
+static void ProcessRecvCmds(u8 unusedParam)
{
u16 i;
for (i = 0; i < MAX_LINK_PLAYERS; i++)
@@ -830,7 +830,7 @@ static void LinkCB_BlockSendEnd(void)
static void sub_8007E04(void)
{
- GetMultiplayerId();
+ GetMultiplayerId(); // whats the point of calling this if you dont use the multiplayer ID?
BuildSendCmd(0x4444);
dword_20238BC++;
}
@@ -1225,7 +1225,7 @@ void CB2_LinkError(void)
REG_BG0VOFS = 0;
REG_BG0HOFS = 0;
REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON;
- gUnknown_3001BB4 = 0;
+ gSoftResetDisabled = FALSE;
CreateTask(Task_DestroySelf, 0);
StopMapMusic();
RunTasks();
diff --git a/src/load_save.c b/src/load_save.c
index a35c20023..5babb843e 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -105,7 +105,7 @@ void LoadSerializedGame(void)
LoadMapObjects();
}
-void LoadPlayerData(void)
+void LoadPlayerBag(void)
{
int i;
@@ -129,12 +129,12 @@ void LoadPlayerData(void)
for(i = 0; i < 46; i++)
gLoadedSaveData->berries[i] = gSaveBlock1.bagPocket_Berries[i];
- // load mail
+ // load mail.
for(i = 0; i < 16; i++)
gLoadedSaveData->mail[i] = gSaveBlock1.mail[i];
}
-void SavePlayerData(void)
+void SavePlayerBag(void)
{
int i;
@@ -158,7 +158,7 @@ void SavePlayerData(void)
for(i = 0; i < 46; i++)
gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData->berries[i];
- // save mail
+ // save mail.
for(i = 0; i < 16; i++)
gSaveBlock1.mail[i] = gLoadedSaveData->mail[i];
}
diff --git a/src/lottery_corner.c b/src/lottery_corner.c
index 2330d20ff..54ba3c46d 100644
--- a/src/lottery_corner.c
+++ b/src/lottery_corner.c
@@ -3,6 +3,7 @@
#include "rng.h"
#include "string_util.h"
#include "event_data.h"
+#include "species.h"
extern u16 gScriptResult;
extern u16 gSpecialVar_0x8004;
@@ -16,32 +17,30 @@ static EWRAM_DATA u16 sOtIdDigit = 0;
static u8 GetMatchingDigits(u16, u16);
-void sub_8145A78(void)
+void ResetLotteryCorner(void)
{
u16 rand = Random();
- sub_8145D14((Random() << 16) | rand);
+ SetLotteryNumber((Random() << 16) | rand);
VarSet(0x4045, 0);
}
-void sub_8145AA4(u16 a)
+void SetRandomLotteryNumber(u16 i)
{
u32 var = Random();
- while(--a != 0xFFFF)
- {
+ while(--i != 0xFFFF)
var = var * 1103515245 + 12345;
- }
- sub_8145D14(var);
+
+ SetLotteryNumber(var);
}
-void sub_8145AEC(void)
+void RetrieveLotteryNumber(void)
{
- u16 a = sub_8145D3C();
- gScriptResult = a;
+ u16 lottoNumber = GetLotteryNumber();
+ gScriptResult = lottoNumber;
}
-//Script special function
void PickLotteryCornerTicket(void)
{
u16 i;
@@ -57,41 +56,44 @@ void PickLotteryCornerTicket(void)
struct Pokemon *pkmn = &gPlayerParty[i];
// UB: Too few arguments for function GetMonData
- if(GetMonData(pkmn, MON_DATA_SPECIES) != 0)
+ if(GetMonData(pkmn, MON_DATA_SPECIES) != SPECIES_NONE)
{
+ // do not calculate ticket values for eggs.
if(!GetMonData(pkmn, MON_DATA_IS_EGG))
{
u32 otId = GetMonData(pkmn, MON_DATA_OT_ID);
- u8 a = GetMatchingDigits(gScriptResult, otId);
+ u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId);
- if(a > gSpecialVar_0x8004 && a > 1)
+ if(numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1)
{
- gSpecialVar_0x8004 = a - 1;
+ gSpecialVar_0x8004 = numMatchingDigits - 1;
box = 14;
slot = i;
}
}
}
- else
+ else // pokemon are always arranged from populated spots first to unpopulated, so the moment a NONE species is found, that's the end of the list.
break;
}
+ // player has 14 boxes.
for(i = 0; i < 14; i++)
{
- for(j = 0; j < 0x1E; j++)
+ // player has 30 slots per box.
+ for(j = 0; j < 30; j++)
{
struct BoxPokemon *pkmn = &gPokemonStorage.boxes[i][j];
// UB: Too few arguments for function GetMonData
- if(GetBoxMonData(pkmn, MON_DATA_SPECIES) != 0 &&
+ if(GetBoxMonData(pkmn, MON_DATA_SPECIES) != SPECIES_NONE &&
!GetBoxMonData(pkmn, MON_DATA_IS_EGG))
{
u32 otId = GetBoxMonData(pkmn, MON_DATA_OT_ID);
- u8 a = GetMatchingDigits(gScriptResult, otId);
+ u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId);
- if(a > gSpecialVar_0x8004 && a > 1)
+ if(numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1)
{
- gSpecialVar_0x8004 = a - 1;
+ gSpecialVar_0x8004 = numMatchingDigits - 1;
box = i;
slot = j;
}
@@ -120,7 +122,7 @@ void PickLotteryCornerTicket(void)
static u8 GetMatchingDigits(u16 winNumber, u16 otId)
{
u8 i;
- u8 matchingDigits = 0; //Why not just use i?
+ u8 matchingDigits = 0;
for(i = 0; i < 5; i++)
{
@@ -139,24 +141,26 @@ static u8 GetMatchingDigits(u16 winNumber, u16 otId)
return matchingDigits;
}
-void sub_8145D14(u32 a)
+// lottery numbers go from 0 to 99999, not 65535 (0xFFFF). interestingly enough, the function that calls GetLotteryNumber shifts to u16, so it cant be anything above 65535 anyway.
+void SetLotteryNumber(u32 lotteryNum)
{
- u16 b = a >> 16;
- u16 c = a;
-
- VarSet(0x404B, c);
- VarSet(0x404C, b);
+ u16 lowNum = lotteryNum >> 16;
+ u16 highNum = lotteryNum;
+
+ VarSet(0x404B, highNum);
+ VarSet(0x404C, lowNum);
}
-u32 sub_8145D3C(void)
+u32 GetLotteryNumber(void)
{
- u16 var1 = VarGet(0x404B);
- u16 var2 = VarGet(0x404C);
+ u16 highNum = VarGet(0x404B);
+ u16 lowNum = VarGet(0x404C);
- return (var2 << 16) | var1;
+ return (lowNum << 16) | highNum;
}
-void unref_sub_8145D64(u16 a)
+// interestingly, this may have been the original lottery number set function, but GF tried to change it to 32-bit later but didnt finish changing all calls as one GetLotteryNumber still shifts to u16.
+void SetLotteryNumber16_Unused(u16 lotteryNum)
{
- sub_8145D14(a);
+ SetLotteryNumber(lotteryNum);
}
diff --git a/src/main.c b/src/main.c
index a3d5c4f30..76ac3d6d9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -60,7 +60,7 @@ u16 gKeyRepeatStartDelay;
u8 gUnknown_3001764;
struct Main gMain;
u16 gKeyRepeatContinueDelay;
-u8 gUnknown_3001BB4;
+u8 gSoftResetDisabled;
IntrFunc gIntrTable[INTR_COUNT];
bool8 gLinkVSyncDisabled;
u32 IntrMain_Buffer[0x200];
@@ -91,7 +91,7 @@ void AgbMain()
InitMapMusic();
SeedRngWithRtc();
- gUnknown_3001BB4 = 0;
+ gSoftResetDisabled = FALSE;
if (gUnknown_3004820 != 1)
SetMainCallback2(0);
@@ -102,7 +102,7 @@ void AgbMain()
{
ReadKeys();
- if (!gUnknown_3001BB4
+ if (gSoftResetDisabled == FALSE
&& (gMain.heldKeysRaw & A_BUTTON)
&& (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT)
DoSoftReset();
@@ -333,8 +333,7 @@ static void SerialIntr(void)
}
static void IntrDummy(void)
-{
-}
+{}
static void WaitForVBlank(void)
{
diff --git a/src/main_menu.c b/src/main_menu.c
index f036a705c..bbdae24fe 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -26,23 +26,11 @@ struct MonCoords
};
extern struct PaletteFadeControl gPaletteFade;
-extern u8 gSaveFileDeletedMessage[];
-extern u8 gSaveFileCorruptMessage[];
-extern u8 gBoardNotInstalledMessage[];
-extern u8 gBatteryDryMessage[];
+
extern u16 gSaveFileStatus;
-extern u8 gMainMenuString_Continue[];
-extern u8 gMainMenuString_NewGame[];
-extern u8 gMainMenuString_MysteryEvents[];
-extern u8 gMainMenuString_Option[];
-extern u8 gMainMenuString_Player[];
-extern u8 gMainMenuString_Time[];
-extern u8 gMainMenuString_Pokedex[];
-extern u8 gMainMenuString_Badges[];
extern u16 gMainMenuPalette[];
-//Text Strings
extern const u8 gBirchSpeech_Welcome[];
extern const u8 gBirchSpeech_ThisIsPokemon[];
extern const u8 gBirchSpeech_WorldInhabitedByPokemon[];
@@ -52,6 +40,18 @@ extern const u8 gBirchSpeech_WhatsYourName[];
extern u8 gBirchSpeech_SoItsPlayer[];
extern u8 gBirchSpeech_AhOkayYouArePlayer[];
extern u8 gBirchSpeech_AreYouReady[];
+extern u8 gSaveFileDeletedMessage[];
+extern u8 gSaveFileCorruptMessage[];
+extern u8 gBoardNotInstalledMessage[];
+extern u8 gBatteryDryMessage[];
+extern u8 gMainMenuString_Continue[];
+extern u8 gMainMenuString_NewGame[];
+extern u8 gMainMenuString_MysteryEvents[];
+extern u8 gMainMenuString_Option[];
+extern u8 gMainMenuString_Player[];
+extern u8 gMainMenuString_Time[];
+extern u8 gMainMenuString_Pokedex[];
+extern u8 gMainMenuString_Badges[];
extern const struct MonCoords gMonFrontPicCoords[];
extern const struct SpriteSheet gMonFrontPicTable[];
@@ -64,7 +64,7 @@ extern const struct MenuAction gMalePresetNames[];
extern const struct MenuAction gFemalePresetNames[];
extern const u8 gUnknown_081E764C[];
-extern const u8 gUnknown_081E768C[];
+extern const u8 gBirchIntroShadowGfx[];
extern const u8 gUnknown_081E7834[];
extern const u8 gUnknown_081E796C[];
extern const u8 gSystemText_NewPara[];
@@ -103,7 +103,7 @@ enum {
static void CB2_MainMenu(void);
static void VBlankCB_MainMenu(void);
-static void sub_80096FC(void);
+static void CB2_InitMainMenuFromOptions(void);
static u32 InitMainMenu(bool8 a1);
static void Task_MainMenuCheckSave(u8 taskId);
static void Task_MainMenuWaitForSaveErrorAck(u8 taskId);
@@ -157,16 +157,16 @@ static void Task_NewGameSpeech32(u8 taskId);
static void Task_NewGameSpeech33(u8 taskId);
static void CB_ContinueNewGameSpeechPart2();
static void nullsub_34(struct Sprite *sprite);
-static void sub_800B240(struct Sprite *sprite);
+static void ShrinkPlayerSprite(struct Sprite *sprite);
static u8 CreateAzurillSprite(u8 x, u8 y);
static void AddBirchSpeechObjects(u8 taskId);
static void Task_SpriteFadeOut(u8 taskId);
static void StartSpriteFadeOut(u8 taskId, u8 interval);
static void Task_SpriteFadeIn(u8 taskId);
static void StartSpriteFadeIn(u8 taskId, u8 interval);
-static void sub_800B5A8(u8 taskId);
+static void HandleFloorShadowFadeOut(u8 taskId);
static void StartBackgroundFadeOut(u8 taskId, u8 interval);
-static void sub_800B654(u8 taskId);
+static void HandleFloorShadowFadeIn(u8 taskId);
static void StartBackgroundFadeIn(u8 taskId, u8 interval);
static void CreateGenderMenu(u8 left, u8 top);
static s8 GenderMenuProcessInput(void);
@@ -194,7 +194,7 @@ void CB2_InitMainMenu(void)
InitMainMenu(FALSE);
}
-static void sub_80096FC(void)
+static void CB2_InitMainMenuFromOptions(void)
{
InitMainMenu(TRUE);
}
@@ -582,7 +582,7 @@ void Task_MainMenuPressedA(u8 taskId)
DestroyTask(taskId);
break;
case OPTION:
- gMain.field_8 = sub_80096FC;
+ gMain.field_8 = CB2_InitMainMenuFromOptions;
SetMainCallback2(CB2_InitOptionMenu);
DestroyTask(taskId);
break;
@@ -728,7 +728,7 @@ static void Task_NewGameSpeech1(u8 taskId)
REG_BLDCNT = 0;
REG_BLDALPHA = 0;
REG_BLDY = 0;
- LZ77UnCompVram(gUnknown_081E768C, (void *)BG_VRAM);
+ LZ77UnCompVram(gBirchIntroShadowGfx, (void *)BG_VRAM);
LZ77UnCompVram(gUnknown_081E7834, (void *)(BG_VRAM + 0x3800));
LoadPalette(gUnknown_081E764C, 0, 0x40);
LoadPalette(gUnknown_081E796C, 1, 0x10);
@@ -1261,7 +1261,7 @@ static void Task_NewGameSpeech30(u8 taskId)
gSprites[spriteId].affineAnims = (union AffineAnimCmd **)gSpriteAffineAnimTable_81E79AC;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 0);
- gSprites[spriteId].callback = sub_800B240;
+ gSprites[spriteId].callback = ShrinkPlayerSprite;
BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, 0);
FadeOutBGM(4);
gTasks[taskId].func = Task_NewGameSpeech31;
@@ -1326,7 +1326,7 @@ void CB_ContinueNewGameSpeechPart2()
ResetPaletteFade();
- LZ77UnCompVram(gUnknown_081E768C, (void *)BG_VRAM);
+ LZ77UnCompVram(gBirchIntroShadowGfx, (void *)BG_VRAM);
LZ77UnCompVram(gUnknown_081E7834, (void *)(BG_VRAM + 0x3800));
LoadPalette(gUnknown_081E764C, 0, 0x40);
@@ -1390,7 +1390,7 @@ void nullsub_34(struct Sprite *sprite)
{
}
-void sub_800B240(struct Sprite *sprite)
+void ShrinkPlayerSprite(struct Sprite *sprite)
{
u32 y = (sprite->pos1.y << 16) + sprite->data0 + 0xC000;
sprite->pos1.y = y >> 16;
@@ -1534,22 +1534,16 @@ enum {
TD_DELAY,
};
-static void sub_800B5A8(u8 taskId)
+static void HandleFloorShadowFadeOut(u8 taskId)
{
if (gTasks[taskId].data[TD_DELAY])
- {
gTasks[taskId].data[TD_DELAY]--;
- }
else
{
if (gTasks[taskId].data[TD_FADELEVEL] == 8)
- {
DestroyTask(taskId);
- }
else if (gTasks[taskId].data[TD_FRAMECOUNTER])
- {
gTasks[taskId].data[TD_FRAMECOUNTER]--;
- }
else
{
gTasks[taskId].data[TD_FRAMECOUNTER] = gTasks[taskId].data[TD_INTERVAL];
@@ -1562,7 +1556,7 @@ static void sub_800B5A8(u8 taskId)
//Launches a helper task to fade out the background
static void StartBackgroundFadeOut(u8 taskId, u8 interval)
{
- u8 newTaskId = CreateTask(sub_800B5A8, 0);
+ u8 newTaskId = CreateTask(HandleFloorShadowFadeOut, 0);
gTasks[newTaskId].data[TD_PARENT_TASK_ID] = taskId;
gTasks[newTaskId].data[TD_FADELEVEL] = 0;
gTasks[newTaskId].data[TD_DELAY] = 8;
@@ -1570,24 +1564,18 @@ static void StartBackgroundFadeOut(u8 taskId, u8 interval)
gTasks[newTaskId].data[TD_FRAMECOUNTER] = interval;
}
-static void sub_800B654(u8 taskId)
+static void HandleFloorShadowFadeIn(u8 taskId)
{
if (gTasks[taskId].data[TD_DELAY])
- {
gTasks[taskId].data[TD_DELAY]--;
- }
else
{
if (gTasks[taskId].data[TD_FADELEVEL] == 0)
- {
DestroyTask(taskId);
- }
else
{
if (gTasks[taskId].data[TD_FRAMECOUNTER])
- {
gTasks[taskId].data[TD_FRAMECOUNTER]--;
- }
else
{
gTasks[taskId].data[TD_FRAMECOUNTER] = gTasks[taskId].data[TD_INTERVAL];
@@ -1601,7 +1589,7 @@ static void sub_800B654(u8 taskId)
//Launches a helper task to fade in the background
static void StartBackgroundFadeIn(u8 taskId, u8 interval)
{
- u8 newTaskId = CreateTask(sub_800B654, 0);
+ u8 newTaskId = CreateTask(HandleFloorShadowFadeIn, 0);
gTasks[newTaskId].data[TD_PARENT_TASK_ID] = taskId;
gTasks[newTaskId].data[TD_FADELEVEL] = 8;
gTasks[newTaskId].data[TD_DELAY] = 8;
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index dd1ac75e3..b78e76e10 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -5,12 +5,13 @@ extern u8 gUnknown_08308E2C[];
bool8 MetatileBehavior_IsWaterfall(u8);
-bool8 sub_8056D9C(u8 var)
+// only used as default case for checking jump landing in field_ground_effect.
+bool8 MetatileBehavior_IsATile(u8 var)
{
return TRUE;
}
-bool8 sub_8056DA0(u8 var)
+bool8 MetatileBehavior_IsEncounterTile(u8 var)
{
if((gUnknown_08308E2C[var] & 1) != 0)
return TRUE;
@@ -50,7 +51,7 @@ bool8 MetatileBehavior_IsJumpSouth(u8 var)
return FALSE;
}
-bool8 sub_8056E14(u8 var)
+bool8 MetatileBehavior_IsPokeGrass(u8 var)
{
if(var == MB_TALL_GRASS || var == MB_LONG_GRASS)
return TRUE;
@@ -90,7 +91,7 @@ bool8 MetatileBehavior_IsIce(u8 var)
return FALSE;
}
-bool8 is_tile_x69_2_warp_door(u8 var)
+bool8 MetatileBehavior_IsWarpDoor(u8 var)
{
if(var == MB_ANIMATED_DOOR)
return TRUE;
@@ -130,7 +131,7 @@ bool8 MetatileBehavior_IsLadder(u8 var)
return FALSE;
}
-bool8 sub_8056F08(u8 var)
+bool8 MetatileBehavior_IsNonAnimDoor(u8 var)
{
if(var == MB_NON_ANIMATED_DOOR || var == MB_WATER_DOOR || var == MB_DEEP_SOUTH_WARP)
return TRUE;
@@ -138,7 +139,7 @@ bool8 sub_8056F08(u8 var)
return FALSE;
}
-bool8 sub_8056F24(u8 var)
+bool8 MetatileBehavior_IsDeepSouthWarp(u8 var)
{
if(var == MB_DEEP_SOUTH_WARP)
return TRUE;
@@ -201,7 +202,7 @@ bool8 MetatileBehavior_IsArrowWarp(u8 var)
return var2;
}
-bool8 sub_8056FFC(u8 var)
+bool8 MetatileBehavior_IsMoveTile(u8 var)
{
if((var >= MB_WALK_EAST && var <= MB_TRICK_HOUSE_PUZZLE_8_FLOOR) || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT)
|| var == MB_MUDDY_SLOPE || var == MB_CRACKED_FLOOR || var == MB_WATERFALL || var == MB_ICE || var == MB_BB || var == MB_BC)
@@ -340,7 +341,7 @@ bool8 MetatileBehavior_IsCounter(u8 var)
bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir)
{
- if(playerDir != 2) // if the player isn't facing north, forget about it.
+ if(playerDir != CONNECTION_NORTH) // if the player isn't facing north, forget about it.
return FALSE;
else if(tile == MB_TELEVISION) // is the player's north tile a TV?
return TRUE;
@@ -373,7 +374,7 @@ bool8 sub_80571C0(u8 var)
return FALSE;
}
-bool8 sub_80571EC(u8 var)
+bool8 MetatileBehavior_IsSecretBaseCave(u8 var)
{
if(var == MB_SECRET_BASE_SPOT_RED_CAVE || var == MB_SECRET_BASE_SPOT_BROWN_CAVE || var == MB_SECRET_BASE_SPOT_YELLOW_CAVE || var == MB_SECRET_BASE_SPOT_BLUE_CAVE)
return TRUE;
@@ -381,7 +382,7 @@ bool8 sub_80571EC(u8 var)
return FALSE;
}
-bool8 sub_805720C(u8 var)
+bool8 MetatileBehavior_IsSecretBaseTree(u8 var)
{
if(var == MB_SECRET_BASE_SPOT_TREE_1 || var == MB_SECRET_BASE_SPOT_TREE_2)
return TRUE;
@@ -389,7 +390,7 @@ bool8 sub_805720C(u8 var)
return FALSE;
}
-bool8 is_tile_x98(u8 var)
+bool8 MetatileBehavior_IsSecretBaseShrub(u8 var)
{
if(var == MB_SECRET_BASE_SPOT_SHRUB)
return TRUE;
@@ -397,7 +398,7 @@ bool8 is_tile_x98(u8 var)
return FALSE;
}
-bool8 sub_8057238(u8 var)
+bool8 MetatileBehavior_IsSecretBasePC(u8 var)
{
if(var == MB_SECRET_BASE_PC)
return TRUE;
@@ -617,7 +618,7 @@ u8 sub_8057450(u8 var)
bool8 MetatileBehavior_IsLandWildEncounter(u8 var)
{
- if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && sub_8056DA0(var) == TRUE)
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && MetatileBehavior_IsEncounterTile(var) == TRUE)
return TRUE;
else
return FALSE;
@@ -625,7 +626,7 @@ bool8 MetatileBehavior_IsLandWildEncounter(u8 var)
bool8 MetatileBehavior_IsWaterWildEncounter(u8 var)
{
- if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && sub_8056DA0(var) == TRUE)
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && MetatileBehavior_IsEncounterTile(var) == TRUE)
return TRUE;
else
return FALSE;
@@ -671,7 +672,7 @@ bool8 MetatileBehavior_IsShallowFlowingWater(u8 var)
return FALSE;
}
-bool8 sub_8057540(u8 var)
+bool8 MetatileBehavior_IsThinIce(u8 var)
{
if(var == MB_THIN_ICE)
return TRUE;
@@ -679,7 +680,7 @@ bool8 sub_8057540(u8 var)
return FALSE;
}
-bool8 sub_8057554(u8 var)
+bool8 MetatileBehavior_IsCrackedIce(u8 var)
{
if(var == MB_CRACKED_ICE)
return TRUE;
@@ -815,7 +816,7 @@ bool8 MetatileBehavior_IsPacifidlogLog(u8 var)
return FALSE;
}
-bool8 is_tile_x8C(u8 var)
+bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8 var)
{
if(var == MB_TRICK_HOUSE_PUZZLE_DOOR)
return TRUE;
@@ -823,7 +824,7 @@ bool8 is_tile_x8C(u8 var)
return FALSE;
}
-bool8 is_tile_x85(u8 var)
+bool8 MetatileBehavior_IsRegionMap(u8 var)
{
if(var == MB_REGION_MAP)
return TRUE;
@@ -831,7 +832,7 @@ bool8 is_tile_x85(u8 var)
return FALSE;
}
-bool8 is_tile_x8B(u8 var)
+bool8 MetatileBehavior_IsClosedSootpolisGymDoor(u8 var)
{
if(var == MB_CLOSED_SOOTOPOLIS_GYM_DOOR)
return TRUE;
@@ -839,7 +840,7 @@ bool8 is_tile_x8B(u8 var)
return FALSE;
}
-bool8 is_tile_x8A(u8 var)
+bool8 MetatileBehavior_IsRoulette(u8 var)
{
if(var == MB_ROULETTE)
return TRUE;
@@ -847,7 +848,7 @@ bool8 is_tile_x8A(u8 var)
return FALSE;
}
-bool8 is_tile_x87(u8 var)
+bool8 MetatileBehavior_IsPokeblockFeeder(u8 var)
{
if(var == MB_POKEBLOCK_FEEDER)
return TRUE;
@@ -871,7 +872,7 @@ bool8 MetatileBehavior_0xBC(u8 var)
return FALSE;
}
-bool8 sub_8057798(u8 var)
+bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 var)
{
if(var == MB_LAVARIDGE_GYM_B1F_WARP)
return TRUE;
@@ -879,7 +880,7 @@ bool8 sub_8057798(u8 var)
return FALSE;
}
-bool8 is_role_x68(u8 var)
+bool8 MetatileBehavior_IsLavaridge1FWarp(u8 var)
{
if(var == MB_LAVARIDGE_GYM_1F_WARP)
return TRUE;
@@ -903,7 +904,7 @@ bool8 MetatileBehavior_IsSurfableFishableWater(u8 var)
return FALSE;
}
-bool8 sub_8057804(u8 var)
+bool8 MetatileBehavior_IsMtPyreHole(u8 var)
{
if(var == MB_MT_PYRE_HOLE)
return TRUE;
@@ -911,7 +912,7 @@ bool8 sub_8057804(u8 var)
return FALSE;
}
-bool8 sub_8057818(u8 var)
+bool8 MetatileBehavior_IsCrackedFloorHole(u8 var)
{
if(var == MB_CRACKED_FLOOR_HOLE)
return TRUE;
@@ -919,7 +920,7 @@ bool8 sub_8057818(u8 var)
return FALSE;
}
-bool8 sub_805782C(u8 var)
+bool8 MetatileBehavior_IsCrackedFloor(u8 var)
{
if(var == MB_CRACKED_FLOOR)
return TRUE;
@@ -1007,7 +1008,7 @@ bool8 sub_805791C(u8 var)
return FALSE;
}
-bool8 sub_8057930(u8 var)
+bool8 MetatileBehavior_IsPictureBookShelf(u8 var)
{
if(var == MB_PICTURE_BOOK_SHELF)
return TRUE;
@@ -1015,7 +1016,7 @@ bool8 sub_8057930(u8 var)
return FALSE;
}
-bool8 sub_8057944(u8 var)
+bool8 MetatileBehavior_IsBookShelf(u8 var)
{
if(var == MB_BOOKSHELF)
return TRUE;
@@ -1023,7 +1024,7 @@ bool8 sub_8057944(u8 var)
return FALSE;
}
-bool8 sub_8057958(u8 var)
+bool8 MetatileBehavior_IsPokeCenterBookShelf(u8 var)
{
if(var == MB_POKEMON_CENTER_BOOKSHELF)
return TRUE;
@@ -1031,7 +1032,7 @@ bool8 sub_8057958(u8 var)
return FALSE;
}
-bool8 sub_805796C(u8 var)
+bool8 MetatileBehavior_IsVase(u8 var)
{
if(var == MB_VASE)
return TRUE;
@@ -1039,7 +1040,7 @@ bool8 sub_805796C(u8 var)
return FALSE;
}
-bool8 sub_8057980(u8 var)
+bool8 MetatileBehavior_IsTrashCan(u8 var)
{
if(var == MB_TRASH_CAN)
return TRUE;
@@ -1047,7 +1048,7 @@ bool8 sub_8057980(u8 var)
return FALSE;
}
-bool8 sub_8057994(u8 var)
+bool8 MetatileBehavior_IsShopShelf(u8 var)
{
if(var == MB_SHOP_SHELF)
return TRUE;
@@ -1055,7 +1056,7 @@ bool8 sub_8057994(u8 var)
return FALSE;
}
-bool8 sub_80579A8(u8 var)
+bool8 MetatileBehavior_IsBlueprint(u8 var)
{
if(var == MB_BLUEPRINT)
return TRUE;
diff --git a/src/new_game.c b/src/new_game.c
index 1ffb9c11d..aced10a47 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -141,7 +141,7 @@ void NewGameInitData(void)
sub_80F7AA4();
sub_80FA17C();
sub_810FA54();
- sub_8145A78();
+ ResetLotteryCorner();
sub_8052E04();
ScriptContext2_RunNewScript(gUnknown_0819FA81);
}
diff --git a/src/rom4.c b/src/rom4.c
index f35ad9834..971c46584 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -628,9 +628,9 @@ u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8 a2, u16 a3, u8 a4)
{
if (FlagGet(SYS_CRUISE_MODE) && a4 == 6)
return 4;
- if (sub_8056F24(a3) == TRUE)
+ if (MetatileBehavior_IsDeepSouthWarp(a3) == TRUE)
return 2;
- if (sub_8056F08(a3) == TRUE || MetatileBehavior_IsDoor(a3) == TRUE)
+ if (MetatileBehavior_IsNonAnimDoor(a3) == TRUE || MetatileBehavior_IsDoor(a3) == TRUE)
return 1;
if (MetatileBehavior_IsSouthArrowWarp(a3) == TRUE)
return 2;
diff --git a/src/tv.c b/src/tv.c
index 21cfc3379..d2a54a539 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -35,8 +35,8 @@ extern u8 gUnknown_020387E8;
extern struct UnkTvStruct gUnknown_03005D38;
extern u8 gSpeciesNames[][11];
-extern u8 *gUnknown_083D14BC[];
-extern struct OutbreakPokemon gUnknown_083D13F8[5];
+extern u8 *gTVPokemonOutbreakTextGroup[];
+extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
void sub_80BE478(void) {
u16 playerNameLength;
@@ -202,16 +202,16 @@ void sub_80BE778(void) {
tvShow->massOutbreak.var00 = TVSHOW_MASS_OUTBREAK;
tvShow->massOutbreak.var01 = 1;
- tvShow->massOutbreak.level = gUnknown_083D13F8[val].level;
+ tvShow->massOutbreak.level = gPokeOutbreakSpeciesList[val].level;
tvShow->massOutbreak.var02 = 0;
tvShow->massOutbreak.var03 = 0;
- tvShow->massOutbreak.species = gUnknown_083D13F8[val].species;
+ tvShow->massOutbreak.species = gPokeOutbreakSpeciesList[val].species;
tvShow->massOutbreak.var0E = 0;
- tvShow->massOutbreak.moves[0] = gUnknown_083D13F8[val].moves[0];
- tvShow->massOutbreak.moves[1] = gUnknown_083D13F8[val].moves[1];
- tvShow->massOutbreak.moves[2] = gUnknown_083D13F8[val].moves[2];
- tvShow->massOutbreak.moves[3] = gUnknown_083D13F8[val].moves[3];
- tvShow->massOutbreak.locationMapNum = gUnknown_083D13F8[val].location;
+ tvShow->massOutbreak.moves[0] = gPokeOutbreakSpeciesList[val].moves[0];
+ tvShow->massOutbreak.moves[1] = gPokeOutbreakSpeciesList[val].moves[1];
+ tvShow->massOutbreak.moves[2] = gPokeOutbreakSpeciesList[val].moves[2];
+ tvShow->massOutbreak.moves[3] = gPokeOutbreakSpeciesList[val].moves[3];
+ tvShow->massOutbreak.locationMapNum = gPokeOutbreakSpeciesList[val].location;
tvShow->massOutbreak.locationMapGroup = 0;
tvShow->massOutbreak.var12 = 0;
tvShow->massOutbreak.probability = 0x32;
@@ -276,7 +276,7 @@ void DoTVShowPokemonNewsMassOutbreak(void) {
TVShowDone();
StartMassOutbreak();
- ShowFieldMessage(gUnknown_083D14BC[gUnknown_020387E8]);
+ ShowFieldMessage(gTVPokemonOutbreakTextGroup[gUnknown_020387E8]);
}
asm(".section .text_d");