From 9d4acb9635b3b74d5ae4edee70d673f49c0aab74 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 9 Oct 2017 15:40:08 +0200 Subject: some work on international string util --- include/international_string_util.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 include/international_string_util.h (limited to 'include') diff --git a/include/international_string_util.h b/include/international_string_util.h new file mode 100644 index 000000000..2aa3e18f8 --- /dev/null +++ b/include/international_string_util.h @@ -0,0 +1,20 @@ +#ifndef GUARD_INTERNATIONAL_STRING_UTIL_H +#define GUARD_INTERNATIONAL_STRING_UTIL_H + +s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth); +s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth); +s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing); +s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing); +s32 GetMaxWidthInMenuTable(const u8 **str, s32 arg1); +s32 sub_81DB3D8(const u8 **str, u8* arg1, s32 arg2); +// sub_81DB41C +// sub_81DB468 +// sub_81DB494 +// sub_81DB4DC +// sub_81DB52C +// sub_81DB554 +// sub_81DB5AC +// sub_81DB5E8 +// sub_81DB620 + +#endif // GUARD_INTERNATIONAL_STRING_UTIL_H -- cgit v1.2.3 From f1b6358047dff266db01545d4a5927047e6756df Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 12 Oct 2017 02:06:19 -0500 Subject: Port/decomp scrcmd --- include/battle_frontier_2.h | 9 +++++++ include/battle_setup.h | 9 +++++++ include/clock.h | 8 ++++++ include/coins.h | 4 +-- include/contest_link_80F57C4.h | 8 ++++++ include/contest_painting.h | 6 +++++ include/data2.h | 9 +++++++ include/decoration.h | 18 +++++++++++++ include/decoration_inventory.h | 10 +++++++ include/event_data.h | 2 +- include/field_door.h | 11 ++++++++ include/field_effect.h | 9 +++---- include/field_fadetransition.h | 12 +++++++++ include/field_map_obj.h | 3 +++ include/field_map_obj_helpers.h | 7 +++++ include/field_message_box.h | 10 +++++++ include/field_player_avatar.h | 6 ++--- include/field_screen_effect.h | 8 ++++++ include/field_specials.h | 6 +++++ include/field_tasks.h | 6 +++++ include/field_weather.h | 12 +++++++++ include/fieldmap.h | 10 +------ include/item.h | 1 + include/map_obj_lock.h | 11 ++++++++ include/money.h | 2 +- include/mystery_event_script.h | 8 ++++++ include/new_menu_helpers.h | 8 ++++++ include/overworld.h | 58 +++++++++++++++++++++++++++++++++++++++++ include/palette.h | 3 +++ include/party_menu.h | 6 +++++ include/pokemon_3.h | 7 +++++ include/rom4.h | 33 ----------------------- include/script_menu.h | 13 +++++++++ include/script_movement.h | 8 ++++++ include/script_pokemon_80F8.h | 10 +++++++ include/script_pokemon_81B9.h | 6 +++++ include/shop.h | 8 ++++++ include/slot_machine.h | 6 +++++ include/text.h | 1 + include/trainer_see.h | 1 + include/tv.h | 7 +++++ 41 files changed, 324 insertions(+), 56 deletions(-) create mode 100644 include/battle_frontier_2.h create mode 100644 include/clock.h create mode 100644 include/contest_link_80F57C4.h create mode 100644 include/contest_painting.h create mode 100644 include/data2.h create mode 100644 include/decoration.h create mode 100644 include/decoration_inventory.h create mode 100644 include/field_door.h create mode 100644 include/field_fadetransition.h create mode 100644 include/field_map_obj_helpers.h create mode 100644 include/field_message_box.h create mode 100644 include/field_screen_effect.h create mode 100644 include/field_specials.h create mode 100644 include/field_tasks.h create mode 100644 include/field_weather.h create mode 100644 include/map_obj_lock.h create mode 100644 include/mystery_event_script.h create mode 100644 include/new_menu_helpers.h create mode 100644 include/overworld.h create mode 100644 include/party_menu.h create mode 100644 include/pokemon_3.h delete mode 100644 include/rom4.h create mode 100644 include/script_menu.h create mode 100644 include/script_movement.h create mode 100644 include/script_pokemon_80F8.h create mode 100644 include/script_pokemon_81B9.h create mode 100644 include/shop.h create mode 100644 include/slot_machine.h create mode 100644 include/tv.h (limited to 'include') diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h new file mode 100644 index 000000000..4f37248cc --- /dev/null +++ b/include/battle_frontier_2.h @@ -0,0 +1,9 @@ +#ifndef GUARD_BATTLE_FRONTIER_2_H +#define GUARD_BATTLE_FRONTIER_2_H + +void sub_81A8934(u8); +void sub_81A895C(void); +u16 sub_81A89A0(u8); +void sub_81A8AF8(void); + +#endif // GUARD_BATTLE_FRONTIER_2_H diff --git a/include/battle_setup.h b/include/battle_setup.h index 80fb55da2..e4acd8601 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -1,6 +1,15 @@ #ifndef GUARD_BATTLE_SETUP_H #define GUARD_BATTLE_SETUP_H +void BattleSetup_StartScriptedWildBattle(void); u8 BattleSetup_GetTerrainId(void); +u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); + +u8 HasTrainerAlreadyBeenFought(u16); +void trainer_flag_set(u16); +void trainer_flag_clear(u16); +void BattleSetup_StartTrainerBattle(void); +u8 *BattleSetup_GetScriptAddrAfterBattle(void); +u8 *BattleSetup_GetTrainerPostBattleScript(void); #endif // GUARD_BATTLE_SETUP_H diff --git a/include/clock.h b/include/clock.h new file mode 100644 index 000000000..4e6560c91 --- /dev/null +++ b/include/clock.h @@ -0,0 +1,8 @@ +#ifndef GUARD_CLOCK_H +#define GUARD_CLOCK_H + +// TODO: time of day and seconds in a day defines + +void DoTimeBasedEvents(void); + +#endif diff --git a/include/coins.h b/include/coins.h index 43434b227..996519605 100644 --- a/include/coins.h +++ b/include/coins.h @@ -6,7 +6,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y); void HideCoinsWindow(void); u16 GetCoins(void); void SetCoins(u16 coinAmount); -bool8 AddCoins(u16 toAdd); -bool8 SubtractCoins(u16 toSub); +bool8 GiveCoins(u16 toAdd); +bool8 TakeCoins(u16 toSub); #endif // GUARD_COINS_H diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h new file mode 100644 index 000000000..98523c175 --- /dev/null +++ b/include/contest_link_80F57C4.h @@ -0,0 +1,8 @@ +#ifndef GUARD_CONTEST_LINK_80F57C4_H +#define GUARD_CONTEST_LINK_80F57C4_H + +void sub_80F840C(void); +void sub_80F8484(void); +void sub_80F84C4(u8); + +#endif // GUARD_CONTEST_LINK_80F57C4_H diff --git a/include/contest_painting.h b/include/contest_painting.h new file mode 100644 index 000000000..f8366a997 --- /dev/null +++ b/include/contest_painting.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CONTESTPAINTING_H +#define GUARD_CONTESTPAINTING_H + +void sub_812FDA8(u32); + +#endif diff --git a/include/data2.h b/include/data2.h new file mode 100644 index 000000000..ccb9b4b7e --- /dev/null +++ b/include/data2.h @@ -0,0 +1,9 @@ +#ifndef GUARD_DATA2_H +#define GUARD_DATA2_H + +extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; +extern const u8 gMoveNames[][13]; +extern const u8 gAbilityNames[][13]; +extern const u8 gTypeNames[][7]; + +#endif // GUARD_DATA2_H diff --git a/include/decoration.h b/include/decoration.h new file mode 100644 index 000000000..f54f952e4 --- /dev/null +++ b/include/decoration.h @@ -0,0 +1,18 @@ +#ifndef GUARD_DECORATION_H +#define GUARD_DECORATION_H + +struct Decoration +{ + /*0x00*/ u8 id; + /*0x01*/ u8 name[16]; + /*0x11*/ u8 permission; + /*0x12*/ u8 shape; + /*0x13*/ u8 category; + /*0x14*/ u16 price; + /*0x18*/ const u8 *description; + /*0x1c*/ const u16 *tiles; +}; + +extern const struct Decoration gDecorations[]; + +#endif // GUARD_DECORATION_H diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h new file mode 100644 index 000000000..5ca345933 --- /dev/null +++ b/include/decoration_inventory.h @@ -0,0 +1,10 @@ +#ifndef GUARD_DECORATION_INVENTORY_H +#define GUARD_DECORATION_INVENTORY_H + +void ClearDecorationInventories(void); +u8 CheckHasDecoration(u8); +u8 DecorationAdd(u8); +u8 DecorationCheckSpace(u8); +s8 DecorationRemove(u8); + +#endif // GUARD_DECORATION_INVENTORY_H diff --git a/include/event_data.h b/include/event_data.h index a2a501283..0bd11fdcd 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -27,7 +27,7 @@ bool8 VarSet(u16 id, u16 value); u8 VarGetFieldObjectGraphicsId(u8 id); u8 *GetFlagPointer(u16 id); u8 FlagSet(u16 id); -u8 FlagReset(u16 id); +u8 FlagClear(u16 id); bool8 FlagGet(u16 id); extern u16 gSpecialVar_0x8000; diff --git a/include/field_door.h b/include/field_door.h new file mode 100644 index 000000000..f1dfc551d --- /dev/null +++ b/include/field_door.h @@ -0,0 +1,11 @@ +#ifndef GUARD_FIELDDOOR_H +#define GUARD_FIELDDOOR_H + +void FieldSetDoorOpened(u32, u32); +void FieldSetDoorClosed(u32, u32); +s8 FieldAnimateDoorClose(u32, u32); +s8 FieldAnimateDoorOpen(u32, u32); +bool8 FieldIsDoorAnimationRunning(void); +u32 GetDoorSoundEffect(u32 x, u32 y); + +#endif diff --git a/include/field_effect.h b/include/field_effect.h index 7ec26b3d7..aa3f7eba0 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -1,7 +1,3 @@ -// -// Created by Scott Norton on 9/15/17. -// - #ifndef GUARD_FIELD_EFFECTS_H #define GUARD_FIELD_EFFECTS_H @@ -73,8 +69,9 @@ enum FieldEffectScriptIdx FLDEFF_USE_TELEPORT }; -extern u32 gFieldEffectSpawnParams[8]; - u8 FieldEffectStart(u8); +bool8 FieldEffectActiveListContains(u8 id); + +extern u32 gFieldEffectArguments[8]; #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h new file mode 100644 index 000000000..7c2d16a24 --- /dev/null +++ b/include/field_fadetransition.h @@ -0,0 +1,12 @@ +#ifndef GUARD_FIELD_FADETRANSITION_H +#define GUARD_FIELD_FADETRANSITION_H + +void sub_80AF734(void); +void sp13E_warp_to_last_warp(void); +void sub_80AF7D0(void); +void sp13F_fall_to_last_warp(void); + +void sub_80AF848(void); +void sub_80AF87C(void); + +#endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 40cc64054..b18b6cfd3 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -33,6 +33,7 @@ u8 sub_808D4F4(void); void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8); void npc_load_two_palettes__no_record(u16, u8); void npc_load_two_palettes__and_record(u16, u8); +void sub_808EBA8(u8, u8, u8, s16, s16); void pal_patch_for_npc(u16, u8); void sub_808E16C(s16, s16); void sub_8092FF0(s16, s16, s16 *, s16 *); @@ -63,6 +64,7 @@ void npc_coords_shift(struct MapObject *, s16, s16); void sub_808EB08(struct MapObject *, s16, s16); void sub_808F254(u8, u8, u8); void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *)); +u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8); u8 GetOppositeDirection(u8); u8 GetStepInPlaceDelay4AnimId(u32); u8 GetStepInPlaceDelay8AnimId(u32); @@ -71,6 +73,7 @@ u8 GetStepInPlaceDelay32AnimId(u32); u8 npc_block_way(struct MapObject *, s16, s16, u32); void MoveCoords(u8, s16 *, s16 *); bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); +u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); // Exported data declarations diff --git a/include/field_map_obj_helpers.h b/include/field_map_obj_helpers.h new file mode 100644 index 000000000..ba797ec98 --- /dev/null +++ b/include/field_map_obj_helpers.h @@ -0,0 +1,7 @@ +#ifndef GUARD_FIELDMAPOBJHELP_H +#define GUARD_FIELDMAPOBJHELP_H + +void UnfreezeMapObjects(void); +void sub_8097B78(u8, u8); + +#endif diff --git a/include/field_message_box.h b/include/field_message_box.h new file mode 100644 index 000000000..432c9078b --- /dev/null +++ b/include/field_message_box.h @@ -0,0 +1,10 @@ +#ifndef GUARD_FIELD_MESSAGE_BOX_H +#define GUARD_FIELD_MESSAGE_BOX_H + +bool8 ShowFieldMessage(const u8 *message); +bool8 sub_8098238(const u8 *message); +bool8 ShowFieldAutoScrollMessage(const u8 *message); +void HideFieldMessageBox(void); +bool8 IsFieldMessageBoxHidden(void); + +#endif // GUARD_FIELD_MESSAGE_BOX_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index a787cf805..5c16e9414 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -1,7 +1,3 @@ -// -// Created by Scott Norton on 9/6/17. -// - #ifndef GUARD_FIELD_PLAYER_AVATAR_H #define GUARD_FIELD_PLAYER_AVATAR_H @@ -14,4 +10,6 @@ u8 player_get_direction_lower_nybble(void); u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); +void sub_808D074(u8); + #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h new file mode 100644 index 000000000..ef81c2f9e --- /dev/null +++ b/include/field_screen_effect.h @@ -0,0 +1,8 @@ +#ifndef GUARD_FIELD_SCREEN_EFFECT_H +#define GUARD_FIELD_SCREEN_EFFECT_H + +void sub_80AF79C(void); +void sub_80B009C(u8); +void sub_80B0244(void); + +#endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_specials.h b/include/field_specials.h new file mode 100644 index 000000000..1f8fbf147 --- /dev/null +++ b/include/field_specials.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_SPECIALS_H +#define GUARD_FIELD_SPECIALS_H + +u8 GetLeadMonIndex(void); + +#endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_tasks.h b/include/field_tasks.h new file mode 100644 index 000000000..2a2a772d8 --- /dev/null +++ b/include/field_tasks.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_TASKS_H +#define GUARD_FIELD_TASKS_H + +void ActivatePerStepCallback(u8); + +#endif // GUARD_FIELD_TASKS_H diff --git a/include/field_weather.h b/include/field_weather.h new file mode 100644 index 000000000..e12107e70 --- /dev/null +++ b/include/field_weather.h @@ -0,0 +1,12 @@ +#ifndef GUARD_WEATHER_H +#define GUARD_WEATHER_H + +void fade_screen(u8, s8); + +void SetSav1Weather(u32); +u8 GetSav1Weather(void); +void sub_80AEDBC(void); + +void DoCurrentWeather(void); + +#endif // GUARD_WEATHER_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 7174d98cc..5d60d9f2c 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -1,16 +1,8 @@ -// -// Created by scott on 9/16/2017. -// - #ifndef GUARD_FIELDMAP_H #define GUARD_FIELDMAP_H -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations u8 MapGridGetMetatileBehaviorAt(s16, s16); +void MapGridSetMetatileIdAt(int, int, u16); void GetCameraCoords(u16*, u16*); bool8 MapGridIsImpassableAt(s16, s16); s32 GetMapBorderIdAt(s16, s16); diff --git a/include/item.h b/include/item.h index eaefa0298..431bd93d0 100644 --- a/include/item.h +++ b/include/item.h @@ -31,6 +31,7 @@ extern struct BagPocket gBagPockets[]; void GetBerryCountString(u8* dst, const u8* berryName, u32 quantity); void CopyItemName(u16 itemId, u8 *string); +void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity); bool8 IsBagPocketNonEmpty(u8 pocket); bool8 CheckBagHasItem(u16 itemId, u16 count); bool8 CheckBagHasSpace(u16 itemId, u16 count); diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h new file mode 100644 index 000000000..a10648f2f --- /dev/null +++ b/include/map_obj_lock.h @@ -0,0 +1,11 @@ +#ifndef GUARD_MAP_OBJ_LOCK_H +#define GUARD_MAP_OBJ_LOCK_H + +bool8 sub_80983C4(void); +void ScriptFreezeMapObjects(void); +bool8 sub_809847C(void); +void LockSelectedMapObject(void); +void sub_8098630(void); +bool8 sub_8098734(void); + +#endif // GUARD_MAP_OBJ_LOCK_H diff --git a/include/money.h b/include/money.h index 22a3657f6..5c7c1c984 100644 --- a/include/money.h +++ b/include/money.h @@ -5,7 +5,7 @@ u32 GetMoney(u32* moneyPtr); void SetMoney(u32* moneyPtr, u32 newValue); bool8 IsEnoughMoney(u32* moneyPtr, u32 cost); void AddMoney(u32* moneyPtr, u32 toAdd); -void SubtractMoney(u32* moneyPtr, u32 toSub); +void RemoveMoney(u32* moneyPtr, u32 toSub); bool8 IsEnoughForCostInVar0x8005(void); void SubtractMoneyFromVar0x8005(void); void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed); diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h new file mode 100644 index 000000000..ab23a8d00 --- /dev/null +++ b/include/mystery_event_script.h @@ -0,0 +1,8 @@ +#ifndef GUARD_MYSTERY_EVENT_SCRIPT_H +#define GUARD_MYSTERY_EVENT_SCRIPT_H + +u32 RunMysteryEventScript(u8 *); +void SetMysteryEventScriptStatus(u32 val); +u16 GetRecordMixingGift(void); + +#endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h new file mode 100644 index 000000000..a597fc9a2 --- /dev/null +++ b/include/new_menu_helpers.h @@ -0,0 +1,8 @@ +#ifndef GUARD_NEW_MENU_HELPERS_H +#define GUARD_NEW_MENU_HELPERS_H + +void sub_81973A4(void); +void sub_81973C4(u8, u8); +void sub_819746C(u8 windowId, bool8 copyToVram); + +#endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/overworld.h b/include/overworld.h new file mode 100644 index 000000000..0475e8e8c --- /dev/null +++ b/include/overworld.h @@ -0,0 +1,58 @@ +#ifndef GUARD_ROM4_H +#define GUARD_ROM4_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 struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; + +void IncrementGameStat(u8 index); + +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_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); + +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); + +void strange_npc_table_clear(void); +const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); +void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); +void sub_8086230(void); +void c2_exit_to_overworld_2_switch(void); +void c2_exit_to_overworld_1_continue_scripts_restart_music(void); + +#endif //GUARD_ROM4_H diff --git a/include/palette.h b/include/palette.h index de2cf0083..d3bcd2271 100644 --- a/include/palette.h +++ b/include/palette.h @@ -8,6 +8,9 @@ #define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade #define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade +#define PLTT_BUFFER_SIZE 0x200 +#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2) + enum { FAST_FADE_IN_FROM_WHITE, diff --git a/include/party_menu.h b/include/party_menu.h new file mode 100644 index 000000000..175aba639 --- /dev/null +++ b/include/party_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_PARTY_MENU_H +#define GUARD_PARTY_MENU_H + +bool8 pokemon_has_move(struct Pokemon *, u16); + +#endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon_3.h b/include/pokemon_3.h new file mode 100644 index 000000000..5c9862d57 --- /dev/null +++ b/include/pokemon_3.h @@ -0,0 +1,7 @@ +#ifndef GUARD_POKEMON_3_H +#define GUARD_POKEMON_3_H + +const u8* GetTrainerClassNameFromId(u16 trainerId); +const u8* GetTrainerNameFromId(u16 trainerId); + +#endif // GUARD_POKEMON_3_H diff --git a/include/rom4.h b/include/rom4.h deleted file mode 100644 index e19d277a6..000000000 --- a/include/rom4.h +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef GUARD_ROM4_H -#define GUARD_ROM4_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 struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; - -void strange_npc_table_clear(void); -const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); -void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); -void sub_8086230(void); -void c2_exit_to_overworld_2_switch(void); - -#endif //GUARD_ROM4_H diff --git a/include/script_menu.h b/include/script_menu.h new file mode 100644 index 000000000..f921a4348 --- /dev/null +++ b/include/script_menu.h @@ -0,0 +1,13 @@ +#ifndef GUARD_SCRIPTMENU_H +#define GUARD_SCRIPTMENU_H + +extern const u8 *const gUnknown_0858BAF0[]; + +bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4); +bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5); +bool8 ScriptMenu_YesNo(u8 var1, u8 var2); +bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); +bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); +bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); + +#endif diff --git a/include/script_movement.h b/include/script_movement.h new file mode 100644 index 000000000..8f505cc67 --- /dev/null +++ b/include/script_movement.h @@ -0,0 +1,8 @@ +#ifndef GUARD_SCRIPT_MOVEMENT_H +#define GUARD_SCRIPT_MOVEMENT_H + +bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, u8 *); +bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); +void sub_80D338C(void); + +#endif // GUARD_SCRIPT_MOVEMENT_H diff --git a/include/script_pokemon_80F8.h b/include/script_pokemon_80F8.h new file mode 100644 index 000000000..8dd7ed0c0 --- /dev/null +++ b/include/script_pokemon_80F8.h @@ -0,0 +1,10 @@ +#ifndef GUARD_SCRIPTPOKE80F8_H +#define GUARD_SCRIPTPOKE80F8_H + +void ShowContestWinner(void); +u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8); +u8 ScriptGiveEgg(u16); +void CreateScriptedWildMon(u16, u8, u16); +void ScriptSetMonMoveSlot(u8, u16, u8); + +#endif diff --git a/include/script_pokemon_81B9.h b/include/script_pokemon_81B9.h new file mode 100644 index 000000000..1b8563ee6 --- /dev/null +++ b/include/script_pokemon_81B9.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SCRIPTPOKE81B9_H +#define GUARD_SCRIPTPOKE81B9_H + +void sub_81B9404(void); + +#endif diff --git a/include/shop.h b/include/shop.h new file mode 100644 index 000000000..d14c839ee --- /dev/null +++ b/include/shop.h @@ -0,0 +1,8 @@ +#ifndef GUARD_SHOP_H +#define GUARD_SHOP_H + +void CreatePokemartMenu(u16 *); +void CreateDecorationShop1Menu(u16 *); +void CreateDecorationShop2Menu(u16 *); + +#endif // GUARD_SHOP_H diff --git a/include/slot_machine.h b/include/slot_machine.h new file mode 100644 index 000000000..8334e56fc --- /dev/null +++ b/include/slot_machine.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SLOT_MACHINE_H +#define GUARD_SLOT_MACHINE_H + +void PlaySlotMachine(u8, void *); + +#endif // GUARD_SLOT_MACHINE_H diff --git a/include/text.h b/include/text.h index c09b41ad3..c3b27f7f1 100644 --- a/include/text.h +++ b/include/text.h @@ -170,6 +170,7 @@ typedef struct { u8 flag_0:1; u8 flag_1:1; u8 flag_2:1; + u8 flag_3:1; } TextFlags; extern TextFlags gTextFlags; diff --git a/include/trainer_see.h b/include/trainer_see.h index 3f39783b8..ab035d9f8 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -2,6 +2,7 @@ #define GUARD_TRAINER_SEE_H void sub_80B4578(struct MapObject *); +u8 sub_80B47BC(void); void sub_8155D78(struct MapObject *); #endif //GUARD_TRAINER_SEE_H diff --git a/include/tv.h b/include/tv.h new file mode 100644 index 000000000..ccd8e0050 --- /dev/null +++ b/include/tv.h @@ -0,0 +1,7 @@ +#ifndef GUARD_TV_H +#define GUARD_TV_H + +bool8 GetPriceReduction(u8); +size_t sub_80EF370(int); + +#endif // GUARD_TV_H -- cgit v1.2.3 From f300f853c8675817d00bbbc0caf57e5f80d6b573 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 12 Oct 2017 14:36:26 -0500 Subject: Add const qualifiers to scrcmd --- include/script.h | 4 ++-- include/script_movement.h | 2 +- include/shop.h | 6 +++--- include/text.h | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/script.h b/include/script.h index ec6a212bc..2b5f8c2ce 100644 --- a/include/script.h +++ b/include/script.h @@ -28,8 +28,8 @@ void StopScript(struct ScriptContext *ctx); bool8 RunScriptCommand(struct ScriptContext *ctx); u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr); const u8 *ScriptPop(struct ScriptContext *ctx); -void ScriptJump(struct ScriptContext *ctx, u8 *ptr); -void ScriptCall(struct ScriptContext *ctx, u8 *ptr); +void ScriptJump(struct ScriptContext *ctx, const u8 *ptr); +void ScriptCall(struct ScriptContext *ctx, const u8 *ptr); void ScriptReturn(struct ScriptContext *ctx); u16 ScriptReadHalfword(struct ScriptContext *ctx); u32 ScriptReadWord(struct ScriptContext *ctx); diff --git a/include/script_movement.h b/include/script_movement.h index 8f505cc67..4c3fa6002 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -1,7 +1,7 @@ #ifndef GUARD_SCRIPT_MOVEMENT_H #define GUARD_SCRIPT_MOVEMENT_H -bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, u8 *); +bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); void sub_80D338C(void); diff --git a/include/shop.h b/include/shop.h index d14c839ee..ee2887779 100644 --- a/include/shop.h +++ b/include/shop.h @@ -1,8 +1,8 @@ #ifndef GUARD_SHOP_H #define GUARD_SHOP_H -void CreatePokemartMenu(u16 *); -void CreateDecorationShop1Menu(u16 *); -void CreateDecorationShop2Menu(u16 *); +void CreatePokemartMenu(const u16 *); +void CreateDecorationShop1Menu(const u16 *); +void CreateDecorationShop2Menu(const u16 *); #endif // GUARD_SHOP_H diff --git a/include/text.h b/include/text.h index c3b27f7f1..594661717 100644 --- a/include/text.h +++ b/include/text.h @@ -196,7 +196,7 @@ u8 gGlyphDimensions[0x2]; void SetFontsPointer(const struct FontInfo *fonts); void DeactivateAllTextPrinters(void); -u16 PrintTextOnWindow(u8 windowId, u8 fontId, u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); +u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); void RunTextPrinters(void); bool16 IsTextPrinterActive(u8 id); -- cgit v1.2.3 From 8d31a46c6fbc2dedd39ec9e9687f372ac102303d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 12 Oct 2017 15:59:43 -0400 Subject: sub_8121478 --- include/easy_chat.h | 3 ++- include/mail_data.h | 12 ++++++++++++ include/malloc.h | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 include/mail_data.h (limited to 'include') diff --git a/include/easy_chat.h b/include/easy_chat.h index fc44b6a8a..c9ba81c6d 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -30,7 +30,8 @@ enum void InitEasyChatPhrases(void); void easy_chat_input_maybe(void); -void CopyEasyChatWord(u8 *, u16); +void CopyEasyChatWord(u8 *dest, u16 word); +void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2); bool32 sub_811F8D8(u16); #endif // GUARD_EASYCHAT_H diff --git a/include/mail_data.h b/include/mail_data.h new file mode 100644 index 000000000..bf6540bad --- /dev/null +++ b/include/mail_data.h @@ -0,0 +1,12 @@ +#ifndef GUARD_MAIL_DATA_H +#define GUARD_MAIL_DATA_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +u16 sub_80D45E8(u16, u16 *); + +#endif //GUARD_MAIL_DATA_H diff --git a/include/malloc.h b/include/malloc.h index 4568e244a..f3a731797 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -2,7 +2,7 @@ #define GUARD_MALLOC_H #define malloc Alloc -#define calloc AllocZeroed +#define calloc(ct, sz) AllocZeroed((ct) * (sz)) #define free Free extern u8 gHeap[]; -- cgit v1.2.3 From 52af334b89e6549aea04614b7e9eccbc084b6eb8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 12 Oct 2017 22:59:01 -0400 Subject: sub_81215EC --- include/menu.h | 3 +++ include/pokemon_icon.h | 3 +++ include/rom4.h | 1 + 3 files changed, 7 insertions(+) (limited to 'include') diff --git a/include/menu.h b/include/menu.h index 766aa9d39..d143c8a7c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -19,5 +19,8 @@ void box_print(u8, u8, u8, u8, const void *, s8, const u8 *); 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); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); +void reset_temp_tile_data_buffers(void); +int decompress_and_copy_tile_data_to_vram(u8 bg_id, void *src, int size, u16 offset, u8 mode); +bool8 free_temp_tile_data_buffers_if_possible(void); #endif // GUARD_MENU_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index b82334355..1863f9f7a 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -3,5 +3,8 @@ const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); +u16 sub_80D2E84(u16 speciesId); +void sub_80D2F68(u16 iconId); +u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5); #endif // GUARD_POKEMON_ICON_H diff --git a/include/rom4.h b/include/rom4.h index e19d277a6..80a050c77 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -29,5 +29,6 @@ const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void sub_8086230(void); void c2_exit_to_overworld_2_switch(void); +bool32 sub_8087598(void); #endif //GUARD_ROM4_H -- cgit v1.2.3 From aa3af7a3a7106a14033c574977c082361f24907a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 12 Oct 2017 23:05:36 -0400 Subject: sub_81219F0 --- include/menu_helpers.h | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 include/menu_helpers.h (limited to 'include') diff --git a/include/menu_helpers.h b/include/menu_helpers.h new file mode 100644 index 000000000..45ee95de5 --- /dev/null +++ b/include/menu_helpers.h @@ -0,0 +1,11 @@ +#ifndef GUARD_MENU_HELPERS_H +#define GUARD_MENU_HELPERS_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +bool8 sub_81221AC(void); + +#endif //GUARD_MENU_HELPERS_H -- cgit v1.2.3 From 24bd8c73e17fa8795808a1b53745854026b8c3a0 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 12 Oct 2017 22:34:58 -0500 Subject: Name some new script commands --- include/data2.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'include') diff --git a/include/data2.h b/include/data2.h index ccb9b4b7e..db9532811 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,16 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H +struct MonCoords +{ + // This would use a bitfield, but some function + // uses it as a u8 and casting won't match. + u8 coords; // u8 x:4, y:4; + u8 y_offset; +}; + +extern struct MonCoords gTrainerBackPicCoords[]; + extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; extern const u8 gMoveNames[][13]; extern const u8 gAbilityNames[][13]; -- cgit v1.2.3 From 3c4478b370e5ad472c38b8c31ae17c5b49cb8083 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 13 Oct 2017 00:11:55 -0400 Subject: Decompile data --- include/menu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/menu.h b/include/menu.h index d143c8a7c..957bed9b4 100644 --- a/include/menu.h +++ b/include/menu.h @@ -20,7 +20,7 @@ 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); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); void reset_temp_tile_data_buffers(void); -int decompress_and_copy_tile_data_to_vram(u8 bg_id, void *src, int size, u16 offset, u8 mode); +int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); #endif // GUARD_MENU_H -- cgit v1.2.3 From 74c59af856216332b6c73cbc382edff3518a0eab Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 13 Oct 2017 08:47:26 -0400 Subject: sub_8121A1C --- include/international_string_util.h | 11 +++++++++++ include/strings.h | 12 ++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 include/international_string_util.h create mode 100644 include/strings.h (limited to 'include') diff --git a/include/international_string_util.h b/include/international_string_util.h new file mode 100644 index 000000000..4adc21224 --- /dev/null +++ b/include/international_string_util.h @@ -0,0 +1,11 @@ +#ifndef GUARD_INTERNATIONAL_STRING_UTIL_H +#define GUARD_INTERNATIONAL_STRING_UTIL_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void sub_81DB52C(const u8 *src); + +#endif //GUARD_INTERNATIONAL_STRING_UTIL_H diff --git a/include/strings.h b/include/strings.h new file mode 100644 index 000000000..68e5c9d35 --- /dev/null +++ b/include/strings.h @@ -0,0 +1,12 @@ +#ifndef GUARD_STRINGS_H +#define GUARD_STRINGS_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +extern const u8 gText_FromSpace[]; + +#endif //GUARD_STRINGS_H -- cgit v1.2.3 From c78679ae66c71836b23e59e001c45235117cab2f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 13 Oct 2017 17:22:50 +0200 Subject: rom3 decomp start --- include/battle.h | 11 ++++++++++- include/battle_2.h | 2 ++ include/battle_anim.h | 6 ++++++ include/battle_controllers.h | 38 +++++++++++++++++++++++++++++++++++++- include/link.h | 9 ++++++++- include/recorded_battle.h | 2 ++ 6 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 include/battle_anim.h (limited to 'include') diff --git a/include/battle.h b/include/battle.h index a60f450ce..4a29e8488 100644 --- a/include/battle.h +++ b/include/battle.h @@ -27,7 +27,9 @@ #define BIT_SIDE 0x1 #define BIT_MON 0x2 +#define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank])) #define GET_BANK_SIDE(bank)((GetBankIdentity(bank) & BIT_SIDE)) +#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE)) #define BATTLE_TYPE_DOUBLE 0x0001 #define BATTLE_TYPE_LINK 0x0002 @@ -654,7 +656,9 @@ struct BattleStruct u8 field_1A1; bool8 overworldWeatherDone; u8 atkCancellerTracker; - u8 field_1A4[240]; + u8 field_1A4[96]; + u8 field_204[104]; + u8 field_26C[40]; u8 field_294[4]; u8 field_298[8]; u8 field_2A0; @@ -891,6 +895,11 @@ struct BattleSpriteData extern struct BattleSpriteData *gBattleSpritesDataPtr; +#define BATTLE_BUFFER_LINK_SIZE 0x1000 + +extern u8 *gLinkBattleSendBuffer; +extern u8 *gLinkBattleRecvBuffer; + // Move this somewhere else #include "sprite.h" diff --git a/include/battle_2.h b/include/battle_2.h index 677bf0505..ceec2aa00 100644 --- a/include/battle_2.h +++ b/include/battle_2.h @@ -17,6 +17,8 @@ void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); u32 sub_80397C4(u32 setId, u32 tableId); void sub_8039E9C(struct Sprite *sprite); +void nullsub_20(void); +void BeginBattleIntro(void); extern const u8 gStatusConditionString_PoisonJpn[8]; extern const u8 gStatusConditionString_SleepJpn[8]; diff --git a/include/battle_anim.h b/include/battle_anim.h new file mode 100644 index 000000000..fa546b192 --- /dev/null +++ b/include/battle_anim.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BATTLE_ANIM_H +#define GUARD_BATTLE_ANIM_H + +void ClearBattleAnimationVars(void); + +#endif // GUARD_BATTLE_ANIM_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h index e36c95fbe..b36878210 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -46,7 +46,13 @@ struct ChooseMoveStruct u8 monType2; }; -// rom3.s, emitters +// general functions +void HandleLinkBattleSetup(void); +void SetUpBattleVarsAndBirchZigzagoon(void); +void sub_8032768(void); +void sub_8033648(void); + +// emitters void EmitSetMonData(u8 bufferId, u8 request, u8 c, u8 bytes, void *data); void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct* disableStructPtr, u8 multihit); void EmitHealthBarUpdate(u8 bufferId, u16 hpValue); @@ -86,4 +92,34 @@ void EmitResetActionMoveSelection(u8 bufferId, u8 caseId); void EmitBallThrow(u8 bufferId, u8 caseId); void EmitCmd_x21(u8 bufferId, u8 arg1, u16 arg2); +// player controller +void SetBankFuncToPlayerBufferRunCommand(void); +void nullsub_21(void); +void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); +void ActionSelectionDestroyCursorAt(u8 cursorPos); + +// recorded player controller +void SetBankFuncToRecordedPlayerBufferRunCommand(void); + +// opponent controller +void SetBankFuncToOpponentBufferRunCommand(void); + +// player partner controller +void SetBankFuncToPlayerPartnerBufferRunCommand(void); + +// safari controller +void SetBankFuncToSafariBufferRunCommand(void); + +// wally controller +void SetBankFuncToWallyBufferRunCommand(void); + +// recorded opponent controller +void SetBankFuncToRecordedOpponentBufferRunCommand(void); + +// link opponent +void SetBankFuncToLinkOpponentBufferRunCommand(void); + +// link partner +void SetBankFuncToLinkPartnerBufferRunCommand(void); + #endif // GUARD_BATTLE_CONTROLLERS_H diff --git a/include/link.h b/include/link.h index 012c90480..fa39af699 100644 --- a/include/link.h +++ b/include/link.h @@ -141,6 +141,7 @@ extern u8 gShouldAdvanceLinkState; extern struct LinkPlayer gLinkPlayers[]; extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; +extern bool8 gLinkVSyncDisabled; void Task_DestroySelf(u8); void OpenLink(void); @@ -183,6 +184,12 @@ bool8 sub_800A520(void); bool8 sub_8010500(void); void sub_800DFB4(u8, u8); void sub_800ADF8(void); -u8 sub_8009FCC(void); +u8 GetLinkPlayerCount(void); +void sub_800B488(void); +void sub_8009734(void); +void sub_800A620(void); +void sub_8011BD0(void); +u8 sub_800ABAC(void); +u8 sub_800ABBC(void); #endif // GUARD_LINK_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 65ad998e6..2d8135e41 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -3,6 +3,7 @@ extern u32 gRecordedBattleRngSeed; +void sub_8184DA4(u8 arg0); void sub_8185F84(void); void sub_8184E58(void); void RecordedBattle_SetBankAction(u8 bank, u8 action); @@ -15,5 +16,6 @@ u8 MoveRecordedBattleToSaveData(void); void sub_818603C(u8); void sub_8185FD0(void); void sub_8186444(void); +void sub_8185EB8(void); #endif // GUARD_RECORDED_BATTLE_H -- cgit v1.2.3 From cc847132496af6034a56838e6e8e7575bbda7648 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 13 Oct 2017 11:47:17 -0400 Subject: sub_8121B1C --- include/international_string_util.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/international_string_util.h b/include/international_string_util.h index a2891aeb7..412e71de2 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -10,5 +10,6 @@ void sub_81DB52C(const u8 *src); void TVShowConvertInternationalString(void *dest, const void *src, u8 language); u32 sub_81DB604(const u8 *); +s32 GetStringCenterAlignXOffset(u8 fontId, const u8 *str, s32 totalWidth); #endif //GUARD_INTERNATIONAL_STRING_UTIL_H -- cgit v1.2.3 From 32168adbc884f49da522b77900ea9a131df96f15 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 13 Oct 2017 12:03:15 -0400 Subject: Remaining functions --- include/pokemon_icon.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 1863f9f7a..b6d21823e 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -6,5 +6,7 @@ const u16 *GetValidMonIconPalettePtr(u16 speciesId); u16 sub_80D2E84(u16 speciesId); void sub_80D2F68(u16 iconId); u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5); +void sub_80D2FF0(u16 iconId); +void sub_80D2EF8(struct Sprite *sprite); #endif // GUARD_POKEMON_ICON_H -- cgit v1.2.3 From 20d158cf4a17e8d362cdafbf13906c59d9916e24 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 13 Oct 2017 19:46:27 +0200 Subject: start decompiling emitters --- include/battle_controllers.h | 97 ++++++++++++++++++++++++++++++++++++++------ include/battle_util.h | 1 + 2 files changed, 85 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index b36878210..475dcd348 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -46,6 +46,69 @@ struct ChooseMoveStruct u8 monType2; }; +enum +{ + CONTROLLER_GETMONDATA, + CONTROLLER_GETRAWMONDATA, + CONTROLLER_SETMONDATA, + CONTROLLER_SETRAWMONDATA, + CONTROLLER_LOADMONSPRITE, + CONTROLLER_SWITCHINANIM, + CONTROLLER_RETURNPOKETOBALL, + CONTROLLER_DRAWTRAINERPIC, + CONTROLLER_TRAINERSLIDE, + CONTROLLER_TRAINERSLIDEBACK, + CONTROLLER_FAINTANIMATION, + CONTROLLER_11, + CONTROLLER_12, + CONTROLLER_BALLTHROW, + CONTROLLER_PAUSE, + CONTROLLER_MOVEANIMATION, + CONTROLLER_PRINTSTRING, + CONTROLLER_PRINTSTRINGPLAYERONLY, + CONTROLLER_CHOOSEACTION, + CONTROLLER_19, + CONTROLLER_20, + CONTROLLER_OPENBAG, + CONTROLLER_22, + CONTROLLER_23, + CONTROLLER_HEALTHBARUPDATE, + CONTROLLER_EXPBARUPDATE, + CONTROLLER_STATUSICONUPDATE, + CONTROLLER_STATUSANIMATION, + CONTROLLER_STATUSXOR, + CONTROLLER_29, + CONTROLLER_DMATRANSFER, + CONTROLLER_31, + CONTROLLER_32, + CONTROLLER_33, + CONTROLLER_34, + CONTROLLER_35, + CONTROLLER_36, + CONTROLLER_37, + CONTROLLER_38, + CONTROLLER_39, + CONTROLLER_40, + CONTROLLER_HITANIMATION, + CONTROLLER_42, + CONTROLLER_EFFECTIVENESSSOUND, + CONTROLLER_44, + CONTROLLER_FAINTINGCRY, + CONTROLLER_INTROSLIDE, + CONTROLLER_TRAINERBALLTHROW, + CONTROLLER_48, + CONTROLLER_49, + CONTROLLER_50, + CONTROLLER_SPRITEINVISIBILITY, + CONTROLLER_BATTLEANIMATION, + CONTROLLER_LINKSTANDBYMSG, + CONTROLLER_RESETACTIONMOVESELECTION, + CONTROLLER_55, + CONTROLLER_56 +}; + +#define LAST_CONTROLLER_CMD_ID CONTROLLER_56 + 1 + // general functions void HandleLinkBattleSetup(void); void SetUpBattleVarsAndBirchZigzagoon(void); @@ -53,24 +116,36 @@ void sub_8032768(void); void sub_8033648(void); // emitters +void EmitGetMonData(u8 bufferId, u8 arg1, u8 arg2); +void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused void EmitSetMonData(u8 bufferId, u8 request, u8 c, u8 bytes, void *data); -void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct* disableStructPtr, u8 multihit); +void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused +void EmitLoadMonSprite(u8 bufferId); +void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); +void EmitReturnPokeToBall(u8 bufferId, u8 arg1); +void EmitDrawTrainerPic(u8 bufferId); +void EmitTrainerSlide(u8 bufferId); +void EmitTrainerSlideBack(u8 bufferId); +void EmitFaintAnimation(u8 bufferId); +void EmitCmd11(u8 bufferId); // unused +void EmitCmd12(u8 bufferId); // unused +void EmitBallThrow(u8 bufferId, u8 caseId); +void EmitPause(u8 bufferId, u8 toWait, void *data); // unused +void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); +void EmitPrintString(u8 bufferId, u16 stringId); +void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId); +void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); + + void EmitHealthBarUpdate(u8 bufferId, u16 hpValue); void EmitEffectivenessSound(u8 bufferId, u16 songId); void EmitPlaySound(u8 bufferId, u16 songId, u8 arg2); -void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId); -void EmitFaintAnimation(u8 bufferId); void Emit_x2A(u8 bufferId); void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints); void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); -void EmitReturnPokeToBall(u8 bufferId, u8 arg1); -void EmitGetMonData(u8 bufferId, u8 arg1, u8 arg2); -void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2); -void EmitTrainerSlide(u8 bufferId); -void EmitTrainerSlideBack(u8 bufferId); void EmitFaintingCry(u8 bufferId); void Emit_x37(u8 bufferId, u8 arg1); void EmitHitAnimation(u8 bufferId); @@ -80,16 +155,12 @@ void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); void EmitCmd13(u8 bufferId); void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); void EmitIntroSlide(u8 bufferId, u8 terrainId); -void EmitDrawTrainerPic(u8 bufferId); -void EmitLoadMonSprite(u8 bufferId); void EmitIntroTrainerBallThrow(u8 bufferId); -void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct* movePpData); void EmitOpenBag(u8 bufferId, u8* arg1); void Emit_x32(u8 bufferId); -void EmitPrintString(u8 bufferId, u16 stringId); + void EmitResetActionMoveSelection(u8 bufferId, u8 caseId); -void EmitBallThrow(u8 bufferId, u8 caseId); void EmitCmd_x21(u8 bufferId, u8 arg1, u16 arg2); // player controller diff --git a/include/battle_util.h b/include/battle_util.h index c1ff7d8ab..b21b250c4 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -33,6 +33,7 @@ #define ITEMEFFECT_ON_SWITCH_IN 0x0 #define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) +#define WEATHER_HAS_EFFECT2 ((!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0))) #define BS_GET_TARGET 0 #define BS_GET_ATTACKER 1 -- cgit v1.2.3 From 2852f4f1b86f1a5fbfdceb296d184158068b5ad5 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 13 Oct 2017 19:48:09 -0500 Subject: Continue attempt to decomp braillemessage --- include/menu.h | 1 + include/new_menu_helpers.h | 1 + 2 files changed, 2 insertions(+) (limited to 'include') diff --git a/include/menu.h b/include/menu.h index 766aa9d39..66ac73e03 100644 --- a/include/menu.h +++ b/include/menu.h @@ -19,5 +19,6 @@ void box_print(u8, u8, u8, u8, const void *, s8, const u8 *); 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); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); +void sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd #endif // GUARD_MENU_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index a597fc9a2..6377897d3 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -4,5 +4,6 @@ void sub_81973A4(void); void sub_81973C4(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); +void sub_81973FC(u8, u8); #endif // GUARD_NEW_MENU_HELPERS_H -- cgit v1.2.3 From 14e41d6c508e5c425dff8f2c4933ae4c8b7ab762 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 14 Oct 2017 11:34:26 +0200 Subject: rom3 is decompiled --- include/battle_controllers.h | 73 +++++++++++++++++++++++++------------------- include/link.h | 1 - include/recorded_battle.h | 1 + 3 files changed, 43 insertions(+), 32 deletions(-) (limited to 'include') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 475dcd348..4bc6b7b84 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -54,7 +54,7 @@ enum CONTROLLER_SETRAWMONDATA, CONTROLLER_LOADMONSPRITE, CONTROLLER_SWITCHINANIM, - CONTROLLER_RETURNPOKETOBALL, + CONTROLLER_RETURNMONTOBALL, CONTROLLER_DRAWTRAINERPIC, CONTROLLER_TRAINERSLIDE, CONTROLLER_TRAINERSLIDEBACK, @@ -68,17 +68,17 @@ enum CONTROLLER_PRINTSTRINGPLAYERONLY, CONTROLLER_CHOOSEACTION, CONTROLLER_19, - CONTROLLER_20, + CONTROLLER_CHOOSEMOVE, CONTROLLER_OPENBAG, - CONTROLLER_22, + CONTROLLER_CHOOSEPOKEMON, CONTROLLER_23, CONTROLLER_HEALTHBARUPDATE, - CONTROLLER_EXPBARUPDATE, + CONTROLLER_EXPUPDATE, CONTROLLER_STATUSICONUPDATE, CONTROLLER_STATUSANIMATION, CONTROLLER_STATUSXOR, - CONTROLLER_29, - CONTROLLER_DMATRANSFER, + CONTROLLER_DATATRANSFER, + CONTROLLER_DMA3TRANSFER, CONTROLLER_31, CONTROLLER_32, CONTROLLER_33, @@ -92,11 +92,11 @@ enum CONTROLLER_HITANIMATION, CONTROLLER_42, CONTROLLER_EFFECTIVENESSSOUND, - CONTROLLER_44, + CONTROLLER_PLAYFANFAREORBGM, CONTROLLER_FAINTINGCRY, CONTROLLER_INTROSLIDE, - CONTROLLER_TRAINERBALLTHROW, - CONTROLLER_48, + CONTROLLER_INTROTRAINERBALLTHROW, + CONTROLLER_DRAWPARTYSTATUSSUMMARY, CONTROLLER_49, CONTROLLER_50, CONTROLLER_SPRITEINVISIBILITY, @@ -114,6 +114,7 @@ void HandleLinkBattleSetup(void); void SetUpBattleVarsAndBirchZigzagoon(void); void sub_8032768(void); void sub_8033648(void); +void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); // emitters void EmitGetMonData(u8 bufferId, u8 arg1, u8 arg2); @@ -122,7 +123,7 @@ void EmitSetMonData(u8 bufferId, u8 request, u8 c, u8 bytes, void *data); void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused void EmitLoadMonSprite(u8 bufferId); void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); -void EmitReturnPokeToBall(u8 bufferId, u8 arg1); +void EmitReturnMonToBall(u8 bufferId, u8 arg1); void EmitDrawTrainerPic(u8 bufferId); void EmitTrainerSlide(u8 bufferId); void EmitTrainerSlideBack(u8 bufferId); @@ -135,33 +136,43 @@ void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 void EmitPrintString(u8 bufferId, u16 stringId); void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId); void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); - - +void EmitCmd19(u8 bufferId); +void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); +void EmitOpenBag(u8 bufferId, u8* arg1); +void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); +void EmitCmd23(u8 bufferId); // unused void EmitHealthBarUpdate(u8 bufferId, u16 hpValue); -void EmitEffectivenessSound(u8 bufferId, u16 songId); -void EmitPlaySound(u8 bufferId, u16 songId, u8 arg2); -void Emit_x2A(u8 bufferId); void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints); -void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); -void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); -void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); -void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2); -void EmitFaintingCry(u8 bufferId); -void Emit_x37(u8 bufferId, u8 arg1); -void EmitHitAnimation(u8 bufferId); -void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); -void EmitCmd49(u8 bufferId); -void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); -void EmitCmd13(u8 bufferId); void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); +void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); +void EmitStatusXor(u8 bufferId, u8 b); // unused +void EmitDataTransfer(u8 bufferId, u16 size, void *data); +void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused +void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused +void EmitCmd32(u8 bufferId, u16 size, void *c); // unused +void EmitCmd33(u8 bufferId, u8 arg1, u16 arg2); +void EmitCmd34(u8 bufferId, u8 b, u8 *c); +void EmitCmd35(u8 bufferId, u16 b); +void EmitCmd36(u8 bufferId, u16 b); +void EmitCmd37(u8 bufferId); +void EmitCmd38(u8 bufferId, u8 b); +void EmitCmd39(u8 bufferId); +void EmitCmd40(u8 bufferId); +void EmitHitAnimation(u8 bufferId); +void EmitCmd42(u8 bufferId); +void EmitEffectivenessSound(u8 bufferId, u16 songId); +void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); +void EmitFaintingCry(u8 bufferId); void EmitIntroSlide(u8 bufferId, u8 terrainId); void EmitIntroTrainerBallThrow(u8 bufferId); -void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct* movePpData); -void EmitOpenBag(u8 bufferId, u8* arg1); -void Emit_x32(u8 bufferId); - +void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); +void EmitCmd49(u8 bufferId); +void EmitCmd50(u8 bufferId); +void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); +void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); +void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2); void EmitResetActionMoveSelection(u8 bufferId, u8 caseId); -void EmitCmd_x21(u8 bufferId, u8 arg1, u16 arg2); +void EmitCmd55(u8 bufferId, u8 arg1); // player controller void SetBankFuncToPlayerBufferRunCommand(void); diff --git a/include/link.h b/include/link.h index 7965a4b1d..b8835ce04 100644 --- a/include/link.h +++ b/include/link.h @@ -185,7 +185,6 @@ bool8 sub_800A520(void); bool8 sub_8010500(void); void sub_800DFB4(u8, u8); void sub_800ADF8(void); -u8 GetLinkPlayerCount(void); void sub_800B488(void); void sub_8009734(void); void sub_800A620(void); diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 2d8135e41..6b80e220f 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -17,5 +17,6 @@ void sub_818603C(u8); void sub_8185FD0(void); void sub_8186444(void); void sub_8185EB8(void); +u8 sub_81850DC(u8 *arg0); #endif // GUARD_RECORDED_BATTLE_H -- cgit v1.2.3 From 752ce9b90d756e01766c12136169eefe335ac016 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 14 Oct 2017 16:55:25 +0200 Subject: start working on battle anim --- include/battle_anim.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++ include/battle_interface.h | 1 + include/contest.h | 30 +++++++++++++++++++++++++---- include/decompress.h | 2 +- include/sprite.h | 2 +- 5 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 include/battle_anim.h (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h new file mode 100644 index 000000000..8ba25f9c5 --- /dev/null +++ b/include/battle_anim.h @@ -0,0 +1,48 @@ +#ifndef GUARD_BATTLE_ANIM_H +#define GUARD_BATTLE_ANIM_H + +enum +{ + ANIM_BANK_ATTACKER, + ANIM_BANK_TARGET, + ANIM_BANK_ATK_PARTNER, + ANIM_BANK_DEF_PARTNER, +}; + +enum +{ + BG_ANIM_SCREEN_SIZE, + BG_ANIM_AREA_OVERFLOW_MODE, + BG_ANIM2, + BG_ANIM3, + BG_ANIM_PRIORITY, + BG_ANIM_5, + BG_ANIM_6 +}; + +struct UnknownAnimStruct2 +{ + void *unk0; + u16 *unk4; + u8 unk8; + u8 unk9; + u16 unkA; + u16 unkC; +}; + +void ClearBattleAnimationVars(void); +void DoMoveAnim(u16 move); +void DoBattleAnim(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim); +void DestroyAnimSprite(struct Sprite *sprite); +void DestroyAnimVisualTask(u8 taskId); +void DestroyAnimSoundTask(u8 taskId); +bool8 IsAnimBankSpriteVisible(u8 bank); +void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible); + +bool8 IsContest(void); + +// battle_anim_80FE840.s +void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); +void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 bankIdentity, u8 arg4, void *arg5, u16 *arg6, u16 arg7); + +#endif // GUARD_BATTLE_ANIM_H diff --git a/include/battle_interface.h b/include/battle_interface.h index cecc7bd1f..9c5b56bc8 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -24,5 +24,6 @@ void SetHealthboxSpriteVisible(u8 healthboxSpriteId); void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId); void nullsub_30(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); +void sub_8072A88(u8 arg0); #endif // GUARD_BATTLE_INTERFACE_H diff --git a/include/contest.h b/include/contest.h index 5c473bd2c..7635e7358 100644 --- a/include/contest.h +++ b/include/contest.h @@ -1,7 +1,8 @@ #ifndef GUARD_CONTEST_H #define GUARD_CONTEST_H -struct ContestStruct_02039E00 { +struct ContestStruct_02039E00 +{ u16 unk_00; u8 unk_02[11]; u8 unk_0d[8]; @@ -11,8 +12,29 @@ struct ContestStruct_02039E00 { extern struct ContestStruct_02039E00 gUnknown_02039E00[4]; extern u8 gUnknown_02039F24; -extern EWRAM_DATA u16 gScriptContestCategory; -extern EWRAM_DATA u8 gUnknown_02039F2E; -extern EWRAM_DATA u8 gUnknown_02039F30; +extern u16 gScriptContestCategory; +extern u8 gUnknown_02039F2E; +extern u8 gUnknown_02039F30; + +struct ContestStruct_field_18 +{ + // unknown size + u16 field_0; +}; + +struct ContestResources +{ + void *field_0; + void *field_4; + void *field_8; + void *field_C; + void *field_10; + void *field_14; + struct ContestStruct_field_18 *field_18; +}; + +extern struct ContestResources *gContestResources; + +bool8 IsSpeciesNotUnown(u16 species); #endif //GUARD_CONTEST_H diff --git a/include/decompress.h b/include/decompress.h index 6c925f730..c3a771893 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -8,7 +8,7 @@ void LZDecompressVram(const void *src, void *dest); u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src); void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); -bool8 LoadCompressedObjectPicUsingHeap(struct CompressedSpriteSheet* src); +bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src); void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src); void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); diff --git a/include/sprite.h b/include/sprite.h index a9377165e..531314079 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -251,7 +251,7 @@ void BuildOamBuffer(void); u8 CreateSprite(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); u8 CreateSpriteAtEnd(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); u8 CreateInvisibleSprite(void (*callback)(struct Sprite *)); -u8 CreateSpriteAndAnimate(struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); +u8 CreateSpriteAndAnimate(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); void DestroySprite(struct Sprite *sprite); void ResetOamRange(u8 a, u8 b); void LoadOam(void); -- cgit v1.2.3 From ebb2999c03e7f9291bf905d644ddc03991e4280e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 14 Oct 2017 23:37:44 +0200 Subject: more of battle anim done --- include/battle.h | 3 +++ include/battle_anim.h | 12 +++++++++++- include/contest.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index f00b7f9ab..a9243182e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -826,6 +826,7 @@ void LoadBattleTextboxAndBackground(void); void LoadBattleEntryBackground(void); void ApplyPlayerChosenFrameToBattleMenu(void); bool8 LoadChosenBattleElement(u8 caseId); +void LoadFittingBackgroundForBattle(void); void task00_0800F6FC(u8 taskId); // battle_5 @@ -890,6 +891,8 @@ struct BattleHealthboxInfo u8 flag_x1 : 1; u8 flag_x2 : 1; u8 flag_x4 : 1; + u8 flag_x8 : 1; + u8 flag_x10 : 1; u8 field_1; u8 field_2; u8 field_3; diff --git a/include/battle_anim.h b/include/battle_anim.h index 8ba25f9c5..86eb20aec 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -30,6 +30,13 @@ struct UnknownAnimStruct2 u16 unkC; }; +struct BattleAnimBackground +{ + void *image; + void *palette; + void *tilemap; +}; + void ClearBattleAnimationVars(void); void DoMoveAnim(u16 move); void DoBattleAnim(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim); @@ -38,8 +45,11 @@ void DestroyAnimVisualTask(u8 taskId); void DestroyAnimSoundTask(u8 taskId); bool8 IsAnimBankSpriteVisible(u8 bank); void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible); - bool8 IsContest(void); +s8 BattleAnimAdjustPanning(s8 pan); +s8 BattleAnimAdjustPanning2(s8 pan); +s16 sub_80A52EC(s16 a); +s16 sub_80A5314(s16 a, s16 b, s16 c); // battle_anim_80FE840.s void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); diff --git a/include/contest.h b/include/contest.h index 7635e7358..7dcde7da2 100644 --- a/include/contest.h +++ b/include/contest.h @@ -36,5 +36,6 @@ struct ContestResources extern struct ContestResources *gContestResources; bool8 IsSpeciesNotUnown(u16 species); +void LoadContestBgAfterMoveAnim(void); #endif //GUARD_CONTEST_H -- cgit v1.2.3 From dd0f19476c3a15514e3d08855cee3266fdbdf2ed Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 15 Oct 2017 23:21:59 +0200 Subject: battle anim file is decompiled --- include/battle_anim.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index 86eb20aec..3345d7de3 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -37,6 +37,24 @@ struct BattleAnimBackground void *tilemap; }; +#define ANIM_ARGS_COUNT 8 + +extern void (*gAnimScriptCallback)(void); +extern bool8 gAnimScriptActive; +extern u8 gAnimVisualTaskCount; +extern u8 gAnimSoundTaskCount; +extern struct DisableStruct *gAnimDisableStructPtr; +extern u32 gAnimMoveDmg; +extern u16 gAnimMovePower; +extern u8 gAnimFriendship; +extern u16 gWeatherMoveAnim; +extern s16 gBattleAnimArgs[ANIM_ARGS_COUNT]; +extern u8 gAnimMoveTurn; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; +extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT]; +extern u8 gUnknown_02038440; + void ClearBattleAnimationVars(void); void DoMoveAnim(u16 move); void DoBattleAnim(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim); @@ -49,7 +67,7 @@ bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); s16 sub_80A52EC(s16 a); -s16 sub_80A5314(s16 a, s16 b, s16 c); +s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); // battle_anim_80FE840.s void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); -- cgit v1.2.3 From 4b45282dd37266cc7d263a6fd4a5223f8e92b5be Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 16 Oct 2017 18:12:27 +0200 Subject: start working on battle interface --- include/battle.h | 10 ++++++++++ include/gba/types.h | 14 +++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index f00b7f9ab..548eb8de1 100644 --- a/include/battle.h +++ b/include/battle.h @@ -903,11 +903,21 @@ struct BattleHealthboxInfo u8 field_B; }; +struct BattleBarInfo +{ + u8 healthboxSpriteId; + u32 maxValue; + u32 currentValue; + bool32 isDoubleBattle; + s32 field_10; +}; + struct BattleSpriteData { struct BattleSpriteInfo *bankData; struct BattleHealthboxInfo *healthBoxesData; struct BattleAnimationInfo *animationData; + struct BattleBarInfo *battleBars; }; extern struct BattleSpriteData *gBattleSpritesDataPtr; diff --git a/include/gba/types.h b/include/gba/types.h index fd8a20a4c..e9a380023 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -39,18 +39,18 @@ struct PlttData struct OamData { /*0x00*/ u32 y:8; - /*0x01*/ u32 affineMode:2; - u32 objMode:2; - u32 mosaic:1; - u32 bpp:1; - u32 shape:2; + /*0x01*/ u32 affineMode:2; // 0x1, 0x2 -> 0x4 + u32 objMode:2; // 0x4, 0x8 -> 0xC + u32 mosaic:1; // 0x10 + u32 bpp:1; // 0x20 + u32 shape:2; // 0x40, 0x80 -> 0xC0 /*0x02*/ u32 x:9; u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode u32 size:2; - /*0x04*/ u16 tileNum:10; - u16 priority:2; + /*0x04*/ u16 tileNum:10; // 0x33F + u16 priority:2; // 0x400, 0x800 -> 0xC00 u16 paletteNum:4; /*0x06*/ u16 affineParam; }; -- cgit v1.2.3 From 0ffc5652fd746816a763e4e0ec83c08f2f53222c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 18 Oct 2017 00:00:46 +0200 Subject: hp printing in healthboxes done I hope --- include/battle.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index 548eb8de1..948111d43 100644 --- a/include/battle.h +++ b/include/battle.h @@ -931,6 +931,8 @@ struct MonSpritesGfx void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon void* sprites[4]; struct SpriteTemplate templates[4]; + u8 field_74[0x100]; + u8 *fontPixels; }; extern struct BattleSpritesGfx* gMonSpritesGfx; -- cgit v1.2.3 From 6e56211f40d7a191afd91bcf41d63178e26b5199 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 18 Oct 2017 21:42:00 +0200 Subject: more of battle interface done --- include/battle.h | 13 +++++++++++++ include/decompress.h | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index 948111d43..ae7fa3ce4 100644 --- a/include/battle.h +++ b/include/battle.h @@ -883,6 +883,19 @@ struct BattleSpriteInfo struct BattleAnimationInfo { u16 field; // to fill up later + u8 field_2; + u8 field_3; + u8 field_4; + u8 field_5; + u8 field_6; + u8 field_7; + u8 field_8; + u8 field_9_x1 : 1; + u8 field_9_x2 : 1; + u8 field_9_x1C : 3; + u8 field_9_x20 : 1; + u8 field_9_x40 : 1; + u8 field_9_x80 : 1; }; struct BattleHealthboxInfo diff --git a/include/decompress.h b/include/decompress.h index 6c925f730..c3a771893 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -8,7 +8,7 @@ void LZDecompressVram(const void *src, void *dest); u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src); void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); -bool8 LoadCompressedObjectPicUsingHeap(struct CompressedSpriteSheet* src); +bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src); void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src); void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); -- cgit v1.2.3 From ee6bdc9068794652f929783e2ef326e542521327 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 18 Oct 2017 23:52:21 +0200 Subject: more battle interface --- include/battle_interface.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/battle_interface.h b/include/battle_interface.h index cecc7bd1f..93387cae0 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -10,8 +10,8 @@ enum HEALTHBOX_NICK, HEALTHBOX_HEALTH_BAR, HEALTHBOX_EXP_BAR, - HEALTHBOX_7, - HEALTHBOX_8, + HEALTHBOX_UNUSED_7, + HEALTHBOX_UNUSED_8, HEALTHBOX_STATUS_ICON, HEALTHBOX_SAFARI_ALL_TEXT, HEALTHBOX_SAFARI_BALLS_TEXT -- cgit v1.2.3 From 11bead31e90aca72f85352b684670a76a5aa7a16 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 19 Oct 2017 15:28:41 +0200 Subject: battle interface is done --- include/battle.h | 6 +++--- include/battle_interface.h | 16 +++++++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index ae7fa3ce4..719db0fa3 100644 --- a/include/battle.h +++ b/include/battle.h @@ -919,9 +919,9 @@ struct BattleHealthboxInfo struct BattleBarInfo { u8 healthboxSpriteId; - u32 maxValue; - u32 currentValue; - bool32 isDoubleBattle; + s32 maxValue; + s32 currentValue; + s32 field_C; s32 field_10; }; diff --git a/include/battle_interface.h b/include/battle_interface.h index 93387cae0..016a6e5c4 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -19,10 +19,20 @@ enum u8 CreateBankHealthboxSprites(u8 bank); u8 CreateSafariPlayerHealthboxSprites(void); -void SetBankHealthboxSpritePos(u8 bank); -void SetHealthboxSpriteVisible(u8 healthboxSpriteId); +void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 field_C); void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); -void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId); +void SetHealthboxSpriteVisible(u8 healthboxSpriteId); +void DestoryHealthboxSprite(u8 healthboxSpriteId); void nullsub_30(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); +void UpdateOamPriorityInAllHealthboxes(u8 priority); +void SetBankHealthboxSpritePos(u8 bank); +void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); +void SwapHpBarsWithHpText(void); +u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart); +void sub_8073C30(u8 taskId); +void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId); +s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3); +u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); +u8 GetHPBarLevel(s16 hp, s16 maxhp); #endif // GUARD_BATTLE_INTERFACE_H -- cgit v1.2.3 From 9ccc472b97b1a7f85703f813665cb4a30f7891b6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 19 Oct 2017 18:25:48 +0200 Subject: label some functions --- include/battle_interface.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle_interface.h b/include/battle_interface.h index 016a6e5c4..dee884374 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -1,6 +1,20 @@ #ifndef GUARD_BATTLE_INTERFACE_H #define GUARD_BATTLE_INTERFACE_H +#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF +#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700 +#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701 +#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702 + +#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B + +#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C +#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714 + +#define TAG_HEALTHBOX_PAL 0xD6FF +#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710 +#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712 + enum { HEALTHBOX_ALL, @@ -23,7 +37,7 @@ void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); void SetHealthboxSpriteVisible(u8 healthboxSpriteId); void DestoryHealthboxSprite(u8 healthboxSpriteId); -void nullsub_30(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); +void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); void UpdateOamPriorityInAllHealthboxes(u8 priority); void SetBankHealthboxSpritePos(u8 bank); void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); -- cgit v1.2.3 From 36035518dcd36c915b8b8f3461881ea813933454 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 20 Oct 2017 00:01:17 +0200 Subject: review battle anim changes --- include/battle.h | 2 +- include/battle_anim.h | 3 +++ include/gba/io_reg.h | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index a36fdec23..a7a26e5eb 100644 --- a/include/battle.h +++ b/include/battle.h @@ -830,7 +830,7 @@ void LoadBattleTextboxAndBackground(void); void LoadBattleEntryBackground(void); void ApplyPlayerChosenFrameToBattleMenu(void); bool8 LoadChosenBattleElement(u8 caseId); -void LoadFittingBackgroundForBattle(void); +void DrawMainBattleBackground(void); void task00_0800F6FC(u8 taskId); // battle_5 diff --git a/include/battle_anim.h b/include/battle_anim.h index 3345d7de3..f38572d19 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -39,6 +39,9 @@ struct BattleAnimBackground #define ANIM_ARGS_COUNT 8 +#define PAN_ATTACKER_PLAYER -64 +#define PAN_ATTACKER_OPPONENT 63 + extern void (*gAnimScriptCallback)(void); extern bool8 gAnimScriptActive; extern u8 gAnimVisualTaskCount; diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 5234e5b6c..f8c89fdbd 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -521,6 +521,8 @@ #define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled #define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled +// BLDCNT + // SOUNDCNT_H #define SOUND_CGB_MIX_QUARTER 0x0000 #define SOUND_CGB_MIX_HALF 0x0001 -- cgit v1.2.3 From cda5c5f925024acca194837007b9f88597ce4db8 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 20 Oct 2017 18:52:01 +0200 Subject: start working on walda phrase --- include/global.h | 12 +++++++++++- include/naming_screen.h | 2 +- include/new_game.h | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index 58a0d79dc..d8547d9c3 100644 --- a/include/global.h +++ b/include/global.h @@ -500,6 +500,16 @@ typedef union // TODO u8 id; } LilycoveLady; +struct WaldaPhrase +{ + u16 field_0; + u16 field_2; + u8 text[16]; + u8 iconId; + u8 patternId; + bool8 patternUnlocked; +}; + struct SaveBlock1 { /*0x00*/ struct Coords16 pos; @@ -586,7 +596,7 @@ struct SaveBlock1 /*0x3B24*/ u8 seen2[52]; /*0x3B58*/ LilycoveLady lilycoveLady; /*0x3B88*/ u8 filler_3B88[0x1E8]; - /*0x3D70*/ u8 babyPhrase[24]; // TODO: convert to a struct + /*0x3D70*/ struct WaldaPhrase waldaPhrase; // sizeof: 0x3D88 }; diff --git a/include/naming_screen.h b/include/naming_screen.h index 55a8e75a3..3d69b834f 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -5,7 +5,7 @@ #define NAMING_SCREEN_BOX 1 #define NAMING_SCREEN_CAUGHT_MON 2 #define NAMING_SCREEN_3 3 -#define NAMING_SCREEN_WANDA 4 +#define NAMING_SCREEN_WALDA 4 void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void)); diff --git a/include/new_game.h b/include/new_game.h index 060279c25..2088d1826 100644 --- a/include/new_game.h +++ b/include/new_game.h @@ -2,6 +2,7 @@ #define GUARD_NEW_GAME_H void WriteUnalignedWord(u32 var, u8 *dataPtr); +u32 ReadUnalignedWord(u8* dataPtr); void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom); void InitPlayerTrainerId(void); void SetDefaultOptions(void); -- cgit v1.2.3 From ccd7e8b3b1d942b2e1289611639f4e9a188cdc20 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 20 Oct 2017 19:24:46 +0200 Subject: battle interface review changes --- include/battle_anim.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index f38572d19..5282916c0 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -39,8 +39,8 @@ struct BattleAnimBackground #define ANIM_ARGS_COUNT 8 -#define PAN_ATTACKER_PLAYER -64 -#define PAN_ATTACKER_OPPONENT 63 +#define PAN_SIDE_PLAYER -64 +#define PAN_SIDE_OPPONENT 63 extern void (*gAnimScriptCallback)(void); extern bool8 gAnimScriptActive; -- cgit v1.2.3 From 8c85a273461557bde4b42630ba3a56701c8f4d81 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 20 Oct 2017 20:39:00 +0200 Subject: walda phrase is done --- include/walda_phrase.h | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 include/walda_phrase.h (limited to 'include') diff --git a/include/walda_phrase.h b/include/walda_phrase.h new file mode 100644 index 000000000..7a711a413 --- /dev/null +++ b/include/walda_phrase.h @@ -0,0 +1,7 @@ +#ifndef GUARD_WALDA_PHRASE_H +#define GUARD_WALDA_PHRASE_H + +void DoWaldaNamingScreen(void); +u16 TryGetWallpaperWithWaldaPhrase(void); + +#endif // GUARD_WALDA_PHRASE_H -- cgit v1.2.3 From 31e0b468c7f859e72e758f3f0fc1051ab887d9a5 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 20 Oct 2017 20:46:26 +0200 Subject: move from raq scene to walda phrase --- include/walda_phrase.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/walda_phrase.h b/include/walda_phrase.h index 7a711a413..3d7701123 100644 --- a/include/walda_phrase.h +++ b/include/walda_phrase.h @@ -1,6 +1,7 @@ #ifndef GUARD_WALDA_PHRASE_H #define GUARD_WALDA_PHRASE_H +u16 TryBufferWaldaPhrase(void); void DoWaldaNamingScreen(void); u16 TryGetWallpaperWithWaldaPhrase(void); -- cgit v1.2.3