mon anim with master

This commit is contained in:
DizzyEggg
2018-01-29 14:40:50 +01:00
57 changed files with 2438 additions and 4761 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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; \

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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[];