diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 10:18:29 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 10:18:29 -0400 |
commit | af86929d787ca449ab86b3bd8674cbd5c44fb7ea (patch) | |
tree | e4259d5129071530300b6321d99f533dce907bae | |
parent | e3ecbe5d7850c50de8882385c1400ed4e77c61b5 (diff) |
sub_8048D44
-rw-r--r-- | asm/trade.s | 378 | ||||
-rw-r--r-- | data/trade.s | 69 | ||||
-rw-r--r-- | include/text.h | 1 | ||||
-rw-r--r-- | src/trade.c | 208 |
4 files changed, 207 insertions, 449 deletions
diff --git a/asm/trade.s b/asm/trade.s index cad31d7d7..abfbc523f 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -10,384 +10,6 @@ .set sub_804A96C_alt, sub_804A96C .endif - thumb_func_start sub_8048D44 -sub_8048D44: @ 8048D44 - push {r4-r7,lr} - sub sp, 0xC - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _08048D90 @ =gUnknown_03004824 - ldr r0, [r6] - adds r0, 0x75 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x64 - bl __udivsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetLinkDebugValues - ldr r0, [r6] - adds r0, 0x75 - ldrb r0, [r0] - cmp r0, 0x10 - bls _08048D86 - b _0804907C -_08048D86: - lsls r0, 2 - ldr r1, _08048D94 @ =_08048D98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08048D90: .4byte gUnknown_03004824 -_08048D94: .4byte _08048D98 - .align 2, 0 -_08048D98: - .4byte _08048DDC - .4byte _08048DF8 - .4byte _08048E28 - .4byte _08048E3C - .4byte _08048E74 - .4byte _08048E90 - .4byte _08048EA4 - .4byte _08048EDC - .4byte _08048EF8 - .4byte _08048F0C - .4byte _08048F44 - .4byte _08048F60 - .4byte _08048F74 - .4byte _08048FAC - .4byte _08048FC8 - .4byte _08048FDC - .4byte _08049018 -_08048DDC: - ldr r0, _08048DEC @ =gBlockSendBuffer - ldr r1, _08048DF0 @ =gPlayerParty - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048DF4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048DEC: .4byte gBlockSendBuffer -_08048DF0: .4byte gPlayerParty -_08048DF4: .4byte gUnknown_03004824 -_08048DF8: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _08048E04 - b _0804907C -_08048E04: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _08048E18 - ldr r0, _08048E14 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E14: .4byte gUnknown_03004824 -_08048E18: - bl ResetBlockReceivedFlags - ldr r0, _08048E24 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E24: .4byte gUnknown_03004824 -_08048E28: - cmp r7, 0 - bne _08048E32 - movs r0, 0x1 - bl sub_8007E9C -_08048E32: - ldr r0, _08048E38 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E38: .4byte gUnknown_03004824 -_08048E3C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048E4A - b _0804907C -_08048E4A: - ldr r0, _08048E68 @ =gEnemyParty - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048E6C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048E70 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E68: .4byte gEnemyParty -_08048E6C: .4byte gBlockRecvBuffer -_08048E70: .4byte gUnknown_03004824 -_08048E74: - ldr r0, _08048E84 @ =gBlockSendBuffer - ldr r1, _08048E88 @ =gPlayerParty + 2 * 0x64 - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048E8C @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E84: .4byte gBlockSendBuffer -_08048E88: .4byte gPlayerParty + 2 * 0x64 -_08048E8C: .4byte gUnknown_03004824 -_08048E90: - cmp r7, 0 - bne _08048E9A - movs r0, 0x1 - bl sub_8007E9C -_08048E9A: - ldr r0, _08048EA0 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048EA0: .4byte gUnknown_03004824 -_08048EA4: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048EB2 - b _0804907C -_08048EB2: - ldr r0, _08048ED0 @ =gEnemyParty + 2 * 0x64 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048ED4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048ED8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048ED0: .4byte gEnemyParty + 2 * 0x64 -_08048ED4: .4byte gBlockRecvBuffer -_08048ED8: .4byte gUnknown_03004824 -_08048EDC: - ldr r0, _08048EEC @ =gBlockSendBuffer - ldr r1, _08048EF0 @ =gPlayerParty + 4 * 0x64 - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048EF4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048EEC: .4byte gBlockSendBuffer -_08048EF0: .4byte gPlayerParty + 4 * 0x64 -_08048EF4: .4byte gUnknown_03004824 -_08048EF8: - cmp r7, 0 - bne _08048F02 - movs r0, 0x1 - bl sub_8007E9C -_08048F02: - ldr r0, _08048F08 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F08: .4byte gUnknown_03004824 -_08048F0C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048F1A - b _0804907C -_08048F1A: - ldr r0, _08048F38 @ =gEnemyParty + 4 * 0x64 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048F3C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048F40 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F38: .4byte gEnemyParty + 4 * 0x64 -_08048F3C: .4byte gBlockRecvBuffer -_08048F40: .4byte gUnknown_03004824 -_08048F44: - ldr r0, _08048F54 @ =gBlockSendBuffer - ldr r1, _08048F58 @ =gSaveBlock1 + 0x2B4C - movs r2, 0xDC - bl sub_8048D24 - ldr r0, _08048F5C @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F54: .4byte gBlockSendBuffer -_08048F58: .4byte gSaveBlock1 + 0x2B4C -_08048F5C: .4byte gUnknown_03004824 -_08048F60: - cmp r7, 0 - bne _08048F6A - movs r0, 0x3 - bl sub_8007E9C -_08048F6A: - ldr r0, _08048F70 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F70: .4byte gUnknown_03004824 -_08048F74: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048F82 - b _0804907C -_08048F82: - ldr r0, _08048FA0 @ =gUnknown_02029700 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048FA4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xD8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048FA8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FA0: .4byte gUnknown_02029700 -_08048FA4: .4byte gBlockRecvBuffer -_08048FA8: .4byte gUnknown_03004824 -_08048FAC: - ldr r0, _08048FBC @ =gBlockSendBuffer - ldr r1, _08048FC0 @ =gSaveBlock1 + 0x3110 - movs r2, 0xB - bl sub_8048D24 - ldr r0, _08048FC4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FBC: .4byte gBlockSendBuffer -_08048FC0: .4byte gSaveBlock1 + 0x3110 -_08048FC4: .4byte gUnknown_03004824 -_08048FC8: - cmp r7, 0 - bne _08048FD2 - movs r0, 0x4 - bl sub_8007E9C -_08048FD2: - ldr r0, _08048FD8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FD8: .4byte gUnknown_03004824 -_08048FDC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0804907C - ldr r4, _08049010 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0xB5 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08049014 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xB - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r1, [r4] -_08049006: - adds r1, 0x75 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804907C - .align 2, 0 -_08049010: .4byte gUnknown_03004824 -_08049014: .4byte gBlockRecvBuffer -_08049018: - ldr r4, _0804906C @ =gEnemyParty - ldr r6, _08049070 @ =0x0000012f - movs r5, 0x5 -_0804901E: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0804905E - cmp r0, r6 - bne _0804905E - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - beq _0804905E - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - ldr r1, _08049074 @ =gUnknown_0820C3B0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0804905E - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, _08049078 @ =gSpeciesNames + 0xD05 - bl SetMonData -_0804905E: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _0804901E - movs r0, 0x1 - b _0804907E - .align 2, 0 -_0804906C: .4byte gEnemyParty -_08049070: .4byte 0x0000012f -_08049074: .4byte gUnknown_0820C3B0 -_08049078: .4byte gSpeciesNames + 0xD05 -_0804907C: - movs r0, 0 -_0804907E: - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8048D44 - thumb_func_start sub_8049088 sub_8049088: @ 8049088 push {lr} diff --git a/data/trade.s b/data/trade.s index fcfbd8187..9d224bf36 100644 --- a/data/trade.s +++ b/data/trade.s @@ -14,75 +14,6 @@ @ 12 .align 2 -gUnknown_0820C2F0:: @ 820C2F0 - .4byte TradeText_LinkStandby - .4byte TradeText_TradeCancelled - .4byte TradeText_OnlyPoke - .4byte TradeText_NonTradablePoke - .4byte TradeText_WaitingForFriend - .4byte TradeText_WantToTrade - -gTradeMessageWindowRects:: @ 820C308 - .byte 8, 7, 22, 12 - .byte 8, 7, 22, 12 - .byte 6, 7, 24, 12 - .byte 6, 7, 24, 12 - .byte 8, 7, 22, 12 - .byte 7, 7, 23, 12 - - .align 2 -gUnknown_0820C320:: @ 820C320 - .4byte TradeText_Summary2, sub_804A9F4 @unknown - .4byte TradeText_Trade2, sub_804AA00 - -gUnknown_0820C330:: @ 820C330 - .byte 0, 14 - .byte 15, 29 - -gUnknown_0820C334:: @ 820C334 - .byte 3, 5 - .byte 3, 7 - .byte 18, 5 - .byte 18, 7 - -gOtherText_Terminator:: - .string "$" - -gOtherText_MaleSymbol3:: @ 820C33D - .string "♂$" - -gOtherText_FemaleSymbol3:: @ 820C33F - .string "♀$" - -gOtherText_GenderlessSymbol:: @ 820C341 - .string "$$" - - .align 2 - .4byte gTileBuffer - -@ Unused debug strings? - .string "かいめの そうしん$", 13 - .string "かいめの じゅしん$", 13 - .string "ポケモンアイコンセット$", 13 - .string "OBJテキストセット$", 13 - .string "セルセット$", 13 - .string "OBJテキストADD$", 13 - .string "システムメッセージADD$", 13 - .string "はいけいセット$", 13 - -@ Shedinja's Japanese name -@ sub_8048D44 compares a pokemon name with this string -gUnknown_0820C3B0:: @ 820C3B0 - .string "ヌケニン$" - - .string "こうかんせいりつ $" @ trade completed - .string "だめだたらしいよ $" @ it's no good (trade failed maybe?) - -gUnknown_0820C3D1:: @ 820C3D1 - .byte 4, 3 - .byte 19, 3 - - .align 2 gTradeBallPalette:: @ 820C3D8 .incbin "graphics/trade/ball.gbapal" diff --git a/include/text.h b/include/text.h index 9a70dec11..d0c9f0d9d 100644 --- a/include/text.h +++ b/include/text.h @@ -202,6 +202,7 @@ extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; extern u8 gStringVar4[]; +extern u8 gTileBuffer[]; void LoadFontDefaultPalette(const struct WindowConfig *winConfig); void SetUpWindowConfig(const struct WindowConfig *winConfig); diff --git a/src/trade.c b/src/trade.c index 60b11b63f..d4d5e0b50 100644 --- a/src/trade.c +++ b/src/trade.c @@ -19,6 +19,7 @@ #include "party_menu.h" #include "songs.h" #include "sound.h" +#include "data2.h" struct InGameTrade { /*0x00*/ u8 name[11]; @@ -87,7 +88,8 @@ struct TradeEwramSubstruct { /*0x008a*/ u8 unk_008a; /*0x008b*/ u8 filler_008b[0x29]; /*0x00b4*/ u8 unk_00b4; - /*0x00b5*/ u8 filler_00b5[0x13]; + /*0x00b5*/ u8 unk_00b5[7]; + /*0x00bc*/ u8 filler_00bc[12]; /*0x00c8*/ struct UnkStructE unk_00c8; /*0x08dc*/ u8 filler_04dc[0x724]; }; @@ -133,11 +135,14 @@ void sub_804AB30(void); void sub_8049ED4(u8); void sub_804A6DC(u8); void sub_804A938(struct UnkStructE *); +u8 sub_804A9F4(void); +u8 sub_804AA00(void); extern u8 gUnknown_020297D8[2]; extern u8 *gUnknown_020296CC[13]; extern struct TradeEwramSubstruct *gUnknown_03004824; extern u8 gUnknown_03000508; +extern struct MailStruct gUnknown_02029700[16]; extern u8 ewram[]; #define ewram_2010000 (*(struct TradeEwramStruct *)(ewram + 0x10000)) @@ -430,8 +435,68 @@ const u8 gTradeUnknownSpriteCoords[][2][2] = { } }; +const u8 *const gUnknown_0820C2F0[] = { + TradeText_LinkStandby, + TradeText_TradeCancelled, + TradeText_OnlyPoke, + TradeText_NonTradablePoke, + TradeText_WaitingForFriend, + TradeText_WantToTrade +}; + +const u8 gTradeMessageWindowRects[][4] = { + {8, 7, 22, 12}, + {8, 7, 22, 12}, + {6, 7, 24, 12}, + {6, 7, 24, 12}, + {8, 7, 22, 12}, + {7, 7, 23, 12} +}; + +const struct MenuAction gUnknown_0820C320[] = { + {TradeText_Summary2, sub_804A9F4}, + {TradeText_Trade2, sub_804AA00} +}; + +const u8 gUnknown_0820C330[][2] = { + { 0, 14}, + {15, 29} +}; + +const u8 gUnknown_0820C334[][2] = { + { 3, 5}, + { 3, 7}, + {18, 5}, + {18, 7} +}; + +const u8 gOtherText_Terminator[] = _(""); +const u8 gOtherText_MaleSymbol3[] = _("♂"); +const u8 gOtherText_FemaleSymbol3[] = _("♀"); +const u8 gOtherText_GenderlessSymbol[] = _("$"); + +u8 *const unref_data_820C344 = gTileBuffer; +const u8 unref_strings_820C348[][13] = { + _("かいめの そうしん"), + _("かいめの じゅしん"), + _("ポケモンアイコンセット"), + _("OBJテキストセット"), + _("セルセット"), + _("OBJテキストADD"), + _("システムメッセージADD"), + _("はいけいセット"), +}; + +const u8 gUnknown_0820C3B0[] = _("ヌケニン"); +const u8 unref_string_0820C3B5[] = _("こうかんせいりつ "); +const u8 unref_string_0820C3C3[] = _("だめだたらしいよ "); +const u8 gUnknown_0820C3D1[][2] = { + { 4, 3}, + {19, 3} +}; asm(".section .rodata.igt"); + const struct InGameTrade gIngameTrades[] = { { _("MAKIT"), SPECIES_MAKUHITA, @@ -520,6 +585,8 @@ const s8 gTradeBallVerticalVelocityTable[] = { 1, 1, 2, 3 }; +// .text + void sub_8047CD8(void) { SetMainCallback2(sub_8047EC0); @@ -1215,12 +1282,149 @@ void sub_8048C70(void) void nullsub_5(u8 a0, u8 a1) {} -void sub_8048D24(u8 *dest, const u8 *src, u32 size) +static void sub_8048D24(u8 *dest, const u8 *src, u32 size) { int i; for (i = 0; i < size; i ++) dest[i] = src[i]; } +bool8 sub_8048D44(void) +{ + u8 mpId = GetMultiplayerId(); + int i; + u16 species; + u8 nickname[11]; + struct Pokemon *pokemon; + + SetLinkDebugValues(gUnknown_03004824->unk_0075 / 100, gUnknown_03004824->unk_0075 % 100); + switch (gUnknown_03004824->unk_0075) + { + case 0: + sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[0], 2 * sizeof(struct Pokemon)); + gUnknown_03004824->unk_0075 ++; + break; + case 1: + if (sub_8007ECC()) + { + if (GetBlockReceivedStatus() == 0) + { + gUnknown_03004824->unk_0075 ++; + } + else + { + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + } + break; + case 2: + if (mpId == 0) + { + sub_8007E9C(1); + } + gUnknown_03004824->unk_0075 ++; + break; + case 3: + if (GetBlockReceivedStatus() == 3) + { + sub_8048D24((u8 *)&gEnemyParty[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 4: + sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[2], 2 * sizeof(struct Pokemon)); + gUnknown_03004824->unk_0075 ++; + break; + case 5: + if (mpId == 0) + { + sub_8007E9C(1); + } + gUnknown_03004824->unk_0075 ++; + break; + case 6: + if (GetBlockReceivedStatus() == 3) + { + sub_8048D24((u8 *)&gEnemyParty[2], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 7: + sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[4], 2 * sizeof(struct Pokemon)); + gUnknown_03004824->unk_0075 ++; + break; + case 8: + if (mpId == 0) + { + sub_8007E9C(1); + } + gUnknown_03004824->unk_0075 ++; + break; + case 9: + if (GetBlockReceivedStatus() == 3) + { + sub_8048D24((u8 *)&gEnemyParty[4], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 10: + sub_8048D24(gBlockSendBuffer, (const u8 *)&gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4); + gUnknown_03004824->unk_0075 ++; + break; + case 11: + if (mpId == 0) + { + sub_8007E9C(3); + } + gUnknown_03004824->unk_0075 ++; + break; + case 12: + if (GetBlockReceivedStatus() == 3) + { + sub_8048D24((u8 *)&gUnknown_02029700[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 13: + sub_8048D24(gBlockSendBuffer, (const u8 *)gSaveBlock1.giftRibbons, 11); + gUnknown_03004824->unk_0075 ++; + break; + case 14: + if (mpId == 0) + { + sub_8007E9C(4); + } + gUnknown_03004824->unk_0075 ++; + break; + case 15: + if (GetBlockReceivedStatus() == 3) + { + sub_8048D24((u8 *)gUnknown_03004824->unk_00b5, (const u8 *)gBlockRecvBuffer[mpId ^ 1], 11); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 16: + pokemon = gEnemyParty; + for (i = 0; i < PARTY_SIZE; i ++) + { + if ((species = GetMonData(pokemon, MON_DATA_SPECIES)) != SPECIES_NONE && species == SPECIES_SHEDINJA && GetMonData(pokemon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) + { + GetMonData(pokemon, MON_DATA_NICKNAME, nickname); + if (!StringCompareWithoutExtCtrlCodes(nickname, gUnknown_0820C3B0)) + SetMonData(pokemon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); + } + pokemon ++; + } + return TRUE; + } + return FALSE; +} + asm(".section .text.sub_804A96C"); void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { |