diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-04-10 13:11:19 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-04-10 13:11:19 -0700 |
commit | 9179520b3802f7b2ed74fd930a95bb577c2c06f0 (patch) | |
tree | f34368a86cca8be1ae4f115dd9b3d2da1fb9cc4c /src | |
parent | 49a7fe02416b0e5b2287c2fd4dbc979bc711457d (diff) |
Document/cleanup fldeff_secretpower.c
Diffstat (limited to 'src')
-rw-r--r-- | src/battle/battle_transition.c | 3 | ||||
-rw-r--r-- | src/braille_puzzles.c | 9 | ||||
-rw-r--r-- | src/debug/start_menu_debug.c | 2 | ||||
-rw-r--r-- | src/event_object_movement.c | 3 | ||||
-rw-r--r-- | src/field_effect.c | 5 | ||||
-rw-r--r-- | src/field_effect_helpers.c | 3 | ||||
-rw-r--r-- | src/field_player_avatar.c | 3 | ||||
-rw-r--r-- | src/fldeff_cut.c | 39 | ||||
-rw-r--r-- | src/fldeff_decoration.c | 3 | ||||
-rw-r--r-- | src/fldeff_flash.c | 6 | ||||
-rw-r--r-- | src/fldeff_secret_base_pc.c | 3 | ||||
-rw-r--r-- | src/fldeff_secretpower.c | 212 | ||||
-rw-r--r-- | src/fldeff_strength.c | 13 | ||||
-rw-r--r-- | src/fldeff_sweetscent.c | 7 | ||||
-rw-r--r-- | src/fldeff_teleport.c | 7 | ||||
-rw-r--r-- | src/pokemon_menu.c | 37 | ||||
-rw-r--r-- | src/rom6.c | 21 | ||||
-rw-r--r-- | src/secret_base.c | 44 | ||||
-rw-r--r-- | src/trainer_see.c | 1 |
19 files changed, 215 insertions, 206 deletions
diff --git a/src/battle/battle_transition.c b/src/battle/battle_transition.c index a94974b27..d5035a862 100644 --- a/src/battle/battle_transition.c +++ b/src/battle/battle_transition.c @@ -10,11 +10,12 @@ #include "random.h" #include "sprite.h" #include "sound.h" -#include "constants/songs.h" #include "trainer.h" #include "field_camera.h" #include "ewram.h" #include "scanline_effect.h" +#include "constants/songs.h" +#include "constants/field_effects.h" void ScanlineEffect_Clear(void); diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index f11fb5fb3..e7132a313 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -4,18 +4,19 @@ #include "field_camera.h" #include "field_effect.h" #include "fieldmap.h" -#include "constants/flags.h" #include "main.h" -#include "constants/maps.h" #include "map_obj_lock.h" #include "menu.h" #include "rom6.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" -#include "constants/species.h" #include "task.h" #include "text.h" +#include "constants/field_effects.h" +#include "constants/flags.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" extern u8 gPlayerPartyCount; extern u8 gLastFieldPokeMenuOpened; diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 549842c6a..019bac3f4 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -1336,7 +1336,7 @@ bool8 DebugMenu_8077BE4(void) bool8 DebugMenu_8077BF4(void) { - debug_sub_80D93F4(); + Debug_SetUpFieldMove_SecretPower(); return TRUE; } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 3fb611433..6883c82c1 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -12,9 +12,10 @@ #include "overworld.h" #include "sprite.h" #include "metatile_behavior.h" +#include "trainer_see.h" +#include "constants/field_effects.h" #include "constants/maps.h" #include "constants/map_objects.h" -#include "trainer_see.h" // this file was known as evobjmv.c in Game Freak's original source diff --git a/src/field_effect.c b/src/field_effect.c index ae0acf1a0..be67818b3 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -3,6 +3,7 @@ #include "script.h" #include "trig.h" #include "main.h" +#include "field_effect_helpers.h" #include "field_weather.h" #include "decompress.h" #include "sprite.h" @@ -12,7 +13,6 @@ #include "overworld.h" #include "task.h" #include "sound.h" -#include "constants/songs.h" #include "decoration.h" #include "field_player_avatar.h" #include "event_object_movement.h" @@ -22,8 +22,9 @@ #include "field_fadetransition.h" #include "fieldmap.h" #include "util.h" -#include "field_effect_helpers.h" #include "pokemon_storage_system.h" +#include "constants/field_effects.h" +#include "constants/songs.h" #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 216f39d62..be7bcec27 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -2,13 +2,14 @@ #include "sprite.h" #include "fieldmap.h" #include "metatile_behavior.h" -#include "constants/songs.h" #include "sound.h" #include "event_object_movement.h" #include "field_camera.h" #include "field_weather.h" #include "field_effect.h" #include "field_effect_helpers.h" +#include "constants/field_effects.h" +#include "constants/songs.h" static void sub_81269E0(struct Sprite *); static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite); diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 1552381b2..3970cb824 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -7,7 +7,6 @@ #include "event_object_movement.h" #include "fieldmap.h" #include "main.h" -#include "constants/map_objects.h" #include "menu.h" #include "metatile_behavior.h" #include "new_game.h" @@ -22,6 +21,8 @@ #include "task.h" #include "tv.h" #include "wild_encounter.h" +#include "constants/field_effects.h" +#include "constants/map_objects.h" EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0}; diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index c8f942fe5..6dd643541 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -12,15 +12,16 @@ #include "overworld.h" #include "rom6.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" #include "sprite.h" #include "task.h" #include "trig.h" #include "ewram.h" +#include "constants/field_effects.h" +#include "constants/songs.h" extern void (*gFieldCallback)(void); -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; extern const u8 S_UseCut[]; @@ -87,14 +88,14 @@ void debug_sub_80AFEE4(void) return; } - PlayerGetDestCoords(&gUnknown_0203923C.x, &gUnknown_0203923C.y); + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); for (i = 0; i < 3; i++) { - y = i - 1 + gUnknown_0203923C.y; + y = i - 1 + gPlayerFacingPosition.y; for (j = 0; j < 3; j++) { - x = j - 1 + gUnknown_0203923C.x; - if (MapGridGetZCoordAt(x, y) == gUnknown_0203923C.height) + x = j - 1 + gPlayerFacingPosition.x; + if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) { metatile = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsPokeGrass(metatile) == TRUE @@ -120,27 +121,27 @@ bool8 SetUpFieldMove_Cut(void) if(npc_before_player_of_type(0x52) == TRUE) // is in front of tree? { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80A2634; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_80A2634; return TRUE; } else // is in ash or grass to cut? { - PlayerGetDestCoords(&gUnknown_0203923C.x, &gUnknown_0203923C.y); + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); for(i = 0; i < 3; i++) { - y = i - 1 + gUnknown_0203923C.y; + y = i - 1 + gPlayerFacingPosition.y; for(j = 0; j < 3; j++) { - x = j - 1 + gUnknown_0203923C.x; - if(MapGridGetZCoordAt(x, y) == gUnknown_0203923C.height) + x = j - 1 + gPlayerFacingPosition.x; + if(MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) { tileBehavior = MapGridGetMetatileBehaviorAt(x, y); if(MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE || MetatileBehavior_IsAshGrass(tileBehavior) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80A25E8; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_80A25E8; return TRUE; } } @@ -194,13 +195,13 @@ bool8 FldEff_CutGrass(void) u8 tileBehavior; u8 i, j; // not in for loop? - for(i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gUnknown_0203923C.x, &gUnknown_0203923C.y); i < 3; i++) + for(i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < 3; i++) { - y = i - 1 + gUnknown_0203923C.y; + y = i - 1 + gPlayerFacingPosition.y; for(j = 0; j < 3; j++) { - x = j - 1 + gUnknown_0203923C.x; - if(MapGridGetZCoordAt(x, y) == (s8)gUnknown_0203923C.height) + x = j - 1 + gPlayerFacingPosition.x; + if(MapGridGetZCoordAt(x, y) == (s8)gPlayerFacingPosition.height) { tileBehavior = MapGridGetMetatileBehaviorAt(x, y); if(MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) @@ -211,7 +212,7 @@ bool8 FldEff_CutGrass(void) } } } - sub_80A28F4(gUnknown_0203923C.x - 1, gUnknown_0203923C.y - 2); + sub_80A28F4(gPlayerFacingPosition.x - 1, gPlayerFacingPosition.y - 2); DrawWholeMapView(); // populate sprite ID array diff --git a/src/fldeff_decoration.c b/src/fldeff_decoration.c index 1859fc00b..467e7bca4 100644 --- a/src/fldeff_decoration.c +++ b/src/fldeff_decoration.c @@ -6,12 +6,13 @@ #include "field_player_avatar.h" #include "fieldmap.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" #include "string_util.h" #include "strings.h" #include "task.h" #include "text.h" +#include "constants/field_effects.h" +#include "constants/songs.h" extern const u8 gSpriteImage_83D21EC[]; extern const u8 gSpriteImage_83D22EC[]; diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 30ddd0f6c..a9f64a2d1 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -22,7 +22,7 @@ struct FlashStruct }; extern u8 gLastFieldPokeMenuOpened; -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 gUnknown_081B694A[]; @@ -87,8 +87,8 @@ bool8 SetUpFieldMove_Flash(void) { if (gMapHeader.cave == TRUE && !FlagGet(FLAG_SYS_USE_FLASH)) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_810CBFC; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_810CBFC; return TRUE; } diff --git a/src/fldeff_secret_base_pc.c b/src/fldeff_secret_base_pc.c index 394c4bc56..f9898c444 100644 --- a/src/fldeff_secret_base_pc.c +++ b/src/fldeff_secret_base_pc.c @@ -5,9 +5,10 @@ #include "field_player_avatar.h" #include "fieldmap.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" #include "task.h" +#include "constants/field_effects.h" +#include "constants/songs.h" static void Task_SecretBasePCTurnOn(u8); diff --git a/src/fldeff_secretpower.c b/src/fldeff_secretpower.c index d1df03d84..c9fbc7b84 100644 --- a/src/fldeff_secretpower.c +++ b/src/fldeff_secretpower.c @@ -10,12 +10,13 @@ #include "rom6.h" #include "script.h" #include "secret_base.h" -#include "constants/songs.h" #include "sound.h" +#include "constants/field_effects.h" +#include "constants/songs.h" -extern u8 gUnknown_081A2CE6[]; -extern u8 gUnknown_081A2D3E[]; -extern u8 gUnknown_081A2D96[]; +extern u8 DoSecretBaseCaveFieldEffectScript[]; +extern u8 DoSecretBaseTreeFieldEffectScript[]; +extern u8 DoSecretBaseShrubFieldEffectScript[]; const u8 gSpriteImage_83D198C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/0.4bpp"); const u8 gSpriteImage_83D1A0C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/1.4bpp"); @@ -162,8 +163,8 @@ const struct SpriteFrameImage gSpriteImageTable_83D25EC[] = {gSpriteImage_83D1E4C, 0x80}, }; -void sub_80C644C(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_83D2614 = +static void CaveEntranceSpriteCallback1(struct Sprite *); +static const struct SpriteTemplate sCaveEntranceSpriteTemplate = { .tileTag = 0xFFFF, .paletteTag = 4099, @@ -171,11 +172,11 @@ const struct SpriteTemplate gSpriteTemplate_83D2614 = .anims = gSpriteAnimTable_83D2584, .images = gSpriteImageTable_83D259C, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80C644C, + .callback = CaveEntranceSpriteCallback1, }; -void sub_80C6598(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_83D262C = +static void TreeEntranceSpriteCallback1(struct Sprite *); +const struct SpriteTemplate sTreeEntranceSpriteTemplate = { .tileTag = 0xFFFF, .paletteTag = 4104, @@ -183,11 +184,11 @@ const struct SpriteTemplate gSpriteTemplate_83D262C = .anims = gSpriteAnimTable_83D2588, .images = gSpriteImageTable_83D25C4, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80C6598, + .callback = TreeEntranceSpriteCallback1, }; -void sub_80C66BC(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_83D2644 = +static void ShrubEntranceSpriteCallback1(struct Sprite *); +const struct SpriteTemplate sShrubEntranceSpriteTemplate = { .tileTag = 0xFFFF, .paletteTag = 4104, @@ -195,48 +196,48 @@ const struct SpriteTemplate gSpriteTemplate_83D2644 = .anims = gSpriteAnimTable_83D2598, .images = gSpriteImageTable_83D25EC, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80C66BC, + .callback = ShrubEntranceSpriteCallback1, }; const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003}; const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008}; -void sub_80C639C(void); -void sub_80C63E8(void); -void sub_80C6468(struct Sprite *); -void sub_80C6498(struct Sprite *); -void sub_80C64A8(void); -void sub_80C64F4(void); -void sub_80C65C4(struct Sprite *); -void sub_80C65FC(struct Sprite *); -void sub_80C660C(void); -void sub_80C6658(void); -void sub_80C66D8(struct Sprite *sprite); -void sub_80C6708(struct Sprite *sprite); - -void sub_80C6264(void) -{ - sub_80BBFD8(&gUnknown_0203923C, gMapHeader.events); - sub_80BB5E4(); +static void FieldCallback_SecretBaseCave(void); +static void StartSecretBaseCaveFieldEffect(void); +static void CaveEntranceSpriteCallback2(struct Sprite *); +static void CaveEntranceSpriteCallbackEnd(struct Sprite *); +static void FieldCallback_SecretBaseTree(void); +static void StartSecretBaseTreeFieldEffect(void); +static void TreeEntranceSpriteCallback2(struct Sprite *); +static void TreeEntranceSpriteCallbackEnd(struct Sprite *); +static void FieldCallback_SecretBaseShrub(void); +static void StartSecretBaseShrubFieldEffect(void); +static void ShrubEntranceSpriteCallback2(struct Sprite *sprite); +static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite); + +static void SetCurrentSecretBase(void) +{ + SetCurrentSecretBaseFromPosition(&gPlayerFacingPosition, gMapHeader.events); + SetCurrentSecretBaseVar(); } -void sub_80C6280(void) +static void AdjustSecretPowerSpritePixelOffsets(void) { switch (gFieldEffectArguments[1]) { - case 1: + case DIR_SOUTH: gFieldEffectArguments[5] = 8; gFieldEffectArguments[6] = 40; break; - case 2: + case DIR_NORTH: gFieldEffectArguments[5] = 8; gFieldEffectArguments[6] = 8; break; - case 3: + case DIR_WEST: gFieldEffectArguments[5] = -8; gFieldEffectArguments[6] = 24; break; - case 4: + case DIR_EAST: gFieldEffectArguments[5] = 24; gFieldEffectArguments[6] = 24; break; @@ -245,37 +246,37 @@ void sub_80C6280(void) #if DEBUG -void debug_sub_80D93F4(void) +void Debug_SetUpFieldMove_SecretPower(void) { u8 metatile; - sub_80BB63C(); + CheckPlayerHasSecretBase(); - if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != 2) + if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH) { ScriptContext2_Disable(); return; } - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); - metatile = MapGridGetMetatileBehaviorAt(gUnknown_0203923C.x, gUnknown_0203923C.y); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + metatile = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y); if (MetatileBehavior_IsSecretBaseCave(metatile) == TRUE) { - sub_80C6264(); + SetCurrentSecretBase(); gLastFieldPokeMenuOpened = 0; - sub_80C639C(); + FieldCallback_SecretBaseCave(); } else if (MetatileBehavior_IsSecretBaseTree(metatile) == TRUE) { - sub_80C6264(); + SetCurrentSecretBase(); gLastFieldPokeMenuOpened = 0; - sub_80C64A8(); + FieldCallback_SecretBaseTree(); } else if (MetatileBehavior_IsSecretBaseShrub(metatile) == TRUE) { - sub_80C6264(); + SetCurrentSecretBase(); gLastFieldPokeMenuOpened = 0; - sub_80C660C(); + FieldCallback_SecretBaseShrub(); } else { @@ -289,58 +290,57 @@ bool8 SetUpFieldMove_SecretPower(void) { u8 behavior; - sub_80BB63C(); - + CheckPlayerHasSecretBase(); if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH) return FALSE; - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); - behavior = MapGridGetMetatileBehaviorAt(gUnknown_0203923C.x, gUnknown_0203923C.y); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + behavior = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y); if (MetatileBehavior_IsSecretBaseCave(behavior) == TRUE) { - sub_80C6264(); - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80C639C; + SetCurrentSecretBase(); + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseCave; return TRUE; } if (MetatileBehavior_IsSecretBaseTree(behavior) == TRUE) { - sub_80C6264(); - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80C64A8; + SetCurrentSecretBase(); + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseTree; return TRUE; } if (MetatileBehavior_IsSecretBaseShrub(behavior) == TRUE) { - sub_80C6264(); - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80C660C; + SetCurrentSecretBase(); + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseShrub; return TRUE; } return FALSE; } -void sub_80C639C(void) +static void FieldCallback_SecretBaseCave(void) { gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(gUnknown_081A2CE6); + ScriptContext1_SetupScript(DoSecretBaseCaveFieldEffectScript); } bool8 FldEff_UseSecretPowerCave(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (uintptr_t)sub_80C63E8 >> 16; - gTasks[taskId].data[9] = (uintptr_t)sub_80C63E8; + gTasks[taskId].data[8] = (uintptr_t)StartSecretBaseCaveFieldEffect >> 16; + gTasks[taskId].data[9] = (uintptr_t)StartSecretBaseCaveFieldEffect; return FALSE; } -void sub_80C63E8(void) +static void StartSecretBaseCaveFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_CAVE); FieldEffectStart(FLDEFF_SECRET_POWER_CAVE); @@ -348,60 +348,60 @@ void sub_80C63E8(void) bool8 FldEff_SecretPowerCave(void) { - sub_80C6280(); + AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &gSpriteTemplate_83D2614, + &sCaveEntranceSpriteTemplate, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); return FALSE; } -void sub_80C644C(struct Sprite *sprite) +static void CaveEntranceSpriteCallback1(struct Sprite *sprite) { PlaySE(SE_W088); sprite->data[0] = 0; - sprite->callback = sub_80C6468; + sprite->callback = CaveEntranceSpriteCallback2; } -void sub_80C6468(struct Sprite *sprite) +static void CaveEntranceSpriteCallback2(struct Sprite *sprite) { if (sprite->data[0] < 40) { sprite->data[0]++; - if (sprite->data[0] == 20 ) - sub_80BB800(); + if (sprite->data[0] == 20) + SetOpenedSecretBaseMetatile(); } else { sprite->data[0] = 0; - sprite->callback = sub_80C6498; + sprite->callback = CaveEntranceSpriteCallbackEnd; } } -void sub_80C6498(struct Sprite *sprite) +static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_CAVE); EnableBothScriptContexts(); } -void sub_80C64A8(void) +static void FieldCallback_SecretBaseTree(void) { gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(gUnknown_081A2D3E); + ScriptContext1_SetupScript(DoSecretBaseTreeFieldEffectScript); } bool8 FldEff_UseSecretPowerTree(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (uintptr_t)sub_80C64F4 >> 16; - gTasks[taskId].data[9] = (uintptr_t)sub_80C64F4; + gTasks[taskId].data[8] = (uintptr_t)StartSecretBaseTreeFieldEffect >> 16; + gTasks[taskId].data[9] = (uintptr_t)StartSecretBaseTreeFieldEffect; return FALSE; } -void sub_80C64F4(void) +static void StartSecretBaseTreeFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_TREE); FieldEffectStart(FLDEFF_SECRET_POWER_TREE); @@ -409,77 +409,72 @@ void sub_80C64F4(void) bool8 FldEff_SecretPowerTree(void) { - s16 behavior = MapGridGetMetatileBehaviorAt(gUnknown_0203923C.x, gUnknown_0203923C.y) & 0xFFF; + s16 behavior = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y) & 0xFFF; if (behavior == MB_SECRET_BASE_SPOT_TREE_1) - { gFieldEffectArguments[7] = 0; - } if (behavior == MB_SECRET_BASE_SPOT_TREE_2) - { gFieldEffectArguments[7] = 2; - } - - sub_80C6280(); + AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &gSpriteTemplate_83D262C, + &sTreeEntranceSpriteTemplate, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3) - sub_80BB800(); + SetOpenedSecretBaseMetatile(); return FALSE; } -void sub_80C6598(struct Sprite *sprite) +static void TreeEntranceSpriteCallback1(struct Sprite *sprite) { PlaySE(SE_W010); sprite->animNum = gFieldEffectArguments[7]; sprite->data[0] = 0; - sprite->callback = sub_80C65C4; + sprite->callback = TreeEntranceSpriteCallback2; } -void sub_80C65C4(struct Sprite *sprite) +static void TreeEntranceSpriteCallback2(struct Sprite *sprite) { sprite->data[0]++; if (sprite->data[0] >= 40) { if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2) - sub_80BB800(); + SetOpenedSecretBaseMetatile(); + sprite->data[0] = 0; - sprite->callback = sub_80C65FC; + sprite->callback = TreeEntranceSpriteCallbackEnd; } } - -void sub_80C65FC(struct Sprite *sprite) +static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_TREE); EnableBothScriptContexts(); } -void sub_80C660C(void) +static void FieldCallback_SecretBaseShrub(void) { gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(gUnknown_081A2D96); + ScriptContext1_SetupScript(DoSecretBaseShrubFieldEffectScript); } bool8 FldEff_UseSecretPowerShrub(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (uintptr_t)sub_80C6658 >> 16; - gTasks[taskId].data[9] = (uintptr_t)sub_80C6658; + gTasks[taskId].data[8] = (uintptr_t)StartSecretBaseShrubFieldEffect >> 16; + gTasks[taskId].data[9] = (uintptr_t)StartSecretBaseShrubFieldEffect; return FALSE; } -void sub_80C6658(void) +static void StartSecretBaseShrubFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_SHRUB); FieldEffectStart(FLDEFF_SECRET_POWER_SHRUB); @@ -487,39 +482,38 @@ void sub_80C6658(void) bool8 FldEff_SecretPowerShrub(void) { - sub_80C6280(); + AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &gSpriteTemplate_83D2644, + &sShrubEntranceSpriteTemplate, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); return FALSE; } -void sub_80C66BC(struct Sprite *sprite) +static void ShrubEntranceSpriteCallback1(struct Sprite *sprite) { PlaySE(SE_W077); sprite->data[0] = 0; - sprite->callback = sub_80C66D8; + sprite->callback = ShrubEntranceSpriteCallback2; } -void sub_80C66D8(struct Sprite *sprite) +static void ShrubEntranceSpriteCallback2(struct Sprite *sprite) { if (sprite->data[0] < 40) { sprite->data[0]++; - if (sprite->data[0] == 20 ) - sub_80BB800(); + if (sprite->data[0] == 20) + SetOpenedSecretBaseMetatile(); } else { sprite->data[0] = 0; - sprite->callback = sub_80C6708; + sprite->callback = ShrubEntranceSpriteCallbackEnd; } } - -void sub_80C6708(struct Sprite *sprite) +static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_SHRUB); EnableBothScriptContexts(); diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 9f9cd4013..b41f369bb 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -1,5 +1,4 @@ #include "global.h" -#include "constants/map_objects.h" #include "braille_puzzles.h" #include "field_effect.h" #include "party_menu.h" @@ -9,6 +8,8 @@ #include "script.h" #include "task.h" #include "text.h" +#include "constants/field_effects.h" +#include "constants/map_objects.h" static void sub_811AA18(void); static void sub_811AA38(void); @@ -17,7 +18,7 @@ static void sub_811AA9C(void); extern u8 gLastFieldPokeMenuOpened; extern u16 gSpecialVar_Result; extern void (*gFieldCallback)(void); -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 S_UseStrength[]; @@ -48,16 +49,16 @@ bool8 SetUpFieldMove_Strength(void) if (ShouldDoBrailleStrengthEffect()) { gSpecialVar_Result = gLastFieldPokeMenuOpened; - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_811AA38; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_811AA38; } else { if (npc_before_player_of_type(87) != TRUE) return 0; gSpecialVar_Result = gLastFieldPokeMenuOpened; - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_811AA18; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_811AA18; } return TRUE; diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index b9dbf619d..f850f5b0c 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -9,6 +9,7 @@ #include "sprite.h" #include "task.h" #include "wild_encounter.h" +#include "constants/field_effects.h" static void sub_812BFD4(void); static void sub_812C01C(void); @@ -17,14 +18,14 @@ static void sub_812C118(u8); extern u8 gLastFieldPokeMenuOpened; extern void (*gFieldCallback)(void); -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 SweetScentNothingHereScript[]; bool8 SetUpFieldMove_SweetScent(void) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_812BFD4; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_812BFD4; return TRUE; } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index af48fb414..f27fa86fa 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -6,17 +6,18 @@ #include "overworld.h" #include "rom6.h" #include "task.h" +#include "constants/field_effects.h" extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); bool8 SetUpFieldMove_Teleport(void) { if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = hm_teleport_run_dp02scr; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm_teleport_run_dp02scr; return TRUE; } diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c index 60757b7d4..46909435a 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon_menu.c @@ -6,13 +6,11 @@ #include "palette.h" #include "menu.h" #include "mail_data.h" -#include "constants/songs.h" #include "sound.h" #include "main.h" #include "overworld.h" #include "menu_helpers.h" #include "pokemon_summary_screen.h" -#include "constants/moves.h" #include "data2.h" #include "strings.h" #include "item_use.h" @@ -32,6 +30,9 @@ #include "player_pc.h" #include "ewram.h" #include "script.h" +#include "constants/field_effects.h" +#include "constants/moves.h" +#include "constants/songs.h" /* Pokemon menu: @@ -84,7 +85,7 @@ static void sub_808A848(u8 taskID); static void sub_808AAF0(u8 taskID); static void sub_808ABF4(u8 taskID); static void sub_808AB34(u8 taskID); -static void sub_808ABA8(u8 taskID); +static void FieldCallback_AfterFadeInFromMenu(u8 taskID); static void sub_808B224(u8 taskID); static void sub_808B2EC(u8 taskID); static void sub_808B2B4(u8 taskID); @@ -118,7 +119,7 @@ EWRAM_DATA static u8 sPokeMenuOptionsOrder[8] = {0}; // 4 possible field moves a // iwram common u8 gLastFieldPokeMenuOpened; -void (*gUnknown_03005CE4)(void); +void (*gPostMenuFieldCallback)(void); // const data @@ -780,18 +781,18 @@ static void sub_808AB34(u8 taskID) #undef tFieldMoveId -void FieldCallback_Teleport(void) +void FieldCallback_PrepareFadeInFromMenu(void) { pal_fill_black(); - CreateTask(sub_808ABA8, 8); + CreateTask(FieldCallback_AfterFadeInFromMenu, 8); } -static void sub_808ABA8(u8 taskID) +static void FieldCallback_AfterFadeInFromMenu(u8 taskID) { if (IsWeatherNotFadingIn() == TRUE) { gFieldEffectArguments[0] = GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_SPECIES); - gUnknown_03005CE4(); + gPostMenuFieldCallback(); DestroyTask(taskID); } } @@ -815,8 +816,8 @@ static bool8 SetUpFieldMove_Surf(void) { if (PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808AC2C; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808AC2C; return TRUE; } else @@ -833,14 +834,14 @@ static bool8 SetUpFieldMove_Fly(void) { if (ShouldDoBrailleFlyEffect()) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = DoBrailleFlyEffect; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = DoBrailleFlyEffect; return TRUE; } if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808AC8C; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808AC8C; return TRUE; } return FALSE; @@ -885,8 +886,8 @@ static bool8 SetUpFieldMove_Dive(void) gFieldEffectArguments[1] = sub_8068F18(); if (gFieldEffectArguments[1]) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808ADAC; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808ADAC; return TRUE; } else @@ -907,8 +908,8 @@ static bool8 SetUpFieldMove_Waterfall(void) if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE && IsPlayerSurfingNorth() == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808AE08; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808AE08; return TRUE; } else diff --git a/src/rom6.c b/src/rom6.c index ffd01fdb9..e7b84e42c 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -13,14 +13,15 @@ #include "sound.h" #include "sprite.h" #include "task.h" +#include "constants/field_effects.h" extern u16 gSpecialVar_LastTalked; extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 S_UseRockSmash[]; -EWRAM_DATA struct MapPosition gUnknown_0203923C = {0}; +EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0}; static void task08_080C9820(u8); static void sub_810B3DC(u8); @@ -35,9 +36,9 @@ bool8 npc_before_player_of_type(u8 a) { u8 mapObjId; - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); - gUnknown_0203923C.height = PlayerGetZCoord(); - mapObjId = GetFieldObjectIdByXYZ(gUnknown_0203923C.x, gUnknown_0203923C.y, gUnknown_0203923C.height); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + gPlayerFacingPosition.height = PlayerGetZCoord(); + mapObjId = GetFieldObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); if (gMapObjects[mapObjId].graphicsId != a) { return FALSE; @@ -51,7 +52,7 @@ bool8 npc_before_player_of_type(u8 a) u8 oei_task_add(void) { - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); return CreateTask(task08_080C9820, 8); } @@ -136,8 +137,8 @@ bool8 SetUpFieldMove_RockSmash(void) { if (npc_before_player_of_type(0x56) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_810B53C; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_810B53C; return TRUE; } else @@ -173,8 +174,8 @@ int SetUpFieldMove_Dig(void) { if (CanUseEscapeRopeOnCurrMap() == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_810B5D8; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_810B5D8; return TRUE; } else diff --git a/src/secret_base.c b/src/secret_base.c index 3c4028dca..cf66db03b 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -52,7 +52,7 @@ static void Task_SecretBasePC_Registry(u8 taskId); extern u8 gUnknown_0815F399[]; extern u8 gUnknown_0815F49A[]; -EWRAM_DATA u8 gUnknown_020387DC = 0; +EWRAM_DATA u8 gCurrentSecretBaseId = 0; const struct { @@ -172,17 +172,17 @@ void ResetSecretBases(void) void sub_80BB5D0(void) { - gUnknown_020387DC = gSpecialVar_0x8004; + gCurrentSecretBaseId = gSpecialVar_0x8004; } -void sub_80BB5E4(void) +void SetCurrentSecretBaseVar(void) { u16 i; gSpecialVar_Result = 0; for (i = 0; i < MAX_SECRET_BASES; i++) { - if (gUnknown_020387DC == gSaveBlock1.secretBases[i].secretBaseId) + if (gCurrentSecretBaseId == gSaveBlock1.secretBases[i].secretBaseId) { gSpecialVar_Result = 1; VarSet(VAR_CURRENT_SECRET_BASE, i); @@ -191,7 +191,7 @@ void sub_80BB5E4(void) } } -void sub_80BB63C(void) +void CheckPlayerHasSecretBase(void) { if (gSaveBlock1.secretBases[0].secretBaseId) gSpecialVar_Result = 1; @@ -255,7 +255,7 @@ void sub_80BB764(s16 *arg1, s16 *arg2, u16 arg3) } } -void sub_80BB800(void) +void SetOpenedSecretBaseMetatile(void) { s16 x, y; s16 tile_id; @@ -300,7 +300,7 @@ void sub_80BB8CC(void) u8 nameLength; u16 idx; - gSaveBlock1.secretBases[0].secretBaseId = gUnknown_020387DC; + gSaveBlock1.secretBases[0].secretBaseId = gCurrentSecretBaseId; for (idx=0; idx<4; idx++) gSaveBlock1.secretBases[0].trainerId[idx] = gSaveBlock2.playerTrainerId[idx]; VarSet(VAR_CURRENT_SECRET_BASE, 0); @@ -342,7 +342,7 @@ void sub_80BB970(struct MapEvents *events) void sub_80BBA14(void) { - s8 idx = 4 * (gUnknown_020387DC / 10); + s8 idx = 4 * (gCurrentSecretBaseId / 10); warp1_set_2(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_083D1374[idx], gUnknown_083D1374[idx + 1]); } @@ -414,7 +414,7 @@ void sub_80BBBEC(u8 taskid) if (!gPaletteFade.active) { - idx = 4 * (gUnknown_020387DC / 10); + idx = 4 * (gCurrentSecretBaseId / 10); Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]); warp_in(); gFieldCallback = sub_80BBB90; @@ -533,16 +533,16 @@ void sub_80BBFA4(void) VarSet(VAR_OBJ_GFX_ID_F, gUnknown_083D13EC[sub_80BCCA4(curBase)]); } -void sub_80BBFD8(struct MapPosition *position, struct MapEvents *events) +void SetCurrentSecretBaseFromPosition(struct MapPosition *position, struct MapEvents *events) { - s16 bgevtidx; + s16 i; - for (bgevtidx = 0; bgevtidx < events->bgEventCount; bgevtidx++) + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[bgevtidx].kind == 8 && position->x == events->bgEvents[bgevtidx].x + 7 - && position->y == events->bgEvents[bgevtidx].y + 7) + if (events->bgEvents[i].kind == 8 && position->x == events->bgEvents[i].x + 7 + && position->y == events->bgEvents[i].y + 7) { - gUnknown_020387DC = events->bgEvents[bgevtidx].bgUnion.secretBaseId; + gCurrentSecretBaseId = events->bgEvents[i].bgUnion.secretBaseId; break; } } @@ -550,15 +550,15 @@ void sub_80BBFD8(struct MapPosition *position, struct MapEvents *events) void sub_80BC038(struct MapPosition *position, struct MapEvents *events) { - sub_80BBFD8(position, events); - sub_80BB5E4(); + SetCurrentSecretBaseFromPosition(position, events); + SetCurrentSecretBaseVar(); ScriptContext1_SetupScript(gUnknown_081A2E14); } bool8 sub_80BC050(void) { sub_80BB5D0(); - sub_80BB5E4(); + SetCurrentSecretBaseVar(); if (gSpecialVar_Result == 1) return FALSE; return TRUE; @@ -595,7 +595,7 @@ void sub_80BC0F8(void) void sub_80BC114(void) { - if (gSaveBlock1.secretBases[0].secretBaseId != gUnknown_020387DC) + if (gSaveBlock1.secretBases[0].secretBaseId != gCurrentSecretBaseId) gSpecialVar_Result = 1; else gSpecialVar_Result = 0; @@ -632,7 +632,7 @@ u8 *sub_80BC190(u8 *dest, u8 arg1) u8 *GetSecretBaseMapName(u8 *dest) { - gUnknown_020387DC = gSaveBlock1.secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].secretBaseId; + gCurrentSecretBaseId = gSaveBlock1.secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].secretBaseId; return sub_80BC190(dest, VarGet(VAR_CURRENT_SECRET_BASE)); } @@ -922,7 +922,7 @@ u8 sub_80BC538(void) void sub_80BC56C(void) { - if (sub_80BC268(sub_80BC14C(gUnknown_020387DC)) == TRUE) + if (sub_80BC268(sub_80BC14C(gCurrentSecretBaseId)) == TRUE) gSpecialVar_Result = 1; else if (sub_80BC538() > 9) gSpecialVar_Result = 2; @@ -932,7 +932,7 @@ void sub_80BC56C(void) void sub_80BC5BC(void) { - gSaveBlock1.secretBases[sub_80BC14C(gUnknown_020387DC)].sbr_field_1_6 ^= 1; + gSaveBlock1.secretBases[sub_80BC14C(gCurrentSecretBaseId)].sbr_field_1_6 ^= 1; FlagSet(FLAG_DECORATION_16); } diff --git a/src/trainer_see.c b/src/trainer_see.c index 2913a0a5a..f79d6b9e4 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -8,6 +8,7 @@ #include "sprite.h" #include "task.h" #include "util.h" +#include "constants/field_effects.h" static bool8 CheckTrainer(u8); static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3); |