Synced src/mon_markings.c and partly synced PSS
This commit is contained in:
@@ -7,8 +7,15 @@
|
||||
#define IN_BOX_COLUMNS 5
|
||||
#define IN_BOX_ROWS 6
|
||||
|
||||
#define MAX_MON_ICONS 40
|
||||
// The maximum number of Pokémon icons that can appear on-screen.
|
||||
// By default the limit is 40 (though in practice only 37 can be).
|
||||
#define MAX_MON_ICONS (IN_BOX_COUNT + PARTY_SIZE + 1 >= 40 ? IN_BOX_COUNT + PARTY_SIZE + 1 : 40)
|
||||
|
||||
// The maximum number of item icons that can appear on-screen while
|
||||
// moving held items. 1 in the cursor, and 2 more while switching
|
||||
// between 2 Pokémon with held items
|
||||
#define MAX_ITEM_ICONS 3
|
||||
|
||||
#define MAX_MENU_ITEMS 7
|
||||
|
||||
enum
|
||||
@@ -167,19 +174,19 @@ struct StorageAction
|
||||
u8 format;
|
||||
};
|
||||
|
||||
struct UnkPSSStruct_2002370
|
||||
struct ChooseBoxMenu
|
||||
{
|
||||
struct Sprite *unk_0000;
|
||||
struct Sprite *unk_0004[4];
|
||||
u32 unk_0014[3]; // unused
|
||||
struct Sprite *unk_0020[2];
|
||||
struct Sprite *menuSprite;
|
||||
struct Sprite *menuSideSprites[4];
|
||||
u32 unused1[3];
|
||||
struct Sprite *arrowSprites[2];
|
||||
u8 buffer[0x200]; // passed but not used
|
||||
u8 strbuf[20];
|
||||
bool32 loadPal;
|
||||
u16 tilesTag;
|
||||
bool32 loadedPalette;
|
||||
u16 tileTag;
|
||||
u16 paletteTag;
|
||||
u8 curBox;
|
||||
u8 unk_0245; // unused
|
||||
u8 unused3;
|
||||
u8 subpriority;
|
||||
};
|
||||
|
||||
@@ -189,19 +196,19 @@ struct StorageMenu
|
||||
int textId;
|
||||
};
|
||||
|
||||
struct UnkStruct_2000028
|
||||
struct UnkUtilData
|
||||
{
|
||||
const u8 *unk_00;
|
||||
u8 *unk_04;
|
||||
u16 unk_08;
|
||||
u16 unk_0a;
|
||||
u16 newField;
|
||||
void (*unk_0c)(struct UnkStruct_2000028 *data);
|
||||
void (*unk_0c)(struct UnkUtilData *data);
|
||||
};
|
||||
|
||||
struct UnkStruct_2000020
|
||||
struct UnkUtil
|
||||
{
|
||||
struct UnkStruct_2000028 *unk_00;
|
||||
struct UnkUtilData *unk_00;
|
||||
u8 unk_04;
|
||||
u8 unk_05;
|
||||
};
|
||||
@@ -231,115 +238,115 @@ struct PokemonStorageSystemData
|
||||
u8 screenChangeType;
|
||||
bool8 isReshowingPSS;
|
||||
u8 taskId;
|
||||
struct UnkStruct_2000020 unk_0020;
|
||||
struct UnkStruct_2000028 unk_0028[8];
|
||||
u16 field_B0[528 / 2];
|
||||
u16 field_2C0;
|
||||
u16 field_2C2;
|
||||
u8 field_2C4;
|
||||
u8 field_2C5;
|
||||
struct UnkUtil unkUtil;
|
||||
struct UnkUtilData unkUtilData[8];
|
||||
u16 partyMenuTilemapBuffer[0x108];
|
||||
u16 partyMenuUnused1; // Never read
|
||||
u16 partyMenuY;
|
||||
u8 partyMenuUnused2; // Unused
|
||||
u8 partyMenuMoveTimer;
|
||||
u8 showPartyMenuState;
|
||||
bool8 unk_02C7;
|
||||
u8 unk_02C8;
|
||||
bool8 unk_02C9;
|
||||
bool8 closeBoxFlashing;
|
||||
u8 closeBoxFlashTimer;
|
||||
bool8 closeBoxFlashState;
|
||||
s16 newCurrBoxId;
|
||||
u16 bg2_X;
|
||||
s16 field_2CE;
|
||||
u16 field_2D0;
|
||||
u8 field_2D2;
|
||||
u8 field_2D3;
|
||||
u8 field_2D4;
|
||||
u16 field_2D6;
|
||||
s16 field_2D8;
|
||||
u16 field_2DA;
|
||||
u16 field_2DC;
|
||||
u16 field_2DE;
|
||||
u16 field_2E0;
|
||||
u8 filler[22];
|
||||
s16 scrollSpeed;
|
||||
u16 scrollTimer;
|
||||
u8 wallpaperOffset;
|
||||
u8 scrollUnused1; // Never read
|
||||
u8 scrollToBoxIdUnused; // Never read
|
||||
u16 scrollUnused2; // Never read
|
||||
s16 scrollDirectionUnused; // Never read.
|
||||
u16 scrollUnused3; // Never read
|
||||
u16 scrollUnused4; // Never read
|
||||
u16 scrollUnused5; // Never read
|
||||
u16 scrollUnused6; // Never read
|
||||
u8 filler1[22];
|
||||
u8 field_2F8[512];
|
||||
u8 field_4F8[512];
|
||||
u8 field_6F8;
|
||||
u8 field_6F9;
|
||||
u8 field_6FA;
|
||||
s8 field_6FB;
|
||||
u16 field_6FC[16];
|
||||
u16 field_71C;
|
||||
u16 field_71E;
|
||||
struct Sprite *field_720[2];
|
||||
struct Sprite *field_728[2];
|
||||
struct Sprite *field_730[2];
|
||||
u32 field_738;
|
||||
u8 field_73C[80];
|
||||
u16 field_78C;
|
||||
u8 boxTitleCycleId;
|
||||
u8 wallpaperLoadState; // Written to, but never read.
|
||||
u8 wallpaperLoadBoxId;
|
||||
s8 wallpaperLoadDir;
|
||||
u16 boxTitlePal[16];
|
||||
u16 boxTitlePalOffset;
|
||||
u16 boxTitleAltPalOffset;
|
||||
struct Sprite *curBoxTitleSprites[2];
|
||||
struct Sprite *nextBoxTitleSprites[2];
|
||||
struct Sprite *arrowSprites[2];
|
||||
u32 wallpaperPalBits;
|
||||
u8 filler2[80]; // Unused
|
||||
u16 unkUnused1; // Never read.
|
||||
s16 wallpaperSetId;
|
||||
s16 wallpaperId;
|
||||
u16 field_792[360];
|
||||
u16 wallpaperTilemap[360];
|
||||
u8 wallpaperChangeState;
|
||||
u8 field_A63;
|
||||
u8 field_A64;
|
||||
s8 field_A65;
|
||||
u8 scrollState;
|
||||
u8 scrollToBoxId;
|
||||
s8 scrollDirection;
|
||||
// u8 *wallpaperTiles; // used only in Emerald for Walda
|
||||
/* 0a68 */ struct Sprite *movingMonSprite;
|
||||
/* 0a6c */ struct Sprite *partySprites[PARTY_SIZE];
|
||||
/* 0a84 */ struct Sprite *boxMonsSprites[IN_BOX_COUNT];
|
||||
/* 0afc */ struct Sprite **field_B00;
|
||||
/* 0b00 */ struct Sprite **field_B04;
|
||||
/* 0b04 */ u16 field_B08[MAX_MON_ICONS];
|
||||
/* 0b54 */ u16 field_B58[MAX_MON_ICONS];
|
||||
/* 0afc */ struct Sprite **shiftMonSpritePtr;
|
||||
/* 0b00 */ struct Sprite **releaseMonSpritePtr;
|
||||
/* 0b04 */ u16 numIconsPerSpecies[MAX_MON_ICONS];
|
||||
/* 0b54 */ u16 iconSpeciesList[MAX_MON_ICONS];
|
||||
/* 0ba4 */ u16 boxSpecies[IN_BOX_COUNT];
|
||||
/* 0be0 */ u32 boxPersonalities[IN_BOX_COUNT];
|
||||
/* 0c58 */ u8 field_C5C;
|
||||
/* 0c59 */ u8 field_C5D;
|
||||
/* 0c5a */ u8 field_C5E;
|
||||
/* 0c5c */ u16 field_C60;
|
||||
/* 0c5e */ s16 field_C62;
|
||||
/* 0c60 */ s16 field_C64;
|
||||
/* 0c62 */ u16 field_C66;
|
||||
/* 0c64 */ u8 field_C68;
|
||||
/* 0c65 */ s8 field_C69;
|
||||
/* 0c66 */ u8 field_C6A;
|
||||
/* 0c67 */ u8 field_C6B;
|
||||
/* 0c58 */ u8 incomingBoxId;
|
||||
/* 0c59 */ u8 shiftTimer;
|
||||
/* 0c5a */ u8 numPartyToCompact;
|
||||
/* 0c5c */ u16 iconScrollDistance;
|
||||
/* 0c5e */ s16 iconScrollPos;
|
||||
/* 0c60 */ s16 iconScrollSpeed;
|
||||
/* 0c62 */ u16 iconScrollNumIncoming;
|
||||
/* 0c64 */ u8 iconScrollCurColumn;
|
||||
/* 0c65 */ s8 iconScrollDirection; // Unnecessary duplicate of scrollDirection
|
||||
/* 0c66 */ u8 iconScrollState;
|
||||
/* 0c67 */ u8 iconScrollToBoxId; // Unused duplicate of scrollToBoxId
|
||||
/* 0c68 */ struct WindowTemplate menuWindow;
|
||||
/* 0c70 */ struct StorageMenu menuItems[MAX_MENU_ITEMS];
|
||||
/* 0ca8 */ u8 menuItemsCount;
|
||||
/* 0ca9 */ u8 menuWidth;
|
||||
/* 0caa */ u8 field_CAE;
|
||||
/* 0cac */ u16 field_CB0;
|
||||
/* 0cb0 */ struct Sprite *field_CB4;
|
||||
/* 0cb4 */ struct Sprite *field_CB8;
|
||||
/* 0cb8 */ s32 field_CBC;
|
||||
/* 0cbc */ s32 field_CC0;
|
||||
/* 0cc0 */ u32 field_CC4;
|
||||
/* 0cc4 */ u32 field_CC8;
|
||||
/* 0cc8 */ s16 field_CCC;
|
||||
/* 0cca */ s16 field_CCE;
|
||||
/* 0ccc */ u16 field_CD0;
|
||||
/* 0cce */ s8 field_CD2;
|
||||
/* 0ccf */ s8 field_CD3;
|
||||
/* 0cd0 */ u8 field_CD4;
|
||||
/* 0cd1 */ u8 field_CD5;
|
||||
/* 0cd2 */ u8 field_CD6;
|
||||
/* 0cd3 */ u8 field_CD7;
|
||||
/* 0cd4 */ u8 field_CD8[2];
|
||||
/* 0cd8 */ const u32 *cursorMonPalette;
|
||||
/* 0cdc */ u32 cursorMonPersonality;
|
||||
/* 0ce0 */ u16 cursorMonSpecies;
|
||||
/* 0ce2 */ u16 cursorMonItem;
|
||||
/* 0ce4 */ u16 field_CE8;
|
||||
/* 0caa */ u8 menuUnusedField; // Never read.
|
||||
/* 0cac */ u16 menuWindowId;
|
||||
/* 0cb0 */ struct Sprite *cursorSprite;
|
||||
/* 0cb4 */ struct Sprite *cursorShadowSprite;
|
||||
/* 0cb8 */ s32 cursorNewX;
|
||||
/* 0cbc */ s32 cursorNewY;
|
||||
/* 0cc0 */ u32 cursorSpeedX;
|
||||
/* 0cc4 */ u32 cursorSpeedY;
|
||||
/* 0cc8 */ s16 cursorTargetX;
|
||||
/* 0cca */ s16 cursorTargetY;
|
||||
/* 0ccc */ u16 cursorMoveSteps;
|
||||
/* 0cce */ s8 cursorVerticalWrap;
|
||||
/* 0ccf */ s8 cursorHorizontalWrap;
|
||||
/* 0cd0 */ u8 newCursorArea;
|
||||
/* 0cd1 */ u8 newCursorPosition;
|
||||
/* 0cd2 */ u8 cursorPrevHorizPos;
|
||||
/* 0cd3 */ u8 cursorFlipTimer;
|
||||
/* 0cd4 */ u8 cursorPalNums[2];
|
||||
/* 0cd8 */ const u32 *displayMonPalette;
|
||||
/* 0cdc */ u32 displayMonPersonality;
|
||||
/* 0ce0 */ u16 displayMonSpecies;
|
||||
/* 0ce2 */ u16 displayMonItemId;
|
||||
/* 0ce4 */ u16 displayUnusedVar;
|
||||
/* 0ce6 */ bool8 setMosaic;
|
||||
/* 0ce7 */ u8 cursorMonMarkings;
|
||||
/* 0ce8 */ u8 cursorMonLevel;
|
||||
/* 0ce9 */ bool8 cursorMonIsEgg;
|
||||
/* 0cea */ u8 cursorMonNick[POKEMON_NAME_LENGTH + 1];
|
||||
/* 0cf5 */ u8 cursorMonTexts[4][36];
|
||||
/* 0ce7 */ u8 displayMonMarkings;
|
||||
/* 0ce8 */ u8 displayMonLevel;
|
||||
/* 0ce9 */ bool8 displayMonIsEgg;
|
||||
/* 0cea */ u8 displayMonName[POKEMON_NAME_LENGTH + 1];
|
||||
/* 0cf5 */ u8 displayMonTexts[4][36];
|
||||
/* 0d88 */ bool8 (*monPlaceChangeFunc)(void);
|
||||
/* 0d8c */ u8 monPlaceChangeState;
|
||||
/* 0d8d */ u8 field_D91;
|
||||
/* 0d90 */ struct Sprite *monMarkingSprite;
|
||||
/* 0d94 */ struct Sprite *field_D98[2];
|
||||
/* 0d9c */ u16 *monMarkingSpriteTileStart;
|
||||
/* 0da0 */ struct PokemonMarkMenu field_DA4;
|
||||
/* 1e58 */ struct UnkPSSStruct_2002370 field_1E5C;
|
||||
/* 0d8d */ u8 shiftBoxId;
|
||||
/* 0d90 */ struct Sprite *markingComboSprite;
|
||||
/* 0d94 */ struct Sprite *waveformSprites[2];
|
||||
/* 0d9c */ u16 *markingComboTilesPtr;
|
||||
/* 0da0 */ struct MonMarkingsMenu markMenu;
|
||||
/* 1e58 */ struct ChooseBoxMenu field_1E5C;
|
||||
/* 20a0 */ struct Pokemon movingMon;
|
||||
/* 2104 */ struct Pokemon field_2108;
|
||||
/* 2168 */ u8 field_216C;
|
||||
@@ -392,12 +399,12 @@ void SetCurrentBox(u8 boxId);
|
||||
void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon * dst);
|
||||
void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon * src);
|
||||
|
||||
void Cb2_ExitPSS(void);
|
||||
void CB2_ExitPokeStorage(void);
|
||||
void FreeBoxSelectionPopupSpriteGfx(void);
|
||||
void sub_808C940(u8 curBox);
|
||||
void sub_808C950(void);
|
||||
u8 HandleBoxChooseSelectionInput(void);
|
||||
void LoadBoxSelectionPopupSpriteGfx(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal);
|
||||
void LoadChooseBoxMenuGfx(struct ChooseBoxMenu *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal);
|
||||
void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value);
|
||||
u32 GetCurrentBoxMonData(u8 boxPosition, s32 request);
|
||||
u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst);
|
||||
@@ -438,7 +445,7 @@ const u8 *GetMovingItemName(void);
|
||||
void sub_80966F4(void);
|
||||
bool8 sub_8096728(void);
|
||||
bool8 sub_80967C0(void);
|
||||
void sub_8096BE4(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2);
|
||||
void sub_8096BE4(struct UnkUtil *arg0, struct UnkUtilData *arg1, u32 arg2);
|
||||
void sub_8096BF8(void);
|
||||
void AddMenu(void);
|
||||
bool8 CanMovePartyMon(void);
|
||||
@@ -475,7 +482,7 @@ bool8 IsCursorOnBox(void);
|
||||
bool8 IsCursorInBox(void);
|
||||
|
||||
void sub_808FFAC(void);
|
||||
struct Sprite * CreateMonIconSprite(u16 species, u32 pid, s16 x, s16 y, u8 priority, u8 subpriority);
|
||||
struct Sprite *CreateMonIconSprite(u16 species, u32 pid, s16 x, s16 y, u8 priority, u8 subpriority);
|
||||
void CreatePartyMonsSprites(bool8 species);
|
||||
void sub_80909F4(void);
|
||||
bool8 sub_8090A60(void);
|
||||
|
||||
Reference in New Issue
Block a user