From 40a808351a5b76b0a536c5fac6c9479284468af8 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 2 Jul 2019 11:28:48 +0800 Subject: finished safari_zone --- include/constants/flags.h | 3 ++- include/event_scripts.h | 5 +++++ include/field_screen_effect.h | 1 + include/overworld.h | 6 +++--- include/safari_zone.h | 3 --- 5 files changed, 11 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/constants/flags.h b/include/constants/flags.h index 209e68aee..de9a98b43 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -2,6 +2,7 @@ #define GUARD_CONSTANTS_FLAGS_H // Sys Flags Maybe +#define FLAG_SYS_SAFARI_MODE 0x800 #define FLAG_WHITE_FLUTE_ACTIVE 0x803 #define FLAG_BLACK_FLUTE_ACTIVE 0x804 @@ -1436,7 +1437,7 @@ #define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29) #define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A) #define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B) -#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C) +#define FLAG_0x88C (CODE_FLAGS + 0x2C) #define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D) #define FLAG_0x88E (CODE_FLAGS + 0x2E) diff --git a/include/event_scripts.h b/include/event_scripts.h index 917269de4..91612c06b 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1148,4 +1148,9 @@ extern const u8 EventScript_FldEffStrength[]; extern const u8 EventScript_FailSweetScent[]; extern const u8 EventScript_FldEffRockSmash[]; +extern const u8 EventScript_SafariTimesUp[]; +extern const u8 EventScript_SafariRetire[]; +extern const u8 EventScript_SafariWarpOut[]; +extern const u8 EventScript_SafariOutOfBalls[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 14d7e5d81..d1fde7eac 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -6,5 +6,6 @@ void sub_80AF79C(void); void sub_807F028(u8); void sub_80B0244(void); +void sub_807E3EC(void); #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/overworld.h b/include/overworld.h index bab4797ff..71625415a 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -69,8 +69,8 @@ void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void sub_8086230(void); void CB2_ReturnToField(void); bool32 sub_8087598(void); -void c2_exit_to_overworld_1_continue_scripts_restart_music(void); -void warp_in(void); +void CB2_ReturnToFieldContinueScriptPlayMapMusic(void); +void WarpIntoMap(void); u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum); void sub_8086194(void); void sub_8084CCC(u8 spawn); @@ -110,7 +110,7 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); void Overworld_ResetStateAfterTeleport(void); void Overworld_FadeOutMapMusic(void); -void sub_805671C(void); +void CB2_LoadMap(void); bool8 sub_8055FC4(void); bool8 is_light_level_8_or_9(u8 mapType); bool32 sub_8055C9C(void); diff --git a/include/safari_zone.h b/include/safari_zone.h index b20555a8c..c65ab7b7b 100644 --- a/include/safari_zone.h +++ b/include/safari_zone.h @@ -15,7 +15,4 @@ void ExitSafariMode(void); bool8 SafariZoneTakeStep(void); void SafariZoneRetirePrompt(void); -struct Pokeblock *SafariZoneGetActivePokeblock(void); -void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index); - #endif // GUARD_SAFARI_ZONE_H -- cgit v1.2.3 From d97925df0edcac9212ba827b31ff75c7968703f3 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 3 Jul 2019 01:34:39 +0800 Subject: finished field_poison --- include/field_poison.h | 10 ++-------- include/overworld.h | 1 - include/safari_zone.h | 1 + include/strings.h | 1 + 4 files changed, 4 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/field_poison.h b/include/field_poison.h index fcfb71cf5..4887fa27a 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -3,19 +3,13 @@ #include "global.h" -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations - enum { FLDPSN_NONE, FLDPSN_PSN, FLDPSN_FNT }; -void sub_80F972C(void); -unsigned int overworld_poison(void); +void ExecuteWhiteOut(void); +s32 DoPoisonFieldEffect(void); #endif //GUARD_FIELD_POISON_H diff --git a/include/overworld.h b/include/overworld.h index 71625415a..60fa566f7 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -2,7 +2,6 @@ #define GUARD_ROM4_H #include "global.h" - #include "main.h" struct UnkPlayerStruct diff --git a/include/safari_zone.h b/include/safari_zone.h index c65ab7b7b..feaa93ed0 100644 --- a/include/safari_zone.h +++ b/include/safari_zone.h @@ -4,6 +4,7 @@ #include "global.h" extern u8 gNumSafariBalls; +extern u16 gSafariZoneStepCounter; bool32 GetSafariZoneFlag(void); void SetSafariZoneFlag(void); diff --git a/include/strings.h b/include/strings.h index 1aa858e82..55c178b0d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -91,6 +91,7 @@ extern const u8 gText_PkmnFainted3[]; extern const u8 gText_Coins[]; extern const u8 gText_EggNickname[]; extern const u8 gText_Pokemon[]; +extern const u8 gText_PkmnFainted3[]; extern const u8 gOtherText_Use[]; extern const u8 gOtherText_Give[]; -- cgit v1.2.3 From 503086bc7df2a832f49da321287e6b12b8e138fa Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 3 Jul 2019 12:40:04 +0800 Subject: finished menu_indicators --- include/field_poison.h | 2 +- include/graphics.h | 16 +++++++------- include/list_menu.h | 30 +++++++++++++++++++++++---- include/menu_indicators.h | 53 ++++++++++++++++++++++++++++++++++++++++++++++- include/pokemon.h | 4 ++-- include/sprite.h | 28 +++++++++++++++++-------- 6 files changed, 107 insertions(+), 26 deletions(-) (limited to 'include') diff --git a/include/field_poison.h b/include/field_poison.h index 4887fa27a..97d5f59ed 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -6,7 +6,7 @@ enum { FLDPSN_NONE, FLDPSN_PSN, - FLDPSN_FNT + FLDPSN_FNT, }; void ExecuteWhiteOut(void); diff --git a/include/graphics.h b/include/graphics.h index 1b2913164..e12a6755b 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -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[]; diff --git a/include/list_menu.h b/include/list_menu.h index 290b1d925..5614580eb 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -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; diff --git a/include/menu_indicators.h b/include/menu_indicators.h index 76f25224c..fb6b65ecc 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -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 diff --git a/include/pokemon.h b/include/pokemon.h index ed0108159..558eedc67 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -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); diff --git a/include/sprite.h b/include/sprite.h index 5fa85ee21..27e5dc852 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -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); -- cgit v1.2.3 From 60300866962c072aaf949c0addf75514b973bfec Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 5 Jul 2019 14:50:05 +0800 Subject: finished buy_menu_helpers --- include/shop.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include') diff --git a/include/shop.h b/include/shop.h index 05f5160e6..481fd6c76 100644 --- a/include/shop.h +++ b/include/shop.h @@ -2,6 +2,7 @@ #define GUARD_SHOP_H #include "global.h" +#include "menu_helpers.h" extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; @@ -9,5 +10,15 @@ void CreatePokemartMenu(const u16 *); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); void sub_809C09C(u16, u16, u8); +u8 sub_809B56C(void); + +// buy_menu_helper +void BuyMenuInitWindows(bool32 isSellingTM); +void BuyMenuDrawMoneyBox(void); +void BuyMenuPrint(u8 windowId, u8 font, const u8 *text, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 color); +void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback); +void BuyMenuQuantityBoxNormalBorder(u8 windowId, bool8 copyToVram); +void BuyMenuQuantityBoxThinBorder(u8 windowId, bool8 copyToVram); +void BuyMenuConfirmPurchase(u8 taskId, const struct YesNoFuncTable *yesNo); #endif // GUARD_SHOP_H -- cgit v1.2.3 From cc4d2f524cbac1610e6ff517d55d7de48ebcafc7 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 6 Jul 2019 05:53:42 +0800 Subject: finished dynamic_placeholder_text_util --- include/dynamic_placeholder_text_util.h | 12 ++++++++++++ include/unk_text_util.h | 11 ----------- 2 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 include/dynamic_placeholder_text_util.h delete mode 100644 include/unk_text_util.h (limited to 'include') diff --git a/include/dynamic_placeholder_text_util.h b/include/dynamic_placeholder_text_util.h new file mode 100644 index 000000000..31cfe8d30 --- /dev/null +++ b/include/dynamic_placeholder_text_util.h @@ -0,0 +1,12 @@ +#ifndef GUARD_UNK_TEXT_UTIL_H +#define GUARD_UNK_TEXT_UTIL_H + +#include "global.h" + +void DynamicPlaceholderTextUtil_Reset(void); +void DynamicPlaceholderTextUtil_SetPlaceholderPtr(u8 idx, const u8 *ptr); +u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src); +const u8 *DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 idx); +u8 GetColorFromTextColorTable(u16 graphicId); + +#endif //GUARD_UNK_TEXT_UTIL_H diff --git a/include/unk_text_util.h b/include/unk_text_util.h deleted file mode 100644 index 750c0541e..000000000 --- a/include/unk_text_util.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef GUARD_UNK_TEXT_UTIL_H -#define GUARD_UNK_TEXT_UTIL_H - -#include "global.h" - -void UnkTextUtil_Reset(void); -void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr); -u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src); -const u8 *UnkTextUtil_GetPtrI(u8 idx); - -#endif //GUARD_UNK_TEXT_UTIL_H -- cgit v1.2.3 From 050bb937533b98a6828f0b276bbe13608b7e2fb0 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 6 Jul 2019 16:45:21 +0800 Subject: finished list_menu --- include/graphics.h | 3 +++ include/list_menu.h | 22 ++++++++++------------ include/menu.h | 7 +++++-- include/menu_indicators.h | 2 ++ 4 files changed, 20 insertions(+), 14 deletions(-) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index e12a6755b..e8503609e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -32,6 +32,9 @@ extern const u8 gInterfacePal_LuxuryBall[]; extern const u8 gInterfaceGfx_PremierBall[]; extern const u8 gInterfacePal_PremierBall[]; extern const u8 gOpenPokeballGfx[]; +extern const u8 gFireRedMenuElements_Gfx[]; +extern const u16 gFireRedMenuElements1_Pal[]; +extern const u16 gFireRedMenuElements2_Pal[]; extern const u8 gItemIcon_QuestionMark[]; extern const u8 gItemIconPalette_QuestionMark[]; diff --git a/include/list_menu.h b/include/list_menu.h index 5614580eb..df53bb529 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -70,20 +70,18 @@ struct ListMenuWindowRect u8 palNum; }; -extern struct ListMenuTemplate gUnknown_03006310; extern struct ListMenuTemplate gMultiuseListMenuTemplate; -// Exported ROM declarations - -u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2); -s32 ListMenuHandleInput(u8 id); -void ListMenuGetScrollAndRow(u8 a0, u16 *a1, u16 *a2); -void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); -void DestroyListMenu(u8, u16 *, u16 *); -u16 ListMenuGetYCoordForPrintingArrowCursor(u8); -void sub_8107D38(u8, u8); s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum); -void ListMenuDefaultCursorMoveFunc(s32, u8, struct ListMenu *); -void sub_8107BD0(u8 taskId, u8 attr, s32 value); +u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow); +u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 scrollOffset, u16 selectedRow); +s32 ListMenu_ProcessInput(u8 listTaskId); +void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow); +void RedrawListMenu(u8 listTaskId); +void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow); +u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId); +void ListMenuOverrideSetColors(u8 cursorPal, u8 fillValue, u8 cursorShadowPal); +void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list); +void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value); #endif //GUARD_LIST_MENU_H diff --git a/include/menu.h b/include/menu.h index 3231587de..19efc3ad9 100644 --- a/include/menu.h +++ b/include/menu.h @@ -27,12 +27,10 @@ void InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 idx, u8 nstrs,u8); u8 GetMenuCursorPos(void); s8 ProcessMenuInput(void); s8 ProcessMenuInputNoWrapAround(void); -void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void ResetTempTileDataBuffers(void); void *DecompressAndCopyTileDataToVram(u8 bg_id, const void *src, u32 size, u16 offset, u8 mode); bool8 FreeTempTileDataBuffersIfPossible(void); u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd -//void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); s8 Menu_ProcessInputNoWrapClearOnChoose(void); void DoScheduledBgTilemapCopiesToVram(void); void ClearScheduledBgCopiesToVram(void); @@ -54,4 +52,9 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l void ClearMenuWindow_BorderThickness2(u8 windowId, u8 a1); void PrintTextArray(u8, u8, u8, u8, u8, u8, const struct MenuAction *); +void sub_8107CD8(u8 palOffset, u16 speciesId); +void sub_8107CF8(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y); +void sub_8107D38(u8, u8); +void BlitMoveInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y); + #endif // GUARD_MENU_H diff --git a/include/menu_indicators.h b/include/menu_indicators.h index fb6b65ecc..156dcd694 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -77,5 +77,7 @@ u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind); u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor); void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y); void ListMenuRemoveRedOutlineCursorObject(u8 taskId); +void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind); +void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind); #endif //GUARD_MENU_INDICATORS_H -- cgit v1.2.3 From 01b375ab9afc5f2646b84c0ddc81601d4fd83146 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 7 Jul 2019 00:45:51 +0800 Subject: fixed some struct DECL location --- include/menu_indicators.h | 41 ----------------------------------------- 1 file changed, 41 deletions(-) (limited to 'include') diff --git a/include/menu_indicators.h b/include/menu_indicators.h index 156dcd694..fbcee2590 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -3,22 +3,6 @@ #include "global.h" -// Exported type declarations - -// 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; @@ -34,14 +18,6 @@ struct ScrollArrowsTemplate u8 palNum; }; -struct ScrollIndicatorTemplate -{ - u8 animNum:4; - u8 bounceDir:4; - u8 multiplier; - s16 frequency; -}; - struct CursorStruct { u8 left; @@ -53,23 +29,6 @@ struct CursorStruct 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(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); -- cgit v1.2.3 From 122f1395823cfa3dfd96842c61411ad29700f8de Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 8 Jul 2019 06:18:58 +0800 Subject: fixed multiple issue --- include/field_poison.h | 2 +- include/task.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/field_poison.h b/include/field_poison.h index 97d5f59ed..4887fa27a 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -6,7 +6,7 @@ enum { FLDPSN_NONE, FLDPSN_PSN, - FLDPSN_FNT, + FLDPSN_FNT }; void ExecuteWhiteOut(void); diff --git a/include/task.h b/include/task.h index cd3deb544..834bb5655 100644 --- a/include/task.h +++ b/include/task.h @@ -4,6 +4,7 @@ #include "global.h" #define NUM_TASKS 16 +#define TASK_NONE 0xFF typedef void (*TaskFunc)(u8 taskId); -- cgit v1.2.3