summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/field_effect.h1
-rw-r--r--include/field_player_avatar.h1
-rw-r--r--include/field_specials.h2
-rw-r--r--include/gba/macro.h21
-rw-r--r--include/main.h2
-rw-r--r--include/menu.h2
-rw-r--r--include/naming_screen.h89
-rw-r--r--include/new_menu_helpers.h4
-rw-r--r--include/pokemon_icon.h2
-rw-r--r--include/strings.h3
-rw-r--r--include/text.h7
11 files changed, 126 insertions, 8 deletions
diff --git a/include/field_effect.h b/include/field_effect.h
index 1fdcbe22c..7395270f9 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -78,5 +78,6 @@ void FieldEffectStop(struct Sprite *sprite, u8 id);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
void sub_80B7FC8(void);
void FieldEffectActiveListRemove(u8 id);
+void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index cc4c65448..af602245b 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -34,5 +34,6 @@ void sub_808BCE8(void);
void sub_808D074(u8);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
+u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8);
#endif //GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_specials.h b/include/field_specials.h
index 1f8fbf147..dd72bdd13 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -2,5 +2,7 @@
#define GUARD_FIELD_SPECIALS_H
u8 GetLeadMonIndex(void);
+u8 sub_813B260(void);
+u16 get_unknown_box_id(void);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/gba/macro.h b/include/gba/macro.h
index ad4820bcf..3b35a1946 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -122,6 +122,27 @@
#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32)
+#define DmaClearLarge(dmaNum, dest, size, block, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ DmaFill##bit(dmaNum, 0, _dest, (block)); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaFill##bit(dmaNum, 0, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16)
+
+#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32)
+
#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
{ \
const void *_src = src; \
diff --git a/include/main.h b/include/main.h
index e283d1754..40a2580a2 100644
--- a/include/main.h
+++ b/include/main.h
@@ -60,5 +60,7 @@ void SetSerialCallback(IntrCallback callback);
void InitFlashTimer(void);
void DoSoftReset(void);
void ClearPokemonCrySongs(void);
+void StartTimer1(void);
+void SeedRngAndSetTrainerId(void);
#endif // GUARD_MAIN_H
diff --git a/include/menu.h b/include/menu.h
index 124303570..e5f705cae 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -35,7 +35,7 @@ void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirs
s8 ProcessMenuInputNoWrap_(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
void clear_scheduled_bg_copies_to_vram(void);
-void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str);
+void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str);
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
void sub_8197DF8(u8 windowId, bool8 copyToVram);
diff --git a/include/naming_screen.h b/include/naming_screen.h
index 3d69b834f..b04cb19b6 100644
--- a/include/naming_screen.h
+++ b/include/naming_screen.h
@@ -1,12 +1,89 @@
#ifndef GUARD_NAMING_SCREEN_H
#define GUARD_NAMING_SCREEN_H
-#define NAMING_SCREEN_PLAYER 0
-#define NAMING_SCREEN_BOX 1
-#define NAMING_SCREEN_CAUGHT_MON 2
-#define NAMING_SCREEN_3 3
-#define NAMING_SCREEN_WALDA 4
+#include "main.h"
-void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void));
+#define KBEVENT_NONE 0
+#define KBEVENT_PRESSED_A 5
+#define KBEVENT_PRESSED_B 6
+#define KBEVENT_PRESSED_SELECT 8
+#define KBEVENT_PRESSED_START 9
+
+enum
+{
+ NAMING_SCREEN_PLAYER,
+ NAMING_SCREEN_BOX,
+ NAMING_SCREEN_CAUGHT_MON,
+ NAMING_SCREEN_3,
+ NAMING_SCREEN_WALDA,
+};
+
+struct NamingScreenTemplate
+{
+ u8 copyExistingString;
+ u8 maxChars;
+ u8 iconFunction;
+ u8 addGenderIcon;
+ u8 initialPage;
+ u8 unused;
+ const u8 *title;
+};
+
+struct NamingScreenData {
+ /*0x0*/ u8 tilemapBuffer1[0x800];
+ /*0x800*/ u8 tilemapBuffer2[0x800];
+ /*0x800*/ u8 tilemapBuffer3[0x800];
+ /*0x1800*/ u8 textBuffer[0x10];
+ /*0x1810*/ u8 tileBuffer[0x600];
+ /*0x1E10*/ u8 state;
+ /*0x1E11*/ u8 windows[5];
+ /*0x1E16*/ u16 inputCharBaseXPos;
+ /*0x1E18*/ u16 bg1vOffset;
+ /*0x1E1A*/ u16 bg2vOffset;
+ /*0x1E1C*/ u16 bg1Priority;
+ /*0x1E1E*/ u16 bg2Priority;
+ /*0x1E20*/ u8 bgToReveal;
+ /*0x1E21*/ u8 bgToHide;
+ /*0x1E22*/ u8 currentPage;
+ /*0x1E23*/ u8 cursorSpriteId;
+ /*0x1E24*/ u8 selectBtnFrameSpriteId;
+ /*0x1E25*/ u8 keyRepeatStartDelayCopy;
+ /*0x1E28*/ const struct NamingScreenTemplate *template;
+ /*0x1E2C*/ u8 templateNum;
+ /*0x1E30*/ u8 *destBuffer;
+ /*0x1E34*/ u16 monSpecies;
+ /*0x1E36*/ u16 monGender;
+ /*0x1E38*/ u32 monPersonality;
+ /*0x1E3C*/ MainCallback returnCallback;
+};
+
+enum
+{
+ PAGE_UPPER,
+ PAGE_LOWER,
+ PAGE_OTHERS,
+};
+
+enum
+{
+ MAIN_STATE_BEGIN_FADE_IN,
+ MAIN_STATE_WAIT_FADE_IN,
+ MAIN_STATE_HANDLE_INPUT,
+ MAIN_STATE_MOVE_TO_OK_BUTTON,
+ MAIN_STATE_START_PAGE_SWAP,
+ MAIN_STATE_WAIT_PAGE_SWAP,
+ MAIN_STATE_6,
+ MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE,
+ MAIN_STATE_BEGIN_FADE_OUT,
+};
+
+enum
+{
+ INPUT_STATE_DISABLED,
+ INPUT_STATE_ENABLED,
+ INPUT_STATE_2,
+};
+
+void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback);
#endif // GUARD_NAMING_SCREEN_H
diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h
index dad819c51..4b1e372c2 100644
--- a/include/new_menu_helpers.h
+++ b/include/new_menu_helpers.h
@@ -4,11 +4,13 @@
#include "text.h"
#include "task.h"
+void sub_81971D0(void);
+void sub_8197200(void);
void sub_81973A4(void);
void sub_81973C4(u8, u8);
void sub_819746C(u8 windowId, bool8 copyToVram);
void sub_81973FC(u8, u8);
-u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor);
+u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor);
void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
void sub_8197434(u8 a0, u8 a1);
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index e0a9aa0c5..e7fc81ce4 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -5,9 +5,11 @@ const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
u16 GetUnownLetterByPersonality(u32 personality);
u16 sub_80D2E84(u16 speciesId);
+void sub_80D2F04(void);
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);
+u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, int a7);
#endif // GUARD_POKEMON_ICON_H
diff --git a/include/strings.h b/include/strings.h
index 8af8e629e..806a2e405 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -199,4 +199,7 @@ extern const u8 gText_Frame[];
extern const u8 gText_OptionMenuCancel[];
extern const u8 gText_ButtonMode[];
+extern const u8 gText_MaleSymbol[];
+extern const u8 gText_FemaleSymbol[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/text.h b/include/text.h
index 289c7d2b5..b5fc5b58a 100644
--- a/include/text.h
+++ b/include/text.h
@@ -185,6 +185,13 @@ struct __attribute__((packed)) TextColor
u8 shadowColor;
};
+struct AlignedTextColor // because sometimes it's necessary
+{
+ u8 fgColor;
+ u8 bgColor;
+ u8 shadowColor;
+};
+
extern u8 gStringVar1[];
extern u8 gStringVar2[];
extern u8 gStringVar3[];