diff options
-rw-r--r-- | .gitattributes | 17 | ||||
-rw-r--r-- | asm/battle_2.s | 32 | ||||
-rw-r--r-- | constants/battle.inc | 46 | ||||
-rw-r--r-- | data/battle_anim_80CA710.s | 2 | ||||
-rw-r--r-- | data/battle_anim_scripts.s | 155 | ||||
-rw-r--r-- | data/battle_scripts_1.s | 84 | ||||
-rw-r--r-- | data/battle_scripts_2.s | 8 | ||||
-rw-r--r-- | include/battle.h | 46 | ||||
-rw-r--r-- | include/unknown_task.h | 18 | ||||
-rw-r--r-- | src/battle/battle_2.c | 25 | ||||
-rw-r--r-- | src/battle/battle_3.c | 10 | ||||
-rw-r--r-- | src/battle/battle_4.c | 338 | ||||
-rw-r--r-- | src/battle/battle_7.c | 8 | ||||
-rw-r--r-- | src/battle/battle_transition.c | 2 | ||||
-rwxr-xr-x | src/battle_anim_80CA710.c | 17 | ||||
-rw-r--r-- | src/engine/trainer_card.c | 17 | ||||
-rw-r--r-- | src/field/field_screen_effect.c | 14 | ||||
-rw-r--r-- | src/unknown_task.c | 16 |
18 files changed, 378 insertions, 477 deletions
diff --git a/.gitattributes b/.gitattributes index b447e32c3..3bbd49fbf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16,3 +16,20 @@ Makefile text eol=lf *.h linguist-language=C *.inc linguist-language=Assembly +docs/* linguist-vendored +# most of the assembly count comes from huge amounts of script include files: it is not fair to count these as assembly. as such, we will instead vendor these. Note that they do take up the majority of the repository. +data/maps/** linguist-vendored +data/scripts/** linguist-vendored +data/battle_ai_scripts.s linguist-vendored +data/battle_anim_scripts.s linguist-vendored +data/battle_scripts_1.s linguist-vendored +data/battle_scripts_2.s linguist-vendored +data/contest_ai_scripts.s linguist-vendored +data/field_move_scripts.inc linguist-vendored +data/field_effect_scripts.s linguist-vendored +data/event_scripts.s linguist-vendored +data-de/maps/** linguist-vendored +data-de/event_scripts.s linguist-vendored +data-de/field_move_scripts.s linguist-vendored +# sound data +sound/songs/*.s linguist-vendored diff --git a/asm/battle_2.s b/asm/battle_2.s index d15bc6826..b325276fc 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -2591,7 +2591,7 @@ _080137FA: lsls r0, 29 cmp r0, 0 blt _0801387C - ldr r0, _08013878 @ =gUnknown_081D94DA + ldr r0, _08013878 @ =BattleScript_FocusPunchSetUp bl b_call_bc_move_exec b _080138BE .align 2, 0 @@ -2605,7 +2605,7 @@ _08013868: .4byte gChosenMovesByBanks _0801386C: .4byte gBattleMons _08013870: .4byte gDisableStructs _08013874: .4byte gProtectStructs -_08013878: .4byte gUnknown_081D94DA +_08013878: .4byte BattleScript_FocusPunchSetUp _0801387C: ldrb r0, [r4] ldrb r2, [r7] @@ -4414,7 +4414,7 @@ sub_80147A0: @ 80147A0 cmp r3, 0xC bhi _08014830 ldr r2, _08014828 @ =gBattlescriptCurrInstr - ldr r1, _0801482C @ =gUnknown_081D9E48 + ldr r1, _0801482C @ =gBattlescriptsForBallThrow ldrh r0, [r5] lsls r0, 2 adds r0, r1 @@ -4432,7 +4432,7 @@ _0801481C: .4byte gDisableStructs _08014820: .4byte gLastUsedItem _08014824: .4byte gBattleBufferB _08014828: .4byte gBattlescriptCurrInstr -_0801482C: .4byte gUnknown_081D9E48 +_0801482C: .4byte gBattlescriptsForBallThrow _08014830: adds r0, r3, 0 subs r0, 0x50 @@ -4441,11 +4441,11 @@ _08014830: cmp r0, 0x1 bhi _0801484C ldr r0, _08014844 @ =gBattlescriptCurrInstr - ldr r1, _08014848 @ =gUnknown_081D9E94 + ldr r1, _08014848 @ =gBattlescriptsForRunningByItem b _0801485C .align 2, 0 _08014844: .4byte gBattlescriptCurrInstr -_08014848: .4byte gUnknown_081D9E94 +_08014848: .4byte gBattlescriptsForRunningByItem _0801484C: ldrb r0, [r4] bl GetBankSide @@ -5071,7 +5071,7 @@ sub_8014D50: @ 8014D50 ldr r0, _08014D88 @ =gUnknown_030042A0 strh r1, [r0] ldr r1, _08014D8C @ =gBattlescriptCurrInstr - ldr r0, _08014D90 @ =gUnknown_081D9E98 + ldr r0, _08014D90 @ =gBattlescriptsForSafariActions ldr r0, [r0] str r0, [r1] ldr r1, _08014D94 @ =gFightStateTracker @@ -5085,7 +5085,7 @@ _08014D80: .4byte gCurrentMoveTurn _08014D84: .4byte gUnknown_030042A4 _08014D88: .4byte gUnknown_030042A0 _08014D8C: .4byte gBattlescriptCurrInstr -_08014D90: .4byte gUnknown_081D9E98 +_08014D90: .4byte gBattlescriptsForSafariActions _08014D94: .4byte gFightStateTracker thumb_func_end sub_8014D50 @@ -5111,7 +5111,7 @@ sub_8014D98: @ 8014D98 movs r0, 0x5 strh r0, [r1] ldr r1, _08014DEC @ =gBattlescriptCurrInstr - ldr r0, _08014DF0 @ =gUnknown_081D9E48 + ldr r0, _08014DF0 @ =gBattlescriptsForBallThrow ldr r0, [r0, 0x14] str r0, [r1] ldr r1, _08014DF4 @ =gFightStateTracker @@ -5127,7 +5127,7 @@ _08014DE0: .4byte gUnknown_030042A0 _08014DE4: .4byte gNumSafariBalls _08014DE8: .4byte gLastUsedItem _08014DEC: .4byte gBattlescriptCurrInstr -_08014DF0: .4byte gUnknown_081D9E48 +_08014DF0: .4byte gBattlescriptsForBallThrow _08014DF4: .4byte gFightStateTracker thumb_func_end sub_8014D98 @@ -5208,7 +5208,7 @@ _08014E9A: strb r0, [r4] _08014E9C: ldr r1, _08014EB0 @ =gBattlescriptCurrInstr - ldr r0, _08014EB4 @ =gUnknown_081D9E98 + ldr r0, _08014EB4 @ =gBattlescriptsForSafariActions ldr r0, [r0, 0x8] str r0, [r1] ldr r1, _08014EB8 @ =gFightStateTracker @@ -5219,7 +5219,7 @@ _08014E9C: bx r0 .align 2, 0 _08014EB0: .4byte gBattlescriptCurrInstr -_08014EB4: .4byte gUnknown_081D9E98 +_08014EB4: .4byte gBattlescriptsForSafariActions _08014EB8: .4byte gFightStateTracker thumb_func_end sub_8014DF8 @@ -5299,7 +5299,7 @@ _08014F54: strb r0, [r1, 0x5] _08014F5A: ldr r1, _08014F74 @ =gBattlescriptCurrInstr - ldr r0, _08014F78 @ =gUnknown_081D9E98 + ldr r0, _08014F78 @ =gBattlescriptsForSafariActions ldr r0, [r0, 0x4] str r0, [r1] ldr r1, _08014F7C @ =gFightStateTracker @@ -5311,7 +5311,7 @@ _08014F5A: .align 2, 0 _08014F70: .4byte gBattleCommunication _08014F74: .4byte gBattlescriptCurrInstr -_08014F78: .4byte gUnknown_081D9E98 +_08014F78: .4byte gBattlescriptsForSafariActions _08014F7C: .4byte gFightStateTracker thumb_func_end sub_8014EBC @@ -5373,7 +5373,7 @@ sub_8014FBC: @ 8014FBC movs r0, 0xFF strb r0, [r1, 0x4] ldr r1, _08015024 @ =gBattlescriptCurrInstr - ldr r0, _08015028 @ =gUnknown_081D9E98 + ldr r0, _08015028 @ =gBattlescriptsForSafariActions ldr r0, [r0, 0xC] str r0, [r1] ldr r1, _0801502C @ =gFightStateTracker @@ -5392,7 +5392,7 @@ _08015018: .4byte gUnknown_030042A0 _0801501C: .4byte gBattleTextBuff1 _08015020: .4byte gBattlePartyID _08015024: .4byte gBattlescriptCurrInstr -_08015028: .4byte gUnknown_081D9E98 +_08015028: .4byte gBattlescriptsForSafariActions _0801502C: .4byte gFightStateTracker _08015030: .4byte gUnknown_02024A76 thumb_func_end sub_8014FBC diff --git a/constants/battle.inc b/constants/battle.inc index c6094b15f..94b7a6d48 100644 --- a/constants/battle.inc +++ b/constants/battle.inc @@ -53,3 +53,49 @@ enum SP_DEFENSE enum ACCURACY enum EVASION + +@ status animation table +.equiv B_ANIM_STATUS_PSN, 0x0 +.equiv B_ANIM_STATUS_CONFUSION, 0x1 +.equiv B_ANIM_STATUS_BRN, 0x2 +.equiv B_ANIM_STATUS_INFATUATION, 0x3 +.equiv B_ANIM_STATUS_SLP, 0x4 +.equiv B_ANIM_STATUS_PRZ, 0x5 +.equiv B_ANIM_STATUS_FRZ, 0x6 +.equiv B_ANIM_STATUS_CURSED, 0x7 +.equiv B_ANIM_STATUS_NIGHTMARE, 0x8 +.equiv B_ANIM_STATUS_WRAPPED, 0x9 + +@ general animation table +.equiv B_ANIM_CASTFORM_CHANGE, 0x0 +.equiv B_ANIM_STATS_CHANGE, 0x1 +.equiv B_ANIM_SUBSTITUTE_FADE, 0x2 +.equiv B_ANIM_SUBSTITUTE_APPEAR, 0x3 +.equiv B_ANIM_POKEBLOCK_THROW, 0x4 +.equiv B_ANIM_ITEM_KNOCKOFF, 0x5 +.equiv B_ANIM_TURN_TRAP, 0x6 +.equiv B_ANIM_ITEM_EFFECT, 0x7 +.equiv B_ANIM_SMOKEBALL_ESCAPE, 0x8 +.equiv B_ANIM_HANGED_ON, 0x9 +.equiv B_ANIM_RAIN_CONTINUES, 0xA +.equiv B_ANIM_SUN_CONTINUES, 0xB +.equiv B_ANIM_SANDSTORM_CONTINUES, 0xC +.equiv B_ANIM_HAIL_CONTINUES, 0xD +.equiv B_ANIM_LEECH_SEED_DRAIN, 0xE +.equiv B_ANIM_MON_HIT, 0xF +.equiv B_ANIM_ITEM_STEAL, 0x10 +.equiv B_ANIM_SNATCH_MOVE, 0x11 +.equiv B_ANIM_FUTURE_SIGHT_HIT, 0x12 +.equiv B_ANIM_DOOM_DESIRE_HIT, 0x13 +.equiv B_ANIM_FOCUS_PUNCH_SET_UP, 0x14 +.equiv B_ANIM_INGRAIN_HEAL, 0x15 +.equiv B_ANIM_WISH_HEAL, 0x16 + +@ special animation table +.equiv B_ANIM_LVL_UP, 0x0 +.equiv B_ANIM_SWITCH_OUT_PLAYER_MON, 0x1 +.equiv B_ANIM_SWITCH_OUT_OPPONENT_MON, 0x2 +.equiv B_ANIM_BALL_THROW, 0x3 +.equiv B_ANIM_SAFARI_BALL_THROW, 0x4 +.equiv B_ANIM_SUBSTITUTE_TO_MON, 0x5 +.equiv B_ANIM_MON_TO_SUBSTITUTE, 0x6 diff --git a/data/battle_anim_80CA710.s b/data/battle_anim_80CA710.s index 72ed3cffa..24881ab7c 100644 --- a/data/battle_anim_80CA710.s +++ b/data/battle_anim_80CA710.s @@ -1000,7 +1000,7 @@ gSpriteAnimTable_83D6E94:: @ 83D6E94 .4byte gSpriteAnim_83D6E80 .align 2 -gBattleAnimSpriteTemplate_83D6E98:: @ 83D6E98 +gBattleAnimSpriteTemplate_EndureFlame:: @ 83D6E98 spr_template 10184, 10184, gOamData_837DF74, gSpriteAnimTable_83D6E94, NULL, gDummySpriteAffineAnimTable, sub_80CDF0C .align 2 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 74205e66c..08ef8be32 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -382,40 +382,40 @@ gBattleAnims_StatusConditions:: @ 81C76F8 .4byte StatusCondition_Nightmare .align 2 -gBattleAnims_Unknown1:: @ 81C771C - .4byte Unknown_81D63B4 - .4byte Unknown_81D63EA - .4byte Unknown_81D63F3 - .4byte Unknown_81D6430 - .4byte Unknown_81D6438 - .4byte Unknown_81D647E - .4byte Unknown_81D6489 - .4byte Unknown_81D661C - .4byte Unknown_81D6690 - .4byte Unknown_81D676E - .4byte Unknown_Weather_Rain - .4byte Unknown_Weather_HarshSunlight - .4byte Unknown_Weather_Sandstorm - .4byte Unknown_Weather_Hail - .4byte Unknown_81D6813 - .4byte Unknown_81D6821 - .4byte Unknown_81D6852 - .4byte Unknown_81D6877 - .4byte Unknown_81D68D5 - .4byte Unknown_81D6934 - .4byte Unknown_81D69F9 - .4byte Unknown_81D6A39 - .4byte Unknown_81D6A7C +gBattleAnims_General:: @ 81C771C + .4byte General_CastformChange + .4byte General_StatsChange + .4byte General_SubstituteFade + .4byte General_SubstituteAppear + .4byte General_PokeblockThrow + .4byte General_ItemKnockoff + .4byte General_TurnTrap + .4byte General_ItemEffect + .4byte General_SmokeballEscape + .4byte General_HangedOn + .4byte General_Rain + .4byte General_Sun + .4byte General_Sandstorm + .4byte General_Hail + .4byte General_LeechSeedDrain + .4byte General_MonHit + .4byte General_ItemSteal + .4byte General_SnatchMove + .4byte General_FutureSightHit + .4byte General_DoomDesireHit + .4byte General_FocusPunchSetUp + .4byte General_IngrainHeal + .4byte General_WishHeal .align 2 -gBattleAnims_Unknown2:: @ 81C7778 - .4byte Unknown_81D6AF6 - .4byte Unknown_81D6B17 - .4byte Unknown_81D6B28 - .4byte Unknown_81D6B39 - .4byte Unknown_81D6B8D - .4byte Unknown_81D6BA6 - .4byte Unknown_81D6BB0 +gBattleAnims_Special:: @ 81C7778 + .4byte Special_LevelUp + .4byte Special_SwitchOutPlayerMon + .4byte Special_SwitchOutOpponentMon + .4byte Special_BallThrow + .4byte Special_SafariBallThrow + .4byte Special_SubstituteToMon + .4byte Special_MonToSubstitute Move_POUND: @ 81C7794 loadsprite 10135 @@ -3182,25 +3182,26 @@ Move_DESTINY_BOND: @ 81CBA2C Move_ENDURE: @ 81CBA87 loadsprite 10184 panse_19 SE_W082, 192 - call _81CBAC7 + call EndureFlamesAnim pause 8 createtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 - call _81CBAC7 + call EndureFlamesAnim pause 8 - call _81CBAC7 + call EndureFlamesAnim wait end -_81CBAC7: - sprite gBattleAnimSpriteTemplate_83D6E98, 2, 0, -24, 26, 2 + +EndureFlamesAnim: + sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -24, 26, 2 pause 4 - sprite gBattleAnimSpriteTemplate_83D6E98, 2, 0, 14, 28, 1 + sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, 14, 28, 1 pause 4 - sprite gBattleAnimSpriteTemplate_83D6E98, 2, 0, -5, 10, 2 + sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -5, 10, 2 pause 4 - sprite gBattleAnimSpriteTemplate_83D6E98, 2, 0, 28, 26, 3 + sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, 28, 26, 3 pause 4 - sprite gBattleAnimSpriteTemplate_83D6E98, 2, 0, -12, 0, 1 + sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -12, 0, 1 ret Move_CHARM: @ 81CBB1B @@ -7348,13 +7349,13 @@ Move_LICK: @ 81D1B32 Move_FOCUS_ENERGY: @ 81D1B59 loadsprite 10184 panse_19 SE_W082, 192 - call _81CBAC7 + call EndureFlamesAnim pause 8 createtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 32767 createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 - call _81CBAC7 + call EndureFlamesAnim pause 8 - call _81CBAC7 + call EndureFlamesAnim wait end @@ -10287,7 +10288,7 @@ StatusCondition_Nightmare: @ 81D638F clearmonbg 3 end -Unknown_81D63B4: @ 81D63B4 +General_CastformChange: @ 81D63B4 createtask c3_80DFBE4, 2 jumpvareq 7, 1, _81D63E0 jump _81D63C8 @@ -10303,12 +10304,12 @@ _81D63E0: createtask sub_812DB58, 2, 1 end -Unknown_81D63EA: @ 81D63EA +General_StatsChange: @ 81D63EA createtask sub_807BB88, 5 wait end -Unknown_81D63F3: @ 81D63F3 +General_SubstituteFade: @ 81D63F3 monbg 0 createtask sub_81416C4, 5 createtask sub_80E2A38, 10, 2, 0, 0, 16, 32767 @@ -10321,11 +10322,11 @@ Unknown_81D63F3: @ 81D63F3 createtask sub_814151C, 2, 1 end -Unknown_81D6430: @ 81D6430 +General_SubstituteAppear: @ 81D6430 createtask sub_81312E4, 2 end -Unknown_81D6438: @ 81D6438 +General_PokeblockThrow: @ 81D6438 createtask sub_8141D7C, 2 createtask sub_8141BD4, 2 pause 0 @@ -10338,12 +10339,12 @@ Unknown_81D6438: @ 81D6438 createtask sub_8141C08, 2 end -Unknown_81D647E: @ 81D647E +General_ItemKnockoff: @ 81D647E loadsprite 10224 sprite gBattleAnimSpriteTemplate_83D6734, 130 end -Unknown_81D6489: @ 81D6489 +General_TurnTrap: @ 81D6489 createtask sub_8141DAC, 5 jumpvareq 0, 1, _81D64FD jumpvareq 0, 2, _81D6522 @@ -10418,7 +10419,7 @@ _81D65D3: stopsound end -Unknown_81D661C: @ 81D661C +General_ItemEffect: @ 81D661C loadsprite 10203 loadsprite 10049 pause 0 @@ -10440,7 +10441,7 @@ Unknown_81D661C: @ 81D661C wait end -Unknown_81D6690: @ 81D6690 +General_SmokeballEscape: @ 81D6690 loadsprite 10242 monbg 0 setalpha 12, 4 @@ -10479,7 +10480,7 @@ Unknown_81D6690: @ 81D6690 blendoff end -Unknown_81D676E: @ 81D676E +General_HangedOn: @ 81D676E sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 2, 7, 0, 9, 31 panse_19 SE_W082, 192 createtask sub_812FC68, 5, 30, 128, 0, 1, 2, 0, 1 @@ -10490,7 +10491,7 @@ Unknown_81D676E: @ 81D676E sprite gBattleAnimSpriteTemplate_83C1FE0, 0, 0, 0, 15 end -Unknown_Weather_Rain: @ 81D67BB +General_Rain: @ 81D67BB loadsprite 10115 panse_19 SE_W240, 192 createtask sub_80E2A38, 10, 1921, 2, 0, 4, 0 @@ -10503,21 +10504,21 @@ Unknown_Weather_Rain: @ 81D67BB wait end -Unknown_Weather_HarshSunlight: @ 81D6804 +General_Sun: @ 81D6804 jump Move_SUNNY_DAY -Unknown_Weather_Sandstorm: @ 81D6809 +General_Sandstorm: @ 81D6809 jump Move_SANDSTORM -Unknown_Weather_Hail: @ 81D680E +General_Hail: @ 81D680E jump Move_HAIL -Unknown_81D6813: @ 81D6813 +General_LeechSeedDrain: @ 81D6813 createtask sub_8141E10, 5 pause 0 jump Move_ABSORB -Unknown_81D6821: @ 81D6821 +General_MonHit: @ 81D6821 loadsprite 10135 monbg 1 setalpha 12, 8 @@ -10529,7 +10530,7 @@ Unknown_81D6821: @ 81D6821 blendoff end -Unknown_81D6852: @ 81D6852 +General_ItemSteal: @ 81D6852 loadsprite 10224 createtask sub_80E42D0, 2 createtask sub_8141808, 2 @@ -10537,7 +10538,7 @@ Unknown_81D6852: @ 81D6852 sprite gBattleAnimSpriteTemplate_83D677C, 2, 0, -5, 10, 2, -1 end -Unknown_81D6877: @ 81D6877 +General_SnatchMove: @ 81D6877 loadsprite 10224 createtask sub_80E4234, 2 call Unknown_81D6AB6 @@ -10560,7 +10561,7 @@ _81D68C5: createtask sub_8131FFC, 2 jump _81D68AE -Unknown_81D68D5: @ 81D68D5 +General_FutureSightHit: @ 81D68D5 createtask sub_80E42B0, 2 monbg 3 panse_19 SE_W060, 192 @@ -10580,7 +10581,7 @@ Unknown_81D68D5: @ 81D68D5 call Unknown_81D61F3 end -Unknown_81D6934: @ 81D6934 +General_DoomDesireHit: @ 81D6934 createtask sub_80E42B0, 2 loadsprite 10198 sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 16, 32767 @@ -10614,20 +10615,20 @@ Unknown_81D6934: @ 81D6934 wait end -Unknown_81D69F9: @ 81D69F9 +General_FocusPunchSetUp: @ 81D69F9 loadsprite 10184 panse_19 SE_W082, 192 - call _81CBAC7 + call EndureFlamesAnim pause 8 createtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 - call _81CBAC7 + call EndureFlamesAnim pause 8 - call _81CBAC7 + call EndureFlamesAnim wait end -Unknown_81D6A39: @ 81D6A39 +General_IngrainHeal: @ 81D6A39 loadsprite 10147 loadsprite 10031 monbg 3 @@ -10646,7 +10647,7 @@ Unknown_81D6A39: @ 81D6A39 blendoff end -Unknown_81D6A7C: @ 81D6A7C +General_WishHeal: @ 81D6A7C loadsprite 10031 loadsprite 10049 sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 10, 0 @@ -10681,7 +10682,7 @@ _81D6AE7: wait jump _81D6AE5 -Unknown_81D6AF6: @ 81D6AF6 +Special_LevelUp: @ 81D6AF6 panse_19 SE_EXPMAX, 0 createtask sub_813F4EC, 2 pause 0 @@ -10690,19 +10691,19 @@ Unknown_81D6AF6: @ 81D6AF6 createtask sub_813F5E8, 2 end -Unknown_81D6B17: @ 81D6B17 +Special_SwitchOutPlayerMon: @ 81D6B17 createtask sub_813F844, 2 pause 10 createtask sub_813F798, 2 end -Unknown_81D6B28: @ 81D6B28 +Special_SwitchOutOpponentMon: @ 81D6B28 createtask sub_813F844, 2 pause 10 createtask sub_813F798, 2 end -Unknown_81D6B39: @ 81D6B39 +Special_BallThrow: @ 81D6B39 createtask sub_813F990, 2 pause 0 panse_19 SE_NAGERU, 0 @@ -10726,7 +10727,7 @@ _81D6B65: blendoff jump _81D6B5C -Unknown_81D6B8D: @ 81D6B8D +Special_SafariBallThrow: @ 81D6B8D createtask sub_813F990, 2 pause 0 createtask sub_813FBB8, 2 @@ -10734,10 +10735,10 @@ Unknown_81D6B8D: @ 81D6B8D createtask sub_813F9B8, 2 end -Unknown_81D6BA6: @ 81D6BA6 +Special_SubstituteToMon: @ 81D6BA6 createtask sub_814151C, 2, 1 end -Unknown_81D6BB0: @ 81D6BB0 +Special_MonToSubstitute: @ 81D6BB0 createtask sub_814151C, 2, 0 end diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 83bacd844..45bf5cc95 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -535,7 +535,7 @@ BattleScript_1D71CE: @ 81D71CE BattleScript_1D71D0: @ 81D71D0 atk47 - playanimation USER, 1, gSharedMem + 0x160A4 + playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 BattleScript_1D71D8: @ 81D71D8 printfromtable BattleTextList_401570 @@ -545,7 +545,7 @@ BattleScript_1D71E0: @ 81D71E0 jump BattleScript_EndTurn BattleScript_StatUp:: @ 81D71E5 - playanimation 2, 1, gSharedMem + 0x160A4 + playanimation 2, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_401570 waitmessage 64 return @@ -585,7 +585,7 @@ BattleScript_1D725F: @ 81D725F attackanimation waitanimation atk47 - playanimation TARGET, 1, gSharedMem + 0x160A4 + playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 BattleScript_1D7269: @ 81D7269 printfromtable BattleTextList_40157C @@ -595,7 +595,7 @@ BattleScript_1D7271: @ 81D7271 jump BattleScript_EndTurn BattleScript_StatDown:: @ 81D7276 - playanimation 2, 1, gSharedMem + 0x160A4 + playanimation 2, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_40157C waitmessage 64 return @@ -1694,7 +1694,7 @@ MoveEffect_Swagger: @ 81D7EA2 statbuffchange 1, BattleScript_1D7EE5 jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D7EE5 atk47 - playanimation TARGET, 1, gSharedMem + 0x160A4 + playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_401570 waitmessage 64 @@ -1898,7 +1898,7 @@ MoveEffect_SkullBash: @ 81D8085 statbuffchange 65, BattleScript_1D80CF jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D80CF atk47 - playanimation USER, 1, gSharedMem + 0x160A4 + playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_401570 waitmessage 64 @@ -2264,7 +2264,7 @@ MoveEffect_Flatter: @ 81D84B1 statbuffchange 1, BattleScript_1D84F4 jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D84F4 atk47 - playanimation TARGET, 1, gSharedMem + 0x160A4 + playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_401570 waitmessage 64 @@ -3081,7 +3081,7 @@ gUnknown_081D8E0D:: @ 81D8E0D end2 gUnknown_081D8E14:: @ 81D8E14 - playanimation USER, 8, 0x0 + playanimation USER, B_ANIM_SMOKEBALL_ESCAPE, 0x0 printstring BATTLE_TEXT_FledUsingItem waitmessage 64 end2 @@ -3238,7 +3238,7 @@ gUnknown_081D8F62:: @ 81D8F62 printfromtable BattleTextList_401534 waitmessage 64 jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8F7C - playanimation USER, 10, 0x0 + playanimation USER, B_ANIM_RAIN_CONTINUES, 0x0 BattleScript_1D8F7C: @ 81D8F7C end2 @@ -3280,7 +3280,7 @@ gUnknown_081D8FFF:: @ 81D8FFF gUnknown_081D9008:: @ 81D9008 printstring BATTLE_TEXT_SunStrong waitmessage 64 - playanimation USER, 11, 0x0 + playanimation USER, B_ANIM_SUN_CONTINUES, 0x0 end2 gUnknown_081D9016:: @ 81D9016 @@ -3312,7 +3312,7 @@ gUnknown_081D9041:: @ 81D9041 end2 BattleScript_LeechSeedTurnDrain:: @ 81D904B - playanimation USER, 14, gSharedMem + 0x160A4 + playanimation USER, B_ANIM_LEECH_SEED_DRAIN, gSharedMem + 0x160A4 orword gHitMarker, 0x100100 graphicalhpupdate USER datahpupdate USER @@ -3559,11 +3559,11 @@ BattleScript_1D92F4: @ 81D92F4 BattleScript_1D92FB: @ 81D92FB atk8 jumpifbyte 1, gUnknown_02024D1F + 0x4, 0, BattleScript_1D9313 - playanimation USER, 18, 0x0 + playanimation USER, B_ANIM_FUTURE_SIGHT_HIT, 0x0 jump BattleScript_1D931A BattleScript_1D9313: @ 81D9313 - playanimation USER, 19, 0x0 + playanimation USER, B_ANIM_DOOM_DESIRE_HIT, 0x0 BattleScript_1D931A: @ 81D931A missmessage @@ -3626,7 +3626,7 @@ BattleScript_MoveUsedIsTaunted:: @ 81D938F BattleScript_WishComesTrue:: @ 81D939A atkd4 1, BattleScript_1D93C1 - playanimation TARGET, 22, 0x0 + playanimation TARGET, B_ANIM_WISH_HEAL, 0x0 printstring BATTLE_TEXT_WishTrue waitmessage 64 orword gHitMarker, 0x100 @@ -3645,7 +3645,7 @@ BattleScript_1D93C1: @ 81D93C1 end2 BattleScript_IngrainTurnHeal:: @ 81D93D1 - playanimation USER, 21, 0x0 + playanimation USER, B_ANIM_INGRAIN_HEAL, 0x0 printstring BATTLE_TEXT_AbsorbNutrients waitmessage 64 orword gHitMarker, 0x100 @@ -3681,7 +3681,7 @@ BattleScript_1D944A: @ 81D944A return BattleScript_KnockedOff:: @ 81D944B - playanimation TARGET, 5, 0x0 + playanimation TARGET, B_ANIM_ITEM_KNOCKOFF, 0x0 printstring BATTLE_TEXT_KnockedOffItem waitmessage 64 return @@ -3714,7 +3714,7 @@ BattleScript_SnatchedMove:: @ 81D9487 attackstring ppreduce snatchmove - playanimation TARGET, 17, 0x0 + playanimation TARGET, B_ANIM_SNATCH_MOVE, 0x0 printstring BATTLE_TEXT_SnatchedMove waitmessage 64 orword gHitMarker, 0x800c00 @@ -3743,10 +3743,10 @@ BattleScript_SAtkDown2:: @ 81D94B0 BattleScript_1D94D9: @ 81D94D9 return -gUnknown_081D94DA:: @ 81D94DA +BattleScript_FocusPunchSetUp:: @ 81D94DA printstring BATTLE_TEXT_Terminator2 waitmessage 1 - playanimation USER, 20, 0x0 + playanimation USER, B_ANIM_FOCUS_PUNCH_SET_UP, 0x0 printstring BATTLE_TEXT_TightenFocus waitmessage 64 end2 @@ -3866,7 +3866,7 @@ gUnknown_081D95DB:: @ 81D95DB return BattleScript_WrapTurnDmg:: @ 81D95E2 - playanimation USER, 6, gSharedMem + 0x160A4 + playanimation USER, B_ANIM_TURN_TRAP, gSharedMem + 0x160A4 printstring BATTLE_TEXT_HurtBy waitmessage 64 jump BattleScript_1D9520 @@ -3991,7 +3991,7 @@ BattleScript_1D96F5: @ 81D96F5 return BattleScript_ItemSteal:: @ 81D96F6 - playanimation TARGET, 16, 0x0 + playanimation TARGET, B_ANIM_ITEM_STEAL, 0x0 printstring BATTLE_TEXT_StoleSomething waitmessage 64 return @@ -4000,12 +4000,12 @@ BattleScript_DrizzleActivates:: @ 81D9704 pause 32 printstring BATTLE_TEXT_RainMade waitstateatk - playanimation 7, 10, 0x0 + playanimation 7, B_ANIM_RAIN_CONTINUES, 0x0 callatk BattleScript_1D9761 end3 BattleScript_SpeedBoostActivates:: @ 81D9718 - playanimation USER, 1, gSharedMem + 0x160A4 + playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printstring BATTLE_TEXT_SpeedRisen waitmessage 64 end3 @@ -4028,7 +4028,7 @@ BattleScript_SandstreamActivates:: @ 81D9744 pause 32 printstring BATTLE_TEXT_WhipSandstorm waitstateatk - playanimation 7, 12, 0x0 + playanimation 7, B_ANIM_SANDSTORM_CONTINUES, 0x0 callatk BattleScript_1D9761 end3 @@ -4078,7 +4078,7 @@ BattleScript_1D97A1: @ 81D97A1 statbuffchange 33, BattleScript_1D97E4 jumpifbyte 2, gUnknown_02024D1F + 0x4, 1, BattleScript_1D97E4 atk47 - playanimation TARGET, 1, gSharedMem + 0x160A4 + playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printstring BATTLE_TEXT_CutsAttack waitmessage 64 @@ -4099,7 +4099,7 @@ BattleScript_DroughtActivates:: @ 81D97FE pause 32 printstring BATTLE_TEXT_SunIntensified waitstateatk - playanimation 7, 11, 0x0 + playanimation 7, B_ANIM_SUN_CONTINUES, 0x0 callatk BattleScript_1D9761 end3 @@ -4297,7 +4297,7 @@ gUnknown_081D99A0:: @ 81D99A0 jump BattleScript_1D95AC BattleScript_SubstituteFade:: @ 81D99AB - playanimation TARGET, 2, 0x0 + playanimation TARGET, B_ANIM_SUBSTITUTE_FADE, 0x0 printstring BATTLE_TEXT_SubFaded return @@ -4306,7 +4306,7 @@ BattleScript_BerryCurePrlzEnd2:: @ 81D99B6 end2 BattleScript_BerryCureParRet:: @ 81D99BC - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredParalysis waitmessage 64 atk98 10 @@ -4318,7 +4318,7 @@ BattleScript_BerryCurePsnEnd2:: @ 81D99CE end2 BattleScript_BerryCurePsnRet:: @ 81D99D4 - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredPoison waitmessage 64 atk98 10 @@ -4330,7 +4330,7 @@ BattleScript_BerryCureBrnEnd2:: @ 81D99E6 end2 BattleScript_BerryCureBrnRet:: @ 81D99EC - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredBurn waitmessage 64 atk98 10 @@ -4342,7 +4342,7 @@ BattleScript_BerryCureFrzEnd2:: @ 81D99FE end2 BattleScript_BerryCureFrzRet:: @ 81D9A04 - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredFreeze waitmessage 64 atk98 10 @@ -4354,7 +4354,7 @@ BattleScript_BerryCureSlpEnd2:: @ 81D9A16 end2 BattleScript_BerryCureSlpRet:: @ 81D9A1C - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredSleep waitmessage 64 atk98 10 @@ -4366,7 +4366,7 @@ BattleScript_BerryCureConfusionEnd2:: @ 81D9A2E end2 BattleScript_BerryCureConfusionRet:: @ 81D9A34 - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredConfusion waitmessage 64 removeitem 10 @@ -4377,7 +4377,7 @@ gUnknown_081D9A44:: @ 81D9A44 end2 gUnknown_081D9A4A:: @ 81D9A4A - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printfromtable BattleTextList_40162C waitmessage 64 atk98 10 @@ -4389,14 +4389,14 @@ BattleScript_WhiteHerbEnd2:: @ 81D9A5E end2 BattleScript_WhiteHerbRet:: @ 81D9A64 - playanimation 10, 7, 0x0 + playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_RestoredStatus waitmessage 64 removeitem 10 return BattleScript_ItemHealHP_RemoveItem:: @ 81D9A74 - playanimation USER, 7, 0x0 + playanimation USER, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_RestoredHealth waitmessage 64 orword gHitMarker, 0x100 @@ -4406,7 +4406,7 @@ BattleScript_ItemHealHP_RemoveItem:: @ 81D9A74 end2 BattleScript_BerryPPHealEnd2:: @ 81D9A91 - playanimation USER, 7, 0x0 + playanimation USER, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_RestoredPP waitmessage 64 removeitem USER @@ -4417,7 +4417,7 @@ BattleScript_ItemHealHP_End2:: @ 81D9AA1 end2 BattleScript_ItemHealHP_Ret:: @ 81D9AA7 - playanimation USER, 7, 0x0 + playanimation USER, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_RestoredHPLittle waitmessage 64 orword gHitMarker, 0x100 @@ -4430,13 +4430,13 @@ BattleScript_MoveSelectionChoiceBanded:: @ 81D9AC2 atk44 BattleScript_HangedOnMsg:: @ 81D9AC6 - playanimation TARGET, 9, 0x0 + playanimation TARGET, B_ANIM_HANGED_ON, 0x0 printstring BATTLE_TEXT_FocusSash waitmessage 64 return BattleScript_BerryConfuseHealEnd2:: @ 81D9AD4 - playanimation USER, 7, 0x0 + playanimation USER, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_RestoredHealth waitmessage 64 orword gHitMarker, 0x100 @@ -4450,7 +4450,7 @@ BattleScript_BerryConfuseHealEnd2:: @ 81D9AD4 end2 BattleScript_BerryStatRaiseEnd2:: @ 81D9AFE - playanimation USER, 7, 0x0 + playanimation USER, B_ANIM_ITEM_EFFECT, 0x0 statbuffchange 65, BattleScript_1D9B0B BattleScript_1D9B0B: @ 81D9B0B @@ -4460,7 +4460,7 @@ BattleScript_1D9B0B: @ 81D9B0B end2 BattleScript_BerryFocusEnergyEnd2:: @ 81D9B19 - playanimation USER, 7, 0x0 + playanimation USER, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_HustleUse waitmessage 64 removeitem USER diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 0833b7bf2..22ecc7769 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -5,7 +5,7 @@ .section script_data, "aw", %progbits .align 2 -gUnknown_081D9E48:: @ 81D9E48 +gBattlescriptsForBallThrow:: @ 81D9E48 .4byte BattleScript_1D9EA8 .4byte BattleScript_1D9EA8 .4byte BattleScript_1D9EA8 @@ -28,10 +28,10 @@ gUnknown_081D9E7C:: @ 81D9E7C .4byte BattleScript_1D9F9C .4byte BattleScript_1D9FBB -gUnknown_081D9E94:: @ 81D9E94 +gBattlescriptsForRunningByItem:: @ 81D9E94 .4byte BattleScript_1D9FDA -gUnknown_081D9E98:: @ 81D9E98 +gBattlescriptsForSafariActions:: @ 81D9E98 .4byte BattleScript_1D9FE4 .4byte BattleScript_1D9FEB .4byte BattleScript_1D9FF4 @@ -177,7 +177,7 @@ BattleScript_1D9FEB: @ 81D9FEB BattleScript_1D9FF4: @ 81D9FF4 printstring BATTLE_TEXT_ThrewBlock waitmessage 64 - playanimation USER, 4, 0x0 + playanimation USER, B_ANIM_POKEBLOCK_THROW, 0x0 printfromtable BattleTextList_40161A waitmessage 64 end2 diff --git a/include/battle.h b/include/battle.h index d576e92f4..3b37c0853 100644 --- a/include/battle.h +++ b/include/battle.h @@ -175,6 +175,52 @@ #define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)) #define WEATHER_HAIL (1 << 7) +// status animation table +#define B_ANIM_STATUS_PSN 0x0 +#define B_ANIM_STATUS_CONFUSION 0x1 +#define B_ANIM_STATUS_BRN 0x2 +#define B_ANIM_STATUS_INFATUATION 0x3 +#define B_ANIM_STATUS_SLP 0x4 +#define B_ANIM_STATUS_PRZ 0x5 +#define B_ANIM_STATUS_FRZ 0x6 +#define B_ANIM_STATUS_CURSED 0x7 +#define B_ANIM_STATUS_NIGHTMARE 0x8 +#define B_ANIM_STATUS_WRAPPED 0x9 + +// general animation table +#define B_ANIM_CASTFORM_CHANGE 0x0 +#define B_ANIM_STATS_CHANGE 0x1 +#define B_ANIM_SUBSTITUTE_FADE 0x2 +#define B_ANIM_SUBSTITUTE_APPEAR 0x3 +#define B_ANIM_POKEBLOCK_THROW 0x4 +#define B_ANIM_ITEM_KNOCKOFF 0x5 +#define B_ANIM_TURN_TRAP 0x6 +#define B_ANIM_ITEM_EFFECT 0x7 +#define B_ANIM_SMOKEBALL_ESCAPE 0x8 +#define B_ANIM_HANGED_ON 0x9 +#define B_ANIM_RAIN_CONTINUES 0xA +#define B_ANIM_SUN_CONTINUES 0xB +#define B_ANIM_SANDSTORM_CONTINUES 0xC +#define B_ANIM_HAIL_CONTINUES 0xD +#define B_ANIM_LEECH_SEED_DRAIN 0xE +#define B_ANIM_MON_HIT 0xF +#define B_ANIM_ITEM_STEAL 0x10 +#define B_ANIM_SNATCH_MOVE 0x11 +#define B_ANIM_FUTURE_SIGHT_HIT 0x12 +#define B_ANIM_DOOM_DESIRE_HIT 0x13 +#define B_ANIM_FOCUS_PUNCH_SET_UP 0x14 +#define B_ANIM_INGRAIN_HEAL 0x15 +#define B_ANIM_WISH_HEAL 0x16 + +// special animation table +#define B_ANIM_LVL_UP 0x0 +#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1 +#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2 +#define B_ANIM_BALL_THROW 0x3 +#define B_ANIM_SAFARI_BALL_THROW 0x4 +#define B_ANIM_SUBSTITUTE_TO_MON 0x5 +#define B_ANIM_MON_TO_SUBSTITUTE 0x6 + enum { BATTLE_TERRAIN_GRASS, diff --git a/include/unknown_task.h b/include/unknown_task.h index d7ac63931..011e5f5b5 100644 --- a/include/unknown_task.h +++ b/include/unknown_task.h @@ -9,6 +9,24 @@ struct UnknownTaskStruct u8 unk9; }; +struct UnknownTaskStruct2 +{ + void *src[2]; + volatile void *dest; + u32 unkC; + void (*unk10)(void); + u8 srcBank; + u8 unk15; + u8 unk16; + u8 unk17; + u8 taskId; + u8 filler19[0x7]; +}; + +extern struct UnknownTaskStruct2 gUnknown_03004DC0; + +extern u16 gUnknown_03004DE0[][0x3C0]; + void remove_some_task(void); void remove_some_task(void); void dp12_8087EA4(void); diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 095482305..6d406c5e5 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -31,13 +31,6 @@ #include "battle_move_effects.h" #include "ewram.h" -struct UnknownStruct6 -{ - u16 unk0[0xA0]; - u8 fillerA0[0x640]; - u16 unk780[0xA0]; -}; - struct UnknownStruct7 { u8 unk0; @@ -123,8 +116,6 @@ extern void (*gBattleMainFunc)(void); extern u8 gLeveledUpInBattle; extern void (*gBattleBankFunc[])(void); extern u8 gHealthboxIDs[]; -extern struct UnknownStruct6 gUnknown_03004DE0; -//extern u16 gUnknown_03004DE0[][0xA0]; // possibly? extern u16 gBattleTypeFlags; extern s8 gBattleTerrain; // I'm not sure if this is supposed to be s8 or u8. Regardless, it must have the same type as the return value of BattleSetup_GetTerrain. extern u8 gReservedSpritePaletteCount; @@ -175,14 +166,14 @@ void InitBattle(void) for (i = 0; i < 80; i++) { - gUnknown_03004DE0.unk0[i] = 0xF0; - gUnknown_03004DE0.unk780[i] = 0xF0; + gUnknown_03004DE0[0][i] = 0xF0; + gUnknown_03004DE0[1][i] = 0xF0; } for (i = 80; i < 160; i++) { asm(""::"r"(i)); // Needed to stop the compiler from optimizing out the loop counter - gUnknown_03004DE0.unk0[i] = 0xFF10; - gUnknown_03004DE0.unk780[i] = 0xFF10; + gUnknown_03004DE0[0][i] = 0xFF10; + gUnknown_03004DE0[1][i] = 0xFF10; } //sub_80895F8(gUnknown_081F9674.unk0, gUnknown_081F9674.unk4, gUnknown_081F9674.unk8); sub_80895F8(gUnknown_081F9674); @@ -1153,14 +1144,14 @@ void c2_8011A1C(void) for (i = 0; i < 80; i++) { - gUnknown_03004DE0.unk0[i] = 0xF0; - gUnknown_03004DE0.unk780[i] = 0xF0; + gUnknown_03004DE0[0][i] = 0xF0; + gUnknown_03004DE0[1][i] = 0xF0; } for (i = 80; i < 160; i++) { asm(""::"r"(i)); // Needed to stop the compiler from optimizing out the loop counter - gUnknown_03004DE0.unk0[i] = 0xFF10; - gUnknown_03004DE0.unk780[i] = 0xFF10; + gUnknown_03004DE0[0][i] = 0xFF10; + gUnknown_03004DE0[1][i] = 0xFF10; } SetUpWindowConfig(&gWindowConfig_81E6C58); ResetPaletteFade(); diff --git a/src/battle/battle_3.c b/src/battle/battle_3.c index f37111af5..958ee0b55 100644 --- a/src/battle/battle_3.c +++ b/src/battle/battle_3.c @@ -546,7 +546,7 @@ u8 UpdateTurnCounters(void) else gBattlescriptCurrInstr = gUnknown_081D8F7D; - BATTLE_STRUCT->animArg1 = 0xC; + BATTLE_STRUCT->animArg1 = B_ANIM_SANDSTORM_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 0; b_call_bc_move_exec(gBattlescriptCurrInstr); effect++; @@ -580,7 +580,7 @@ u8 UpdateTurnCounters(void) else gBattlescriptCurrInstr = gUnknown_081D8F7D; - BATTLE_STRUCT->animArg1 = 0xD; + BATTLE_STRUCT->animArg1 = B_ANIM_HAIL_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 1; b_call_bc_move_exec(gBattlescriptCurrInstr); effect++; @@ -1505,7 +1505,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gBattleWeather & WEATHER_RAIN_ANY)) { gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT); - BATTLE_STRUCT->animArg1 = 0xA; + BATTLE_STRUCT->animArg1 = B_ANIM_RAIN_CONTINUES; BATTLE_STRUCT->scriptingActive = bank; effect++; } @@ -1514,7 +1514,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gBattleWeather & WEATHER_SANDSTORM_ANY)) { gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY); - BATTLE_STRUCT->animArg1 = 0xC; + BATTLE_STRUCT->animArg1 = B_ANIM_SANDSTORM_CONTINUES; BATTLE_STRUCT->scriptingActive = bank; effect++; } @@ -1523,7 +1523,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gBattleWeather & WEATHER_SUN_ANY)) { gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY); - BATTLE_STRUCT->animArg1 = 0xB; + BATTLE_STRUCT->animArg1 = B_ANIM_SUN_CONTINUES; BATTLE_STRUCT->scriptingActive = bank; effect++; } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index cff81396d..73530c486 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -221,6 +221,16 @@ extern u8 gUnknown_081D8C65[]; extern u8 gUnknown_081D9156[]; extern u8 gUnknown_081D9468[]; +// read via orr +#define BSScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) +#define BSScriptRead16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) +#define BSScriptReadPtr(ptr) ((void *)BSScriptRead32(ptr)) + +// read via add +#define BS2ScriptRead32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) +#define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) +#define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr)) + #define TargetProtectAffected ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) //array entries for battle communication @@ -7327,276 +7337,88 @@ static void atk44(void) ewram16060(gBankAttacker) = 1; } -#ifdef NONMATCHING static void atk45_playanimation(void) { - #define ANIMATION_ID T2_READ_8(gBattlescriptCurrInstr + 2) - #define ARGUMENT (u16*) T2_READ_PTR(gBattlescriptCurrInstr + 3) - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + const u16* argumentPtr; + + gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); - if ( ANIMATION_ID == 1 || ANIMATION_ID == 0x11 || ANIMATION_ID == 2) { - EmitBattleAnimation(0, ANIMATION_ID, *argument); + if (gBattlescriptCurrInstr[2] == B_ANIM_STATS_CHANGE + || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE + || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) + { + EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 7; - } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) { + } + else if (gHitMarker & HITMARKER_NO_ANIMATIONS) + { b_movescr_stack_push(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr = BattleScript_Pausex20; - } else { - if (((ANIMATION_ID - 10) > 3 && gStatuses3[gActiveBank] & (STATUS3_SEMI_INVULNERABLE))) { - gBattlescriptCurrInstr += 7; - } else { - EmitBattleAnimation(0, ANIMATION_ID, *argument); - MarkBufferBankForExecution(gActiveBank); - gBattlescriptCurrInstr += 7; - } + } + else if (gBattlescriptCurrInstr[2] == B_ANIM_RAIN_CONTINUES + || gBattlescriptCurrInstr[2] == B_ANIM_SUN_CONTINUES + || gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES + || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) + { + EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBufferBankForExecution(gActiveBank); + gBattlescriptCurrInstr += 7; + } + else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + { + gBattlescriptCurrInstr += 7; + } + else + { + EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBufferBankForExecution(gActiveBank); + gBattlescriptCurrInstr += 7; } } -#else -__attribute__((naked)) -static void atk45_playanimation(void) +static void atk46_playanimation2(void) // animation Id is stored in the first pointer { - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - ldr r5, _08021444 @ =gBattlescriptCurrInstr\n\ - ldr r0, [r5]\n\ - ldrb r0, [r0, 0x1]\n\ - bl GetBattleBank\n\ - ldr r6, _08021448 @ =gActiveBank\n\ - strb r0, [r6]\n\ - ldr r2, [r5]\n\ - ldrb r1, [r2, 0x3]\n\ - ldrb r0, [r2, 0x4]\n\ - lsls r0, 8\n\ - adds r1, r0\n\ - ldrb r0, [r2, 0x5]\n\ - lsls r0, 16\n\ - adds r1, r0\n\ - ldrb r0, [r2, 0x6]\n\ - lsls r0, 24\n\ - adds r3, r1, r0\n\ - ldrb r4, [r2, 0x2]\n\ - adds r0, r4, 0\n\ - cmp r0, 0x1\n\ - beq _08021426\n\ - cmp r0, 0x11\n\ - beq _08021426\n\ - cmp r0, 0x2\n\ - bne _0802144C\n\ -_08021426:\n\ - ldr r4, _08021444 @ =gBattlescriptCurrInstr\n\ - ldr r0, [r4]\n\ - ldrb r1, [r0, 0x2]\n\ - ldrh r2, [r3]\n\ - movs r0, 0\n\ - bl EmitBattleAnimation\n\ - ldr r0, _08021448 @ =gActiveBank\n\ - ldrb r0, [r0]\n\ - bl MarkBufferBankForExecution\n\ - ldr r0, [r4]\n\ - adds r0, 0x7\n\ - str r0, [r4]\n\ - b _080214AE\n\ - .align 2, 0\n\ -_08021444: .4byte gBattlescriptCurrInstr\n\ -_08021448: .4byte gActiveBank\n\ -_0802144C:\n\ - ldr r0, _08021464 @ =gHitMarker\n\ - ldr r0, [r0]\n\ - movs r1, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0802146C\n\ - adds r0, r2, 0x7\n\ - bl b_movescr_stack_push\n\ - ldr r0, _08021468 @ =BattleScript_Pausex20\n\ - b _080214AC\n\ - .align 2, 0\n\ -_08021464: .4byte gHitMarker\n\ -_08021468: .4byte BattleScript_Pausex20\n\ -_0802146C:\n\ - adds r0, r4, 0\n\ - subs r0, 0xA\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x3\n\ - bls _08021498\n\ - ldr r1, _08021490 @ =gStatuses3\n\ - ldrb r0, [r6]\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - ldr r1, _08021494 @ =0x000400c0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08021498\n\ - adds r0, r2, 0x7\n\ - b _080214AC\n\ - .align 2, 0\n\ -_08021490: .4byte gStatuses3\n\ -_08021494: .4byte 0x000400c0\n\ -_08021498:\n\ - ldrb r1, [r2, 0x2]\n\ - ldrh r2, [r3]\n\ - movs r0, 0\n\ - bl EmitBattleAnimation\n\ - ldrb r0, [r6]\n\ - bl MarkBufferBankForExecution\n\ - ldr r0, [r5]\n\ - adds r0, 0x7\n\ -_080214AC:\n\ - str r0, [r5]\n\ -_080214AE:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided"); -} -#endif // NONMATCHING + const u16* argumentPtr; + const u8* animationIdPtr; -#ifdef NONMATCHING -static void atk46_playanimation2(void) -{ - u8 arg1; - u8* arg2; - u16* arg3; - u32 something; - - arg1 = T2_READ_8(gBattlescriptCurrInstr + 1); - gActiveBank = GetBattleBank(arg1); - arg2 = T2_READ_PTR(gBattlescriptCurrInstr + 2); - arg3 = T2_READ_PTR(gBattlescriptCurrInstr + 6); - - if (*arg2 == 1 || *arg2 == 0x11 || *arg2 == 2) - { - EmitBattleAnimation(0, *arg2, *arg3); - MarkBufferBankForExecution(gActiveBank); - gBattlescriptCurrInstr += 10; - return; - } - if ((gHitMarker & 0x80)) - { - something = (u32)(gBattlescriptCurrInstr + 10); - } - else - { - u8 yeah = *arg2 - 10; - if (yeah < 4 || (gStatuses3[gActiveBank] & 0x000400C0) == 0) - { - EmitBattleAnimation(0, *arg2, *arg3); - MarkBufferBankForExecution(gActiveBank); - } - something = (u32)(gBattlescriptCurrInstr + 10); - } - gBattlescriptCurrInstr = (u8*)something; -} -#else -__attribute__((naked)) -static void atk46_playanimation2(void) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - ldr r6, _0802151C @ =gBattlescriptCurrInstr\n\ - ldr r0, [r6]\n\ - ldrb r0, [r0, 0x1]\n\ - bl GetBattleBank\n\ - ldr r7, _08021520 @ =gActiveBank\n\ - strb r0, [r7]\n\ - ldr r2, [r6]\n\ - ldrb r1, [r2, 0x2]\n\ - ldrb r0, [r2, 0x3]\n\ - lsls r0, 8\n\ - adds r1, r0\n\ - ldrb r0, [r2, 0x4]\n\ - lsls r0, 16\n\ - adds r1, r0\n\ - ldrb r0, [r2, 0x5]\n\ - lsls r0, 24\n\ - adds r3, r1, r0\n\ - ldrb r1, [r2, 0x6]\n\ - ldrb r0, [r2, 0x7]\n\ - lsls r0, 8\n\ - adds r1, r0\n\ - ldrb r0, [r2, 0x8]\n\ - lsls r0, 16\n\ - adds r1, r0\n\ - ldrb r0, [r2, 0x9]\n\ - lsls r0, 24\n\ - adds r4, r1, r0\n\ - ldrb r5, [r3]\n\ - adds r0, r5, 0\n\ - cmp r0, 0x1\n\ - beq _080214FE\n\ - cmp r0, 0x11\n\ - beq _080214FE\n\ - cmp r0, 0x2\n\ - bne _08021524\n\ -_080214FE:\n\ - ldrb r1, [r3]\n\ - ldrh r2, [r4]\n\ - movs r0, 0\n\ - bl EmitBattleAnimation\n\ - ldr r0, _08021520 @ =gActiveBank\n\ - ldrb r0, [r0]\n\ - bl MarkBufferBankForExecution\n\ - ldr r1, _0802151C @ =gBattlescriptCurrInstr\n\ - ldr r0, [r1]\n\ - adds r0, 0xA\n\ - str r0, [r1]\n\ - b _0802157A\n\ - .align 2, 0\n\ -_0802151C: .4byte gBattlescriptCurrInstr\n\ -_08021520: .4byte gActiveBank\n\ -_08021524:\n\ - ldr r0, _08021534 @ =gHitMarker\n\ - ldr r0, [r0]\n\ - movs r1, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08021538\n\ - adds r0, r2, 0\n\ - b _08021576\n\ - .align 2, 0\n\ -_08021534: .4byte gHitMarker\n\ -_08021538:\n\ - adds r0, r5, 0\n\ - subs r0, 0xA\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x3\n\ - bls _08021564\n\ - ldr r1, _0802155C @ =gStatuses3\n\ - ldrb r0, [r7]\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - ldr r1, _08021560 @ =0x000400c0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08021564\n\ - adds r0, r2, 0\n\ - b _08021576\n\ - .align 2, 0\n\ -_0802155C: .4byte gStatuses3\n\ -_08021560: .4byte 0x000400c0\n\ -_08021564:\n\ - ldrb r1, [r3]\n\ - ldrh r2, [r4]\n\ - movs r0, 0\n\ - bl EmitBattleAnimation\n\ - ldrb r0, [r7]\n\ - bl MarkBufferBankForExecution\n\ - ldr r0, [r6]\n\ -_08021576:\n\ - adds r0, 0xA\n\ - str r0, [r6]\n\ -_0802157A:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided "); + gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + animationIdPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); + argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); + + if (*animationIdPtr == B_ANIM_STATS_CHANGE + || *animationIdPtr == B_ANIM_SNATCH_MOVE + || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) + { + EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBufferBankForExecution(gActiveBank); + gBattlescriptCurrInstr += 10; + } + else if (gHitMarker & HITMARKER_NO_ANIMATIONS) + { + gBattlescriptCurrInstr += 10; + } + else if (*animationIdPtr == B_ANIM_RAIN_CONTINUES + || *animationIdPtr == B_ANIM_SUN_CONTINUES + || *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES + || *animationIdPtr == B_ANIM_HAIL_CONTINUES) + { + EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBufferBankForExecution(gActiveBank); + gBattlescriptCurrInstr += 10; + } + else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + { + gBattlescriptCurrInstr += 10; + } + else + { + EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBufferBankForExecution(gActiveBank); + gBattlescriptCurrInstr += 10; + } } -#endif // NONMATCHING static void atk47_setgraphicalstatchangevalues(void) { @@ -17089,7 +16911,7 @@ static void atkE6_castform_change_animation(void) gActiveBank = BATTLE_STRUCT->scriptingActive; if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) BATTLE_STRUCT->castformToChangeInto |= 0x80; - EmitBattleAnimation(0, 0, BATTLE_STRUCT->castformToChangeInto); + EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, BATTLE_STRUCT->castformToChangeInto); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr++; } diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 8766b5b77..0728b4b71 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -43,8 +43,8 @@ extern u8 gBattleAnimBankAttacker; extern u8 gBattleAnimBankTarget; extern void (*gAnimScriptCallback)(void); extern u8 gAnimScriptActive; -extern const u8 *const gBattleAnims_Unknown1[]; -extern const u8 *const gBattleAnims_Unknown2[]; +extern const u8 *const gBattleAnims_General[]; +extern const u8 *const gBattleAnims_Special[]; extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern const struct MonCoords gTrainerFrontPicCoords[]; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; @@ -177,7 +177,7 @@ bool8 move_anim_start_t3(u8 a, u8 b, u8 c, u8 d, u16 e) gBattleAnimBankAttacker = b; gBattleAnimBankTarget = c; ewram17840.unk0 = e; - DoMoveAnim(gBattleAnims_Unknown1, d, 0); + DoMoveAnim(gBattleAnims_General, d, 0); taskId = CreateTask(sub_80315E8, 10); gTasks[taskId].data[0] = a; ewram17810[gTasks[taskId].data[0]].unk0_5 = 1; @@ -216,7 +216,7 @@ void move_anim_start_t4(u8 a, u8 b, u8 c, u8 d) gBattleAnimBankAttacker = b; gBattleAnimBankTarget = c; - DoMoveAnim(gBattleAnims_Unknown2, d, 0); + DoMoveAnim(gBattleAnims_Special, d, 0); taskId = CreateTask(sub_80316CC, 10); gTasks[taskId].data[0] = a; ewram17810[gTasks[taskId].data[0]].unk0_6 = 1; diff --git a/src/battle/battle_transition.c b/src/battle/battle_transition.c index 2bde7299b..7f6c114f6 100644 --- a/src/battle/battle_transition.c +++ b/src/battle/battle_transition.c @@ -13,12 +13,12 @@ #include "trainer.h" #include "field_camera.h" #include "ewram.h" +#include "unknown_task.h" void sub_807DE10(void); void dp12_8087EA4(void); extern u16 gUnknown_03005560[]; -extern u16 gUnknown_03004DE0[][0x3C0]; extern const struct OamData gFieldOamData_32x32; diff --git a/src/battle_anim_80CA710.c b/src/battle_anim_80CA710.c index 98f421a49..6e4907888 100755 --- a/src/battle_anim_80CA710.c +++ b/src/battle_anim_80CA710.c @@ -17,13 +17,6 @@ #include "trig.h" #include "unknown_task.h" -struct UnknownStruct6 -{ - u16 unk0[0xA0]; - u8 fillerA0[0x640]; - u16 unk780[0xA0]; -}; - struct Struct_sub_8078914 { u8 *field_0; @@ -72,8 +65,6 @@ extern u16 gUnknown_03004240; extern u16 gUnknown_030041B4; extern s8 gUnknown_083D7A00[4][2]; extern u16 gUnknown_083D7A5C[5]; -extern struct UnknownStruct6 gUnknown_03004DE0; -extern struct UnknownStruct_1 gUnknown_03004DC0; static void sub_80CA768(struct Sprite* sprite); static void sub_80CA8B4(struct Sprite* sprite); @@ -4908,8 +4899,8 @@ void sub_80D0C88(u8 taskId) { if (i >= 0) { - gUnknown_03004DE0.unk0[i] = task->data[6] + 0xF0; - gUnknown_03004DE0.unk780[i] = task->data[6] + 0xF0; + gUnknown_03004DE0[0][i] = task->data[6] + 0xF0; + gUnknown_03004DE0[1][i] = task->data[6] + 0xF0; } } @@ -4954,8 +4945,8 @@ void sub_80D0D68(u8 taskId) if (task->data[5] >= 0) { - gUnknown_03004DE0.unk0[task->data[5]] = task->data[6]; - gUnknown_03004DE0.unk780[task->data[5]] = task->data[6]; + gUnknown_03004DE0[0][task->data[5]] = task->data[6]; + gUnknown_03004DE0[1][task->data[5]] = task->data[6]; } if (++task->data[3] >= task->data[15]) diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index 6d105f512..2045c6b21 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -52,13 +52,6 @@ extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; -struct UnknownStruct1 -{ - u16 filler0[0x3C0]; - u16 unk780[160]; -}; -extern struct UnknownStruct1 gUnknown_03004DE0; - extern const u8 gBadgesTiles[]; extern const u16 gUnknown_083B5F0C[]; extern const u16 gBadgesPalette[]; @@ -263,7 +256,7 @@ static void sub_8093254(void) ewram0_2.var_5 ^= 1; } if (ewram0_2.var_4) - DmaCopy16(3, gUnknown_03004DE0.filler0, gUnknown_03004DE0.unk780, sizeof(gUnknown_03004DE0.unk780)); + DmaCopy16(3, &gUnknown_03004DE0[0], &gUnknown_03004DE0[1], 0x140); } static void sub_80932AC(Callback callBack) @@ -737,12 +730,12 @@ static void sub_8093A68(u8 taskId) bool8 sub_8093AA0(struct Task *task) { - s32 i; + u32 i; ewram0_2.var_4 = FALSE; dp12_8087EA4(); - for (i = 0; i < ARRAY_COUNT(gUnknown_03004DE0.unk780); i++) - gUnknown_03004DE0.unk780[i] = -4; + for (i = 0; i < 0xA0; i++) + gUnknown_03004DE0[1][i] = -4; SetHBlankCallback(sub_8093D7C); ewram0_2.var_4 = TRUE; task->data[0]++; @@ -1123,7 +1116,7 @@ bool8 sub_8093D50(struct Task *task) void sub_8093D7C(void) { - u16 bgVOffset = gUnknown_03004DE0.unk780[REG_VCOUNT & 0xFF]; + u16 bgVOffset = gUnknown_03004DE0[1][REG_VCOUNT & 0xFF]; REG_BG0VOFS = bgVOffset; REG_BG1VOFS = bgVOffset; diff --git a/src/field/field_screen_effect.c b/src/field/field_screen_effect.c index 0c76d254d..a18190809 100644 --- a/src/field/field_screen_effect.c +++ b/src/field/field_screen_effect.c @@ -9,16 +9,6 @@ #include "text.h" #include "unknown_task.h" -struct UnknownStruct1 -{ - u8 filler0[0x14]; - u8 unk14; - u8 filler15[0xB]; -}; -extern struct UnknownStruct1 gUnknown_03004DC0; - -extern u16 gUnknown_03004DE0[][0x3C0]; - const static u16 gUnknown_0839ACDC[] = { 0xC8, 0x48, 0x38, 0x28, 0x18, 0x0 }; const s32 gMaxFlashLevel = 4; @@ -74,11 +64,11 @@ static void sub_8081424(u8 taskId) switch (data[0]) { case 0: - sub_8081398(&gUnknown_03004DE0[gUnknown_03004DC0.unk14][0], data[1], data[2], data[3]); + sub_8081398(&gUnknown_03004DE0[gUnknown_03004DC0.srcBank][0], data[1], data[2], data[3]); data[0] = 1; break; case 1: - sub_8081398(&gUnknown_03004DE0[gUnknown_03004DC0.unk14][0], data[1], data[2], data[3]); + sub_8081398(&gUnknown_03004DE0[gUnknown_03004DC0.srcBank][0], data[1], data[2], data[3]); data[0] = 0; data[3] += data[5]; if (data[3] > data[4]) diff --git a/src/unknown_task.c b/src/unknown_task.c index 5ec7fa6bc..0cc59fc66 100644 --- a/src/unknown_task.c +++ b/src/unknown_task.c @@ -4,20 +4,6 @@ #include "trig.h" #include "unknown_task.h" -struct UnknownStruct1 -{ - void *src[2]; - volatile void *dest; - u32 unkC; - void (*unk10)(void); - u8 srcBank; - u8 unk15; - u8 unk16; - u8 unk17; - u8 taskId; - u8 filler19[0x7]; -}; - static void sub_80896F4(void); static void sub_8089714(void); @@ -32,7 +18,7 @@ extern u16 gUnknown_030042C0; extern u8 gUnknown_0202FFA4; -extern struct UnknownStruct1 gUnknown_03004DC0; +extern struct UnknownTaskStruct2 gUnknown_03004DC0; extern u16 gUnknown_03004DE0[][0x3C0]; |