Ape trade graphics from Emerald

This commit is contained in:
PikalaxALT
2019-10-30 15:09:13 -04:00
parent 6c209e32a8
commit 84e1b97eac
38 changed files with 213 additions and 146 deletions
+6 -78
View File
@@ -8,78 +8,6 @@
.section .rodata
.align 2, 0
gUnknown_826205C::
.incbin "data/trade/unk_826207C.gbapal"
gUnknown_826207C::
.incbin "data/trade/unk_826207C.4bpp"
.incbin "baserom.gba", 0x26267C, 0x1A00
gUnknown_826407C:: @ 826407C
.incbin "data/trade/unk_826407C.bin"
.incbin "baserom.gba", 0x26487C, 0x120
gUnknown_826499C::
.incbin "data/trade/unk_8264E1C.gbapal"
.incbin "baserom.gba", 0x2649BC, 0x40
gUnknown_82649FC::
.incbin "data/trade/unk_8264A1C.gbapal"
gUnknown_8264A1C::
.incbin "data/trade/unk_8264A1C.4bpp"
gUnknown_8264C1C::
.incbin "data/trade/unk_8264C1C.4bpp"
gUnknown_8264E1C::
.incbin "data/trade/unk_8264E1C.4bpp"
.incbin "baserom.gba", 0x264F1C, 0x100
gUnknown_826501C::
.incbin "data/trade/unk_826501C.4bpp"
gUnknown_826601C:: @ 826601C
.incbin "data/trade/unk_826601C.bin"
gUnknown_826701C:: @ 826701C
.incbin "data/trade/unk_826701C.8bpp"
gUnknown_826985C:: @ 826985C
.incbin "data/trade/unk_826985C.bin"
gUnknown_826995C:: @ 826995C
.incbin "data/trade/unk_826995C.bin"
gUnknown_8269A5C:: @ 8269A5C
.incbin "data/trade/unk_8269A5C.bin"
gUnknown_826AA5C:: @ 826AA5C
.incbin "data/trade/unk_826AA5C.bin"
.align 2
gUnknown_3379A0Bin:: @ 826BA5C
.incbin "graphics/trade/unknown_3379A0.bin.lz"
gUnknown_826BB5C:: @ 826BB5C
.incbin "data/trade/unk_826BB5C.gbapal"
gUnknown_826BD5C:: @ 826BD5C
.incbin "data/trade/unk_826BD5C.gbapal"
gUnknown_826BF5C:: @ 826BF5C
.incbin "data/trade/unk_826BF5C.gbapal"
gWirelessSignal4bpp:: @ 826BF7C
.incbin "graphics/trade/wireless_signal.4bpp.lz"
gUnknown_826C60C:: @ 826C60C
.incbin "data/trade/unk_826C60C.bin.lz"
gOamData_826CD00::
.4byte 0x40000100, 0x00000000
@@ -141,10 +69,10 @@ gSpriteAffineAnimTable_826CDC8::
.4byte gAffineAnimCmd_826CDA8
gUnknown_826CDD4:: @ 826CDD4
obj_tiles gUnknown_826207C, 0x0600, 5557
obj_tiles gTradeBallTiles, 0x0600, 5557
gUnknown_826CDDC:: @ 826CDDC
obj_pal gUnknown_826205C, 5558
obj_pal gTradeBallPalette, 5558
sTradePokeballSpriteTemplate:: @ 826CDE4
spr_template 5557, 5558, gOamData_826CD00, gSpriteAnimTable_826CD80, NULL, gSpriteAffineAnimTable_826CDC8, SpriteCB_TradePokeball_Default
@@ -168,7 +96,7 @@ gSpriteAffineAnimTable_826CE28::
.4byte gAffineAnimCmd_826CE10
gUnknown_826CE2C:: @ 826CE2C
obj_tiles gUnknown_8264A1C, 0x0200, 5550
obj_tiles gTradeGlow1Tiles, 0x0200, 5550
gUnknown_826CE34:: @ 826CE34
obj_pal gUnknown_82649FC, 5551
@@ -195,7 +123,7 @@ gSpriteAnimTable_826CE74::
.4byte gAnimCmd_826CE6C
gUnknown_826CE7C:: @ 826CE7C
obj_tiles gUnknown_8264C1C, 0x0300, 5552
obj_tiles gTradeGlow2Tiles, 0x0300, 5552
sGlowBallSpriteTemplate:: @ 826CE84
spr_template 5552, 5551, gOamData_826CE5C, gSpriteAnimTable_826CE74, NULL, gDummySpriteAffineAnimTable, SpriteCB_TradeGlowCore
@@ -211,7 +139,7 @@ gSpriteAnimTable_826CEAC::
.4byte gAnimCmd_826CEA4
gUnknown_826CEB0:: @ 826CEB0
obj_tiles gUnknown_8264E1C, 0x0100, 5554
obj_tiles gTradeCableEndTiles, 0x0100, 5554
sGameLinkCableEndSpriteTemplate:: @ 826CEB8
spr_template 5554, 5555, gOamData_826CE9C, gSpriteAnimTable_826CEAC, NULL, gDummySpriteAffineAnimTable, SpriteCB_GameLinkCableEnd_Outbound
@@ -248,7 +176,7 @@ gSpriteAnimTable_826CF24::
.4byte gAnimCmd_826CEFC
gUnknown_826CF28:: @ 826CF28
obj_tiles gUnknown_826501C, 0x1000, 5556
obj_tiles gTradeGBAScreenTiles, 0x1000, 5556
gUnknown_826CF30:: @ 826CF30
spr_template 5556, 5555, gOamData_826CED0, gSpriteAnimTable_826CF20, NULL, gDummySpriteAffineAnimTable, sub_804FE00
Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 477 B

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

