Added macro for Surf/Muddy Water's animation (#2232)
Some checks failed
CI / build (push) Has been cancelled

This commit is contained in:
Frank DeBlasio 2026-02-06 10:08:20 -05:00 committed by GitHub
parent 63390a940e
commit 064ca5c243
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 15 additions and 4 deletions

View File

@ -579,3 +579,7 @@
.macro shake_battle_platforms priority=2, x_offset:req, y_offset:req, shakes:req, delay:req .macro shake_battle_platforms priority=2, x_offset:req, y_offset:req, shakes:req, delay:req
createvisualtask AnimTask_ShakeBattlePlatforms, \priority, \x_offset, \y_offset, \shakes, \delay createvisualtask AnimTask_ShakeBattlePlatforms, \priority, \x_offset, \y_offset, \shakes, \delay
.endm .endm
.macro create_surf_wave priority=2, palette:req
createvisualtask AnimTask_CreateSurfWave, \priority, \palette
.endm

View File

@ -6296,7 +6296,7 @@ Move_CRABHAMMER:
end end
Move_SURF: Move_SURF:
createvisualtask AnimTask_CreateSurfWave, 2, FALSE create_surf_wave palette=ANIM_SURF_PAL_SURF
delay 24 delay 24
panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
waitforvisualfinish waitforvisualfinish
@ -8594,7 +8594,7 @@ ArmThrustLeft:
Move_MUDDY_WATER: Move_MUDDY_WATER:
panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createvisualtask AnimTask_CreateSurfWave, 2, TRUE create_surf_wave palette=ANIM_SURF_PAL_MUDDY_WATER
waitforvisualfinish waitforvisualfinish
end end

View File

@ -420,6 +420,10 @@
#define ANIM_WEATHER_SANDSTORM 3 #define ANIM_WEATHER_SANDSTORM 3
#define ANIM_WEATHER_HAIL 4 #define ANIM_WEATHER_HAIL 4
// Surf wave palettes
#define ANIM_SURF_PAL_SURF 0
#define ANIM_SURF_PAL_MUDDY_WATER 1
// Flags given to various functions to indicate which palettes to consider. // Flags given to various functions to indicate which palettes to consider.
// Handled by UnpackSelectedBattlePalettes // Handled by UnpackSelectedBattlePalettes
#define F_PAL_BG (1 << 0) #define F_PAL_BG (1 << 0)

View File

@ -1,6 +1,7 @@
#include "global.h" #include "global.h"
#include "battle.h" #include "battle.h"
#include "battle_anim.h" #include "battle_anim.h"
#include "battle_anim_internal.h"
#include "gpu_regs.h" #include "gpu_regs.h"
#include "graphics.h" #include "graphics.h"
#include "palette.h" #include "palette.h"
@ -812,6 +813,8 @@ static void AnimSmallBubblePair_Step(struct Sprite *sprite)
void AnimTask_CreateSurfWave(u8 taskId) void AnimTask_CreateSurfWave(u8 taskId)
{ {
CMD_ARGS(palette);
struct BattleAnimBgData animBg; struct BattleAnimBgData animBg;
u8 taskId2; u8 taskId2;
u16 *x; u16 *x;
@ -838,7 +841,7 @@ void AnimTask_CreateSurfWave(u8 taskId)
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_SurfContest, TRUE); AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_SurfContest, TRUE);
} }
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
if (gBattleAnimArgs[0] == 0) if (cmd->palette == ANIM_SURF_PAL_SURF)
LoadCompressedPalette(gBattleAnimBgPalette_Surf, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); LoadCompressedPalette(gBattleAnimBgPalette_Surf, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
else else
LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);