From 7dc95a0103af08c95c9093b6efa6c77af77a2538 Mon Sep 17 00:00:00 2001 From: aaaaaa123456789 Date: Sun, 13 Sep 2020 04:22:50 -0300 Subject: Undo PokeCodec's PRs This commit undoes most of PokeCodec's PRs after the debate in chat. Some harmless or completely superseded PRs have been left alone, as there is not much benefit in attempting to undo them. Reverts #1104, #1108, #1115, #1118, #1119, #1124, #1126, #1127, #1132, #1136, #1137, #1139, #1140, #1144, #1148, #1149, #1150, #1153, #1155, #1177, #1179, #1180, #1181, #1182 and #1183. --- src/link_rfu_3.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 12 deletions(-) (limited to 'src/link_rfu_3.c') diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 821b2d118..db1ba8b43 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -309,7 +309,8 @@ static const struct SpriteTemplate sWirelessStatusIndicatorSpriteTemplate = { void RfuRecvQueue_Reset(struct RfuRecvQueue *queue) { - s32 i, j; + s32 i; + s32 j; for (i = 0; i < RECV_QUEUE_NUM_SLOTS; i++) { @@ -326,7 +327,8 @@ void RfuRecvQueue_Reset(struct RfuRecvQueue *queue) void RfuSendQueue_Reset(struct RfuSendQueue *queue) { - s32 i, j; + s32 i; + s32 j; for (i = 0; i < SEND_QUEUE_NUM_SLOTS; i++) { @@ -343,7 +345,8 @@ void RfuSendQueue_Reset(struct RfuSendQueue *queue) static void RfuUnusedQueue_Reset(struct RfuUnusedQueue *queue) { - s32 i, j; + s32 i; + s32 j; for (i = 0; i < UNUSED_QUEUE_NUM_SLOTS; i++) { @@ -620,39 +623,105 @@ static void ASCIIToPkmnStr(u8 *pkmnStr, const u8 *asciiStr) pkmnStr[i] = EOS; } +#ifdef NONMATCHING static u8 GetConnectedChildStrength(u8 maxFlags) { u8 flagCount = 0; - u8 flags = gRfuLinkStatus->connSlotFlag; + u32 flags = gRfuLinkStatus->connSlotFlag; u8 i; if (gRfuLinkStatus->parentChild == MODE_PARENT) { - for (i = 0; i < RFU_CHILD_MAX; i++) + for (i = 0; i < 4; flags >>= 1, i++) { if (flags & 1) { if (maxFlags == flagCount + 1) - { return gRfuLinkStatus->strength[i]; - break; // This break is needed to match - } flagCount++; } - flags >>= 1; } } else { - for (i = 0; i < 4; i++) + for (i = 0; i < 4; flags >>= 1, i++) { if (flags & 1) return gRfuLinkStatus->strength[i]; - flags >>= 1; } } return 0; } +#else +NAKED +static u8 GetConnectedChildStrength(u8 maxFlags) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tmovs r6, 0\n" + "\tldr r0, =gRfuLinkStatus\n" + "\tldr r4, [r0]\n" + "\tldrb r2, [r4, 0x2]\n" + "\tldrb r1, [r4]\n" + "\tadds r7, r0, 0\n" + "\tcmp r1, 0x1\n" + "\tbne _0800DD72\n" + "\tmovs r3, 0\n" + "\tands r1, r2\n" + "\tcmp r1, 0\n" + "\tbeq _0800DD4E\n" + "\tcmp r5, 0x1\n" + "\tbne _0800DD48\n" + "\tldrb r0, [r4, 0xA]\n" + "\tb _0800DD8C\n" + "\t.pool\n" + "_0800DD48:\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "_0800DD4E:\n" + "\tlsrs r2, 1\n" + "\tadds r0, r3, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tcmp r3, 0x3\n" + "\tbhi _0800DD8A\n" + "\tmovs r0, 0x1\n" + "\tands r0, r2\n" + "\tcmp r0, 0\n" + "\tbeq _0800DD4E\n" + "\tadds r0, r6, 0x1\n" + "\tcmp r5, r0\n" + "\tbne _0800DD48\n" + "_0800DD68:\n" + "\tldr r0, [r7]\n" + "\tadds r0, 0xA\n" + "\tadds r0, r3\n" + "\tldrb r0, [r0]\n" + "\tb _0800DD8C\n" + "_0800DD72:\n" + "\tmovs r3, 0\n" + "\tmovs r1, 0x1\n" + "_0800DD76:\n" + "\tadds r0, r2, 0\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0800DD68\n" + "\tlsrs r2, 1\n" + "\tadds r0, r3, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tcmp r3, 0x3\n" + "\tbls _0800DD76\n" + "_0800DD8A:\n" + "\tmovs r0, 0\n" + "_0800DD8C:\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1"); +} +#endif void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 started, s32 child_sprite_genders) { @@ -922,7 +991,8 @@ void RecordMixTrainerNames(void) { if (gWirelessCommType != 0) { - s32 i, j; + s32 i; + s32 j; s32 nextSpace; s32 connectedTrainerRecordIndices[5]; struct TrainerNameRecord *newRecords = calloc(ARRAY_COUNT(gSaveBlock1Ptr->trainerNameRecords), sizeof(struct TrainerNameRecord)); -- cgit v1.2.3 From 2945a3a8458f063462089b148d5d80527c3f1010 Mon Sep 17 00:00:00 2001 From: Kurausukun Date: Thu, 22 Oct 2020 05:03:16 -0400 Subject: re-match GetConnectedChildStrength --- src/link_rfu_3.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/link_rfu_3.c') diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index db1ba8b43..b347d8cc7 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -637,7 +637,10 @@ static u8 GetConnectedChildStrength(u8 maxFlags) if (flags & 1) { if (maxFlags == flagCount + 1) + { return gRfuLinkStatus->strength[i]; + break; + } flagCount++; } } -- cgit v1.2.3 From 0bca313b41e44d2c63c39a61014a1eb5c67a8b5c Mon Sep 17 00:00:00 2001 From: Kurausukun Date: Thu, 22 Oct 2020 05:04:35 -0400 Subject: remove naked asm (oops) --- src/link_rfu_3.c | 71 -------------------------------------------------------- 1 file changed, 71 deletions(-) (limited to 'src/link_rfu_3.c') diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index b347d8cc7..c6344f503 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -623,7 +623,6 @@ static void ASCIIToPkmnStr(u8 *pkmnStr, const u8 *asciiStr) pkmnStr[i] = EOS; } -#ifdef NONMATCHING static u8 GetConnectedChildStrength(u8 maxFlags) { u8 flagCount = 0; @@ -655,76 +654,6 @@ static u8 GetConnectedChildStrength(u8 maxFlags) } return 0; } -#else -NAKED -static u8 GetConnectedChildStrength(u8 maxFlags) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tlsls r0, 24\n" - "\tlsrs r5, r0, 24\n" - "\tmovs r6, 0\n" - "\tldr r0, =gRfuLinkStatus\n" - "\tldr r4, [r0]\n" - "\tldrb r2, [r4, 0x2]\n" - "\tldrb r1, [r4]\n" - "\tadds r7, r0, 0\n" - "\tcmp r1, 0x1\n" - "\tbne _0800DD72\n" - "\tmovs r3, 0\n" - "\tands r1, r2\n" - "\tcmp r1, 0\n" - "\tbeq _0800DD4E\n" - "\tcmp r5, 0x1\n" - "\tbne _0800DD48\n" - "\tldrb r0, [r4, 0xA]\n" - "\tb _0800DD8C\n" - "\t.pool\n" - "_0800DD48:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r6, r0, 24\n" - "_0800DD4E:\n" - "\tlsrs r2, 1\n" - "\tadds r0, r3, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tcmp r3, 0x3\n" - "\tbhi _0800DD8A\n" - "\tmovs r0, 0x1\n" - "\tands r0, r2\n" - "\tcmp r0, 0\n" - "\tbeq _0800DD4E\n" - "\tadds r0, r6, 0x1\n" - "\tcmp r5, r0\n" - "\tbne _0800DD48\n" - "_0800DD68:\n" - "\tldr r0, [r7]\n" - "\tadds r0, 0xA\n" - "\tadds r0, r3\n" - "\tldrb r0, [r0]\n" - "\tb _0800DD8C\n" - "_0800DD72:\n" - "\tmovs r3, 0\n" - "\tmovs r1, 0x1\n" - "_0800DD76:\n" - "\tadds r0, r2, 0\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbne _0800DD68\n" - "\tlsrs r2, 1\n" - "\tadds r0, r3, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tcmp r3, 0x3\n" - "\tbls _0800DD76\n" - "_0800DD8A:\n" - "\tmovs r0, 0\n" - "_0800DD8C:\n" - "\tpop {r4-r7}\n" - "\tpop {r1}\n" - "\tbx r1"); -} -#endif void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 started, s32 child_sprite_genders) { -- cgit v1.2.3