From 659bff4c0b7f94db727bc0a22a845da542329af0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 28 Oct 2023 13:48:26 -0300 Subject: [PATCH] Seen/Owned 4 digits in HGSS dex --- graphics/pokedex/hgss/tileset_interface.png | Bin 1126 -> 1120 bytes src/pokedex.c | 2 +- src/pokedex_plus_hgss.c | 69 ++++++++++++++------ 3 files changed, 49 insertions(+), 22 deletions(-) diff --git a/graphics/pokedex/hgss/tileset_interface.png b/graphics/pokedex/hgss/tileset_interface.png index 8b4e944417a75af8c2212ae3953af20e4cd3b25d..528176f36d6d2707dc0d11745461f133b5344d8e 100644 GIT binary patch delta 1052 zcmV+%1mpYW2;c~i7zqdi0002gm!8>?dp~~=bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z000BeNkl!tewuXGSE9h-%{4dGB%*jk<6G08pX;xe@viw{ z{)YL1h9%l4_49)x#QA~W>dAEY->)GO;{4zVH9vUJ*ga%qw8KU-6RuL4An?#(mJm3d z5M;zo=}0)_?S!C{6c5`#&0HI=sLZR>pNH#n3;|m1dG#WvdY}wvIUl?ei zxN^V~IA!aD5MU;JTl#eY_(coDyzScxHH+G82ho9_g&=l7-ew28h!(QV4t4>jrhiVv z!$e$aYI+gC*&#d0mYfjR^W-P=}m%}{gyBdcrvVFa~{O36BUVefydw>a3aK3G;3 zJWN67T{d1)W5BW`;RM?pc t8s8=Y+CL6`D?9E*?G>JX0>LUq{(Je;)Kw%LTdhv9@i$Gbb`m%#o&e~8$FT++W}emU6~jyMK_ zbXy?MdB;SMtbqWLU^T=hU~Zy~1a=mw2*nvd+`{}rdh@gVAz4v(fs}jnYjhwa$48GU zu?$u9$wxD|kv@ct!>hAYp6ULk3pM+|I@l%j-s7Da)Cy|O(guIK#2v`DHyG>vgT67x zY|%ejv`ZpNifx$ef?HoTMr|J4U_88kV8n6ZTMEKGYz80X$EZJg+Iuz_asSYsjN$Wf z(OgC%N+#XQ<026*b%^cGV@pWpNzeH9H4I}Ui%tMC8-02g#cSaefw zW^{L9a%BKVOhiylM<8}(av(DOV1ZP1_ zK>z@;j|==^1(6{?e*t1kM?}G7X76qQ00W9iL_t(|ob6XZuG}CDB@$huoFG?W!Jck< zmMnASL_*5awGB3q$^4GgKclL`KZD4_*bf^VzA;(cPAveGcawYPx{1QM?HvH?3N7Hy zbtM%AP=QqhAO%)Y09bZ)duEeWPPW(qjRMU&TLpRnc&7fuf8bSR$c_B?_3P&V2Jj5{ zQp!1((_Sir2vB8!?L0SZVFfzGZap`CumM;*0BxKE5>LGCKlK_UNIGQfNjDW%E`#c{rAOHkRWaD6i z*~^rTqL(Qfe_f6__p!%Dfdb-S$DiBZRwrNDALUQ?2WEBS1k3&qK=%iYZS8irYHSx9 zv@lnL zu`K{G_4R|-r$Y6^yjVWo0gU1?a(KIFxQ;FXUpZmqf(i%u<*?aaf5!o%q$rA#9)6~H*) zWhA?1AmunXbj>_65b|u|;X>+`r5+qK@o?h*A!-tr3V5S=VRFo?#DUkrfVU+t_-1|M zzb;JtxA7=EtgKqy)&Pkm$qNB(UWiAR7viCLf06lWCx@*yJmkNX@M^y+9vJRYRnijx ze=AGq0CeR`=gy**UojX;L4~V_(0*T>co8&ZFRG2DGj)8dtWx>h^3cLqcqkuREZYEe zAyU+=Xo*{05LWC^24tF*DR(?f_TPM#@}769UJgOkXj#_JiRr&f8V9YyV$j~xxbP7F z^-Eeacf&*ZlsG6K;nC*BcYJPne36%GGq7%ux-Fjpb)Skn$;X9<8VunN9)=7VGGxe* bA#a!88nu#o8tc|X00000NkvXXu0mjf?|0si diff --git a/src/pokedex.c b/src/pokedex.c index ef8c7899d8..60835c22fe 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -2891,7 +2891,7 @@ static void CreateInterfaceSprites(u8 page) { u16 seenOwnedCount; // Changes sprite distance based on the seen count (owned count can't ever be bigger than it) - u8 counterXDist = sPokedexView->seenCount > 999 ? 7 : 8; + u8 counterXDist = 7; u8 counterX1s = sPokedexView->seenCount > 999 ? 57 : 56; u8 counterX10s = counterX1s - counterXDist; u8 counterX100s = counterX10s - counterXDist; diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index 65df818263..6b21a41a22 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -3227,6 +3227,11 @@ static void CreateInterfaceSprites(u8 page) else if (page == PAGE_MAIN) { u16 seenOwnedCount; + u8 counterXDist = 6; + u8 counterX1s = LIST_RIGHT_SIDE_TEXT_X + 28 - (sPokedexView->seenCount > 999 ? 0 : 1); + u8 counterX10s = counterX1s - counterXDist; + u8 counterX100s = counterX10s - counterXDist; + u8 counterX1000s = counterX100s - counterXDist; // Hoenn text CreateSprite(&sHoennNationalTextSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X, 40 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET - 6, 1); @@ -3248,7 +3253,7 @@ static void CreateInterfaceSprites(u8 page) // Hoenn seen value - 100s seenOwnedCount = GetHoennPokedexCount(FLAG_GET_SEEN); drawNextDigit = FALSE; - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET, 45 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX100s, 45 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); digitNum = seenOwnedCount / 100; StartSpriteAnim(&gSprites[spriteId], digitNum); if (digitNum != 0) @@ -3257,7 +3262,7 @@ static void CreateInterfaceSprites(u8 page) gSprites[spriteId].invisible = TRUE; // Hoenn seen value - 10s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 8, 45 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX10s, 45 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); digitNum = (seenOwnedCount % 100) / 10; if (digitNum != 0 || drawNextDigit) StartSpriteAnim(&gSprites[spriteId], digitNum); @@ -3265,14 +3270,14 @@ static void CreateInterfaceSprites(u8 page) gSprites[spriteId].invisible = TRUE; // Hoenn seen value - 1s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 16, 45 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX1s, 45 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); digitNum = (seenOwnedCount % 100) % 10; StartSpriteAnim(&gSprites[spriteId], digitNum); seenOwnedCount = GetHoennPokedexCount(FLAG_GET_CAUGHT); // Hoenn owned value - 100s drawNextDigit = FALSE; - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET, 55 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX100s, 55 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); digitNum = seenOwnedCount / 100; StartSpriteAnim(&gSprites[spriteId], digitNum); if (digitNum != 0) @@ -3281,7 +3286,7 @@ static void CreateInterfaceSprites(u8 page) gSprites[spriteId].invisible = TRUE; // Hoenn owned value - 10s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 8, 55 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX10s, 55 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); digitNum = (seenOwnedCount % 100) / 10; if (digitNum != 0 || drawNextDigit) StartSpriteAnim(&gSprites[spriteId], digitNum); @@ -3289,55 +3294,77 @@ static void CreateInterfaceSprites(u8 page) gSprites[spriteId].invisible = TRUE; // Hoenn owned value - 1s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 16, 55 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX1s, 55 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); digitNum = (seenOwnedCount % 100) % 10; StartSpriteAnim(&gSprites[spriteId], digitNum); //**************************** - // National seen value - 100s + // National seen value - 1000s drawNextDigit = FALSE; - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET, 78 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); - digitNum = sPokedexView->seenCount / 100; + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX1000s, 78 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = sPokedexView->seenCount / 1000; StartSpriteAnim(&gSprites[spriteId], digitNum); if (digitNum != 0) drawNextDigit = TRUE; else gSprites[spriteId].invisible = TRUE; + // National seen value - 100s + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX100s, 78 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = (sPokedexView->seenCount % 1000) / 100; + if (digitNum != 0 || drawNextDigit) + { + drawNextDigit = TRUE; + StartSpriteAnim(&gSprites[spriteId], digitNum); + } + else + gSprites[spriteId].invisible = TRUE; + // National seen value - 10s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 8, 78 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); - digitNum = (sPokedexView->seenCount % 100) / 10; + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX10s, 78 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = ((sPokedexView->seenCount % 1000) % 100) / 10; if (digitNum != 0 || drawNextDigit) StartSpriteAnim(&gSprites[spriteId], digitNum); else gSprites[spriteId].invisible = TRUE; // National seen value - 1s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 16, 78 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); - digitNum = (sPokedexView->seenCount % 100) % 10; + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX1s, 78 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = ((sPokedexView->seenCount % 1000) % 100) % 10; StartSpriteAnim(&gSprites[spriteId], digitNum); - // National owned value - 100s + // National owned value - 1000s drawNextDigit = FALSE; - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET, 88 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); - digitNum = sPokedexView->ownCount / 100; + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX1000s, 88 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = sPokedexView->ownCount / 1000; StartSpriteAnim(&gSprites[spriteId], digitNum); if (digitNum != 0) drawNextDigit = TRUE; else gSprites[spriteId].invisible = TRUE; - // National owned value - 10s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 8, 88 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); - digitNum = (sPokedexView->ownCount % 100) / 10; + // National owned value - 100s + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX100s, 88 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = (sPokedexView->ownCount % 1000) / 100; + if (digitNum != 0 || drawNextDigit) + { + drawNextDigit = TRUE; + StartSpriteAnim(&gSprites[spriteId], digitNum); + } + else + gSprites[spriteId].invisible = TRUE; + + // National owned value - 10s + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX10s, 88 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = ((sPokedexView->ownCount % 1000) % 100) / 10; if (digitNum != 0 || drawNextDigit) StartSpriteAnim(&gSprites[spriteId], digitNum); else gSprites[spriteId].invisible = TRUE; // National owned value - 1s - spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, LIST_RIGHT_SIDE_TEXT_X + LIST_RIGHT_SIDE_TEXT_X_OFFSET + 16, 88 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); - digitNum = (sPokedexView->ownCount % 100) % 10; + spriteId = CreateSprite(&sNationalDexSeenOwnNumberSpriteTemplate, counterX1s, 88 - LIST_RIGHT_SIDE_TEXT_Y_OFFSET, 1); + digitNum = ((sPokedexView->ownCount % 1000) % 100) % 10; StartSpriteAnim(&gSprites[spriteId], digitNum); }