battle transition data decomp
This commit is contained in:
+1
-122
@@ -133,128 +133,7 @@ gUnknown_83F846D:: @ 83F846D
|
||||
gUnknown_83F847D:: @ 83F847D
|
||||
.incbin "baserom.gba", 0x3F847D, 0x323
|
||||
|
||||
sBigPokeballTileset:: @ 83F87A0
|
||||
.incbin "baserom.gba", 0x3F87A0, 0x580
|
||||
|
||||
sSlidingPokeballTilemap:: @ 83F8D20
|
||||
.incbin "baserom.gba", 0x3F8D20, 0x240
|
||||
|
||||
sVsBarTileset:: @ 83F8F60
|
||||
.incbin "baserom.gba", 0x3F8F60, 0x11E0
|
||||
|
||||
sGridSquareTilemap:: @ 83FA140
|
||||
.incbin "baserom.gba", 0x3FA140, 0x1E0
|
||||
|
||||
sBT_Phase1Tasks:: @ 83FA320
|
||||
.incbin "baserom.gba", 0x3FA320, 0x48
|
||||
|
||||
sBT_Phase2Tasks:: @ 83FA368
|
||||
.incbin "baserom.gba", 0x3FA368, 0x48
|
||||
|
||||
sBT_MainPhases:: @ 83FA3B0
|
||||
.incbin "baserom.gba", 0x3FA3B0, 0x10
|
||||
|
||||
sBT_Phase2BlurFuncs:: @ 83FA3C0
|
||||
.incbin "baserom.gba", 0x3FA3C0, 0xC
|
||||
|
||||
sBT_Phase2DistortedWaveFuncs:: @ 83FA3CC
|
||||
.incbin "baserom.gba", 0x3FA3CC, 0x8
|
||||
|
||||
sBT_Phase2HorizontalCorrugateFuncs:: @ 83FA3D4
|
||||
.incbin "baserom.gba", 0x3FA3D4, 0x8
|
||||
|
||||
sBT_Phase2BigPokeballFuncs:: @ 83FA3DC
|
||||
.incbin "baserom.gba", 0x3FA3DC, 0x18
|
||||
|
||||
sBT_Phase2SlidingPokeballsFuncs:: @ 83FA3F4
|
||||
.incbin "baserom.gba", 0x3FA3F4, 0xC
|
||||
|
||||
gUnknown_83FA400:: @ 83FA400
|
||||
.incbin "baserom.gba", 0x3FA400, 0x4
|
||||
|
||||
gUnknown_83FA404:: @ 83FA404
|
||||
.incbin "baserom.gba", 0x3FA404, 0xA
|
||||
|
||||
gUnknown_83FA40E:: @ 83FA40E
|
||||
.incbin "baserom.gba", 0x3FA40E, 0x6
|
||||
|
||||
sBT_Phase2ClockwiseBlackFadeFuncs:: @ 83FA414
|
||||
.incbin "baserom.gba", 0x3FA414, 0x1C
|
||||
|
||||
sBT_Phase2FullScreenWaveFuncs:: @ 83FA430
|
||||
.incbin "baserom.gba", 0x3FA430, 0x8
|
||||
|
||||
sBT_Phase2BlackWaveToRightFuncs:: @ 83FA438
|
||||
.incbin "baserom.gba", 0x3FA438, 0xC
|
||||
|
||||
gUnknown_83FA444:: @ 83FA444
|
||||
.incbin "baserom.gba", 0x3FA444, 0x20
|
||||
|
||||
sBT_Phase2AntiClockwiseSpiralFuncs:: @ 83FA464
|
||||
.incbin "baserom.gba", 0x3FA464, 0x8
|
||||
|
||||
sBT_Phase2MugshotFuncs:: @ 83FA46C
|
||||
.incbin "baserom.gba", 0x3FA46C, 0x28
|
||||
|
||||
sMugshotsTrainerPicIDsTable:: @ 83FA494
|
||||
.incbin "baserom.gba", 0x3FA494, 0x6
|
||||
|
||||
sMugshotsOpponentRotationScales:: @ 83FA49A
|
||||
.incbin "baserom.gba", 0x3FA49A, 0x14
|
||||
|
||||
sMugshotsOpponentCoords:: @ 83FA4AE
|
||||
.incbin "baserom.gba", 0x3FA4AE, 0x16
|
||||
|
||||
sBT_Phase2MugshotSpriteFuncs:: @ 83FA4C4
|
||||
.incbin "baserom.gba", 0x3FA4C4, 0x1C
|
||||
|
||||
sMugShotSlideVelocity:: @ 83FA4E0
|
||||
.incbin "baserom.gba", 0x3FA4E0, 0x4
|
||||
|
||||
sMugShotSlideDeceleration:: @ 83FA4E4
|
||||
.incbin "baserom.gba", 0x3FA4E4, 0x4
|
||||
|
||||
sBT_Phase2SlicedScreenFuncs:: @ 83FA4E8
|
||||
.incbin "baserom.gba", 0x3FA4E8, 0xC
|
||||
|
||||
sBT_Phase2WhiteFadeInStripesFuncs:: @ 83FA4F4
|
||||
.incbin "baserom.gba", 0x3FA4F4, 0x14
|
||||
|
||||
sWhiteStripeDelay:: @ 83FA508
|
||||
.incbin "baserom.gba", 0x3FA508, 0xC
|
||||
|
||||
sBT_Phase2GridSquaresFuncs:: @ 83FA514
|
||||
.incbin "baserom.gba", 0x3FA514, 0xC
|
||||
|
||||
sBT_Phase2BlackDoodlesFuncs:: @ 83FA520
|
||||
.incbin "baserom.gba", 0x3FA520, 0x14
|
||||
|
||||
sBlackDoodlesSegments:: @ 83FA534
|
||||
.incbin "baserom.gba", 0x3FA534, 0x46
|
||||
|
||||
sBlackDoodlesDelay:: @ 83FA57A
|
||||
.incbin "baserom.gba", 0x3FA57A, 0xE
|
||||
|
||||
sBT_Phase1FadeFuncs:: @ 83FA588
|
||||
.incbin "baserom.gba", 0x3FA588, 0x44
|
||||
|
||||
sSpriteTemplate_SlidingPokeball:: @ 83FA5CC
|
||||
.incbin "baserom.gba", 0x3FA5CC, 0x6C
|
||||
|
||||
sSlidingPokeballBigPokeballPalette:: @ 83FA638
|
||||
.incbin "baserom.gba", 0x3FA638, 0x108
|
||||
|
||||
sVsBarOpponentPalettes:: @ 83FA740
|
||||
.incbin "baserom.gba", 0x3FA740, 0x14
|
||||
|
||||
sVsBarPlayerPalettes:: @ 83FA754
|
||||
.incbin "baserom.gba", 0x3FA754, 0x30
|
||||
|
||||
sBigPokeballTilemap:: @ 83FA784
|
||||
.incbin "baserom.gba", 0x3FA784, 0x4B0
|
||||
|
||||
sVsBarTilemap:: @ 83FAC34
|
||||
.incbin "baserom.gba", 0x3FAC34, 0x500
|
||||
.section .rodata.83FB134
|
||||
|
||||
gUnknown_83FB134:: @ 83FB134
|
||||
.incbin "baserom.gba", 0x3FB134, 0xA80
|
||||
|
||||
@@ -31,7 +31,13 @@ gUnknown_83A0010:: @ 83A0010
|
||||
.incbin "baserom.gba", 0x3A0010, 0x3688
|
||||
|
||||
gUnknown_83A3698:: @ 83A3698
|
||||
.incbin "baserom.gba", 0x3A3698, 0x1AC0
|
||||
.incbin "baserom.gba", 0x3A3698, 0x80
|
||||
|
||||
gEventObjectBaseOam_32x32:: @ 83A3718
|
||||
.incbin "baserom.gba", 0x3A3718, 0x8
|
||||
|
||||
gUnknown_83A3720:: @ 83A3720
|
||||
.incbin "baserom.gba", 0x3A3720, 0x1a38
|
||||
|
||||
gUnknown_83A5158:: @ 83A5158
|
||||
.incbin "baserom.gba", 0x3A5158, 0xB0
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
172 49 49
|
||||
115 115 115
|
||||
148 148 148
|
||||
180 180 180
|
||||
213 213 213
|
||||
255 82 172
|
||||
255 98 189
|
||||
255 115 205
|
||||
255 131 222
|
||||
255 148 238
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 553 B |
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
172 49 49
|
||||
115 115 115
|
||||
148 148 148
|
||||
180 180 180
|
||||
213 213 213
|
||||
197 197 65
|
||||
213 213 82
|
||||
230 230 98
|
||||
246 246 115
|
||||
255 255 131
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
172 49 49
|
||||
115 115 115
|
||||
148 148 148
|
||||
180 180 180
|
||||
213 213 213
|
||||
8 213 8
|
||||
32 238 32
|
||||
49 246 49
|
||||
74 255 74
|
||||
123 255 123
|
||||
230 123 139
|
||||
246 139 156
|
||||
255 156 172
|
||||
255 172 189
|
||||
255 189 205
|
||||
230 123 139
|
||||
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
230 123 139
|
||||
246 139 156
|
||||
255 156 172
|
||||
255 172 189
|
||||
255 189 205
|
||||
255 255 255
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
172 49 49
|
||||
115 115 115
|
||||
148 148 148
|
||||
180 180 180
|
||||
213 213 213
|
||||
0 0 131
|
||||
16 16 148
|
||||
32 32 164
|
||||
49 49 180
|
||||
65 65 197
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
172 49 49
|
||||
115 115 115
|
||||
148 148 148
|
||||
180 180 180
|
||||
213 213 213
|
||||
189 0 189
|
||||
205 16 205
|
||||
222 32 222
|
||||
238 49 238
|
||||
255 65 255
|
||||
106 180 213
|
||||
123 197 230
|
||||
139 213 246
|
||||
156 230 255
|
||||
172 246 255
|
||||
255 255 255
|
||||
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
106 180 213
|
||||
123 197 230
|
||||
139 213 246
|
||||
156 230 255
|
||||
172 246 255
|
||||
255 255 255
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
98 172 238
|
||||
246 8 0
|
||||
238 213 180
|
||||
222 180 148
|
||||
255 255 255
|
||||
222 230 238
|
||||
189 205 230
|
||||
156 180 222
|
||||
98 156 180
|
||||
148 0 0
|
||||
197 197 197
|
||||
238 230 164
|
||||
222 205 131
|
||||
213 180 106
|
||||
205 156 82
|
||||
0 0 0
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 309 B |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 475 B |
Binary file not shown.
|
After Width: | Height: | Size: 412 B |
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
115 197 164
|
||||
255 222 205
|
||||
222 164 148
|
||||
205 131 115
|
||||
123 90 82
|
||||
57 74 123
|
||||
41 57 98
|
||||
24 41 82
|
||||
16 32 57
|
||||
222 230 238
|
||||
255 197 90
|
||||
189 156 90
|
||||
255 98 90
|
||||
197 65 65
|
||||
255 255 255
|
||||
0 0 0
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 158 B |
@@ -3,10 +3,6 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
bool8 BT_IsDone(void);
|
||||
void BT_StartOnField(u8 transitionId);
|
||||
bool8 FldEff_Pokeball(void);
|
||||
|
||||
enum
|
||||
{
|
||||
MUGSHOT_LORELEI,
|
||||
@@ -36,4 +32,10 @@ enum
|
||||
#define B_TRANSITION_BLUE 16
|
||||
#define B_TRANSITION_ANTI_CLOCKWISE_SPIRAL 17
|
||||
|
||||
extern const struct SpritePalette sSpritePalette_SlidingPokeball;
|
||||
|
||||
bool8 BT_IsDone(void);
|
||||
void BT_StartOnField(u8 transitionId);
|
||||
bool8 FldEff_Pokeball(void);
|
||||
|
||||
#endif // GUARD_BATTLE_TRANSITION_H
|
||||
|
||||
@@ -418,6 +418,8 @@ SECTIONS {
|
||||
data/data_83F5738.o(.rodata);
|
||||
src/battle_records.o(.rodata);
|
||||
data/data_83F5738.o(.rodata.83F6C90);
|
||||
src/battle_transition.o(.rodata);
|
||||
data/data_83F5738.o(.rodata.83FB134);
|
||||
src/save.o(.rodata);
|
||||
data/data_83FECCC.o(.rodata);
|
||||
src/intro.o(.rodata);
|
||||
|
||||
@@ -0,0 +1,577 @@
|
||||
#include "global.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "battle_transition.h"
|
||||
|
||||
typedef bool8 (*TransitionStateFunc)(struct Task *task);
|
||||
typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite);
|
||||
|
||||
struct TransitionData
|
||||
{
|
||||
vu8 vblankDma;
|
||||
u16 winIn;
|
||||
u16 winOut;
|
||||
u16 win0H;
|
||||
u16 win0V;
|
||||
u16 unused_A;
|
||||
u16 unused_C;
|
||||
u16 bldCnt;
|
||||
u16 bldAlpha;
|
||||
u16 bldY;
|
||||
s16 bg123HOfs;
|
||||
s16 bg123VOfs;
|
||||
s16 bg0HOfsOpponent;
|
||||
s16 bg0HOfsPlayer;
|
||||
s16 bg0VOfs;
|
||||
s16 unused_1E;
|
||||
s16 counter;
|
||||
s16 unused_22;
|
||||
s16 data[11]; // for multiple purposes
|
||||
};
|
||||
|
||||
struct __attribute__((packed)) BlackDoodleSegment
|
||||
{
|
||||
s16 startPtX;
|
||||
s16 startPtY;
|
||||
s16 endPtX;
|
||||
s16 endPtY;
|
||||
u16 whichSide;
|
||||
};
|
||||
|
||||
EWRAM_DATA struct TransitionData *sTransitionStructPtr = NULL;
|
||||
|
||||
// TODO: move this declaration to include/event_object_movement.h
|
||||
extern const struct OamData gEventObjectBaseOam_32x32;
|
||||
|
||||
bool8 BT_Phase1_FadeOut(struct Task *task);
|
||||
bool8 BT_Phase1_FadeIn(struct Task *task);
|
||||
bool8 BT_Phase2BlackDoodles_Init(struct Task *task);
|
||||
bool8 BT_Phase2BlackDoodles_InitSingleBrush(struct Task *task);
|
||||
bool8 BT_Phase2BlackDoodles_DrawSingleBrush(struct Task *task);
|
||||
bool8 BT_Phase2BlackDoodles_IsDone(struct Task *task);
|
||||
bool8 BT_Phase2BlackDoodles_NextBrush(struct Task *task);
|
||||
bool8 BT_Phase2GridSquares_LoadGfx(struct Task *task);
|
||||
bool8 BT_Phase2GridSquares_UpdateTileset(struct Task *task);
|
||||
bool8 BT_Phase2GridSquares_IsDone(struct Task *task);
|
||||
bool8 BT_Phase2WhiteFadeInStripes_Init(struct Task *task);
|
||||
bool8 BT_Phase2WhiteFadeInStripes_SetupSprites(struct Task *task);
|
||||
bool8 BT_Phase2WhiteFadeInStripes_IsWhiteFadeDone(struct Task *task);
|
||||
bool8 BT_Phase2WhiteFadeInStripes_Stop(struct Task *task);
|
||||
bool8 BT_Phase2WhiteFadeInStripes_IsDone(struct Task *task);
|
||||
bool8 BT_Phase2SlicedScreen_Init(struct Task *task);
|
||||
bool8 BT_Phase2SlicedScreen_UpdateOffsets(struct Task *task);
|
||||
bool8 BT_Phase2SlicedScreen_End(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_Init(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_LoadGfx(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_VsBarsSlideIn(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_StartSpriteSlide(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_WaitForOpponentInPlace(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_WaitForPlayerInPlace(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_ExpandWhiteBand(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_StartBlackFade(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_WaitForBlackFade(struct Task *task);
|
||||
bool8 BT_Phase2Mugshot_End(struct Task *task);
|
||||
bool8 BT_Phase2AntiClockwiseSpiral_Init(struct Task *task);
|
||||
bool8 BT_Phase2AntiClockwiseSpiral_Update(struct Task *task);
|
||||
bool8 BT_Phase2BlackWaveToRight_Init(struct Task *task);
|
||||
bool8 BT_Phase2BlackWaveToRight_UpdateWave(struct Task *task);
|
||||
bool8 BT_Phase2BlackWaveToRight_End(struct Task *task);
|
||||
bool8 BT_Phase2FullScreenWave_Init(struct Task *task);
|
||||
bool8 BT_Phase2FullScreenWave_UpdateWave(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade_Init(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade_Step1(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade_Step2(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade_Step3(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade_Step4(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade_Step5(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade_End(struct Task *task);
|
||||
bool8 BT_Phase2SlidingPokeballs_LoadBgGfx(struct Task *task);
|
||||
bool8 BT_Phase2SlidingPokeballs_SetupFldeffArgs(struct Task *task);
|
||||
bool8 BT_Phase2SlidingPokeballs_IsDone(struct Task *task);
|
||||
bool8 BT_Phase2BigPokeball_Init(struct Task *task);
|
||||
bool8 BT_Phase2BigPokeball_LoadTilemapAndWave(struct Task *task);
|
||||
bool8 BT_Phase2BigPokeball_UpdateWave1IncEva(struct Task *task);
|
||||
bool8 BT_Phase2BigPokeball_UpdateWave2DecEvb(struct Task *task);
|
||||
bool8 BT_Phase2BigPokeball_UpdateWave3(struct Task *task);
|
||||
bool8 BT_Phase2BigPokeball_CircleEffect(struct Task *task);
|
||||
bool8 BT_Phase2HorizontalCorrugate_Init(struct Task *task);
|
||||
bool8 BT_Phase2HorizontalCorrugate_UpdateWave(struct Task *task);
|
||||
bool8 BT_Phase2DistortedWave_InitWave(struct Task *task);
|
||||
bool8 BT_Phase2DistortedWave_UpdateWave(struct Task *task);
|
||||
bool8 BT_Phase2Blur_InitBgMosaic(struct Task *task);
|
||||
bool8 BT_Phase2Blur_Anim(struct Task *task);
|
||||
bool8 BT_Phase2Blur_IsDone(struct Task *task);
|
||||
bool8 BT_Phase1Blink(struct Task *task);
|
||||
bool8 BT_WaitForPhase1(struct Task *task);
|
||||
bool8 BT_Phase2LaunchAnimTask(struct Task *task);
|
||||
bool8 BT_WaitForPhase2(struct Task *task);
|
||||
bool8 BT_Phase2Blur(struct Task *task);
|
||||
bool8 BT_Phase2DistortedWave(struct Task *task);
|
||||
bool8 BT_Phase2HorizontalCorrugate(struct Task *task);
|
||||
bool8 BT_Phase2BigPokeball(struct Task *task);
|
||||
bool8 BT_Phase2SlidingPokeballs(struct Task *task);
|
||||
bool8 BT_Phase2ClockwiseBlackFade(struct Task *task);
|
||||
bool8 BT_Phase2FullScreenWave(struct Task *task);
|
||||
bool8 BT_Phase2BlackWaveToRight(struct Task *task);
|
||||
bool8 BT_Phase2SlicedScreen(struct Task *task);
|
||||
bool8 BT_Phase2WhiteFadeInStripes(struct Task *task);
|
||||
bool8 BT_Phase2GridSquares(struct Task *task);
|
||||
bool8 BT_Phase2BlackDoodles(struct Task *task);
|
||||
bool8 BT_Phase2StartLoreleiMugshot(struct Task *task);
|
||||
bool8 BT_Phase2StartBrunoMugshot(struct Task *task);
|
||||
bool8 BT_Phase2StartAgathaMugshot(struct Task *task);
|
||||
bool8 BT_Phase2StartLanceMugshot(struct Task *task);
|
||||
bool8 BT_Phase2StartBlueMugshot(struct Task *task);
|
||||
bool8 BT_Phase2AntiClockwiseSpiral(struct Task *task);
|
||||
bool8 BT_Phase1Task(struct Task *task);
|
||||
|
||||
bool8 BT_Phase2MugshotsSpriteFuncs_Wait(struct Sprite *sprite);
|
||||
bool8 BT_Phase2MugshotsSpriteFuncs_InitParams(struct Sprite *sprite);
|
||||
bool8 BT_Phase2MugshotsSpriteFuncs_SlideSpriteIn(struct Sprite *sprite);
|
||||
bool8 BT_Phase2MugshotsSpriteFuncs_DecelerateSprite(struct Sprite *sprite);
|
||||
bool8 BT_Phase2MugshotsSpriteFuncs_DecelerateSprite2(struct Sprite *sprite);
|
||||
|
||||
void SpriteCB_BT_Phase2Mugshots(struct Sprite *sprite);
|
||||
void SpriteCB_BT_Phase2SlidingPokeballs(struct Sprite *sprite);
|
||||
|
||||
const u32 sBigPokeballTileset[] = INCBIN_U32("graphics/battle_transitions/big_pokeball_tileset.4bpp");
|
||||
const u32 sSlidingPokeballTilemap[] = INCBIN_U32("graphics/battle_transitions/sliding_pokeball_tilemap.bin");
|
||||
const u8 sSpriteImage_SlidingPokeball[] = INCBIN_U8("graphics/battle_transitions/sliding_pokeball.4bpp");
|
||||
const u32 sVsBarTileset[] = INCBIN_U32("graphics/battle_transitions/vsbar_tileset.4bpp");
|
||||
const u8 sSpriteImage_UnusedBrendan[] = INCBIN_U8("graphics/battle_transitions/unused_brendan.4bpp");
|
||||
const u8 sSpriteImage_UnusedLass[] = INCBIN_U8("graphics/battle_transitions/unused_lass.4bpp");
|
||||
const u32 sGridSquareTilemap[] = INCBIN_U32("graphics/battle_transitions/grid_square_tilemap.bin");
|
||||
|
||||
const TransitionStateFunc sBT_Phase1Tasks[] =
|
||||
{
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
BT_Phase1Task,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2Tasks[] =
|
||||
{
|
||||
BT_Phase2Blur,
|
||||
BT_Phase2DistortedWave,
|
||||
BT_Phase2HorizontalCorrugate,
|
||||
BT_Phase2BigPokeball,
|
||||
BT_Phase2SlidingPokeballs,
|
||||
BT_Phase2ClockwiseBlackFade,
|
||||
BT_Phase2FullScreenWave,
|
||||
BT_Phase2BlackWaveToRight,
|
||||
BT_Phase2SlicedScreen,
|
||||
BT_Phase2WhiteFadeInStripes,
|
||||
BT_Phase2GridSquares,
|
||||
BT_Phase2BlackDoodles,
|
||||
BT_Phase2StartLoreleiMugshot,
|
||||
BT_Phase2StartBrunoMugshot,
|
||||
BT_Phase2StartAgathaMugshot,
|
||||
BT_Phase2StartLanceMugshot,
|
||||
BT_Phase2StartBlueMugshot,
|
||||
BT_Phase2AntiClockwiseSpiral,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_MainPhases[] =
|
||||
{
|
||||
BT_Phase1Blink,
|
||||
BT_WaitForPhase1,
|
||||
BT_Phase2LaunchAnimTask,
|
||||
BT_WaitForPhase2,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2BlurFuncs[] =
|
||||
{
|
||||
BT_Phase2Blur_InitBgMosaic,
|
||||
BT_Phase2Blur_Anim,
|
||||
BT_Phase2Blur_IsDone,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2DistortedWaveFuncs[] =
|
||||
{
|
||||
BT_Phase2DistortedWave_InitWave,
|
||||
BT_Phase2DistortedWave_UpdateWave,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2HorizontalCorrugateFuncs[] =
|
||||
{
|
||||
BT_Phase2HorizontalCorrugate_Init,
|
||||
BT_Phase2HorizontalCorrugate_UpdateWave,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2BigPokeballFuncs[] =
|
||||
{
|
||||
BT_Phase2BigPokeball_Init,
|
||||
BT_Phase2BigPokeball_LoadTilemapAndWave,
|
||||
BT_Phase2BigPokeball_UpdateWave1IncEva,
|
||||
BT_Phase2BigPokeball_UpdateWave2DecEvb,
|
||||
BT_Phase2BigPokeball_UpdateWave3,
|
||||
BT_Phase2BigPokeball_CircleEffect,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2SlidingPokeballsFuncs[] =
|
||||
{
|
||||
BT_Phase2SlidingPokeballs_LoadBgGfx,
|
||||
BT_Phase2SlidingPokeballs_SetupFldeffArgs,
|
||||
BT_Phase2SlidingPokeballs_IsDone,
|
||||
};
|
||||
|
||||
const s16 gUnknown_83FA400[] = { -16, 256 };
|
||||
|
||||
const s16 gUnknown_83FA404[] = { 0, 16, 32, 8, 24 };
|
||||
|
||||
const s16 gUnknown_83FA40E[] = { 8, -8 };
|
||||
|
||||
const TransitionStateFunc sBT_Phase2ClockwiseBlackFadeFuncs[] =
|
||||
{
|
||||
BT_Phase2ClockwiseBlackFade_Init,
|
||||
BT_Phase2ClockwiseBlackFade_Step1,
|
||||
BT_Phase2ClockwiseBlackFade_Step2,
|
||||
BT_Phase2ClockwiseBlackFade_Step3,
|
||||
BT_Phase2ClockwiseBlackFade_Step4,
|
||||
BT_Phase2ClockwiseBlackFade_Step5,
|
||||
BT_Phase2ClockwiseBlackFade_End,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2FullScreenWaveFuncs[] =
|
||||
{
|
||||
BT_Phase2FullScreenWave_Init,
|
||||
BT_Phase2FullScreenWave_UpdateWave,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2BlackWaveToRightFuncs[] =
|
||||
{
|
||||
BT_Phase2BlackWaveToRight_Init,
|
||||
BT_Phase2BlackWaveToRight_UpdateWave,
|
||||
BT_Phase2BlackWaveToRight_End,
|
||||
};
|
||||
const s16 gUnknown_83FA444[] =
|
||||
{
|
||||
0x0, 0x26E,
|
||||
0x100, 0x69,
|
||||
0x0, -0x69,
|
||||
-0x100, -0x266E,
|
||||
0x0, 0x26E,
|
||||
0x100, 0x69,
|
||||
0x0, -0x69,
|
||||
-0x100, -0x266E,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2AntiClockwiseSpiralFuncs[] =
|
||||
{
|
||||
BT_Phase2AntiClockwiseSpiral_Init,
|
||||
BT_Phase2AntiClockwiseSpiral_Update,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2MugshotFuncs[] =
|
||||
{
|
||||
BT_Phase2Mugshot_Init,
|
||||
BT_Phase2Mugshot_LoadGfx,
|
||||
BT_Phase2Mugshot_VsBarsSlideIn,
|
||||
BT_Phase2Mugshot_StartSpriteSlide,
|
||||
BT_Phase2Mugshot_WaitForOpponentInPlace,
|
||||
BT_Phase2Mugshot_WaitForPlayerInPlace,
|
||||
BT_Phase2Mugshot_ExpandWhiteBand,
|
||||
BT_Phase2Mugshot_StartBlackFade,
|
||||
BT_Phase2Mugshot_WaitForBlackFade,
|
||||
BT_Phase2Mugshot_End,
|
||||
};
|
||||
|
||||
const u8 sMugshotsTrainerPicIDsTable[MUGSHOTS_COUNT] =
|
||||
{
|
||||
// TODO: document these with macro
|
||||
0x70, 0x71, 0x72, 0x73, 0x7D
|
||||
};
|
||||
|
||||
const s16 sMugshotsOpponentRotationScales[MUGSHOTS_COUNT][2] =
|
||||
{
|
||||
{0x200, 0x200},
|
||||
{0x200, 0x200},
|
||||
{0x200, 0x200},
|
||||
{0x200, 0x200},
|
||||
{0x200, 0x200},
|
||||
};
|
||||
|
||||
const s16 sMugshotsOpponentCoords[MUGSHOTS_COUNT][2] =
|
||||
{
|
||||
{ -8, 0 },
|
||||
{ -10, 0 },
|
||||
{ 0, 0 },
|
||||
{ -32, 0 },
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
const TransitionSpriteCallback sBT_Phase2MugshotSpriteFuncs[] =
|
||||
{
|
||||
BT_Phase2MugshotsSpriteFuncs_Wait,
|
||||
BT_Phase2MugshotsSpriteFuncs_InitParams,
|
||||
BT_Phase2MugshotsSpriteFuncs_SlideSpriteIn,
|
||||
BT_Phase2MugshotsSpriteFuncs_DecelerateSprite,
|
||||
BT_Phase2MugshotsSpriteFuncs_Wait,
|
||||
BT_Phase2MugshotsSpriteFuncs_DecelerateSprite2, // not used
|
||||
BT_Phase2MugshotsSpriteFuncs_Wait,
|
||||
};
|
||||
|
||||
const s16 sMugShotSlideVelocity[] = { 12, -12 };
|
||||
|
||||
const s16 sMugShotSlideDeceleration[] = { -1, 1 };
|
||||
|
||||
const TransitionStateFunc sBT_Phase2SlicedScreenFuncs[] =
|
||||
{
|
||||
BT_Phase2SlicedScreen_Init,
|
||||
BT_Phase2SlicedScreen_UpdateOffsets,
|
||||
BT_Phase2SlicedScreen_End,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2WhiteFadeInStripesFuncs[] =
|
||||
{
|
||||
BT_Phase2WhiteFadeInStripes_Init,
|
||||
BT_Phase2WhiteFadeInStripes_SetupSprites,
|
||||
BT_Phase2WhiteFadeInStripes_IsWhiteFadeDone,
|
||||
BT_Phase2WhiteFadeInStripes_Stop,
|
||||
BT_Phase2WhiteFadeInStripes_IsDone,
|
||||
};
|
||||
|
||||
const u16 sWhiteStripeDelay[] = { 0, 9, 15, 6, 12, 3 };
|
||||
|
||||
const TransitionStateFunc sBT_Phase2GridSquaresFuncs[] =
|
||||
{
|
||||
BT_Phase2GridSquares_LoadGfx,
|
||||
BT_Phase2GridSquares_UpdateTileset,
|
||||
BT_Phase2GridSquares_IsDone,
|
||||
};
|
||||
|
||||
const TransitionStateFunc sBT_Phase2BlackDoodlesFuncs[] =
|
||||
{
|
||||
BT_Phase2BlackDoodles_Init,
|
||||
BT_Phase2BlackDoodles_InitSingleBrush,
|
||||
BT_Phase2BlackDoodles_DrawSingleBrush,
|
||||
BT_Phase2BlackDoodles_IsDone,
|
||||
BT_Phase2BlackDoodles_NextBrush,
|
||||
};
|
||||
|
||||
const struct BlackDoodleSegment sBlackDoodlesSegments[] =
|
||||
{
|
||||
{
|
||||
.startPtX = 0x38,
|
||||
.startPtY = 0x0,
|
||||
.endPtX = 0x0,
|
||||
.endPtY = 0xA0,
|
||||
.whichSide = 0,
|
||||
},
|
||||
{
|
||||
.startPtX = 0x68,
|
||||
.startPtY = 0xA0,
|
||||
.endPtX = 0xF0,
|
||||
.endPtY = 0x58,
|
||||
.whichSide = 1,
|
||||
},
|
||||
{
|
||||
.startPtX = 0xF0,
|
||||
.startPtY = 0x48,
|
||||
.endPtX = 0x38,
|
||||
.endPtY = 0x0,
|
||||
.whichSide = 1,
|
||||
},
|
||||
{
|
||||
.startPtX = 0x0,
|
||||
.startPtY = 0x20,
|
||||
.endPtX = 0x90,
|
||||
.endPtY = 0xA0,
|
||||
.whichSide = 0,
|
||||
},
|
||||
{
|
||||
.startPtX = 0x90,
|
||||
.startPtY = 0xA0,
|
||||
.endPtX = 0xB8,
|
||||
.endPtY = 0x0,
|
||||
.whichSide = 1,
|
||||
},
|
||||
{
|
||||
.startPtX = 0x38,
|
||||
.startPtY = 0x0,
|
||||
.endPtX = 0xA8,
|
||||
.endPtY = 0xA0,
|
||||
.whichSide = 0,
|
||||
},
|
||||
{
|
||||
.startPtX = 0xA8,
|
||||
.startPtY = 0xA0,
|
||||
.endPtX = 0x30,
|
||||
.endPtY = 0x0,
|
||||
.whichSide = 1,
|
||||
},
|
||||
};
|
||||
|
||||
const s16 sBlackDoodlesDelay[] = { 1, 1, 1, 1, 1, 1, 0 };
|
||||
|
||||
const TransitionStateFunc sBT_Phase1FadeFuncs[] =
|
||||
{
|
||||
BT_Phase1_FadeOut,
|
||||
BT_Phase1_FadeIn,
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage sSpriteImageTable_SlidingPokeball[] =
|
||||
{
|
||||
{
|
||||
.data = sSpriteImage_SlidingPokeball,
|
||||
.size = 0x200,
|
||||
},
|
||||
};
|
||||
|
||||
const union AnimCmd sSpriteAnim_SlidingPokeball[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const sSpriteAnimTable_SlidingPokeball[] = { sSpriteAnim_SlidingPokeball };
|
||||
|
||||
const union AffineAnimCmd sSpriteAffineAnim_SlidingPokeball1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, -4, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd sSpriteAffineAnim_SlidingPokeball2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 4, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const sSpriteAffineAnimTable_SlidingPokeball[] =
|
||||
{
|
||||
sSpriteAffineAnim_SlidingPokeball1,
|
||||
sSpriteAffineAnim_SlidingPokeball2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate sSpriteTemplate_SlidingPokeball =
|
||||
{
|
||||
.tileTag = SPRITE_INVALID_TAG,
|
||||
.paletteTag = 0x1009,
|
||||
.oam = &gEventObjectBaseOam_32x32,
|
||||
.anims = sSpriteAnimTable_SlidingPokeball,
|
||||
.images = sSpriteImageTable_SlidingPokeball,
|
||||
.affineAnims = sSpriteAffineAnimTable_SlidingPokeball,
|
||||
.callback = SpriteCB_BT_Phase2SlidingPokeballs,
|
||||
};
|
||||
|
||||
const struct OamData sOamData_Unused =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage sSpriteImageTable_UnusedBrendan[] =
|
||||
{
|
||||
{
|
||||
.data = sSpriteImage_UnusedBrendan,
|
||||
.size = 0x800,
|
||||
},
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage sSpriteImageTable_UnusedLass[] =
|
||||
{
|
||||
{
|
||||
.data = sSpriteImage_UnusedLass,
|
||||
.size = 0x800,
|
||||
},
|
||||
};
|
||||
|
||||
const union AnimCmd sSpriteAnim_Unused[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const sSpriteAnimTable_Unused[] = { sSpriteAnim_Unused };
|
||||
|
||||
const struct SpriteTemplate sSpriteTemplateTable_Unused[] =
|
||||
{
|
||||
{
|
||||
.tileTag = SPRITE_INVALID_TAG,
|
||||
.paletteTag = 0x100A,
|
||||
.oam = &sOamData_Unused,
|
||||
.anims = sSpriteAnimTable_Unused,
|
||||
.images = sSpriteImageTable_UnusedBrendan,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_BT_Phase2Mugshots,
|
||||
},
|
||||
{
|
||||
.tileTag = SPRITE_INVALID_TAG,
|
||||
.paletteTag = 0x100A,
|
||||
.oam = &sOamData_Unused,
|
||||
.anims = sSpriteAnimTable_Unused,
|
||||
.images = sSpriteImageTable_UnusedLass,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_BT_Phase2Mugshots,
|
||||
},
|
||||
};
|
||||
|
||||
// this palette is shared by big pokeball and sliding pokeball
|
||||
const u16 sSlidingPokeballBigPokeballPalette[] = INCBIN_U16("graphics/battle_transitions/sliding_pokeball.gbapal");
|
||||
|
||||
const struct SpritePalette sSpritePalette_SlidingPokeball =
|
||||
{
|
||||
.data = sSlidingPokeballBigPokeballPalette,
|
||||
.tag = 0x1009,
|
||||
};
|
||||
|
||||
const u16 sVsBarLoreleiPalette[] = INCBIN_U16("graphics/battle_transitions/lorelei_bg.gbapal");
|
||||
const u16 sVsBarBrunoPalette[] = INCBIN_U16("graphics/battle_transitions/bruno_bg.gbapal");
|
||||
const u16 sVsBarAgathaPalette[] = INCBIN_U16("graphics/battle_transitions/agatha_bg.gbapal");
|
||||
const u16 sVsBarLancePalette[] = INCBIN_U16("graphics/battle_transitions/lance_bg.gbapal");
|
||||
const u16 sVsBarBluePalette[] = INCBIN_U16("graphics/battle_transitions/blue_bg.gbapal");
|
||||
const u16 sVsBarMalePlayerPalette[] = INCBIN_U16("graphics/battle_transitions/red_bg.gbapal");
|
||||
const u16 sVsBarFemalePlayerPalette[] = INCBIN_U16("graphics/battle_transitions/green_bg.gbapal");
|
||||
|
||||
const u16 *const sVsBarOpponentPalettes[MUGSHOTS_COUNT] =
|
||||
{
|
||||
sVsBarLoreleiPalette,
|
||||
sVsBarBrunoPalette,
|
||||
sVsBarAgathaPalette,
|
||||
sVsBarLancePalette,
|
||||
sVsBarBluePalette,
|
||||
};
|
||||
|
||||
const u16 *const sVsBarPlayerPalettes[] =
|
||||
{
|
||||
sVsBarMalePlayerPalette,
|
||||
sVsBarFemalePlayerPalette,
|
||||
};
|
||||
|
||||
const u16 sUnusedTrainerPalette[] = INCBIN_U16("graphics/battle_transitions/unused_trainer.gbapal");
|
||||
|
||||
const struct SpritePalette sSpritePalette_UnusedTrainer =
|
||||
{
|
||||
.data = sUnusedTrainerPalette,
|
||||
.tag = 0x100A,
|
||||
};
|
||||
|
||||
const u16 sBigPokeballTilemap[] = INCBIN_U16("graphics/battle_transitions/big_pokeball_tilemap.bin");
|
||||
const u16 sVsBarTilemap[] = INCBIN_U16("graphics/battle_transitions/vsbar_tilemap.bin");
|
||||
+1
-4
@@ -1055,10 +1055,7 @@ gUnknown_2039A24: @ 2039A24
|
||||
.space 0x4
|
||||
|
||||
.include "src/coins.o"
|
||||
|
||||
.align 2
|
||||
sTransitionStructPtr: @ 2039A2C
|
||||
.space 0x4
|
||||
.include "src/battle_transition.o"
|
||||
|
||||
gUnknown_2039A30: @ 2039A30
|
||||
.space 0x4
|
||||
|
||||
Reference in New Issue
Block a user