diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2018-07-01 12:16:52 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2018-07-01 12:16:52 +0200 |
commit | f35c0abe80ce9ec91618b2237d68463100fa4afa (patch) | |
tree | 4edd09c2823f967967011d26b39564e4d0f601d8 /src | |
parent | d2e47323fe988e430af782c2c10b8e41e7a131b3 (diff) | |
parent | efebc51972b23ddffa2700b1dd6895d4728646a3 (diff) |
merge with battle tent update
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_controller_link_opponent.c | 2 | ||||
-rw-r--r-- | src/battle_controller_link_partner.c | 2 | ||||
-rw-r--r-- | src/battle_controller_player.c | 2 | ||||
-rw-r--r-- | src/battle_controllers.c | 4 | ||||
-rw-r--r-- | src/battle_main.c | 20 | ||||
-rw-r--r-- | src/battle_setup.c | 4 | ||||
-rw-r--r-- | src/battle_tent.c | 268 | ||||
-rw-r--r-- | src/decoration.c | 6 | ||||
-rw-r--r-- | src/field_camera.c | 52 | ||||
-rw-r--r-- | src/field_tasks.c | 4 | ||||
-rw-r--r-- | src/fieldmap.c | 116 | ||||
-rw-r--r-- | src/item.c | 16 | ||||
-rwxr-xr-x | src/item_use.c | 12 | ||||
-rw-r--r-- | src/map_name_popup.c | 4 | ||||
-rw-r--r-- | src/new_game.c | 43 | ||||
-rw-r--r-- | src/overworld.c | 72 | ||||
-rw-r--r-- | src/pokemon.c | 6 | ||||
-rw-r--r-- | src/record_mixing.c | 30 | ||||
-rw-r--r-- | src/recorded_battle.c | 6 | ||||
-rw-r--r-- | src/region_map.c | 20 | ||||
-rw-r--r-- | src/secret_base.c | 10 | ||||
-rw-r--r-- | src/start_menu.c | 82 | ||||
-rw-r--r-- | src/tileset_anims.c | 8 | ||||
-rw-r--r-- | src/tv.c | 30 | ||||
-rw-r--r-- | src/wild_encounter.c | 30 |
25 files changed, 559 insertions, 290 deletions
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index aa98b179d..18963f955 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1854,7 +1854,7 @@ static void LinkOpponentHandleCmd55(void) else gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index a88c4a076..b2cf62138 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1685,7 +1685,7 @@ static void LinkPartnerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index d30d34930..26c2cae98 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -3105,7 +3105,7 @@ static void PlayerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 01ad750db..c841aaa03 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1515,8 +1515,8 @@ void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome) { sBattleBuffersTransferData[0] = CONTROLLER_55; sBattleBuffersTransferData[1] = battleOutcome; - sBattleBuffersTransferData[2] = gSaveBlock2Ptr->field_CA9_b; - sBattleBuffersTransferData[3] = gSaveBlock2Ptr->field_CA9_b; + sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.field_CA9_b; + sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.field_CA9_b; sBattleBuffersTransferData[5] = sBattleBuffersTransferData[4] = sub_81850DC(&sBattleBuffersTransferData[6]); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sBattleBuffersTransferData[4] + 6); } diff --git a/src/battle_main.c b/src/battle_main.c index 34558ab38..9bec15750 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -684,7 +684,7 @@ static void CB2_InitBattleInternal(void) } gMain.inBattle = TRUE; - gSaveBlock2Ptr->field_CA9_b = 0; + gSaveBlock2Ptr->frontier.field_CA9_b = 0; for (i = 0; i < PARTY_SIZE; i++) AdjustFriendship(&gPlayerParty[i], 3); @@ -2281,7 +2281,7 @@ static void sub_8038F34(void) for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); - if (!gSaveBlock2Ptr->field_CA9_b && i == monsCount) + if (!gSaveBlock2Ptr->frontier.field_CA9_b && i == monsCount) { if (FlagGet(FLAG_SYS_FRONTIER_PASS)) { @@ -3116,7 +3116,7 @@ void SwitchInClearSetData(void) if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); - gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); + gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BATTLER | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); for (i = 0; i < gBattlersCount; i++) { @@ -4066,7 +4066,7 @@ u8 IsRunningFromBattleImpossible(void) return 2; } } - i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0); + i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0); if (i != 0 && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)) { gBattleScripting.battler = i - 1; @@ -4252,11 +4252,11 @@ static void HandleTurnActionSelectionState(void) { BtlController_EmitChoosePokemon(0, 2, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); } - else if ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) - || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) + else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) + || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) && !IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_FLYING) && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE) - || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) + || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | 4, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]); @@ -5036,7 +5036,7 @@ static void HandleEndTurn_BattleLost(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle; gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); - gSaveBlock2Ptr->field_CA9_b = 1; + gSaveBlock2Ptr->frontier.field_CA9_b = 1; } else { @@ -5068,7 +5068,7 @@ static void HandleEndTurn_RanFromBattle(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited; gBattleOutcome = B_OUTCOME_FORFEITED; - gSaveBlock2Ptr->field_CA9_b = 1; + gSaveBlock2Ptr->frontier.field_CA9_b = 1; } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) { @@ -5687,7 +5687,7 @@ static void HandleAction_Run(void) } gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN; - gSaveBlock2Ptr->field_CA9_b = 1; + gSaveBlock2Ptr->frontier.field_CA9_b = 1; } else { diff --git a/src/battle_setup.c b/src/battle_setup.c index b2655f731..5c7ca22aa 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -883,8 +883,8 @@ u8 sub_80B100C(s32 arg0) return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)]; } - var = gSaveBlock2Ptr->field_CB4[gSaveBlock2Ptr->battlePyramidWildHeaderId * 2 + 0] - + gSaveBlock2Ptr->field_CB4[gSaveBlock2Ptr->battlePyramidWildHeaderId * 2 + 1]; + var = gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 0] + + gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 1]; return sUnknown_0854FE98[var % ARRAY_COUNT(sUnknown_0854FE98)]; } diff --git a/src/battle_tent.c b/src/battle_tent.c new file mode 100644 index 000000000..68d7c5e83 --- /dev/null +++ b/src/battle_tent.c @@ -0,0 +1,268 @@ +#include "global.h" +#include "overworld.h" +#include "event_data.h" +#include "region_map.h" +#include "battle.h" +#include "battle_setup.h" +#include "battle_tower.h" +#include "battle_frontier_2.h" +#include "random.h" +#include "item.h" +#include "constants/items.h" +#include "constants/region_map_sections.h" + +// this file's functions +void sub_81B99D4(void); +void sub_81B9A28(void); +void sub_81B9A44(void); +void sub_81B9A60(void); +void sub_81B9A90(void); +void sub_81B9ABC(void); +void sub_81B9B00(void); +void sub_81B9B28(void); +void sub_81B9BA0(void); +void sub_81B9BF4(void); +void sub_81B9C10(void); +void sub_81B9C2C(void); +void sub_81B9C70(void); +void sub_81B9C98(void); +void sub_81B9CF0(void); +void sub_81B9D28(void); +void sub_81B9D7C(void); +void sub_81B9D98(void); +void sub_81B9DB4(void); +void sub_81B9DF8(void); +void sub_81B9E20(void); +void sub_81B9E78(void); +void sub_81B9E88(void); +void sub_81BA040(void); +void sub_81B9EC0(void); + +// const rom data +void (*const gUnknown_086160B4[])(void) = +{ + sub_81B99D4, + sub_81B9A28, + sub_81B9A44, + sub_81B9A60, + sub_81B9A90, + sub_81B9ABC, + sub_81B9B00, + sub_81B9B28 +}; + +const u16 gUnknown_086160D4[] = {ITEM_NEST_BALL, ITEM_NONE}; + +void (*const gUnknown_086160D8[])(void) = +{ + sub_81B9BA0, + sub_81B9BF4, + sub_81B9C10, + sub_81B9C2C, + sub_81B9C70, + sub_81B9C98, + sub_81B9CF0 +}; + +const u16 gUnknown_086160F4[] = {ITEM_HYPER_POTION, ITEM_NONE}; + +void (*const gUnknown_086160F8[])(void) = +{ + sub_81B9D28, + sub_81B9D7C, + sub_81B9D98, + sub_81B9DB4, + sub_81B9DF8, + sub_81B9E20, + sub_81B9E78, + sub_81B9E88, + sub_81BA040, + sub_81B9EC0 +}; + +const u16 gUnknown_08616120[] = {ITEM_FULL_HEAL, ITEM_NONE}; + +// code +void sub_81B99B4(void) +{ + gUnknown_086160B4[gSpecialVar_0x8004](); +} + +void sub_81B99D4(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); +} + +void sub_81B9A28(void) +{ + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6A; +} + +void sub_81B9A44(void) +{ + gSaveBlock2Ptr->frontier.field_E6A = gSpecialVar_0x8006; +} + +void sub_81B9A60(void) +{ + gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64; + sub_8162614(gTrainerBattleOpponent_A, 0); +} + +void sub_81B9A90(void) +{ + if (gTrainerBattleOpponent_A < 300) + ConvertBattleFrontierTrainerSpeechToString(gUnknown_0203BC88[gTrainerBattleOpponent_A].speechBefore); +} + +void sub_81B9ABC(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + VarSet(VAR_TEMP_0, 0); + gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; + sub_81A4C30(); +} + +void sub_81B9B00(void) +{ + gSaveBlock2Ptr->frontier.field_E6A = gUnknown_086160D4[Random() % 1]; +} + +void sub_81B9B28(void) +{ + if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6A, 1) == TRUE) + { + CopyItemName(gSaveBlock2Ptr->frontier.field_E6A, gStringVar1); + gSaveBlock2Ptr->frontier.field_E6A = ITEM_NONE; + gSpecialVar_Result = TRUE; + } + else + { + gSpecialVar_Result = FALSE; + } +} + +void sub_81B9B80(void) +{ + gUnknown_086160D8[gSpecialVar_0x8004](); +} + +void sub_81B9BA0(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); +} + +void sub_81B9BF4(void) +{ + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6C; +} + +void sub_81B9C10(void) +{ + gSaveBlock2Ptr->frontier.field_E6C = gSpecialVar_0x8006; +} + +void sub_81B9C2C(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + VarSet(VAR_TEMP_0, 0); + gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; + sub_81A4C30(); +} + +void sub_81B9C70(void) +{ + gSaveBlock2Ptr->frontier.field_E6C = gUnknown_086160F4[Random() % 1]; +} + +void sub_81B9C98(void) +{ + if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6C, 1) == TRUE) + { + CopyItemName(gSaveBlock2Ptr->frontier.field_E6C, gStringVar1); + gSaveBlock2Ptr->frontier.field_E6C = ITEM_NONE; + gSpecialVar_Result = TRUE; + } + else + { + gSpecialVar_Result = FALSE; + } +} + +void sub_81B9CF0(void) +{ + GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A); +} + +void sub_81B9D08(void) +{ + gUnknown_086160F8[gSpecialVar_0x8004](); +} + +void sub_81B9D28(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); +} + +void sub_81B9D7C(void) +{ + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6E; +} + +void sub_81B9D98(void) +{ + gSaveBlock2Ptr->frontier.field_E6E = gSpecialVar_0x8006; +} + +void sub_81B9DB4(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + VarSet(VAR_TEMP_0, 0); + gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; + sub_81A4C30(); +} + +void sub_81B9DF8(void) +{ + gSaveBlock2Ptr->frontier.field_E6E = gUnknown_08616120[Random() % 1]; +} + +void sub_81B9E20(void) +{ + if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6E, 1) == TRUE) + { + CopyItemName(gSaveBlock2Ptr->frontier.field_E6E, gStringVar1); + gSaveBlock2Ptr->frontier.field_E6E = ITEM_NONE; + gSpecialVar_Result = TRUE; + } + else + { + gSpecialVar_Result = FALSE; + } +} + +void sub_81B9E78(void) +{ + ZeroPlayerPartyMons(); + sub_819A4F8(); +} + +void sub_81B9E88(void) +{ + sub_819DC00(); +} + +bool8 sub_81B9E94(void) +{ + return (gMapHeader.regionMapSectionId == MAPSEC_SLATEPORT_CITY + && ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386))); +} diff --git a/src/decoration.c b/src/decoration.c index ad2cdfa30..0510b9f31 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1736,7 +1736,7 @@ bool8 sub_8128D10(u8 taskId) data[1] ++; return FALSE; } - if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapData->height) + if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height) { data[1] --; return FALSE; @@ -1746,7 +1746,7 @@ bool8 sub_8128D10(u8 taskId) data[0] ++; return FALSE; } - if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapData->width) + if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width) { data[0] --; return FALSE; @@ -2186,7 +2186,7 @@ void sub_81297F8(void) { for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x ++) { - MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapData->map[posX + x + gMapHeader.mapData->width * (posY - y)] | 0x3000); + MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapLayout->map[posX + x + gMapHeader.mapLayout->width * (posY - y)] | 0x3000); } } sub_81296EC(sDecorRearrangementDataBuffer[i].idx); diff --git a/src/field_camera.c b/src/field_camera.c index d7063bd89..8629bec2b 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -25,13 +25,13 @@ struct FieldCameraUnknownStruct }; // static functions -static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); -static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); -static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); -static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); +static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); +static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); +static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); +static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); static s32 MapPosToBgTilemapOffset(struct FieldCameraUnknownStruct *a, s32 x, s32 y); -static void DrawWholeMapViewInternal(int x, int y, const struct MapData *mapData); -static void DrawMetatileAt(const struct MapData *mapData, u16, int, int); +static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout); +static void DrawMetatileAt(const struct MapLayout *mapLayout, u16, int, int); static void DrawMetatile(s32 a, u16 *b, u16 c); static void CameraPanningCB_PanAhead(void); @@ -97,11 +97,11 @@ void sub_8089C08(s16 *a, s16 *b) void DrawWholeMapView(void) { - DrawWholeMapViewInternal(gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y, gMapHeader.mapData); + DrawWholeMapViewInternal(gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y, gMapHeader.mapLayout); gUnknown_03000E20.unk4 = TRUE; } -static void DrawWholeMapViewInternal(int x, int y, const struct MapData *mapData) +static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout) { u8 i; u8 j; @@ -119,27 +119,27 @@ static void DrawWholeMapViewInternal(int x, int y, const struct MapData *mapData temp = gUnknown_03000E20.unk2 + j; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r6 + temp, x + j / 2, y + i / 2); + DrawMetatileAt(mapLayout, r6 + temp, x + j / 2, y + i / 2); } } } static void RedrawMapSlicesForCameraUpdate(struct FieldCameraUnknownStruct *a, int x, int y) { - const struct MapData *mapData = gMapHeader.mapData; + const struct MapLayout *mapLayout = gMapHeader.mapLayout; if (x > 0) - RedrawMapSliceWest(a, mapData); + RedrawMapSliceWest(a, mapLayout); if (x < 0) - RedrawMapSliceEast(a, mapData); + RedrawMapSliceEast(a, mapLayout); if (y > 0) - RedrawMapSliceNorth(a, mapData); + RedrawMapSliceNorth(a, mapLayout); if (y < 0) - RedrawMapSliceSouth(a, mapData); + RedrawMapSliceSouth(a, mapLayout); a->unk4 = TRUE; } -static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -154,11 +154,11 @@ static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct temp = a->unk2 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y + 14); + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y + 14); } } -static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -169,11 +169,11 @@ static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct temp = a->unk2 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y); + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y); } } -static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -184,11 +184,11 @@ static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct temp = a->unk3 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, temp * 32 + r6, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y + i / 2); + DrawMetatileAt(mapLayout, temp * 32 + r6, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y + i / 2); } } -static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -201,7 +201,7 @@ static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct temp = a->unk3 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, temp * 32 + r5, gSaveBlock1Ptr->pos.x + 14, gSaveBlock1Ptr->pos.y + i / 2); + DrawMetatileAt(mapLayout, temp * 32 + r5, gSaveBlock1Ptr->pos.x + 14, gSaveBlock1Ptr->pos.y + i / 2); } } @@ -211,7 +211,7 @@ void CurrentMapDrawMetatileAt(int a, int b) if (offset >= 0) { - DrawMetatileAt(gMapHeader.mapData, offset, a, b); + DrawMetatileAt(gMapHeader.mapLayout, offset, a, b); gUnknown_03000E20.unk4 = TRUE; } } @@ -227,7 +227,7 @@ void DrawDoorMetatileAt(int x, int y, u16 *arr) } } -static void DrawMetatileAt(const struct MapData *mapData, u16 b, int c, int d) +static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 b, int c, int d) { u16 metatileId = MapGridGetMetatileIdAt(c, d); u16 *metatiles; @@ -235,10 +235,10 @@ static void DrawMetatileAt(const struct MapData *mapData, u16 b, int c, int d) if (metatileId > 1024) metatileId = 0; if (metatileId < 512) - metatiles = mapData->primaryTileset->metatiles; + metatiles = mapLayout->primaryTileset->metatiles; else { - metatiles = mapData->secondaryTileset->metatiles; + metatiles = mapLayout->secondaryTileset->metatiles; metatileId -= 512; } DrawMetatile(MapGridGetMetatileLayerTypeAt(c, d), metatiles + metatileId * 8, b); diff --git a/src/field_tasks.c b/src/field_tasks.c index d9c3078da..3cc40ac9d 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -525,8 +525,8 @@ static bool32 sub_809E184(s16 x, s16 y) void SetSootopolisGymCrackedIceMetatiles(void) { s32 x, y; - s32 width = gMapHeader.mapData->width; - s32 height = gMapHeader.mapData->height; + s32 width = gMapHeader.mapLayout->width; + s32 height = gMapHeader.mapLayout->height; for (x = 0; x < width; x++) { for (y = 0; y < height; y++) diff --git a/src/fieldmap.c b/src/fieldmap.c index 245c88327..2561bceb7 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -28,7 +28,7 @@ EWRAM_DATA struct Camera gCamera = {0}; EWRAM_DATA static struct ConnectionFlags gUnknown_02037340 = {0}; EWRAM_DATA static u32 sFiller_02037344 = 0; // without this, the next file won't align properly -struct BackupMapData gUnknown_03005DC0; +struct BackupMapLayout gUnknown_03005DC0; static const struct ConnectionFlags sDummyConnectionFlags = {0}; @@ -68,19 +68,19 @@ void trainer_hill_map_load_related(void) void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader) { - struct MapData const *mapData; + struct MapLayout const *mapLayout; int width; int height; - mapData = mapHeader->mapData; + mapLayout = mapHeader->mapLayout; CpuFastFill16(0x03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); gUnknown_03005DC0.map = gUnknown_02032318; - width = mapData->width + 15; + width = mapLayout->width + 15; gUnknown_03005DC0.width = width; - height = mapData->height + 14; + height = mapLayout->height + 14; gUnknown_03005DC0.height = height; if (width * height <= 0x2800) { - map_copy_with_padding(mapData->map, mapData->width, mapData->height); + map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height); mapheader_copy_mapdata_of_adjacent_maps(mapHeader); } } @@ -146,8 +146,8 @@ void sub_8087F54(int x, int y, struct MapHeader const *mapHeader, int x2, int y2 u16 *dest; int mapWidth; - mapWidth = mapHeader->mapData->width; - src = &mapHeader->mapData->map[mapWidth * y2 + x2]; + mapWidth = mapHeader->mapLayout->width; + src = &mapHeader->mapLayout->map[mapWidth * y2 + x2]; dest = &gUnknown_03005DC0.map[gUnknown_03005DC0.width * y + x]; for (i = 0; i < height; i++) @@ -167,9 +167,9 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; + cWidth = connectedMapHeader->mapLayout->width; x = offset + 7; - y = mapHeader->mapData->height + 7; + y = mapHeader->mapLayout->height + 7; if (x < 0) { x2 = -x; @@ -214,8 +214,8 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; - cHeight = connectedMapHeader->mapData->height; + cWidth = connectedMapHeader->mapLayout->width; + cHeight = connectedMapHeader->mapLayout->height; x = offset + 7; y2 = cHeight - 7; if (x < 0) @@ -262,8 +262,8 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons int cWidth, cHeight; if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; - cHeight = connectedMapHeader->mapData->height; + cWidth = connectedMapHeader->mapLayout->width; + cHeight = connectedMapHeader->mapLayout->height; y = offset + 7; x2 = cWidth - 7; if (y < 0) @@ -308,8 +308,8 @@ void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader cons int cHeight; if (connectedMapHeader) { - cHeight = connectedMapHeader->mapData->height; - x = mapHeader->mapData->width + 7; + cHeight = connectedMapHeader->mapLayout->height; + x = mapHeader->mapLayout->width + 7; y = offset + 7; if (y < 0) { @@ -369,10 +369,10 @@ u8 MapGridGetZCoordAt(int x, int y) } else { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = gMapHeader.mapData->border[i]; + block = gMapHeader.mapLayout->border[i]; block |= 0xc00; } @@ -397,10 +397,10 @@ u8 MapGridIsImpassableAt(int x, int y) } else { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = gMapHeader.mapData->border[i]; + block = gMapHeader.mapLayout->border[i]; block |= 0xc00; } if (block == 0x3ff) @@ -415,7 +415,7 @@ u32 MapGridGetMetatileIdAt(int x, int y) u16 block; int i; int j; - struct MapData const *mapData; + struct MapLayout const *mapLayout; u16 *border; u16 block2; @@ -426,17 +426,17 @@ u32 MapGridGetMetatileIdAt(int x, int y) } else { - mapData = gMapHeader.mapData; + mapLayout = gMapHeader.mapLayout; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = mapData->border[i] | 0xc00; + block = mapLayout->border[i] | 0xc00; } if (block == 0x3ff) { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; j = (x + 1) & 1; j += ((y + 1) & 1) * 2; - block2 = gMapHeader.mapData->border[j]; + block2 = gMapHeader.mapLayout->border[j]; block2 |= 0xc00; return block2 & block; } @@ -484,12 +484,12 @@ u16 GetBehaviorByMetatileId(u16 metatile) u16 *attributes; if (metatile <= 0x1ff) { - attributes = gMapHeader.mapData->primaryTileset->metatileAttributes; + attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes; return attributes[metatile]; } else if (metatile <= 0x3ff) { - attributes = gMapHeader.mapData->secondaryTileset->metatileAttributes; + attributes = gMapHeader.mapLayout->secondaryTileset->metatileAttributes; return attributes[metatile - 0x200]; } else @@ -555,7 +555,7 @@ void mapdata_from_sav2(void) { if (i == y && i != 0) a0 = 0; - else if (i == y + 13 && i != gMapHeader.mapData->height - 1) + else if (i == y + 13 && i != gMapHeader.mapLayout->height - 1) a0 = 1; else a0 = -1; @@ -571,7 +571,7 @@ void mapdata_from_sav2(void) { if (y != 0) sub_80D423C(j, y - 1); - if (i < gMapHeader.mapData->height - 1) + if (i < gMapHeader.mapLayout->height - 1) sub_80D42B8(j, y + 13); } sav2_mapdata_clear(); @@ -636,7 +636,7 @@ void sub_80885C4(u8 a1) int GetMapBorderIdAt(int x, int y) { - struct MapData const *mapData; + struct MapLayout const *mapLayout; u16 block, block2; int i, j; if (x >= 0 && x < gUnknown_03005DC0.width @@ -652,10 +652,10 @@ int GetMapBorderIdAt(int x, int y) } else { - mapData = gMapHeader.mapData; + mapLayout = gMapHeader.mapLayout; j = (x + 1) & 1; j += ((y + 1) & 1) * 2; - block2 = 0xc00 | mapData->border[j]; + block2 = 0xc00 | mapLayout->border[j]; if (block2 == 0x3ff) { goto fail; @@ -732,7 +732,7 @@ void sub_80887F8(struct MapConnection *connection, int direction, int x, int y) gSaveBlock1Ptr->pos.y -= connection->offset; break; case CONNECTION_WEST: - gSaveBlock1Ptr->pos.x = mapHeader->mapData->width; + gSaveBlock1Ptr->pos.x = mapHeader->mapLayout->width; gSaveBlock1Ptr->pos.y -= connection->offset; break; case CONNECTION_SOUTH: @@ -741,7 +741,7 @@ void sub_80887F8(struct MapConnection *connection, int direction, int x, int y) break; case CONNECTION_NORTH: gSaveBlock1Ptr->pos.x -= connection->offset; - gSaveBlock1Ptr->pos.y = mapHeader->mapData->height; + gSaveBlock1Ptr->pos.y = mapHeader->mapLayout->height; break; } } @@ -800,10 +800,10 @@ bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection) { case CONNECTION_SOUTH: case CONNECTION_NORTH: - return sub_8088A0C(x, gMapHeader.mapData->width, mapHeader->mapData->width, connection->offset); + return sub_8088A0C(x, gMapHeader.mapLayout->width, mapHeader->mapLayout->width, connection->offset); case CONNECTION_WEST: case CONNECTION_EAST: - return sub_8088A0C(y, gMapHeader.mapData->height, mapHeader->mapData->height, connection->offset); + return sub_8088A0C(y, gMapHeader.mapLayout->height, mapHeader->mapLayout->height, connection->offset); } return FALSE; } @@ -841,10 +841,10 @@ int sub_8088A4C(struct MapConnection *connection, int x, int y) { case CONNECTION_SOUTH: case CONNECTION_NORTH: - return sub_8088A38(x - connection->offset, mapHeader->mapData->width); + return sub_8088A38(x - connection->offset, mapHeader->mapLayout->width); case CONNECTION_WEST: case CONNECTION_EAST: - return sub_8088A38(y - connection->offset, mapHeader->mapData->height); + return sub_8088A38(y - connection->offset, mapHeader->mapLayout->height); } return FALSE; } @@ -868,9 +868,9 @@ struct MapConnection *sub_8088A8C(s16 x, s16 y) direction = connection->direction; if ((direction == CONNECTION_DIVE || direction == CONNECTION_EMERGE) || (direction == CONNECTION_NORTH && y > 6) - || (direction == CONNECTION_SOUTH && y < gMapHeader.mapData->height + 7) + || (direction == CONNECTION_SOUTH && y < gMapHeader.mapLayout->height + 7) || (direction == CONNECTION_WEST && x > 6) - || (direction == CONNECTION_EAST && x < gMapHeader.mapData->width + 7)) + || (direction == CONNECTION_EAST && x < gMapHeader.mapLayout->width + 7)) { continue; } @@ -990,45 +990,45 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1 } } -void copy_map_tileset1_to_vram(struct MapData const *mapData) +void copy_map_tileset1_to_vram(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram(mapData->primaryTileset, 0x200, 0); + copy_tileset_patterns_to_vram(mapLayout->primaryTileset, 0x200, 0); } -void copy_map_tileset2_to_vram(struct MapData const *mapData) +void copy_map_tileset2_to_vram(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram(mapData->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram(mapLayout->secondaryTileset, 0x200, 0x200); } -void copy_map_tileset2_to_vram_2(struct MapData const *mapData) +void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram2(mapData->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200); } -void apply_map_tileset1_palette(struct MapData const *mapData) +void apply_map_tileset1_palette(struct MapLayout const *mapLayout) { - apply_map_tileset_palette(mapData->primaryTileset, 0, 0xC0); + apply_map_tileset_palette(mapLayout->primaryTileset, 0, 0xC0); } -void apply_map_tileset2_palette(struct MapData const *mapData) +void apply_map_tileset2_palette(struct MapLayout const *mapLayout) { - apply_map_tileset_palette(mapData->secondaryTileset, 0x60, 0xE0); + apply_map_tileset_palette(mapLayout->secondaryTileset, 0x60, 0xE0); } -void copy_map_tileset1_tileset2_to_vram(struct MapData const *mapData) +void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout) { - if (mapData) + if (mapLayout) { - copy_tileset_patterns_to_vram2(mapData->primaryTileset, 0x200, 0); - copy_tileset_patterns_to_vram2(mapData->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram2(mapLayout->primaryTileset, 0x200, 0); + copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200); } } -void apply_map_tileset1_tileset2_palette(struct MapData const *mapData) +void apply_map_tileset1_tileset2_palette(struct MapLayout const *mapLayout) { - if (mapData) + if (mapLayout) { - apply_map_tileset1_palette(mapData); - apply_map_tileset2_palette(mapData); + apply_map_tileset1_palette(mapLayout); + apply_map_tileset2_palette(mapLayout); } } diff --git a/src/item.c b/src/item.c index 319d167fc..30710d08a 100644 --- a/src/item.c +++ b/src/item.c @@ -845,8 +845,8 @@ u16 CountTotalItemQuantityInBag(u16 itemId) static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count) { u8 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -867,8 +867,8 @@ static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count) static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count) { u8 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -890,8 +890,8 @@ bool8 AddPyramidBagItem(u16 itemId, u16 count) { u16 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); @@ -963,8 +963,8 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count) { u16 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; i = gUnknown_0203CF30[3] + gUnknown_0203CF30[4]; if (items[i] == itemId && quantities[i] >= count) diff --git a/src/item_use.c b/src/item_use.c index 96f63ee3e..f3cb58069 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -424,23 +424,23 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y) case 2: localOffset = connection->offset + 7; localX = x - localOffset; - localLength = mapHeader->mapData->height - 7; + localLength = mapHeader->mapLayout->height - 7; localY = localLength + y; // additions are reversed for some reason break; case 1: localOffset = connection->offset + 7; localX = x - localOffset; - localLength = gMapHeader.mapData->height + 7; + localLength = gMapHeader.mapLayout->height + 7; localY = y - localLength; break; case 3: - localLength = mapHeader->mapData->width - 7; + localLength = mapHeader->mapLayout->width - 7; localX = localLength + x; // additions are reversed for some reason localOffset = connection->offset + 7; localY = y - localOffset; break; case 4: - localLength = gMapHeader.mapData->width + 7; + localLength = gMapHeader.mapLayout->width + 7; localX = x - localLength; localOffset = connection->offset + 7; localY = y - localOffset; @@ -455,8 +455,8 @@ void sub_80FD7C8(u8 taskId) { s16 x, y; s16 curX, curY; - s16 width = gMapHeader.mapData->width + 7; - s16 height = gMapHeader.mapData->height + 7; + s16 width = gMapHeader.mapLayout->width + 7; + s16 height = gMapHeader.mapLayout->height + 7; s16 var1 = 7; s16 var2 = 7; diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 1782e9af8..758ce3b3d 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -228,7 +228,7 @@ static void ShowMapNamePopUpWindow(void) if(InBattlePyramid()) { - if(gMapHeader.mapDataId == 0x17A) + if(gMapHeader.mapLayoutId == 0x17A) { withoutPrefixPtr = &(mapDisplayHeader[3]); mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[7]; @@ -236,7 +236,7 @@ static void ShowMapNamePopUpWindow(void) else { withoutPrefixPtr = &(mapDisplayHeader[3]); - mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[gSaveBlock2Ptr->battlePyramidWildHeaderId]; + mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[gSaveBlock2Ptr->frontier.field_CB2]; } StringCopy(withoutPrefixPtr, mapDisplayHeaderSource); } diff --git a/src/new_game.c b/src/new_game.c index c387bce65..8b8436d10 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -31,11 +31,9 @@ extern u8 gUnknown_030060B0; // TODO: replace those declarations with file headers extern u16 GetGeneratedTrainerIdLower(void); extern void ClearContestWinnerPicsInContestHall(void); -extern void warp_in(void); extern void sub_80BB358(void); extern void ResetBagScrollPositions(void); extern void ResetPokedex(void); -extern void sub_8084400(void); extern void ResetGabbyAndTy(void); extern void ResetSecretBases(void); extern void ResetLinkContestBoolean(void); @@ -58,6 +56,19 @@ extern void SetBerryPowder(u32* powder, u32 newValue); extern const u8 EventScript_2715DE[]; +// this file's functions +static void ClearFrontierRecord(void); +static void WarpToTruck(void); +static void ResetMiniGamesResults(void); + +// const rom data +static const struct ContestWinner sContestWinnerPicDummy = +{ + .monName = _(""), + .trainerName = _("") +}; + +// code void WriteUnalignedWord(u32 var, u8 *dataPtr) { dataPtr[0] = var; @@ -78,14 +89,14 @@ void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom) copyTo[i] = copyFrom[i]; } -void InitPlayerTrainerId(void) +static void InitPlayerTrainerId(void) { u32 trainerId = (Random() << 0x10) | GetGeneratedTrainerIdLower(); WriteUnalignedWord(trainerId, gSaveBlock2Ptr->playerTrainerId); } // L=A isnt set here for some reason. -void SetDefaultOptions(void) +static void SetDefaultOptions(void) { gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID; gSaveBlock2Ptr->optionsWindowFrameType = 0; @@ -95,37 +106,31 @@ void SetDefaultOptions(void) gSaveBlock2Ptr->regionMapZoom = FALSE; } -void ClearPokedexFlags(void) +static void ClearPokedexFlags(void) { gUnknown_030060B0 = 0; memset(&gSaveBlock2Ptr->pokedex.owned, 0, sizeof(gSaveBlock2Ptr->pokedex.owned)); memset(&gSaveBlock2Ptr->pokedex.seen, 0, sizeof(gSaveBlock2Ptr->pokedex.seen)); } -const struct ContestWinner gContestWinnerPicDummy = { - .monName = _(""), - .trainerName = _("") -}; - void ClearAllContestWinnerPics(void) { s32 i; ClearContestWinnerPicsInContestHall(); for (i = 8; i < 13; i++) - gSaveBlock1Ptr->contestWinners[i] = gContestWinnerPicDummy; + gSaveBlock1Ptr->contestWinners[i] = sContestWinnerPicDummy; } -void sub_8084400(void) +static void ClearFrontierRecord(void) { - // probably clearing one struct for battle frontier - CpuFill32(0, &gSaveBlock2Ptr->battleTower, 2272); + CpuFill32(0, &gSaveBlock2Ptr->frontier, sizeof(gSaveBlock2Ptr->frontier)); - gSaveBlock2Ptr->field_EE1[0][0] = EOS; - gSaveBlock2Ptr->field_EE1[1][0] = EOS; + gSaveBlock2Ptr->frontier.field_EE1[0][0] = EOS; + gSaveBlock2Ptr->frontier.field_EE1[1][0] = EOS; } -void WarpToTruck(void) +static void WarpToTruck(void) { Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck warp_in(); @@ -157,7 +162,7 @@ void NewGameInitData(void) ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); ResetPokedex(); - sub_8084400(); + ClearFrontierRecord(); ClearSav1(); ClearMailData(); gSaveBlock2Ptr->specialSaveWarp = 0; @@ -207,7 +212,7 @@ void NewGameInitData(void) ResetContestLinkResults(); } -void ResetMiniGamesResults(void) +static void ResetMiniGamesResults(void) { CpuFill16(0, &gSaveBlock2Ptr->berryCrush, sizeof(struct BerryCrush)); SetBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount, 0); diff --git a/src/overworld.c b/src/overworld.c index 1e4116053..657ffd86a 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -81,7 +81,7 @@ extern const u8 gUnknown_082774EF[]; extern const u8 gUnknown_08277509[]; // vars -extern const struct MapData *const gMapAttributes[]; +extern const struct MapLayout *const gMapLayouts[]; extern const struct MapHeader *const *const gMapGroups[]; extern const s32 gMaxFlashLevel; extern const u16 gUnknown_82EC7C4[]; @@ -97,16 +97,16 @@ extern void HealPlayerParty(void); extern void move_tilemap_camera_to_upper_left_corner(void); extern void cur_mapheader_run_tileset_funcs_after_some_cpuset(void); extern void DrawWholeMapView(void); -extern void copy_map_tileset1_tileset2_to_vram(const struct MapData *); -extern void apply_map_tileset1_tileset2_palette(const struct MapData *); +extern void copy_map_tileset1_tileset2_to_vram(const struct MapLayout *); +extern void apply_map_tileset1_tileset2_palette(const struct MapLayout *); extern void ResetCyclingRoadChallengeData(void); extern void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey); extern void mapheader_run_script_with_tag_x5(void); extern void ResetFieldTasksArgs(void); extern void sub_80A0A2C(void); extern void not_trainer_hill_battle_pyramid(void); -extern void apply_map_tileset2_palette(const struct MapData *); -extern void copy_map_tileset2_to_vram_2(const struct MapData *); +extern void apply_map_tileset2_palette(const struct MapLayout *); +extern void copy_map_tileset2_to_vram_2(const struct MapLayout *); extern void prev_quest_postbuffer_cursor_backup_reset(void); extern void ShowMapNamePopup(void); extern bool32 InTrainerHill(void); @@ -143,8 +143,8 @@ extern void sub_80EDB44(void); extern void sub_81D64C0(void); extern void sub_81BE6AC(void); extern void sub_8098128(void); -extern void copy_map_tileset1_to_vram(const struct MapData *); -extern void copy_map_tileset2_to_vram(const struct MapData *); +extern void copy_map_tileset1_to_vram(const struct MapLayout *); +extern void copy_map_tileset2_to_vram(const struct MapLayout *); extern void FieldUpdateBgTilemapScroll(void); extern void TransferTilesetAnimsBuffer(void); extern bool32 sub_81D5F48(void); @@ -558,17 +558,17 @@ void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType) static void mapdata_load_assets_to_gpu_and_full_redraw(void) { move_tilemap_camera_to_upper_left_corner(); - copy_map_tileset1_tileset2_to_vram(gMapHeader.mapData); - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + copy_map_tileset1_tileset2_to_vram(gMapHeader.mapLayout); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); DrawWholeMapView(); cur_mapheader_run_tileset_funcs_after_some_cpuset(); } -const struct MapData *get_mapdata_header(void) +const struct MapLayout *GetMapLayout(void) { - u16 mapDataId = gSaveBlock1Ptr->mapDataId; - if (mapDataId) - return gMapAttributes[mapDataId - 1]; + u16 mapLayoutId = gSaveBlock1Ptr->mapLayoutId; + if (mapLayoutId) + return gMapLayouts[mapLayoutId - 1]; return NULL; } @@ -625,14 +625,14 @@ void set_current_map_header_from_sav1_save_old_name(void) { sLastMapSectionId = gMapHeader.regionMapSectionId; gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); - gSaveBlock1Ptr->mapDataId = gMapHeader.mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gSaveBlock1Ptr->mapLayoutId = gMapHeader.mapLayoutId; + gMapHeader.mapLayout = GetMapLayout(); } void LoadSaveblockMapHeader(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); - gMapHeader.mapData = get_mapdata_header(); + gMapHeader.mapLayout = GetMapLayout(); } void update_camera_pos_from_warpid(void) @@ -649,8 +649,8 @@ void update_camera_pos_from_warpid(void) } else { - gSaveBlock1Ptr->pos.x = gMapHeader.mapData->width / 2; - gSaveBlock1Ptr->pos.y = gMapHeader.mapData->height / 2; + gSaveBlock1Ptr->pos.x = gMapHeader.mapLayout->width / 2; + gSaveBlock1Ptr->pos.y = gMapHeader.mapLayout->height / 2; } } @@ -837,8 +837,8 @@ void mliX_load_map(u8 mapGroup, u8 mapNum) Overworld_ClearSavedMusic(); mapheader_run_script_with_tag_x3(); not_trainer_hill_battle_pyramid(); - copy_map_tileset2_to_vram_2(gMapHeader.mapData); - apply_map_tileset2_palette(gMapHeader.mapData); + copy_map_tileset2_to_vram_2(gMapHeader.mapLayout); + apply_map_tileset2_palette(gMapHeader.mapLayout); for (paletteIndex = 6; paletteIndex < 13; paletteIndex++) ApplyWeatherGammaShiftToPal(paletteIndex); @@ -862,7 +862,7 @@ static void mli0_load_map(u32 a1) set_current_map_header_from_sav1_save_old_name(); if (!(sUnknown_020322D8 & 1)) { - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) sub_81AA1D8(); else if (InTrainerHill()) sub_81D5DF8(); @@ -890,7 +890,7 @@ static void mli0_load_map(u32 a1) mapheader_run_script_with_tag_x3(); UpdateLocationHistoryForRoamer(); RoamerMoveToOtherLocationSet(); - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) battle_pyramid_map_load_related(0); else if (InTrainerHill()) trainer_hill_map_load_related(); @@ -1016,10 +1016,10 @@ u8 Overworld_GetFlashLevel(void) return gSaveBlock1Ptr->flashLevel; } -void sub_8085524(u16 mapDataId) +void sub_8085524(u16 mapLayoutId) { - gSaveBlock1Ptr->mapDataId = mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gSaveBlock1Ptr->mapLayoutId = mapLayoutId; + gMapHeader.mapLayout = GetMapLayout(); } void sub_8085540(u8 var) @@ -1729,7 +1729,7 @@ void CB2_ContinueSavedGame(void) LoadSaveblockMapHeader(); set_warp2_warp3_to_neg_1(); trainerHillMapId = GetCurrentTrainerHillMapId(); - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) sub_81AA2F8(); else if (trainerHillMapId != 0 && trainerHillMapId != 6) sub_81D5F48(); @@ -1739,7 +1739,7 @@ void CB2_ContinueSavedGame(void) UnfreezeEventObjects(); DoTimeBasedEvents(); sub_8084788(); - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) battle_pyramid_map_load_related(1); else if (trainerHillMapId != 0) trainer_hill_map_load_related(); @@ -1859,17 +1859,17 @@ static bool32 map_loading_iteration_3(u8 *state) (*state)++; break; case 6: - copy_map_tileset1_to_vram(gMapHeader.mapData); + copy_map_tileset1_to_vram(gMapHeader.mapLayout); (*state)++; break; case 7: - copy_map_tileset2_to_vram(gMapHeader.mapData); + copy_map_tileset2_to_vram(gMapHeader.mapLayout); (*state)++; break; case 8: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*state)++; } break; @@ -1934,17 +1934,17 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 6: - copy_map_tileset1_to_vram(gMapHeader.mapData); + copy_map_tileset1_to_vram(gMapHeader.mapLayout); (*state)++; break; case 7: - copy_map_tileset2_to_vram(gMapHeader.mapData); + copy_map_tileset2_to_vram(gMapHeader.mapLayout); (*state)++; break; case 8: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*state)++; } break; @@ -2031,17 +2031,17 @@ static bool32 map_loading_iteration_2_link(u8 *state) (*state)++; break; case 5: - copy_map_tileset1_to_vram(gMapHeader.mapData); + copy_map_tileset1_to_vram(gMapHeader.mapLayout); (*state)++; break; case 6: - copy_map_tileset2_to_vram(gMapHeader.mapData); + copy_map_tileset2_to_vram(gMapHeader.mapLayout); (*state)++; break; case 7: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*state)++; } break; diff --git a/src/pokemon.c b/src/pokemon.c index 7d685062f..d06da3e9e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1575,8 +1575,8 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv u8 language; u8 value; - if (gSaveBlock2Ptr->frontierChosenLvl != 0) - level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontierChosenLvl); + if (gSaveBlock2Ptr->frontier.chosenLvl != 0) + level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontier.chosenLvl); else if (lvl50) level = 50; else @@ -5620,7 +5620,7 @@ void SetWildMonHeldItem(void) var1 = 20; var2 = 80; } - if (gMapHeader.mapDataId == 0x1A4) + if (gMapHeader.mapLayoutId == 0x1A4) { s32 alteringCaveId = GetWildMonTableIdInAlteringCave(species); if (alteringCaveId != 0) diff --git a/src/record_mixing.c b/src/record_mixing.c index 35e518d8a..8b21e214f 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -197,10 +197,10 @@ static void SetSrcLookupPointers(void) sOldManSave = &gSaveBlock1Ptr->oldMan; sEasyChatPairsSave = gSaveBlock1Ptr->easyChatPairs; gUnknown_03001148 = &gUnknown_02039F9C; - sBattleTowerSave = &gSaveBlock2Ptr->battleTower; + sBattleTowerSave = &gSaveBlock2Ptr->frontier.battleTower; sLilycoveLadySave = &gSaveBlock1Ptr->lilycoveLady; gUnknown_03001154 = gSaveBlock2Ptr->field_DC; - sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->battleTower; + sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->frontier.battleTower; } static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest) @@ -1625,24 +1625,24 @@ void sub_80E8260(struct UnkRecordMixingStruct2 *dst) { dst->field_120[j].language = GAME_LANGUAGE; CopyUnalignedWord(dst->field_120[j].playerId1, gSaveBlock2Ptr->playerTrainerId); - CopyUnalignedWord(dst->field_120[j].playerId2, gSaveBlock2Ptr->field_EF1[j]); + CopyUnalignedWord(dst->field_120[j].playerId2, gSaveBlock2Ptr->frontier.field_EF1[j]); StringCopy(dst->field_120[j].playerName1, gSaveBlock2Ptr->playerName); - StringCopy(dst->field_120[j].playerName2, gSaveBlock2Ptr->field_EE1[j]); + StringCopy(dst->field_120[j].playerName2, gSaveBlock2Ptr->frontier.field_EE1[j]); } for (i = 0; i < 2; i++) { - dst->field_0[0][i].field_4 = gSaveBlock2Ptr->field_CF0[i]; - dst->field_0[1][i].field_4 = gSaveBlock2Ptr->field_CF4[i]; - dst->field_0[2][i].field_4 = gSaveBlock2Ptr->field_CF8[i]; - dst->field_0[3][i].field_4 = gSaveBlock2Ptr->field_D14[i]; - dst->field_0[4][i].field_4 = gSaveBlock2Ptr->field_DD0[i]; - dst->field_0[5][i].field_4 = gSaveBlock2Ptr->field_DDE[i]; - dst->field_0[6][i].field_4 = gSaveBlock2Ptr->field_DEA[i]; - dst->field_0[7][i].field_4 = gSaveBlock2Ptr->field_E08[i]; - dst->field_0[8][i].field_4 = gSaveBlock2Ptr->field_E1E[i]; - - dst->field_120[i].field_8 = gSaveBlock2Ptr->field_CFC[i]; + dst->field_0[0][i].field_4 = gSaveBlock2Ptr->frontier.field_CF0[i]; + dst->field_0[1][i].field_4 = gSaveBlock2Ptr->frontier.field_CF4[i]; + dst->field_0[2][i].field_4 = gSaveBlock2Ptr->frontier.field_CF8[i]; + dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[i]; + dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[i]; + dst->field_0[5][i].field_4 = gSaveBlock2Ptr->frontier.field_DDE[i]; + dst->field_0[6][i].field_4 = gSaveBlock2Ptr->frontier.field_DEA[i]; + dst->field_0[7][i].field_4 = gSaveBlock2Ptr->frontier.field_E08[i]; + dst->field_0[8][i].field_4 = gSaveBlock2Ptr->frontier.field_E1E[i]; + + dst->field_120[i].field_8 = gSaveBlock2Ptr->frontier.field_CFC[i]; } } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index e36716feb..f4c9ab12d 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -1293,7 +1293,7 @@ static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst) static void CB2_RecordedBattleEnd(void) { - gSaveBlock2Ptr->frontierChosenLvl = sUnknown_0203C7AD; + gSaveBlock2Ptr->frontier.chosenLvl = sUnknown_0203C7AD; gBattleOutcome = 0; gBattleTypeFlags = 0; gTrainerBattleOpponent_A = 0; @@ -1353,7 +1353,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) gTrainerBattleOpponent_B = src->opponentB; gPartnerTrainerId = src->partnerId; gUnknown_0203C7B4 = src->field_4FA; - sUnknown_0203C7AD = gSaveBlock2Ptr->frontierChosenLvl; + sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.chosenLvl; sFrontierFacility = src->field_4FD; sUnknown_0203C7AF = src->field_4FE; sBattleStyle = src->battleStyle; @@ -1375,7 +1375,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) sUnknown_0203CCDC[i] = src->field_50E[i]; } - gSaveBlock2Ptr->frontierChosenLvl = src->field_4FC; + gSaveBlock2Ptr->frontier.chosenLvl = src->field_4FC; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { diff --git a/src/region_map.c b/src/region_map.c index 0a6c08234..192fa37f2 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -891,8 +891,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) case 6: gRegionMap->mapSecId = gMapHeader.regionMapSectionId; gRegionMap->playerIsInCave = FALSE; - mapWidth = gMapHeader.mapData->width; - mapHeight = gMapHeader.mapData->height; + mapWidth = gMapHeader.mapLayout->width; + mapHeight = gMapHeader.mapLayout->height; x = gSaveBlock1Ptr->pos.x; y = gSaveBlock1Ptr->pos.y; if (gRegionMap->mapSecId == MAPSEC_UNDERWATER_128 || gRegionMap->mapSecId == MAPSEC_UNDERWATER_MARINE_CAVE) @@ -907,8 +907,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = gSaveBlock1Ptr->warp4.x; y = gSaveBlock1Ptr->warp4.y; } @@ -926,8 +926,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) mapHeader = Overworld_GetMapHeaderByGroupAndId((u16)gSaveBlock1Ptr->warp2.mapGroup, (u16)gSaveBlock1Ptr->warp2.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = gSaveBlock1Ptr->warp2.x; y = gSaveBlock1Ptr->warp2.y; break; @@ -953,8 +953,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) { gRegionMap->playerIsInCave = FALSE; } - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = storedWarp->x; y = storedWarp->y; break; @@ -1068,14 +1068,14 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void) mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; - dimensionScale = mapHeader->mapData->width / gRegionMapEntries[gRegionMap->mapSecId].width; + dimensionScale = mapHeader->mapLayout->width / gRegionMapEntries[gRegionMap->mapSecId].width; if (dimensionScale == 0) dimensionScale = 1; x = xOnMap / dimensionScale; if (x >= gRegionMapEntries[gRegionMap->mapSecId].width) x = gRegionMapEntries[gRegionMap->mapSecId].width - 1; - dimensionScale = mapHeader->mapData->height / gRegionMapEntries[gRegionMap->mapSecId].height; + dimensionScale = mapHeader->mapLayout->height / gRegionMapEntries[gRegionMap->mapSecId].height; if (dimensionScale == 0) dimensionScale = 1; y = yOnMap / dimensionScale; diff --git a/src/secret_base.c b/src/secret_base.c index d6f4e24a5..93b82b3cb 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -246,16 +246,16 @@ void sub_80E8C98(void) void sub_80E8CB0(s16 *xPtr, s16 *yPtr, u16 tile) { - const struct MapData *mapData; + const struct MapLayout *mapLayout; s16 x; s16 y; - mapData = gMapHeader.mapData; - for (y = 0; y < mapData->height; y ++) + mapLayout = gMapHeader.mapLayout; + for (y = 0; y < mapLayout->height; y ++) { - for (x = 0; x < mapData->width; x ++) + for (x = 0; x < mapLayout->width; x ++) { - if ((mapData->map[y * mapData->width + x] & 0x3ff) == tile) + if ((mapLayout->map[y * mapLayout->width + x] & 0x3ff) == tile) { *xPtr = x; *yPtr = y; diff --git a/src/start_menu.c b/src/start_menu.c index 43b4f85f2..a83143d0b 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -288,14 +288,14 @@ static void BuildNormalStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); } - + AddStartMenuAction(MENU_ACTION_BAG); if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) { AddStartMenuAction(MENU_ACTION_POKENAV); } - + AddStartMenuAction(MENU_ACTION_PLAYER); AddStartMenuAction(MENU_ACTION_SAVE); AddStartMenuAction(MENU_ACTION_OPTION); @@ -322,7 +322,7 @@ static void BuildLinkModeStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKENAV); } - + AddStartMenuAction(MENU_ACTION_PLAYER_LINK); AddStartMenuAction(MENU_ACTION_OPTION); AddStartMenuAction(MENU_ACTION_EXIT); @@ -384,18 +384,14 @@ static void ShowSafariBallsWindow(void) static void ShowPyramidFloorWindow(void) { - if (gSaveBlock2Ptr->field_CAA[4] == 7) // TODO: fix location - { + if (gSaveBlock2Ptr->frontier.field_CB2 == 7) sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_1); - } else - { sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_2); - } PutWindowTilemap(sBattlePyramidFloorWindowId); NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, FALSE); - StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]); + StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->frontier.field_CB2]); StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor); PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sBattlePyramidFloorWindowId, 2); @@ -419,7 +415,7 @@ static void RemoveExtraStartMenuWindows(void) static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) { s8 index = *pIndex; - + do { if (sStartMenuItems[sCurrentStartMenuActions[index]].func.u8_void == StartMenuPlayerNameCallback) { @@ -444,11 +440,11 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) return FALSE; } -static bool32 InitStartMenuStep(void) +static bool32 InitStartMenuStep(void) { s8 value = sUnknown_02037619[0]; - switch (value) + switch (value) { case 0: sUnknown_02037619[0]++; @@ -468,14 +464,14 @@ static bool32 InitStartMenuStep(void) { ShowSafariBallsWindow(); } - if (InBattlePyramid() != FALSE) + if (InBattlePyramid() != FALSE) { ShowPyramidFloorWindow(); } sUnknown_02037619[0]++; break; case 4: - if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE) + if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE) { break; } @@ -515,7 +511,7 @@ static void CreateStartMenuTask(TaskFunc followupFunc) SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc); } -static bool8 sub_809FA00(void) +static bool8 sub_809FA00(void) { if (InitStartMenuStep() == FALSE) { @@ -537,7 +533,7 @@ void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s { struct Task* task = &gTasks[taskId]; - switch(task->data[0]) + switch(task->data[0]) { case 0: if (InUnionRoom() == TRUE) @@ -576,13 +572,13 @@ static bool8 HandleStartMenuInput(void) PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(-1); } - + if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(1); } - + if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); @@ -592,20 +588,20 @@ static bool8 HandleStartMenuInput(void) return FALSE; } } - + gMenuCallback = sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void; - - if (gMenuCallback != StartMenuSaveCallback + + if (gMenuCallback != StartMenuSaveCallback && gMenuCallback != StartMenuExitCallback && gMenuCallback != StartMenuSafariZoneRetireCallback && gMenuCallback != StartMenuBattlePyramidRetireCallback) { FadeScreen(1, 0); } - + return FALSE; } - + if (gMain.newKeys & (START_BUTTON | B_BUTTON)) { RemoveExtraStartMenuWindows(); @@ -625,10 +621,10 @@ static bool8 StartMenuPokedexCallback(void) RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(sub_80BB534); // Display pokedex - + return TRUE; } - + return FALSE; } @@ -640,7 +636,7 @@ static bool8 StartMenuPokemonCallback(void) RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu - + return TRUE; } @@ -693,7 +689,7 @@ static bool8 StartMenuPlayerNameCallback(void) { sub_80C51C4(CB2_ReturnToFieldWithOpenMenu); // Display frontier pass } - else + else { sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); // Display trainer card } @@ -736,7 +732,7 @@ static bool8 StartMenuExitCallback(void) { RemoveExtraStartMenuWindows(); HideStartMenu(); // Hide start menu - + return TRUE; } @@ -911,7 +907,7 @@ static void SaveGameTask(u8 taskId) case SAVE_IN_PROGRESS: return; } - + DestroyTask(taskId); EnableBothScriptContexts(); } @@ -972,7 +968,7 @@ static u8 SaveConfirmSaveCallback(void) { ShowSaveMessage(gText_BattlePyramidConfirmRest, SaveYesNoCallback); } - else + else { ShowSaveMessage(gText_ConfirmSave, SaveYesNoCallback); } @@ -1025,7 +1021,7 @@ static u8 SaveFileExistsCallback(void) { ShowSaveMessage(gText_DifferentSaveFile, SaveConfirmOverwriteNoCallback); } - else + else { ShowSaveMessage(gText_AlreadySavedFile, SaveConfirmOverwriteCallback); } @@ -1082,7 +1078,7 @@ static u8 SaveDoSaveCallback(void) saveStatus = TrySavingData(SAVE_OVERWRITE_DIFFERENT_FILE); gDifferentSaveFile = FALSE; } - else + else { saveStatus = TrySavingData(SAVE_NORMAL); } @@ -1118,7 +1114,7 @@ static u8 SaveReturnSuccessCallback(void) HideSaveInfoWindow(); return SAVE_SUCCESS; } - else + else { return SAVE_IN_PROGRESS; } @@ -1131,13 +1127,13 @@ static u8 SaveErrorCallback(void) PlaySE(SE_BOO); sSaveDialogCallback = SaveReturnErrorCallback; } - + return SAVE_IN_PROGRESS; } static u8 SaveReturnErrorCallback(void) { - if (!SaveErrorTimer()) + if (!SaveErrorTimer()) { return SAVE_IN_PROGRESS; } @@ -1182,7 +1178,7 @@ static u8 BattlePyramidRetireInputCallback(void) sub_80A0014(); return SAVE_SUCCESS; } - + return SAVE_IN_PROGRESS; } @@ -1254,8 +1250,8 @@ static void sub_80A0550(u8 taskId) { case 0: FillWindowPixelBuffer(0, 17); - AddTextPrinterParameterized(0, - 1, + AddTextPrinterParameterized(0, + 1, gText_SavingDontTurnOffPower, 255, NULL, @@ -1266,14 +1262,14 @@ static void sub_80A0550(u8 taskId) PutWindowTilemap(0); CopyWindowToVram(0, 3); BeginNormalPaletteFade(-1, 0, 16, 0, 0); - + if (gWirelessCommType != 0 && InUnionRoom()) { if (sub_800A07C()) { *step = 1; } - else + else { *step = 5; } @@ -1327,7 +1323,7 @@ static void ShowSaveInfoWindow(void) u8 color; u32 xOffset; u32 yOffset; - + if (!FlagGet(FLAG_SYS_POKEDEX_GET)) { saveInfoWindow.height -= 2; @@ -1340,7 +1336,7 @@ static void ShowSaveInfoWindow(void) color = TEXT_COLOR_RED; // Red when female, blue when male. if (gender == MALE) - { + { color = TEXT_COLOR_BLUE; } @@ -1423,4 +1419,4 @@ void AppendToList(u8 *list, u8 *pos, u8 newEntry) { list[*pos] = newEntry; (*pos)++; -}
\ No newline at end of file +} diff --git a/src/tileset_anims.c b/src/tileset_anims.c index aaa05bcc8..d05931dba 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -686,8 +686,8 @@ static void cur_mapheader_run_tileset1_func(void) sPrimaryTilesetCBCounter = 0; sPrimaryTilesetCBBufferSize = 0; sPrimaryTilesetCB = NULL; - if (gMapHeader.mapData->primaryTileset && gMapHeader.mapData->primaryTileset->callback) - gMapHeader.mapData->primaryTileset->callback(); + if (gMapHeader.mapLayout->primaryTileset && gMapHeader.mapLayout->primaryTileset->callback) + gMapHeader.mapLayout->primaryTileset->callback(); } static void cur_mapheader_run_tileset2_func(void) @@ -695,8 +695,8 @@ static void cur_mapheader_run_tileset2_func(void) sSecondaryTilesetCBCounter = 0; sSecondaryTilesetCBBufferSize = 0; sSecondaryTilesetCB = NULL; - if (gMapHeader.mapData->secondaryTileset && gMapHeader.mapData->secondaryTileset->callback) - gMapHeader.mapData->secondaryTileset->callback(); + if (gMapHeader.mapLayout->secondaryTileset && gMapHeader.mapLayout->secondaryTileset->callback) + gMapHeader.mapLayout->secondaryTileset->callback(); } void TilesetCb_General(void) @@ -1541,12 +1541,12 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) show->bravoTrainerTower.kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; show->bravoTrainerTower.active = TRUE; StringCopy(show->bravoTrainerTower.trainerName, gSaveBlock2Ptr->playerName); - StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->field_BD8); - show->bravoTrainerTower.species = gSaveBlock2Ptr->field_BD4; - show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->field_BD6; - show->bravoTrainerTower.numFights = sub_8164FCC(gSaveBlock2Ptr->field_D07, 0); - show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->field_D06; - if (gSaveBlock2Ptr->field_D07 == 0) + StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.field_BD8); + show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.field_BD4; + show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.field_BD6; + show->bravoTrainerTower.numFights = sub_8164FCC(gSaveBlock2Ptr->frontier.field_D07, 0); + show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.field_D06; + if (gSaveBlock2Ptr->frontier.field_D07 == 0) { show->bravoTrainerTower.btLevel = 50; } @@ -1557,13 +1557,13 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) show->bravoTrainerTower.interviewResponse = gSpecialVar_0x8004; tv_store_id_2x(show); show->bravoTrainerTower.language = gGameLanguage; - if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->field_BEB == LANGUAGE_JAPANESE) + if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.field_BEB == LANGUAGE_JAPANESE) { show->bravoTrainerTower.pokemonNameLanguage = LANGUAGE_JAPANESE; } else { - show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->field_BEB; + show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.field_BEB; } } @@ -1958,7 +1958,7 @@ void sub_80EDB44(void) show->rivalTrainer.dexCount = GetHoennPokedexCount(0x01); } show->rivalTrainer.location = gMapHeader.regionMapSectionId; - show->rivalTrainer.mapDataId = gMapHeader.mapDataId; + show->rivalTrainer.mapLayoutId = gMapHeader.mapLayoutId; show->rivalTrainer.nSilverSymbols = 0; show->rivalTrainer.nGoldSymbols = 0; for (i = 0; i < 7; i ++) @@ -1972,7 +1972,7 @@ void sub_80EDB44(void) show->rivalTrainer.nGoldSymbols ++; } } - show->rivalTrainer.battlePoints = gSaveBlock2Ptr->frontierBattlePoints; + show->rivalTrainer.battlePoints = gSaveBlock2Ptr->frontier.frontierBattlePoints; StringCopy(show->rivalTrainer.playerName, gSaveBlock2Ptr->playerName); tv_store_id_3x(show); show->rivalTrainer.language = gGameLanguage; @@ -2010,7 +2010,7 @@ void sub_80EDCE8(void) show->treasureInvestigators.active = FALSE; show->treasureInvestigators.item = gSpecialVar_0x8005; show->treasureInvestigators.location = gMapHeader.regionMapSectionId; - show->treasureInvestigators.mapDataId = gMapHeader.mapDataId; + show->treasureInvestigators.mapLayoutId = gMapHeader.mapLayoutId; StringCopy(show->treasureInvestigators.playerName, gSaveBlock2Ptr->playerName); tv_store_id_3x(show); show->treasureInvestigators.language = gGameLanguage; @@ -2540,8 +2540,8 @@ void sub_80EE8C8(u16 winStreak, u8 facility) show->frontier.species2 = GetMonData(&gPlayerParty[1], MON_DATA_SPECIES, NULL); break; case 4: - show->frontier.species1 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->field_CAA[0] - 1], MON_DATA_SPECIES, NULL); - show->frontier.species2 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->field_CAA[1] - 1], MON_DATA_SPECIES, NULL); + show->frontier.species1 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.field_CAA[0] - 1], MON_DATA_SPECIES, NULL); + show->frontier.species2 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.field_CAA[1] - 1], MON_DATA_SPECIES, NULL); break; } tv_store_id_3x(show); @@ -6261,7 +6261,7 @@ static void DoTVShowTodaysRivalTrainer(void) sTVShowState = 8; break; case MAPSEC_DYNAMIC: - switch (show->rivalTrainer.mapDataId) + switch (show->rivalTrainer.mapLayoutId) { case 0x115 ... 0x117: sTVShowState = 10; @@ -6460,7 +6460,7 @@ static void DoTVShowHoennTreasureInvestigators(void) StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); if (show->treasureInvestigators.location == MAPSEC_DYNAMIC) { - switch (show->treasureInvestigators.mapDataId) + switch (show->treasureInvestigators.mapLayoutId) { case 0x115 ... 0x117: sTVShowState = 2; diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 862672e19..9a22323ff 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3821,24 +3821,24 @@ const struct WildPokemonHeader gWildMonHeaders[] = .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B1F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B1F), + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B2F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B2F), + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B3F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B3F), + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, @@ -4613,7 +4613,7 @@ static u16 GetRoute119WaterTileNum(s16 x, s16 y, u8 section) for (yCur = yMin; yCur <= yMax; yCur++) { - for (xCur = 0; xCur < gMapHeader.mapData->width; xCur++) + for (xCur = 0; xCur < gMapHeader.mapLayout->width; xCur++) { u8 tileBehaviorId = MapGridGetMetatileBehaviorAt(xCur + 7, yCur + 7); if (MetatileBehavior_IsSurfableAndNotWaterfall(tileBehaviorId) == TRUE) @@ -4976,7 +4976,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(level)) return FALSE; - if (gMapHeader.mapDataId != 0x166 && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) + if (gMapHeader.mapLayoutId != 0x166 && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) return FALSE; CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level); @@ -5037,7 +5037,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) { u32 ability = GetMonAbility(&gPlayerParty[0]); - if (ability == ABILITY_STENCH && gMapHeader.mapDataId == 0x169) + if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == 0x169) encounterRate = encounterRate * 3 / 4; else if (ability == ABILITY_STENCH) encounterRate /= 2; @@ -5085,7 +5085,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi headerId = GetCurrentMapWildMonHeaderId(); if (headerId == 0xFFFF) // invalid { - if (gMapHeader.mapDataId == 0x166) + if (gMapHeader.mapLayoutId == 0x166) { headerId = GetBattlePikeWildMonHeaderId(); if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) @@ -5100,9 +5100,9 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi BattleSetup_StartBattlePikeWildBattle(); return TRUE; } - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) { - headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; + headerId = gSaveBlock2Ptr->frontier.field_CB2; if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) return FALSE; else if (DoWildEncounterRateTest(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) @@ -5228,7 +5228,7 @@ bool8 SweetScentWildEncounter(void) headerId = GetCurrentMapWildMonHeaderId(); if (headerId == 0xFFFF) // invalid { - if (gMapHeader.mapDataId == 0x166) + if (gMapHeader.mapLayoutId == 0x166) { headerId = GetBattlePikeWildMonHeaderId(); if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) @@ -5238,9 +5238,9 @@ bool8 SweetScentWildEncounter(void) BattleSetup_StartBattlePikeWildBattle(); return TRUE; } - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) { - headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; + headerId = gSaveBlock2Ptr->frontier.field_CB2; if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) return FALSE; |