trade through sub_804C728 (nonmatching
This commit is contained in:
+2
-2
@@ -2849,7 +2849,7 @@ _0809EFEC: .4byte gUnknown_83E252C
|
||||
sub_809EFF0: @ 809EFF0
|
||||
push {lr}
|
||||
sub sp, 0xC
|
||||
bl sub_809707C
|
||||
bl LoadMonIconPalettes
|
||||
ldr r0, _0809F038 @ =gUnknown_203998C
|
||||
ldr r3, [r0]
|
||||
ldr r1, _0809F03C @ =0x00001e34
|
||||
@@ -2866,7 +2866,7 @@ sub_809EFF0: @ 809EFF0
|
||||
str r2, [sp, 0x8]
|
||||
movs r2, 0x38
|
||||
movs r3, 0x28
|
||||
bl sub_8096E18
|
||||
bl CreateMonIcon
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _0809F048 @ =gSprites
|
||||
|
||||
+6
-6
@@ -364,7 +364,7 @@ _0811ED14:
|
||||
_0811ED30: .4byte gUnknown_203B0A0
|
||||
_0811ED34: .4byte gUnknown_203B09C
|
||||
_0811ED38:
|
||||
bl sub_8122550
|
||||
bl LoadHeldItemIcons
|
||||
b _0811EDFC
|
||||
_0811ED3E:
|
||||
bl sub_8122860
|
||||
@@ -373,7 +373,7 @@ _0811ED44:
|
||||
bl sub_8122980
|
||||
b _0811EDFC
|
||||
_0811ED4A:
|
||||
bl sub_809707C
|
||||
bl LoadMonIconPalettes
|
||||
b _0811EDFC
|
||||
_0811ED50:
|
||||
bl party_menu_add_per_mon_objects
|
||||
@@ -7216,7 +7216,7 @@ party_menu_link_mon_icon_anim: @ 812224C
|
||||
ldr r0, [sp, 0x20]
|
||||
str r0, [sp, 0x8]
|
||||
adds r0, r5, 0
|
||||
bl sub_8096E18
|
||||
bl CreateMonIcon
|
||||
strb r0, [r4, 0x9]
|
||||
ldr r2, _081222A8 @ =gSprites
|
||||
ldrb r0, [r4, 0x9]
|
||||
@@ -7598,8 +7598,8 @@ _08122544:
|
||||
_0812254C: .4byte gSprites
|
||||
thumb_func_end sub_81224D0
|
||||
|
||||
thumb_func_start sub_8122550
|
||||
sub_8122550: @ 8122550
|
||||
thumb_func_start LoadHeldItemIcons
|
||||
LoadHeldItemIcons: @ 8122550
|
||||
push {lr}
|
||||
ldr r0, _08122564 @ =gUnknown_845A42C
|
||||
bl LoadSpriteSheet
|
||||
@@ -7610,7 +7610,7 @@ sub_8122550: @ 8122550
|
||||
.align 2, 0
|
||||
_08122564: .4byte gUnknown_845A42C
|
||||
_08122568: .4byte gUnknown_845A434
|
||||
thumb_func_end sub_8122550
|
||||
thumb_func_end LoadHeldItemIcons
|
||||
|
||||
thumb_func_start sub_812256C
|
||||
sub_812256C: @ 812256C
|
||||
|
||||
+6
-6
@@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8096E18
|
||||
sub_8096E18: @ 8096E18
|
||||
thumb_func_start CreateMonIcon
|
||||
CreateMonIcon: @ 8096E18
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
@@ -89,7 +89,7 @@ _08096EBC: .4byte gUnknown_83D40E0
|
||||
_08096EC0: .4byte gUnknown_83D3E80
|
||||
_08096EC4: .4byte 0x0000dac0
|
||||
_08096EC8: .4byte gSprites
|
||||
thumb_func_end sub_8096E18
|
||||
thumb_func_end CreateMonIcon
|
||||
|
||||
thumb_func_start sub_8096ECC
|
||||
sub_8096ECC: @ 8096ECC
|
||||
@@ -330,8 +330,8 @@ sub_8097070: @ 8097070
|
||||
bx r0
|
||||
thumb_func_end sub_8097070
|
||||
|
||||
thumb_func_start sub_809707C
|
||||
sub_809707C: @ 809707C
|
||||
thumb_func_start LoadMonIconPalettes
|
||||
LoadMonIconPalettes: @ 809707C
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
ldr r5, _0809709C @ =gUnknown_83D4038
|
||||
@@ -349,7 +349,7 @@ _08097082:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0809709C: .4byte gUnknown_83D4038
|
||||
thumb_func_end sub_809707C
|
||||
thumb_func_end LoadMonIconPalettes
|
||||
|
||||
thumb_func_start SafeLoadMonIconPalette
|
||||
SafeLoadMonIconPalette: @ 80970A0
|
||||
|
||||
@@ -8688,7 +8688,7 @@ _0808FFA8: .4byte 0x00004037
|
||||
thumb_func_start sub_808FFAC
|
||||
sub_808FFAC: @ 808FFAC
|
||||
push {r4-r6,lr}
|
||||
bl sub_809707C
|
||||
bl LoadMonIconPalettes
|
||||
movs r2, 0
|
||||
ldr r3, _0809003C @ =gUnknown_20397B0
|
||||
ldr r5, _08090040 @ =0x00000b04
|
||||
|
||||
@@ -10814,7 +10814,7 @@ _08139E58:
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x18
|
||||
movs r3, 0x20
|
||||
bl sub_8096E18
|
||||
bl CreateMonIcon
|
||||
ldr r1, [r6]
|
||||
ldr r2, _08139E9C @ =0x00003014
|
||||
adds r1, r2
|
||||
|
||||
+19
-1061
File diff suppressed because it is too large
Load Diff
+21
-7
@@ -323,7 +323,7 @@ gUnknown_8261D00:: @ 8261D00
|
||||
gUnknown_8261D08:: @ 8261D08
|
||||
.incbin "baserom.gba", 0x261D08, 0x138
|
||||
|
||||
gUnknown_8261E40:: @ 8261E40
|
||||
gTradeMonSpriteCoords:: @ 8261E40
|
||||
.incbin "baserom.gba", 0x261E40, 0x1A
|
||||
|
||||
gUnknown_8261E5A:: @ 8261E5A
|
||||
@@ -332,24 +332,36 @@ gUnknown_8261E5A:: @ 8261E5A
|
||||
gUnknown_8261E72:: @ 8261E72
|
||||
.incbin "baserom.gba", 0x261E72, 0x18
|
||||
|
||||
gUnknown_8261E8A:: @ 8261E8A
|
||||
gTradeUnknownSpriteCoords:: @ 8261E8A
|
||||
.incbin "baserom.gba", 0x261E8A, 0x2C
|
||||
|
||||
gUnknown_8261EB6:: @ 8261EB6
|
||||
.incbin "baserom.gba", 0x261EB6, 0xB
|
||||
.string "$"
|
||||
|
||||
gUnknown_8261EB7::
|
||||
.string "{COLOR DARK_GREY}{HIGHLIGHT TRANSPARENT}{SHADOW RED}$"
|
||||
|
||||
gText_MaleSymbol4:: @ 8261EC1
|
||||
.incbin "baserom.gba", 0x261EC1, 0x2
|
||||
.string "♂$"
|
||||
|
||||
gText_FemaleSymbol4:: @ 8261EC3
|
||||
.incbin "baserom.gba", 0x261EC3, 0x2
|
||||
.string "♀$"
|
||||
|
||||
gText_GenderlessSymbol:: @ 8261EC5
|
||||
.incbin "baserom.gba", 0x261EC5, 0x2
|
||||
.string "$"
|
||||
|
||||
gUnknown_8261EC6::
|
||||
.string "$"
|
||||
|
||||
gUnknown_8261EC7:: @ 8261EC7
|
||||
.incbin "baserom.gba", 0x261EC7, 0x5
|
||||
.string "\n$"
|
||||
|
||||
gUnknown_8261EC9::
|
||||
.string "/$"
|
||||
|
||||
@ trade
|
||||
|
||||
.align 2
|
||||
gUnknown_8261ECC:: @ 8261ECC
|
||||
.incbin "baserom.gba", 0x261ECC, 0x18
|
||||
|
||||
@@ -482,6 +494,8 @@ gUnknown_826D1E4:: @ 826D1E4
|
||||
gUnknown_826D250:: @ 826D250
|
||||
.incbin "baserom.gba", 0x26D250, 0x44
|
||||
|
||||
@ overworld
|
||||
|
||||
gUnknown_826D294:: @ 826D294
|
||||
.incbin "baserom.gba", 0x26D294, 0xA
|
||||
|
||||
|
||||
+4
-3
@@ -181,7 +181,7 @@ extern u32 gLinkStatus;
|
||||
extern u16 gBlockRecvBuffer[MAX_RFU_PLAYERS][BLOCK_BUFFER_SIZE / 2];
|
||||
extern u16 gSendCmd[CMD_LENGTH];
|
||||
extern u8 gShouldAdvanceLinkState;
|
||||
extern struct LinkPlayer gLinkPlayers[];
|
||||
extern struct LinkPlayer gLinkPlayers[MAX_RFU_PLAYERS];
|
||||
extern u16 word_3002910[];
|
||||
extern bool8 gReceivedRemoteLinkPlayers;
|
||||
extern bool8 gLinkVSyncDisabled;
|
||||
@@ -212,6 +212,7 @@ u8 GetBlockReceivedStatus(void);
|
||||
void ResetBlockReceivedFlags(void);
|
||||
void ResetBlockReceivedFlag(u8);
|
||||
void SetLinkDebugValues(u32, u32);
|
||||
u8 GetSavedPlayerCount(void);
|
||||
u8 GetLinkPlayerCount_2(void);
|
||||
bool8 IsLinkMaster(void);
|
||||
void CB2_LinkError(void);
|
||||
@@ -232,10 +233,10 @@ bool8 sub_800A520(void);
|
||||
bool8 sub_8010500(void);
|
||||
void sub_800DFB4(u8, u8);
|
||||
void sub_800AB9C(void);
|
||||
void sub_800B488(void);
|
||||
void sub_800B1F4(void);
|
||||
void sub_8009734(void);
|
||||
void sub_800A620(void);
|
||||
void sub_8011BD0(void);
|
||||
void sub_80FBB4C(void);
|
||||
u8 sub_800ABAC(void);
|
||||
u8 sub_800ABBC(void);
|
||||
void sub_800AAC0(void);
|
||||
|
||||
@@ -39,5 +39,7 @@ bool32 sub_80FAEF0(void);
|
||||
bool32 IsRfuRecvQueueEmpty(void);
|
||||
u32 GetRfuRecvQueueLength(void);
|
||||
void sub_80F8DC0(void);
|
||||
void sub_80FBB20(void);
|
||||
bool8 sub_80FA484(bool32 a0);
|
||||
|
||||
#endif //GUARD_LINK_RFU_H
|
||||
|
||||
@@ -82,5 +82,6 @@ void OpenPartyMenuInBattle(u8 arg);
|
||||
void sub_8127EC4(u8 battlerId, u8 unk, u8 arrayIndex);
|
||||
bool8 IsMultiBattle(void);
|
||||
void sub_8126EDC(void);
|
||||
void sub_812256C(u8 *partyCount, u8 *icons, u8 side);
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
|
||||
@@ -10,11 +10,13 @@ void sub_80D2F68(u16 iconId);
|
||||
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
|
||||
void sub_80D2FF0(u16 iconId);
|
||||
void sub_80D2EF8(struct Sprite *sprite);
|
||||
void sub_809707C(void);
|
||||
void LoadMonIconPalettes(void);
|
||||
void FreeMonIconPalettes(void);
|
||||
u16 sub_8096FD4(u16);
|
||||
u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32);
|
||||
void sub_8097070(struct Sprite *);
|
||||
u16 GetUnownLetterByPersonality(u32 personality);
|
||||
void sub_809718C(void);
|
||||
u8 CreateMonIcon(u16 species, void (*callback)(void), s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra);
|
||||
|
||||
#endif // GUARD_POKEMON_ICON_H
|
||||
|
||||
@@ -16,5 +16,6 @@ u8 * GetBoxNamePtr(u8 boxId);
|
||||
void sub_808CE60(void);
|
||||
void ResetPokemonStorageSystem(void);
|
||||
u8 StorageGetCurrentBox(void);
|
||||
void sub_808BEB4(const u8 *name, u8 *a1, u8 a2, u8 a3, u8 *buffer, u8 a5);
|
||||
|
||||
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||
|
||||
@@ -85,6 +85,7 @@ SECTIONS {
|
||||
asm/smokescreen.o(.text);
|
||||
asm/pokeball.o(.text);
|
||||
src/load_save.o(.text);
|
||||
src/trade.o(.text);
|
||||
asm/trade.o(.text);
|
||||
src/play_time.o(.text);
|
||||
src/new_game.o(.text);
|
||||
|
||||
@@ -200,7 +200,7 @@ s32 FadeToWonderCardMenu(void)
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
break;
|
||||
case 6:
|
||||
sub_809707C();
|
||||
LoadMonIconPalettes();
|
||||
break;
|
||||
case 7:
|
||||
ShowBg(1);
|
||||
|
||||
+405
@@ -1,3 +1,408 @@
|
||||
#include "global.h"
|
||||
#include "palette.h"
|
||||
#include "task.h"
|
||||
#include "decompress.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "malloc.h"
|
||||
#include "bg.h"
|
||||
#include "text.h"
|
||||
#include "window.h"
|
||||
#include "text_window.h"
|
||||
#include "pokemon_icon.h"
|
||||
#include "graphics.h"
|
||||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
#include "cable_club.h"
|
||||
#include "sound.h"
|
||||
#include "party_menu.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/easy_chat.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
struct TradeResources
|
||||
{
|
||||
/*0x0000*/ u8 unk_0;
|
||||
/*0x0001*/ u8 unk_1;
|
||||
/*0x0002*/ u8 filler_2[0x28 - 2];
|
||||
/*0x0028*/ u8 partyIcons[2][PARTY_SIZE];
|
||||
/*0x0034*/ u8 tradeMenuCursorSpriteIdx;
|
||||
/*0x0035*/ u8 tradeMenuCursorPosition;
|
||||
/*0x0036*/ u8 partyCounts[2];
|
||||
/*0x0038*/ bool8 tradeMenuOptionsActive[12];
|
||||
/*0x0044*/ u8 unk_44;
|
||||
/*0x0045*/ u8 unk_45[2][PARTY_SIZE];
|
||||
/*0x0051*/ u8 unk_51[2][PARTY_SIZE];
|
||||
/*0x005D*/ u8 unk_5D[2][PARTY_SIZE];
|
||||
/*0x0069*/ u8 unk_69;
|
||||
/*0x006A*/ u8 filler_6A[0x6F - 0x6A];
|
||||
/*0x006F*/ u8 unk_6F;
|
||||
/*0x0070*/ u8 unk_70;
|
||||
/*0x0071*/ u8 filler_71;
|
||||
/*0x0072*/ u16 unk_72;
|
||||
/*0x0074*/ u8 unk_74[2];
|
||||
/*0x0076*/ u8 unk_76[2];
|
||||
/*0x0078*/ u8 unk_78;
|
||||
/*0x0079*/ u8 unk_79;
|
||||
/*0x007A*/ u8 unk_7A;
|
||||
/*0x007B*/ u8 unk_7B;
|
||||
/*0x007C*/ u8 filler_7C[0x7E - 0x7C];
|
||||
/*0x007E*/ u8 unk_7E;
|
||||
/*0x007F*/ u8 filler_7F;
|
||||
/*0x0080*/ u16 linkData[20];
|
||||
/*0x00A8*/ u8 unk_A8;
|
||||
/*0x00A9*/ u8 unk_A9[11];
|
||||
/*0x00B4*/ u8 filler_B4[0x8D0-0xB4];
|
||||
/*0x08D0*/ struct {
|
||||
bool8 unk_0;
|
||||
u16 unk_2;
|
||||
u8 unk_4;
|
||||
} unk_8D0[4];
|
||||
/*0x08F0*/ u8 bg1TilemapBuffer[BG_SCREEN_SIZE];
|
||||
};
|
||||
|
||||
IWRAM_DATA vu16 gUnknown_3000E78;
|
||||
|
||||
EWRAM_DATA u8 *gUnknown_2031C90 = NULL;
|
||||
EWRAM_DATA u8 *gUnknown_2031C94[14] = {};
|
||||
EWRAM_DATA struct TradeResources * gUnknown_2031DA8 = NULL;
|
||||
|
||||
void sub_804C728(void);
|
||||
void sub_804D4F8(void);
|
||||
u8 shedinja_maker_maybe(void);
|
||||
void sub_804F5BC(u8 str_idx);
|
||||
void sub_804F9D8(void);
|
||||
bool8 sub_804F610(void);
|
||||
void sub_804F748(u8 side);
|
||||
void sub_804F020(u8 side);
|
||||
void sub_804D764(void);
|
||||
void sub_804D694(u8 imgIdx);
|
||||
void sub_804F890(u8 side);
|
||||
void sub_804F964(void);
|
||||
void sub_804DFF0(void);
|
||||
void sub_804D638(void);
|
||||
void LoadHeldItemIcons(void);
|
||||
void sub_804F728(const u8 *name, u8 *a1, u8 unused);
|
||||
|
||||
extern const struct BgTemplate gUnknown_8261F1C[4];
|
||||
extern const struct WindowTemplate gUnknown_8261F2C[18];
|
||||
extern const u8 gTradeMonSpriteCoords[][2];
|
||||
extern const u8 *gUnknown_8261ECC[];
|
||||
extern const u8 gTradeUnknownSpriteCoords[][4];
|
||||
extern const struct SpriteTemplate gUnknown_8261CB0;
|
||||
extern const struct SpriteTemplate gUnknown_8261CC8;
|
||||
|
||||
void sub_804C600(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
ResetTasks();
|
||||
ResetPaletteFade();
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
SetVBlankCallback(sub_804D4F8);
|
||||
LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x14);
|
||||
LoadPalette(gTMCaseMainWindowPalette, 0xD0, 0x14);
|
||||
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||
InitBgsFromTemplates(0, gUnknown_8261F1C, NELEMS(gUnknown_8261F1C));
|
||||
SetBgTilemapBuffer(1, gUnknown_2031DA8->bg1TilemapBuffer);
|
||||
if (InitWindows(gUnknown_8261F2C))
|
||||
{
|
||||
DeactivateAllTextPrinters();
|
||||
gUnknown_3000E78 = 590; // ?
|
||||
for (i = 0; i < NELEMS(gUnknown_8261F2C); i++)
|
||||
{
|
||||
ClearWindowTilemap(i);
|
||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||
}
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF);
|
||||
TextWindow_SetStdFrame0_WithPal(0, 0x014, 0xC0);
|
||||
TextWindow_SetUserSelectedFrame(2, 0x001, 0xE0);
|
||||
LoadMonIconPalettes();
|
||||
gUnknown_2031DA8->unk_69 = 0;
|
||||
gUnknown_2031DA8->unk_6F = 0;
|
||||
gUnknown_2031DA8->unk_70 = 0;
|
||||
gUnknown_2031DA8->unk_74[0] = 0;
|
||||
gUnknown_2031DA8->unk_74[1] = 0;
|
||||
gUnknown_2031DA8->unk_7A = 0;
|
||||
gUnknown_2031DA8->unk_7B = 0;
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_804C718(void)
|
||||
{
|
||||
SetMainCallback2(sub_804C728);
|
||||
}
|
||||
|
||||
void sub_804C728(void)
|
||||
{
|
||||
int i;
|
||||
struct SpriteTemplate temp;
|
||||
u8 id;
|
||||
s32 width;
|
||||
u32 xPos;
|
||||
|
||||
switch (gMain.state)
|
||||
{
|
||||
case 0:
|
||||
gUnknown_2031DA8 = AllocZeroed(sizeof(*gUnknown_2031DA8));
|
||||
sub_804C600();
|
||||
gUnknown_2031C90 = AllocZeroed(0xE00);
|
||||
|
||||
for (i = 0; i < 14; i++)
|
||||
{
|
||||
gUnknown_2031C94[i] = &gUnknown_2031C90[i * 256];
|
||||
}
|
||||
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0);
|
||||
}
|
||||
|
||||
sub_804F5BC(0);
|
||||
ShowBg(0);
|
||||
|
||||
if (!gReceivedRemoteLinkPlayers)
|
||||
{
|
||||
gLinkType = 0x1122;
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
|
||||
if (gWirelessCommType)
|
||||
{
|
||||
sub_800B1F4();
|
||||
OpenLink();
|
||||
sub_80FBB20();
|
||||
}
|
||||
else
|
||||
{
|
||||
OpenLink();
|
||||
gMain.state++;
|
||||
}
|
||||
if (gWirelessCommType == 0)
|
||||
CreateTask(sub_8081A90, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
gMain.state = 4;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
gUnknown_2031DA8->unk_A8++;
|
||||
if (gUnknown_2031DA8->unk_A8 > 11)
|
||||
{
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (GetLinkPlayerCount_2() >= GetSavedPlayerCount())
|
||||
{
|
||||
if (IsLinkMaster())
|
||||
{
|
||||
if (++gUnknown_2031DA8->unk_A8 > 30)
|
||||
{
|
||||
CheckShouldAdvanceLinkState();
|
||||
gMain.state++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gMain.state++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE)
|
||||
{
|
||||
sub_80FBB4C();
|
||||
CalculatePlayerPartyCount();
|
||||
gMain.state++;
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
if (gWirelessCommType)
|
||||
{
|
||||
sub_80FA484(TRUE);
|
||||
sub_800AB9C();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (gWirelessCommType)
|
||||
{
|
||||
if (IsRfuTaskFinished())
|
||||
{
|
||||
gMain.state++;
|
||||
LoadWirelessStatusIndicatorSpriteGfx();
|
||||
CreateWirelessStatusIndicatorSprite(0, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (shedinja_maker_maybe())
|
||||
{
|
||||
sub_804F9D8();
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
CalculateEnemyPartyCount();
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
gUnknown_2031DA8->partyCounts[0] = gPlayerPartyCount;
|
||||
gUnknown_2031DA8->partyCounts[1] = gEnemyPartyCount;
|
||||
|
||||
for (i = 0; i < gUnknown_2031DA8->partyCounts[0]; i++)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[i];
|
||||
gUnknown_2031DA8->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2),
|
||||
sub_809718C,
|
||||
(gTradeMonSpriteCoords[i][0] * 8) + 14,
|
||||
(gTradeMonSpriteCoords[i][1] * 8) - 12,
|
||||
1,
|
||||
GetMonData(mon, MON_DATA_PERSONALITY),
|
||||
TRUE);
|
||||
}
|
||||
|
||||
for (i = 0; i < gUnknown_2031DA8->partyCounts[1]; i++)
|
||||
{
|
||||
struct Pokemon *mon = &gEnemyParty[i];
|
||||
gUnknown_2031DA8->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
|
||||
sub_809718C,
|
||||
(gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
|
||||
(gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
|
||||
1,
|
||||
GetMonData(mon, MON_DATA_PERSONALITY),
|
||||
FALSE);
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
case 8:
|
||||
LoadHeldItemIcons();
|
||||
sub_812256C(&gUnknown_2031DA8->partyCounts[0], gUnknown_2031DA8->partyIcons[0], 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 9:
|
||||
sub_812256C(&gUnknown_2031DA8->partyCounts[0], gUnknown_2031DA8->partyIcons[0], 1);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 10:
|
||||
sub_808BEB4(gSaveBlock2Ptr->playerName, gUnknown_2031C94[0], 0, 0, gDecompressionBuffer, 3);
|
||||
id = GetMultiplayerId();
|
||||
sub_808BEB4(gLinkPlayers[id ^ 1].name, gUnknown_2031C94[3], 0, 0, gDecompressionBuffer, 3);
|
||||
sub_808BEB4(gUnknown_8261ECC[0], gUnknown_2031C94[6], 0, 0, gDecompressionBuffer, 2);
|
||||
sub_804F728(gUnknown_8261ECC[1], gUnknown_2031C94[8], 24);
|
||||
gMain.state++;
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
break;
|
||||
case 11:
|
||||
if (sub_804F610())
|
||||
gMain.state++;
|
||||
break;
|
||||
case 12:
|
||||
width = GetStringWidth(1, gSaveBlock2Ptr->playerName, 0);
|
||||
xPos = (56 - width) / 2;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += i;
|
||||
CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
|
||||
}
|
||||
|
||||
id = GetMultiplayerId();
|
||||
id ^= 1;
|
||||
width = GetStringWidth(1, gLinkPlayers[id].name, 0);
|
||||
xPos = (56 - width) / 2;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += i + 3;
|
||||
CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][2] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][3], 1);
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
case 13:
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += 6;
|
||||
CreateSprite(&temp, 215, 151, 1);
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += 7;
|
||||
CreateSprite(&temp, 247, 151, 1);
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += i + 8;
|
||||
CreateSprite(&temp, (i * 32) + 24, 150, 1);
|
||||
}
|
||||
|
||||
gUnknown_2031DA8->tradeMenuCursorSpriteIdx = CreateSprite(&gUnknown_8261CB0, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2);
|
||||
gUnknown_2031DA8->tradeMenuCursorPosition = 0;
|
||||
gMain.state++;
|
||||
rbox_fill_rectangle(0);
|
||||
break;
|
||||
case 14:
|
||||
sub_804F748(0);
|
||||
sub_804F020(0);
|
||||
gUnknown_2031DA8->unk_0 = 0;
|
||||
gUnknown_2031DA8->unk_1 = 0;
|
||||
sub_804D764();
|
||||
gMain.state++;
|
||||
PlayBGM(MUS_SLOT);
|
||||
break;
|
||||
case 15:
|
||||
sub_804F748(1);
|
||||
sub_804F020(1);
|
||||
gMain.state++;
|
||||
// fallthrough
|
||||
case 16:
|
||||
sub_804D694(0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 17:
|
||||
sub_804D694(1);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 18:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 19:
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||
sub_804D694(2);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 20:
|
||||
sub_804F890(0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 21:
|
||||
sub_804F890(1);
|
||||
sub_804F964();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 22:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
gMain.callback1 = sub_804DFF0;
|
||||
SetMainCallback2(sub_804D638);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
RunTextPrinters();
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user