summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/vars.h79
-rw-r--r--include/field_effect_helpers.h1
-rw-r--r--include/field_special_scene.h14
-rw-r--r--include/field_tasks.h5
-rw-r--r--include/item_menu.h2
-rw-r--r--include/list_menu.h33
-rw-r--r--include/menu_indicators.h37
-rw-r--r--include/secret_base.h1
-rw-r--r--include/sprite.h1
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;