summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-10-29 12:58:40 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-10-29 12:58:40 -0400
commitce5c3fdd776a47d5d6c3790249c53afaff844553 (patch)
tree4a0b936cb0b017b4f7fac5c304c73f34c3dde0cc
parenta1ec6ccff14cb0e95359b6595f35620ab606bc03 (diff)
Trade through sub_804FFE4
-rw-r--r--asm/trade.s389
-rw-r--r--data/trade.s2
-rw-r--r--include/decompress.h1
-rw-r--r--include/util.h1
-rw-r--r--src/trade.c174
5 files changed, 170 insertions, 397 deletions
diff --git a/asm/trade.s b/asm/trade.s
index 541572649..bcb88fdb7 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -5,395 +5,6 @@
.text
- thumb_func_start sub_804FE24
-sub_804FE24: @ 804FE24
- push {r4,r5,lr}
- sub sp, 0x20
- ldr r0, _0804FEB0 @ =gUnknown_2031DAC
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xD4
- ldrh r1, [r0]
- lsls r1, 8
- adds r0, 0x2
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, 0x6
- movs r4, 0
- ldrsh r3, [r0, r4]
- adds r0, 0x2
- movs r5, 0
- ldrsh r0, [r0, r5]
- str r0, [sp]
- mov r4, r12
- adds r4, 0xE8
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x8]
- mov r0, r12
- adds r0, 0xEC
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- bl DoBgAffineSet
- add r0, sp, 0x10
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x2]
- movs r0, 0x22
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x4]
- movs r0, 0x24
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x6]
- movs r0, 0x26
- bl SetGpuReg
- ldr r1, [sp, 0x18]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x28
- bl SetGpuReg
- ldr r1, [sp, 0x1C]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x2C
- bl SetGpuReg
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FEB0: .4byte gUnknown_2031DAC
- thumb_func_end sub_804FE24
-
- thumb_func_start sub_804FEB4
-sub_804FEB4: @ 804FEB4
- push {r4,lr}
- ldr r4, _0804FEFC @ =gUnknown_2031DAC
- ldr r0, [r4]
- adds r0, 0xE0
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xE2
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- movs r0, 0
- bl GetGpuReg
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- cmp r1, 0
- bne _0804FF00
- ldr r0, [r4]
- adds r0, 0xE4
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xE6
- ldrh r1, [r0]
- movs r0, 0x18
- bl SetGpuReg
- b _0804FF04
- .align 2, 0
-_0804FEFC: .4byte gUnknown_2031DAC
-_0804FF00:
- bl sub_804FE24
-_0804FF04:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_804FEB4
-
- thumb_func_start sub_804FF0C
-sub_804FF0C: @ 804FF0C
- push {lr}
- bl sub_804FEB4
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_804FF0C
-
- thumb_func_start sub_804FF24
-sub_804FF24: @ 804FF24
- push {r4,lr}
- ldr r3, _0804FF48 @ =gUnknown_2031DAC
- ldr r1, [r3]
- movs r0, 0x8A
- adds r0, r1
- mov r12, r0
- movs r2, 0
- movs r0, 0
- mov r4, r12
- strh r0, [r4]
- adds r1, 0x88
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, 0x89
- strb r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FF48: .4byte gUnknown_2031DAC
- thumb_func_end sub_804FF24
-
- thumb_func_start sub_804FF4C
-sub_804FF4C: @ 804FF4C
- push {r4,r5,lr}
- ldr r0, _0804FF70 @ =gUnknown_2031DAC
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x88
- adds r3, r2, 0
- adds r3, 0x89
- ldrb r1, [r1]
- adds r5, r0, 0
- ldrb r3, [r3]
- cmp r1, r3
- bne _0804FF74
- adds r1, r2, 0
- adds r1, 0x8A
- ldrh r0, [r1]
- adds r0, 0x1
- b _0804FF7A
- .align 2, 0
-_0804FF70: .4byte gUnknown_2031DAC
-_0804FF74:
- adds r1, r2, 0
- adds r1, 0x8A
- movs r0, 0
-_0804FF7A:
- strh r0, [r1]
- adds r4, r5, 0
- ldr r0, [r4]
- adds r0, 0x8A
- ldrh r1, [r0]
- movs r0, 0x96
- lsls r0, 1
- cmp r1, r0
- bls _0804FFAC
- bl CloseLink
- ldr r0, _0804FFC0 @ =CB2_LinkError
- bl SetMainCallback2
- ldr r1, [r4]
- adds r3, r1, 0
- adds r3, 0x8A
- movs r2, 0
- movs r0, 0
- strh r0, [r3]
- adds r1, 0x89
- strb r2, [r1]
- ldr r0, [r4]
- adds r0, 0x88
- strb r2, [r0]
-_0804FFAC:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x88
- ldrb r1, [r1]
- adds r0, 0x89
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FFC0: .4byte CB2_LinkError
- thumb_func_end sub_804FF4C
-
- thumb_func_start sub_804FFC4
-sub_804FFC4: @ 804FFC4
- push {lr}
- ldr r0, _0804FFD4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804FFD8
- movs r0, 0
- b _0804FFE0
- .align 2, 0
-_0804FFD4: .4byte gReceivedRemoteLinkPlayers
-_0804FFD8:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
-_0804FFE0:
- pop {r1}
- bx r1
- thumb_func_end sub_804FFC4
-
- thumb_func_start sub_804FFE4
-sub_804FFE4: @ 804FFE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- mov r8, r4
- cmp r6, 0
- bne _0805000A
- ldr r0, _08050034 @ =gUnknown_2031DA4
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08050038 @ =gPlayerParty
- adds r1, r0
- mov r8, r1
- movs r4, 0x1
-_0805000A:
- cmp r6, 0x1
- bne _08050028
- ldr r0, _08050034 @ =gUnknown_2031DA4
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, _0805003C @ =gEnemyParty
- adds r1, r0
- mov r8, r1
- movs r4, 0x3
-_08050028:
- cmp r5, 0
- beq _08050040
- cmp r5, 0x1
- beq _080500C8
- b _0805011E
- .align 2, 0
-_08050034: .4byte gUnknown_2031DA4
-_08050038: .4byte gPlayerParty
-_0805003C: .4byte gEnemyParty
-_08050040:
- mov r0, r8
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- movs r1, 0
- bl GetMonData
- adds r7, r0, 0
- cmp r6, 0
- bne _0805007C
- lsls r0, r5, 3
- ldr r1, _08050074 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08050078 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- adds r2, r5, 0
- adds r3, r7, 0
- bl HandleLoadSpecialPokePic
- movs r4, 0
- b _0805009A
- .align 2, 0
-_08050074: .4byte gMonFrontPicTable
-_08050078: .4byte gMonSpritesGfxPtr
-_0805007C:
- lsls r0, r5, 3
- ldr r1, _080500BC @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _080500C0 @ =gMonSpritesGfxPtr
- ldr r2, [r1]
- lsls r4, r6, 1
- adds r1, r4, 0x1
- lsls r1, 2
- adds r2, 0x4
- adds r2, r1
- ldr r1, [r2]
- adds r2, r5, 0
- adds r3, r7, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_0805009A:
- mov r0, r8
- bl GetMonSpritePalStruct
- bl LoadCompressedSpritePalette
- ldr r0, _080500C4 @ =gUnknown_2031DAC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF0
- adds r0, r4
- strh r5, [r0]
- lsls r0, r6, 2
- adds r1, 0x68
- adds r1, r0
- str r7, [r1]
- b _0805011E
- .align 2, 0
-_080500BC: .4byte gMonFrontPicTable
-_080500C0: .4byte gMonSpritesGfxPtr
-_080500C4: .4byte gUnknown_2031DAC
-_080500C8:
- mov r0, r8
- bl GetMonSpritePalStruct
- ldrh r0, [r0, 0x4]
- adds r1, r4, 0
- bl SetMultiuseSpriteTemplateToPokemon
- ldr r0, _08050128 @ =gMultiuseSpriteTemplate
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0x6
- bl CreateSprite
- ldr r4, _0805012C @ =gUnknown_2031DAC
- ldr r1, [r4]
- adds r1, 0x8E
- adds r1, r6
- strb r0, [r1]
- ldr r3, _08050130 @ =gSprites
- ldr r0, [r4]
- adds r0, 0x8E
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x8E
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, _08050134 @ =SpriteCallbackDummy
- str r1, [r0]
-_0805011E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050128: .4byte gMultiuseSpriteTemplate
-_0805012C: .4byte gUnknown_2031DAC
-_08050130: .4byte gSprites
-_08050134: .4byte SpriteCallbackDummy
- thumb_func_end sub_804FFE4
-
thumb_func_start sub_8050138
sub_8050138: @ 8050138
push {r4-r6,lr}
diff --git a/data/trade.s b/data/trade.s
index 763b94e96..d778318a1 100644
--- a/data/trade.s
+++ b/data/trade.s
@@ -809,7 +809,7 @@ gUnknown_826CF30:: @ 826CF30
gUnknown_826CF48:: @ 826CF48
spr_template 5556, 5555, gOamData_826CED0, gSpriteAnimTable_826CF24, NULL, gDummySpriteAffineAnimTable, sub_804FE00
-gUnknown_826CF60:: @ 826CF60
+gTradeGlow2PaletteAnimTable:: @ 826CF60
.2byte RGB(18, 24, 31)
.2byte RGB(18, 24, 31)
.2byte RGB(18, 24, 31)
diff --git a/include/decompress.h b/include/decompress.h
index 03080fe48..37600e8d3 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -23,7 +23,6 @@ void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buf
void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
-void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
void HandleLoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
diff --git a/include/util.h b/include/util.h
index 3884ab21c..db86c184c 100644
--- a/include/util.h
+++ b/include/util.h
@@ -16,5 +16,6 @@ u16 CalcCRC16(const u8 *data, u32 length);
u16 CalcCRC16WithTable(const u8 *data, u32 length);
u32 CalcByteArraySum(const u8* data, u32 length);
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
+void DoBgAffineSet(struct BgAffineDstData * dest, u32 texX, u32 texY, s16 srcX, s16 srcY, s16 sx, s16 sy, u16 alpha);
#endif // GUARD_UTIL_H
diff --git a/src/trade.c b/src/trade.c
index 48f559861..716b74eb5 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -22,6 +22,7 @@
#include "overworld.h"
#include "battle_anim.h"
#include "party_menu.h"
+#include "util.h"
#include "daycare.h"
#include "event_data.h"
#include "battle_interface.h"
@@ -74,6 +75,52 @@ struct TradeResources
/*0x08F0*/ u16 tilemapBuffer[BG_SCREEN_SIZE / 2];
};
+struct TradeResources2 {
+ /*0x00*/ struct Pokemon mon;
+ /*0x64*/ u32 timer;
+ /*0x68*/ u32 unk_68[2];
+ /*0x70*/ u8 filler_70[2];
+ /*0x72*/ u8 unk_72;
+ /*0x73*/ u8 unk_73;
+ /*0x74*/ u16 linkData[10];
+ /*0x88*/ u8 unk_88;
+ /*0x89*/ u8 unk_89;
+ /*0x8A*/ u16 unk_8A;
+ /*0x8C*/ u16 unk_8C;
+ /*0x8E*/ u8 pokePicSpriteIdxs[2];
+ /*0x90*/ u8 unk_90;
+ /*0x91*/ u8 unk_91;
+ /*0x92*/ u8 unk_92;
+ /*0x93*/ u8 unk_93;
+ /*0x94*/ u16 state;
+ /*0x96*/ u8 filler_96[0xD2 - 0x96];
+ /*0xD2*/ u8 unk_D2;
+ /*0xD3*/ u8 unk_D3;
+ /*0xD4*/ u16 unk_D4;
+ /*0xD6*/ u16 unk_D6;
+ /*0xD8*/ u16 unk_D8;
+ /*0xDA*/ u16 unk_DA;
+ /*0xDC*/ u16 unk_DC;
+ /*0xDE*/ u16 unk_DE;
+ /*0xE0*/ s16 bg1vofs;
+ /*0xE2*/ s16 bg1hofs;
+ /*0xE4*/ s16 bg2vofs;
+ /*0xE6*/ s16 bg2hofs;
+ /*0xE8*/ u16 unk_E8;
+ /*0xEA*/ u16 unk_EA;
+ /*0xEC*/ u16 unk_EC;
+ /*0xEE*/ bool8 isLinkTrade;
+ /*0xF0*/ u16 tradeSpecies[2];
+ /*0xF4*/ u16 cachedMapMusic;
+ /*0xF6*/ u8 unk_F6[3];
+ /*0xF9*/ u8 filler_F9;
+ /*0xFA*/ u8 unk_FA;
+ /*0xFB*/ u8 unk_FB;
+ /*0xFC*/ u8 unk_FC;
+ /*0xFD*/ u8 unk_FD;
+ /*0xFE*/ u8 unk_FE;
+};
+
IWRAM_DATA vu16 gUnknown_3000E78;
EWRAM_DATA u8 *gUnknown_2031C90 = NULL;
@@ -81,7 +128,7 @@ EWRAM_DATA u8 *gUnknown_2031C94[14] = {};
EWRAM_DATA u8 gUnknown_2031CCC[216] = {};
EWRAM_DATA u8 gUnknown_2031DA4[2] = {0};
EWRAM_DATA struct TradeResources * gUnknown_2031DA8 = NULL;
-EWRAM_DATA void * gUnknown_2031DAC = NULL;
+EWRAM_DATA struct TradeResources2 * gUnknown_2031DAC = NULL;
void sub_804C728(void);
void sub_804D4F8(void);
@@ -137,7 +184,7 @@ extern const u8 *const gUnknown_8261EF4[];
extern const struct SpritePalette gUnknown_8261D00;
extern const struct SpritePalette gUnknown_8261C60;
extern const struct SpriteSheet gUnknown_8261C58;
-extern const u16 gUnknown_826CF60[];
+extern const u16 gTradeGlow2PaletteAnimTable[];
void sub_804C600(void)
{
@@ -3959,7 +4006,7 @@ int sub_804FCE0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a
return 0;
}
-// Sprite callback for link cable transfer glow
+// Sprite callback for link cable trade glow
void sub_804FD24(struct Sprite * sprite)
{
sprite->data[0]++;
@@ -3970,7 +4017,7 @@ void sub_804FD24(struct Sprite * sprite)
}
}
-// Sprite callback for wireless transfer glow
+// Sprite callback for wireless trade glow
void sub_804FD48(struct Sprite * sprite)
{
if (!sprite->invisible)
@@ -3984,7 +4031,7 @@ void sub_804FD48(struct Sprite * sprite)
}
}
-// Palette flash for transfer glow core
+// Palette flash for trade glow core
void sub_804FD78(struct Sprite * sprite)
{
if (sprite->data[1] == 0)
@@ -3992,7 +4039,7 @@ void sub_804FD78(struct Sprite * sprite)
sprite->data[0]++;
if (sprite->data[0] == 12)
sprite->data[0] = 0;
- LoadPalette(&gUnknown_826CF60[sprite->data[0]], 16 * (sprite->oam.paletteNum + 16) + 4, 2);
+ LoadPalette(&gTradeGlow2PaletteAnimTable[sprite->data[0]], 16 * (sprite->oam.paletteNum + 16) + 4, 2);
}
}
@@ -4021,3 +4068,118 @@ void sub_804FE00(struct Sprite * sprite)
sprite->data[0] = 0;
}
}
+
+void sub_804FE24(void)
+{
+ struct BgAffineDstData affine;
+ DoBgAffineSet(&affine, gUnknown_2031DAC->unk_D4 * 0x100, gUnknown_2031DAC->unk_D6 * 0x100, gUnknown_2031DAC->unk_DC, gUnknown_2031DAC->unk_DE, gUnknown_2031DAC->unk_E8, gUnknown_2031DAC->unk_E8, gUnknown_2031DAC->unk_EC);
+ SetGpuReg(REG_OFFSET_BG2PA, affine.pa);
+ SetGpuReg(REG_OFFSET_BG2PB, affine.pb);
+ SetGpuReg(REG_OFFSET_BG2PC, affine.pc);
+ SetGpuReg(REG_OFFSET_BG2PD, affine.pd);
+ SetGpuReg(REG_OFFSET_BG2X, affine.dx);
+ SetGpuReg(REG_OFFSET_BG2Y, affine.dy);
+}
+
+void sub_804FEB4(void)
+{
+ u16 dispcnt;
+
+ SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_2031DAC->bg1vofs);
+ SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_2031DAC->bg1hofs);
+
+ dispcnt = GetGpuReg(REG_OFFSET_DISPCNT);
+ if ((dispcnt & 7) == DISPCNT_MODE_0)
+ {
+ SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_2031DAC->bg2vofs);
+ SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_2031DAC->bg2hofs);
+ }
+ else
+ {
+ sub_804FE24();
+ }
+}
+
+void sub_804FF0C(void)
+{
+ sub_804FEB4();
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_804FF24(void)
+{
+ gUnknown_2031DAC->unk_8A = 0;
+ gUnknown_2031DAC->unk_88 = 0;
+ gUnknown_2031DAC->unk_89 = 0;
+}
+
+void sub_804FF4C(void)
+{
+ if (gUnknown_2031DAC->unk_88 == gUnknown_2031DAC->unk_89)
+ gUnknown_2031DAC->unk_8A++;
+ else
+ gUnknown_2031DAC->unk_8A = 0;
+
+ if (gUnknown_2031DAC->unk_8A > 300)
+ {
+ CloseLink();
+ SetMainCallback2(CB2_LinkError);
+ gUnknown_2031DAC->unk_8A = 0;
+ gUnknown_2031DAC->unk_89 = 0;
+ gUnknown_2031DAC->unk_88 = 0;
+ }
+
+ gUnknown_2031DAC->unk_89 = gUnknown_2031DAC->unk_88;
+}
+
+u32 sub_804FFC4(void)
+{
+ if (gReceivedRemoteLinkPlayers)
+ return GetMultiplayerId();
+ return 0;
+}
+
+void sub_804FFE4(u8 whichParty, u8 a1)
+{
+ int pos = 0;
+ struct Pokemon *mon = NULL;
+ u16 species;
+ u32 personality;
+
+ if (whichParty == 0)
+ {
+ mon = &gPlayerParty[gUnknown_2031DA4[0]];
+ pos = 1;
+ }
+
+ if (whichParty == 1)
+ {
+ mon = &gEnemyParty[gUnknown_2031DA4[1] % PARTY_SIZE];
+ pos = 3;
+ }
+
+ switch (a1)
+ {
+ case 0:
+ species = GetMonData(mon, MON_DATA_SPECIES2);
+ personality = GetMonData(mon, MON_DATA_PERSONALITY);
+
+ if (whichParty == 0)
+ HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality);
+ else
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality);
+
+ LoadCompressedSpritePalette(GetMonSpritePalStruct(mon));
+ gUnknown_2031DAC->tradeSpecies[whichParty] = species;
+ gUnknown_2031DAC->unk_68[whichParty] = personality;
+ break;
+ case 1:
+ SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos);
+ gUnknown_2031DAC->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6);
+ gSprites[gUnknown_2031DAC->pokePicSpriteIdxs[whichParty]].invisible = TRUE;
+ gSprites[gUnknown_2031DAC->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy;
+ break;
+ }
+}