summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-06-20 08:36:47 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-06-20 08:36:47 -0400
commit163c3dc51a2b069d028bf0f9384c5b7fc4471173 (patch)
treeb1eaf9a5ec7e2074db98021f128d8a4ffb4f9215
parent6a0734b626f9b15a4a0c47164624001bfabdf07c (diff)
MauvilleGymSpecial2
-rwxr-xr-xasm/field_specials.s237
-rwxr-xr-xsrc/field_specials.c96
2 files changed, 96 insertions, 237 deletions
diff --git a/asm/field_specials.s b/asm/field_specials.s
index 4d019bbbe..b35101b4b 100755
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -6,243 +6,6 @@
.text
- thumb_func_start MauvilleGymSpecial2
-MauvilleGymSpecial2: @ 810DCCC
- push {r4-r6,lr}
- movs r5, 0xC
-_0810DCD0:
- movs r4, 0x7
- adds r6, r5, 0x1
-_0810DCD4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _0810DCF0 @ =0xfffffde6
- adds r0, r1
- cmp r0, 0x37
- bls _0810DCE6
- b _0810DEC0
-_0810DCE6:
- lsls r0, 2
- ldr r1, _0810DCF4 @ =_0810DCF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810DCF0: .4byte 0xfffffde6
-_0810DCF4: .4byte _0810DCF8
- .align 2, 0
-_0810DCF8:
- .4byte _0810DE7E
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DDD8
- .4byte _0810DDDE
- .4byte _0810DE18
- .4byte _0810DE20
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DDE8
- .4byte _0810DDEE
- .4byte _0810DE28
- .4byte _0810DE30
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DDF8
- .4byte _0810DDFE
- .4byte _0810DE38
- .4byte _0810DE40
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DE08
- .4byte _0810DE10
- .4byte _0810DE48
- .4byte _0810DE50
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DE58
- .4byte _0810DE68
- .4byte _0810DE78
- .4byte _0810DEA0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DE60
- .4byte _0810DE70
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEB6
- .4byte _0810DEA8
-_0810DDD8:
- movs r2, 0x8C
- lsls r2, 2
- b _0810DEAC
-_0810DDDE:
- ldr r2, _0810DDE4 @ =0x00000231
- b _0810DEAC
- .align 2, 0
-_0810DDE4: .4byte 0x00000231
-_0810DDE8:
- movs r2, 0x8E
- lsls r2, 2
- b _0810DEAC
-_0810DDEE:
- ldr r2, _0810DDF4 @ =0x00000239
- b _0810DEAC
- .align 2, 0
-_0810DDF4: .4byte 0x00000239
-_0810DDF8:
- movs r2, 0x88
- lsls r2, 2
- b _0810DEAC
-_0810DDFE:
- ldr r2, _0810DE04 @ =0x00000221
- b _0810DEAC
- .align 2, 0
-_0810DE04: .4byte 0x00000221
-_0810DE08:
- ldr r2, _0810DE0C @ =0x00000e28
- b _0810DEAC
- .align 2, 0
-_0810DE0C: .4byte 0x00000e28
-_0810DE10:
- ldr r2, _0810DE14 @ =0x00000e29
- b _0810DEAC
- .align 2, 0
-_0810DE14: .4byte 0x00000e29
-_0810DE18:
- ldr r2, _0810DE1C @ =0x00000232
- b _0810DEAC
- .align 2, 0
-_0810DE1C: .4byte 0x00000232
-_0810DE20:
- ldr r2, _0810DE24 @ =0x00000233
- b _0810DEAC
- .align 2, 0
-_0810DE24: .4byte 0x00000233
-_0810DE28:
- ldr r2, _0810DE2C @ =0x0000023a
- b _0810DEAC
- .align 2, 0
-_0810DE2C: .4byte 0x0000023a
-_0810DE30:
- ldr r2, _0810DE34 @ =0x0000023b
- b _0810DEAC
- .align 2, 0
-_0810DE34: .4byte 0x0000023b
-_0810DE38:
- ldr r2, _0810DE3C @ =0x00000222
- b _0810DEAC
- .align 2, 0
-_0810DE3C: .4byte 0x00000222
-_0810DE40:
- ldr r2, _0810DE44 @ =0x00000223
- b _0810DEAC
- .align 2, 0
-_0810DE44: .4byte 0x00000223
-_0810DE48:
- ldr r2, _0810DE4C @ =0x00000e2a
- b _0810DEAC
- .align 2, 0
-_0810DE4C: .4byte 0x00000e2a
-_0810DE50:
- ldr r2, _0810DE54 @ =0x00000e2b
- b _0810DEAC
- .align 2, 0
-_0810DE54: .4byte 0x00000e2b
-_0810DE58:
- ldr r2, _0810DE5C @ =0x00000e42
- b _0810DEAC
- .align 2, 0
-_0810DE5C: .4byte 0x00000e42
-_0810DE60:
- ldr r2, _0810DE64 @ =0x0000021a
- b _0810DEAC
- .align 2, 0
-_0810DE64: .4byte 0x0000021a
-_0810DE68:
- ldr r2, _0810DE6C @ =0x00000e43
- b _0810DEAC
- .align 2, 0
-_0810DE6C: .4byte 0x00000e43
-_0810DE70:
- ldr r2, _0810DE74 @ =0x0000021a
- b _0810DEAC
- .align 2, 0
-_0810DE74: .4byte 0x0000021a
-_0810DE78:
- movs r2, 0xE4
- lsls r2, 4
- b _0810DEAC
-_0810DE7E:
- subs r1, r5, 0x1
- adds r0, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x90
- lsls r1, 2
- cmp r0, r1
- bne _0810DE98
- ldr r2, _0810DE94 @ =0x00000e48
- b _0810DEAC
- .align 2, 0
-_0810DE94: .4byte 0x00000e48
-_0810DE98:
- ldr r2, _0810DE9C @ =0x00000e49
- b _0810DEAC
- .align 2, 0
-_0810DE9C: .4byte 0x00000e49
-_0810DEA0:
- ldr r2, _0810DEA4 @ =0x00000e41
- b _0810DEAC
- .align 2, 0
-_0810DEA4: .4byte 0x00000e41
-_0810DEA8:
- movs r2, 0xE5
- lsls r2, 4
-_0810DEAC:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _0810DEC0
-_0810DEB6:
- ldr r2, _0810DED8 @ =0x00000251
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0810DEC0:
- adds r4, 0x1
- cmp r4, 0xF
- bgt _0810DEC8
- b _0810DCD4
-_0810DEC8:
- adds r5, r6, 0
- cmp r5, 0x17
- bgt _0810DED0
- b _0810DCD0
-_0810DED0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810DED8: .4byte 0x00000251
- thumb_func_end MauvilleGymSpecial2
-
thumb_func_start MauvilleGymSpecial3
MauvilleGymSpecial3: @ 810DEDC
push {r4-r6,lr}
diff --git a/src/field_specials.c b/src/field_specials.c
index ee41fe7bf..02c0b0f74 100755
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -376,3 +376,99 @@ void MauvilleGymSpecial1(void)
}
}
}
+
+void MauvilleGymSpecial2(void)
+{
+ int x, y;
+ for (y=12; y<24; y++)
+ {
+ for (x=7; x<16; x++)
+ {
+ switch (MapGridGetMetatileIdAt(x, y))
+ {
+ case 0x220:
+ MapGridSetMetatileIdAt(x, y, 0x230);
+ break;
+ case 0x221:
+ MapGridSetMetatileIdAt(x, y, 0x231);
+ break;
+ case 0x228:
+ MapGridSetMetatileIdAt(x, y, 0x238);
+ break;
+ case 0x229:
+ MapGridSetMetatileIdAt(x, y, 0x239);
+ break;
+ case 0x230:
+ MapGridSetMetatileIdAt(x, y, 0x220);
+ break;
+ case 0x231:
+ MapGridSetMetatileIdAt(x, y, 0x221);
+ break;
+ case 0x238:
+ MapGridSetMetatileIdAt(x, y, 0xe28);
+ break;
+ case 0x239:
+ MapGridSetMetatileIdAt(x, y, 0xe29);
+ break;
+ case 0x222:
+ MapGridSetMetatileIdAt(x, y, 0x232);
+ break;
+ case 0x223:
+ MapGridSetMetatileIdAt(x, y, 0x233);
+ break;
+ case 0x22a:
+ MapGridSetMetatileIdAt(x, y, 0x23a);
+ break;
+ case 0x22b:
+ MapGridSetMetatileIdAt(x, y, 0x23b);
+ break;
+ case 0x232:
+ MapGridSetMetatileIdAt(x, y, 0x222);
+ break;
+ case 0x233:
+ MapGridSetMetatileIdAt(x, y, 0x223);
+ break;
+ case 0x23a:
+ MapGridSetMetatileIdAt(x, y, 0xe2a);
+ break;
+ case 0x23b:
+ MapGridSetMetatileIdAt(x, y, 0xe2b);
+ break;
+ case 0x240:
+ MapGridSetMetatileIdAt(x, y, 0xe42);
+ break;
+ case 0x248:
+ MapGridSetMetatileIdAt(x, y, 0x21a);
+ break;
+ case 0x241:
+ MapGridSetMetatileIdAt(x, y, 0xe43);
+ break;
+ case 0x249:
+ MapGridSetMetatileIdAt(x, y, 0x21a);
+ break;
+ case 0x242:
+ MapGridSetMetatileIdAt(x, y, 0xe40);
+ break;
+ case 0x21a:
+ if (MapGridGetMetatileIdAt(x, y - 1) == 0x240)
+ {
+ MapGridSetMetatileIdAt(x, y, 0xe48);
+ }
+ else
+ {
+ MapGridSetMetatileIdAt(x, y, 0xe49);
+ }
+ break;
+ case 0x243:
+ MapGridSetMetatileIdAt(x, y, 0xe41);
+ break;
+ case 0x251:
+ MapGridSetMetatileIdAt(x, y, 0xe50);
+ break;
+ case 0x250:
+ MapGridSetMetatileIdAt(x, y, 0x251);
+ break;
+ }
+ }
+ }
+}