summaryrefslogtreecommitdiff
path: root/include/overworld.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/overworld.h')
-rw-r--r--include/overworld.h238
1 files changed, 238 insertions, 0 deletions
diff --git a/include/overworld.h b/include/overworld.h
new file mode 100644
index 000000000..0954f1b63
--- /dev/null
+++ b/include/overworld.h
@@ -0,0 +1,238 @@
+#ifndef GUARD_ROM4_H
+#define GUARD_ROM4_H
+
+#include "sprite.h"
+
+struct UnkPlayerStruct
+{
+ u8 player_field_0;
+ u8 player_field_1;
+};
+
+struct LinkPlayerMapObject
+{
+ u8 active;
+ u8 linkPlayerId;
+ u8 mapObjId;
+ u8 mode;
+};
+
+struct UCoords32
+{
+ u32 x, y;
+};
+
+extern const struct UCoords32 gUnknown_0821664C[];
+extern void (*gFieldCallback)(void);
+
+// sub_8052F5C
+void Overworld_ResetStateAfterFly(void);
+void Overworld_ResetStateAfterTeleport(void);
+void Overworld_ResetStateAfterDigEscRope(void);
+void Overworld_ResetStateAfterWhiteOut(void);
+// sub_805308C
+void ResetGameStats(void);
+void IncrementGameStat(u8 index);
+u32 GetGameStat(u8 index);
+void SetGameStat(u8, u32);
+// LoadMapObjTemplatesFromHeader
+// LoadSaveblockMapObjScripts
+void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
+void Overworld_SetMapObjTemplateMovementType(u8, u8);
+// mapdata_load_assets_to_gpu_and_full_redraw
+// get_mapdata_header
+// ApplyCurrentWarp
+// SetWarpData
+// warp_data_is_not_neg_1
+struct MapHeader * const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
+struct MapHeader * const warp1_get_mapheader(void);
+// set_current_map_header_from_sav1_save_old_name
+// LoadSaveblockMapHeader
+// sub_80533CC
+void warp_in(void);
+void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId);
+void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
+void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
+void sub_8053538(u8);
+void Overworld_SetWarpDestToLastHealLoc(void);
+void Overworld_SetHealLocationWarp(u8);
+void sub_80535C4(s16 a1, s16 a2);
+void sub_805363C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void sub_8053678(void);
+void sub_8053690(s8, s8, s8, s8, s8);
+// warp1_set_to_warp2
+void sub_80536E4(s8, s8, s8, s8, s8);
+void sub_8053720(s16, s16);
+// sub_8053778
+// unref_sub_8053790
+void sub_80537CC(u8);
+void gpu_sync_bg_hide();
+// GetMapConnection
+// sub_8053850
+bool8 sub_80538B0(u16 x, u16 y);
+bool8 sub_80538D0(u16 x, u16 y);
+void sub_80538F0(u8 mapGroup, u8 mapNum);
+// sub_8053994
+void player_avatar_init_params_reset(void);
+void walkrun_find_lowest_active_bit_in_bitfield(void);
+// sub_8053AA8
+u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3);
+u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8, u16, u8);
+u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void);
+bool32 Overworld_IsBikingAllowed(void);
+void SetDefaultFlashLevel(void);
+void Overworld_SetFlashLevel(s32 a1);
+u8 Overworld_GetFlashLevel(void);
+void sub_8053D14(u16);
+// sub_8053D30
+// sub_8053D6C
+// GetLocationMusic
+// GetCurrLocationDefaultMusic
+// GetWarpDestinationMusic
+// Overworld_ResetMapMusic
+void Overworld_PlaySpecialMapMusic(void);
+void Overworld_SetSavedMusic(u16);
+void Overworld_ClearSavedMusic(void);
+void sub_8053F0C(void);
+void Overworld_ChangeMusicToDefault(void);
+void Overworld_ChangeMusicTo(u16);
+// GetMapMusicFadeoutSpeed
+void sub_8053FF8(void);
+bool8 sub_8054034(void);
+void Overworld_FadeOutMapMusic(void);
+// PlayAmbientCry
+void UpdateAmbientCry(s16 *, u16 *);
+void ChooseAmbientCrySpecies(void);
+u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
+// GetMapTypeByWarpData
+u8 Overworld_GetMapTypeOfSaveblockLocation(void);
+u8 get_map_type_from_warp0(void);
+bool8 is_map_type_1_2_3_5_or_6(u8 a1);
+bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 a1);
+u8 Overworld_MapTypeIsIndoors(u8);
+// unref_sub_8054260
+u8 sav1_map_get_name();
+// sav1_map_get_battletype
+// ResetSafariZoneFlag_
+bool32 is_c1_link_related_active(void);
+// c1_overworld_normal
+// c1_overworld
+// OverworldBasic
+void CB2_OverworldBasic(void);
+void c2_overworld(void);
+// set_callback1
+// sub_80543DC
+// sub_80543E8
+void CB2_NewGame(void);
+void CB2_WhiteOut(void);
+void CB2_LoadMap(void);
+void CB2_LoadMap2(void);
+void sub_8054534(void);
+void sub_8054588(void);
+void c2_80567AC(void);
+void c2_exit_to_overworld_2_switch(void);
+void c2_exit_to_overworld_2_local(void);
+void c2_exit_to_overworld_2_link(void);
+// sub_805465C
+void sub_805469C(void);
+// sub_80546B8
+void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
+void sub_80546F0(void);
+// sub_805470C
+void CB2_ContinueSavedGame(void);
+void FieldClearVBlankHBlankCallbacks(void);
+void SetFieldVBlankCallback(void);
+void VBlankCB_Field(void);
+// sub_8054814
+bool32 sub_805483C(u8 *);
+bool32 sub_805493C(u8 *, u32);
+bool32 sub_8054A4C(u8 *);
+bool32 sub_8054A9C(u8 *a1);
+void do_load_map_stuff_loop(u8 *a1);
+void sub_8054BA8(void);
+void sub_8054C2C(void);
+void sub_8054C54(void);
+void sub_8054D4C(u32 a1);
+void sub_8054D90(void);
+void mli4_mapscripts_and_other(void);
+void sub_8054E20(void);
+void sub_8054E34(void);
+void sub_8054E60(void);
+void sub_8054E7C(void);
+void sub_8054E98(void);
+void sub_8054EC8(void);
+void sub_8054F48(void);
+void sub_8054F70(void);
+// sub_8054F88
+// sub_8054FC0
+// sub_8054FF8
+// sub_8055218
+// sub_8055280
+// sub_80552B0
+u16 sub_805530C(u16);
+void sub_8055340(u16 *);
+void sub_8055354(void);
+u16 sub_8055390(u32);
+// sub_80553E0
+u16 sub_80553E4(u32);
+u16 sub_8055408(u32);
+u16 sub_8055438(u32);
+// sub_8055468
+// sub_805546C
+// sub_80554A4
+// sub_80554B8
+// sub_80554BC
+// sub_80554E4
+// sub_80554F8
+// unref_sub_8055568
+// sub_8055574
+u16 sub_8055588(void);
+// sub_805559C
+void sub_80555B0(int linkPlayerId, int a2, struct UnkStruct_8054FF8 *a3);
+bool32 sub_8055618(struct UnkStruct_8054FF8 *);
+bool32 sub_8055630(struct UnkStruct_8054FF8 *);
+u8 *sub_8055648(struct UnkStruct_8054FF8 *);
+bool32 sub_8055660(struct UnkStruct_8054FF8 *);
+u8 *sub_805568C(struct UnkStruct_8054FF8 *);
+u16 sub_8055758(u8 *);
+void sub_80557E8(void);
+void sub_80557F4(void);
+void sub_8055808(u8 *);
+void sub_8055824(void);
+void sub_8055840(u8 *);
+void sub_805585C(void);
+bool32 sub_8055870(void);
+u32 sub_80558AC(void);
+u32 sub_8055910(void);
+u32 sub_8055940(void);
+// ZeroLinkPlayerMapObject
+void strange_npc_table_clear(void);
+// ZeroMapObject
+void SpawnLinkPlayerMapObject(u8, s16, s16, u8);
+void InitLinkPlayerMapObjectPos(struct MapObject *, s16, s16);
+// unref_sub_8055A6C
+// unref_sub_8055A9C
+u8 sub_8055AE8(u8);
+void sub_8055B08(u8, u16 *, u16 *);
+u8 sub_8055B30(u8);
+u8 sub_8055B50(u8);
+// unref_sub_8055B74
+u8 GetLinkPlayerIdAt(s16, s16);
+void sub_8055BFC(u8, u8);
+// sub_8055C68
+// sub_8055C88
+// sub_8055C8C
+// sub_8055CAC
+// sub_8055CB0
+// sub_8055D18
+// sub_8055D30
+// sub_8055D38
+u8 npc_something3(u8, u8);
+u8 LinkPlayerDetectCollision(u8, u8, s16, s16);
+void CreateLinkPlayerSprite(u8);
+void SpriteCB_LinkPlayer(struct Sprite *);
+void sub_805465C(void);
+
+#endif // GUARD_ROM4_H