Fix names and constant usage for union room classes
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
#include "constants/moves.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/trainers.h"
|
||||
#include "constants/union_room.h"
|
||||
|
||||
struct SpeciesItem
|
||||
{
|
||||
@@ -1884,7 +1885,9 @@ static const u16 sDeoxysBaseStats[] =
|
||||
[STAT_SPDEF] = 90,
|
||||
};
|
||||
|
||||
const u16 gLinkPlayerFacilityClasses[NUM_MALE_LINK_FACILITY_CLASSES + NUM_FEMALE_LINK_FACILITY_CLASSES] =
|
||||
// The classes used by other players in the Union Room.
|
||||
// These should correspond with the overworld graphics in sUnionRoomObjGfxIds
|
||||
const u16 gUnionRoomFacilityClasses[NUM_UNION_ROOM_CLASSES * GENDER_COUNT] =
|
||||
{
|
||||
// Male classes
|
||||
FACILITY_CLASS_COOLTRAINER_M,
|
||||
@@ -1895,7 +1898,7 @@ const u16 gLinkPlayerFacilityClasses[NUM_MALE_LINK_FACILITY_CLASSES + NUM_FEMALE
|
||||
FACILITY_CLASS_BUG_CATCHER,
|
||||
FACILITY_CLASS_PKMN_BREEDER_M,
|
||||
FACILITY_CLASS_GUITARIST,
|
||||
// Female Classes
|
||||
// Female classes
|
||||
FACILITY_CLASS_COOLTRAINER_F,
|
||||
FACILITY_CLASS_HEX_MANIAC,
|
||||
FACILITY_CLASS_PICNICKER,
|
||||
@@ -2740,9 +2743,9 @@ u16 GetUnionRoomTrainerPic(void)
|
||||
else
|
||||
linkId = GetMultiplayerId() ^ 1;
|
||||
|
||||
arrId = gLinkPlayers[linkId].trainerId & 7;
|
||||
arrId |= gLinkPlayers[linkId].gender << 3;
|
||||
return FacilityClassToPicIndex(gLinkPlayerFacilityClasses[arrId]);
|
||||
arrId = gLinkPlayers[linkId].trainerId % NUM_UNION_ROOM_CLASSES;
|
||||
arrId |= gLinkPlayers[linkId].gender * NUM_UNION_ROOM_CLASSES;
|
||||
return FacilityClassToPicIndex(gUnionRoomFacilityClasses[arrId]);
|
||||
}
|
||||
|
||||
u16 GetUnionRoomTrainerClass(void)
|
||||
@@ -2755,9 +2758,9 @@ u16 GetUnionRoomTrainerClass(void)
|
||||
else
|
||||
linkId = GetMultiplayerId() ^ 1;
|
||||
|
||||
arrId = gLinkPlayers[linkId].trainerId & 7;
|
||||
arrId |= gLinkPlayers[linkId].gender << 3;
|
||||
return gFacilityClassToTrainerClass[gLinkPlayerFacilityClasses[arrId]];
|
||||
arrId = gLinkPlayers[linkId].trainerId % NUM_UNION_ROOM_CLASSES;
|
||||
arrId |= gLinkPlayers[linkId].gender * NUM_UNION_ROOM_CLASSES;
|
||||
return gFacilityClassToTrainerClass[gUnionRoomFacilityClasses[arrId]];
|
||||
}
|
||||
|
||||
void CreateEventLegalEnemyMon(void)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "constants/battle_frontier.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/trainers.h"
|
||||
#include "constants/union_room.h"
|
||||
|
||||
struct TrainerCardData
|
||||
{
|
||||
@@ -761,9 +762,9 @@ static void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard)
|
||||
trainerCard->stars++;
|
||||
|
||||
if (trainerCard->gender == FEMALE)
|
||||
trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES];
|
||||
trainerCard->unionRoomClass = gUnionRoomFacilityClasses[(trainerCard->trainerId % NUM_UNION_ROOM_CLASSES) + NUM_UNION_ROOM_CLASSES];
|
||||
else
|
||||
trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES];
|
||||
trainerCard->unionRoomClass = gUnionRoomFacilityClasses[trainerCard->trainerId % NUM_UNION_ROOM_CLASSES];
|
||||
}
|
||||
|
||||
void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
|
||||
@@ -777,9 +778,9 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
|
||||
trainerCard->stars++;
|
||||
|
||||
if (trainerCard->gender == FEMALE)
|
||||
trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES];
|
||||
trainerCard->unionRoomClass = gUnionRoomFacilityClasses[(trainerCard->trainerId % NUM_UNION_ROOM_CLASSES) + NUM_UNION_ROOM_CLASSES];
|
||||
else
|
||||
trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES];
|
||||
trainerCard->unionRoomClass = gUnionRoomFacilityClasses[trainerCard->trainerId % NUM_UNION_ROOM_CLASSES];
|
||||
}
|
||||
|
||||
void CopyTrainerCardData(struct TrainerCard *dst, struct TrainerCard *src, u8 gameVersion)
|
||||
@@ -1876,7 +1877,7 @@ static void CreateTrainerCardTrainerPic(void)
|
||||
{
|
||||
if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1)
|
||||
{
|
||||
CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sData->trainerCard.facilityClass),
|
||||
CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sData->trainerCard.unionRoomClass),
|
||||
TRUE,
|
||||
sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][0],
|
||||
sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][1],
|
||||
|
||||
@@ -24,7 +24,8 @@ static u32 IsUnionRoomPlayerInvisible(u32, u32);
|
||||
static void SetUnionRoomObjectFacingDirection(s32, s32, u8);
|
||||
|
||||
// + 2 is just to match, those elements are empty and never read
|
||||
static const u8 sUnionRoomObjGfxIds[GENDER_COUNT][MAX_UNION_ROOM_LEADERS + 2] = {
|
||||
// Graphics ids should correspond with the classes in gUnionRoomFacilityClasses
|
||||
static const u8 sUnionRoomObjGfxIds[GENDER_COUNT][NUM_UNION_ROOM_CLASSES + 2] = {
|
||||
[MALE] = {
|
||||
OBJ_EVENT_GFX_MAN_3,
|
||||
OBJ_EVENT_GFX_BLACK_BELT,
|
||||
@@ -132,7 +133,7 @@ static bool32 IsPlayerStandingStill(void)
|
||||
// Gender and trainer id are used to determine which sprite a player appears as
|
||||
static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id)
|
||||
{
|
||||
return sUnionRoomObjGfxIds[gender][id % MAX_UNION_ROOM_LEADERS];
|
||||
return sUnionRoomObjGfxIds[gender][id % NUM_UNION_ROOM_CLASSES];
|
||||
}
|
||||
|
||||
static void GetUnionRoomPlayerCoords(u32 leaderId, u32 memberId, s32 * x, s32 * y)
|
||||
|
||||
Reference in New Issue
Block a user