summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-04-05 19:08:00 -0400
committerhuderlem <huderlem@gmail.com>2019-04-06 08:16:13 -0500
commitfc14f378b24ecb8e16fe222e1059af767be25693 (patch)
treec68a03e7dd4f5621241a9ee5c11cca0209f0fd0d /src
parenta4ad6edc79e6ed6c895bcfe9e323310b5c97f4a4 (diff)
sub_80F66E0
Diffstat (limited to 'src')
-rw-r--r--src/pokenav.c73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/pokenav.c b/src/pokenav.c
index b995903dc..229e0a948 100644
--- a/src/pokenav.c
+++ b/src/pokenav.c
@@ -6073,3 +6073,76 @@ u8 * sub_80F6514(u8 * r10, u16 sp0, u8 sp4)
}
return dest;
}
+
+extern const u16 gUnknown_083E499C[];
+
+void sub_80F66E0(void)
+{
+ u8 r9;
+ u32 r7;
+ u16 i, j;
+ u8 r2;
+ u8 r0;
+
+ sub_80F6514(gPokenavStructPtr->unk8829[0], gPokenavStructPtr->unk876E, 0);
+ sub_80F4824(gPokenavStructPtr->unk876E, 0);
+ gPokenavStructPtr->unk87DC = gPokenavStructPtr->unk876E;
+ gPokenavStructPtr->unkBC8E = 0;
+ r9 = 0;
+ r7 = sub_80F44B0(gPokenavStructPtr->unk893c[gPokenavStructPtr->unk876E].unk1, gPokenavStructPtr->unk893c[gPokenavStructPtr->unk876E].partyIdx, MON_DATA_RIBBONS, NULL);
+ gPokenavStructPtr->unkBC8F = 0;
+ for (i = 0; i < 17; i++)
+ {
+ switch (gUnknown_083E499C[i])
+ {
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_TOUGH_RIBBON:
+ r2 = r7 & 7;
+ r7 >>= 3;
+ r0 = 4;
+ break;
+ default:
+ r2 = r7 & 1;
+ r7 >>= 1;
+ r0 = 1;
+ break;
+ };
+ for (j = 0; j < r2; j++)
+ {
+ gPokenavStructPtr->unkBC4C[gPokenavStructPtr->unkBC8E++] = r9 + j;
+ }
+ if (r2 && r9 > 24)
+ {
+ gPokenavStructPtr->unkBC8F++;
+ }
+ r9 += r0;
+ }
+ if (gPokenavStructPtr->unkBC8E != gPokenavStructPtr->unkBC8F)
+ {
+ gPokenavStructPtr->unkBC90 = 0;
+ gPokenavStructPtr->unkBC91 = 0;
+ }
+ else
+ {
+ gPokenavStructPtr->unkBC90 = 0;
+ gPokenavStructPtr->unkBC91 = 3;
+ }
+ r2 = gPokenavStructPtr->unkBC8E - gPokenavStructPtr->unkBC8F;
+ for (i = 0; i < 3; i++)
+ {
+ if (r2 > 8)
+ {
+ gPokenavStructPtr->unkBC96[i] = 9;
+ r2 -= 9;
+ }
+ else
+ {
+ gPokenavStructPtr->unkBC96[i] = r2;
+ r2 = 0;
+ }
+ }
+ gPokenavStructPtr->unkBC96[i] = gPokenavStructPtr->unkBC8F;
+}