summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm.h12
-rw-r--r--include/asm.inc.h8
-rw-r--r--include/field_player_avatar.h4
-rw-r--r--include/global.fieldmap.h33
-rw-r--r--include/map_object_constants.h226
5 files changed, 267 insertions, 16 deletions
diff --git a/include/asm.h b/include/asm.h
index 9e47794f5..dd1955bb2 100644
--- a/include/asm.h
+++ b/include/asm.h
@@ -6,16 +6,16 @@
#include "sprite.h"
#include "asm_fieldmap.h"
-struct UnkInputStruct
+struct FieldInput
{
- u8 input_field_0_0:1;
+ u8 pressedAButton:1;
u8 input_field_0_1:1;
- u8 input_field_0_2:1;
- u8 input_field_0_3:1;
+ u8 pressedStartButton:1;
+ u8 pressedSelectButton:1;
u8 input_field_0_4:1;
u8 input_field_0_5:1;
u8 input_field_0_6:1;
- u8 input_field_0_7:1;
+ u8 pressedBButton:1;
u8 input_field_1_0:1;
u8 input_field_1_1:1;
u8 input_field_1_2:1;
@@ -24,7 +24,7 @@ struct UnkInputStruct
u8 input_field_1_5:1;
u8 input_field_1_6:1;
u8 input_field_1_7:1;
- u8 input_field_2;
+ u8 dpadDirection;
u8 input_field_3;
};
diff --git a/include/asm.inc.h b/include/asm.inc.h
index 64f554ebd..bfc902ffb 100644
--- a/include/asm.inc.h
+++ b/include/asm.inc.h
@@ -145,9 +145,9 @@ void sub_806487C(struct Sprite *sprite, bool8 invisible);
void sub_8064990(u8, u8);
// asm/field_control_avatar.o
-void sub_8067EEC(struct UnkInputStruct *pStruct);
-void process_overworld_input(struct UnkInputStruct *pStruct, u16 keys, u16 heldKeys);
-int sub_8068024(struct UnkInputStruct *pStruct);
+void FieldClearPlayerInput(struct FieldInput *pStruct);
+void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys);
+int sub_8068024(struct FieldInput *pStruct);
u8 *sub_80682A8(struct MapPosition *, u8, u8);
void overworld_poison_timer_set(void);
void prev_quest_postbuffer_cursor_backup_reset(void);
@@ -361,7 +361,7 @@ void MovePlayerOnBike(u8, u16, u16);
void sub_80E5B38(u16 i, u16 c);
u8 sub_80E5DEC(u8);
bool8 player_should_look_direction_be_enforced_upon_movement(void);
-void sub_80E5FCC(int i, int i1);
+void BikeClearState(int i, int i1);
void sub_80E6010(u8 i);
s16 sub_80E6034(void);
void sub_80E6084();
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index b4746f696..f015eb111 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -34,7 +34,7 @@ void SetPlayerAvatarTransitionFlags(u16 a);
// sub_80591F4
void sub_8059204(void);
// player_get_x22
-void player_npc_set_state_and_x22_etc(u8 a, u8 b);
+void PlayerSetAnimId(u8 a, u8 b);
void PlayerGoSpeed0(u8 a);
void sub_80593C4(u8 a);
void npc_use_some_d2s(u8 a);
@@ -46,7 +46,7 @@ void PlayerTurnInPlace(u8 a);
void PlayerJumpLedge(u8 a);
void sub_80594C0(void);
void sub_8059504(u8 a);
-void sub_805951C(u8 a);
+void PlayerStartWheelie(u8 a);
void sub_8059534(u8 a);
void sub_805954C(u8 a);
void sub_8059570(u8 a);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index eac2c0cf1..5c498de49 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -196,7 +196,7 @@ struct MapObject
/*0x0C*/ struct Coords16 coords1;
/*0x10*/ struct Coords16 coords2;
/*0x14*/ struct Coords16 coords3;
- /*0x18*/ u8 mapobj_unk_18:4;
+ /*0x18*/ u8 mapobj_unk_18:4; //current direction?
/*0x18*/ u8 placeholder18:4;
/*0x19*/ u8 mapobj_unk_19;
/*0x1A*/ u8 mapobj_unk_1A;
@@ -207,7 +207,7 @@ struct MapObject
/*0x1F*/ u8 mapobj_unk_1F;
/*0x20*/ u8 mapobj_unk_20;
/*0x21*/ u8 mapobj_unk_21;
- /*0x22*/ u8 mapobj_unk_22;
+ /*0x22*/ u8 animId;
/*size = 0x24*/
};
@@ -302,6 +302,31 @@ struct MapObjectGraphicsInfo
#define PLAYER_AVATAR_FLAG_6 (1 << 6)
#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
+enum
+{
+ ACRO_BIKE_NORMAL,
+ ACRO_BIKE_TURNING,
+ ACRO_BIKE_WHEELIE_STANDING,
+ ACRO_BIKE_BUNNY_HOP,
+ ACRO_BIKE_WHEELIE_MOVING,
+ ACRO_BIKE_STATE5,
+ ACRO_BIKE_STATE6,
+};
+
+enum
+{
+ DIR_NONE,
+ DIR_SOUTH,
+ DIR_NORTH,
+ DIR_WEST,
+ DIR_EAST,
+};
+
+enum
+{
+ COLLISION_LEDGE_JUMP = 6
+};
+
struct PlayerAvatar /* 0x202E858 */
{
/*0x00*/ u8 flags;
@@ -312,9 +337,9 @@ struct PlayerAvatar /* 0x202E858 */
/*0x05*/ u8 mapObjectId;
/*0x06*/ u8 unk6;
/*0x07*/ u8 gender;
- u8 unk8;
+ u8 acroBikeState;
u8 unk9;
- u8 unkA;
+ u8 bikeFrameCounter;
u8 unkB;
u32 unkC;
u32 unk10;
diff --git a/include/map_object_constants.h b/include/map_object_constants.h
new file mode 100644
index 000000000..440b6e97e
--- /dev/null
+++ b/include/map_object_constants.h
@@ -0,0 +1,226 @@
+#ifndef GUARD_MAP_OBJECT_CONSTANTS_H
+#define GUARD_MAP_OBJECT_CONSTANTS_H
+
+enum
+{
+ MAP_OBJ_GFX_BRENDAN_NORMAL,
+ MAP_OBJ_GFX_BRENDAN_MACH_BIKE,
+ MAP_OBJ_GFX_BRENDAN_SURFING,
+ MAP_OBJ_GFX_BRENDAN_FIELD_MOVE,
+ MAP_OBJ_GFX_QUINTY_PLUMP,
+ MAP_OBJ_GFX_LITTLE_BOY_1,
+ MAP_OBJ_GFX_LITTLE_GIRL_1,
+ MAP_OBJ_GFX_BOY_1,
+ MAP_OBJ_GFX_GIRL_1,
+ MAP_OBJ_GFX_BOY_2,
+ MAP_OBJ_GFX_GIRL_2,
+ MAP_OBJ_GFX_LITTLE_BOY_2,
+ MAP_OBJ_GFX_LITTLE_GIRL_2,
+ MAP_OBJ_GFX_BOY_3,
+ MAP_OBJ_GFX_GIRL_3,
+ MAP_OBJ_GFX_BOY_4,
+ MAP_OBJ_GFX_WOMAN_1,
+ MAP_OBJ_GFX_FAT_MAN,
+ MAP_OBJ_GFX_WOMAN_2,
+ MAP_OBJ_GFX_MAN_1,
+ MAP_OBJ_GFX_WOMAN_3,
+ MAP_OBJ_GFX_OLD_MAN_1,
+ MAP_OBJ_GFX_OLD_WOMAN_1,
+ MAP_OBJ_GFX_MAN_2,
+ MAP_OBJ_GFX_WOMAN_4,
+ MAP_OBJ_GFX_MAN_3,
+ MAP_OBJ_GFX_WOMAN_5,
+ MAP_OBJ_GFX_COOK,
+ MAP_OBJ_GFX_WOMAN_6,
+ MAP_OBJ_GFX_OLD_MAN_2,
+ MAP_OBJ_GFX_OLD_WOMAN_2,
+ MAP_OBJ_GFX_CAMPER,
+ MAP_OBJ_GFX_PICNICKER,
+ MAP_OBJ_GFX_MAN_4,
+ MAP_OBJ_GFX_WOMAN_7,
+ MAP_OBJ_GFX_YOUNGSTER,
+ MAP_OBJ_GFX_BUG_CATCHER,
+ MAP_OBJ_GFX_PSYCHIC_M,
+ MAP_OBJ_GFX_SCHOOL_KID_M,
+ MAP_OBJ_GFX_MANIAC,
+ MAP_OBJ_GFX_HEX_MANIAC,
+ MAP_OBJ_GFX_WOMAN_8,
+ MAP_OBJ_GFX_SWIMMER_M,
+ MAP_OBJ_GFX_SWIMMER_F,
+ MAP_OBJ_GFX_BLACK_BELT,
+ MAP_OBJ_GFX_BEAUTY,
+ MAP_OBJ_GFX_SCIENTIST_1,
+ MAP_OBJ_GFX_LASS,
+ MAP_OBJ_GFX_GENTLEMAN,
+ MAP_OBJ_GFX_SAILOR,
+ MAP_OBJ_GFX_FISHERMAN,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ MAP_OBJ_GFX_TUBER_F,
+ MAP_OBJ_GFX_TUBER_M,
+ MAP_OBJ_GFX_HIKER,
+ MAP_OBJ_GFX_CYCLING_TRIATHLETE_M,
+ MAP_OBJ_GFX_CYCLING_TRIATHLETE_F,
+ MAP_OBJ_GFX_NURSE,
+ MAP_OBJ_GFX_ITEM_BALL,
+ MAP_OBJ_GFX_BERRY_TREE,
+ MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES,
+ MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES,
+ MAP_OBJ_GFX_BRENDAN_ACRO_BIKE,
+ MAP_OBJ_GFX_PROF_BIRCH,
+ MAP_OBJ_GFX_MAN_5,
+ MAP_OBJ_GFX_MAN_6,
+ MAP_OBJ_GFX_REPORTER_M,
+ MAP_OBJ_GFX_REPORTER_F,
+ MAP_OBJ_GFX_BARD,
+ MAP_OBJ_GFX_HIPSTER,
+ MAP_OBJ_GFX_TRADER,
+ MAP_OBJ_GFX_STORYTELLER,
+ MAP_OBJ_GFX_GIDDY,
+ MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1,
+ MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2,
+ MAP_OBJ_GFX_UNUSED_NATU_DOLL,
+ MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL,
+ MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL,
+ MAP_OBJ_GFX_UNUSED_WOOPER_DOLL,
+ MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL,
+ MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL,
+ MAP_OBJ_GFX_CUTTABLE_TREE,
+ MAP_OBJ_GFX_MART_EMPLOYEE,
+ MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN,
+ MAP_OBJ_GFX_TEALA,
+ MAP_OBJ_GFX_BREAKABLE_ROCK,
+ MAP_OBJ_GFX_PUSHABLE_BOULDER,
+ MAP_OBJ_GFX_MR_BRINEYS_BOAT,
+ MAP_OBJ_GFX_MAY_NORMAL,
+ MAP_OBJ_GFX_MAY_MACH_BIKE,
+ MAP_OBJ_GFX_MAY_ACRO_BIKE,
+ MAP_OBJ_GFX_MAY_SURFING,
+ MAP_OBJ_GFX_MAY_FIELD_MOVE,
+ MAP_OBJ_GFX_TRUCK,
+ MAP_OBJ_GFX_MACHOKE_CARRYING_BOX,
+ MAP_OBJ_GFX_MACHOKE_FACING_AWAY,
+ MAP_OBJ_GFX_BIRCHS_BAG,
+ MAP_OBJ_GFX_POOCHYENA,
+ MAP_OBJ_GFX_ARTIST,
+ MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL,
+ MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE,
+ MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE,
+ MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING,
+ MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE,
+ MAP_OBJ_GFX_RIVAL_MAY_NORMAL,
+ MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE,
+ MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE,
+ MAP_OBJ_GFX_RIVAL_MAY_SURFING,
+ MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE,
+ MAP_OBJ_GFX_CAMERAMAN,
+ MAP_OBJ_GFX_BRENDAN_UNDERWATER,
+ MAP_OBJ_GFX_MAY_UNDERWATER,
+ MAP_OBJ_GFX_MOVING_BOX,
+ MAP_OBJ_GFX_CABLE_CAR,
+ MAP_OBJ_GFX_SCIENTIST_2,
+ MAP_OBJ_GFX_MAN_7,
+ MAP_OBJ_GFX_AQUA_MEMBER_M,
+ MAP_OBJ_GFX_AQUA_MEMBER_F,
+ MAP_OBJ_GFX_MAGMA_MEMBER_M,
+ MAP_OBJ_GFX_MAGMA_MEMBER_F,
+ MAP_OBJ_GFX_SIDNEY,
+ MAP_OBJ_GFX_PHOEBE,
+ MAP_OBJ_GFX_GLACIA,
+ MAP_OBJ_GFX_DRAKE,
+ MAP_OBJ_GFX_ROXANNE,
+ MAP_OBJ_GFX_BRAWLY,
+ MAP_OBJ_GFX_WATTSON,
+ MAP_OBJ_GFX_FLANNERY,
+ MAP_OBJ_GFX_NORMAN,
+ MAP_OBJ_GFX_WINONA,
+ MAP_OBJ_GFX_LIZA,
+ MAP_OBJ_GFX_TATE,
+ MAP_OBJ_GFX_WALLACE,
+ MAP_OBJ_GFX_STEVEN,
+ MAP_OBJ_GFX_WALLY,
+ MAP_OBJ_GFX_LITTLE_BOY_3,
+ MAP_OBJ_GFX_BRENDAN_FISHING,
+ MAP_OBJ_GFX_MAY_FISHING,
+ MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN,
+ MAP_OBJ_GFX_SS_TIDAL,
+ MAP_OBJ_GFX_SUBMARINE_SHADOW,
+ MAP_OBJ_GFX_PICHU_DOLL,
+ MAP_OBJ_GFX_PIKACHU_DOLL,
+ MAP_OBJ_GFX_MARILL_DOLL,
+ MAP_OBJ_GFX_TOGEPI_DOLL,
+ MAP_OBJ_GFX_CYNDAQUIL_DOLL,
+ MAP_OBJ_GFX_CHIKORITA_DOLL,
+ MAP_OBJ_GFX_TOTODILE_DOLL,
+ MAP_OBJ_GFX_JIGGLYPUFF_DOLL,
+ MAP_OBJ_GFX_MEOWTH_DOLL,
+ MAP_OBJ_GFX_CLEFAIRY_DOLL,
+ MAP_OBJ_GFX_DITTO_DOLL,
+ MAP_OBJ_GFX_SMOOCHUM_DOLL,
+ MAP_OBJ_GFX_TREECKO_DOLL,
+ MAP_OBJ_GFX_TORCHIC_DOLL,
+ MAP_OBJ_GFX_MUDKIP_DOLL,
+ MAP_OBJ_GFX_DUSKULL_DOLL,
+ MAP_OBJ_GFX_WYNAUT_DOLL,
+ MAP_OBJ_GFX_BALTOY_DOLL,
+ MAP_OBJ_GFX_KECLEON_DOLL,
+ MAP_OBJ_GFX_AZURILL_DOLL,
+ MAP_OBJ_GFX_SKITTY_DOLL,
+ MAP_OBJ_GFX_SWABLU_DOLL,
+ MAP_OBJ_GFX_GULPIN_DOLL,
+ MAP_OBJ_GFX_LOTAD_DOLL,
+ MAP_OBJ_GFX_SEEDOT_DOLL,
+ MAP_OBJ_GFX_PIKA_CUSHION,
+ MAP_OBJ_GFX_ROUND_CUSHION,
+ MAP_OBJ_GFX_KISS_CUSHION,
+ MAP_OBJ_GFX_ZIGZAG_CUSHION,
+ MAP_OBJ_GFX_SPIN_CUSHION,
+ MAP_OBJ_GFX_DIAMOND_CUSHION,
+ MAP_OBJ_GFX_BALL_CUSHION,
+ MAP_OBJ_GFX_GRASS_CUSHION,
+ MAP_OBJ_GFX_FIRE_CUSHION,
+ MAP_OBJ_GFX_WATER_CUSHION,
+ MAP_OBJ_GFX_BIG_SNORLAX_DOLL,
+ MAP_OBJ_GFX_BIG_RHYDON_DOLL,
+ MAP_OBJ_GFX_BIG_LAPRAS_DOLL,
+ MAP_OBJ_GFX_BIG_VENUSAUR_DOLL,
+ MAP_OBJ_GFX_BIG_CHARIZARD_DOLL,
+ MAP_OBJ_GFX_BIG_BLASTOISE_DOLL,
+ MAP_OBJ_GFX_BIG_WAILMER_DOLL,
+ MAP_OBJ_GFX_BIG_REGIROCK_DOLL,
+ MAP_OBJ_GFX_BIG_REGICE_DOLL,
+ MAP_OBJ_GFX_BIG_REGISTEEL_DOLL,
+ MAP_OBJ_GFX_LATIAS,
+ MAP_OBJ_GFX_LATIOS,
+ MAP_OBJ_GFX_BOY_5,
+ MAP_OBJ_GFX_CONTEST_JUDGE,
+ MAP_OBJ_GFX_BRENDAN_WATERING,
+ MAP_OBJ_GFX_MAY_WATERING,
+ MAP_OBJ_GFX_BRENDAN_DECORATING,
+ MAP_OBJ_GFX_MAY_DECORATING,
+ MAP_OBJ_GFX_ARCHIE,
+ MAP_OBJ_GFX_MAXIE,
+ MAP_OBJ_GFX_KYOGRE_1,
+ MAP_OBJ_GFX_GROUDON_1,
+ MAP_OBJ_GFX_FOSSIL,
+ MAP_OBJ_GFX_REGIROCK,
+ MAP_OBJ_GFX_REGICE,
+ MAP_OBJ_GFX_REGISTEEL,
+ MAP_OBJ_GFX_SKITTY,
+ MAP_OBJ_GFX_KECLEON_1,
+ MAP_OBJ_GFX_KYOGRE_2,
+ MAP_OBJ_GFX_GROUDON_2,
+ MAP_OBJ_GFX_RAYQUAZA,
+ MAP_OBJ_GFX_ZIGZAGOON,
+ MAP_OBJ_GFX_PIKACHU,
+ MAP_OBJ_GFX_AZUMARILL,
+ MAP_OBJ_GFX_WINGULL,
+ MAP_OBJ_GFX_KECLEON_2,
+ MAP_OBJ_GFX_TUBER_M_SWIMMING,
+ MAP_OBJ_GFX_AZURILL,
+ MAP_OBJ_GFX_MOM,
+ MAP_OBJ_GFX_LINK_BRENDAN,
+ MAP_OBJ_GFX_LINK_MAY,
+};
+
+#endif // GUARD_MAP_OBJECT_CONSTANTS_H \ No newline at end of file