diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-30 08:52:49 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-30 08:52:49 -0400 |
commit | b31317889d2b75fc486eb801596e0fb31364387b (patch) | |
tree | 6f662d93c4be31fbdd7a49c59085b6925d950e03 /src | |
parent | 1bed74a6a1c7bc48d957167ef08a8c50fda42460 (diff) |
Partial doc of battle anim utility funcs
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_anim_effects_1.c | 6 | ||||
-rw-r--r-- | src/battle_anim_effects_2.c | 2 | ||||
-rw-r--r-- | src/battle_anim_mons.c | 12 | ||||
-rw-r--r-- | src/battle_anim_special.c | 2 | ||||
-rw-r--r-- | src/battle_anim_utility_funcs.c | 32 | ||||
-rw-r--r-- | src/ghost.c | 2 | ||||
-rw-r--r-- | src/normal.c | 4 |
7 files changed, 37 insertions, 23 deletions
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 33b5ceacc..2e740df33 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -4321,7 +4321,7 @@ static void AnimLockOnTargetStep4(struct Sprite* sprite) sprite->data[1] = 0; } - BlendPalettes(sub_8075BE8(1, 1, 1, 1, 1, 0, 0), sprite->data[1], RGB_WHITE); + BlendPalettes(SelectBattleAnimSpriteAndBgPalettes(1, 1, 1, 1, 1, 0, 0), sprite->data[1], RGB_WHITE); if (sprite->data[1] == 16) { int pal; @@ -4981,7 +4981,7 @@ void AnimTask_FadeScreenBlueStep(u8); void AnimTask_FadeScreenBlue(u8 taskId) { - int a = sub_8075BE8(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; + int a = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; int b; int c; int d; @@ -4996,7 +4996,7 @@ void AnimTask_FadeScreenBlue(u8 taskId) gTasks[taskId].data[7] = 13; gTasks[taskId].data[8] = 14; gTasks[taskId].data[9] = 15; - b = sub_8075CB8(1, 1, 1, 1); + b = SelectBattlerSpritePalettes(1, 1, 1, 1); c = a | b; StorePointerInVars(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c); b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON)); diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 093660389..4b52926da 100644 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3090,7 +3090,7 @@ static void FakeOutStep2(u8 taskId) { gTasks[taskId].data[11] = 0x88; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_LIGHTEN); - BlendPalettes(sub_8075BE8(1, 0, 0, 0, 0, 0, 0), 16, RGB_WHITE); + BlendPalettes(SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0), 16, RGB_WHITE); } else if (gTasks[taskId].data[10] > 4) { diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 7f3516670..ba0a597f5 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -1240,7 +1240,7 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor) } } -u32 sub_8075BE8(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7) +u32 SelectBattleAnimSpriteAndBgPalettes(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7) { u32 selectedPalettes = 0; u32 shift; @@ -1286,19 +1286,19 @@ u32 sub_8075BE8(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, return selectedPalettes; } -u32 sub_8075CB8(u8 a1, u8 a2, u8 a3, u8 a4) +u32 SelectBattlerSpritePalettes(bool8 playerLeft, bool8 playerRight, bool8 foeLeft, bool8 foeRight) { u32 var = 0; u32 shift; - if (a1) + if (playerLeft) { if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) { var |= 1 << (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) + 16); } } - if (a2) + if (playerRight) { if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT))) { @@ -1306,7 +1306,7 @@ u32 sub_8075CB8(u8 a1, u8 a2, u8 a3, u8 a4) var |= 1 << shift; } } - if (a3) + if (foeLeft) { if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT))) { @@ -1314,7 +1314,7 @@ u32 sub_8075CB8(u8 a1, u8 a2, u8 a3, u8 a4) var |= 1 << shift; } } - if (a4) + if (foeRight) { if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) { diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 7590c0e58..9c0ba1964 100644 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -666,7 +666,7 @@ void sub_80EF344(u8 taskId) priority = gSprites[spriteId].oam.priority; subpriority = gSprites[spriteId].subpriority; gTasks[taskId].data[10] = LaunchBallStarsTask(x, y + 32, priority, subpriority, ballId); - selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0); + selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0); gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId); gTasks[taskId].data[0]++; break; diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index df4a8243b..1e73c3484 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -41,14 +41,28 @@ static const u16 gUnknown_83E7CC8[] = { RGB(31, 31, 31) }; const u8 gUnknown_83E7CCA[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT }; const u8 gUnknown_83E7CCE[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT }; +// gBattleAnimArgs[0] is a bitfield. +// Bits 0-10 result in the following palettes being selected: +// 0: battle background palettes (BG palettes 1, 2, and 3) +// 1: gBattleAnimAttacker OBJ palette +// 2: gBattleAnimTarget OBJ palette +// 3: gBattleAnimAttacker partner OBJ palette +// 4: gBattleAnimTarget partner OBJ palette +// 5: BG palette 4 +// 6: BG palette 5 +// 7: Player battler left +// 8: Player battler right +// 9: Enemy battler left +// 10: Enemy battler right void sub_80BA7F8(u8 taskId) { u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]); - selectedPalettes |= sub_8075CB8((gBattleAnimArgs[0] >> 7) & 1, - (gBattleAnimArgs[0] >> 8) & 1, - (gBattleAnimArgs[0] >> 9) & 1, - (gBattleAnimArgs[0] >> 10) & 1); + selectedPalettes |= SelectBattlerSpritePalettes( + (gBattleAnimArgs[0] >> 7) & 1, + (gBattleAnimArgs[0] >> 8) & 1, + (gBattleAnimArgs[0] >> 9) & 1, + (gBattleAnimArgs[0] >> 10) & 1); StartBlendAnimSpriteColor(taskId, selectedPalettes); } @@ -559,11 +573,11 @@ static void sub_80BB4B8(u8 taskId) void sub_80BB660(u8 taskId) { - u32 selectedPalettes = sub_8075CB8(1, 1, 1, 1); + u32 selectedPalettes = SelectBattlerSpritePalettes(1, 1, 1, 1); sub_80BB790(selectedPalettes, 0); gTasks[taskId].data[14] = selectedPalettes >> 16; - selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; + selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; sub_80BB790(selectedPalettes, 0xFFFF); gTasks[taskId].data[15] = selectedPalettes; gTasks[taskId].data[0] = 0; @@ -835,7 +849,7 @@ void sub_80BBE6C(u8 taskId) s32 paletteIndex = 0; if (gBattleAnimArgs[0] == 0) - for (selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0); + for (selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0); (selectedPalettes & 1) == 0; ++paletteIndex) selectedPalettes >>= 1; @@ -853,7 +867,7 @@ void sub_80BBF08(u8 taskId) s32 paletteIndex = 0; if (gBattleAnimArgs[0] == 0) - for (selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0); + for (selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0); (selectedPalettes & 1) == 0; ++paletteIndex) selectedPalettes >>= 1; @@ -871,7 +885,7 @@ void sub_80BBFA4(u8 taskId) s32 paletteIndex = 0; if (gBattleAnimArgs[0] == 0) - for (selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0); + for (selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0); (selectedPalettes & 1) == 0; ++paletteIndex) selectedPalettes >>= 1; diff --git a/src/ghost.c b/src/ghost.c index 793c9838c..35dcd267b 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -984,7 +984,7 @@ static void sub_80B6468(u8 taskId) right = 240; top = 0; bottom = 112; - selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0); + selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0); BeginNormalPaletteFade(selectedPalettes, 0, 16, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_80B65F0; } diff --git a/src/normal.c b/src/normal.c index 4e045340f..97851e244 100644 --- a/src/normal.c +++ b/src/normal.c @@ -326,7 +326,7 @@ u32 UnpackSelectedBattleAnimPalettes(s16 selector) u8 arg5 = (selector >> 5) & 1; u8 arg6 = (selector >> 6) & 1; - return sub_8075BE8(battleBackground, attacker, target, attackerPartner, targetPartner, arg5, arg6); + return SelectBattleAnimSpriteAndBgPalettes(battleBackground, attacker, target, attackerPartner, targetPartner, arg5, arg6); } static void AnimSimplePaletteBlendStep(struct Sprite *sprite) @@ -659,7 +659,7 @@ void sub_80BA0E8(u8 taskId) u8 targetBattler = gBattleAnimTarget; if (gBattleAnimArgs[0] & 0x100) - selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0); + selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0); if (gBattleAnimArgs[1] & 0x100) selectedPalettes |= (0x10000 << attackerBattler); if (gBattleAnimArgs[2] & 0x100) |