+51
View File
@@ -0,0 +1,51 @@
JASC-PAL
0100
48
0 0 0
57 57 172
98 98 180
123 106 222
82 90 213
82 148 205
131 115 230
148 156 189
205 106 0
246 148 0
49 49 90
255 213 115
205 74 90
255 98 32
205 205 222
255 255 213
0 0 0
0 8 16
0 16 32
0 24 49
0 41 65
0 49 82
0 57 98
0 65 115
0 82 131
0 90 148
0 98 164
0 106 180
0 123 197
0 131 213
0 139 230
0 156 255
0 0 0
0 8 16
0 16 32
0 24 49
0 41 65
0 49 82
0 57 98
0 65 115
0 82 131
0 90 148
0 98 164
0 106 180
0 123 197
0 131 213
0 139 230
0 156 255
Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 156 123
164 123 197
41 255 115
0 139 255
255 255 74
255 255 255
106 106 106
255 156 123
255 156 123
255 156 123
255 156 123
255 156 123
255 156 123
255 156 123
255 156 123
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 255
222 230 238
189 205 230
156 180 222
0 16 172
32 32 106
16 16 90
0 0 74
255 255 189
230 230 164
205 205 148
189 180 115
139 139 90
74 74 57
32 32 32
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 57 8
255 90 8
255 131 8
255 172 8
255 213 8
255 255 8
255 255 131
255 255 255
255 255 0
65 0 0
115 16 0
172 32 0
230 57 8
0 0 0
0 0 0
+15
View File
@@ -0,0 +1,15 @@
JASC-PAL
0100
12
148 197 255
148 197 255
148 197 255
255 255 255
255 255 255
255 255 255
148 197 255
148 197 255
148 197 255
255 255 255
255 255 255
255 255 255
+7 -7
View File
@@ -152,10 +152,10 @@ static const size_t gUnknown_8260814[] = {
0x528 // unk
};
static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("data/trade/unk_8260834.bin");
static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("data/trade/unk_8260A32.bin");
static const u16 gUnknown_8260C30[] = INCBIN_U16("data/trade/unk_8260C30.bin");
static const u16 gUnknown_8261430[] = INCBIN_U16("data/trade/unk_8261430.bin");
static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin");
static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin");
static const u8 gTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin");
static const u8 gTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin");
static const struct OamData gOamData_8261C30 = {
.shape = SPRITE_SHAPE(32x16),
@@ -253,7 +253,7 @@ static const struct SpriteTemplate gUnknown_8261CC8 = {
.callback = SpriteCallbackDummy
};
static const u16 gUnknown_8261CE0[] = INCBIN_U16("data/trade/unk_8261CE0.gbapal");
static const u16 gUnknown_8261CE0[] = INCBIN_U16("graphics/trade/text.gbapal");
static const struct SpritePalette gUnknown_8261D00 = {
gUnknown_8261CE0,
@@ -2866,10 +2866,10 @@ static void sub_804D694(u8 state)
LoadPalette(gUnknown_8E9CEDC, 0x00, 0x60);
LoadBgTiles(1, gUnknown_8E9CF5C, 0x1280, 0);
CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_8E9E9FC, 0, 0, 32, 20, 0);
LoadBgTilemap(2, gUnknown_8260C30, 0x800, 0);
LoadBgTilemap(2, gTradeStripesBG2Tilemap, 0x800, 0);
break;
case 1:
LoadBgTilemap(3, gUnknown_8261430, 0x800, 0);
LoadBgTilemap(3, gTradeStripesBG3Tilemap, 0x800, 0);
sub_804F284(0);
sub_804F284(1);
CopyBgTilemapBufferToVram(1);
+77 -61
View File
@@ -78,20 +78,20 @@ struct TradeAnimationResources {
/*0x94*/ u16 state;
/*0x96*/ u8 filler_96[0xD2 - 0x96];
/*0xD2*/ u8 pokeballSpriteId;
/*0xD3*/ u8 unk_D3;
/*0xD4*/ u16 unk_D4;
/*0xD6*/ u16 unk_D6;
/*0xD3*/ u8 pokeballSpriteId2;
/*0xD4*/ u16 bg2texX;
/*0xD6*/ u16 bg2texY;
/*0xD8*/ u16 unk_D8;
/*0xDA*/ u16 unk_DA;
/*0xDC*/ u16 unk_DC;
/*0xDE*/ u16 unk_DE;
/*0xDC*/ u16 bg2srcX;
/*0xDE*/ u16 bg2srcY;
/*0xE0*/ s16 bg1vofs;
/*0xE2*/ s16 bg1hofs;
/*0xE4*/ s16 bg2vofs;
/*0xE6*/ s16 bg2hofs;
/*0xE8*/ u16 sXY;
/*0xEA*/ u16 unk_EA;
/*0xEC*/ u16 unk_EC;
/*0xEC*/ u16 bg2alpha;
/*0xEE*/ bool8 isLinkTrade;
/*0xF0*/ u16 tradeSpecies[2];
/*0xF4*/ u16 cachedMapMusic;
@@ -137,6 +137,34 @@ void Task_AnimateWirelessSignal(u8 taskId);
void c3_0805465C(u8 taskId);
void sub_8054734(u8 taskId);
const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal");
const u8 gTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp");
const u8 gUnknown_826267C[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp");
const u16 gUnknown_826407C[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin");
const u16 gUnknown_083307C0[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin");
const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal");
const u16 gUnknown_826499C[] = INCBIN_U16("graphics/trade/gba.gbapal");
const u16 gUnref_08330900[] = INCBIN_U16("graphics/trade/shadow.gbapal");
const u16 gUnref_08330920[] = INCBIN_U16("graphics/trade/black.gbapal");
const u16 gUnknown_82649FC[] = INCBIN_U16("graphics/trade/misc.gbapal");
const u8 gTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp");
const u8 gTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp");
const u8 gTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp");
const u8 gTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp");
const u16 gUnknown_826601C[] = INCBIN_U16("graphics/trade/shadow_map.bin");
const u8 gUnknown_826701C[] = INCBIN_U8("graphics/trade/gba_affine.8bpp");
const u8 sFiller_08335760[64] = {};
const u8 gUnknown_826985C[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin");
const u8 gUnknown_826995C[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin");
const u16 gUnknown_8269A5C[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin");
const u16 gUnknown_826AA5C[] = INCBIN_U16("graphics/trade/gba_map_cable.bin");
const u32 gUnknown_3379A0Bin[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz");
const u16 gUnknown_826BB5C[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal");
const u16 gUnknown_826BD5C[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal");
const u16 gUnknown_826BF5C[] = INCBIN_U16("graphics/trade/black.gbapal");
const u32 gWirelessSignal4bpp[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
const u32 gUnknown_826C60C[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
extern const u8 gUnknown_8261EC7[];
extern const u8 *const sTradeErrorOrStatusMessagePtrs[];
extern const u16 gTradeGlow2PaletteAnimTable[];
@@ -144,18 +172,6 @@ extern const struct SpriteSheet gUnknown_826CDD4;
extern const struct SpritePalette gUnknown_826CDDC;
extern const struct BgTemplate gUnknown_826D1D4[4];
extern const struct WindowTemplate gUnknown_826D1BC[];
extern const u16 gUnknown_826AA5C[];
extern const u16 gUnknown_8269A5C[];
extern const u32 gUnknown_3379A0Bin[];
extern const u16 gUnknown_826407C[];
extern const u16 gUnknown_826BB5C[];
extern const u16 gUnknown_826BD5C[];
extern const u16 gUnknown_826BF5C[];
extern const u16 gUnknown_826701C[];
extern const u16 gUnknown_826985C[];
extern const u16 gUnknown_826995C[];
extern const u32 gWirelessSignal4bpp[];
extern const u32 gUnknown_826C60C[];
extern const struct SpriteSheet gUnknown_826CE2C;
extern const struct SpriteSheet gUnknown_826CE7C;
extern const struct SpriteSheet gUnknown_826CEB0;
@@ -240,7 +256,7 @@ void sub_804FE00(struct Sprite * sprite)
void SetTradeBGAffine(void)
{
struct BgAffineDstData affine;
DoBgAffineSet(&affine, sTradeData->unk_D4 * 0x100, sTradeData->unk_D6 * 0x100, sTradeData->unk_DC, sTradeData->unk_DE, sTradeData->sXY, sTradeData->sXY, sTradeData->unk_EC);
DoBgAffineSet(&affine, sTradeData->bg2texX * 0x100, sTradeData->bg2texY * 0x100, sTradeData->bg2srcX, sTradeData->bg2srcY, sTradeData->sXY, sTradeData->sXY, sTradeData->bg2alpha);
SetGpuReg(REG_OFFSET_BG2PA, affine.pa);
SetGpuReg(REG_OFFSET_BG2PB, affine.pb);
SetGpuReg(REG_OFFSET_BG2PC, affine.pc);
@@ -374,14 +390,14 @@ void CB2_InitTradeAnim_LinkTrade(void)
sTradeData->unk_8C = 0;
sTradeData->state = 0;
sTradeData->isLinkTrade = TRUE;
sTradeData->unk_D4 = 64;
sTradeData->unk_D6 = 64;
sTradeData->bg2texX = 64;
sTradeData->bg2texY = 64;
sTradeData->unk_D8 = 0;
sTradeData->unk_DA = 0;
sTradeData->unk_DC = 120;
sTradeData->unk_DE = 80;
sTradeData->bg2srcX = 120;
sTradeData->bg2srcY = 80;
sTradeData->sXY = 256;
sTradeData->unk_EC = 0;
sTradeData->bg2alpha = 0;
break;
case 1:
if (!gReceivedRemoteLinkPlayers)
@@ -550,14 +566,14 @@ void CB2_InitTradeAnim_InGameTrade(void)
sTradeData->isLinkTrade = FALSE;
sTradeData->unk_8C = 0;
sTradeData->state = 0;
sTradeData->unk_D4 = 64;
sTradeData->unk_D6 = 64;
sTradeData->bg2texX = 64;
sTradeData->bg2texY = 64;
sTradeData->unk_D8 = 0;
sTradeData->unk_DA = 0;
sTradeData->unk_DC = 120;
sTradeData->unk_DE = 80;
sTradeData->bg2srcX = 120;
sTradeData->bg2srcY = 80;
sTradeData->sXY = 256;
sTradeData->unk_EC = 0;
sTradeData->bg2alpha = 0;
sTradeData->timer = 0;
gMain.state = 5;
break;
@@ -747,11 +763,11 @@ void SetTradeSequenceBgGpuRegs(u8 state)
case 4:
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18) | BGCNT_AFF128x128);
sTradeData->unk_D4 = 0x40;
sTradeData->unk_D6 = 0x5C;
sTradeData->bg2texX = 0x40;
sTradeData->bg2texY = 0x5C;
sTradeData->sXY = 0x20;
sTradeData->unk_EA = 0x400;
sTradeData->unk_EC = 0;
sTradeData->bg2alpha = 0;
DmaCopyLarge16(3, gUnknown_826701C, (void *)BG_CHAR_ADDR(1), 0x2840, 0x1000);
if (sTradeData->isCableTrade)
{
@@ -769,13 +785,13 @@ void SetTradeSequenceBgGpuRegs(u8 state)
case 6:
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18) | BGCNT_TXT256x256);
sTradeData->unk_D4 = 0x40;
sTradeData->unk_D6 = 0x5C;
sTradeData->bg2texX = 0x40;
sTradeData->bg2texY = 0x5C;
sTradeData->sXY = 0x100;
sTradeData->unk_EA = 0x80;
sTradeData->unk_DC = 0x78;
sTradeData->unk_DE = 0x50;
sTradeData->unk_EC = 0;
sTradeData->bg2srcX = 0x78;
sTradeData->bg2srcY = 0x50;
sTradeData->bg2alpha = 0;
DmaCopyLarge16(3, gUnknown_826701C, BG_CHAR_ADDR(1), 0x2840, 0x1000);
if (sTradeData->isCableTrade)
{
@@ -891,8 +907,8 @@ bool8 sub_8050F3C(void)
case 12:
if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy)
{
sTradeData->unk_D3 = CreateSprite(&sTradePokeballSpriteTemplate, 120, 32, 0);
gSprites[sTradeData->unk_D3].callback = SpriteCB_TradePokeball_Outbound;
sTradeData->pokeballSpriteId2 = CreateSprite(&sTradePokeballSpriteTemplate, 120, 32, 0);
gSprites[sTradeData->pokeballSpriteId2].callback = SpriteCB_TradePokeball_Outbound;
DestroySprite(&gSprites[sTradeData->pokeballSpriteId]);
sTradeData->state++;
}
@@ -1208,21 +1224,21 @@ bool8 sub_8050F3C(void)
}
break;
case 63:
sTradeData->unk_D3 = CreateSprite(&sTradePokeballSpriteTemplate, 120, -8, 0);
gSprites[sTradeData->unk_D3].data[3] = 74;
gSprites[sTradeData->unk_D3].callback = SpriteCB_TradePokeball_Inbound;
StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1);
StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2);
BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA);
sTradeData->pokeballSpriteId2 = CreateSprite(&sTradePokeballSpriteTemplate, 120, -8, 0);
gSprites[sTradeData->pokeballSpriteId2].data[3] = 74;
gSprites[sTradeData->pokeballSpriteId2].callback = SpriteCB_TradePokeball_Inbound;
StartSpriteAnim(&gSprites[sTradeData->pokeballSpriteId2], 1);
StartSpriteAffineAnim(&gSprites[sTradeData->pokeballSpriteId2], 2);
BlendPalettes(1 << (16 + gSprites[sTradeData->pokeballSpriteId2].oam.paletteNum), 16, RGB_WHITEALPHA);
sTradeData->state++;
sTradeData->timer = 0;
break;
case 64:
BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->pokeballSpriteId2].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
sTradeData->state++;
break;
case 65:
if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy)
if (gSprites[sTradeData->pokeballSpriteId2].callback == SpriteCallbackDummy)
{
HandleLoadSpecialPokePic(&gMonFrontPicTable[sTradeData->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], sTradeData->tradeSpecies[1], sTradeData->monPersonalities[1]);
sTradeData->state++;
@@ -1235,8 +1251,8 @@ bool8 sub_8050F3C(void)
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.y = 0;
StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[1]], 0);
CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[1], gSprites[sTradeData->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF);
FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]);
DestroySprite(&gSprites[sTradeData->unk_D3]);
FreeSpriteOamMatrix(&gSprites[sTradeData->pokeballSpriteId2]);
DestroySprite(&gSprites[sTradeData->pokeballSpriteId2]);
sTradeData->state++;
break;
case 67:
@@ -1388,8 +1404,8 @@ bool8 sub_805232C(void)
case 12:
if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy)
{
sTradeData->unk_D3 = CreateSprite(&sTradePokeballSpriteTemplate, 120, 32, 0);
gSprites[sTradeData->unk_D3].callback = SpriteCB_TradePokeball_Outbound;
sTradeData->pokeballSpriteId2 = CreateSprite(&sTradePokeballSpriteTemplate, 120, 32, 0);
gSprites[sTradeData->pokeballSpriteId2].callback = SpriteCB_TradePokeball_Outbound;
DestroySprite(&gSprites[sTradeData->pokeballSpriteId]);
sTradeData->state++;
}
@@ -1729,21 +1745,21 @@ bool8 sub_805232C(void)
}
break;
case 63:
sTradeData->unk_D3 = CreateSprite(&sTradePokeballSpriteTemplate, 120, -8, 0);
gSprites[sTradeData->unk_D3].data[3] = 74;
gSprites[sTradeData->unk_D3].callback = SpriteCB_TradePokeball_Inbound;
StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1);
StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2);
BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA);
sTradeData->pokeballSpriteId2 = CreateSprite(&sTradePokeballSpriteTemplate, 120, -8, 0);
gSprites[sTradeData->pokeballSpriteId2].data[3] = 74;
gSprites[sTradeData->pokeballSpriteId2].callback = SpriteCB_TradePokeball_Inbound;
StartSpriteAnim(&gSprites[sTradeData->pokeballSpriteId2], 1);
StartSpriteAffineAnim(&gSprites[sTradeData->pokeballSpriteId2], 2);
BlendPalettes(1 << (16 + gSprites[sTradeData->pokeballSpriteId2].oam.paletteNum), 16, RGB_WHITEALPHA);
sTradeData->state++;
sTradeData->timer = 0;
break;
case 64:
BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->pokeballSpriteId2].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
sTradeData->state++;
break;
case 65:
if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy)
if (gSprites[sTradeData->pokeballSpriteId2].callback == SpriteCallbackDummy)
{
HandleLoadSpecialPokePic(&gMonFrontPicTable[sTradeData->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], sTradeData->tradeSpecies[1], sTradeData->monPersonalities[1]);
sTradeData->state++;
@@ -1756,8 +1772,8 @@ bool8 sub_805232C(void)
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.y = 0;
StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[1]], 0);
CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[1], gSprites[sTradeData->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF);
FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]);
DestroySprite(&gSprites[sTradeData->unk_D3]);
FreeSpriteOamMatrix(&gSprites[sTradeData->pokeballSpriteId2]);
DestroySprite(&gSprites[sTradeData->pokeballSpriteId2]);
sTradeData->state++;
break;
case 67: