From a612ef12a0a647fe0614f8003ce39448d46b02ef Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 18 Dec 2017 19:35:50 +0100 Subject: start working on trainer see --- include/field_map_obj.h | 1 + include/pokenav.h | 1 + include/trainer_see.h | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 696d1c2e2..56ff1dba1 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -78,6 +78,7 @@ u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z); void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern); u8 npc_running_behaviour_by_direction(u8 direction); +const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId); // Exported data declarations diff --git a/include/pokenav.h b/include/pokenav.h index 06676610a..4335923c8 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -2,5 +2,6 @@ #define GUARD_POKENAV_H bool8 sub_81D5C18(void); +const u8 *sub_81D62AC(void); #endif //GUARD_POKENAV_H diff --git a/include/trainer_see.h b/include/trainer_see.h index 5da50cfa1..0749e168a 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -4,7 +4,7 @@ struct ApproachingTrainer { u8 mapObjectId; - u8 radius; + u8 radius; // plus 1 u8 field_2; u8 field_3; const u8 *trainerScriptPtr; -- cgit v1.2.3 From 574435698942634f7e1bdf800a62391e6c03b064 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 18 Dec 2017 23:26:44 +0100 Subject: decompile trainer see --- include/field_effect.h | 3 ++- include/field_map_obj.h | 11 ++++++++++- include/field_player_avatar.h | 1 + include/global.fieldmap.h | 2 +- include/map_obj_8097404.h | 2 ++ include/trainer_see.h | 8 ++++---- 6 files changed, 20 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/field_effect.h b/include/field_effect.h index 629ae07c7..772b20d37 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -71,8 +71,9 @@ enum FieldEffectScriptIdx extern u32 gFieldEffectArguments[8]; -u8 FieldEffectStart(u8); +u32 FieldEffectStart(u8); bool8 FieldEffectActiveListContains(u8 id); void sub_80B69DC(void); +void FieldEffectStop(struct Sprite *sprite, u8 id); #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 56ff1dba1..198dd9759 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -60,7 +60,7 @@ void sub_808E82C(u8, u8, u8, s16, s16); void sub_808E7E4(u8, u8, u8); void sub_808E78C(u8, u8, u8, u8); void sub_808E75C(s16, s16); -void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); +void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup); void npc_coords_shift(struct MapObject *, s16, s16); void sub_808EB08(struct MapObject *, s16, s16); void sub_808F254(u8, u8, u8); @@ -79,6 +79,15 @@ u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z); void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern); u8 npc_running_behaviour_by_direction(u8 direction); const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId); +u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction); +u8 GetFaceDirectionAnimId(u32); +u8 GetGoSpeed0AnimId(u32); +u8 sub_80934BC(u32); +bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId); +bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject); +u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject); +void sub_808F23C(const struct MapObject *mapObject, u8 movementType); +void sub_808F208(const struct MapObject *mapObject); // Exported data declarations diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 25b7f2d71..a3c40bc42 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -9,6 +9,7 @@ void PlayerGetDestCoords(s16 *, s16 *); u8 player_get_direction_lower_nybble(void); u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); +void sub_808BCE8(void); void sub_808D074(u8); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index ed5054b7d..bb0837e1d 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -224,7 +224,7 @@ struct MapObject /*0x0C*/ struct Coords16 coords1; /*0x10*/ struct Coords16 coords2; /*0x14*/ struct Coords16 coords3; - /*0x18*/ u8 mapobj_unk_18:4; //current direction? + /*0x18*/ u8 mapobj_unk_18:4; // current direction? /*0x18*/ u8 placeholder18:4; /*0x19*/ union __attribute__((packed)) { u8 as_byte; diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 27ffd18cb..0800b15b0 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -28,5 +28,7 @@ void sub_8097750(struct Sprite *); bool8 sub_8097758(struct Sprite *); void sub_8097FA4(struct MapObject *); void sub_8098044(u8); +void UnfreezeMapObjects(void); +void sub_80974D0(u8 mapObjectId); #endif //GUARD_MAP_OBJ_8097404_H diff --git a/include/trainer_see.h b/include/trainer_see.h index 0749e168a..e61b12e2a 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -8,16 +8,16 @@ struct ApproachingTrainer u8 field_2; u8 field_3; const u8 *trainerScriptPtr; - u8 field_8; + u8 taskId; u8 field_9; u8 field_A; u8 field_B; }; -extern struct ApproachingTrainer gApproachingTrainers[]; +extern struct ApproachingTrainer gApproachingTrainers[2]; void sub_80B4578(struct MapObject *); -u8 sub_80B47BC(void); +u8 GetCurrentApproachingTrainerMapObjectId(void); void sub_8155D78(struct MapObject *); -#endif //GUARD_TRAINER_SEE_H +#endif // GUARD_TRAINER_SEE_H -- cgit v1.2.3 From b7a23353471ade3bffa5108e45b79eb1a6f19a65 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 19 Dec 2017 17:18:44 +0100 Subject: clean up trainer see file --- include/trainer_see.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/trainer_see.h b/include/trainer_see.h index e61b12e2a..b1a48e962 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -5,19 +5,21 @@ struct ApproachingTrainer { u8 mapObjectId; u8 radius; // plus 1 - u8 field_2; - u8 field_3; const u8 *trainerScriptPtr; u8 taskId; - u8 field_9; - u8 field_A; - u8 field_B; }; extern struct ApproachingTrainer gApproachingTrainers[2]; -void sub_80B4578(struct MapObject *); +bool8 CheckForTrainersWantingBattle(void); +void sub_80B4578(struct MapObject *var); +void EndTrainerApproach(void); +void sub_80B45D0(void); +u8 FldEff_ExclamationMarkIcon1(void); +u8 FldEff_ExclamationMarkIcon2(void); +u8 FldEff_HeartIcon(void); u8 GetCurrentApproachingTrainerMapObjectId(void); -void sub_8155D78(struct MapObject *); +u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId); +void sub_80B4808(void); #endif // GUARD_TRAINER_SEE_H -- cgit v1.2.3 From 4abc2eea8aee0efc714df8519533c55fbabae5f1 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 19 Dec 2017 17:33:07 +0100 Subject: ram vars to C files --- include/trainer_see.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include') diff --git a/include/trainer_see.h b/include/trainer_see.h index b1a48e962..847380782 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -9,7 +9,12 @@ struct ApproachingTrainer u8 taskId; }; +extern u16 gUnknown_03006080; +extern u8 gUnknown_03006084[4]; extern struct ApproachingTrainer gApproachingTrainers[2]; +extern u8 gNoOfApproachingTrainers; +extern u8 gUnknown_030060AC; +extern u8 gApproachingTrainerId; bool8 CheckForTrainersWantingBattle(void); void sub_80B4578(struct MapObject *var); -- cgit v1.2.3 From 78f35494a3d7bf66c9101be0fa04b56fa5608494 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 21 Dec 2017 17:51:48 +0100 Subject: fix trainer see pr --- include/field_effect_helpers.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index e80daf3bd..15928eba3 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -12,5 +12,6 @@ // Exported ROM declarations u8 sub_8154228(void); bool8 sub_8155DA0(struct MapObject *); +void sub_8155D78(struct MapObject *); #endif //GUARD_FIELD_EFFECT_HELPERS_H -- cgit v1.2.3