diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-06-17 14:32:35 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2021-06-17 14:32:35 -0400 |
commit | 42650e1507008d0ad3a710e0b8ec27d8ad97bd26 (patch) | |
tree | 0f912926525a2d4da4c60eeff6a29b21b94ccb09 | |
parent | acb87f3f2feb5e87590148fd31c48abb8cfa42d2 (diff) |
document ewram macros in BattleStartClearSetData
-rw-r--r-- | include/battle.h | 78 | ||||
-rw-r--r-- | include/ewram.h | 13 | ||||
-rw-r--r-- | include/global.h | 29 | ||||
-rw-r--r-- | src/battle/anim/battle_intro.c | 10 | ||||
-rw-r--r-- | src/battle_controller_link_opponent.c | 4 | ||||
-rw-r--r-- | src/battle_controller_link_partner.c | 4 | ||||
-rw-r--r-- | src/battle_controller_opponent.c | 4 | ||||
-rw-r--r-- | src/battle_controller_player.c | 4 | ||||
-rw-r--r-- | src/battle_controller_safari.c | 4 | ||||
-rw-r--r-- | src/battle_controller_wally.c | 4 | ||||
-rw-r--r-- | src/battle_gfx_sfx_util.c | 4 | ||||
-rw-r--r-- | src/battle_main.c | 104 | ||||
-rw-r--r-- | src/battle_message.c | 2 | ||||
-rw-r--r-- | src/battle_script_commands.c | 28 | ||||
-rw-r--r-- | src/battle_util.c | 6 | ||||
-rw-r--r-- | src/calculate_base_damage.c | 2 | ||||
-rw-r--r-- | src/contest_link_80C2020.c | 4 | ||||
-rw-r--r-- | src/contest_painting.c | 10 | ||||
-rw-r--r-- | src/debug/tomomichi_debug_menu.c | 24 | ||||
-rw-r--r-- | src/pokemon_2.c | 16 | ||||
-rw-r--r-- | src/script_pokemon_util_80C4BF0.c | 4 | ||||
-rw-r--r-- | src/secret_base.c | 128 | ||||
-rw-r--r-- | sym_ewram.txt | 8 |
23 files changed, 231 insertions, 263 deletions
diff --git a/include/battle.h b/include/battle.h index 5956595cc..4820227dc 100644 --- a/include/battle.h +++ b/include/battle.h @@ -4,6 +4,7 @@ #include "sprite.h" #include "constants/battle.h" #include "battle_setup.h" +#include "main.h" #define GET_BATTLER_POSITION(battler) (gBattlerPositions[battler]) #define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE) @@ -297,8 +298,8 @@ struct BattleStruct /* 0x2000000 */ struct MultiBattlePokemonTx multiBattleMons[3]; } multiBuffer; u8 filler60[0x15D7E]; - /*0x15DDE*/ u8 unk15DDE; - /*0x15DDF*/ u8 unk15DDF; + /*0x15DDE*/ u8 contestWinnerSaveIdx; + /*0x15DDF*/ u8 contestWinnerIsForArtist; /*0x15DE0*/ u8 filler15DE0[0x220]; /*0x16000*/ u8 turnEffectsTracker; /*0x16001*/ u8 turnEffectsBattlerId; @@ -339,14 +340,14 @@ struct BattleStruct /* 0x2000000 */ /*0x16064*/ u8 unk16064[4]; /*0x16068*/ u8 monToSwitchIntoId[MAX_BATTLERS_COUNT]; /*0x1606C*/ u8 unk1606C[4][3]; - /*0x16078*/ u8 unk16078; + /*0x16078*/ u8 runTries; /*0x16079*/ u8 caughtNick[11]; - /*0x16084*/ u8 unk16084; + /*0x16084*/ u8 battleStyle; /*0x16085*/ u8 unk16085; - /*0x16086*/ u8 unk16086; - /*0x16087*/ u8 unk16087; + /*0x16086*/ u8 safariGoNearCounter; + /*0x16087*/ u8 safariPkblThrowCounter; /*0x16088*/ u8 safariFleeRate; - /*0x16089*/ u8 unk16089; + /*0x16089*/ u8 safariCatchFactor; /*0x1608A*/ u8 unk1608A; /*0x1608B*/ u8 unk1608B; /*0x1608C*/ u8 ChosenMoveID[4]; @@ -375,31 +376,13 @@ struct BattleStruct /* 0x2000000 */ /*0x160A9*/ u8 unk160A9; /*0x160AA*/ u8 unk160Aa; /*0x160AB*/ u8 unk160Ab; - /*0x160AC*/ u8 unk160AC; - /*0x160AD*/ u8 unk160AD; - /*0x160AE*/ u8 unk160AE; - /*0x160AF*/ u8 unk160AF; - /*0x160B0*/ u8 unk160B0; - /*0x160B1*/ u8 unk160B1; - /*0x160B2*/ u8 unk160B2; - /*0x160B3*/ u8 unk160B3; - /*0x160B4*/ u8 unk160B4; - /*0x160B5*/ u8 unk160B5; - /*0x160B6*/ u8 unk160B6; - /*0x160B7*/ u8 unk160B7; - /*0x160B8*/ u8 unk160B8; - /*0x160B9*/ u8 unk160B9; - /*0x160BA*/ u8 unk160Ba; - /*0x160BB*/ u8 unk160Bb; + /*0x160AC*/ u16 lastTakenMove[4 * 2]; /*0x160BC*/ u16 HP_OnSwitchout[2]; /*0x160C0*/ u8 unk160C0; /*0x160C1*/ u8 hpScale; /*0x160C2*/ u8 unk160C2; /*0x160C3*/ u8 unk160C3; - /*0x160C4*/ u8 unk160C4; - /*0x160C5*/ u8 unk160C5; - /*0x160C6*/ u8 unk160C6; - /*0x160C7*/ u8 unk160C7; + /*0x160C4*/ MainCallback unk160C4; /*0x160C8*/ u8 AI_monToSwitchIntoId[2]; /*0x160CA*/ u8 synchroniseEffect; /*0x160CB*/ u8 multiplayerId; @@ -422,22 +405,8 @@ struct BattleStruct /* 0x2000000 */ /*0x160E5*/ u8 unk160E5; /*0x160E6*/ u8 unk160E6; /*0x160E7*/ u8 atkCancellerTracker; - /*0x160E8*/ u8 unk160E8; - /*0x160E9*/ u8 unk160E9; - /*0x160EA*/ u8 unk160EA; - /*0x160EB*/ u8 unk160EB; - /*0x160EC*/ u8 unk160EC; - /*0x160ED*/ u8 unk160ED; - /*0x160EE*/ u8 unk160EE; - /*0x160EF*/ u8 unk160EF; - /*0x160F0*/ u8 unk160F0; - /*0x160F1*/ u8 unk160F1; - /*0x160F2*/ u8 unk160F2; - /*0x160F3*/ u8 unk160F3; - /*0x160F4*/ u8 unk160F4; - /*0x160F5*/ u8 unk160F5; - /*0x160F6*/ u8 unk160F6; - /*0x160F7*/ u8 unk160F7; + /*0x160E8*/ u16 choicedMove[4]; + /*0x160F0*/ u16 changedItems[4]; /*0x160F8*/ u8 unk160F8; /*0x160F9*/ u8 unk160F9; /*0x160FA*/ u8 unk160FA; @@ -446,26 +415,11 @@ struct BattleStruct /* 0x2000000 */ /*0x160FD*/ u8 unk160FD; /*0x160FE*/ u8 unk160FE; /*0x160FF*/ u8 unk160FF; - /*0x16100*/ u8 unk16100; - /*0x16101*/ u8 unk16101; - /*0x16102*/ u8 unk16102; - /*0x16103*/ u8 unk16103; - /*0x16104*/ u8 unk16104; - /*0x16105*/ u8 unk16105; - /*0x16106*/ u8 unk16106; - /*0x16107*/ u8 unk16107; - /*0x16108*/ u8 unk16108; - /*0x16109*/ u8 unk16109; - /*0x1610A*/ u8 unk1610A; - /*0x1610B*/ u8 unk1610B; - /*0x1610C*/ u8 unk1610C; - /*0x1610D*/ u8 unk1610D; - /*0x1610E*/ u8 unk1610E; - /*0x1610F*/ u8 unk1610F; + /*0x16100*/ u8 lastTakenMoveFrom[2 * 2 * 4]; /*0x16110*/ u8 wishPerishSongState; /*0x16111*/ u8 wishPerishSongBattlerId; /*0x16112*/ u8 unk16112; - /*0x16113*/ u8 unk16113; + /*0x16113*/ u8 givenExpMons; /*0x16114*/ u8 unk16114; /*0x16115*/ u8 unk16115; /*0x16116*/ u8 unk16116; @@ -483,7 +437,7 @@ struct BattleStruct /* 0x2000000 */ /* 0x16A00 */ struct BattleHistory unk_2016A00_2; }; -struct Struct2017100 +struct ResourceFlags { u32 arr[4]; }; @@ -697,7 +651,7 @@ void objc_dp11b_pingpong(struct Sprite *); void nullsub_41(void); void sub_8010800(void); void BattleMainCB1(void); -void sub_8010874(void); +void BattleStartClearSetData(void); void bc_8012FAC(void); void sub_8011384(void); void bc_801333C(void); diff --git a/include/ewram.h b/include/ewram.h index da544f5c2..3feed99ae 100644 --- a/include/ewram.h +++ b/include/ewram.h @@ -87,8 +87,6 @@ extern u8 gSharedMem[]; #define ewram15000 (&gSharedMem[0x15000]) #define ewram15000arr(i, data) (gSharedMem[0x15000 + data + i]) #define ewram15800 (&gSharedMem[0x15800]) -#define ewram15DDE (gSharedMem[0x15DDE]) -#define ewram15DDF (gSharedMem[0x15DDF]) #define ewram15DE0 ((*(struct ContestEntry*)(gSharedMem + 0x15DE0))) #define ewram15E00 ((*(struct Unk2015E00*)(gSharedMem + 0x15E00))) #define ewram16000 (gSharedMem[0x16000]) @@ -192,13 +190,16 @@ extern u8 gSharedMem[]; #define ewram16800 (&gSharedMem[0x16800]) #define ewram17000 (&gSharedMem[0x17000]) #define eMoveTutorMenu (struct MoveTutorMenu *)(gSharedMem + 0x17000) + +// gBattleResources #define eSecretBaseRecord ((struct SecretBaseRecord *)(gSharedMem + 0x17000)) -#define eCableCar1 ((struct CableCarEwramStruct1 *)(gSharedMem + 0x17000)) -#define ewram17002 (&gSharedMem[0x17002]) -#define eFlashFireArr (*(struct Struct2017100 *)(gSharedMem + 0x17100)) +#define eBattleFlagsArr (*(struct ResourceFlags *)(gSharedMem + 0x17100)) #define B_BATTLESCRIPTS_STACK ((struct BattleScriptsStack *) (gSharedMem + 0x17110)) -#define ewram17130 (gSharedMem[0x17130]) #define B_FUNCTION_STACK ((struct BattleCallbacksStack *) (gSharedMem + 0x17140)) + + +#define eCableCar1 ((struct CableCarEwramStruct1 *)(gSharedMem + 0x17000)) +#define ewram17130 (gSharedMem[0x17130]) #define ewram17160 (gSharedMem[0x17160]) #define ewram17800 ((struct Struct2017800 *) (gSharedMem + 0x17800)) #define ewram17800_2 (&gSharedMem[0x17800]) diff --git a/include/global.h b/include/global.h index e5114c396..ed74fcf77 100644 --- a/include/global.h +++ b/include/global.h @@ -115,26 +115,31 @@ struct UCoords16 u16 y; }; +struct SecretBaseParty +{ + /*0x1A3C*/ u32 personality[PARTY_SIZE]; + /*0x1A54*/ u16 moves[PARTY_SIZE * 4]; + /*0x1A84*/ u16 species[PARTY_SIZE]; + /*0x1A90*/ u16 heldItems[PARTY_SIZE]; + /*0x1A9C*/ u8 levels[PARTY_SIZE]; + /*0x1AA2*/ u8 EVs[PARTY_SIZE]; +}; + struct SecretBaseRecord { /*0x1A08*/ u8 secretBaseId; - /*0x1A09*/ u8 sbr_field_1_0:4; + /*0x1A09*/ u8 toRegister:4; /*0x1A09*/ u8 gender:1; - /*0x1A09*/ u8 sbr_field_1_5:1; - /*0x1A09*/ u8 sbr_field_1_6:2; + /*0x1A09*/ u8 battledOwnerToday:1; + /*0x1A09*/ u8 registryStatus:2; /*0x1A0A*/ u8 playerName[OT_NAME_LENGTH]; /*0x1A11*/ u8 trainerId[4]; // byte 0 is used for determining trainer class - /*0x1A16*/ u16 sbr_field_e; - /*0x1A18*/ u8 sbr_field_10; - /*0x1A19*/ u8 sbr_field_11; + /*0x1A16*/ u16 numSecretBasesReceived; + /*0x1A18*/ u8 numTimesEntered; + /*0x1A19*/ u8 unused; /*0x1A1A*/ u8 decorations[DECOR_MAX_SECRET_BASE]; /*0x1A2A*/ u8 decorationPos[DECOR_MAX_SECRET_BASE]; - /*0x1A3C*/ u32 partyPersonality[PARTY_SIZE]; - /*0x1A54*/ u16 partyMoves[PARTY_SIZE * 4]; - /*0x1A84*/ u16 partySpecies[PARTY_SIZE]; - /*0x1A90*/ u16 partyHeldItems[PARTY_SIZE]; - /*0x1A9C*/ u8 partyLevels[PARTY_SIZE]; - /*0x1AA2*/ u8 partyEVs[PARTY_SIZE]; + /*0x1A3C*/ struct SecretBaseParty party; }; #include "constants/game_stat.h" diff --git a/src/battle/anim/battle_intro.c b/src/battle/anim/battle_intro.c index c18f5790c..568f5071d 100644 --- a/src/battle/anim/battle_intro.c +++ b/src/battle/anim/battle_intro.c @@ -12,7 +12,7 @@ #include "trig.h" extern u16 gBattleTypeFlags; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gBattleMonForms[]; extern void sub_800FE20(struct Sprite *); @@ -118,7 +118,7 @@ static void BattleIntroTask_ScrollScenery(u8 taskId) gTasks[taskId].tState++; gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; gTasks[taskId].tFramesUntilBg1Slide = 32; - gUnknown_02024DE8 &= ~1; + gIntroSlideFlags &= ~1; } break; case 3: @@ -227,7 +227,7 @@ static void BattleIntroTask_FadeScenery(u8 taskId) gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; gTasks[taskId].tFramesUntilBg1Slide = 32; gTasks[taskId].data[5] = 1; - gUnknown_02024DE8 &= ~1; + gIntroSlideFlags &= ~1; } break; case 3: @@ -323,7 +323,7 @@ static void BattleIntroTask_ScrollAndFadeScenery(u8 taskId) gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; gTasks[taskId].tFramesUntilBg1Slide = 32; gTasks[taskId].data[5] = 1; - gUnknown_02024DE8 &= ~1; + gIntroSlideFlags &= ~1; } break; case 3: @@ -419,7 +419,7 @@ static void BattleIntroTask_80E4C34(u8 taskId) gTasks[taskId].tState++; gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; gTasks[taskId].tFramesUntilBg1Slide = 32; - gUnknown_02024DE8 &= ~1; + gIntroSlideFlags &= ~1; } break; case 3: diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index d781599e9..bd1ab3e23 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -44,7 +44,7 @@ extern void (*gAnimScriptCallback)(void); extern u8 gDisplayedStringBattle[]; extern bool8 gDoingBattleAnim; extern u8 gBattleOutcome; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gUnknown_02024E68[]; extern struct SpriteTemplate gUnknown_02024E8C; extern u8 gAnimMoveTurn; @@ -1613,7 +1613,7 @@ void LinkOpponentHandleFaintingCry(void) void LinkOpponentHandleIntroSlide(void) { StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); - gUnknown_02024DE8 |= 1; + gIntroSlideFlags |= 1; LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 67c46c59d..bbe366ac0 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -38,7 +38,7 @@ extern u32 gBattleControllerExecFlags; extern u16 gBattlerPartyIndexes[]; extern u8 gBattlerSpriteIds[]; extern u8 gBattleOutcome; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gUnknown_02024E68[]; extern u8 gDoingBattleAnim; extern u32 gTransformedPersonalities[]; @@ -1549,7 +1549,7 @@ void LinkPartnerHandleFaintingCry(void) void LinkPartnerHandleIntroSlide(void) { StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); - gUnknown_02024DE8 |= 1; + gIntroSlideFlags |= 1; LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index b3685806d..39a05c2af 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -58,7 +58,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gBattlerTarget; extern u8 gAbsentBattlerFlags; extern bool8 gDoingBattleAnim; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gUnknown_02024E68[]; extern MainCallback gPreBattleCallback1; extern struct MusicPlayerInfo gMPlayInfo_SE1; @@ -2019,7 +2019,7 @@ void OpponentHandleFaintingCry(void) void OpponentHandleIntroSlide(void) { StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); - gUnknown_02024DE8 |= 1; + gIntroSlideFlags |= 1; OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 772728295..24968cb9d 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -64,7 +64,7 @@ extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; extern u32 gTransformedPersonalities[]; extern u8 gBattleMonForms[]; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gUnknown_02024E68[]; extern struct SpriteTemplate gUnknown_02024E8C; extern u8 gAnimMoveTurn; @@ -2892,7 +2892,7 @@ void PlayerHandleFaintingCry(void) void PlayerHandleIntroSlide(void) { StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); - gUnknown_02024DE8 |= 1; + gIntroSlideFlags |= 1; PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index c015cb4cf..138f873c9 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -35,7 +35,7 @@ extern MainCallback gPreBattleCallback1; extern u8 gBankInMenu; extern u8 gHealthboxSpriteIds[]; extern u16 gBattlerPartyIndexes[]; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gBattleOutcome; extern u8 GetBattlerSide(u8); @@ -650,7 +650,7 @@ void SafariHandleFaintingCry(void) void SafariHandleIntroSlide(void) { StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); - gUnknown_02024DE8 |= 1; + gIntroSlideFlags |= 1; SafariBufferExecCompleted(); } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 50ede7c7d..7d6070aa1 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -49,7 +49,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gBankInMenu; extern u8 gBattleMonForms[]; extern u8 gBattleOutcome; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gUnknown_02024E68[]; extern struct SpriteTemplate gUnknown_02024E8C; extern u8 gAnimMoveTurn; @@ -1464,7 +1464,7 @@ void WallyHandleFaintingCry(void) void WallyHandleIntroSlide(void) { StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); - gUnknown_02024DE8 |= 1; + gIntroSlideFlags |= 1; WallyBufferExecCompleted(); } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 104a0eecf..a7e65137d 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -29,7 +29,7 @@ extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBattlerPositions[]; extern u8 gBattlerSpriteIds[]; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gDoingBattleAnim; extern u32 gTransformedPersonalities[]; extern struct Window gUnknown_03004210; @@ -142,7 +142,7 @@ void unref_sub_8031364(struct Sprite *sprite, bool8 stupid) void sub_80313A0(struct Sprite *sprite) { - if (!(gUnknown_02024DE8 & 1)) + if (!(gIntroSlideFlags & 1)) { sprite->pos2.x += sprite->data[0]; if (sprite->pos2.x == 0) diff --git a/src/battle_main.c b/src/battle_main.c index 1a2b39ab0..1d4736d60 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -91,15 +91,15 @@ extern u8 gPotentialItemEffectBattler; extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gActionForBanks[]; -extern u16 gUnknown_02024C2C[]; +extern u16 gLastPrintedMoves[]; extern u16 gLastMoves[]; extern u16 gLastLandedMoves[]; extern u16 gLastHitByType[]; -extern u16 gUnknown_02024C4C[]; +extern u16 gLastResultingMoves[]; extern u16 gLockedMoves[]; extern u16 gChosenMovesByBanks[]; extern u32 gHitMarker; -extern u8 gUnknown_02024C70[]; +extern u8 sUnusedBattlersArray[]; extern u16 gSideStatuses[]; extern u32 gStatuses3[]; //extern u8 gDisableStructs[][0x1C]; @@ -109,7 +109,7 @@ extern u16 gRandomTurnNumber; extern u8 gBattleCommunication[]; extern u8 gUnknown_02024D1F[]; // I don't actually know what type this is. extern u8 gBattleOutcome; -extern u16 gUnknown_02024DE8; +extern u16 gIntroSlideFlags; extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; extern u8 gUnknown_02038470[]; @@ -3065,7 +3065,7 @@ void oac_poke_opponent(struct Sprite *sprite) void sub_8010278(struct Sprite *sprite) { - if ((gUnknown_02024DE8 & 1) == 0) + if ((gIntroSlideFlags & 1) == 0) { sprite->pos2.x += 2; if (sprite->pos2.x == 0) @@ -3218,7 +3218,7 @@ void sub_80105A0(struct Sprite *sprite) void oac_poke_ally_(struct Sprite *sprite) { - if ((gUnknown_02024DE8 & 1) == 0) + if ((gIntroSlideFlags & 1) == 0) { sprite->pos2.x -= 2; if (sprite->pos2.x == 0) @@ -3240,7 +3240,7 @@ void nullsub_86(struct Sprite *sprite) void sub_80105EC(struct Sprite *sprite) { - if ((gUnknown_02024DE8 & 1) == 0) + if ((gIntroSlideFlags & 1) == 0) { sprite->pos2.x += sprite->data[1]; sprite->pos2.y += sprite->data[2]; @@ -3330,7 +3330,7 @@ void nullsub_41(void) void sub_8010800(void) { - sub_8010874(); + BattleStartClearSetData(); gBattleCommunication[1] = 0; gBattleMainFunc = bc_8012FAC; } @@ -3399,7 +3399,7 @@ void BattleMainCB1(void) } } -void sub_8010874(void) +void BattleStartClearSetData(void) { s32 i; u32 j; @@ -3413,70 +3413,78 @@ void sub_8010874(void) gStatuses3[i] = 0; MEMSET_ALT(&gDisableStructs[i], 0, 0x1C, j, r4); - gDisableStructs[i].isFirstTurn= 2; - gUnknown_02024C70[i] = 0; + gDisableStructs[i].isFirstTurn = 2; + sUnusedBattlersArray[i] = 0; gLastMoves[i] = 0; gLastLandedMoves[i] = 0; gLastHitByType[i] = 0; - gUnknown_02024C4C[i] = 0; + gLastResultingMoves[i] = 0; gLastHitBy[i] = 0xFF; gLockedMoves[i] = 0; - gUnknown_02024C2C[i] = 0; - eFlashFireArr.arr[i] = 0; + gLastPrintedMoves[i] = 0; + eBattleFlagsArr.arr[i] = 0; } for (i = 0; i < 2; i++) { gSideStatuses[i] = 0; - MEMSET_ALT(&gSideTimers[i], 0, 12, j, r4); + MEMSET_ALT(&gSideTimers[i], 0, sizeof(struct SideTimer), j, r4); } gBattlerAttacker = 0; gBattlerTarget = 0; gBattleWeather = 0; - MEMSET_ALT(&gWishFutureKnock, 0, 0x2C, i, r4); + MEMSET_ALT(&gWishFutureKnock, 0, sizeof(struct WishFutureKnock), i, r4); gHitMarker = 0; if ((gBattleTypeFlags & BATTLE_TYPE_LINK) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE) gHitMarker = HITMARKER_NO_ANIMATIONS; - ewram16084 = gSaveBlock2.optionsBattleStyle; + + gBattleStruct->battleStyle = gSaveBlock2.optionsBattleStyle; + gMultiHitCounter = 0; gBattleOutcome = 0; gBattleControllerExecFlags = 0; gPaydayMoney = 0; - ewram17130 = 0; - ewram17160 = 0; + (*(u8 *)&B_BATTLESCRIPTS_STACK->size) = 0; + (*(u8 *)&B_FUNCTION_STACK->size) = 0; + for (i = 0; i < 8; i++) gBattleCommunication[i] = 0; + gPauseCounterBattle = 0; gBattleMoveDamage = 0; - gUnknown_02024DE8 = 0; - ewram16002 = 0; - ewram160A1 = 0; + gIntroSlideFlags = 0; + gBattleStruct->animTurn = 0; + gBattleStruct->animTargetsHit = 0; gLeveledUpInBattle = 0; gAbsentBattlerFlags = 0; - ewram16078 = 0; - ewram16086 = 0; - ewram16087 = 0; - ewram16089 = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; - ewram16088 = 3; - ewram1601B = 0; - ewram16056 = 1; + gBattleStruct->runTries = 0; + gBattleStruct->safariGoNearCounter = 0; + gBattleStruct->safariPkblThrowCounter = 0; + gBattleStruct->safariCatchFactor = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; + gBattleStruct->safariFleeRate = 3; + gBattleStruct->wildVictorySong = 0; + gBattleStruct->moneyMultiplier = 1; for (i = 0; i < 8; i++) { - ewram160ACarr(i) = 0; - ewram160CCarr(i) = 0; - ewram160E8arr(i) = 0; - ewram160F0arr(i) = 0; - ewram16100arr(i) = 0; - ewram16108arr(i) = 0; + // TODO: Find matching access here + ewram160ACarr(i) = 0;/*((u8 *)(gBattleStruct->lastTakenMove))[i] = 0;*/ + ewram160CCarr(i) = 0;/*((u8 *)(gBattleStruct->usedHeldItems))[i] = 0;*/ + ewram160E8arr(i) = 0;/*((u8 *)(gBattleStruct->choicedMove))[i] = 0;*/ + ewram160F0arr(i) = 0;/*((u8 *)(gBattleStruct->changedItems))[i] = 0;*/ + ewram16100arr(i) = 0;/*((u8 *)(gBattleStruct->lastTakenMoveFrom) + 8 * 0)[i] = 0;*/ + ewram16108arr(i) = 0;/*((u8 *)(gBattleStruct->lastTakenMoveFrom) + 8 * 1)[i] = 0;*/ } - ewram160C8 = 6; - ewram160C9 = 6; - ewram16113 = 0; + gBattleStruct->AI_monToSwitchIntoId[0] = PARTY_SIZE; + gBattleStruct->AI_monToSwitchIntoId[1] = PARTY_SIZE; + + gBattleStruct->givenExpMons = 0; + + // Reset gBattleResults for (i = 0; i < 11; i++) gBattleResults.usedBalls[i] = 0; gBattleResults.battleTurnCounter = 0; @@ -3500,8 +3508,8 @@ void sub_8010874(void) gBattleResults.caughtNick[i] = 0; } #if DEBUG - gSharedMem[0x1609E] = 0; - gSharedMem[0x1609F] = 0; + gBattleStruct->unk1609E = 0; + gBattleStruct->unk1609F = 0; #endif } @@ -3573,8 +3581,8 @@ void SwitchInClearSetData(void) gLastMoves[gActiveBattler] = 0; gLastLandedMoves[gActiveBattler] = 0; gLastHitByType[gActiveBattler] = 0; - gUnknown_02024C4C[gActiveBattler] = 0; - gUnknown_02024C2C[gActiveBattler] = 0; + gLastResultingMoves[gActiveBattler] = 0; + gLastPrintedMoves[gActiveBattler] = 0; gLastHitBy[gActiveBattler] = 0xFF; ewram160ACarr2(0, gActiveBattler) = 0; @@ -3586,7 +3594,7 @@ void SwitchInClearSetData(void) ewram160E8arr2(0, gActiveBattler) = 0; ewram160E8arr2(1, gActiveBattler) = 0; - eFlashFireArr.arr[gActiveBattler] = 0; + eBattleFlagsArr.arr[gActiveBattler] = 0; gCurrentMove = 0; } @@ -3637,8 +3645,8 @@ void UndoEffectsAfterFainting(void) gLastMoves[gActiveBattler] = 0; gLastLandedMoves[gActiveBattler] = 0; gLastHitByType[gActiveBattler] = 0; - gUnknown_02024C4C[gActiveBattler] = 0; - gUnknown_02024C2C[gActiveBattler] = 0; + gLastResultingMoves[gActiveBattler] = 0; + gLastPrintedMoves[gActiveBattler] = 0; gLastHitBy[gActiveBattler] = 0xFF; ewram160E8arr2(0, gActiveBattler) = 0; @@ -3650,7 +3658,7 @@ void UndoEffectsAfterFainting(void) ewram16100arr2(2, gActiveBattler) = 0; ewram16100arr2(3, gActiveBattler) = 0; - eFlashFireArr.arr[gActiveBattler] = 0; + eBattleFlagsArr.arr[gActiveBattler] = 0; gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; @@ -4897,7 +4905,7 @@ void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) gBattleCommunication[3] = 0; gBattleCommunication[4] = 0; eMultihitMoveEffect = 0; - ewram17130 = 0; + B_BATTLESCRIPTS_STACK->size = 0; } static void RunTurnActionsFunctions(void) @@ -5684,5 +5692,5 @@ void HandleAction_ActionFinished(void) gBattleCommunication[3] = 0; gBattleCommunication[4] = 0; eMultihitMoveEffect = 0; - ewram17130 = 0; + B_BATTLESCRIPTS_STACK->size = 0; } diff --git a/src/battle_message.c b/src/battle_message.c index d28848f18..b8872163b 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -724,7 +724,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) if (gTrainerBattleOpponent == SECRET_BASE_OPPONENT) { memset(text, 0xFF, 8); - memcpy(text, ewram17002, 7); + memcpy(text, eSecretBaseRecord->playerName, 7); toCpy = text; } else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 0cdcfe8f9..2ac0c114f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -101,8 +101,8 @@ extern u8* gBattleScriptsForMoveEffects[]; extern u16 gChosenMove; //last used move in battle extern u8 gBankInMenu; extern u8 gActionForBanks[4]; -extern u16 gUnknown_02024C2C[4]; //last used moves 2, used by sketch -extern u16 gUnknown_02024C4C[4]; //last used moves by banks, another one +extern u16 gLastPrintedMoves[4]; //last used moves 2, used by sketch +extern u16 gLastResultingMoves[4]; //last used moves by banks, another one extern u8 gCurrentTurnActionNumber; extern u16 gTrappingMoves[]; @@ -5334,7 +5334,7 @@ static void atk23_getexp(void) else { gBattleStruct->getexpStateTracker++; - gBattleStruct->unk16113 |= gBitTable[gBattlerPartyIndexes[gBank1]]; + gBattleStruct->givenExpMons |= gBitTable[gBattlerPartyIndexes[gBank1]]; } break; case 1: // calculate experience points to redistribute @@ -6673,7 +6673,7 @@ void atk49_moveend(void) } if (gBattleMoves[gChosenMove].effect != 0x7F || (gMoveResultFlags & 0x29)) - gUnknown_02024C2C[gBattlerAttacker] = gChosenMove; + gLastPrintedMoves[gBattlerAttacker] = gChosenMove; if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gSharedMem[0x160A6] & gBitTable[gBattlerAttacker]) @@ -6682,12 +6682,12 @@ void atk49_moveend(void) if (gHitMarker & HITMARKER_OBEYS) { gLastMoves[gBattlerAttacker] = gChosenMove; - gUnknown_02024C4C[gBattlerAttacker] = gCurrentMove; + gLastResultingMoves[gBattlerAttacker] = gCurrentMove; } else { gLastMoves[gBattlerAttacker] = 0xFFFF; - gUnknown_02024C4C[gBattlerAttacker] = 0xFFFF; + gLastResultingMoves[gBattlerAttacker] = 0xFFFF; } if (!(gHitMarker & HITMARKER_FAINTED(gBattlerTarget))) @@ -9666,7 +9666,7 @@ static void atk76_various(void) static void atk77_setprotectlike(void) //protect and endure { bool8 not_last_turn = 1; - u16 last_move = gUnknown_02024C4C[gBattlerAttacker]; + u16 last_move = gLastResultingMoves[gBattlerAttacker]; if (last_move != MOVE_PROTECT && last_move != MOVE_DETECT && last_move != MOVE_ENDURE) gDisableStructs[gBattlerAttacker].protectUses = 0; @@ -11867,14 +11867,14 @@ struct move_pp static void atkA8_copymovepermanently(void) { gChosenMove = 0xFFFF; - if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) && gUnknown_02024C2C[gBattlerTarget] != MOVE_STRUGGLE && gUnknown_02024C2C[gBattlerTarget] != 0 && gUnknown_02024C2C[gBattlerTarget] != 0xFFFF && gUnknown_02024C2C[gBattlerTarget] != MOVE_SKETCH) + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) && gLastPrintedMoves[gBattlerTarget] != MOVE_STRUGGLE && gLastPrintedMoves[gBattlerTarget] != 0 && gLastPrintedMoves[gBattlerTarget] != 0xFFFF && gLastPrintedMoves[gBattlerTarget] != MOVE_SKETCH) { int i; for (i = 0; i < 4; i++) { if (gBattleMons[gBattlerAttacker].moves[i] == MOVE_SKETCH) continue; - if (gBattleMons[gBattlerAttacker].moves[i] == gUnknown_02024C2C[gBattlerTarget]) + if (gBattleMons[gBattlerAttacker].moves[i] == gLastPrintedMoves[gBattlerTarget]) break; } if (i != 4) //sketch fail @@ -11882,8 +11882,8 @@ static void atkA8_copymovepermanently(void) else //sketch worked { struct move_pp moves_data; - gBattleMons[gBattlerAttacker].moves[gCurrMovePos] = gUnknown_02024C2C[gBattlerTarget]; - gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = gBattleMoves[gUnknown_02024C2C[gBattlerTarget]].pp; + gBattleMons[gBattlerAttacker].moves[gCurrMovePos] = gLastPrintedMoves[gBattlerTarget]; + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = gBattleMoves[gLastPrintedMoves[gBattlerTarget]].pp; gActiveBattler = gBattlerAttacker; for (i = 0; i < 4; i++) { @@ -11895,8 +11895,8 @@ static void atkA8_copymovepermanently(void) MarkBattlerForControllerExec(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gUnknown_02024C2C[gBattlerTarget]; - gBattleTextBuff1[3] = gUnknown_02024C2C[gBattlerTarget] >> 8; + gBattleTextBuff1[2] = gLastPrintedMoves[gBattlerTarget]; + gBattleTextBuff1[3] = gLastPrintedMoves[gBattlerTarget] >> 8; gBattleTextBuff1[4] = 0xFF; gBattlescriptCurrInstr += 5; } @@ -13376,7 +13376,7 @@ void atkEF_handleballthrow(void) u32 odds; u8 catch_rate; if (gLastUsedItem == ITEM_SAFARI_BALL) - catch_rate = gBattleStruct->unk16089 * 1275 / 100; //correct the name to safariFleeRate + catch_rate = gBattleStruct->safariCatchFactor * 1275 / 100; //correct the name to safariFleeRate else catch_rate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate; if (gLastUsedItem > 5) diff --git a/src/battle_util.c b/src/battle_util.c index b1260cd4e..4f8a0b036 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1303,7 +1303,7 @@ bool8 HandleFaintedMonActions(void) do { gBank1 = gBattlerTarget = gBattleStruct->unk1605A; - if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlerPartyIndexes[gBattleStruct->unk1605A]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) + if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->givenExpMons & gBitTable[gBattlerPartyIndexes[gBattleStruct->unk1605A]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) { BattleScriptExecute(BattleScript_GiveExp); gBattleStruct->sub80173A4_Tracker = 2; @@ -2003,14 +2003,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS1_FREEZE)) { - if (!(eFlashFireArr.arr[bank] & 1)) + if (!(eBattleFlagsArr.arr[bank] & 1)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - eFlashFireArr.arr[bank] |= 1; + eBattleFlagsArr.arr[bank] |= 1; effect = 2; } else diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c index 760887834..c15b94d8f 100644 --- a/src/calculate_base_damage.c +++ b/src/calculate_base_damage.c @@ -330,7 +330,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } // flash fire triggered - if ((eFlashFireArr.arr[bankAtk] & 1) && type == TYPE_FIRE) + if ((eBattleFlagsArr.arr[bankAtk] & 1) && type == TYPE_FIRE) damage = (15 * damage) / 10; } diff --git a/src/contest_link_80C2020.c b/src/contest_link_80C2020.c index e14880ee0..6f176e2b0 100644 --- a/src/contest_link_80C2020.c +++ b/src/contest_link_80C2020.c @@ -727,8 +727,8 @@ static void sub_80C2E14(u8 taskId) sub_810FB10(2); Contest_SaveWinner(gSpecialVar_ContestRank); Contest_SaveWinner(0xFE); - ewram15DDF = 1; - ewram15DDE = sub_80B2C4C(0xfe, 0); + gBattleStruct->contestWinnerIsForArtist = 1; + gBattleStruct->contestWinnerSaveIdx = sub_80B2C4C(0xfe, 0); BeginHardwarePaletteFade(0xff, 0, 0, 16, 0); gTasks[taskId].func = sub_80C2EA0; } diff --git a/src/contest_painting.c b/src/contest_painting.c index ae683d267..59ffd2353 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -108,8 +108,8 @@ void sub_8106630(u32 contestWinnerId) { // probably fakematching struct ContestWinner *ptr1 = (struct ContestWinner*)&ewram15DE0; // TODO: resolve messy struct duplicates - u8 *ptr2 = (u8*)&ewram15DDE; - u8 *ptr3 = (u8*)&ewram15DDF; + u8 *ptr2 = (u8*)&gBattleStruct->contestWinnerSaveIdx; + u8 *ptr3 = (u8*)&gBattleStruct->contestWinnerIsForArtist; *ptr1 = gSaveBlock1.contestWinners[contestWinnerId - 1]; *ptr2 = contestWinnerId - 1; *ptr3 = 0; @@ -143,15 +143,15 @@ static void ShowContestPainting(void) case 2: SeedRng(gMain.vblankCounter1); InitKeys(); - ContestPaintingInitWindow(ewram15DDF); + ContestPaintingInitWindow(gBattleStruct->contestWinnerIsForArtist); gMain.state++; break; case 3: - sub_8107090(ewram15DDE, ewram15DDF); + sub_8107090(gBattleStruct->contestWinnerSaveIdx, gBattleStruct->contestWinnerIsForArtist); gMain.state++; break; case 4: - ContestPaintingPrintCaption(ewram15DDE, ewram15DDF); + ContestPaintingPrintCaption(gBattleStruct->contestWinnerSaveIdx, gBattleStruct->contestWinnerIsForArtist); LoadPalette(gUnknown_083F6140, 0, 1 * 2); DmaClear32(3, PLTT, 0x400); BeginFastPaletteFade(2); diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 64da15dc7..c4ce87f33 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -4477,38 +4477,38 @@ static void PrepareDebugOverlayBeforeShowingContestPainting(u8 a0) switch (a0) { case 0: - ewram15DDF = 0; - ewram15DDE = 0; + gBattleStruct->contestWinnerIsForArtist = 0; + gBattleStruct->contestWinnerSaveIdx = 0; contestEntry->contestType = sPicTest_ContestType - 1; StringCopy(contestEntry->trainer_name, sDummyTrainerName); StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 1: - ewram15DDF = 0; - ewram15DDE = 8; + gBattleStruct->contestWinnerIsForArtist = 0; + gBattleStruct->contestWinnerSaveIdx = 8; contestEntry->contestType = sPicTest_MuseumArtTitleType - 1; StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 2: - ewram15DDF = 1; - ewram15DDE = 8; + gBattleStruct->contestWinnerIsForArtist = 1; + gBattleStruct->contestWinnerSaveIdx = 8; contestEntry->contestType = sPicTest_PreviewType - 1; break; case 3: - ewram15DDF = 0; - ewram15DDE = 8; + gBattleStruct->contestWinnerIsForArtist = 0; + gBattleStruct->contestWinnerSaveIdx = 8; contestEntry->contestType = 0; StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 4: - ewram15DDF = 0; - ewram15DDE = 8; + gBattleStruct->contestWinnerIsForArtist = 0; + gBattleStruct->contestWinnerSaveIdx = 8; contestEntry->contestType = 3; StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 5: - ewram15DDF = 0; - ewram15DDE = 8; + gBattleStruct->contestWinnerIsForArtist = 0; + gBattleStruct->contestWinnerSaveIdx = 8; contestEntry->contestType = 9; StringCopy(contestEntry->pokemon_name, sDummyNickname); break; diff --git a/src/pokemon_2.c b/src/pokemon_2.c index 17f0aa768..f19b0f0be 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -1077,27 +1077,27 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) for (i = 0; i < 6; i++) { - if (eSecretBaseRecord->partySpecies[i]) + if (eSecretBaseRecord->party.species[i]) { CreateMon(&gEnemyParty[i], - eSecretBaseRecord->partySpecies[i], - eSecretBaseRecord->partyLevels[i], + eSecretBaseRecord->party.species[i], + eSecretBaseRecord->party.levels[i], 15, 1, - eSecretBaseRecord->partyPersonality[i], + eSecretBaseRecord->party.personality[i], 2, 0); // these two SetMonData calls require the (u8 *) cast since SetMonData is declared in this function. - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&eSecretBaseRecord->partyHeldItems[i]); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&eSecretBaseRecord->party.heldItems[i]); for (j = 0; j < 6; j++) - SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &eSecretBaseRecord->partyEVs[i]); + SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &eSecretBaseRecord->party.EVs[i]); for (j = 0; j < 4; j++) { - SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, (u8 *)&eSecretBaseRecord->partyMoves[i * 4 + j]); - SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[eSecretBaseRecord->partyMoves[i * 4 + j]].pp); + SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, (u8 *)&eSecretBaseRecord->party.moves[i * 4 + j]); + SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[eSecretBaseRecord->party.moves[i * 4 + j]].pp); } } } diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c index c405d9cb4..4ccc59540 100644 --- a/src/script_pokemon_util_80C4BF0.c +++ b/src/script_pokemon_util_80C4BF0.c @@ -222,8 +222,8 @@ void ShowContestWinner(void) if(gUnknown_0203856C) { sub_80AAF30(); - gBattleStruct->unk15DDF = 1; - gBattleStruct->unk15DDE = sub_80B2C4C(254, 0); + gBattleStruct->contestWinnerIsForArtist = 1; + gBattleStruct->contestWinnerSaveIdx = sub_80B2C4C(254, 0); Contest_SaveWinner(3); gUnknown_0203856C = 0; } diff --git a/src/secret_base.c b/src/secret_base.c index b37da51d1..cf09a7544 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -147,13 +147,13 @@ void ClearSecretBase(struct SecretBaseRecord *record) record->playerName[i] = 0xff; for (i = 0; i < 4; i++) record->trainerId[i] = 0x00; - record->sbr_field_e = 0; - record->sbr_field_10 = 0; - record->sbr_field_11 = 0; - record->sbr_field_1_0 = 0; + record->numSecretBasesReceived = 0; + record->numTimesEntered = 0; + record->unused = 0; + record->toRegister = 0; record->gender = 0; - record->sbr_field_1_5 = 0; - record->sbr_field_1_6 = 0; + record->battledOwnerToday = 0; + record->registryStatus = 0; for (i = 0; i < 16; i++) { record->decorations[i] = 0; @@ -162,12 +162,12 @@ void ClearSecretBase(struct SecretBaseRecord *record) for (i = 0; i < 6; i++) { for (j = 0; j < 4; j++) - record->partyMoves[i * 4 + j] = 0; - record->partyPersonality[i] = 0; - record->partyEVs[i] = 0; - record->partySpecies[i] = 0; - record->partyHeldItems[i] = 0; - record->partyLevels[i] = 0; + record->party.moves[i * 4 + j] = 0; + record->party.personality[i] = 0; + record->party.EVs[i] = 0; + record->party.species[i] = 0; + record->party.heldItems[i] = 0; + record->party.levels[i] = 0; } } @@ -373,8 +373,8 @@ void sub_80BBA48(u8 taskid) break; case 2: curbaseid = VarGet(VAR_CURRENT_SECRET_BASE); - if (gSaveBlock1.secretBases[curbaseid].sbr_field_10 < 0xff) - gSaveBlock1.secretBases[curbaseid].sbr_field_10++; + if (gSaveBlock1.secretBases[curbaseid].numTimesEntered < 0xff) + gSaveBlock1.secretBases[curbaseid].numTimesEntered++; sub_80BBA14(); WarpIntoMap(); gFieldCallback = sub_8080990; @@ -660,7 +660,7 @@ void BufferSecretBaseOwnerName(void) bool8 sub_80BC268(u8 i) { - if (gSaveBlock1.secretBases[i].sbr_field_1_6) + if (gSaveBlock1.secretBases[i].registryStatus) return TRUE; else return FALSE; @@ -686,24 +686,24 @@ void SetPlayerSecretBaseRecordMixingParty(void) { u16 j; for (j = 0; j < 4; j++) - record->partyMoves[i * 4 + j] = MOVE_NONE; + record->party.moves[i * 4 + j] = MOVE_NONE; - record->partySpecies[i] = SPECIES_NONE; - record->partyHeldItems[i] = ITEM_NONE; - record->partyLevels[i] = 0; - record->partyPersonality[i] = 0; - record->partyEVs[i] = 0; + record->party.species[i] = SPECIES_NONE; + record->party.heldItems[i] = ITEM_NONE; + record->party.levels[i] = 0; + record->party.personality[i] = 0; + record->party.EVs[i] = 0; if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) { for (j = 0; j < 4; j++) - record->partyMoves[secretBasePartyIndex * 4 + j] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + j); + record->party.moves[secretBasePartyIndex * 4 + j] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + j); - record->partySpecies[secretBasePartyIndex] = GetMonData(&(gPlayerParty[i]), MON_DATA_SPECIES); - record->partyHeldItems[secretBasePartyIndex] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); - record->partyLevels[secretBasePartyIndex] = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); - record->partyPersonality[secretBasePartyIndex] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); - record->partyEVs[secretBasePartyIndex] = CalculateMonAverageEVs(&gPlayerParty[i]); + record->party.species[secretBasePartyIndex] = GetMonData(&(gPlayerParty[i]), MON_DATA_SPECIES); + record->party.heldItems[secretBasePartyIndex] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + record->party.levels[secretBasePartyIndex] = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + record->party.personality[secretBasePartyIndex] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + record->party.EVs[secretBasePartyIndex] = CalculateMonAverageEVs(&gPlayerParty[i]); secretBasePartyIndex++; } } @@ -711,9 +711,9 @@ void SetPlayerSecretBaseRecordMixingParty(void) void sub_80BC440(void) { - u16 backupValue = gSaveBlock1.secretBases[0].sbr_field_e; + u16 backupValue = gSaveBlock1.secretBases[0].numSecretBasesReceived; ResetSecretBase(0); - gSaveBlock1.secretBases[0].sbr_field_e = backupValue; + gSaveBlock1.secretBases[0].numSecretBasesReceived = backupValue; sub_80BC0F8(); } @@ -760,9 +760,9 @@ void MoveSecretBase(void) sub_80BC474(); IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); - backupValue = gSaveBlock1.secretBases[0].sbr_field_e; + backupValue = gSaveBlock1.secretBases[0].numSecretBasesReceived; ResetSecretBase(0); - gSaveBlock1.secretBases[0].sbr_field_e = backupValue; + gSaveBlock1.secretBases[0].numSecretBasesReceived = backupValue; } u8 sub_80BC538(void) @@ -790,7 +790,7 @@ void GetCurSecretBaseRegistrationValidity(void) void ToggleCurSecretBaseRegistry(void) { - gSaveBlock1.secretBases[sub_80BC14C(gCurrentSecretBaseId)].sbr_field_1_6 ^= 1; + gSaveBlock1.secretBases[sub_80BC14C(gCurrentSecretBaseId)].registryStatus ^= 1; FlagSet(FLAG_SECRET_BASE_REGISTRY_ENABLED); } @@ -1045,7 +1045,7 @@ void sub_80BCB10(u8 taskId) Menu_EraseWindowRect(0, 0, 29, 19); - gSaveBlock1.secretBases[taskData[4]].sbr_field_1_6 = 0; + gSaveBlock1.secretBases[taskData[4]].registryStatus = 0; taskData[0]--; if (taskData[2] > 0) @@ -1128,12 +1128,12 @@ void unref_sub_80BCD7C(u8 secretBaseIndex) for (i = 0; i < 1; i++) { - gSaveBlock1.secretBases[secretBaseIndex].partyPersonality[i] = i + 1; - gSaveBlock1.secretBases[secretBaseIndex].partyMoves[i * 4] = i + 1; - gSaveBlock1.secretBases[secretBaseIndex].partySpecies[i] = SPECIES_TREECKO; - gSaveBlock1.secretBases[secretBaseIndex].partyHeldItems[i] = i + 1; - gSaveBlock1.secretBases[secretBaseIndex].partyLevels[i] = i + 5; - gSaveBlock1.secretBases[secretBaseIndex].partyEVs[i] = i * 5; + gSaveBlock1.secretBases[secretBaseIndex].party.personality[i] = i + 1; + gSaveBlock1.secretBases[secretBaseIndex].party.moves[i * 4] = i + 1; + gSaveBlock1.secretBases[secretBaseIndex].party.species[i] = SPECIES_TREECKO; + gSaveBlock1.secretBases[secretBaseIndex].party.heldItems[i] = i + 1; + gSaveBlock1.secretBases[secretBaseIndex].party.levels[i] = i + 5; + gSaveBlock1.secretBases[secretBaseIndex].party.EVs[i] = i * 5; } } @@ -1147,7 +1147,7 @@ void sub_80BCE1C(void) void sub_80BCE4C() { - gSaveBlock1.secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_5 = gSpecialVar_Result; + gSaveBlock1.secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result; } void sub_80BCE90() @@ -1159,13 +1159,13 @@ void sub_80BCE90() u8 i; for (i = 0; i < MAX_SECRET_BASES; i++) - gSaveBlock1.secretBases[i].sbr_field_1_5 = 0; + gSaveBlock1.secretBases[i].battledOwnerToday = 0; FlagSet(FLAG_DAILY_UNKNOWN_8C2); } gSpecialVar_0x8004 = GetSecretBaseOwnerType(curBaseIndex); - gSpecialVar_Result = gSaveBlock1.secretBases[curBaseIndex].sbr_field_1_5; + gSpecialVar_Result = gSaveBlock1.secretBases[curBaseIndex].battledOwnerToday; } void sub_80BCF1C(u8 taskId) @@ -1208,7 +1208,7 @@ void sub_80BCF1C(u8 taskId) void sub_80BD034(u8 i, struct SecretBaseRecord *secretBase) { gSaveBlock1.secretBases[i] = *secretBase; - gSaveBlock1.secretBases[i].sbr_field_1_6 = 2; + gSaveBlock1.secretBases[i].registryStatus = 2; } bool8 sub_80BD070(struct SecretBaseRecord *baseA, struct SecretBaseRecord *baseB) @@ -1277,7 +1277,7 @@ u8 sub_80BD1B0(void) for (i = 1; i < MAX_SECRET_BASES; i++) { - if (gSaveBlock1.secretBases[i].sbr_field_1_6 == 0 && gSaveBlock1.secretBases[i].sbr_field_1_0 == 0) + if (gSaveBlock1.secretBases[i].registryStatus == 0 && gSaveBlock1.secretBases[i].toRegister == 0) return i; } @@ -1296,10 +1296,10 @@ u8 sub_80BD1FC(struct SecretBaseRecord *secretBase) { if (secretBaseIndex != -1) { - if (gSaveBlock1.secretBases[secretBaseIndex].sbr_field_1_0 == 1) + if (gSaveBlock1.secretBases[secretBaseIndex].toRegister == 1) return 0; - if (gSaveBlock1.secretBases[secretBaseIndex].sbr_field_1_6 != 2 - || secretBase->sbr_field_1_0 == 1) + if (gSaveBlock1.secretBases[secretBaseIndex].registryStatus != 2 + || secretBase->toRegister == 1) { sub_80BD034(secretBaseIndex, secretBase); return secretBaseIndex; @@ -1336,8 +1336,8 @@ void sub_80BD280(void) { for (j = i + 1; j < MAX_SECRET_BASES; j++) { - if ((!secretBases[i].sbr_field_1_6 && secretBases[j].sbr_field_1_6 == 1) - || (secretBases[i].sbr_field_1_6 == 2 && secretBases[j].sbr_field_1_6 != 2)) + if ((!secretBases[i].registryStatus && secretBases[j].registryStatus == 1) + || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2)) { temp = secretBases[i]; secretBases[i] = secretBases[j]; @@ -1353,7 +1353,7 @@ void sub_80BD328(struct SecretBaseRecord *secretBases, u8 b) for (i = 1; i < MAX_SECRET_BASES; i++) { - if (secretBases[i].sbr_field_1_6 == b) + if (secretBases[i].registryStatus == b) sub_80BD1FC(&secretBases[i]); } } @@ -1439,13 +1439,13 @@ bool8 sub_80BD494(struct SecretBaseRecord *base, struct SecretBaseRecord *secret return FALSE; } - if (base->sbr_field_e > secretBases[i].sbr_field_e) + if (base->numSecretBasesReceived > secretBases[i].numSecretBasesReceived) { ClearSecretBase(&secretBases[i]); return FALSE; } - secretBases[i].sbr_field_1_0 = base->sbr_field_1_0; + secretBases[i].toRegister = base->toRegister; ClearSecretBase(base); return TRUE; @@ -1464,8 +1464,8 @@ void sub_80BD514(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases { if (basesA[i].secretBaseId) { - if (basesA[i].sbr_field_1_6 == 1) - basesA[i].sbr_field_1_0 = 1; + if (basesA[i].registryStatus == 1) + basesA[i].toRegister = 1; if (!sub_80BD494(&basesA[i], basesB, i)) { @@ -1479,7 +1479,7 @@ void sub_80BD514(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases { if (basesB[i].secretBaseId) { - basesB[i].sbr_field_1_5 = 0; + basesB[i].battledOwnerToday = 0; if (!sub_80BD494(&basesB[i], basesC, i)) sub_80BD494(&basesB[i], basesD, i); @@ -1490,12 +1490,12 @@ void sub_80BD514(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases { if (basesC[i].secretBaseId) { - basesC[i].sbr_field_1_5 = 0; + basesC[i].battledOwnerToday = 0; sub_80BD494(&basesC[i], basesD, i); } if (basesD[i].secretBaseId) - basesD[i].sbr_field_1_5 = 0; + basesD[i].battledOwnerToday = 0; } } @@ -1557,10 +1557,10 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) for (i = 1; i < MAX_SECRET_BASES; i++) { - if (gSaveBlock1.secretBases[i].sbr_field_1_0 == 1) + if (gSaveBlock1.secretBases[i].toRegister == 1) { - gSaveBlock1.secretBases[i].sbr_field_1_6 = 1; - gSaveBlock1.secretBases[i].sbr_field_1_0 = 0; + gSaveBlock1.secretBases[i].registryStatus = 1; + gSaveBlock1.secretBases[i].toRegister = 0; } } @@ -1568,11 +1568,11 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) for (i = 1; i < MAX_SECRET_BASES; i++) { - if (gSaveBlock1.secretBases[i].sbr_field_1_6 == 2) - gSaveBlock1.secretBases[i].sbr_field_1_6 = 0; + if (gSaveBlock1.secretBases[i].registryStatus == 2) + gSaveBlock1.secretBases[i].registryStatus = 0; } - if (gSaveBlock1.secretBases[0].sbr_field_e != 0xFFFF) - gSaveBlock1.secretBases[0].sbr_field_e++; + if (gSaveBlock1.secretBases[0].numSecretBasesReceived != 0xFFFF) + gSaveBlock1.secretBases[0].numSecretBasesReceived++; } } diff --git a/sym_ewram.txt b/sym_ewram.txt index 80e699ab2..790d684b1 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -154,7 +154,7 @@ gActionForBanks = .; /* 2024C18 */ gSelectionBattleScripts = .; /* 2024C1C */ . += 0x10; -gUnknown_02024C2C = .; /* 2024C2C */ +gLastPrintedMoves = .; /* 2024C2C */ . += 0x8; gLastMoves = .; /* 2024C34 */ @@ -166,7 +166,7 @@ gLastLandedMoves = .; /* 2024C3C */ gLastHitByType = .; /* 2024C44 */ . += 0x8; -gUnknown_02024C4C = .; /* 2024C4C */ +gLastResultingMoves = .; /* 2024C4C */ . += 0x8; gLockedMoves = .; /* 2024C54 */ @@ -184,7 +184,7 @@ gMoveResultFlags = .; /* 2024C68 */ gHitMarker = .; /* 2024C6C */ . += 0x4; -gUnknown_02024C70 = .; /* 2024C70 */ +sUnusedBattlersArray = .; /* 2024C70 */ . += 0x4; gTakenDmgByBattler = .; /* 2024C74 */ @@ -238,7 +238,7 @@ gWishFutureKnock = .; /* 2024DBC */ gUnknown_02024DDC = .; /* 2024DDC */ . += 0xC; -gUnknown_02024DE8 = .; /* 2024DE8 */ +gIntroSlideFlags = .; /* 2024DE8 */ . += 0x2; gSentPokesToOpponent = .; /* 2024DEA */ |