label mauville gym metatiles
This commit is contained in:
44
include/constants/metatile_labels.h
Normal file
44
include/constants/metatile_labels.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#ifndef GUARD_METATILE_LABELS_H
|
||||||
|
#define GUARD_METATILE_LABELS_H
|
||||||
|
|
||||||
|
// gTileset_MauvilleGym
|
||||||
|
#define METATILE_MauvilleGym_RaisedSwitch 0x205
|
||||||
|
#define METATILE_MauvilleGym_PressedSwitch 0x206
|
||||||
|
#define METATILE_MauvilleGym_FloorTile 0x21A
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH1_On 0x220
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH2_On 0x221
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH3_On 0x228
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH4_On 0x229
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH1_Off 0x230
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH2_Off 0x231
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH3_Off 0x238
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamH4_Off 0x239
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH1_On 0x222
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH2_On 0x223
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH3_On 0x22A
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH4_On 0x22B
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH1_Off 0x232
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH2_Off 0x233
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH3_Off 0x23A
|
||||||
|
#define METATILE_MauvilleGym_RedBeamH4_Off 0x23B
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamV1_On 0x240
|
||||||
|
#define METATILE_MauvilleGym_GreenBeamV2_On 0x248
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_RedBeamV1_On 0x241
|
||||||
|
#define METATILE_MauvilleGym_RedBeamV2_On 0x249
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_PoleTop_On 0x250
|
||||||
|
#define METATILE_MauvilleGym_PoleTop_Off 0x251
|
||||||
|
|
||||||
|
#define METATILE_MauvilleGym_PoleBottom_On 0x242
|
||||||
|
#define METATILE_MauvilleGym_PoleBottom_Off 0x243
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif // GUARD_METATILE_LABELS_H
|
||||||
@@ -55,6 +55,7 @@
|
|||||||
#include "constants/vars.h"
|
#include "constants/vars.h"
|
||||||
#include "constants/battle_frontier.h"
|
#include "constants/battle_frontier.h"
|
||||||
#include "constants/weather.h"
|
#include "constants/weather.h"
|
||||||
|
#include "constants/metatile_labels.h"
|
||||||
#include "palette.h"
|
#include "palette.h"
|
||||||
|
|
||||||
EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;
|
EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;
|
||||||
@@ -623,25 +624,26 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct UCoords8 gUnknown_085B2B68[] = {
|
static const struct UCoords8 sMauvilleGymSwitchCoords[] = {
|
||||||
{ 7, 22},
|
{ 7, 22},
|
||||||
{11, 19},
|
{11, 19},
|
||||||
{10, 16},
|
{10, 16},
|
||||||
{15, 16}
|
{15, 16}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Flips the switches on the ground when the player steps on them.
|
||||||
void MauvilleGymSpecial1(void)
|
void MauvilleGymSpecial1(void)
|
||||||
{
|
{
|
||||||
u8 i;
|
u8 i;
|
||||||
for (i = 0; i < ARRAY_COUNT(gUnknown_085B2B68); i++)
|
for (i = 0; i < ARRAY_COUNT(sMauvilleGymSwitchCoords); i++)
|
||||||
{
|
{
|
||||||
if (i == gSpecialVar_0x8004)
|
if (i == gSpecialVar_0x8004)
|
||||||
{
|
{
|
||||||
MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x206);
|
MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, PressedSwitch));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x205);
|
MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, RaisedSwitch));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -655,100 +657,101 @@ void MauvilleGymSpecial2(void)
|
|||||||
{
|
{
|
||||||
switch (MapGridGetMetatileIdAt(x, y))
|
switch (MapGridGetMetatileIdAt(x, y))
|
||||||
{
|
{
|
||||||
case 0x220:
|
case METATILE_ID(MauvilleGym, GreenBeamH1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x230);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH1_Off));
|
||||||
break;
|
break;
|
||||||
case 0x221:
|
case METATILE_ID(MauvilleGym, GreenBeamH2_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x231);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH2_Off));
|
||||||
break;
|
break;
|
||||||
case 0x228:
|
case METATILE_ID(MauvilleGym, GreenBeamH3_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x238);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH3_Off));
|
||||||
break;
|
break;
|
||||||
case 0x229:
|
case METATILE_ID(MauvilleGym, GreenBeamH4_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x239);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH4_Off));
|
||||||
break;
|
break;
|
||||||
case 0x230:
|
case METATILE_ID(MauvilleGym, GreenBeamH1_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x220);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH1_On));
|
||||||
break;
|
break;
|
||||||
case 0x231:
|
case METATILE_ID(MauvilleGym, GreenBeamH2_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x221);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH2_On));
|
||||||
break;
|
break;
|
||||||
case 0x238:
|
case METATILE_ID(MauvilleGym, GreenBeamH3_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe28);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH3_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x239:
|
case METATILE_ID(MauvilleGym, GreenBeamH4_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe29);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH4_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x222:
|
case METATILE_ID(MauvilleGym, RedBeamH1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x232);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH1_Off));
|
||||||
break;
|
break;
|
||||||
case 0x223:
|
case METATILE_ID(MauvilleGym, RedBeamH2_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x233);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH2_Off));
|
||||||
break;
|
break;
|
||||||
case 0x22a:
|
case METATILE_ID(MauvilleGym, RedBeamH3_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x23a);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH3_Off));
|
||||||
break;
|
break;
|
||||||
case 0x22b:
|
case METATILE_ID(MauvilleGym, RedBeamH4_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x23b);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH4_Off));
|
||||||
break;
|
break;
|
||||||
case 0x232:
|
case METATILE_ID(MauvilleGym, RedBeamH1_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x222);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH1_On));
|
||||||
break;
|
break;
|
||||||
case 0x233:
|
case METATILE_ID(MauvilleGym, RedBeamH2_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x223);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH2_On));
|
||||||
break;
|
break;
|
||||||
case 0x23a:
|
case METATILE_ID(MauvilleGym, RedBeamH3_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe2a);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH3_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x23b:
|
case METATILE_ID(MauvilleGym, RedBeamH4_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe2b);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH4_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x240:
|
case METATILE_ID(MauvilleGym, GreenBeamV1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe42);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, PoleBottom_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x248:
|
case METATILE_ID(MauvilleGym, GreenBeamV2_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x21a);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, FloorTile));
|
||||||
break;
|
break;
|
||||||
case 0x241:
|
case METATILE_ID(MauvilleGym, RedBeamV1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe43);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, PoleBottom_Off) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x249:
|
case METATILE_ID(MauvilleGym, RedBeamV2_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x21a);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, FloorTile));
|
||||||
break;
|
break;
|
||||||
case 0x242:
|
case METATILE_ID(MauvilleGym, PoleBottom_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe40);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamV1_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x21a:
|
case METATILE_ID(MauvilleGym, FloorTile):
|
||||||
if (MapGridGetMetatileIdAt(x, y - 1) == 0x240)
|
if (MapGridGetMetatileIdAt(x, y - 1) == METATILE_ID(MauvilleGym, GreenBeamV1_On))
|
||||||
{
|
{
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe48);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamV2_On) | METATILE_COLLISION_MASK);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe49);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV2_On) | METATILE_COLLISION_MASK);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x243:
|
case METATILE_ID(MauvilleGym, PoleBottom_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe41);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV1_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x251:
|
case METATILE_ID(MauvilleGym, PoleTop_Off):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe50);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, PoleTop_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x250:
|
case METATILE_ID(MauvilleGym, PoleTop_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x251);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, PoleTop_Off));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Presses all switches and deactivates all beams.
|
||||||
void MauvilleGymSpecial3(void)
|
void MauvilleGymSpecial3(void)
|
||||||
{
|
{
|
||||||
int i, x, y;
|
int i, x, y;
|
||||||
const struct UCoords8 *switchCoords = gUnknown_085B2B68;
|
const struct UCoords8 *switchCoords = sMauvilleGymSwitchCoords;
|
||||||
for (i = ARRAY_COUNT(gUnknown_085B2B68) - 1; i >= 0; i--)
|
for (i = ARRAY_COUNT(sMauvilleGymSwitchCoords) - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
MapGridSetMetatileIdAt(switchCoords->x, switchCoords->y, 0x206);
|
MapGridSetMetatileIdAt(switchCoords->x, switchCoords->y, METATILE_ID(MauvilleGym, PressedSwitch));
|
||||||
switchCoords++;
|
switchCoords++;
|
||||||
}
|
}
|
||||||
for (y = 12; y < 24; y++)
|
for (y = 12; y < 24; y++)
|
||||||
@@ -757,42 +760,42 @@ void MauvilleGymSpecial3(void)
|
|||||||
{
|
{
|
||||||
switch (MapGridGetMetatileIdAt(x, y))
|
switch (MapGridGetMetatileIdAt(x, y))
|
||||||
{
|
{
|
||||||
case 0x220:
|
case METATILE_ID(MauvilleGym, GreenBeamH1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x230);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH1_Off));
|
||||||
break;
|
break;
|
||||||
case 0x221:
|
case METATILE_ID(MauvilleGym, GreenBeamH2_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x231);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH2_Off));
|
||||||
break;
|
break;
|
||||||
case 0x228:
|
case METATILE_ID(MauvilleGym, GreenBeamH3_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x238);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH3_Off));
|
||||||
break;
|
break;
|
||||||
case 0x229:
|
case METATILE_ID(MauvilleGym, GreenBeamH4_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x239);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamH4_Off));
|
||||||
break;
|
break;
|
||||||
case 0x222:
|
case METATILE_ID(MauvilleGym, RedBeamH1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x232);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH1_Off));
|
||||||
break;
|
break;
|
||||||
case 0x223:
|
case METATILE_ID(MauvilleGym, RedBeamH2_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x233);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH2_Off));
|
||||||
break;
|
break;
|
||||||
case 0x22a:
|
case METATILE_ID(MauvilleGym, RedBeamH3_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x23a);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH3_Off));
|
||||||
break;
|
break;
|
||||||
case 0x22b:
|
case METATILE_ID(MauvilleGym, RedBeamH4_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x23b);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamH4_Off));
|
||||||
break;
|
break;
|
||||||
case 0x240:
|
case METATILE_ID(MauvilleGym, GreenBeamV1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe42);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, PoleBottom_On) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x241:
|
case METATILE_ID(MauvilleGym, RedBeamV1_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0xe43);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, PoleBottom_Off) | METATILE_COLLISION_MASK);
|
||||||
break;
|
break;
|
||||||
case 0x248:
|
case METATILE_ID(MauvilleGym, GreenBeamV2_On):
|
||||||
case 0x249:
|
case METATILE_ID(MauvilleGym, RedBeamV2_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x21a);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, FloorTile));
|
||||||
break;
|
break;
|
||||||
case 0x250:
|
case METATILE_ID(MauvilleGym, PoleTop_On):
|
||||||
MapGridSetMetatileIdAt(x, y, 0x251);
|
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, PoleTop_Off));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user