From 601a942db45bd5697d15ae2fd8ab10c8259410b4 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Sun, 11 Feb 2018 17:19:36 -0500 Subject: decompile main_menu --- include/field_effect.h | 1 + include/link.h | 4 ++++ include/menu.h | 1 + include/menu_indicators.h | 1 + include/overworld.h | 1 + include/pokemon_3.h | 1 + include/strings.h | 28 ++++++++++++++++++++++++++++ 7 files changed, 37 insertions(+) (limited to 'include') diff --git a/include/field_effect.h b/include/field_effect.h index 7395270f9..f59dfab9b 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -74,6 +74,7 @@ extern u32 gFieldEffectArguments[8]; u32 FieldEffectStart(u8); bool8 FieldEffectActiveListContains(u8 id); void sub_80B69DC(void); +u8 AddNewGameBirchObject(s16, s16, u8); void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); void sub_80B7FC8(void); diff --git a/include/link.h b/include/link.h index 1c9795d29..202e2a4d7 100644 --- a/include/link.h +++ b/include/link.h @@ -145,6 +145,10 @@ extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; extern u32 gLinkStatus; + +void c2_mystery_gift(void); +void sub_801867C(void); +bool8 sub_80093CC(void); void Task_DestroySelf(u8 taskId); void OpenLink(void); void CloseLink(void); diff --git a/include/menu.h b/include/menu.h index 2046f7d2b..18d391317 100644 --- a/include/menu.h +++ b/include/menu.h @@ -32,6 +32,7 @@ void sub_8197930(void); u8 GetPlayerTextSpeed(void); void sub_81978B0(u16 arg0); +void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16)); void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void sub_8198070(u8 windowId, bool8 copyToVram); void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); diff --git a/include/menu_indicators.h b/include/menu_indicators.h index d0baac810..694c01fd9 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -6,6 +6,7 @@ // Exported RAM declarations // Exported ROM declarations +void Task_ScrollIndicatorArrowPairOnMainMenu(u8); u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); void RemoveScrollIndicatorArrowPair(u8); diff --git a/include/overworld.h b/include/overworld.h index 974f8f091..36198e124 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -55,6 +55,7 @@ void Overworld_ChangeMusicTo(u16); bool32 is_c1_link_related_active(void); +void CB2_NewGame(void); void strange_npc_table_clear(void); const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); diff --git a/include/pokemon_3.h b/include/pokemon_3.h index 82dfacf48..263839b19 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -1,6 +1,7 @@ #ifndef GUARD_POKEMON_3_H #define GUARD_POKEMON_3_H +u16 sub_806EFF0(u16); const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); void PlayMapChosenOrBattleBGM(u16 song); diff --git a/include/strings.h b/include/strings.h index 6d569e57a..a3d2a2fb7 100644 --- a/include/strings.h +++ b/include/strings.h @@ -218,6 +218,34 @@ extern const u8 gText_FemaleSymbol[]; extern const u8 gText_SelectorArrow3[]; extern const u8 gText_YesNo[]; +// main menu/birch speech text +extern const u8 gText_SaveFileErased[]; +extern const u8 gText_SaveFileCorrupted[]; +extern const u8 gJPText_No1MSubCircuit[]; +extern const u8 gText_BatteryRunDry[]; +extern const u8 gText_MainMenuNewGame[]; +extern const u8 gText_MainMenuOption[]; +extern const u8 gText_MainMenuContinue[]; +extern const u8 gText_MainMenuMysteryGift2[]; +extern const u8 gText_MainMenuMysteryEvents[]; +extern const u8 gText_MainMenuMysteryGift[]; +extern const u8 gText_WirelessNotConnected[]; +extern const u8 gText_MysteryGiftCantUse[]; +extern const u8 gText_MysteryEventsCantUse[]; +extern const u8 gText_Birch_Welcome[]; +extern const u8 gText_ThisIsAPokemon[]; +extern const u8 gText_Birch_MainSpeech[]; +extern const u8 gText_Birch_AndYouAre[]; +extern const u8 gText_Birch_BoyOrGirl[]; +extern const u8 gText_Birch_WhatsYourName[]; +extern const u8 gText_Birch_SoItsPlayer[]; +extern const u8 gText_Birch_YourePlayer[]; +extern const u8 gText_Birch_AreYouReady[]; +extern const u8 gText_ContinueMenuPlayer[]; +extern const u8 gText_ContinueMenuTime[]; +extern const u8 gText_ContinueMenuPokedex[]; +extern const u8 gText_ContinueMenuBadges[]; + // mystery event menu text extern const u8 gText_EventSafelyLoaded[]; extern const u8 gText_LoadErrorEndingSession[]; -- cgit v1.2.3 From 42cfbcb197bb271e675a4b2b9e70a2647bd65532 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Sun, 11 Feb 2018 18:00:45 -0500 Subject: some fixes --- include/graphics.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index 39662c8c1..4eac25856 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2713,6 +2713,15 @@ extern const u8 gRaySceneHushBg_Pal[]; extern const u8 gRaySceneHushBg_Gfx[]; extern const u8 gRaySceneHushRing_Gfx[]; +//main menu/birch graphics +extern const u16 gMainMenuBgPal[]; +extern const u16 gMainMenuTextPal[]; +extern const u16 gUnknown_082FECFC[]; +extern const u16 gUnknown_082FF028[]; +extern const u16 gUnknown_082FF018[]; +extern const u8 gBirchIntroShadowGfx[]; +extern const u8 gUnknown_082FEEF0[]; + //menu graphics extern const u16 gFireRedMenuElements1_Pal[16]; extern const u16 gFireRedMenuElements2_Pal[16]; -- cgit v1.2.3 From d52a54e64f73cb1e24e18da106ea9b69307b4509 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Mon, 12 Feb 2018 16:15:51 +0530 Subject: Updating pokedex count function labels --- include/pokedex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/pokedex.h b/include/pokedex.h index 236feac45..20eecf375 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -17,7 +17,7 @@ enum }; s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); -u16 pokedex_count(u8); +u16 GetNationalPokedexCount(u8); u16 sub_80C0844(u8); #endif // GUARD_POKEDEX_H -- cgit v1.2.3 From 185cf71842b82082280ec3b3185977892d8b4bbf Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Mon, 12 Feb 2018 16:17:57 +0530 Subject: Missing label --- include/pokedex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/pokedex.h b/include/pokedex.h index 20eecf375..d3cb670c8 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -18,6 +18,6 @@ enum s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); u16 GetNationalPokedexCount(u8); -u16 sub_80C0844(u8); +u16 GetHoennPokedexCount(u8); #endif // GUARD_POKEDEX_H -- cgit v1.2.3 From 54922641af2712a8108c327ee3ce104c41a10a52 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Mon, 12 Feb 2018 16:44:04 +0530 Subject: Port smokescreen.s --- include/data2.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/data2.h b/include/data2.h index be0f33ab8..df71f6e88 100644 --- a/include/data2.h +++ b/include/data2.h @@ -16,5 +16,9 @@ extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; extern const u8 gMoveNames[][13]; extern const u8 gAbilityNames[][13]; extern const u8 gTypeNames[][7]; +extern struct CompressedSpriteSheet gUnknown_0831C620; +extern struct CompressedSpritePalette gUnknown_0831C628; +extern const struct SpriteTemplate gUnknown_0831C688; + #endif // GUARD_DATA2_H -- cgit v1.2.3 From 382442c4c8754262c77acb50930df31c63a62355 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 12 Feb 2018 15:01:43 +0100 Subject: start decompiling overworld.s --- include/constants/game_stat.h | 5 +++-- include/global.h | 19 +++++++++++++++- include/overworld.h | 51 +++++++++++++++++++++++++++++++++---------- 3 files changed, 61 insertions(+), 14 deletions(-) (limited to 'include') 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 -- cgit v1.2.3 From f22be4d0105304147ca982a91c239b9e3a7d31aa Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 12 Feb 2018 18:26:26 +0100 Subject: more overworld work --- include/constants/vars.h | 2 +- include/global.h | 4 ++-- include/overworld.h | 8 ++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/constants/vars.h b/include/constants/vars.h index c0e3313b6..be21f1730 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -184,7 +184,7 @@ #define VAR_0x40B0 0x40B0 #define VAR_0x40B1 0x40B1 #define VAR_0x40B2 0x40B2 -#define VAR_0x40B3 0x40B3 +#define VAR_WEATHER_INSTITUTE_STATE 0x40B3 #define VAR_PORTHOLE 0x40B4 #define VAR_0x40B5 0x40B5 #define VAR_0x40B6 0x40B6 diff --git a/include/global.h b/include/global.h index 8913432ba..b815e1e5f 100644 --- a/include/global.h +++ b/include/global.h @@ -620,10 +620,10 @@ struct SaveBlock1 /*0x14*/ struct WarpData warp2; /*0x1C*/ struct WarpData lastHealLocation; /*0x24*/ struct WarpData warp4; - /*0x2C*/ u16 battleMusic; + /*0x2C*/ u16 savedMusic; /*0x2E*/ u8 weather; /*0x2F*/ u8 filler_2F; - /*0x30*/ u8 flashUsed; + /*0x30*/ u8 flashLevel; /*0x32*/ u16 mapDataId; /*0x34*/ u16 mapView[0x100]; /*0x234*/ u8 playerPartyCount; diff --git a/include/overworld.h b/include/overworld.h index 904f61c8e..cedad6266 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -63,6 +63,14 @@ void sub_8084D5C(s16 a1, s16 a2); void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); // to erase later +bool32 Overworld_IsBikingAllowed(void); +u8 sub_808532C(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3); +u8 sub_808538C(struct UnkPlayerStruct *playerStruct, u8 a2, u16 a3, u8 a4); +u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void); +bool8 Overworld_MapTypeIsIndoors(u8 mapType); +void SetDefaultFlashLevel(void); +void Overworld_ClearSavedMusic(void); +void sub_8085810(void); u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); u8 Overworld_GetMapTypeOfSaveblockLocation(void); void Overworld_SetMapObjTemplateCoords(u8, s16, s16); -- cgit v1.2.3 From 7b360b2e338e4f2a008374a0114367dadf728484 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Tue, 13 Feb 2018 09:16:38 +0530 Subject: Review fixes --- include/text.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'include') diff --git a/include/text.h b/include/text.h index e073c3762..fde02cf2d 100644 --- a/include/text.h +++ b/include/text.h @@ -249,4 +249,26 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese); u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont9(u16 glyphId); +extern const u8 gBirchDexRatingText_LessThan10[]; +extern const u8 gBirchDexRatingText_LessThan20[]; +extern const u8 gBirchDexRatingText_LessThan30[]; +extern const u8 gBirchDexRatingText_LessThan40[]; +extern const u8 gBirchDexRatingText_LessThan50[]; +extern const u8 gBirchDexRatingText_LessThan60[]; +extern const u8 gBirchDexRatingText_LessThan70[]; +extern const u8 gBirchDexRatingText_LessThan80[]; +extern const u8 gBirchDexRatingText_LessThan90[]; +extern const u8 gBirchDexRatingText_LessThan100[]; +extern const u8 gBirchDexRatingText_LessThan110[]; +extern const u8 gBirchDexRatingText_LessThan120[]; +extern const u8 gBirchDexRatingText_LessThan130[]; +extern const u8 gBirchDexRatingText_LessThan140[]; +extern const u8 gBirchDexRatingText_LessThan150[]; +extern const u8 gBirchDexRatingText_LessThan160[]; +extern const u8 gBirchDexRatingText_LessThan170[]; +extern const u8 gBirchDexRatingText_LessThan180[]; +extern const u8 gBirchDexRatingText_LessThan190[]; +extern const u8 gBirchDexRatingText_LessThan200[]; +extern const u8 gBirchDexRatingText_DexCompleted[]; + #endif // GUARD_TEXT_H -- cgit v1.2.3 From ae321d6e7c99b557cafd594eb945e7ca1a566ba8 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Tue, 13 Feb 2018 09:32:40 +0530 Subject: move to strings.h --- include/strings.h | 23 +++++++++++++++++++++++ include/text.h | 22 ---------------------- 2 files changed, 23 insertions(+), 22 deletions(-) (limited to 'include') diff --git a/include/strings.h b/include/strings.h index 24b2d3e6f..6f4f27d0d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -244,4 +244,27 @@ extern const u8 gText_Var1DotVar2[]; extern const u8 gText_ThreeMarks[]; extern const u8 gText_FirmSlash[]; +// pokedex rating text +extern const u8 gBirchDexRatingText_LessThan10[]; +extern const u8 gBirchDexRatingText_LessThan20[]; +extern const u8 gBirchDexRatingText_LessThan30[]; +extern const u8 gBirchDexRatingText_LessThan40[]; +extern const u8 gBirchDexRatingText_LessThan50[]; +extern const u8 gBirchDexRatingText_LessThan60[]; +extern const u8 gBirchDexRatingText_LessThan70[]; +extern const u8 gBirchDexRatingText_LessThan80[]; +extern const u8 gBirchDexRatingText_LessThan90[]; +extern const u8 gBirchDexRatingText_LessThan100[]; +extern const u8 gBirchDexRatingText_LessThan110[]; +extern const u8 gBirchDexRatingText_LessThan120[]; +extern const u8 gBirchDexRatingText_LessThan130[]; +extern const u8 gBirchDexRatingText_LessThan140[]; +extern const u8 gBirchDexRatingText_LessThan150[]; +extern const u8 gBirchDexRatingText_LessThan160[]; +extern const u8 gBirchDexRatingText_LessThan170[]; +extern const u8 gBirchDexRatingText_LessThan180[]; +extern const u8 gBirchDexRatingText_LessThan190[]; +extern const u8 gBirchDexRatingText_LessThan200[]; +extern const u8 gBirchDexRatingText_DexCompleted[]; + #endif //GUARD_STRINGS_H diff --git a/include/text.h b/include/text.h index fde02cf2d..e073c3762 100644 --- a/include/text.h +++ b/include/text.h @@ -249,26 +249,4 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese); u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont9(u16 glyphId); -extern const u8 gBirchDexRatingText_LessThan10[]; -extern const u8 gBirchDexRatingText_LessThan20[]; -extern const u8 gBirchDexRatingText_LessThan30[]; -extern const u8 gBirchDexRatingText_LessThan40[]; -extern const u8 gBirchDexRatingText_LessThan50[]; -extern const u8 gBirchDexRatingText_LessThan60[]; -extern const u8 gBirchDexRatingText_LessThan70[]; -extern const u8 gBirchDexRatingText_LessThan80[]; -extern const u8 gBirchDexRatingText_LessThan90[]; -extern const u8 gBirchDexRatingText_LessThan100[]; -extern const u8 gBirchDexRatingText_LessThan110[]; -extern const u8 gBirchDexRatingText_LessThan120[]; -extern const u8 gBirchDexRatingText_LessThan130[]; -extern const u8 gBirchDexRatingText_LessThan140[]; -extern const u8 gBirchDexRatingText_LessThan150[]; -extern const u8 gBirchDexRatingText_LessThan160[]; -extern const u8 gBirchDexRatingText_LessThan170[]; -extern const u8 gBirchDexRatingText_LessThan180[]; -extern const u8 gBirchDexRatingText_LessThan190[]; -extern const u8 gBirchDexRatingText_LessThan200[]; -extern const u8 gBirchDexRatingText_DexCompleted[]; - #endif // GUARD_TEXT_H -- cgit v1.2.3 From e375606810395d3941f2866505c6516949393d2b Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Tue, 13 Feb 2018 21:52:33 +0530 Subject: [Do not Merge] fldeff_strength.s --- include/rom6.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/rom6.h b/include/rom6.h index f91b34b4a..058504fe2 100644 --- a/include/rom6.h +++ b/include/rom6.h @@ -11,6 +11,8 @@ void UpdateBirchState(u16 days); void UpdateFrontierManiac(u16 days); void UpdateFrontierGambler(u16 days); void SetShoalItemFlag(u16 days); + +bool8 npc_before_player_of_type(u8); u8 oei_task_add(void); #endif //GUARD_ROM6_H -- cgit v1.2.3 From c959dc11748f3548d5356526f29bc64e355deca9 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Tue, 13 Feb 2018 23:08:54 +0530 Subject: Finish fldeff_strength.s --- include/event_scripts.h | 2 ++ include/field_effect.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'include') diff --git a/include/event_scripts.h b/include/event_scripts.h index a54e0e463..103879101 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -380,4 +380,6 @@ extern const u8 SecretBase_RedCave1_Text_274E75[]; extern const u8 SecretBase_RedCave1_Text_2751E1[]; extern const u8 SecretBase_RedCave1_Text_2754F6[]; extern const u8 SecretBase_RedCave1_Text_2758CC[]; + +extern const u8 FieryPath_EventScript_2908FD[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_effect.h b/include/field_effect.h index 7395270f9..6f5a9886f 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -79,5 +79,7 @@ u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buf void sub_80B7FC8(void); void FieldEffectActiveListRemove(u8 id); void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); +extern void (*gUnknown_0203CEEC)(void); +extern bool8 (*gUnknown_03005DB0)(void); #endif //GUARD_FIELD_EFFECTS_H -- cgit v1.2.3 From 94b47c0686d3f4c5da962011797cc89a2efdd88c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 14 Feb 2018 00:58:22 +0100 Subject: decompile overworld --- include/field_camera.h | 9 +++ include/field_control_avatar.h | 41 ++++++++++++ include/field_ground_effect.h | 2 + include/field_map_obj.h | 3 + include/field_player_avatar.h | 3 +- include/fieldmap.h | 1 + include/global.fieldmap.h | 6 +- include/global.h | 12 ++++ include/overworld.h | 142 +++++++++++++++++++++++------------------ 9 files changed, 153 insertions(+), 66 deletions(-) create mode 100644 include/field_control_avatar.h (limited to 'include') diff --git a/include/field_camera.h b/include/field_camera.h index 6daa9a8a2..6ff8ce006 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -26,5 +26,14 @@ void DrawWholeMapView(void); void CurrentMapDrawMetatileAt(int x, int y); void sub_8089C08(s16 *a0, s16 *a1); void DrawDoorMetatileAt(int x, int y, u16 *arr); +void move_tilemap_camera_to_upper_left_corner(void); +void sub_8057A58(void); +void ResetCameraUpdateInfo(void); +u32 InitCameraUpdateCallback(u8 a); +void CameraUpdate(void); +void SetCameraPanningCallback(void (*a)(void)); +void SetCameraPanning(s16 a, s16 b); +void InstallCameraPanAheadCallback(void); +void UpdateCameraPanning(void); #endif //GUARD_FIELD_CAMERA_H diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h new file mode 100644 index 000000000..b915d1419 --- /dev/null +++ b/include/field_control_avatar.h @@ -0,0 +1,41 @@ +#ifndef GUARD_FIELDCONTROLAVATAR_H +#define GUARD_FIELDCONTROLAVATAR_H + +struct FieldInput +{ + u8 pressedAButton:1; + u8 input_field_0_1:1; + u8 pressedStartButton:1; + u8 pressedSelectButton:1; + u8 input_field_0_4:1; + u8 input_field_0_5:1; + u8 input_field_0_6:1; + u8 pressedBButton:1; + u8 input_field_1_0:1; + u8 input_field_1_1:1; + u8 input_field_1_2:1; + u8 input_field_1_3:1; + u8 input_field_1_4:1; + u8 input_field_1_5:1; + u8 input_field_1_6:1; + u8 input_field_1_7:1; + u8 dpadDirection; + u8 input_field_3; +}; + +void FieldClearPlayerInput(struct FieldInput *pStruct); +void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys); +int sub_809C014(struct FieldInput *pStruct); +u8 *sub_80682A8(struct MapPosition *, u8, u8); +void overworld_poison_timer_set(void); +void prev_quest_postbuffer_cursor_backup_reset(void); +u8 *sub_8068E24(struct MapPosition *); +u8 *GetFieldObjectScriptPointerPlayerFacing(void); +bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *); +bool8 sub_8068870(u16 a); +bool8 sub_8068894(void); +bool8 sub_8068A64(struct MapPosition *, u16); +u8 sub_8068F18(void); +bool8 dive_warp(struct MapPosition *position, u16 b); + +#endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index 63b67ceaf..89b14aed1 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -10,6 +10,8 @@ // Exported RAM declarations // Exported ROM declarations +u8 ZCoordToPriority(u8); +void FieldObjectUpdateZCoord(struct MapObject *pObject); void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); void InitObjectPriorityByZCoord(struct Sprite *, u8); bool8 IsZCoordMismatchAt(u8, s16, s16); diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 198dd9759..8b7e296dd 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -25,6 +25,7 @@ enum SpinnerRunnerFollowPatterns { // Exported ROM declarations void sub_808D438(void); +u8 get_go_image_anim_num(u8); u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8); bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); u8 GetFieldObjectIdByXY(s16, s16); @@ -88,6 +89,8 @@ bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *ma u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject); void sub_808F23C(const struct MapObject *mapObject, u8 movementType); void sub_808F208(const struct MapObject *mapObject); +void npc_coords_shift_still(struct MapObject *pObject); +void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1); // Exported data declarations diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index af602245b..de6db5d63 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -1,6 +1,7 @@ #ifndef GUARD_FIELD_PLAYER_AVATAR_H #define GUARD_FIELD_PLAYER_AVATAR_H +void player_step(u8 a, u16 b, u16 c); void ClearPlayerAvatarInfo(void); void SetPlayerAvatarExtraStateTransition(u8, u8); u8 GetPlayerAvatarGenderByGraphicsId(u8); @@ -31,7 +32,7 @@ u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e); u8 PlayerGetZCoord(void); void SetPlayerAvatarTransitionFlags(u16 a); void sub_808BCE8(void); - +void InitPlayerAvatar(s16 a, s16 b, u8 c, u8 d); void sub_808D074(u8); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8); diff --git a/include/fieldmap.h b/include/fieldmap.h index 06cb7cc77..23654f536 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -15,5 +15,6 @@ bool8 MapGridIsImpassableAt(s16, s16); s32 GetMapBorderIdAt(s16, s16); bool32 CanCameraMoveInDirection(u8); u16 GetBehaviorByMetatileId(u16 metatileId); +void sav1_camera_get_focus_coords(u16 *x, u16 *y); #endif //GUARD_FIELDMAP_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index b12febefd..6e262dc9c 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -162,10 +162,10 @@ struct MapConnections struct MapHeader { - /* 0x00 */ struct MapData *mapData; - /* 0x04 */ struct MapEvents *events; + /* 0x00 */ const struct MapData *mapData; + /* 0x04 */ const struct MapEvents *events; /* 0x08 */ u8 *mapScripts; - /* 0x0C */ struct MapConnections *connections; + /* 0x0C */ const struct MapConnections *connections; /* 0x10 */ u16 music; /* 0x12 */ u16 mapDataId; /* 0x14 */ u8 regionMapSectionId; diff --git a/include/global.h b/include/global.h index b815e1e5f..8c56c0a58 100644 --- a/include/global.h +++ b/include/global.h @@ -144,6 +144,18 @@ struct UCoords16 u16 y; }; +struct Coords32 +{ + s32 x; + s32 y; +}; + +struct UCoords32 +{ + u32 x; + u32 y; +}; + struct Time { /*0x00*/ s16 days; diff --git a/include/overworld.h b/include/overworld.h index cedad6266..7f0a1795f 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -1,7 +1,5 @@ -#ifndef GUARD_ROM4_H -#define GUARD_ROM4_H - -#include "main.h" +#ifndef GUARD_OVERWORLD_H +#define GUARD_OVERWORLD_H struct UnkPlayerStruct { @@ -17,19 +15,15 @@ struct LinkPlayerMapObject u8 mode; }; -struct UCoords32 -{ - u32 x, y; -}; - +extern struct WarpData gUnknown_020322DC; extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; -extern MainCallback gFieldCallback; + +extern const struct UCoords32 gUnknown_08339D64[]; 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); @@ -39,82 +33,106 @@ 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); +const 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); +const struct MapHeader *Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum); +const struct MapHeader *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 saved_warp2_set(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId); +void saved_warp2_set_2(s32 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 +void sub_8084E14(void); +void sub_8084E2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void warp1_set_to_warp2(void); +void sub_8084E80(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void sub_8084EBC(s16 x, s16 y); +void warp1_set_to_sav1w(void); +void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void sub_8084F6C(u8 a1); +void sub_8084FAC(void); +const struct MapConnection *GetMapConnection(u8 dir); +bool8 sub_8084FF8(u8 dir, u16 x, u16 y); +bool8 sub_8085058(u16 x, u16 y); +bool8 sub_8085078(u16 x, u16 y); +void mliX_load_map(u8 mapGroup, u8 mapNum); +void player_avatar_init_params_reset(void); +void walkrun_find_lowest_active_bit_in_bitfield(void); bool32 Overworld_IsBikingAllowed(void); -u8 sub_808532C(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3); -u8 sub_808538C(struct UnkPlayerStruct *playerStruct, u8 a2, u16 a3, u8 a4); -u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void); -bool8 Overworld_MapTypeIsIndoors(u8 mapType); void SetDefaultFlashLevel(void); +void Overworld_SetFlashLevel(s32 flashLevel); +u8 Overworld_GetFlashLevel(void); +void sub_8085524(u16 mapDataId); +void sub_8085540(u8 var); +u8 sub_808554C(void); +u16 GetLocationMusic(struct WarpData *warp); +u16 GetCurrLocationDefaultMusic(void); +u16 GetWarpDestinationMusic(void); +void Overworld_ResetMapMusic(void); +void Overworld_PlaySpecialMapMusic(void); +void Overworld_SetSavedMusic(u16 songNum); void Overworld_ClearSavedMusic(void); -void sub_8085810(void); +void Overworld_ChangeMusicToDefault(void); +void Overworld_ChangeMusicTo(u16 newMusic); +u8 GetMapMusicFadeoutSpeed(void); +void music_something(void); +bool8 sub_80859A0(void); +void Overworld_FadeOutMapMusic(void); +void UpdateAmbientCry(s16 *state, u16 *delayCounter); u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); +u8 GetMapTypeByWarpData(struct WarpData *warp); 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); -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); +u8 get_map_light_from_warp0(void); +bool8 is_light_level_1_2_3_5_or_6(u8 mapType); 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); +bool8 Overworld_MapTypeIsIndoors(u8 mapType); +u8 sav1_saved_warp2_map_get_name(void); +u8 sav1_map_get_name(void); +u8 GetCurrentMapBattleScene(void); +void overworld_free_bg_tilemaps(void); bool32 is_c1_link_related_active(void); -extern u16 gUnknown_03005DA8; -void strange_npc_table_clear(void); -void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); -void sub_8086230(void); -void c2_exit_to_overworld_2_switch(void); +void CB1_Overworld(void); +void CB2_OverworldBasic(void); +void CB2_Overworld(void); +void SetMainCallback1(void (*cb)(void)); +void sub_8085E94(void *a0); +void CB2_NewGame(void); +void CB2_WhiteOut(void); +void CB2_LoadMap(void); +void sub_8086024(void); +void sub_8086074(void); +void CB2_ReturnToField(void); +void CB2_ReturnToFieldLocal(void); +void CB2_ReturnToFieldLink(void); +void c2_8056854(void); +void CB2_ReturnToFieldWithOpenMenu(void); +void sub_80861B0(void); +void CB2_ReturnToFieldContinueScript(void); +void sub_80861E8(void); +void CB2_ContinueSavedGame(void); +void sub_8086C2C(void); +u32 sub_8087214(void); +bool32 sub_808727C(void); +u16 sub_8087288(void); +u16 sub_808729C(void); +u16 sub_80872B0(void); +u16 sub_80872C4(void); bool32 sub_8087598(void); -void c2_exit_to_overworld_1_continue_scripts_restart_music(void); -void warp_in(void); -u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum); -void sub_8086194(void); -void sub_8084CCC(u8 spawn); -void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpNum); -void c2_load_new_map(void); -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); +void ZeroAllLinkPlayerMapObjects(void); -#endif //GUARD_ROM4_H +#endif // GUARD_OVERWORLD_H -- cgit v1.2.3 From deeaac2bf17479b671d989cd50e236dd39f6e52c Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Wed, 14 Feb 2018 17:24:31 +0530 Subject: Decompile fldeff_sweetsecent.c --- include/event_scripts.h | 1 + include/field_player_avatar.h | 1 + 2 files changed, 2 insertions(+) (limited to 'include') diff --git a/include/event_scripts.h b/include/event_scripts.h index 103879101..a835782ed 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -382,4 +382,5 @@ extern const u8 SecretBase_RedCave1_Text_2754F6[]; extern const u8 SecretBase_RedCave1_Text_2758CC[]; extern const u8 FieryPath_EventScript_2908FD[]; +extern const u8 EventScript_290CAE[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 5b9a632fa..7517fb3b8 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -5,6 +5,7 @@ void ClearPlayerAvatarInfo(void); void SetPlayerAvatarExtraStateTransition(u8, u8); u8 GetPlayerAvatarGenderByGraphicsId(u8); bool8 TestPlayerAvatarFlags(u8); +u8 GetPlayerAvatarObjectId(void); void PlayerGetDestCoords(s16 *, s16 *); u8 player_get_direction_lower_nybble(void); u8 player_get_direction_upper_nybble(void); -- cgit v1.2.3 From c3c30417efdeb26a9b5f16b65aff8557e94ff438 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Wed, 14 Feb 2018 20:45:27 -0500 Subject: fixes --- include/constants/rgb.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/constants/rgb.h b/include/constants/rgb.h index 8b323799f..fd9c5c5a7 100644 --- a/include/constants/rgb.h +++ b/include/constants/rgb.h @@ -12,5 +12,6 @@ #define RGB_YELLOW RGB(31, 31, 0) #define RGB_MAGENTA RGB(31, 0, 31) #define RGB_CYAN RGB(0, 31, 31) +#define RGB_WHITEALPHA RGB_WHITE | 0x8000 #endif // GUARD_RGB_H -- cgit v1.2.3 From 2fb78b5ca8e24e895b66170806871d60164df554 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Thu, 15 Feb 2018 09:47:42 +0530 Subject: Fix reviewed points. --- include/field_screen.h | 2 ++ include/fldeff_groundshake.h | 7 +++++++ 2 files changed, 9 insertions(+) create mode 100644 include/fldeff_groundshake.h (limited to 'include') diff --git a/include/field_screen.h b/include/field_screen.h index cfc0d081f..02e0a0a91 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -10,5 +10,7 @@ void pal_fill_black(void); bool8 sub_80ABDFC(void); void sub_80AF168(void); void UpdateWeatherPerDay(u16 days); +void sub_80AC3D0(void); +void sub_80AC3E4(void); #endif //GUARD_FIELD_SCREEN_H diff --git a/include/fldeff_groundshake.h b/include/fldeff_groundshake.h new file mode 100644 index 000000000..685a6d27c --- /dev/null +++ b/include/fldeff_groundshake.h @@ -0,0 +1,7 @@ +#ifndef GUARD_FLDEFF_GROUNDSHAKE_H +#define GUARD_FLDEFF_GROUNDSHAKE_H + +void sub_81BE6B8(void); +void sub_81BE72C(void); + +#endif // GUARD_FLDEFF_GROUNDSHAKE_H -- cgit v1.2.3 From 64683e1473d8b3c99f9bb1eb846c0be6d43cbbcc Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Thu, 15 Feb 2018 15:29:26 +0530 Subject: [WIP] Decompile fledd_softboiled.h --- include/fldeff_softboiled.h | 7 +++++++ include/party_menu.h | 15 +++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 include/fldeff_softboiled.h (limited to 'include') diff --git a/include/fldeff_softboiled.h b/include/fldeff_softboiled.h new file mode 100644 index 000000000..065dcbf02 --- /dev/null +++ b/include/fldeff_softboiled.h @@ -0,0 +1,7 @@ +#ifndef GUARD_FLDEFF_SOFTBOILED_H +#define GUARD_FLDEFF_SOFTBOILED_H + +bool8 SetUpFieldMove_SoftBoiled(void); +void sub_8161560(u8 taskid); + +#endif // GUARD_FLDEFF_SOFTBOILED_H diff --git a/include/party_menu.h b/include/party_menu.h index 14aacce88..8f361663b 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -11,6 +11,17 @@ enum AILMENT_BRN }; +struct Struct203CEC8 +{ + u8 filler[0x9]; + u8 unk9; + u8 unkA; + u8 unkB; + u8 filler2[0x2]; +}; + +extern struct Struct203CEC8 gUnknown_0203CEC8; + bool8 pokemon_has_move(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); @@ -20,4 +31,8 @@ u8 GetCursorSelectionMonId(void); bool8 FieldCallback_Teleport(void); void sub_81B7F60(void); +void sub_81B0FCC(u8 partyMonId, u8 a); +void sub_81B1370(u8 taskId); +void display_pokemon_menu_message(u8 windowBorderId); + #endif // GUARD_PARTY_MENU_H -- cgit v1.2.3 From 4b4495f3fe2a65bdf0f2a21c650103c4dbeed514 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 15 Feb 2018 12:36:52 +0100 Subject: overworld review changes --- include/gba/io_reg.h | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 1847b688f..c1abcc94c 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -501,23 +501,24 @@ // I/O register fields // DISPCNT -#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text -#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off -#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine -#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color -#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette -#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color -#define DISPCNT_OBJ_1D_MAP 0x0040 -#define DISPCNT_FORCED_BLANK 0x0080 -#define DISPCNT_BG0_ON 0x0100 -#define DISPCNT_BG1_ON 0x0200 -#define DISPCNT_BG2_ON 0x0400 -#define DISPCNT_BG3_ON 0x0800 -#define DISPCNT_BG_ALL_ON 0x0F00 -#define DISPCNT_OBJ_ON 0x1000 -#define DISPCNT_WIN0_ON 0x2000 -#define DISPCNT_WIN1_ON 0x4000 -#define DISPCNT_OBJWIN_ON 0x8000 +#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text +#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off +#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine +#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color +#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette +#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color +#define DISPCNT_HBLANK_INTERVAL 0x0020 // Allow access to OAM during H-Blank +#define DISPCNT_OBJ_1D_MAP 0x0040 +#define DISPCNT_FORCED_BLANK 0x0080 +#define DISPCNT_BG0_ON 0x0100 +#define DISPCNT_BG1_ON 0x0200 +#define DISPCNT_BG2_ON 0x0400 +#define DISPCNT_BG3_ON 0x0800 +#define DISPCNT_BG_ALL_ON 0x0F00 +#define DISPCNT_OBJ_ON 0x1000 +#define DISPCNT_WIN0_ON 0x2000 +#define DISPCNT_WIN1_ON 0x4000 +#define DISPCNT_OBJWIN_ON 0x8000 // DISPSTAT #define DISPSTAT_VBLANK 0x0001 // in V-Blank -- cgit v1.2.3 From 301664db2f7459e6f819a5f6eceeefccc78f0414 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Thu, 15 Feb 2018 17:12:02 +0530 Subject: Matching the unmatched and another function --- include/fldeff_softboiled.h | 1 + include/party_menu.h | 10 ++++++---- include/strings.h | 4 ++++ 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/fldeff_softboiled.h b/include/fldeff_softboiled.h index 065dcbf02..0e3b98a46 100644 --- a/include/fldeff_softboiled.h +++ b/include/fldeff_softboiled.h @@ -4,4 +4,5 @@ bool8 SetUpFieldMove_SoftBoiled(void); void sub_8161560(u8 taskid); + #endif // GUARD_FLDEFF_SOFTBOILED_H diff --git a/include/party_menu.h b/include/party_menu.h index 8f361663b..25c389493 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,6 +1,6 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H - +#include "task.h" enum { AILMENT_NONE, @@ -14,8 +14,8 @@ enum struct Struct203CEC8 { u8 filler[0x9]; - u8 unk9; - u8 unkA; + s8 unk9; + s8 unkA; u8 unkB; u8 filler2[0x2]; }; @@ -31,8 +31,10 @@ u8 GetCursorSelectionMonId(void); bool8 FieldCallback_Teleport(void); void sub_81B7F60(void); -void sub_81B0FCC(u8 partyMonId, u8 a); +void sub_81B0FCC(u8 partyIdx, u8 a); void sub_81B1370(u8 taskId); void display_pokemon_menu_message(u8 windowBorderId); +void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); +void sub_81B1B5C(void *a, u8 b); #endif // GUARD_PARTY_MENU_H diff --git a/include/strings.h b/include/strings.h index c9ebc175f..4632938da 100644 --- a/include/strings.h +++ b/include/strings.h @@ -348,6 +348,10 @@ extern const u8 gText_DepositedVar2Var1s[]; extern const u8 gText_NoRoomForItems[]; extern const u8 gText_ThreeDashes[]; +//party menu text +extern const u8 gText_PkmnHPRestoredByVar2[]; + +//birch dex rating text extern const u8 gBirchDexRatingText_LessThan10[]; extern const u8 gBirchDexRatingText_LessThan20[]; extern const u8 gBirchDexRatingText_LessThan30[]; -- cgit v1.2.3 From a200d9406b15f722b34775050f6fe73894d23629 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Thu, 15 Feb 2018 22:32:28 +0530 Subject: Finish fldeff_softboiled.c --- include/fldeff_softboiled.h | 8 -------- include/party_menu.h | 3 ++- include/strings.h | 1 + 3 files changed, 3 insertions(+), 9 deletions(-) delete mode 100644 include/fldeff_softboiled.h (limited to 'include') diff --git a/include/fldeff_softboiled.h b/include/fldeff_softboiled.h deleted file mode 100644 index 0e3b98a46..000000000 --- a/include/fldeff_softboiled.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef GUARD_FLDEFF_SOFTBOILED_H -#define GUARD_FLDEFF_SOFTBOILED_H - -bool8 SetUpFieldMove_SoftBoiled(void); -void sub_8161560(u8 taskid); - - -#endif // GUARD_FLDEFF_SOFTBOILED_H diff --git a/include/party_menu.h b/include/party_menu.h index 25c389493..1ce12d98f 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -33,8 +33,9 @@ void sub_81B7F60(void); void sub_81B0FCC(u8 partyIdx, u8 a); void sub_81B1370(u8 taskId); -void display_pokemon_menu_message(u8 windowBorderId); +void display_pokemon_menu_message(u8 windowId); void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); void sub_81B1B5C(void *a, u8 b); +u8 sub_81B1BD4(); #endif // GUARD_PARTY_MENU_H diff --git a/include/strings.h b/include/strings.h index 4632938da..70b2777e1 100644 --- a/include/strings.h +++ b/include/strings.h @@ -350,6 +350,7 @@ extern const u8 gText_ThreeDashes[]; //party menu text extern const u8 gText_PkmnHPRestoredByVar2[]; +extern const u8 gText_CantBeUsedOnPkmn[]; //birch dex rating text extern const u8 gBirchDexRatingText_LessThan10[]; -- cgit v1.2.3 From 824699f505d373b1cc1247347b9c69d6ef1ce8ca Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 15 Feb 2018 23:09:52 +0100 Subject: overworld review changes2 --- include/global.fieldmap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 6e262dc9c..94127c554 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -164,7 +164,7 @@ struct MapHeader { /* 0x00 */ const struct MapData *mapData; /* 0x04 */ const struct MapEvents *events; - /* 0x08 */ u8 *mapScripts; + /* 0x08 */ const u8 *mapScripts; /* 0x0C */ const struct MapConnections *connections; /* 0x10 */ u16 music; /* 0x12 */ u16 mapDataId; -- cgit v1.2.3