Synced src/mon_markings.c and partly synced PSS
This commit is contained in:
@@ -14,8 +14,8 @@ enum
|
||||
void AllocBoxPartyPokemonDropdowns(u8 num);
|
||||
void FreeBoxPartyPokemonDropdowns(void);
|
||||
void CopyAllBoxPartyPokemonDropdownsToVram(void);
|
||||
void SetBoxPartyPokemonDropdownMap2(u8 idx, u8 bgId, const void * src, u16 width, u16 height);
|
||||
void SetBoxPartyPokemonDropdownMap1Tiles(u8 idx, const void * src);
|
||||
void SetBoxPartyPokemonDropdownMap2(u8 idx, u8 bgId, const void *src, u16 width, u16 height);
|
||||
void SetBoxPartyPokemonDropdownMap1Tiles(u8 idx, const void *src);
|
||||
void SetBoxPartyPokemonDropdownMap2Pos(u8 idx, u16 x, u16 y);
|
||||
void SetBoxPartyPokemonDropdownMap2Rect(u8 idx, u16 x, u16 y, u16 width, u16 height);
|
||||
void AdjustBoxPartyPokemonDropdownPos(u8 a0, u8 a1, s8 a2);
|
||||
|
||||
@@ -31,6 +31,6 @@ void EReaderHelper_Timer3Callback(void);
|
||||
void EReaderHelper_SaveRegsState(void);
|
||||
void EReaderHelper_ClearsSendRecvMgr(void);
|
||||
void EReaderHelper_RestoreRegsState(void);
|
||||
u16 EReaderHandleTransfer(u8 mode, size_t size, const void * src, void * dest);
|
||||
u16 EReaderHandleTransfer(u8 mode, size_t size, const void *src, void *dest);
|
||||
|
||||
#endif //GUARD_EREADER_HELPERS_H
|
||||
|
||||
@@ -156,14 +156,14 @@ bool32 RfuUnionObjectIsWarping(u8 objectEventId);
|
||||
u8 GetJumpSpecialMovementAction(u32 direction);
|
||||
void EnableObjectGroundEffectsByXY(s16 x, s16 y);
|
||||
void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y);
|
||||
u8 CreateCopySpriteAt(struct Sprite * sprite, s16 x, s16 y, u8 subpriority);
|
||||
u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority);
|
||||
u16 GetObjectPaletteTag(u8 paletteIndex);
|
||||
void SetSpritePosToMapCoords(s16 x, s16 y, s16 *x2, s16 *y2);
|
||||
void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible);
|
||||
bool8 AreZCoordsCompatible(u8, u8);
|
||||
u8 ZCoordToPriority(u8 z);
|
||||
void ObjectEventUpdateZCoord(struct ObjectEvent *pObject);
|
||||
void SetObjectSubpriorityByZCoord(u8 z, struct Sprite * sprite, u8 offset);
|
||||
void SetObjectSubpriorityByZCoord(u8 z, struct Sprite *sprite, u8 offset);
|
||||
bool8 IsZCoordMismatchAt(u8, s16, s16);
|
||||
void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables);
|
||||
u8 AddCameraObject(u8 trackedSpriteId);
|
||||
|
||||
@@ -20,12 +20,12 @@ void StartEscalatorWarp(u8 metatileBehavior, u8 priority);
|
||||
void StartLavaridgeGymB1FWarp(u8 a0);
|
||||
void StartLavaridgeGym1FWarp(u8 a0);
|
||||
void ApplyGlobalFieldPaletteTint(u8 paletteIdx);
|
||||
void FreeResourcesAndDestroySprite(struct Sprite * sprite, u8 spriteId);
|
||||
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
|
||||
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, bool8 unused);
|
||||
void ReturnToFieldFromFlyMapSelect(void);
|
||||
void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
|
||||
void SpriteCB_PopOutOfAsh(struct Sprite * sprite);
|
||||
void SpriteCB_AshLaunch(struct Sprite * sprite);
|
||||
void SpriteCB_PopOutOfAsh(struct Sprite *sprite);
|
||||
void SpriteCB_AshLaunch(struct Sprite *sprite);
|
||||
void FieldEffectActiveListClear(void);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
||||
@@ -25,20 +25,20 @@ u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s
|
||||
void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y);
|
||||
void SetSpriteInvisible(u8 spriteId);
|
||||
void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset);
|
||||
void UpdateJumpImpactEffect(struct Sprite * sprite);
|
||||
void UpdateShadowFieldEffect(struct Sprite * sprite);
|
||||
void UpdateBubblesFieldEffect(struct Sprite * sprite);
|
||||
void UpdateSparkleFieldEffect(struct Sprite * sprite);
|
||||
void UpdateTallGrassFieldEffect(struct Sprite * sprite);
|
||||
void WaitFieldEffectSpriteAnim(struct Sprite * sprite);
|
||||
void UpdateAshFieldEffect(struct Sprite * sprite);
|
||||
void UpdateSurfBlobFieldEffect(struct Sprite * sprite);
|
||||
void UpdateFootprintsTireTracksFieldEffect(struct Sprite * sprite);
|
||||
void UpdateSplashFieldEffect(struct Sprite * sprite);
|
||||
void UpdateShortGrassFieldEffect(struct Sprite * sprite);
|
||||
void UpdateLongGrassFieldEffect(struct Sprite * sprite);
|
||||
void UpdateSandPileFieldEffect(struct Sprite * sprite);
|
||||
void UpdateDisguiseFieldEffect(struct Sprite * sprite);
|
||||
void UpdateHotSpringsWaterFieldEffect(struct Sprite * sprite);
|
||||
void UpdateJumpImpactEffect(struct Sprite *sprite);
|
||||
void UpdateShadowFieldEffect(struct Sprite *sprite);
|
||||
void UpdateBubblesFieldEffect(struct Sprite *sprite);
|
||||
void UpdateSparkleFieldEffect(struct Sprite *sprite);
|
||||
void UpdateTallGrassFieldEffect(struct Sprite *sprite);
|
||||
void WaitFieldEffectSpriteAnim(struct Sprite *sprite);
|
||||
void UpdateAshFieldEffect(struct Sprite *sprite);
|
||||
void UpdateSurfBlobFieldEffect(struct Sprite *sprite);
|
||||
void UpdateFootprintsTireTracksFieldEffect(struct Sprite *sprite);
|
||||
void UpdateSplashFieldEffect(struct Sprite *sprite);
|
||||
void UpdateShortGrassFieldEffect(struct Sprite *sprite);
|
||||
void UpdateLongGrassFieldEffect(struct Sprite *sprite);
|
||||
void UpdateSandPileFieldEffect(struct Sprite *sprite);
|
||||
void UpdateDisguiseFieldEffect(struct Sprite *sprite);
|
||||
void UpdateHotSpringsWaterFieldEffect(struct Sprite *sprite);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
@@ -13,7 +13,7 @@ u8 GetPlayerMovementDirection(void);
|
||||
u8 PlayerGetCopyableMovement(void);
|
||||
void MovePlayerNotOnBike(u8 direction, u16 heldKeys);
|
||||
|
||||
void MovementType_Player(struct Sprite * sprite);
|
||||
void MovementType_Player(struct Sprite *sprite);
|
||||
void HandleEnforcedLookDirectionOnPlayerStopMoving(void);
|
||||
void StopPlayerAvatar(void);
|
||||
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
|
||||
|
||||
+3
-3
@@ -2980,7 +2980,7 @@ extern const u8 gFile_graphics_items_icon_palettes_soda_pop_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_lemonade_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_lemonade_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_moomoo_milk_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_moomoo_milk_palette[];;
|
||||
extern const u8 gFile_graphics_items_icon_palettes_moomoo_milk_palette[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_energy_powder_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_energy_root_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_energy_root_palette[];
|
||||
@@ -4829,8 +4829,8 @@ extern const u16 gTradeButtons_Gfx[];
|
||||
extern const u16 gTradeMenuMonBox_Tilemap[];
|
||||
|
||||
// mon_markings
|
||||
extern const u16 gUnknown_8E9CBBC[];
|
||||
extern const u16 gUnknown_8E9CB9C[];
|
||||
extern const u16 gMonMarkingsMenu_Gfx[];
|
||||
extern const u16 gMonMarkingsMenu_Pal[];
|
||||
|
||||
// hall_of_fame
|
||||
extern const u32 gFile_graphics_misc_confetti_sheet[];
|
||||
|
||||
@@ -22,7 +22,7 @@ void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y);
|
||||
void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible);
|
||||
void SetBagVisualPocketId(u8);
|
||||
void ShakeBagSprite(void);
|
||||
const void * GetItemIconGfxPtr(u16 itemId, u8 ptrId);
|
||||
const void *GetItemIconGfxPtr(u16 itemId, u8 ptrId);
|
||||
void CreateBagOrSatchelSprite(u8 animNum);
|
||||
|
||||
#endif // GUARD_ITEM_MENU_ICONS
|
||||
|
||||
+1
-1
@@ -190,7 +190,7 @@ struct Link
|
||||
|
||||
struct BlockRequest
|
||||
{
|
||||
void * address;
|
||||
void *address;
|
||||
u32 size;
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -221,7 +221,7 @@ void DestroyWirelessStatusIndicatorSprite(void);
|
||||
void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0);
|
||||
void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0);
|
||||
void MEvent_CreateTask_Leader(u32 arg0);
|
||||
void Rfu_SendPacket(void * data);
|
||||
void Rfu_SendPacket(void *data);
|
||||
u8 CreateTask_ListenToWireless(void);
|
||||
void LinkRfu_DestroyIdleTask(void);
|
||||
void InitRFUAPI(void);
|
||||
|
||||
@@ -43,9 +43,9 @@ struct MapPreviewScreen
|
||||
u8 mapsec;
|
||||
u8 type;
|
||||
u16 flagId;
|
||||
const void * tilesptr;
|
||||
const void * tilemapptr;
|
||||
const void * palptr;
|
||||
const void *tilesptr;
|
||||
const void *tilemapptr;
|
||||
const void *palptr;
|
||||
};
|
||||
|
||||
u16 MapPreview_CreateMapNameWindow(u8 id);
|
||||
|
||||
+3
-3
@@ -25,7 +25,7 @@ struct MEvent_Str_1
|
||||
{
|
||||
u16 status;
|
||||
size_t size;
|
||||
const void * data;
|
||||
const void *data;
|
||||
};
|
||||
|
||||
struct MEvent_Str_2
|
||||
@@ -63,8 +63,8 @@ void MEvent_WonderCardResetUnk08_6(struct WonderCard * buffer);
|
||||
bool32 MEvent_ReceiveDistributionMon(const u16 * data);
|
||||
void BuildMEventClientHeader(struct MEventClientHeaderStruct * data);
|
||||
bool32 ValidateMEventClientHeader(const struct MEventClientHeaderStruct * data);
|
||||
u32 sub_8144418(const u16 * a0, const struct MEventClientHeaderStruct * a1, void * unused);
|
||||
u32 MEvent_CanPlayerReceiveDistributionMon(const u16 * a0, const struct MEventClientHeaderStruct * a1, void * unused);
|
||||
u32 sub_8144418(const u16 * a0, const struct MEventClientHeaderStruct * a1, void *unused);
|
||||
u32 MEvent_CanPlayerReceiveDistributionMon(const u16 * a0, const struct MEventClientHeaderStruct * a1, void *unused);
|
||||
bool32 sub_8144474(const struct MEventClientHeaderStruct * a0, const u16 * a1);
|
||||
u16 sub_81444B0(const struct MEventClientHeaderStruct * a0, u32 command);
|
||||
bool32 InitWonderCardResources(struct WonderCard * r5, struct WonderCardMetadata * r6);
|
||||
|
||||
+12
-12
@@ -18,8 +18,8 @@ struct mevent_srv_sub
|
||||
u16 sendCounter;
|
||||
u16 sendCRC;
|
||||
u16 sendSize;
|
||||
void * recvBfr;
|
||||
const void * sendBfr;
|
||||
void *recvBfr;
|
||||
const void *sendBfr;
|
||||
u32 (*recvFunc)(struct mevent_srv_sub *);
|
||||
u32 (*sendFunc)(struct mevent_srv_sub *);
|
||||
};
|
||||
@@ -59,10 +59,10 @@ struct mevent_client
|
||||
u32 mainseqno;
|
||||
u32 flag;
|
||||
u32 cmdidx;
|
||||
void * sendBuffer;
|
||||
void * recvBuffer;
|
||||
void *sendBuffer;
|
||||
void *recvBuffer;
|
||||
struct mevent_client_cmd * cmdBuffer;
|
||||
void * buffer;
|
||||
void *buffer;
|
||||
struct mevent_srv_sub manager;
|
||||
};
|
||||
|
||||
@@ -70,7 +70,7 @@ struct mevent_server_cmd
|
||||
{
|
||||
u32 instr;
|
||||
bool32 flag;
|
||||
void * parameter;
|
||||
void *parameter;
|
||||
};
|
||||
|
||||
// Server commands
|
||||
@@ -99,13 +99,13 @@ struct mevent_srv_common
|
||||
u32 mainseqno;
|
||||
u32 cmdidx;
|
||||
const struct mevent_server_cmd * cmdBuffer;
|
||||
void * recvBuffer;
|
||||
void *recvBuffer;
|
||||
struct WonderCard * card;
|
||||
struct WonderNews * news;
|
||||
struct MEventClientHeaderStruct * mevent_unk1442cc;
|
||||
void * sendBuffer1;
|
||||
void *sendBuffer1;
|
||||
u32 sendBuffer1Size;
|
||||
void * sendBuffer2;
|
||||
void *sendBuffer2;
|
||||
u32 sendBuffer2Size;
|
||||
u32 sendWord;
|
||||
struct mevent_srv_sub manager;
|
||||
@@ -114,13 +114,13 @@ struct mevent_srv_common
|
||||
u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr);
|
||||
u32 mevent_srv_sub_send(struct mevent_srv_sub * svr);
|
||||
void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recvPlayerNo);
|
||||
void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size);
|
||||
void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest);
|
||||
void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void *src, u32 size);
|
||||
void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void *dest);
|
||||
|
||||
void mevent_client_do_init(void);
|
||||
u32 mevent_client_do_exec(u16 * a0);
|
||||
void mevent_client_inc_flag(void);
|
||||
void * mevent_client_get_buffer(void);
|
||||
void *mevent_client_get_buffer(void);
|
||||
void mevent_client_set_param(u32 a0);
|
||||
void mevent_srv_init_wnews(void);
|
||||
void mevent_srv_new_wcard(void);
|
||||
|
||||
+18
-16
@@ -1,33 +1,35 @@
|
||||
#ifndef GUARD_MON_MARKINGS_H
|
||||
#define GUARD_MON_MARKINGS_H
|
||||
|
||||
struct PokemonMarkMenu
|
||||
#define NUM_MON_MARKINGS 4
|
||||
|
||||
struct MonMarkingsMenu
|
||||
{
|
||||
/*0x0000*/ u16 baseTileTag;
|
||||
/*0x0002*/ u16 basePaletteTag;
|
||||
/*0x0004*/ u8 markings; // bit flags
|
||||
/*0x0005*/ s8 cursorPos;
|
||||
/*0x0006*/ bool8 markingsArray[4];
|
||||
/*0x0006*/ bool8 markingsArray[NUM_MON_MARKINGS];
|
||||
/*0x000A*/ u8 cursorBaseY;
|
||||
/*0x000B*/ bool8 spriteSheetLoadRequired;
|
||||
/*0x000C*/ struct Sprite * menuWindowSprites[2]; // upper and lower halves of menu window
|
||||
/*0x0014*/ struct Sprite * menuMarkingSprites[4];
|
||||
/*0x0024*/ struct Sprite * unkSprite;
|
||||
/*0x0028*/ struct Sprite * menuTextSprite;
|
||||
/*0x000C*/ struct Sprite *windowSprites[2]; // upper and lower halves of menu window
|
||||
/*0x0014*/ struct Sprite *markingSprites[NUM_MON_MARKINGS];
|
||||
/*0x0024*/ struct Sprite *cursorSprite;
|
||||
/*0x0028*/ struct Sprite *textSprite;
|
||||
/*0x002C*/ const u8 *frameTiles;
|
||||
/*0x0030*/ const u16 *framePalette;
|
||||
/*0x0034*/ u8 menuWindowSpriteTiles[0x1000];
|
||||
/*0x1034*/ u8 filler1034[0x80];
|
||||
/*0x0034*/ u8 windowSpriteTiles[0x1000];
|
||||
/*0x1034*/ u8 unused[0x80];
|
||||
/*0x10B4*/ u8 tileLoadState;
|
||||
}; // 10b8
|
||||
|
||||
void SetMonMarkingsMenuPointer(struct PokemonMarkMenu * markMenu);
|
||||
void LoadMonMarkingsFrameGfx(void);
|
||||
void DrawMonMarkingsMenu(u8 markings, s16 x, s16 y);
|
||||
void TeardownMonMarkingsMenu(void);
|
||||
bool8 MonMarkingsHandleInput(void);
|
||||
struct Sprite * CreateMonMarkingSprite_SelectCombo(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||
struct Sprite * CreateMonMarkingSprite_AllOff(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||
void RequestDma3LoadMonMarking(u8 markings, void * dest);
|
||||
void InitMonMarkingsMenu(struct MonMarkingsMenu *ptr);
|
||||
void BufferMonMarkingsMenuTiles(void);
|
||||
void OpenMonMarkingsMenu(u8 markings, s16 x, s16 y);
|
||||
void FreeMonMarkingsMenu(void);
|
||||
bool8 HandleMonMarkingsMenuInput(void);
|
||||
struct Sprite *CreateMonMarkingAllCombosSprite(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||
struct Sprite *CreateMonMarkingComboSprite(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||
void UpdateMonMarkingTiles(u8 markings, void *dest);
|
||||
|
||||
#endif //GUARD_MON_MARKINGS_H
|
||||
|
||||
@@ -14,7 +14,7 @@ void *DecompressAndCopyTileDataToVram(u8 bgId, const void *src, u32 size, u16 of
|
||||
void *DecompressAndCopyTileDataToVram2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
|
||||
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
|
||||
void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
|
||||
void * MallocAndDecompress(const void * src, u32 * size);
|
||||
void *MallocAndDecompress(const void *src, u32 * size);
|
||||
void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
|
||||
void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
|
||||
void ResetBgPositions(void);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
struct PAM_TaskData
|
||||
{
|
||||
struct SubspriteTable subsprites;
|
||||
void * buffer;
|
||||
void *buffer;
|
||||
u8 unk_0C;
|
||||
u8 spr_id;
|
||||
u16 tilesTag;
|
||||
|
||||
@@ -19,10 +19,10 @@ void DestroyMonIcon(struct Sprite *);
|
||||
u16 GetUnownLetterByPersonality(u32 personality);
|
||||
void SpriteCB_MonIcon(struct Sprite *);
|
||||
u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra);
|
||||
u8 UpdateMonIconFrame(struct Sprite * sprite);
|
||||
u8 UpdateMonIconFrame(struct Sprite *sprite);
|
||||
void LoadMonIconPalette(u16 iconId);
|
||||
void FreeMonIconPalette(u16 iconId);
|
||||
void SetPartyHPBarSprite(struct Sprite * sprite, u8 animNum);
|
||||
void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum);
|
||||
u8 GetMonIconPaletteIndexFromSpecies(u16 species);
|
||||
u16 GetIconSpecies(u16 species, u32 personality);
|
||||
void LoadMonIconPalettesAt(u16 offset);
|
||||
|
||||
@@ -25,8 +25,8 @@ struct PokemonSpecialAnimScene
|
||||
u16 monSpriteY1;
|
||||
u16 monSpriteY2;
|
||||
u8 lastCloseness;
|
||||
struct Sprite * monSprite;
|
||||
struct Sprite * itemIconSprite;
|
||||
struct Sprite *monSprite;
|
||||
struct Sprite *itemIconSprite;
|
||||
u8 textBuf[0x900];
|
||||
u8 field_0914[BG_SCREEN_SIZE];
|
||||
u8 field_1114[BG_SCREEN_SIZE];
|
||||
|
||||
@@ -26,6 +26,7 @@ enum
|
||||
WALLPAPER_PLAIN,
|
||||
WALLPAPER_COUNT
|
||||
};
|
||||
#define MAX_DEFAULT_WALLPAPER WALLPAPER_SAVANNA
|
||||
|
||||
u8 *GetBoxNamePtr(u8 boxNumber);
|
||||
struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 monPosition);
|
||||
|
||||
@@ -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);
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ void sub_81113E4(void);
|
||||
void sub_8111438(void);
|
||||
void StartRecordingQuestLogEntry(u16 eventId);
|
||||
bool8 WillCommandOfSizeFitInSav1Record(u16 *cursor, size_t size);
|
||||
bool8 sub_8110944(const void * a0, size_t cmdSize);
|
||||
bool8 sub_8110944(const void *a0, size_t cmdSize);
|
||||
|
||||
void sub_8113BD8(void);
|
||||
void ResetUnk203B044(void);
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
struct TextWindowGraphics
|
||||
{
|
||||
const void * tiles;
|
||||
const void * palette;
|
||||
const void *tiles;
|
||||
const void *palette;
|
||||
};
|
||||
|
||||
extern const u16 gUnknown_8470B0C[];
|
||||
@@ -14,6 +14,6 @@ extern const u16 gUnknown_8471DEC[][16];
|
||||
|
||||
extern const struct TextWindowGraphics gUserFrames[];
|
||||
|
||||
const struct TextWindowGraphics * GetUserFrameGraphicsInfo(u8 idx);
|
||||
const struct TextWindowGraphics *GetWindowFrameTilesPal(u8 idx);
|
||||
|
||||
#endif //GUARD_TEXT_WINDOW_GRAPHICS_H
|
||||
|
||||
Reference in New Issue
Block a user