diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/calculate_base_damage.c | 29 | ||||
-rw-r--r-- | src/field_ground_effect.c | 2 | ||||
-rw-r--r-- | src/field_player_avatar.c | 4 | ||||
-rw-r--r-- | src/link.c | 6 | ||||
-rw-r--r-- | src/load_save.c | 8 | ||||
-rw-r--r-- | src/lottery_corner.c | 72 | ||||
-rw-r--r-- | src/main.c | 9 | ||||
-rw-r--r-- | src/main_menu.c | 68 | ||||
-rw-r--r-- | src/metatile_behavior.c | 67 | ||||
-rw-r--r-- | src/new_game.c | 2 | ||||
-rw-r--r-- | src/rom4.c | 4 | ||||
-rw-r--r-- | src/tv.c | 20 |
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; @@ -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"); |