mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-08-27 20:05:12 -05:00
Adding a macro, returning an enum, and using constants
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#ifndef POKEPLATINUM_UNK_0203A024_H
|
||||
#define POKEPLATINUM_UNK_0203A024_H
|
||||
#ifndef POKEPLATINUM_MAP_HEADER_H
|
||||
#define POKEPLATINUM_MAP_HEADER_H
|
||||
|
||||
typedef struct {
|
||||
u8 unk_00;
|
||||
@@ -58,6 +58,6 @@ BOOL MapHeader_IsTrophyGarden(const u32 headerID);
|
||||
BOOL MapHeader_IsAmitySquare(const u32 headerID);
|
||||
BOOL MapHeader_IsAzureFluteAllowed(const u32 headerID);
|
||||
BOOL MapHeader_IsPokemonCenter2F(const u32 headerID);
|
||||
u32 MapHeader_GetMapEvolutionMethod(u32 headerID);
|
||||
enum PokemonEvoMethod MapHeader_GetMapEvolutionMethod(u32 headerID);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_0203A024_H
|
||||
#endif // POKEPLATINUM_MAP_HEADER_H
|
||||
|
||||
@@ -269,7 +269,7 @@ static void HeapCanaryFailed(int resetParam, int param1)
|
||||
|
||||
if (param1 == 3) {
|
||||
sub_02039834(0, 3, 0);
|
||||
} else if (resetParam == 0) {
|
||||
} else if (resetParam == RESET_CLEAN) {
|
||||
if (sub_020389B8() == TRUE) {
|
||||
sub_02039834(0, 6, 0);
|
||||
} else {
|
||||
|
||||
@@ -252,7 +252,7 @@ BOOL MapHeader_IsPokemonCenter2F(const u32 headerID)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u32 MapHeader_GetMapEvolutionMethod(u32 headerID)
|
||||
enum PokemonEvoMethod MapHeader_GetMapEvolutionMethod(u32 headerID)
|
||||
{
|
||||
static const u16 mapEvolutionMethods[] = {
|
||||
MAP_HEADER_ROUTE_217,
|
||||
@@ -306,5 +306,5 @@ u32 MapHeader_GetMapEvolutionMethod(u32 headerID)
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EVO_NONE;
|
||||
}
|
||||
|
||||
@@ -191,49 +191,26 @@ BOOL MapHeaderData_SetBgEventPos(FieldSystem *fieldSystem, u16 index, u16 x, u16
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#define CONSUME_EVENTS(T, dataTEvents, dataNumTEvents) \
|
||||
do { \
|
||||
(dataNumTEvents) = *(u32 *)events; \
|
||||
events += sizeof(u32); \
|
||||
if ((dataNumTEvents) != 0) { \
|
||||
(dataTEvents) = (const T *)events; \
|
||||
} else { \
|
||||
(dataTEvents) = NULL; \
|
||||
} \
|
||||
events += sizeof(T) * (dataNumTEvents); \
|
||||
} while (0)
|
||||
|
||||
static void MapHeaderData_ParseEvents(MapHeaderData *data)
|
||||
{
|
||||
const u8 *events = (const u8 *)data->tmpEventsBuf;
|
||||
|
||||
// bgEvents
|
||||
data->numBgEvents = *(u32 *)events;
|
||||
events += sizeof(u32);
|
||||
if (data->numBgEvents != 0) {
|
||||
data->bgEvents = (const BgEvent *)events;
|
||||
} else {
|
||||
data->bgEvents = NULL;
|
||||
}
|
||||
events += sizeof(BgEvent) * data->numBgEvents;
|
||||
|
||||
// objectEvents
|
||||
data->numObjectEvents = *(u32 *)events;
|
||||
events += sizeof(u32);
|
||||
if (data->numObjectEvents != 0) {
|
||||
data->objectEvents = (const ObjectEvent *)events;
|
||||
} else {
|
||||
data->objectEvents = NULL;
|
||||
}
|
||||
events += sizeof(ObjectEvent) * data->numObjectEvents;
|
||||
|
||||
// warpEvents
|
||||
data->numWarpEvents = *(u32 *)events;
|
||||
events += sizeof(u32);
|
||||
if (data->numWarpEvents != 0) {
|
||||
data->warpEvents = (const WarpEvent *)events;
|
||||
} else {
|
||||
data->warpEvents = NULL;
|
||||
}
|
||||
events += sizeof(WarpEvent) * data->numWarpEvents;
|
||||
|
||||
// coordEvents
|
||||
data->numCoordEvents = *(u32 *)events;
|
||||
events += sizeof(u32);
|
||||
if (data->numCoordEvents != 0) {
|
||||
data->coordEvents = (const CoordEvent *)events;
|
||||
} else {
|
||||
data->coordEvents = NULL;
|
||||
}
|
||||
events += sizeof(CoordEvent) * data->numCoordEvents;
|
||||
CONSUME_EVENTS(BgEvent, data->bgEvents, data->numBgEvents);
|
||||
CONSUME_EVENTS(ObjectEvent, data->objectEvents, data->numObjectEvents);
|
||||
CONSUME_EVENTS(WarpEvent, data->warpEvents, data->numWarpEvents);
|
||||
CONSUME_EVENTS(CoordEvent, data->coordEvents, data->numCoordEvents);
|
||||
}
|
||||
|
||||
void MapHeaderData_LoadWildEncounters(WildEncounters *data, int headerID)
|
||||
|
||||
Reference in New Issue
Block a user