diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 2 | ||||
-rw-r--r-- | include/event_object_movement.h | 21 | ||||
-rw-r--r-- | include/field_player_avatar.h | 13 | ||||
-rw-r--r-- | include/global.fieldmap.h | 112 | ||||
-rw-r--r-- | include/naming_screen.h | 36 | ||||
-rw-r--r-- | include/palette.h | 3 |
6 files changed, 106 insertions, 81 deletions
diff --git a/include/battle.h b/include/battle.h index b1677d90a..ce61cb1b4 100644 --- a/include/battle.h +++ b/include/battle.h @@ -815,7 +815,7 @@ void sub_802E424(void); void move_anim_start_t4(u8 a, u8 b, u8 c, u8 d); void nullsub_9(u16); void nullsub_10(int); -void load_gfxc_health_bar(); +void load_gfxc_health_bar(u8); u8 battle_load_something(); void sub_8031F88(u8); void HandleLowHpMusicChange(struct Pokemon *, u8); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 495942656..6105d1774 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -3,6 +3,27 @@ #include "sprite.h" +#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN (1 << 0) +#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE (1 << 1) +#define GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN (1 << 2) +#define GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE (1 << 3) +#define GROUND_EFFECT_FLAG_ICE_REFLECTION (1 << 4) +#define GROUND_EFFECT_FLAG_REFLECTION (1 << 5) +#define GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER (1 << 6) +#define GROUND_EFFECT_FLAG_SAND (1 << 7) +#define GROUND_EFFECT_FLAG_DEEP_SAND (1 << 8) +#define GROUND_EFFECT_FLAG_RIPPLES (1 << 9) +#define GROUND_EFFECT_FLAG_PUDDLE (1 << 10) +#define GROUND_EFFECT_FLAG_SAND_PILE (1 << 11) +#define GROUND_EFFECT_FLAG_LAND_IN_TALL_GRASS (1 << 12) +#define GROUND_EFFECT_FLAG_LAND_IN_LONG_GRASS (1 << 13) +#define GROUND_EFFECT_FLAG_LAND_IN_SHALLOW_WATER (1 << 14) +#define GROUND_EFFECT_FLAG_LAND_IN_DEEP_WATER (1 << 15) +#define GROUND_EFFECT_FLAG_LAND_ON_NORMAL_GROUND (1 << 16) +#define GROUND_EFFECT_FLAG_SHORT_GRASS (1 << 17) +#define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18) +#define GROUND_EFFECT_FLAG_SEAWEED (1 << 19) + extern const u8 gUnknown_0830FD14[]; #define fieldmap_object_cb(setup, callback, table) \ diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 1b25aad24..b62782c8d 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -3,6 +3,17 @@ #include "task.h" +enum { + PLAYER_AVATAR_STATE_NORMAL, + PLAYER_AVATAR_STATE_MACH_BIKE, + PLAYER_AVATAR_STATE_ACRO_BIKE, + PLAYER_AVATAR_STATE_SURFING, + PLAYER_AVATAR_STATE_UNDERWATER, + PLAYER_AVATAR_STATE_FIELD_MOVE, + PLAYER_AVATAR_STATE_FISHING, + PLAYER_AVATAR_STATE_WATERING, +}; + // sub_80587B4 void player_step(u8 a, u16 b, u16 c); u8 ForcedMovement_None(void); @@ -69,7 +80,7 @@ u8 GetPlayerAvatarObjectId(void); void sub_80597E8(void); void sub_80597F4(void); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 a, u8 b); -u8 GetPlayerAvatarGraphicsIdByStateId(u8 a); +u8 GetPlayerAvatarGraphicsIdByStateId(u8); u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerSurfingNorth(void); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 30047c677..d87cd78f4 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -178,37 +178,32 @@ struct MapHeader struct MapObject { /*0x00*/ u32 active:1; - u32 mapobj_bit_1:1; - u32 mapobj_bit_2:1; - u32 mapobj_bit_3:1; - u32 mapobj_bit_4:1; - u32 mapobj_bit_5:1; - u32 mapobj_bit_6:1; - u32 mapobj_bit_7:1; - /*0x01*/ u32 mapobj_bit_8:1; - u32 mapobj_bit_9:1; - u32 mapobj_bit_10:1; - u32 mapobj_bit_11:1; - u32 mapobj_bit_12:1; - u32 mapobj_bit_13:1; - u32 mapobj_bit_14:1; - u32 mapobj_bit_15:1; - /*0x02*/ u32 mapobj_bit_16:1; - u32 mapobj_bit_17:1; - u32 mapobj_bit_18:1; - u32 mapobj_bit_19:1; - u32 mapobj_bit_20:1; - u32 mapobj_bit_21:1; - u32 mapobj_bit_22:1; - u32 mapobj_bit_23:1; - /*0x03*/ u32 mapobj_bit_24:1; - u32 mapobj_bit_25:1; - u32 mapobj_bit_26:1; - u32 mapobj_bit_27:1; - u32 mapobj_bit_28:1; - u32 mapobj_bit_29:1; - u32 mapobj_bit_30:1; - u32 mapobj_bit_31:1; + u32 regularAnimActive:1; + u32 triggerGroundEffectsOnMove:1; + u32 triggerGroundEffectsOnStop:1; + u32 disableCoveringGroundEffects:1; // disables ground effects that cover parts of the object's sprite + u32 landingJump:1; + u32 specialAnimActive:1; + u32 specialAnimFinished:1; + /*0x01*/ u32 frozen:1; + u32 facingDirectionLocked:1; + u32 disableAnim:1; // used to disable forced movement sliding animations (like on ice) + u32 enableAnim:1; + u32 inanimate:1; + u32 invisible:1; + u32 offScreen:1; + u32 trackedByCamera:1; // only set for the player object + /*0x02*/ u32 isPlayer:1; + u32 hasReflection:1; + u32 inShortGrass:1; + u32 inShallowFlowingWater:1; + u32 inSandPile:1; + u32 inHotSprings:1; + u32 hasShadow:1; + u32 spriteAnimPausedBackup:1; + /*0x03*/ u32 spriteAffineAnimPausedBackup:1; + u32 disableJumpLandingGroundEffect:1; + u32 fixedPriority:1; /*0x04*/ u8 spriteId; /*0x05*/ u8 graphicsId; /*0x06*/ u8 animPattern; @@ -216,30 +211,29 @@ struct MapObject /*0x08*/ u8 localId; /*0x09*/ u8 mapNum; /*0x0A*/ u8 mapGroup; - /*0x0B*/ u8 mapobj_unk_0B_0:4; - u8 elevation:4; - /*0x0C*/ struct Coords16 coords1; - /*0x10*/ struct Coords16 coords2; - /*0x14*/ struct Coords16 coords3; - /*0x18*/ u8 mapobj_unk_18:4; //current direction? - /*0x18*/ u8 placeholder18:4; + /*0x0B*/ u8 currentElevation:4; + u8 previousElevation:4; + /*0x0C*/ struct Coords16 initialCoords; + /*0x10*/ struct Coords16 currentCoords; + /*0x14*/ struct Coords16 previousCoords; + /*0x18*/ u8 facingDirection:4; + /*0x18*/ u8 movementDirection:4; /*0x19*/ union __attribute__((packed)) { u8 as_byte; struct __attribute__((packed)) { - u8 x:4; - u8 y:4; - } __attribute((aligned (1))) as_nybbles; - } __attribute((aligned (1))) range; - // /*0x19*/ u8 mapobj_unk_19; - /*0x1A*/ u8 mapobj_unk_1A; - /*0x1B*/ u8 mapobj_unk_1B; - /*0x1C*/ u8 mapobj_unk_1C; + u16 x:4; + u16 y:4; + } as_nybbles; + } range; + /*0x1A*/ u8 fieldEffectSpriteId; + /*0x1B*/ u8 warpArrowSpriteId; + /*0x1C*/ u8 animId; /*0x1D*/ u8 trainerRange_berryTreeId; - /*0x1E*/ u8 mapobj_unk_1E; - /*0x1F*/ u8 mapobj_unk_1F; - /*0x20*/ u8 mapobj_unk_20; - /*0x21*/ u8 mapobj_unk_21; - /*0x22*/ u8 animId; + /*0x1E*/ u8 currentMetatileBehavior; + /*0x1F*/ u8 previousMetatileBehavior; + /*0x20*/ u8 previousMovementDirection; + /*0x21*/ u8 directionSequenceIndex; + /*0x22*/ u8 playerAnimId; /*size = 0x24*/ }; @@ -263,14 +257,14 @@ struct MapObjectGraphicsInfo /*0x20*/ const union AffineAnimCmd *const *affineAnims; }; -#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0) -#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1) -#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2) -#define PLAYER_AVATAR_FLAG_SURFING (1 << 3) -#define PLAYER_AVATAR_FLAG_4 (1 << 4) -#define PLAYER_AVATAR_FLAG_5 (1 << 5) -#define PLAYER_AVATAR_FLAG_6 (1 << 6) -#define PLAYER_AVATAR_FLAG_DASH (1 << 7) +#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0) +#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1) +#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2) +#define PLAYER_AVATAR_FLAG_SURFING (1 << 3) +#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4) +#define PLAYER_AVATAR_FLAG_5 (1 << 5) +#define PLAYER_AVATAR_FLAG_6 (1 << 6) +#define PLAYER_AVATAR_FLAG_DASH (1 << 7) enum { diff --git a/include/naming_screen.h b/include/naming_screen.h index d136417ba..53a56cf28 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -18,14 +18,12 @@ enum struct NamingScreenTemplate { - u8 unk0; + u8 copyExistingString; u8 maxChars; - u8 unk2; - u8 unk3; - u8 unk4; //mode? - u8 unk5; - u8 unk6; - u8 unk7; + u8 iconFunction; + u8 addGenderIcon; + u8 initialPage; + u8 filler[3]; const u8 *title; }; @@ -33,24 +31,24 @@ struct NamingScreenData { /*0x00*/ u8 state; /*0x01*/ u8 templateNum; - /*0x02*/ u16 unk2; + /*0x02*/ u16 nameLeftOffset; /*0x04*/ u16 bg1vOffset; /*0x06*/ u16 bg2vOffset; - /*0x08*/ u16 unk8; - /*0x0A*/ u16 unkA; - /*0x0C*/ u8 unkC; - /*0x0D*/ u8 unkD; + /*0x08*/ u16 bg1Priority; + /*0x0A*/ u16 bg2Priority; + /*0x0C*/ u8 bgToReveal; + /*0x0D*/ u8 bgToHide; /*0x0E*/ u8 currentPage; /*0x0F*/ u8 cursorSpriteId; - /*0x10*/ u8 unk10; + /*0x10*/ u8 pageIndicatorSpriteId; /*0x11*/ u8 textBuffer[0x10]; /*0x21*/ u8 filler21[0x13]; - const struct NamingScreenTemplate *template; + /*0x34*/ const struct NamingScreenTemplate *template; /*0x38*/ u8 *destBuffer; - /*0x3C*/ u16 unk3C; //savedKeyRepeatStartDelay - /*0x3E*/ u16 unk3E; - /*0x40*/ u16 unk40; - /*0x42*/ u32 unk42; + /*0x3C*/ u16 keyRepeatStartDelayCopy; + /*0x3E*/ u16 speciesOrPlayerGender; + /*0x40*/ u16 monGender; + /*0x42*/ u32 monPersonality; /*0x46*/ MainCallback returnCallback; }; @@ -80,6 +78,6 @@ enum INPUT_STATE_ENABLED, }; -void DoNamingScreen(u8 r0, u8 *r1, u16 r2, u16 r3, u32 s0, MainCallback s4); +void DoNamingScreen(u8, u8*, u16, u16, u32, MainCallback); #endif diff --git a/include/palette.h b/include/palette.h index 193773d24..d4e33cce5 100644 --- a/include/palette.h +++ b/include/palette.h @@ -6,6 +6,8 @@ #define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade #define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade +#define FADE_COLOR_WHITE (RGB(31, 31, 31) | 0x8000) + enum { FAST_FADE_IN_FROM_WHITE, @@ -48,7 +50,6 @@ u8 UpdatePaletteFade(void); void ResetPaletteFade(void); void ReadPlttIntoBuffers(void); bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16); -bool8 unref_sub_8073D3C(u32, u8, u8, u8, u16); void unref_sub_8073D84(u8, u32 *); void ResetPaletteStructByUid(u16); void ResetPaletteStruct(u8); |