summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/field_specials.s41
-rwxr-xr-xdata/field_specials.s6
-rwxr-xr-xsrc/field_specials.c28
3 files changed, 28 insertions, 47 deletions
diff --git a/asm/field_specials.s b/asm/field_specials.s
index f7595e0ad..4d019bbbe 100755
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -6,47 +6,6 @@
.text
- thumb_func_start MauvilleGymSpecial1
-MauvilleGymSpecial1: @ 810DC7C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0810DC9C @ =gUnknown_083F8364
-_0810DC82:
- ldr r0, _0810DCA0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- bne _0810DCA8
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, _0810DCA4 @ =0x00000206
- bl MapGridSetMetatileIdAt
- b _0810DCB6
- .align 2, 0
-_0810DC9C: .4byte gUnknown_083F8364
-_0810DCA0: .4byte gSpecialVar_0x8004
-_0810DCA4: .4byte 0x00000206
-_0810DCA8:
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, _0810DCC8 @ =0x00000205
- bl MapGridSetMetatileIdAt
-_0810DCB6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0810DC82
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810DCC8: .4byte 0x00000205
- thumb_func_end MauvilleGymSpecial1
-
thumb_func_start MauvilleGymSpecial2
MauvilleGymSpecial2: @ 810DCCC
push {r4-r6,lr}
diff --git a/data/field_specials.s b/data/field_specials.s
index 024cca807..1a7369a51 100755
--- a/data/field_specials.s
+++ b/data/field_specials.s
@@ -3,12 +3,6 @@
.section .rodata
- .align 2
-gUnknown_083F8364:: @ 83F8364
- .byte 7, 16, 0, 0
- .byte 15, 18, 0, 0
- .byte 11, 22, 0, 0
-
gUnknown_083F8370:: @ 83F8370
.byte 0, 1, 1, 1, 1
diff --git a/src/field_specials.c b/src/field_specials.c
index 1287e90ec..ee41fe7bf 100755
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "field_specials.h"
#include "diploma.h"
+#include "fieldmap.h"
#include "event_data.h"
#include "field_map_obj.h"
#include "field_player_avatar.h"
@@ -348,3 +349,30 @@ void SpawnBerryBlenderLinkPlayerSprites(void)
}
}
}
+
+struct Coords8 {
+ u8 x;
+ u8 y;
+};
+
+const struct Coords8 gUnknown_083F8364[3] = {
+ { 7, 16},
+ {15, 18},
+ {11, 22}
+};
+
+void MauvilleGymSpecial1(void)
+{
+ u8 i;
+ for (i=0; i<3; i++)
+ {
+ if (i == gSpecialVar_0x8004)
+ {
+ MapGridSetMetatileIdAt(gUnknown_083F8364[i].x, gUnknown_083F8364[i].y, 0x206);
+ }
+ else
+ {
+ MapGridSetMetatileIdAt(gUnknown_083F8364[i].x, gUnknown_083F8364[i].y, 0x205);
+ }
+ }
+}