diff options
Diffstat (limited to 'src/party_menu.c')
-rw-r--r-- | src/party_menu.c | 156 |
1 files changed, 37 insertions, 119 deletions
diff --git a/src/party_menu.c b/src/party_menu.c index 1608ea5d6..e5e6d5291 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -1356,8 +1356,8 @@ void ChangePartyMenuSelection(u8 taskId, s8 directionPressed) ewram1B000.unk261 = 2; - gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data[0]].x; - gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data[0]].y; + gSprites[spriteId].x = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data[0]].x; + gSprites[spriteId].y = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data[0]].y; } else { @@ -1380,8 +1380,8 @@ void ChangePartyMenuSelection(u8 taskId, s8 directionPressed) ewram1B000.unk261 = 2; - gSprites[spriteId].pos1.x = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data[0]].x; - gSprites[spriteId].pos1.y = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data[0]].y; + gSprites[spriteId].x = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data[0]].x; + gSprites[spriteId].y = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data[0]].y; } UpdateMonIconFrame_806DA44(taskId, gSprites[spriteId].data[0], 1); @@ -1683,8 +1683,8 @@ void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed) break; } - gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data[0]].x; - gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data[0]].y; + gSprites[spriteId].x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data[0]].x; + gSprites[spriteId].y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data[0]].y; newMenuIndex = gSprites[spriteId].data[0]; @@ -1721,8 +1721,8 @@ void SelectBattleTowerOKButton(u8 taskId) gSprites[spriteId].data[1] = 0; gSprites[spriteId].data[0] = 6; - gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].x; - gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].y; + gSprites[spriteId].x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].x; + gSprites[spriteId].y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].y; sub_806BB9C(2); @@ -1778,8 +1778,8 @@ void sub_806C9C4(u8 taskId, u8 spriteId) { u8 spriteId2 = sub_806CA00(taskId); - gSprites[spriteId].pos1.x = gSprites[spriteId2].pos1.x; - gSprites[spriteId].pos1.y = gSprites[spriteId2].pos1.y; + gSprites[spriteId].x = gSprites[spriteId2].x; + gSprites[spriteId].y = gSprites[spriteId2].y; gSprites[spriteId].data[0] = gSprites[spriteId2].data[0]; } @@ -1966,98 +1966,16 @@ void SwapValues_s16(s16 *a, s16 *b) *b = temp; } -// not really sure, but creates +4 -#ifdef NONMATCHING void sub_806CF04(void) { - SwapValues_s16(&gSprites[ewram01000.unk3].pos1.x, &gSprites[ewram01000.unk4].pos1.x); - SwapValues_s16(&gSprites[ewram01000.unk3].pos1.y, &gSprites[ewram01000.unk4].pos1.y); - SwapValues_s16(&gSprites[ewram01000.unk3].pos2.x, &gSprites[ewram01000.unk4].pos2.x); + SwapValues_s16(&gSprites[ewram01000.unk3].x, &gSprites[ewram01000.unk4].x); + SwapValues_s16(&gSprites[ewram01000.unk3].y, &gSprites[ewram01000.unk4].y); + SwapValues_s16(&gSprites[ewram01000.unk3].x2, &gSprites[ewram01000.unk4].x2); SwapValues_s16(&gSprites[ewram01000.unk3].data[0], &gSprites[ewram01000.unk4].data[0]); gSprites[ewram01000.unk3].callback = SpriteCB_sub_806D37C; gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C; } -#else -NAKED -void sub_806CF04(void) -{ - asm(".syntax unified\n\ - push {r4,r5,lr}\n\ - ldr r4, _0806CF94 @ =gSharedMem + 0x1000\n\ - ldrb r1, [r4, 0x3]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - ldr r5, _0806CF98 @ =gSprites + 0x20\n\ - adds r0, r5\n\ - ldrb r2, [r4, 0x4]\n\ - lsls r1, r2, 4\n\ - adds r1, r2\n\ - lsls r1, 2\n\ - adds r1, r5\n\ - bl SwapValues_s16\n\ - ldrb r1, [r4, 0x3]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r3, r5, 0x2\n\ - adds r0, r3\n\ - ldrb r2, [r4, 0x4]\n\ - lsls r1, r2, 4\n\ - adds r1, r2\n\ - lsls r1, 2\n\ - adds r1, r3\n\ - bl SwapValues_s16\n\ - ldrb r1, [r4, 0x3]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r3, r5, 0x4\n\ - adds r0, r3\n\ - ldrb r2, [r4, 0x4]\n\ - lsls r1, r2, 4\n\ - adds r1, r2\n\ - lsls r1, 2\n\ - adds r1, r3\n\ - bl SwapValues_s16\n\ - ldrb r1, [r4, 0x3]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r3, r5, 0\n\ - adds r3, 0xE\n\ - adds r0, r3\n\ - ldrb r2, [r4, 0x4]\n\ - lsls r1, r2, 4\n\ - adds r1, r2\n\ - lsls r1, 2\n\ - adds r1, r3\n\ - bl SwapValues_s16\n\ - ldrb r1, [r4, 0x3]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - subs r5, 0x4\n\ - adds r0, r5\n\ - ldr r2, _0806CF9C @ =SpriteCB_sub_806D37C\n\ - str r2, [r0]\n\ - ldrb r1, [r4, 0x4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r5\n\ - str r2, [r0]\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_0806CF94: .4byte gSharedMem + 0x1000\n\ -_0806CF98: .4byte gSprites + 0x20\n\ -_0806CF9C: .4byte SpriteCB_sub_806D37C\n\ - .syntax divided\n"); -} -#endif // NONMATCHING void sub_806CFA0(u8 taskId, u8 b) { @@ -2149,16 +2067,16 @@ void sub_806D198(u8 taskId) SetMonIconSpriteId(ewram01000.unk0, ewram01000.unk5, ewram01000.unk4); SetMonIconSpriteId(ewram01000.unk0, ewram01000.unk6, ewram01000.unk3); - gSprites[ewram01000.unk3].pos1.x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].x; - gSprites[ewram01000.unk3].pos1.y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].y; - gSprites[ewram01000.unk3].pos2.x = 0; - gSprites[ewram01000.unk3].pos2.y = 0; + gSprites[ewram01000.unk3].x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].x; + gSprites[ewram01000.unk3].y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].y; + gSprites[ewram01000.unk3].x2 = 0; + gSprites[ewram01000.unk3].y2 = 0; gSprites[ewram01000.unk3].callback = UpdateMonIconFrame_806DA38; - gSprites[ewram01000.unk4].pos1.x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].x; - gSprites[ewram01000.unk4].pos1.y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].y; - gSprites[ewram01000.unk4].pos2.x = 0; - gSprites[ewram01000.unk4].pos2.y = 0; + gSprites[ewram01000.unk4].x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].x; + gSprites[ewram01000.unk4].y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].y; + gSprites[ewram01000.unk4].x2 = 0; + gSprites[ewram01000.unk4].y2 = 0; gSprites[ewram01000.unk4].callback = UpdateMonIconFrame_806DA38; spriteId = GetMonIconSpriteId(ewram01000.unk0, gSprites[ewram01000.unk2].data[0]); @@ -2184,7 +2102,7 @@ void SpriteCB_sub_806D37C(struct Sprite *sprite) { UpdateMonIconFrame(sprite); - if (sprite->pos2.x == sprite->data[2]) + if (sprite->x2 == sprite->data[2]) { sprite->data[0] *= -1; sprite->data[2] = 0; @@ -2192,7 +2110,7 @@ void SpriteCB_sub_806D37C(struct Sprite *sprite) } else { - sprite->pos2.x += sprite->data[0]; + sprite->x2 += sprite->data[0]; } } @@ -2234,7 +2152,7 @@ void sub_806D4AC(u8 taskId, u16 species, u8 c) void sub_806D50C(u8 taskId, u8 monIndex) { - gSprites[GetMonIconSpriteId(taskId, monIndex)].pos1.x += 0xF0; + gSprites[GetMonIconSpriteId(taskId, monIndex)].x += 0xF0; } void PrintPartyMenuPromptText(u8 textId, u8 b) @@ -2409,9 +2327,9 @@ void UpdateMonIconFrame_806DA0C(struct Sprite *sprite) if (var1) { if (var1 & 1) - sprite->pos2.y = -3; + sprite->y2 = -3; else - sprite->pos2.y = 1; + sprite->y2 = 1; } } @@ -2427,7 +2345,7 @@ void UpdateMonIconFrame_806DA44(u8 taskId, u8 monIndex, u8 c) if (monIndex < PARTY_SIZE) { spriteId = GetMonIconSpriteId(taskId, monIndex); - gSprites[spriteId].pos2.y = 0; + gSprites[spriteId].y2 = 0; gSprites[spriteId].data[0] = 0; if (!c) @@ -2454,8 +2372,8 @@ void SpriteCB_HeldItemIcon(struct Sprite *sprite) else { sprite->invisible = FALSE; - sprite->pos1.x = gSprites[data7].pos1.x + gSprites[data7].pos2.x; - sprite->pos1.y = gSprites[data7].pos1.y + gSprites[data7].pos2.y; + sprite->x = gSprites[data7].x + gSprites[data7].x2; + sprite->y = gSprites[data7].y + gSprites[data7].y2; } } @@ -2467,8 +2385,8 @@ void CreateHeldItemIcon(u8 a, u8 b) subPriority = gSprites[a].subpriority; spriteId = CreateSprite(&gSpriteTemplate_837660C, 0xFA, 0xAA, subPriority - 1); - gSprites[spriteId].pos2.x = 4; - gSprites[spriteId].pos2.y = 10; + gSprites[spriteId].x2 = 4; + gSprites[spriteId].y2 = 10; gSprites[spriteId].callback = SpriteCB_HeldItemIcon; gSprites[spriteId].data[7] = a; @@ -2515,8 +2433,8 @@ void CreateHeldItemIcons_806DC34(u8 taskId) monIconSpriteId = GetMonIconSpriteId(taskId, i); heldItemSpriteId = CreateSprite(&gSpriteTemplate_837660C, 0xFA, 0xAA, 4); - gSprites[heldItemSpriteId].pos2.x = 4; - gSprites[heldItemSpriteId].pos2.y = 10; + gSprites[heldItemSpriteId].x2 = 4; + gSprites[heldItemSpriteId].y2 = 10; gSprites[heldItemSpriteId].data[7] = monIconSpriteId; gSprites[monIconSpriteId].data[7] = heldItemSpriteId; @@ -2536,8 +2454,8 @@ void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item) monIconSpriteId = GetMonIconSpriteId(taskId, monIndex); heldItemSpriteId = CreateSprite(&gSpriteTemplate_837660C, 0xFA, 0xAA, 4); - gSprites[heldItemSpriteId].pos2.x = 4; - gSprites[heldItemSpriteId].pos2.y = 10; + gSprites[heldItemSpriteId].x2 = 4; + gSprites[heldItemSpriteId].y2 = 10; gSprites[heldItemSpriteId].data[7] = monIconSpriteId; gSprites[monIconSpriteId].data[7] = heldItemSpriteId; @@ -2652,8 +2570,8 @@ void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite) { u8 spriteId = sprite->data[7]; - sprite->pos1.x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; - sprite->pos1.y = gSprites[spriteId].pos1.y; + sprite->x = gSprites[spriteId].x + gSprites[spriteId].x2; + sprite->y = gSprites[spriteId].y; } u8 GetMonIconSpriteId(u8 taskId, u8 monIndex) |