summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pokenav.c41
-rw-r--r--src/use_pokeblock.c2
2 files changed, 42 insertions, 1 deletions
diff --git a/src/pokenav.c b/src/pokenav.c
index f57a98df6..7e15d3469 100644
--- a/src/pokenav.c
+++ b/src/pokenav.c
@@ -1,6 +1,9 @@
// Includes
#include "global.h"
+#include "ewram.h"
+#include "trig.h"
+#include "pokenav.h"
// Static type declarations
@@ -13,4 +16,42 @@ EWRAM_DATA u16 gUnknown_020388B4 = 0;
// .rodata
+struct UnkPokenavStruct *const gUnknown_083DFEC4 = (struct UnkPokenavStruct *)gSharedMem;
+
+extern const u8 gUnknown_083E4890[];
+
// .text
+
+void sub_80F55AC(u8 *a0, struct UnkPokenav11 a1[])
+{
+ u16 i;
+ u8 r2 = gUnknown_083E4890[*a0++];
+ u8 r7;
+ s8 r12;
+
+ a1[0].unk0 = 0x9b;
+ a1[0].unk2 = 0x5b - r2;
+
+ r7 = 0x40;
+ r12 = 0;
+ for (i = 1; i < 5; i++)
+ {
+ r7 += 0x33;
+ r12--;
+ if (r12 < 0)
+ r12 = 4;
+ if (r12 == 2)
+ r7++;
+ r2 = gUnknown_083E4890[*a0++];
+ a1[r12].unk0 = ((r2 * gSineTable[r7 + 0x40]) >> 8) + 0x9b;
+ a1[r12].unk2 = 0x5b - ((r2 * gSineTable[r7]) >> 8);
+
+ if (r12 <= 2 && (r2 != 0x20 || r12 != 2))
+ a1[r12].unk0 = ((r2 * gSineTable[r7 + 0x40]) >> 8) + 0x9c;
+ }
+}
+
+void sub_80F567C(u8 *a0, struct UnkPokenav11 a1[])
+{
+ sub_80F55AC(a0, a1);
+}
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index c8506fbcf..5bfe47845 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -306,7 +306,7 @@ static void sub_8136294(void)
gUnknown_02039304->unk50++;
break;
case 17:
- sub_80F567C(&gUnknown_083DFEC4->unk8ff0, gUnknown_083DFEC4->unk9004);
+ sub_80F567C(gUnknown_083DFEC4->unk8ff0[0], gUnknown_083DFEC4->unk9004[0]);
sub_80F5B38();
gUnknown_02039304->unk50++;
break;