summaryrefslogtreecommitdiff
path: root/src/field/field_map_obj_helpers.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-12-18 20:37:14 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-12-18 20:37:14 -0500
commit0821fb288faa12712e0b4f4ee468ae13fed0c036 (patch)
tree43951ea36b311ccdb727ec6f5f2f589fa0af71ba /src/field/field_map_obj_helpers.c
parent3196def6040f9f376881a0be000789e751030089 (diff)
Decompile data: field_map_obj_helpers
Diffstat (limited to 'src/field/field_map_obj_helpers.c')
-rw-r--r--src/field/field_map_obj_helpers.c115
1 files changed, 92 insertions, 23 deletions
diff --git a/src/field/field_map_obj_helpers.c b/src/field/field_map_obj_helpers.c
index f1a113d44..328b66ed2 100644
--- a/src/field/field_map_obj_helpers.c
+++ b/src/field/field_map_obj_helpers.c
@@ -7,13 +7,92 @@
typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
-extern s16 gUnknown_08376194[];
-extern SpriteStepFunc *gUnknown_08376180[];
-extern s8 *gUnknown_083761D0[];
-extern s16 gUnknown_083761DC[];
-extern u8 gUnknown_083761E2[];
-extern s16 gUnknown_083761E6[];
-extern u8 gUnknown_083761EC[];
+void Step1(struct Sprite *sprite, u8 dir);
+void Step2(struct Sprite *sprite, u8 dir);
+void Step3(struct Sprite *sprite, u8 dir);
+void Step4(struct Sprite *sprite, u8 dir);
+void Step8(struct Sprite *sprite, u8 dir);
+
+const SpriteStepFunc Unknown_83760F0[] = {
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1,
+ Step1
+};
+
+const SpriteStepFunc Unknown_8376130[] = {
+ Step2,
+ Step2,
+ Step2,
+ Step2,
+ Step2,
+ Step2,
+ Step2,
+ Step2
+};
+
+const SpriteStepFunc Unknown_8376150[] = {
+ Step2,
+ Step3,
+ Step3,
+ Step2,
+ Step3,
+ Step3
+};
+
+const SpriteStepFunc Unknown_8376168[] = {
+ Step4,
+ Step4,
+ Step4,
+ Step4
+};
+
+const SpriteStepFunc Unknown_8376178[] = {
+ Step8,
+ Step8
+};
+
+const SpriteStepFunc *const gUnknown_08376180[] = {
+ Unknown_83760F0,
+ Unknown_8376130,
+ Unknown_8376150,
+ Unknown_8376168,
+ Unknown_8376178
+};
+
+const s16 gUnknown_08376194[] = {
+ 16, 8, 6, 4, 2
+};
+
+const s8 Unknown_837619E[] = {
+ -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0
+};
+
+const s8 Unknown_83761AE[] = {
+ 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0
+};
+
+const s8 Unknown_83761BE[] = {
+ -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0
+};
+
+const s8 *const gUnknown_083761D0[] = {
+ Unknown_837619E,
+ Unknown_83761AE,
+ Unknown_83761BE
+};
bool8 FreezeMapObject(struct MapObject *mapObject)
{
@@ -156,14 +235,9 @@ void sub_80646E4(struct Sprite *sprite, u8 a2, u8 a3, u8 a4)
u8 sub_8064704(struct Sprite *sprite)
{
- u8 v2;
- s16 v5[3];
- u8 v6[3];
-
- memcpy(v5, gUnknown_083761DC, 6);
- memcpy(v6, gUnknown_083761E2, 3);
-
- v2 = 0;
+ s16 v5[3] = {0x10, 0x10, 0x20};
+ u8 v6[3] = {0, 0, 1};
+ u8 v2 = 0;
if (sprite->data[4])
Step1(sprite, sprite->data[3]);
@@ -186,14 +260,9 @@ u8 sub_8064704(struct Sprite *sprite)
u8 sub_806478C(struct Sprite *sprite)
{
- u8 v2;
- s16 v5[3];
- u8 v6[3];
-
- memcpy(v5, gUnknown_083761E6, 6);
- memcpy(v6, gUnknown_083761EC, 3);
-
- v2 = 0;
+ s16 v5[3] = {0x20, 0x20, 0x40};
+ u8 v6[3] = {1, 1, 2};
+ u8 v2 = 0;
if (sprite->data[4] && !(sprite->data[6] & 1))
Step1(sprite, sprite->data[3]);