diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/vars.h | 79 | ||||
-rw-r--r-- | include/field_effect_helpers.h | 1 | ||||
-rw-r--r-- | include/field_special_scene.h | 14 | ||||
-rw-r--r-- | include/field_tasks.h | 5 | ||||
-rw-r--r-- | include/item_menu.h | 2 | ||||
-rw-r--r-- | include/list_menu.h | 33 | ||||
-rw-r--r-- | include/menu_indicators.h | 37 | ||||
-rw-r--r-- | include/secret_base.h | 1 | ||||
-rw-r--r-- | include/sprite.h | 1 |
9 files changed, 101 insertions, 72 deletions
diff --git a/include/constants/vars.h b/include/constants/vars.h index be21f1730..976c6a739 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -3,42 +3,53 @@ #define VAR_0x3F20 0x3F20 -#define VAR_0x4000 0x4000 -#define VAR_0x4001 0x4001 -#define VAR_0x4002 0x4002 -#define VAR_0x4003 0x4003 -#define VAR_0x4004 0x4004 -#define VAR_0x4005 0x4005 -#define VAR_0x4006 0x4006 -#define VAR_0x4007 0x4007 -#define VAR_0x4008 0x4008 -#define VAR_0x4009 0x4009 -#define VAR_0x400A 0x400A -#define VAR_0x400B 0x400B -#define VAR_0x400C 0x400C -#define VAR_0x400D 0x400D -#define VAR_0x400E 0x400E -#define VAR_0x400F 0x400F -#define VAR_0x4010 0x4010 -#define VAR_0x4011 0x4011 -#define VAR_0x4012 0x4012 -#define VAR_0x4013 0x4013 -#define VAR_0x4014 0x4014 -#define VAR_0x4015 0x4015 -#define VAR_0x4016 0x4016 -#define VAR_0x4017 0x4017 -#define VAR_0x4018 0x4018 -#define VAR_0x4019 0x4019 -#define VAR_0x401A 0x401A -#define VAR_0x401B 0x401B -#define VAR_0x401C 0x401C -#define VAR_0x401D 0x401D -#define VAR_0x401E 0x401E -#define VAR_0x401F 0x401F +#define VARS_START 0x4000 + +// temporary vars +// The first 0x10 vars are are temporary--they are cleared every time a map is loaded. +#define VAR_TEMP_0 0x4000 +#define VAR_TEMP_1 0x4001 +#define VAR_TEMP_2 0x4002 +#define VAR_TEMP_3 0x4003 +#define VAR_TEMP_4 0x4004 +#define VAR_TEMP_5 0x4005 +#define VAR_TEMP_6 0x4006 +#define VAR_TEMP_7 0x4007 +#define VAR_TEMP_8 0x4008 +#define VAR_TEMP_9 0x4009 +#define VAR_TEMP_A 0x400A +#define VAR_TEMP_B 0x400B +#define VAR_TEMP_C 0x400C +#define VAR_TEMP_D 0x400D +#define VAR_TEMP_E 0x400E +#define VAR_TEMP_F 0x400F + +// object gfx id vars +// These 0x10 vars are used to dynamically control a map object's sprite. +// For example, the rival's sprite id is dynamically set based on the player's gender. +// See VarGetFieldObjectGraphicsId(). +#define VAR_OBJ_GFX_ID_0 0x4010 +#define VAR_OBJ_GFX_ID_1 0x4011 +#define VAR_OBJ_GFX_ID_2 0x4012 +#define VAR_OBJ_GFX_ID_3 0x4013 +#define VAR_OBJ_GFX_ID_4 0x4014 +#define VAR_OBJ_GFX_ID_5 0x4015 +#define VAR_OBJ_GFX_ID_6 0x4016 +#define VAR_OBJ_GFX_ID_7 0x4017 +#define VAR_OBJ_GFX_ID_8 0x4018 +#define VAR_OBJ_GFX_ID_9 0x4019 +#define VAR_OBJ_GFX_ID_A 0x401A +#define VAR_OBJ_GFX_ID_B 0x401B +#define VAR_OBJ_GFX_ID_C 0x401C +#define VAR_OBJ_GFX_ID_D 0x401D +#define VAR_OBJ_GFX_ID_E 0x401E +#define VAR_OBJ_GFX_ID_F 0x401F + +// general purpose vars #define VAR_RECYCLE_GOODS 0x4020 #define VAR_REPEL_STEP_COUNT 0x4021 #define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_FIRST_POKE 0x4023 +#define VAR_FIRST_POKE 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip #define VAR_MIRAGE_RND_H 0x4024 #define VAR_MIRAGE_RND_L 0x4025 #define VAR_SECRET_BASE_MAP 0x4026 @@ -262,6 +273,8 @@ #define VAR_0x40FE 0x40FE #define VAR_0x40FF 0x40FF +// special vars +// They are commonly used as parameters to commands, or return values from commands. #define VAR_0x8000 0x8000 #define VAR_0x8001 0x8001 #define VAR_0x8002 0x8002 diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 9e4cca64d..3c9e00b62 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -14,5 +14,6 @@ u8 sub_8154228(void); bool8 sub_8155DA0(struct MapObject *); void sub_8155D78(struct MapObject *); void sub_81555AC(u8, u8); +void ash(s16, s16, u16, s16); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_special_scene.h b/include/field_special_scene.h new file mode 100644 index 000000000..240e9ecb6 --- /dev/null +++ b/include/field_special_scene.h @@ -0,0 +1,14 @@ +#ifndef GUARD_FIELD_SPECIAL_SCENE_H +#define GUARD_FIELD_SPECIAL_SCENE_H + +s16 GetTruckCameraBobbingY(int a1); +s16 GetTruckBoxMovement(int a1); +void Task_Truck1(u8 taskId); +void Task_Truck2(u8 taskId); +void Task_Truck3(u8 taskId); +void Task_HandleTruckSequence(u8 taskId); +void ExecuteTruckSequence(void); +void EndTruckSequence(u8); +void sub_80C791C(void); + +#endif // GUARD_FIELD_SPECIAL_SCENE_H diff --git a/include/field_tasks.h b/include/field_tasks.h index 2a2a772d8..400ad054d 100644 --- a/include/field_tasks.h +++ b/include/field_tasks.h @@ -1,6 +1,9 @@ #ifndef GUARD_FIELD_TASKS_H #define GUARD_FIELD_TASKS_H -void ActivatePerStepCallback(u8); +void SetUpFieldTasks(void); +void ActivatePerStepCallback(u8 callbackId); +void ResetFieldTasksArgs(void); +void SetSootopolisGymCrackedIceMetatiles(void); #endif // GUARD_FIELD_TASKS_H diff --git a/include/item_menu.h b/include/item_menu.h index 40c015a8e..8a474bc0f 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -7,7 +7,7 @@ struct BagStruct void (*bagCallback)(void); u8 location; u8 pocket; - u8 unk6[2]; + u16 unk6; u16 cursorPosition[5]; u16 scrollPosition[5]; }; diff --git a/include/list_menu.h b/include/list_menu.h index 0aa66a524..d8b526b61 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -58,6 +58,33 @@ struct UnknownListMenuWindowStruct u8 palNum; }; +struct ArrowStruct +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + u16 unk6; + u16 unk8; + u16 tileTag; + u16 palTag; + u8 palNum; +}; + +struct CursorStruct +{ + u8 unk0; + u8 unk1; + u16 unk2; + u16 unk4; + u16 tileTag; + u16 palTag; + u8 palNum; +}; + +extern struct ArrowStruct gUnknown_0203CE8C; extern struct ListMenuTemplate gMultiuseListMenuTemplate; s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum); @@ -74,5 +101,11 @@ void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId); void sub_81AF028(u8 cursorPal, u8 fillValue, u8 cursorShadowPal); void sub_81AF078(s32 arg0, u8 arg1, struct ListMenu *list); +s32 sub_81AF08C(u8 taskId, u8 field); +void sub_81AF15C(u8 taskId, u8 field, s32 value); +u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1); +u8 AddScrollIndicatorArrowPairParametrized(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 tileTag, s32 palTag, void *arg7); +void RemoveScrollIndicatorArrowPair(u8 taskId); +void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId); #endif //GUARD_LIST_MENU_H diff --git a/include/menu_indicators.h b/include/menu_indicators.h deleted file mode 100644 index a099cffab..000000000 --- a/include/menu_indicators.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef GUARD_MENU_INDICATORS_H -#define GUARD_MENU_INDICATORS_H - -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations - -struct ArrowStruct -{ - u8 unk0[6]; - u16 unk6[4]; - u8 unkE; -}; - -struct CursorStruct -{ - u8 unk0; - u8 unk1; - u16 unk2; - u16 unk4; - u16 unk6; - u16 unk8; - u8 unkA; -}; - -void Task_ScrollIndicatorArrowPairOnMainMenu(u8); -u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); -void RemoveScrollIndicatorArrowPair(u8); -u8 AddScrollIndicatorArrowPair(const struct ArrowStruct*, void*); -void sub_81AF15C(u8, u8, u8); -void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind); -void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind); -u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind); - -#endif //GUARD_MENU_INDICATORS_H diff --git a/include/secret_base.h b/include/secret_base.h index ae3049fbd..c20533698 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -15,5 +15,6 @@ const u8 *GetSecretBaseTrainerLoseText(void); void sub_80E8EE0(struct MapEvents const *events); void sub_80E9238(u8 flagIn); bool8 CurrentMapIsSecretBase(void); +void sub_80EA3E4(u8 taskId); #endif //GUARD_SECRET_BASE_H diff --git a/include/sprite.h b/include/sprite.h index b5a1b6ae5..4723b66e1 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -229,6 +229,7 @@ struct OamMatrix extern const struct OamData gDummyOamData; extern const union AnimCmd *const gDummySpriteAnimTable[]; extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; +extern const struct SpriteTemplate gDummySpriteTemplate; extern s16 gSpriteCoordOffsetX; extern s16 gSpriteCoordOffsetY; |