diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2018-02-12 15:01:43 +0100 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2018-02-12 15:01:43 +0100 |
commit | 382442c4c8754262c77acb50930df31c63a62355 (patch) | |
tree | bbd8da8d388b0df552b391452d4d150b40c47480 /include | |
parent | a4787bc06a323071d32d3e0705e9cd39d9221452 (diff) |
start decompiling overworld.s
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/game_stat.h | 5 | ||||
-rw-r--r-- | include/global.h | 19 | ||||
-rw-r--r-- | include/overworld.h | 51 |
3 files changed, 61 insertions, 14 deletions
diff --git a/include/constants/game_stat.h b/include/constants/game_stat.h index b1f3d4197..7ebf3501b 100644 --- a/include/constants/game_stat.h +++ b/include/constants/game_stat.h @@ -51,9 +51,10 @@ #define GAME_STAT_USED_DAYCARE 47 #define GAME_STAT_RODE_CABLE_CAR 48 #define GAME_STAT_ENTERED_HOT_SPRINGS 49 +#define GAME_STAT_50 50 +#define GAME_STAT_51 51 -/*TODO: add new stats added in Emerald*/ - +#define NUM_USED_GAME_STATS 52 #define NUM_GAME_STATS 64 #endif // GUARD_CONSTANTS_GAME_STAT_H diff --git a/include/global.h b/include/global.h index 4a71a8a87..8913432ba 100644 --- a/include/global.h +++ b/include/global.h @@ -618,7 +618,7 @@ struct SaveBlock1 /*0x04*/ struct WarpData location; /*0x0C*/ struct WarpData warp1; /*0x14*/ struct WarpData warp2; - /*0x1C*/ struct WarpData warp3; + /*0x1C*/ struct WarpData lastHealLocation; /*0x24*/ struct WarpData warp4; /*0x2C*/ u16 battleMusic; /*0x2E*/ u8 weather; @@ -705,6 +705,23 @@ struct SaveBlock1 extern struct SaveBlock1* gSaveBlock1Ptr; +struct MapPosition +{ + s16 x; + s16 y; + u8 height; +}; + +struct UnkStruct_8054FF8 +{ + u8 a; + u8 b; + u8 c; + u8 d; + struct MapPosition sub; + u16 field_C; +}; + struct Bitmap // TODO: Find a better spot for this { u8* pixels; diff --git a/include/overworld.h b/include/overworld.h index 630b0a617..904f61c8e 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -25,11 +25,49 @@ struct UCoords32 extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; extern MainCallback gFieldCallback; +void DoWhiteOut(void); +void Overworld_ResetStateAfterFly(void); +void Overworld_ResetStateAfterTeleport(void); +void Overworld_ResetStateAfterDigEscRope(void); +void sub_8084788(void); +void ResetGameStats(void); +void IncrementGameStat(u8 index); +u32 GetGameStat(u8 index); +void SetGameStat(u8 index, u32 value); +void ApplyNewEncryptionKeyToGameStats(u32 newKey); +void LoadMapObjTemplatesFromHeader(void); +void LoadSaveblockMapObjScripts(void); +void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y); +void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType); +void mapdata_load_assets_to_gpu_and_full_redraw(void); +struct MapData *get_mapdata_header(void); +void ApplyCurrentWarp(void); +void set_warp2_warp3_to_neg_1(void); +void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +bool32 warp_data_is_not_neg_1(struct WarpData *warp); +struct MapHeader *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum); +struct MapHeader *const warp1_get_mapheader(void); +void set_current_map_header_from_sav1_save_old_name(void); +void LoadSaveblockMapHeader(void); +void update_camera_pos_from_warpid(void); +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_8084CCC(u8 a1); +void Overworld_SetWarpDestToLastHealLoc(void); +void Overworld_SetHealLocationWarp(u8 healLocationId); +void sub_8084D5C(s16 a1, s16 a2); +void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); + +// to erase later +u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); +u8 Overworld_GetMapTypeOfSaveblockLocation(void); void Overworld_SetMapObjTemplateCoords(u8, s16, s16); void Overworld_SetMapObjTemplateMovementType(u8, u8); - void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); - 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 Overworld_SetHealLocationWarp(u8); @@ -37,25 +75,18 @@ void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void sub_8084E2C(s8, s8, s8, s8, s8); void sub_8084E80(s8, s8, s8, s8, s8); void sub_8084EBC(s16, s16); - void player_avatar_init_params_reset(void); - bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); void Overworld_ResetStateAfterTeleport(void); - void Overworld_SetFlashLevel(s32 a1); //u8 Overworld_GetFlashLevel(void); void sub_8085524(u16); - void Overworld_SetSavedMusic(u16); void Overworld_ChangeMusicToDefault(void); void Overworld_ChangeMusicTo(u16); - bool32 is_c1_link_related_active(void); extern u16 gUnknown_03005DA8; - void strange_npc_table_clear(void); -const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void sub_8086230(void); void c2_exit_to_overworld_2_switch(void); @@ -71,13 +102,11 @@ void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); void mapldr_default(void); u8 get_map_light_from_warp0(void); bool8 is_light_level_1_2_3_5_or_6(u8 a1); - bool32 sub_80875C8(void); bool32 sub_8087634(void); bool32 sub_808766C(void); void IncrementGameStat(u8); u32 GetGameStat(u8); - void CB2_OverworldBasic(void); #endif //GUARD_ROM4_H |