diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-10-28 12:16:01 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-10-28 12:16:01 -0400 |
commit | e9cf9fc104ceedd50330af6b22c6e896e85930e1 (patch) | |
tree | 270d92bcacc8521c8ce8d7495591e45ff743a3ba | |
parent | a5ff9f2d00fbcc6bc73475069dcbe93eaf518c1b (diff) |
port shedinja_maker_maybe; resolve within-array party pointers
-rw-r--r-- | asm/battle_tower.s | 4 | ||||
-rw-r--r-- | asm/party_menu.s | 20 | ||||
-rw-r--r-- | asm/trade.s | 400 | ||||
-rw-r--r-- | data/trade.s | 2 | ||||
-rw-r--r-- | include/link.h | 1 | ||||
-rw-r--r-- | src/pokemon.c | 8 | ||||
-rw-r--r-- | src/trade.c | 165 | ||||
-rw-r--r-- | sym_ewram.txt | 67 |
8 files changed, 187 insertions, 480 deletions
diff --git a/asm/battle_tower.s b/asm/battle_tower.s index eddc03f83..87f01b7fb 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2832,7 +2832,7 @@ _080E6F68: ldrb r1, [r0] movs r0, 0x64 muls r0, r1 - ldr r1, _080E6FB4 @ =gUnknown_2024220 + ldr r1, _080E6FB4 @ =gEnemyParty + 0x1f4 adds r0, r1 movs r1, 0x2C muls r1, r4 @@ -2855,7 +2855,7 @@ _080E6FA4: .4byte gSaveBlock2Ptr _080E6FA8: .4byte gSaveBlock1Ptr _080E6FAC: .4byte 0x00002cac _080E6FB0: .4byte 0x0000056d -_080E6FB4: .4byte gUnknown_2024220 +_080E6FB4: .4byte gEnemyParty + 0x1f4 thumb_func_end sub_80E6EE0 thumb_func_start SaveBattleTowerProgress diff --git a/asm/party_menu.s b/asm/party_menu.s index b0506d6c9..c2eecaf14 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -3033,7 +3033,7 @@ _081201C0: lsrs r6, r0, 29 cmp r6, 0x3 bne _081201F0 - ldr r0, _081201EC @ =gUnknown_20243B0 + ldr r0, _081201EC @ =gPlayerParty + 0x12C movs r1, 0xB bl GetMonData cmp r0, 0 @@ -3042,12 +3042,12 @@ _081201C0: b _08120290 .align 2, 0 _081201E8: .4byte gUnknown_203B09C -_081201EC: .4byte gUnknown_20243B0 +_081201EC: .4byte gPlayerParty + 0x12C _081201F0: - ldr r0, _081201F4 @ =gUnknown_202434C + ldr r0, _081201F4 @ =gPlayerParty + 0xC8 b _0812020C .align 2, 0 -_081201F4: .4byte gUnknown_202434C +_081201F4: .4byte gPlayerParty + 0xC8 _081201F8: cmp r0, 0x1 bne _08120290 @@ -3058,7 +3058,7 @@ _081201F8: lsrs r5, r0, 29 cmp r5, 0x5 bne _08120224 - ldr r0, _08120220 @ =gUnknown_2024478 + ldr r0, _08120220 @ =gPlayerParty + 0x1F4 _0812020C: movs r1, 0xB bl GetMonData @@ -3068,9 +3068,9 @@ _0812020C: b _08120290 .align 2, 0 _0812021C: .4byte gUnknown_203B09C -_08120220: .4byte gUnknown_2024478 +_08120220: .4byte gPlayerParty + 0x1F4 _08120224: - ldr r0, _08120234 @ =gUnknown_2024414 + ldr r0, _08120234 @ =gPlayerParty + 0x190 movs r1, 0xB bl GetMonData cmp r0, 0 @@ -3078,7 +3078,7 @@ _08120224: movs r0, 0x4 b _0812028E .align 2, 0 -_08120234: .4byte gUnknown_2024414 +_08120234: .4byte gPlayerParty + 0x190 _08120238: ldrb r1, [r4] subs r0, r1, 0x2 @@ -18129,7 +18129,7 @@ _08127A80: .4byte sub_811FB28 sub_8127A84: @ 8127A84 push {r4,lr} adds r4, r0, 0 - ldr r0, _08127AA4 @ =gUnknown_20242E8 + ldr r0, _08127AA4 @ =gPlayerParty + 0x64 movs r1, 0xB bl GetMonData cmp r0, 0 @@ -18143,7 +18143,7 @@ _08127AA0: movs r0, 0x7 b _08127ABA .align 2, 0 -_08127AA4: .4byte gUnknown_20242E8 +_08127AA4: .4byte gPlayerParty + 0x64 _08127AA8: ldr r0, _08127AB4 @ =gUnknown_203B0A0 ldrb r0, [r0, 0xB] diff --git a/asm/trade.s b/asm/trade.s index 272a893cc..34465a17b 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -5,406 +5,6 @@ .text - thumb_func_start shedinja_maker_maybe -shedinja_maker_maybe: @ 804D834 - push {r4-r6,lr} - sub sp, 0xC - bl GetMultiplayerId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0804D858 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x69 - ldrb r0, [r0] - cmp r0, 0x15 - bls _0804D84E - b _0804DB9E -_0804D84E: - lsls r0, 2 - ldr r1, _0804D85C @ =_0804D860 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804D858: .4byte gUnknown_2031DA8 -_0804D85C: .4byte _0804D860 - .align 2, 0 -_0804D860: - .4byte _0804D8B8 - .4byte _0804D8E4 - .4byte _0804DB78 - .4byte _0804D914 - .4byte _0804D928 - .4byte _0804D960 - .4byte _0804DB78 - .4byte _0804D97C - .4byte _0804D990 - .4byte _0804D9C8 - .4byte _0804DB78 - .4byte _0804D9E4 - .4byte _0804D9F8 - .4byte _0804DA30 - .4byte _0804DB78 - .4byte _0804DA58 - .4byte _0804DA6C - .4byte _0804DAA4 - .4byte _0804DB78 - .4byte _0804DACC - .4byte _0804DAE0 - .4byte _0804DB14 -_0804D8B8: - ldr r0, _0804D8D8 @ =gBlockSendBuffer - ldr r1, _0804D8DC @ =gPlayerParty - movs r2, 0xC8 - bl sub_804D814 - ldr r3, _0804D8E0 @ =gUnknown_2031DA8 - ldr r1, [r3] - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0xA8 - strb r2, [r0] - b _0804DB9E - .align 2, 0 -_0804D8D8: .4byte gBlockSendBuffer -_0804D8DC: .4byte gPlayerParty -_0804D8E0: .4byte gUnknown_2031DA8 -_0804D8E4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0804D8F0 - b _0804DB9E -_0804D8F0: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _0804D904 - ldr r0, _0804D900 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D900: .4byte gUnknown_2031DA8 -_0804D904: - bl ResetBlockReceivedFlags - ldr r0, _0804D910 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D910: .4byte gUnknown_2031DA8 -_0804D914: - cmp r5, 0 - bne _0804D91E - movs r0, 0x1 - bl sub_800A474 -_0804D91E: - ldr r0, _0804D924 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D924: .4byte gUnknown_2031DA8 -_0804D928: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804D936 - b _0804DB9E -_0804D936: - ldr r0, _0804D954 @ =gEnemyParty - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804D958 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804D95C @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D954: .4byte gEnemyParty -_0804D958: .4byte gBlockRecvBuffer -_0804D95C: .4byte gUnknown_2031DA8 -_0804D960: - ldr r0, _0804D970 @ =gBlockSendBuffer - ldr r1, _0804D974 @ =gUnknown_202434C - movs r2, 0xC8 - bl sub_804D814 - ldr r0, _0804D978 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D970: .4byte gBlockSendBuffer -_0804D974: .4byte gUnknown_202434C -_0804D978: .4byte gUnknown_2031DA8 -_0804D97C: - cmp r5, 0 - bne _0804D986 - movs r0, 0x1 - bl sub_800A474 -_0804D986: - ldr r0, _0804D98C @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D98C: .4byte gUnknown_2031DA8 -_0804D990: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804D99E - b _0804DB9E -_0804D99E: - ldr r0, _0804D9BC @ =gUnknown_20240F4 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804D9C0 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804D9C4 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D9BC: .4byte gUnknown_20240F4 -_0804D9C0: .4byte gBlockRecvBuffer -_0804D9C4: .4byte gUnknown_2031DA8 -_0804D9C8: - ldr r0, _0804D9D8 @ =gBlockSendBuffer - ldr r1, _0804D9DC @ =gUnknown_2024414 - movs r2, 0xC8 - bl sub_804D814 - ldr r0, _0804D9E0 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D9D8: .4byte gBlockSendBuffer -_0804D9DC: .4byte gUnknown_2024414 -_0804D9E0: .4byte gUnknown_2031DA8 -_0804D9E4: - cmp r5, 0 - bne _0804D9EE - movs r0, 0x1 - bl sub_800A474 -_0804D9EE: - ldr r0, _0804D9F4 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D9F4: .4byte gUnknown_2031DA8 -_0804D9F8: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804DA06 - b _0804DB9E -_0804DA06: - ldr r0, _0804DA24 @ =gUnknown_20241BC - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804DA28 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804DA2C @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA24: .4byte gUnknown_20241BC -_0804DA28: .4byte gBlockRecvBuffer -_0804DA2C: .4byte gUnknown_2031DA8 -_0804DA30: - ldr r0, _0804DA48 @ =gBlockSendBuffer - ldr r1, _0804DA4C @ =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, _0804DA50 @ =0x00002cd0 - adds r1, r2 - movs r2, 0xDC - bl sub_804D814 - ldr r0, _0804DA54 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA48: .4byte gBlockSendBuffer -_0804DA4C: .4byte gSaveBlock1Ptr -_0804DA50: .4byte 0x00002cd0 -_0804DA54: .4byte gUnknown_2031DA8 -_0804DA58: - cmp r5, 0 - bne _0804DA62 - movs r0, 0x3 - bl sub_800A474 -_0804DA62: - ldr r0, _0804DA68 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA68: .4byte gUnknown_2031DA8 -_0804DA6C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804DA7A - b _0804DB9E -_0804DA7A: - ldr r0, _0804DA98 @ =gUnknown_2031CCC - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804DA9C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xD8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804DAA0 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA98: .4byte gUnknown_2031CCC -_0804DA9C: .4byte gBlockRecvBuffer -_0804DAA0: .4byte gUnknown_2031DA8 -_0804DAA4: - ldr r0, _0804DABC @ =gBlockSendBuffer - ldr r1, _0804DAC0 @ =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, _0804DAC4 @ =0x0000309c - adds r1, r2 - movs r2, 0xB - bl sub_804D814 - ldr r0, _0804DAC8 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DABC: .4byte gBlockSendBuffer -_0804DAC0: .4byte gSaveBlock1Ptr -_0804DAC4: .4byte 0x0000309c -_0804DAC8: .4byte gUnknown_2031DA8 -_0804DACC: - cmp r5, 0 - bne _0804DAD6 - movs r0, 0x4 - bl sub_800A474 -_0804DAD6: - ldr r0, _0804DADC @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DADC: .4byte gUnknown_2031DA8 -_0804DAE0: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0804DB9E - ldr r4, _0804DB0C @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0xA9 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804DB10 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xB - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r1, [r4] - b _0804DB96 - .align 2, 0 -_0804DB0C: .4byte gUnknown_2031DA8 -_0804DB10: .4byte gBlockRecvBuffer -_0804DB14: - ldr r4, _0804DB68 @ =gEnemyParty - ldr r6, _0804DB6C @ =0x0000012f - movs r5, 0x5 -_0804DB1A: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0804DB5A - cmp r0, r6 - bne _0804DB5A - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - beq _0804DB5A - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - ldr r1, _0804DB70 @ =gUnknown_8262034 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0804DB5A - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, _0804DB74 @ = gSpeciesNames + 0xD05 - bl SetMonData -_0804DB5A: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _0804DB1A - movs r0, 0x1 - b _0804DBA0 - .align 2, 0 -_0804DB68: .4byte gEnemyParty -_0804DB6C: .4byte 0x0000012f -_0804DB70: .4byte gUnknown_8262034 -_0804DB74: .4byte gSpeciesNames+0xD05 -_0804DB78: - ldr r2, _0804DBA8 @ =gUnknown_2031DA8 - ldr r1, [r2] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xA8 - ldrb r0, [r1] - cmp r0, 0xA - bls _0804DB9E - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] -_0804DB96: - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804DB9E: - movs r0, 0 -_0804DBA0: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0804DBA8: .4byte gUnknown_2031DA8 - thumb_func_end shedinja_maker_maybe - thumb_func_start sub_804DBAC sub_804DBAC: @ 804DBAC push {lr} diff --git a/data/trade.s b/data/trade.s index 50cbeb488..fb1c509d1 100644 --- a/data/trade.s +++ b/data/trade.s @@ -551,7 +551,7 @@ gUnknown_8261FC4:: @ 8261FC4 .string "システムメッセージADD$", 13 .string "はいけいセット$", 13 -gUnknown_8262034:: @ 8262034 +gJPText_Shedinja:: @ 8262034 .string "ヌケニン$" .string "こうかんせいりつ $" .string "だめだたらしいよ $" diff --git a/include/link.h b/include/link.h index 552e50970..9465f0404 100644 --- a/include/link.h +++ b/include/link.h @@ -258,5 +258,6 @@ void ClearLinkCallback_2(void); void sub_80FA42C(void); void sub_800B284(struct LinkPlayer * linkPlayer); bool8 IsWirelessAdapterConnected(void); +bool8 sub_800A474(u8 a0); #endif // GUARD_LINK_H diff --git a/src/pokemon.c b/src/pokemon.c index 17f28c7a6..fb7a8c626 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -64,9 +64,11 @@ struct OakSpeechNidoranFStruct struct SpriteFrameImage *frameImages; }; -// TODO: move sLearningMoveTableID, gPlayerPartyCount, gEnemyPartyCount, -// gEnemyParty, gPlayerParty here after resolving symbol ref in between. -extern u8 sLearningMoveTableID; +static EWRAM_DATA u8 sLearningMoveTableID = 0; +EWRAM_DATA u8 gPlayerPartyCount = 0; +EWRAM_DATA u8 gEnemyPartyCount = 0; +EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {}; +EWRAM_DATA struct Pokemon gPlayerParty[PARTY_SIZE] = {}; EWRAM_DATA struct SpriteTemplate gMultiuseSpriteTemplate = {0}; static EWRAM_DATA struct OakSpeechNidoranFStruct *sOakSpeechNidoranResources = NULL; diff --git a/src/trade.c b/src/trade.c index 445338803..42c2792ff 100644 --- a/src/trade.c +++ b/src/trade.c @@ -13,7 +13,9 @@ #include "link.h" #include "link_rfu.h" #include "cable_club.h" +#include "data.h" #include "sound.h" +#include "string_util.h" #include "party_menu.h" #include "pokemon_summary_screen.h" #include "pokemon_storage_system.h" @@ -67,8 +69,10 @@ IWRAM_DATA vu16 gUnknown_3000E78; EWRAM_DATA u8 *gUnknown_2031C90 = NULL; 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; void sub_804C728(void); void sub_804D4F8(void); @@ -101,6 +105,7 @@ extern const u8 *gUnknown_8261ECC[]; extern const u8 gTradeUnknownSpriteCoords[][4]; extern const struct SpriteTemplate gUnknown_8261CB0; extern const struct SpriteTemplate gUnknown_8261CC8; +extern const u8 gJPText_Shedinja[]; void sub_804C600(void) { @@ -2346,9 +2351,165 @@ void sub_804D764(void) gUnknown_2031DA8->tradeMenuOptionsActive[12] = TRUE; } -void sub_804D814(char *dest, const char *src, size_t size) +static void Trade_Memcpy(void *dest, const void *src, size_t size) { int i; + char *_dest = dest; + const char *_src = src; for (i = 0; i < size; i++) - dest[i] = src[i]; + _dest[i] = _src[i]; +} + +bool8 shedinja_maker_maybe(void) +{ + u8 id = GetMultiplayerId(); + int i; + struct Pokemon *mon; + + switch (gUnknown_2031DA8->unk_69) + { + case 0: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); + gUnknown_2031DA8->unk_69++; + gUnknown_2031DA8->unk_A8 = 0; + break; + case 1: + if (IsLinkTaskFinished()) + { + if (GetBlockReceivedStatus() == 0) + { + gUnknown_2031DA8->unk_69++; + } + else + { + ResetBlockReceivedFlags(); + gUnknown_2031DA8->unk_69++; + } + } + break; + case 3: + if (id == 0) + { + sub_800A474(1); + } + gUnknown_2031DA8->unk_69++; + break; + case 4: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[id ^ 1], 2 * sizeof(struct Pokemon)); + ResetBlockReceivedFlags(); + gUnknown_2031DA8->unk_69++; + } + break; + case 5: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon)); + gUnknown_2031DA8->unk_69++; + break; + case 7: + if (id == 0) + { + sub_800A474(1); + } + gUnknown_2031DA8->unk_69++; + break; + case 8: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[id ^ 1], 200); + ResetBlockReceivedFlags(); + gUnknown_2031DA8->unk_69++; + } + break; + case 9: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 200); + gUnknown_2031DA8->unk_69++; + break; + case 11: + if (id == 0) + { + sub_800A474(1); + } + gUnknown_2031DA8->unk_69++; + break; + case 12: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[id ^ 1], 200); + ResetBlockReceivedFlags(); + gUnknown_2031DA8->unk_69++; + } + break; + case 13: + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, 220); + gUnknown_2031DA8->unk_69++; + break; + case 15: + if (id == 0) + { + sub_800A474(3); + } + gUnknown_2031DA8->unk_69++; + break; + case 16: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(gUnknown_2031CCC, gBlockRecvBuffer[id ^ 1], 216); + ResetBlockReceivedFlags(); + gUnknown_2031DA8->unk_69++; + } + break; + case 17: + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11); + gUnknown_2031DA8->unk_69++; + break; + case 19: + if (id == 0) + { + sub_800A474(4); + } + gUnknown_2031DA8->unk_69++; + break; + case 20: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(gUnknown_2031DA8->unk_A9, gBlockRecvBuffer[id ^ 1], 11); + ResetBlockReceivedFlags(); + gUnknown_2031DA8->unk_69++; + } + break; + case 21: + for (i = 0, mon = gEnemyParty; i < PARTY_SIZE; mon++, i++) + { + u8 name[POKEMON_NAME_LENGTH + 1]; + u16 species = GetMonData(mon, MON_DATA_SPECIES); + + if (species != SPECIES_NONE) + { + if (species == SPECIES_SHEDINJA && GetMonData(mon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) + { + GetMonData(mon, MON_DATA_NICKNAME, name); + + if (!StringCompareWithoutExtCtrlCodes(name, gJPText_Shedinja)) + { + SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); + } + } + } + } + return TRUE; + case 2: + case 6: + case 10: + case 14: + case 18: + gUnknown_2031DA8->unk_A8++; + if (gUnknown_2031DA8->unk_A8 > 10) + { + gUnknown_2031DA8->unk_A8 = 0; + gUnknown_2031DA8->unk_69++; + } + break; + } + return FALSE; } diff --git a/sym_ewram.txt b/sym_ewram.txt index 77acf5657..67c1e4de8 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -18,75 +18,18 @@ .space 8 @ .include "src/link_rfu.o" + .align 2 .include "src/battle_controllers.o" + .align 2 .include "src/battle_main.o" - -sLearningMoveTableID: @ 2024028 - .space 0x1 - -gPlayerPartyCount: @ 2024029 - .space 0x1 - -gEnemyPartyCount: @ 202402A - .space 0x2 - -gEnemyParty: @ 202402C - .space 0xC8 - -gUnknown_20240F4: @ 20240F4 - .space 0x64 - -gUnknown_2024158: @ 2024158 - .space 0x64 - -gUnknown_20241BC: @ 20241BC - .space 0x64 - -gUnknown_2024220: @ 2024220 - .space 0x64 - -gPlayerParty: @ 2024284 - .space 0x64 - -gUnknown_20242E8: @ 20242E8 - .space 0x64 - -gUnknown_202434C: @ 202434C - .space 0x64 - -gUnknown_20243B0: @ 20243B0 - .space 0x64 - -gUnknown_2024414: @ 2024414 - .space 0x64 - -gUnknown_2024478: @ 2024478 - .space 0x64 - + .align 2 .include "src/pokemon.o" + .align 2 .include "src/daycare.o" .align 2 .include "src/load_save.o" - .align 2 -gUnknown_2031C90: @ 2031C90 - .space 0x4 - -gUnknown_2031C94: @ 2031C94 - .space 0x38 - -gUnknown_2031CCC: @ 2031CCC - .space 0xD8 - -gUnknown_2031DA4: @ 2031DA4 - .space 0x4 - -gUnknown_2031DA8: @ 2031DA8 - .space 0x4 - -gUnknown_2031DAC: @ 2031DAC - .space 0x4 - + .include "src/trade.o" .align 2 .include "src/new_game.o" |