finished menu_indicators
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
enum {
|
||||
FLDPSN_NONE,
|
||||
FLDPSN_PSN,
|
||||
FLDPSN_FNT
|
||||
FLDPSN_FNT,
|
||||
};
|
||||
|
||||
void ExecuteWhiteOut(void);
|
||||
|
||||
+7
-9
@@ -202,11 +202,11 @@ extern const u8 gItemPcBgPals[];
|
||||
extern const u8 gItemPcTilemap[];
|
||||
|
||||
// item_menu_icons
|
||||
extern const u8 gUnknown_8E8362C[];
|
||||
extern const u8 gUnknown_8E83DBC[];
|
||||
extern const u8 gUnknown_8E84560[];
|
||||
extern const u8 gFile_graphics_interface_bag_swap_sheet[];
|
||||
extern const u8 gFile_graphics_interface_bag_swap_palette[];
|
||||
extern const u32 gUnknown_8E8362C[];
|
||||
extern const u32 gUnknown_8E83DBC[];
|
||||
extern const u32 gUnknown_8E84560[];
|
||||
extern const u32 gFile_graphics_interface_bag_swap_sheet[];
|
||||
extern const u32 gFile_graphics_interface_bag_swap_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_question_mark_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_master_ball_sheet[];
|
||||
@@ -266,12 +266,10 @@ 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_icons_powder_sheet[];
|
||||
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[];
|
||||
extern const u8 gFile_graphics_items_icons_powder_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_heal_powder_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_revival_herb_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_revival_herb_palette[];
|
||||
@@ -299,7 +297,7 @@ extern const u8 gFile_graphics_items_icons_berry_juice_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_berry_juice_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_sacred_ash_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_sacred_ash_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_powder_sheet[];
|
||||
extern const u32 gFile_graphics_items_icons_powder_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_shoal_salt_palette[];
|
||||
extern const u8 gFile_graphics_items_icons_shoal_shell_sheet[];
|
||||
extern const u8 gFile_graphics_items_icon_palettes_shell_palette[];
|
||||
|
||||
+26
-4
@@ -4,9 +4,21 @@
|
||||
#include "global.h"
|
||||
#include "window.h"
|
||||
|
||||
// Exported type declarations
|
||||
#define LIST_NOTHING_CHOSEN -1
|
||||
#define LIST_CANCEL -2
|
||||
#define LIST_HEADER -3
|
||||
|
||||
// Exported RAM declarations
|
||||
#define LIST_NO_MULTIPLE_SCROLL 0
|
||||
#define LIST_MULTIPLE_SCROLL_DPAD 1
|
||||
#define LIST_MULTIPLE_SCROLL_L_R 2
|
||||
|
||||
enum
|
||||
{
|
||||
SCROLL_ARROW_LEFT,
|
||||
SCROLL_ARROW_RIGHT,
|
||||
SCROLL_ARROW_UP,
|
||||
SCROLL_ARROW_DOWN,
|
||||
};
|
||||
|
||||
struct ListMenuItem
|
||||
{
|
||||
@@ -38,8 +50,9 @@ struct ListMenuTemplate
|
||||
u8 cursorKind:2; // x40, x80
|
||||
};
|
||||
|
||||
struct ListMenu {
|
||||
struct ListMenuTemplate _template;
|
||||
struct ListMenu
|
||||
{
|
||||
struct ListMenuTemplate template;
|
||||
u16 scrollOffset;
|
||||
u16 selectedRow;
|
||||
u8 unk_1C;
|
||||
@@ -48,6 +61,15 @@ struct ListMenu {
|
||||
u8 unk_1F;
|
||||
};
|
||||
|
||||
struct ListMenuWindowRect
|
||||
{
|
||||
u8 x;
|
||||
u8 y;
|
||||
u8 width;
|
||||
u8 height;
|
||||
u8 palNum;
|
||||
};
|
||||
|
||||
extern struct ListMenuTemplate gUnknown_03006310;
|
||||
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
|
||||
|
||||
|
||||
@@ -7,6 +7,18 @@
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
struct ScrollIndicatorPair
|
||||
{
|
||||
u8 field_0;
|
||||
u16 *scrollOffset;
|
||||
u16 fullyUpThreshold;
|
||||
u16 fullyDownThreshold;
|
||||
u8 topSpriteId;
|
||||
u8 bottomSpriteId;
|
||||
u16 tileTag;
|
||||
u16 palTag;
|
||||
};
|
||||
|
||||
struct ScrollArrowsTemplate
|
||||
{
|
||||
u8 firstArrowType;
|
||||
@@ -22,9 +34,48 @@ struct ScrollArrowsTemplate
|
||||
u8 palNum;
|
||||
};
|
||||
|
||||
struct ScrollIndicatorTemplate
|
||||
{
|
||||
u8 animNum:4;
|
||||
u8 bounceDir:4;
|
||||
u8 multiplier;
|
||||
s16 frequency;
|
||||
};
|
||||
|
||||
struct CursorStruct
|
||||
{
|
||||
u8 left;
|
||||
u8 top;
|
||||
u16 rowWidth;
|
||||
u16 rowHeight;
|
||||
u16 tileTag;
|
||||
u16 palTag;
|
||||
u8 palNum;
|
||||
};
|
||||
|
||||
struct RedOutlineCursor
|
||||
{
|
||||
struct SubspriteTable subspriteTable;
|
||||
struct Subsprite *subspritesPtr;
|
||||
u8 spriteId;
|
||||
u16 tileTag;
|
||||
u16 palTag;
|
||||
};
|
||||
|
||||
struct RedArrowCursor
|
||||
{
|
||||
u8 spriteId;
|
||||
u16 tileTag;
|
||||
u16 palTag;
|
||||
};
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 AddScrollIndicatorArrowPairParameterized(u8, u8, u8, u8, s32, u16, u16, u16 *);
|
||||
u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *scrollOffset);
|
||||
u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate * template, u16 * a1);
|
||||
void RemoveScrollIndicatorArrowPair(u8);
|
||||
u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind);
|
||||
u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor);
|
||||
void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y);
|
||||
void ListMenuRemoveRedOutlineCursorObject(u8 taskId);
|
||||
|
||||
#endif //GUARD_MENU_INDICATORS_H
|
||||
|
||||
+2
-2
@@ -625,8 +625,8 @@ u32 CanMonLearnTMHM(struct Pokemon *, u8);
|
||||
u32 CanSpeciesLearnTMHM(u16 species, u8 tm);
|
||||
u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves);
|
||||
void ClearBattleMonForms(void);
|
||||
const u8 *GetMonFrontSpritePal(struct Pokemon *mon);
|
||||
const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32);
|
||||
const u32 *GetMonFrontSpritePal(struct Pokemon *mon);
|
||||
const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32);
|
||||
const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32);
|
||||
bool8 IsOtherTrainer(u32, u8 *);
|
||||
void SetWildMonHeldItem(void);
|
||||
|
||||
+19
-9
@@ -4,28 +4,30 @@
|
||||
#include "global.h"
|
||||
|
||||
#define MAX_SPRITES 64
|
||||
#define SPRITE_INVALID_TAG 0xFFFF
|
||||
|
||||
struct SpriteSheet
|
||||
{
|
||||
const u8 *data; // Raw uncompressed pixel data
|
||||
const void *data; // Raw uncompressed pixel data
|
||||
u16 size;
|
||||
u16 tag;
|
||||
};
|
||||
|
||||
struct CompressedSpriteSheet
|
||||
{
|
||||
const u8 *data; // LZ77 compressed pixel data
|
||||
const u32 *data; // LZ77 compressed pixel data
|
||||
u16 size; // Uncompressed size of pixel data
|
||||
u16 tag;
|
||||
};
|
||||
|
||||
struct SpriteFrameImage
|
||||
{
|
||||
const u8 *data;
|
||||
const void *data;
|
||||
u16 size;
|
||||
};
|
||||
|
||||
#define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr}
|
||||
#define overworld_frame(ptr, width, height, frame) {.data = (u8 *)ptr + (width * height * frame * 64)/2, .size = (width * height * 64)/2}
|
||||
|
||||
struct SpritePalette
|
||||
{
|
||||
@@ -35,7 +37,7 @@ struct SpritePalette
|
||||
|
||||
struct CompressedSpritePalette
|
||||
{
|
||||
const u8 *data; // LZ77 compressed palette data
|
||||
const u32 *data; // LZ77 compressed palette data
|
||||
u16 tag;
|
||||
};
|
||||
|
||||
@@ -102,6 +104,12 @@ struct AffineAnimJumpCmd
|
||||
u16 target;
|
||||
};
|
||||
|
||||
struct AffineAnimEndCmdAlt
|
||||
{
|
||||
s16 type;
|
||||
u16 val;
|
||||
};
|
||||
|
||||
union AffineAnimCmd
|
||||
{
|
||||
s16 type;
|
||||
@@ -126,6 +134,8 @@ union AffineAnimCmd
|
||||
{.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}}
|
||||
#define AFFINEANIMCMD_JUMP(_target) \
|
||||
{.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}}
|
||||
#define AFFINEANIMCMD_END_ALT(_val) \
|
||||
{.end = {.type = AFFINEANIMCMDTYPE_END, .val = _val}}
|
||||
|
||||
struct AffineAnimState
|
||||
{
|
||||
@@ -163,6 +173,8 @@ struct SubspriteTable
|
||||
|
||||
struct Sprite;
|
||||
|
||||
typedef void (*SpriteCallback)(struct Sprite *);
|
||||
|
||||
struct SpriteTemplate
|
||||
{
|
||||
u16 tileTag;
|
||||
@@ -171,7 +183,7 @@ struct SpriteTemplate
|
||||
const union AnimCmd *const *anims;
|
||||
const struct SpriteFrameImage *images;
|
||||
const union AffineAnimCmd *const *affineAnims;
|
||||
void (*callback)(struct Sprite *);
|
||||
SpriteCallback callback;
|
||||
};
|
||||
|
||||
struct Sprite
|
||||
@@ -182,7 +194,7 @@ struct Sprite
|
||||
/*0x10*/ const union AffineAnimCmd *const *affineAnims;
|
||||
/*0x14*/ const struct SpriteTemplate *template;
|
||||
/*0x18*/ const struct SubspriteTable *subspriteTables;
|
||||
/*0x1C*/ void (*callback)(struct Sprite *);
|
||||
/*0x1C*/ SpriteCallback callback;
|
||||
|
||||
/*0x20*/ struct Coords16 pos1;
|
||||
/*0x24*/ struct Coords16 pos2;
|
||||
@@ -232,14 +244,12 @@ struct OamMatrix
|
||||
s16 d;
|
||||
};
|
||||
|
||||
typedef void (*SpriteCallback)(struct Sprite *);
|
||||
|
||||
extern const struct OamData gDummyOamData;
|
||||
extern const union AnimCmd *const gDummySpriteAnimTable[];
|
||||
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
|
||||
extern s16 gSpriteCoordOffsetX;
|
||||
extern s16 gSpriteCoordOffsetY;
|
||||
|
||||
extern const struct SpriteTemplate gDummySpriteTemplate;
|
||||
extern struct Sprite gSprites[];
|
||||
|
||||
void ResetSpriteData(void);
|
||||
|
||||
Reference in New Issue
Block a user