diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2017-11-18 20:24:39 -0500 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2017-11-18 20:24:39 -0500 |
commit | be716ef9f841589c67f152a90ce5c7c29f7211d8 (patch) | |
tree | af6b7422327908415f5aa9cbe64d97273076971a /src/engine | |
parent | 016b2d16bcc735053267b3b5e8cd597807db4055 (diff) |
change Sprite struct to use a data array instead of manual declares.
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/main_menu.c | 6 | ||||
-rw-r--r-- | src/engine/naming_screen.c | 110 | ||||
-rw-r--r-- | src/engine/reset_rtc_screen.c | 20 | ||||
-rw-r--r-- | src/engine/sprite.c | 9 | ||||
-rw-r--r-- | src/engine/trade.c | 96 |
5 files changed, 117 insertions, 124 deletions
diff --git a/src/engine/main_menu.c b/src/engine/main_menu.c index 031dc49d1..a8375c6dd 100644 --- a/src/engine/main_menu.c +++ b/src/engine/main_menu.c @@ -844,7 +844,7 @@ static void Task_NewGameSpeech6(u8 taskId) gSprites[spriteId].pos1.x = 104; gSprites[spriteId].pos1.y = 72; gSprites[spriteId].invisible = 0; - gSprites[spriteId].data0 = 0; + gSprites[spriteId].data[0] = 0; CreatePokeballSprite(spriteId, gSprites[spriteId].oam.paletteNum, 0x70, 0x3A, 0, 0, 0x20, 0x0000FFFF); gTasks[taskId].func = Task_NewGameSpeech7; gTasks[taskId].tFrameCounter = 0; @@ -1423,9 +1423,9 @@ void nullsub_34(struct Sprite *sprite) void ShrinkPlayerSprite(struct Sprite *sprite) { - u32 y = (sprite->pos1.y << 16) + sprite->data0 + 0xC000; + u32 y = (sprite->pos1.y << 16) + sprite->data[0] + 0xC000; sprite->pos1.y = y >> 16; - sprite->data0 = y; + sprite->data[0] = y; } u8 CreateAzurillSprite(u8 x, u8 y) diff --git a/src/engine/naming_screen.c b/src/engine/naming_screen.c index 92a61eb8f..667a42ac8 100644 --- a/src/engine/naming_screen.c +++ b/src/engine/naming_screen.c @@ -1012,8 +1012,8 @@ static void CursorInit(void) namingScreenData.cursorSpriteId = CreateSprite(&gSpriteTemplate_83CE640, 0, 0, 0); gSprites[namingScreenData.cursorSpriteId].oam.priority = 1; gSprites[namingScreenData.cursorSpriteId].oam.objMode = 1; - gSprites[namingScreenData.cursorSpriteId].data6 = 1; - gSprites[namingScreenData.cursorSpriteId].data6 = 2; + gSprites[namingScreenData.cursorSpriteId].data[6] = 1; + gSprites[namingScreenData.cursorSpriteId].data[6] = 2; SetCursorPos(0, 0); } @@ -1040,18 +1040,18 @@ static void SetCursorPos(s16 x, s16 y) cursorSprite->pos1.x = CursorColToKeyboardCol(x) * 8 + 27; cursorSprite->pos1.y = y * 16 + 80; - cursorSprite->data2 = cursorSprite->data0; - cursorSprite->data3 = cursorSprite->data1; - cursorSprite->data0 = x; - cursorSprite->data1 = y; + cursorSprite->data[2] = cursorSprite->data[0]; + cursorSprite->data[3] = cursorSprite->data[1]; + cursorSprite->data[0] = x; + cursorSprite->data[1] = y; } static void GetCursorPos(s16 *x, s16 *y) { struct Sprite *cursorSprite = &gSprites[namingScreenData.cursorSpriteId]; - *x = cursorSprite->data0; - *y = cursorSprite->data1; + *x = cursorSprite->data[0]; + *y = cursorSprite->data[1]; } static void MoveCursorToOKButton(void) @@ -1061,15 +1061,15 @@ static void MoveCursorToOKButton(void) static void sub_80B6888(u8 a) { - gSprites[namingScreenData.cursorSpriteId].data4 &= -256; - gSprites[namingScreenData.cursorSpriteId].data4 |= a; + gSprites[namingScreenData.cursorSpriteId].data[4] &= -256; + gSprites[namingScreenData.cursorSpriteId].data[4] |= a; StartSpriteAnim(&gSprites[namingScreenData.cursorSpriteId], 0); } static void sub_80B68D8(u8 a) { - gSprites[namingScreenData.cursorSpriteId].data4 &= 0xFF; - gSprites[namingScreenData.cursorSpriteId].data4 |= a << 8; + gSprites[namingScreenData.cursorSpriteId].data[4] &= 0xFF; + gSprites[namingScreenData.cursorSpriteId].data[4] |= a << 8; } static void sub_80B6914(void) @@ -1099,28 +1099,28 @@ void sub_80B6998(struct Sprite *sprite) { if (sprite->animEnded) StartSpriteAnim(sprite, 0); - sprite->invisible = (sprite->data4 & 0xFF); - if (sprite->data0 == COLUMN_COUNT - 1) + sprite->invisible = (sprite->data[4] & 0xFF); + if (sprite->data[0] == COLUMN_COUNT - 1) sprite->invisible = TRUE; - if (sprite->invisible || (sprite->data4 & 0xFF00) == 0 - || sprite->data0 != sprite->data2 || sprite->data1 != sprite->data3) + if (sprite->invisible || (sprite->data[4] & 0xFF00) == 0 + || sprite->data[0] != sprite->data[2] || sprite->data[1] != sprite->data[3]) { - sprite->data5 = 0; - sprite->data6 = 1; - sprite->data7 = 2; + sprite->data[5] = 0; + sprite->data[6] = 1; + sprite->data[7] = 2; } - sprite->data7--; - if (sprite->data7 == 0) + sprite->data[7]--; + if (sprite->data[7] == 0) { - sprite->data5 += sprite->data6; - if (sprite->data5 == 16 || sprite->data5 == 0) - sprite->data6 = -sprite->data6; - sprite->data7 = 2; + sprite->data[5] += sprite->data[6]; + if (sprite->data[5] == 16 || sprite->data[5] == 0) + sprite->data[6] = -sprite->data[6]; + sprite->data[7] = 2; } - if ((sprite->data4 & 0xFF00) != 0) + if ((sprite->data[4] & 0xFF00) != 0) { - s8 gb = sprite->data5; - s8 r = sprite->data5 >> 1; + s8 gb = sprite->data[5]; + s8 r = sprite->data[5] >> 1; u16 index = IndexOfSpritePaletteTag(5) * 16 + 0x0101; MultiplyInvertedPaletteRGBComponents(index, r, gb, gb); @@ -1138,20 +1138,20 @@ static void sub_80B6A80(void) SetSubspriteTables(&gSprites[spriteId1], gSubspriteTables_83CE558); spriteId2 = CreateSprite(&gSpriteTemplate_83CE5F8, 0xCC, 0x4C, 1); - gSprites[spriteId1].data6 = spriteId2; + gSprites[spriteId1].data[6] = spriteId2; SetSubspriteTables(&gSprites[spriteId2], gSubspriteTables_83CE560); spriteId3 = CreateSprite(&gSpriteTemplate_83CE5E0, 0xCC, 0x4B, 2); gSprites[spriteId3].oam.priority = 1; - gSprites[spriteId1].data7 = spriteId3; + gSprites[spriteId1].data[7] = spriteId3; } static void sub_80B6B14(void) { struct Sprite *sprite = &gSprites[namingScreenData.unk10]; - sprite->data0 = 2; - sprite->data1 = namingScreenData.currentPage; + sprite->data[0] = 2; + sprite->data[1] = namingScreenData.currentPage; } static u8 sub_80B6B5C(struct Sprite *); @@ -1169,17 +1169,17 @@ static u8 (*const gUnknown_083CE2B4[])(struct Sprite *) = void sub_80B6B34(struct Sprite *sprite) { - while (gUnknown_083CE2B4[sprite->data0](sprite) != 0) + while (gUnknown_083CE2B4[sprite->data[0]](sprite) != 0) ; } static u8 sub_80B6B5C(struct Sprite *sprite) { - struct Sprite *sprite1 = &gSprites[sprite->data6]; - struct Sprite *sprite2 = &gSprites[sprite->data7]; + struct Sprite *sprite1 = &gSprites[sprite->data[6]]; + struct Sprite *sprite2 = &gSprites[sprite->data[7]]; sub_80B6C48(namingScreenData.currentPage, sprite1, sprite2); - sprite->data0++; + sprite->data[0]++; return 0; } @@ -1190,30 +1190,30 @@ static u8 sub_80B6B98(struct Sprite *sprite) static u8 sub_80B6B9C(struct Sprite *sprite) { - struct Sprite *r4 = &gSprites[sprite->data6]; - struct Sprite *r5 = &gSprites[sprite->data7]; + struct Sprite *r4 = &gSprites[sprite->data[6]]; + struct Sprite *r5 = &gSprites[sprite->data[7]]; r4->pos2.y++; if (r4->pos2.y > 7) { - sprite->data0++; + sprite->data[0]++; r4->pos2.y = -4; r4->invisible = TRUE; - sub_80B6C48(((u8)sprite->data1 + 1) % 3, r4, r5); + sub_80B6C48(((u8)sprite->data[1] + 1) % 3, r4, r5); } return 0; } static u8 sub_80B6C08(struct Sprite *sprite) { - struct Sprite *r2 = &gSprites[sprite->data6]; + struct Sprite *r2 = &gSprites[sprite->data[6]]; r2->invisible = FALSE; r2->pos2.y++; if (r2->pos2.y >= 0) { r2->pos2.y = 0; - sprite->data0 = 1; + sprite->data[0] = 1; } return 0; } @@ -1255,7 +1255,7 @@ static void sub_80B6D04(void) { spriteId = CreateSprite(&gSpriteTemplate_83CE670, r1, 0x2C, 0); gSprites[spriteId].oam.priority = 3; - gSprites[spriteId].data0 = i; + gSprites[spriteId].data[0] = i; } } @@ -1263,12 +1263,12 @@ void sub_80B6D9C(struct Sprite *sprite) { const s16 arr[] = {0, -4, -2, -1}; - if (sprite->data0 == 0 || --sprite->data0 == 0) + if (sprite->data[0] == 0 || --sprite->data[0] == 0) { - sprite->data0 = 8; - sprite->data1 = (sprite->data1 + 1) & 3; + sprite->data[0] = 8; + sprite->data[1] = (sprite->data[1] + 1) & 3; } - sprite->pos2.x = arr[sprite->data1]; + sprite->pos2.x = arr[sprite->data[1]]; } void sub_80B6DE8(struct Sprite *sprite) @@ -1277,20 +1277,20 @@ void sub_80B6DE8(struct Sprite *sprite) u8 var; var = GetTextCaretPosition(); - if (var != (u8)sprite->data0) + if (var != (u8)sprite->data[0]) { sprite->pos2.y = 0; - sprite->data1 = 0; - sprite->data2 = 0; + sprite->data[1] = 0; + sprite->data[2] = 0; } else { - sprite->pos2.y = arr[sprite->data1]; - sprite->data2++; - if (sprite->data2 > 8) + sprite->pos2.y = arr[sprite->data[1]]; + sprite->data[2]++; + if (sprite->data[2] > 8) { - sprite->data1 = (sprite->data1 + 1) & 3; - sprite->data2 = 0; + sprite->data[1] = (sprite->data[1] + 1) & 3; + sprite->data[2] = 0; } } } diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index 198bffaa7..5701c1185 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -149,10 +149,10 @@ const u8 gUnknown_08376500[] = _(" : "); void SpriteCB_ResetRtcCusor0(struct Sprite *sprite) { - int state = gTasks[sprite->data0].data[2]; - if (state != sprite->data1) + int state = gTasks[sprite->data[0]].data[2]; + if (state != sprite->data[1]) { - sprite->data1 = state; + sprite->data[1] = state; switch (state) { case 1: @@ -199,10 +199,10 @@ void SpriteCB_ResetRtcCusor0(struct Sprite *sprite) void SpriteCB_ResetRtcCusor1(struct Sprite *sprite) { - int state = gTasks[sprite->data0].data[2]; - if (state != sprite->data1) + int state = gTasks[sprite->data[0]].data[2]; + if (state != sprite->data[1]) { - sprite->data1 = state; + sprite->data[1] = state; switch (state) { case 1: @@ -251,13 +251,13 @@ void ResetRtcScreen_CreateCursor(u8 taskId) spriteId = CreateSpriteAtEnd(&gSpriteTemplate_83764E8, 53, 68, 0); gSprites[spriteId].callback = SpriteCB_ResetRtcCusor0; - gSprites[spriteId].data0 = taskId; - gSprites[spriteId].data1 = -1; + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = -1; spriteId = CreateSpriteAtEnd(&gSpriteTemplate_83764E8, 53, 68, 0); gSprites[spriteId].callback = SpriteCB_ResetRtcCusor1; - gSprites[spriteId].data0 = taskId; - gSprites[spriteId].data1 = -1; + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = -1; } void ResetRtcScreen_FreeCursorPalette(void) diff --git a/src/engine/sprite.c b/src/engine/sprite.c index 34ca3802d..69fa860c1 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -187,14 +187,7 @@ static const struct Sprite sDummySprite = .animPaused = 0, .affineAnimPaused = 0, .animLoopCounter = 0, - .data0 = 0, - .data1 = 0, - .data2 = 0, - .data3 = 0, - .data4 = 0, - .data5 = 0, - .data6 = 0, - .data7 = 0, + .data = {0}, .inUse = 0, .coordOffsetEnabled = 0, .invisible = 0, diff --git a/src/engine/trade.c b/src/engine/trade.c index 41146a22c..729791aff 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -2458,10 +2458,10 @@ static void sub_8049ED4(u8 a0) gSprites[gUnknown_03004824->partyIcons[whichParty][i]].invisible = TRUE; } gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].invisible = FALSE; - gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data0 = 20; - gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data2 = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data4 = gTradeMonSpriteCoords[6 * whichParty + whichPokemon][1] * 8 - 12; - StoreSpriteCallbackInData6(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]], sub_809D62C); + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data[0] = 20; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data[2] = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data[4] = gTradeMonSpriteCoords[6 * whichParty + whichPokemon][1] * 8 - 12; + StoreSpriteCallbackInData(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]], sub_809D62C); gUnknown_03004824->unk_0080[a0] ++; sub_8078A34(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]]); HandleDestroyMenuCursors(); @@ -2675,7 +2675,7 @@ static void sub_8049ED4(u8 a0) "\tlsls r0, 2\n" "\tadds r0, r7\n" "\tldr r1, _0804A0A0 @ =sub_809D62C\n" - "\tbl StoreSpriteCallbackInData6\n" + "\tbl StoreSpriteCallbackInData\n" "\tldr r2, _0804A09C @ =gUnknown_03004824\n" "\tldr r1, [r2]\n" "\tadds r1, 0x80\n" @@ -3816,45 +3816,45 @@ static void sub_804AFB8(const struct WindowConfig *windowConfig, u8 *dest, const static void sub_804B058(struct Sprite *sprite) { - if (++ sprite->data0 == 10) + if (++ sprite->data[0] == 10) { PlaySE(SE_BOWA); - sprite->data0 = 0; + sprite->data[0] = 0; } } static void sub_804B07C(struct Sprite *sprite) { - if (sprite->data1 == 0) + if (sprite->data[1] == 0) { - if (++ sprite->data0 == 12) - sprite->data0 = 0; - LoadPalette(&gTradeGlow2PaletteAnimTable[sprite->data0], 16 * (sprite->oam.paletteNum + 16) + 4, 2); + if (++ sprite->data[0] == 12) + sprite->data[0] = 0; + LoadPalette(&gTradeGlow2PaletteAnimTable[sprite->data[0]], 16 * (sprite->oam.paletteNum + 16) + 4, 2); } } static void sub_804B0BC(struct Sprite *sprite) { - sprite->data0 ++; + sprite->data[0] ++; sprite->pos2.y ++; - if (sprite->data0 == 10) + if (sprite->data[0] == 10) DestroySprite(sprite); } static void sub_804B0E0(struct Sprite *sprite) { - sprite->data0 ++; + sprite->data[0] ++; sprite->pos2.y --; - if (sprite->data0 == 10) + if (sprite->data[0] == 10) DestroySprite(sprite); } static void sub_804B104(struct Sprite *sprite) { - if (++ sprite->data0 == 15) + if (++ sprite->data[0] == 15) { PlaySE(SE_W107); - sprite->data0 = 0; + sprite->data[0] = 0; } } @@ -4989,8 +4989,8 @@ static bool8 sub_804C29C(void) gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3; if (gSprites[gUnknown_03004828->unk_00ba].pos2.y <= -0x5a) { - gSprites[gUnknown_03004828->unk_00ba].data1 = 1; - gSprites[gUnknown_03004828->unk_00bb].data1 = 1; + gSprites[gUnknown_03004828->unk_00ba].data[1] = 1; + gSprites[gUnknown_03004828->unk_00bb].data[1] = 1; gUnknown_03004828->unk_00c4 ++; } break; @@ -5036,8 +5036,8 @@ static bool8 sub_804C29C(void) } if (gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y < -0xde) { - gSprites[gUnknown_03004828->unk_00ba].data1 = 0; - gSprites[gUnknown_03004828->unk_00bb].data1 = 0; + gSprites[gUnknown_03004828->unk_00ba].data[1] = 0; + gSprites[gUnknown_03004828->unk_00bb].data[1] = 0; gUnknown_03004828->unk_00c4 ++; gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = TRUE; gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].invisible = TRUE; @@ -5169,7 +5169,7 @@ static bool8 sub_804C29C(void) break; case 63: gUnknown_03004828->unk_0103 = CreateSprite(&gSpriteTemplate_821595C, 0x78, -0x8, 0); - gSprites[gUnknown_03004828->unk_0103].data3 = 0x4a; + gSprites[gUnknown_03004828->unk_0103].data[3] = 0x4a; gSprites[gUnknown_03004828->unk_0103].callback = sub_804D80C; StartSpriteAnim(&gSprites[gUnknown_03004828->unk_0103], 1); StartSpriteAffineAnim(&gSprites[gUnknown_03004828->unk_0103], 2); @@ -5318,47 +5318,47 @@ static void sub_804D63C(void) static void sub_804D6BC(struct Sprite *sprite) { - sprite->pos1.y += sprite->data0 / 10; - sprite->data5 += sprite->data1; - sprite->pos1.x = sprite->data5 / 10; + sprite->pos1.y += sprite->data[0] / 10; + sprite->data[5] += sprite->data[1]; + sprite->pos1.x = sprite->data[5] / 10; if (sprite->pos1.y > 0x4c) { sprite->pos1.y = 0x4c; - sprite->data0 = -(sprite->data0 * sprite->data2) / 100; - sprite->data3 ++; + sprite->data[0] = -(sprite->data[0] * sprite->data[2]) / 100; + sprite->data[3] ++; } if (sprite->pos1.x == 0x78) - sprite->data1 = 0; - sprite->data0 += sprite->data4; - if (sprite->data3 == 4) + sprite->data[1] = 0; + sprite->data[0] += sprite->data[4]; + if (sprite->data[3] == 4) { - sprite->data7 = 1; + sprite->data[7] = 1; sprite->callback = SpriteCallbackDummy; } } static void sub_804D738(struct Sprite *sprite) { - sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data0]; - if (sprite->data0 == 22) + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (sprite->data[0] == 22) PlaySE(SE_KON); - if (++ sprite->data0 == 44) + if (++ sprite->data[0] == 44) { PlaySE(SE_W025); sprite->callback = sub_804D7AC; - sprite->data0 = 0; + sprite->data[0] = 0; BeginNormalPaletteFade(1 << (16 + sprite->oam.paletteNum), -1, 0, 16, -1); } } static void sub_804D7AC(struct Sprite *sprite) { - if (sprite->data1 == 20) + if (sprite->data[1] == 20) StartSpriteAffineAnim(sprite, 1); - if (++ sprite->data1 > 20) + if (++ sprite->data[1] > 20) { - sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data0]; - if (++ sprite->data0 == 23) + sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (++ sprite->data[0] == 23) { DestroySprite(sprite); gUnknown_03004828->unk_00c4 = 14; // Resume the master trade animation @@ -5368,25 +5368,25 @@ static void sub_804D7AC(struct Sprite *sprite) static void sub_804D80C(struct Sprite *sprite) { - if (sprite->data2 == 0) + if (sprite->data[2] == 0) { - if ((sprite->pos1.y += 4) > sprite->data3) + if ((sprite->pos1.y += 4) > sprite->data[3]) { - sprite->data2 ++; - sprite->data0 = 0x16; + sprite->data[2] ++; + sprite->data[0] = 0x16; PlaySE(SE_KON); } } else { - if (sprite->data0 == 0x42) + if (sprite->data[0] == 0x42) PlaySE(SE_KON2); - if (sprite->data0 == 0x5c) + if (sprite->data[0] == 0x5c) PlaySE(SE_KON3); - if (sprite->data0 == 0x6b) + if (sprite->data[0] == 0x6b) PlaySE(SE_KON4); - sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data0]; - if (++sprite->data0 == 0x6c) + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (++sprite->data[0] == 0x6c) sprite->callback = SpriteCallbackDummy; } } |