From 63dd0ea397ff01787753f182541ed8324f2d498b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Sep 2017 08:35:16 -0400 Subject: Spawn source files for Field Map Obj --- include/field_map_obj.h | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 include/field_map_obj.h (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h new file mode 100644 index 000000000..ebc445794 --- /dev/null +++ b/include/field_map_obj.h @@ -0,0 +1,10 @@ +#ifndef POKEEMERALD_FIELD_MAP_OBJ_H +#define POKEEMERALD_FIELD_MAP_OBJ_H + +// Exported struct declarations + +// Exported RAM declarations + +// Exported ROM declarations + +#endif //POKEEMERALD_FIELD_MAP_OBJ_H -- cgit v1.2.3 From 83dbdc031856410b8b1b9154900cfcb5c069ec46 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Sep 2017 08:46:47 -0400 Subject: npc_clear_ids_and_state --- include/global.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include') diff --git a/include/global.h b/include/global.h index c43b57e03..f9c5f68be 100644 --- a/include/global.h +++ b/include/global.h @@ -9,6 +9,11 @@ // to help in decompiling #define asm_comment(x) asm volatile("@ -- " x " -- ") +#ifdef __APPLE__ +void memset(void *, int, size_t); +void memcpy(void *, const void *, size_t); +#endif // __APPLE__ + #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) #define POKEMON_NAME_LENGTH 10 -- cgit v1.2.3 From f677873d07dddd9eb43f1a9070bf9b2ac5f61749 Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 09:25:16 -0400 Subject: npcs_clear_ids_and_state --- include/field_map_obj.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index ebc445794..e40f09062 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -5,6 +5,8 @@ // Exported RAM declarations +extern struct MapObject gUnknown_02037350[16]; + // Exported ROM declarations #endif //POKEEMERALD_FIELD_MAP_OBJ_H -- cgit v1.2.3 From a08f11cab32bf4e2557f33fd275ec8c7b4f165c9 Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 09:29:59 -0400 Subject: sub_808D438 --- include/field_map_obj.h | 2 ++ include/field_player_avatar.h | 10 ++++++++++ include/rom4.h | 7 +++++++ 3 files changed, 19 insertions(+) create mode 100644 include/field_player_avatar.h create mode 100644 include/rom4.h (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index e40f09062..30490d4c6 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -9,4 +9,6 @@ extern struct MapObject gUnknown_02037350[16]; // Exported ROM declarations +void sub_808D438(void); + #endif //POKEEMERALD_FIELD_MAP_OBJ_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h new file mode 100644 index 000000000..8438add26 --- /dev/null +++ b/include/field_player_avatar.h @@ -0,0 +1,10 @@ +// +// Created by Scott Norton on 9/6/17. +// + +#ifndef POKEEMERALD_FIELD_PLAYER_AVATAR_H +#define POKEEMERALD_FIELD_PLAYER_AVATAR_H + +void ClearPlayerAvatarInfo(void); + +#endif //POKEEMERALD_FIELD_PLAYER_AVATAR_H diff --git a/include/rom4.h b/include/rom4.h new file mode 100644 index 000000000..956160afb --- /dev/null +++ b/include/rom4.h @@ -0,0 +1,7 @@ + +#ifndef POKEEMERALD_ROM4_H +#define POKEEMERALD_ROM4_H + +void strange_npc_table_clear(void); + +#endif //POKEEMERALD_ROM4_H -- cgit v1.2.3 From 368b0f9ee8500c5f15d511c827d8b59795fab82b Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 09:38:38 -0400 Subject: sub_808D450 --- include/field_map_obj.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 30490d4c6..d92b28f8c 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -11,4 +11,8 @@ extern struct MapObject gUnknown_02037350[16]; void sub_808D438(void); +// Exported data declarations + +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; + #endif //POKEEMERALD_FIELD_MAP_OBJ_H -- cgit v1.2.3 From ea9dabdfab6d2a28d9119c2c23db43903ad4ecae Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 09:49:51 -0400 Subject: TryGetFieldObjectIdByLocalIdAndMap --- include/field_map_obj.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index d92b28f8c..cb6eceb69 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -10,6 +10,8 @@ extern struct MapObject gUnknown_02037350[16]; // Exported ROM declarations void sub_808D438(void); +u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8); +bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); // Exported data declarations -- cgit v1.2.3 From f15191bfc28effef4155b26186bd4236182b88aa Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 09:52:31 -0400 Subject: GetFieldObjectIdByXY --- include/field_map_obj.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index cb6eceb69..3100f72ff 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -12,6 +12,7 @@ extern struct MapObject gUnknown_02037350[16]; void sub_808D438(void); u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8); bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); +u8 GetFieldObjectIdByXY(s16, s16); // Exported data declarations -- cgit v1.2.3 From 1087d1c8227fbcdb768bc96b96c969dd2c9cb598 Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 10:48:51 -0400 Subject: GetFieldObjectIdByLocalIdAndMapInternal; rename gUnknown_02037350 to gMapObjects --- include/field_map_obj.h | 2 -- include/global.fieldmap.h | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 3100f72ff..93a90d2c8 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -5,8 +5,6 @@ // Exported RAM declarations -extern struct MapObject gUnknown_02037350[16]; - // Exported ROM declarations void sub_808D438(void); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 4029132e8..3e0c7729a 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -1,6 +1,8 @@ #ifndef GUARD_GLOBAL_FIELDMAP_H #define GUARD_GLOBAL_FIELDMAP_H +#define NUM_FIELD_OBJECTS 16 + enum { CONNECTION_SOUTH = 1, @@ -381,7 +383,7 @@ struct Camera s32 y; }; -extern struct MapObject gMapObjects[]; +extern struct MapObject gMapObjects[NUM_FIELD_OBJECTS]; extern u8 gSelectedMapObject; extern struct MapHeader gMapHeader; extern struct PlayerAvatar gPlayerAvatar; -- cgit v1.2.3 From 9498dfa71c811b09f319bc9c9656c08f3182c9dc Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 14:25:17 -0400 Subject: InitFieldObjectStateFromTemplate (nonmatching, same as ruby) --- include/field_map_obj.h | 1 + include/global.fieldmap.h | 3 ++- include/global.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 93a90d2c8..3381d847b 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -11,6 +11,7 @@ void sub_808D438(void); u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8); bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); u8 GetFieldObjectIdByXY(s16, s16); +void FieldObjectSetDirection(struct MapObject *, u8); // Exported data declarations diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 3e0c7729a..b0a36aa55 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -226,7 +226,8 @@ struct MapObject /*0x14*/ struct Coords16 coords3; /*0x18*/ u8 mapobj_unk_18:4; //current direction? /*0x18*/ u8 placeholder18:4; - /*0x19*/ u8 mapobj_unk_19; + /*0x19*/ u8 mapobj_unk_19:4; + /*0x19*/ u8 mapobj_unk_19b:4; /*0x1A*/ u8 mapobj_unk_1A; /*0x1B*/ u8 mapobj_unk_1B; /*0x1C*/ u8 mapobj_unk_1C; diff --git a/include/global.h b/include/global.h index f9c5f68be..0c0f86470 100644 --- a/include/global.h +++ b/include/global.h @@ -8,6 +8,7 @@ // to help in decompiling #define asm_comment(x) asm volatile("@ -- " x " -- ") +#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #ifdef __APPLE__ void memset(void *, int, size_t); -- cgit v1.2.3 From 6448563ede13d51682cbf1988a2072291f3b3df0 Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 16:14:55 -0400 Subject: unref_sub_808D77C --- include/rom_818CFC8.h | 11 +++++++++++ include/rom_81BE66C.h | 10 ++++++++++ 2 files changed, 21 insertions(+) create mode 100644 include/rom_818CFC8.h create mode 100644 include/rom_81BE66C.h (limited to 'include') diff --git a/include/rom_818CFC8.h b/include/rom_818CFC8.h new file mode 100644 index 000000000..9b6f96893 --- /dev/null +++ b/include/rom_818CFC8.h @@ -0,0 +1,11 @@ +// +// Created by Scott Norton on 9/6/17. +// + +#ifndef POKEEMERALD_ROM_818CFC8_H +#define POKEEMERALD_ROM_818CFC8_H + +bool8 InBattlePyramid(void); +u8 sub_81AAA40(void); + +#endif //POKEEMERALD_ROM_818CFC8_H diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h new file mode 100644 index 000000000..d92c500d6 --- /dev/null +++ b/include/rom_81BE66C.h @@ -0,0 +1,10 @@ +// +// Created by Scott Norton on 9/6/17. +// + +#ifndef POKEEMERALD_ROM_81BE66C_H +#define POKEEMERALD_ROM_81BE66C_H + +bool32 InTrainerHill(void); + +#endif //POKEEMERALD_ROM_81BE66C_H -- cgit v1.2.3 From e0216d60459fac28bf6759159a4c4cfa007bf6c2 Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 6 Sep 2017 18:26:37 -0400 Subject: unref_sub_808D958 --- include/field_map_obj.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 3381d847b..6ca6b4103 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -5,6 +5,8 @@ // Exported RAM declarations + + // Exported ROM declarations void sub_808D438(void); @@ -12,6 +14,10 @@ u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8); bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); u8 GetFieldObjectIdByXY(s16, s16); void FieldObjectSetDirection(struct MapObject *, u8); +u8 GetFieldObjectIdByXY(s16, s16); +u8 sub_808D4F4(void); +void RemoveFieldObject(struct MapObject *); +void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8); // Exported data declarations -- cgit v1.2.3 From b79e3af0a8aaed5528e57c965101aa4c0b59bad1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Sep 2017 20:28:36 -0400 Subject: SpawnFieldObjectInternal --- include/field_ground_effect.h | 15 +++++++++++++++ include/field_map_obj.h | 5 +++++ 2 files changed, 20 insertions(+) create mode 100644 include/field_ground_effect.h (limited to 'include') diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h new file mode 100644 index 000000000..2b93273db --- /dev/null +++ b/include/field_ground_effect.h @@ -0,0 +1,15 @@ +// +// Created by scott on 9/6/2017. +// + +#ifndef POKEEMERALD_FIELD_GROUND_EFFECT_H +#define POKEEMERALD_FIELD_GROUND_EFFECT_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); + +#endif //POKEEMERALD_FIELD_GROUND_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 6ca6b4103..6ddff4901 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -18,6 +18,11 @@ u8 GetFieldObjectIdByXY(s16, s16); u8 sub_808D4F4(void); void RemoveFieldObject(struct MapObject *); void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8); +void npc_load_two_palettes__no_record(u16, u8); +void npc_load_two_palettes__and_record(u16, u8); +void sub_808EAB0(u16, u8); +void sub_8092FF0(s16, s16, s16 *, s16 *); +u8 FieldObjectDirectionToImageAnimId(u8); // Exported data declarations -- cgit v1.2.3 From f7742a68ae57ffa9e7b965c6cc816f7977b9e467 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 14:31:23 -0400 Subject: AddPseudoFieldObject --- include/malloc.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/malloc.h b/include/malloc.h index bd870ede3..b3216b05c 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -1,6 +1,10 @@ #ifndef GUARD_MALLOC_H #define GUARD_MALLOC_H +#define malloc Alloc +#define calloc AllocZeroed +#define free Free + void *Alloc(u32 size); void *AllocZeroed(u32 size); void Free(void *pointer); -- cgit v1.2.3 From 64ebd9b4fb54fae34a8f7cebb14588b89693d4a3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 15:50:49 -0400 Subject: sprite_new --- include/field_ground_effect.h | 1 + include/field_map_obj.h | 1 + include/map_obj_8097404.h | 15 +++++++++++++++ 3 files changed, 17 insertions(+) create mode 100644 include/map_obj_8097404.h (limited to 'include') diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index 2b93273db..0c90f50dc 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -11,5 +11,6 @@ // Exported ROM declarations void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); +void InitObjectPriorityByZCoord(struct Sprite *, u8); #endif //POKEEMERALD_FIELD_GROUND_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 6ddff4901..40f94ccab 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -23,6 +23,7 @@ void npc_load_two_palettes__and_record(u16, u8); void sub_808EAB0(u16, u8); void sub_8092FF0(s16, s16, s16 *, s16 *); u8 FieldObjectDirectionToImageAnimId(u8); +void sub_80930E0(s16 *, s16 *, u8, u8); // Exported data declarations diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h new file mode 100644 index 000000000..6296febe4 --- /dev/null +++ b/include/map_obj_8097404.h @@ -0,0 +1,15 @@ +// +// Created by scott on 9/7/2017. +// + +#ifndef POKEEMERALD_MAP_OBJ_8097404_H +#define POKEEMERALD_MAP_OBJ_8097404_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void sub_8097AC8(struct Sprite *); + +#endif //POKEEMERALD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 341a4735bc3e702104574055b97f1d691668bc14 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 16:09:59 -0400 Subject: RemoveFieldObjectsOutsideView --- include/rom4.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'include') diff --git a/include/rom4.h b/include/rom4.h index 956160afb..655ce3fde 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -2,6 +2,28 @@ #ifndef POKEEMERALD_ROM4_H #define POKEEMERALD_ROM4_H +struct UnkPlayerStruct +{ + u8 player_field_0; + u8 player_field_1; +}; + +struct LinkPlayerMapObject +{ + u8 active; + u8 linkPlayerId; + u8 mapObjId; + u8 mode; +}; + +struct UCoords32 +{ + u32 x, y; +}; + + +extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; + void strange_npc_table_clear(void); #endif //POKEEMERALD_ROM4_H -- cgit v1.2.3 From de8ef5e12599098abd71c97f654192f6a8cbe900 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 19:28:46 -0400 Subject: sub_808E1B8 --- include/field_effect_helpers.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 include/field_effect_helpers.h (limited to 'include') diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h new file mode 100644 index 000000000..673d59139 --- /dev/null +++ b/include/field_effect_helpers.h @@ -0,0 +1,15 @@ +// +// Created by scott on 9/7/2017. +// + +#ifndef POKEEMERALD_FIELD_EFFECT_HELPERS_H +#define POKEEMERALD_FIELD_EFFECT_HELPERS_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +u8 sub_8154228(void); + +#endif //POKEEMERALD_FIELD_EFFECT_HELPERS_H -- cgit v1.2.3 From 11786cc325937ce4c0a37b3db40df26dcd785018 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 19:45:30 -0400 Subject: sub_808E38C --- include/field_map_obj.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 40f94ccab..3e7bdf932 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -14,16 +14,22 @@ u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8); bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); u8 GetFieldObjectIdByXY(s16, s16); void FieldObjectSetDirection(struct MapObject *, u8); -u8 GetFieldObjectIdByXY(s16, s16); u8 sub_808D4F4(void); -void RemoveFieldObject(struct MapObject *); void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8); void npc_load_two_palettes__no_record(u16, u8); void npc_load_two_palettes__and_record(u16, u8); +void sub_808E16C(s16, s16); void sub_808EAB0(u16, u8); void sub_8092FF0(s16, s16, s16 *, s16 *); u8 FieldObjectDirectionToImageAnimId(u8); void sub_80930E0(s16 *, s16 *, u8, u8); +void FieldObjectClearAnim(struct MapObject *); +void SpawnFieldObjectsInView(s16, s16); +u8 sprite_new(u8, u8, s16, s16, u8, u8); +u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8); +u8 show_sprite(u8, u8, u8); +u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8); +u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); // Exported data declarations -- cgit v1.2.3 From f8e8adf82ec56e986ece7a5eb6de87977ce2f506 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 20:04:59 -0400 Subject: SetPlayerAvatarFieldObjectIdAndObjectId --- include/field_player_avatar.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 8438add26..5e2f0822c 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -6,5 +6,7 @@ #define POKEEMERALD_FIELD_PLAYER_AVATAR_H void ClearPlayerAvatarInfo(void); +void SetPlayerAvatarExtraStateTransition(u8, u8); +u8 GetPlayerAvatarGenderByGraphicsId(u8); #endif //POKEEMERALD_FIELD_PLAYER_AVATAR_H -- cgit v1.2.3 From a87b35f9a73c09994bbe389fc73299b185db1fac Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 21:04:32 -0400 Subject: FieldObjectSetGraphicsId --- include/field_map_obj.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 3e7bdf932..14845b6d9 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -18,6 +18,7 @@ u8 sub_808D4F4(void); void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8); void npc_load_two_palettes__no_record(u16, u8); void npc_load_two_palettes__and_record(u16, u8); +void pal_patch_for_npc(u16, u8); void sub_808E16C(s16, s16); void sub_808EAB0(u16, u8); void sub_8092FF0(s16, s16, s16 *, s16 *); @@ -30,6 +31,8 @@ u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8); u8 show_sprite(u8, u8, u8); u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); +void sub_8093038(s16, s16, s16 *, s16 *); +void CameraObjectReset1(void); // Exported data declarations -- cgit v1.2.3 From ad99377734e1f982a347e33da60c82bf1120c2f3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Sep 2017 21:17:55 -0400 Subject: unref_sub_808E504 --- include/field_map_obj.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 14845b6d9..7b0905c93 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -33,6 +33,7 @@ u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); +void FieldObjectSetGraphicsId(struct MapObject *, u8); // Exported data declarations -- cgit v1.2.3 From ddcce8c3bc831023894191ceac058b8f2fe31ced Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 8 Sep 2017 13:41:55 -0400 Subject: FieldObjectTurn --- include/field_map_obj.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 7b0905c93..34e8d4ac0 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -34,6 +34,8 @@ u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); void FieldObjectSetGraphicsId(struct MapObject *, u8); +void FieldObjectTurn(struct MapObject *, u8); +void FieldObjectTurnByLocalIdAndMap(u8, u8, u8); // Exported data declarations -- cgit v1.2.3 From 9b98055ecc5174e92c1cf4bcad8f7a1ecc317581 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 13:46:21 -0400 Subject: PlayerObjectTurn --- include/field_map_obj.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 34e8d4ac0..97c55f12a 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -35,7 +35,7 @@ void sub_8093038(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); void FieldObjectSetGraphicsId(struct MapObject *, u8); void FieldObjectTurn(struct MapObject *, u8); -void FieldObjectTurnByLocalIdAndMap(u8, u8, u8); +void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8); // Exported data declarations -- cgit v1.2.3 From 823f8d6a0c827025f280e1d57fb71959ca529fbe Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 14:05:45 -0400 Subject: get_berry_tree_graphics --- include/berry.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 include/berry.h (limited to 'include') diff --git a/include/berry.h b/include/berry.h new file mode 100644 index 000000000..6d8d8d483 --- /dev/null +++ b/include/berry.h @@ -0,0 +1,17 @@ +// +// Created by Scott Norton on 9/8/17. +// + +#ifndef POKEEMERALD_BERRY_H +#define POKEEMERALD_BERRY_H + +#define NUM_BERRIES 44 + +extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES]; +extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[NUM_BERRIES]; +extern const u8 *const gBerryTreePaletteSlotTablePointers[NUM_BERRIES]; + +u8 GetStageByBerryTreeId(u8); +u8 GetBerryTypeByBerryTreeId(u8); + +#endif //POKEEMERALD_BERRY_H -- cgit v1.2.3 From e0b2e6cdbf0ff124a8e6a83f580418a06cee9df7 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 14:16:44 -0400 Subject: GetFieldObjectGraphicsInfo --- include/field_map_obj.h | 5 +++-- include/mauville_old_man.h | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 include/mauville_old_man.h (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 97c55f12a..5eaee20d9 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -1,12 +1,13 @@ #ifndef POKEEMERALD_FIELD_MAP_OBJ_H #define POKEEMERALD_FIELD_MAP_OBJ_H +#define NUM_OBJECT_GRAPHICS_INFO 239 +#define SPRITE_VAR 240 + // Exported struct declarations // Exported RAM declarations - - // Exported ROM declarations void sub_808D438(void); diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h new file mode 100644 index 000000000..5ed7b203b --- /dev/null +++ b/include/mauville_old_man.h @@ -0,0 +1,10 @@ +// +// Created by Scott Norton on 9/8/17. +// + +#ifndef POKEEMERALD_MAUVILLE_OLD_MAN_H +#define POKEEMERALD_MAUVILLE_OLD_MAN_H + +u8 sub_81201C8(void); + +#endif //POKEEMERALD_MAUVILLE_OLD_MAN_H -- cgit v1.2.3 From 67955bb51a14b464add672774a50b67788cf56c6 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 14:36:58 -0400 Subject: npc_by_local_id_and_map_set_field_1_bit_x20 --- include/field_map_obj.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 5eaee20d9..bf99cec87 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -37,6 +37,8 @@ void CameraObjectReset1(void); void FieldObjectSetGraphicsId(struct MapObject *, u8); void FieldObjectTurn(struct MapObject *, u8); void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8); +const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8); +void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); // Exported data declarations -- cgit v1.2.3 From db2b371e70a8cbf1134866906c7eccaae7f65203 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 15:11:29 -0400 Subject: gpu_pal_allocator_reset__manage_upper_four --- include/global.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/global.h b/include/global.h index 0c0f86470..c406c507f 100644 --- a/include/global.h +++ b/include/global.h @@ -730,4 +730,6 @@ struct Bitmap // TODO: Find a better spot for this u32 height:16; }; +extern u8 gReservedSpritePaletteCount; + #endif // GUARD_GLOBAL_H -- cgit v1.2.3 From 1de5a14a35f6da79a2bc603ce5a0cb3a116c31b0 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 15:18:03 -0400 Subject: sub_808E894 --- include/data3.h | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 include/data3.h (limited to 'include') diff --git a/include/data3.h b/include/data3.h new file mode 100644 index 000000000..1f082e3fb --- /dev/null +++ b/include/data3.h @@ -0,0 +1,10 @@ +// +// Created by Scott Norton on 9/8/17. +// + +#ifndef POKEEMERALD_DATA3_H +#define POKEEMERALD_DATA3_H + +extern const struct SpritePalette gUnknown_0850BBC8[]; + +#endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 5a020a47f3ac99bf80854817873e211cbf22102d Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 17:34:12 -0400 Subject: FindFieldObjectPaletteIndexByTag --- include/field_map_obj.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index bf99cec87..04bdb42d4 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -39,6 +39,12 @@ void FieldObjectTurn(struct MapObject *, u8); void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8); const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8); void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); +void gpu_pal_allocator_reset__manage_upper_four(void); +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 *); // Exported data declarations -- cgit v1.2.3 From dddb44e3018ba915564d6e1a3bcc888ec37aa0bd Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 17:58:41 -0400 Subject: npc_load_two_palettes__no_record --- include/data3.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 1f082e3fb..5318d44ec 100644 --- a/include/data3.h +++ b/include/data3.h @@ -5,6 +5,13 @@ #ifndef POKEEMERALD_DATA3_H #define POKEEMERALD_DATA3_H +struct PairedPalettes { + u16 tag; + const u16 *data; +}; + extern const struct SpritePalette gUnknown_0850BBC8[]; +extern const struct PairedPalettes gUnknown_0850BD00[15]; +extern u8 gUnknown_084975C4[0x10]; #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From a17a1bb27aeca68624c2b8d1b55cbd44e1c34e11 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 18:04:23 -0400 Subject: npc_load_two_palettes__and_record --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 5318d44ec..f44a61263 100644 --- a/include/data3.h +++ b/include/data3.h @@ -12,6 +12,7 @@ struct PairedPalettes { extern const struct SpritePalette gUnknown_0850BBC8[]; extern const struct PairedPalettes gUnknown_0850BD00[15]; +extern const struct PairedPalettes gUnknown_0850BD78[15]; extern u8 gUnknown_084975C4[0x10]; #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From b639ca3b15bea19d7115d7ad619a1e6140015740 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 8 Sep 2017 18:12:27 -0400 Subject: sub_808EAB0 --- include/field_map_obj.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 04bdb42d4..c5b23103f 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -21,7 +21,6 @@ void npc_load_two_palettes__no_record(u16, u8); void npc_load_two_palettes__and_record(u16, u8); void pal_patch_for_npc(u16, u8); void sub_808E16C(s16, s16); -void sub_808EAB0(u16, u8); void sub_8092FF0(s16, s16, s16 *, s16 *); u8 FieldObjectDirectionToImageAnimId(u8); void sub_80930E0(s16 *, s16 *, u8, u8); -- cgit v1.2.3 From 70e982d1fabc62a6d145b1a8dda866931886bb4d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 8 Sep 2017 21:27:02 -0400 Subject: npc_coords_shift --- include/field_map_obj.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index c5b23103f..4eb6f85d5 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -44,6 +44,7 @@ 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 npc_coords_shift(struct MapObject *, s16, s16); // Exported data declarations -- cgit v1.2.3 From ba6987b7335d6b3f0a641e0dee62be37bff4ffd8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 8 Sep 2017 21:35:46 -0400 Subject: sub_808EB08 --- include/field_map_obj.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 4eb6f85d5..b292d200d 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -45,6 +45,7 @@ void sub_808E78C(u8, u8, u8, u8); void sub_808E75C(s16, s16); void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); void npc_coords_shift(struct MapObject *, s16, s16); +void sub_808EB08(struct MapObject *, s16, s16); // Exported data declarations -- cgit v1.2.3 From 79b19a36b864abb359f7ec2122dea851f8ac5e7b Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 10 Sep 2017 15:35:21 -0400 Subject: UpdateFieldObjectCoordsForCameraUpdate --- include/global.fieldmap.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index b0a36aa55..5a7a75ccb 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -379,7 +379,7 @@ struct PlayerAvatar /* 0x202E858 */ struct Camera { - bool8 field_0:1; + bool8 active:1; s32 x; s32 y; }; @@ -388,5 +388,6 @@ extern struct MapObject gMapObjects[NUM_FIELD_OBJECTS]; extern u8 gSelectedMapObject; extern struct MapHeader gMapHeader; extern struct PlayerAvatar gPlayerAvatar; +extern struct Camera gCamera; #endif // GUARD_GLOBAL_FIELDMAP_H -- cgit v1.2.3 From 9e0a17109840593a034bd42e96ffbcf73bc16b1c Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 10 Sep 2017 16:02:20 -0400 Subject: AddCameraObject --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index f44a61263..343f145c0 100644 --- a/include/data3.h +++ b/include/data3.h @@ -14,5 +14,6 @@ extern const struct SpritePalette gUnknown_0850BBC8[]; extern const struct PairedPalettes gUnknown_0850BD00[15]; extern const struct PairedPalettes gUnknown_0850BD78[15]; extern u8 gUnknown_084975C4[0x10]; +extern const struct SpriteTemplate gUnknown_084975D4; #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From c7b1a8c3daa5183f8e522d6d6fcba1ffea79e72f Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 10 Sep 2017 16:13:19 -0400 Subject: ObjectCB_CameraObject --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 343f145c0..6b1569486 100644 --- a/include/data3.h +++ b/include/data3.h @@ -15,5 +15,6 @@ extern const struct PairedPalettes gUnknown_0850BD00[15]; extern const struct PairedPalettes gUnknown_0850BD78[15]; extern u8 gUnknown_084975C4[0x10]; extern const struct SpriteTemplate gUnknown_084975D4; +extern void (*const gUnknown_084975EC[3])(struct Sprite *); #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 5ad282c82c79205045fce2e8d7db993846d86b17 Mon Sep 17 00:00:00 2001 From: scnorton Date: Mon, 11 Sep 2017 10:29:00 -0400 Subject: GetFieldObjectTemplateByLocalIdAndMap --- include/rom4.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/rom4.h b/include/rom4.h index 655ce3fde..0c7b87353 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -25,5 +25,6 @@ struct UCoords32 extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; void strange_npc_table_clear(void); +const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); #endif //POKEEMERALD_ROM4_H -- cgit v1.2.3 From 9306122359968579b27b9a41e3cfd082860a4231 Mon Sep 17 00:00:00 2001 From: scnorton Date: Mon, 11 Sep 2017 10:46:26 -0400 Subject: through sub_808F23C --- include/global.fieldmap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 5a7a75ccb..f8955b9fd 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -86,7 +86,7 @@ struct MapObjectTemplate ///*0x0B*/ u8 fillerB[1]; /*0x0C*/ u16 unkC; /*0x0E*/ u16 unkE; - /*0x10*/ u8 *script; + /*0x10*/ const u8 *script; /*0x14*/ u16 flagId; /*0x16*/ u8 filler_16[2]; }; /*size = 0x18*/ -- cgit v1.2.3 From c6ef3442621227562f15017441aa6fb7709e7187 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 12 Sep 2017 16:17:52 -0400 Subject: sub_808F254 --- include/field_map_obj.h | 1 + 1 file changed, 1 insertion(+) mode change 100644 => 100755 include/field_map_obj.h (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h old mode 100644 new mode 100755 index b292d200d..ec28df643 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -46,6 +46,7 @@ void sub_808E75C(s16, s16); void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); void npc_coords_shift(struct MapObject *, s16, s16); void sub_808EB08(struct MapObject *, s16, s16); +void sub_808F254(u8, u8, u8); // Exported data declarations -- cgit v1.2.3 From 9286c93c8afd9505259487481e45db6956444004 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 12 Sep 2017 16:47:51 -0400 Subject: npc_paltag_set_load --- include/data3.h | 7 ++++--- include/event_scripts.h | 11 +++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) mode change 100644 => 100755 include/data3.h create mode 100755 include/event_scripts.h (limited to 'include') diff --git a/include/data3.h b/include/data3.h old mode 100644 new mode 100755 index 6b1569486..29b1acc34 --- a/include/data3.h +++ b/include/data3.h @@ -10,11 +10,12 @@ struct PairedPalettes { const u16 *data; }; -extern const struct SpritePalette gUnknown_0850BBC8[]; -extern const struct PairedPalettes gUnknown_0850BD00[15]; -extern const struct PairedPalettes gUnknown_0850BD78[15]; extern u8 gUnknown_084975C4[0x10]; extern const struct SpriteTemplate gUnknown_084975D4; extern void (*const gUnknown_084975EC[3])(struct Sprite *); +extern const struct SpritePalette gUnknown_0850BBC8[]; +extern const struct PairedPalettes gUnknown_0850BD00[15]; +extern const struct PairedPalettes gUnknown_0850BD78[15]; +extern const u16 *const gUnknown_0850BE38[2]; #endif //POKEEMERALD_DATA3_H diff --git a/include/event_scripts.h b/include/event_scripts.h new file mode 100755 index 000000000..967bc196a --- /dev/null +++ b/include/event_scripts.h @@ -0,0 +1,11 @@ +// +// Created by scott on 9/12/2017. +// + +#ifndef POKEEMERALD_EVENT_SCRIPTS_H +#define POKEEMERALD_EVENT_SCRIPTS_H + +extern const u8 gUnknown_082766A2[]; +extern const u8 gUnknown_082766A6[]; + +#endif //POKEEMERALD_EVENT_SCRIPTS_H -- cgit v1.2.3 From 28b272bf52e32374a3d0e493b47953bfad8e9cac Mon Sep 17 00:00:00 2001 From: scnorton Date: Wed, 13 Sep 2017 09:41:11 -0400 Subject: NoMovement1, GoRandomDirections --- include/field_map_obj.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index ec28df643..f91b8f9e3 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -47,6 +47,7 @@ void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); void npc_coords_shift(struct MapObject *, s16, s16); void sub_808EB08(struct MapObject *, s16, s16); void sub_808F254(u8, u8, u8); +void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *)); // Exported data declarations -- cgit v1.2.3 From e26501f130ed84b160f80232db642ec49722025f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 13 Sep 2017 10:59:25 -0400 Subject: Support functions for GoRandomDirections --- include/data3.h | 2 ++ include/global.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 29b1acc34..35dba5942 100755 --- a/include/data3.h +++ b/include/data3.h @@ -17,5 +17,7 @@ extern const struct SpritePalette gUnknown_0850BBC8[]; extern const struct PairedPalettes gUnknown_0850BD00[15]; extern const struct PairedPalettes gUnknown_0850BD78[15]; extern const u16 *const gUnknown_0850BE38[2]; +extern const s16 gUnknown_0850D6DC[4]; +extern const u8 gUnknown_0850D710[4]; #endif //POKEEMERALD_DATA3_H diff --git a/include/global.h b/include/global.h index c406c507f..a006e8591 100644 --- a/include/global.h +++ b/include/global.h @@ -10,7 +10,7 @@ #define asm_comment(x) asm volatile("@ -- " x " -- ") #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") -#ifdef __APPLE__ +#if defined (__APPLE__) || defined (__CYGWIN__) void memset(void *, int, size_t); void memcpy(void *, const void *, size_t); #endif // __APPLE__ -- cgit v1.2.3 From d72231379bd5b113744cf28c7fe9c9d6784e0174 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 13 Sep 2017 19:13:44 -0400 Subject: FieldObjectIsTrainerAndCloseToPlayer --- include/field_player_avatar.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 5e2f0822c..3a74b3b10 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -8,5 +8,7 @@ void ClearPlayerAvatarInfo(void); void SetPlayerAvatarExtraStateTransition(u8, u8); u8 GetPlayerAvatarGenderByGraphicsId(u8); +bool8 TestPlayerAvatarFlags(u8); +void PlayerGetDestCoords(s16 *, s16 *); #endif //POKEEMERALD_FIELD_PLAYER_AVATAR_H -- cgit v1.2.3 From 0ae3347e472686be8c7c21862afe4a62222cdcd1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 14 Sep 2017 08:38:21 -0400 Subject: Rename some functions --- include/data3.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 35dba5942..3c1d34759 100755 --- a/include/data3.h +++ b/include/data3.h @@ -17,7 +17,7 @@ extern const struct SpritePalette gUnknown_0850BBC8[]; extern const struct PairedPalettes gUnknown_0850BD00[15]; extern const struct PairedPalettes gUnknown_0850BD78[15]; extern const u16 *const gUnknown_0850BE38[2]; -extern const s16 gUnknown_0850D6DC[4]; -extern const u8 gUnknown_0850D710[4]; +extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} +extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 4a1383d77bb1da701290848020b5ebf942182283 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 14 Sep 2017 21:22:14 -0400 Subject: RandomlyGoNorthOrSouth --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 3c1d34759..c73a8c991 100755 --- a/include/data3.h +++ b/include/data3.h @@ -19,5 +19,6 @@ extern const struct PairedPalettes gUnknown_0850BD78[15]; extern const u16 *const gUnknown_0850BE38[2]; extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} +extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 68c62595f569e9b6ccca1596776330ce31d9d805 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 14 Sep 2017 21:25:30 -0400 Subject: RandomlyGoEastOrWest --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index c73a8c991..63be33381 100755 --- a/include/data3.h +++ b/include/data3.h @@ -20,5 +20,6 @@ extern const u16 *const gUnknown_0850BE38[2]; extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} +extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 9f6a4be9f05a46031d20ed7a48398147def2643c Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 15 Sep 2017 14:26:01 -0400 Subject: BerryTree --- include/field_effect.h | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 include/field_effect.h (limited to 'include') diff --git a/include/field_effect.h b/include/field_effect.h new file mode 100644 index 000000000..8cf866725 --- /dev/null +++ b/include/field_effect.h @@ -0,0 +1,80 @@ +// +// Created by Scott Norton on 9/15/17. +// + +#ifndef POKEEMERALD_FIELD_EFFECTS_H +#define POKEEMERALD_FIELD_EFFECTS_H + +enum FieldEffectScriptIdx +{ + FLDEFF_EXCLAMATION_MARK_ICON_1, + FLDEFF_USE_CUT_ON_GRASS, + FLDEFF_USE_CUT_ON_TREE, + FLDEFF_SHADOW, + FLDEFF_TALL_GRASS, + FLDEFF_RIPPLE, + FLDEFF_FIELD_MOVE_SHOW_MON, + FLDEFF_ASH, + FLDEFF_SURF_BLOB, + FLDEFF_USE_SURF, + FLDEFF_DUST, + FLDEFF_USE_SECRET_POWER_CAVE, + FLDEFF_JUMP_TALL_GRASS, + FLDEFF_SAND_FOOTPRINTS, + FLDEFF_JUMP_BIG_SPLASH, + FLDEFF_SPLASH, + FLDEFF_JUMP_SMALL_SPLASH, + FLDEFF_LONG_GRASS, + FLDEFF_JUMP_LONG_GRASS, + FLDEFF_UNKNOWN_19, + FLDEFF_UNKNOWN_20, + FLDEFF_UNKNOWN_21, + FLDEFF_UNKNOWN_22, + FLDEFF_BERRY_TREE_GROWTH_SPARKLE, + FLDEFF_DEEP_SAND_FOOTPRINTS, + FLDEFF_POKECENTER_HEAL, + FLDEFF_USE_SECRET_POWER_TREE, + FLDEFF_USE_SECRET_POWER_SHRUB, + FLDEFF_TREE_DISGUISE, + FLDEFF_MOUNTAIN_DISGUISE, + FLDEFF_NPCFLY_OUT, + FLDEFF_USE_FLY, + FLDEFF_FLY_IN, + FLDEFF_EXCLAMATION_MARK_ICON_2, + FLDEFF_FEET_IN_FLOWING_WATER, + FLDEFF_BIKE_TIRE_TRACKS, + FLDEFF_SAND_DISGUISE, + FLDEFF_USE_ROCK_SMASH, + FLDEFF_USE_DIG, + FLDEFF_SAND_PILE, + FLDEFF_USE_STRENGTH, + FLDEFF_SHORT_GRASS, + FLDEFF_HOT_SPRINGS_WATER, + FLDEFF_USE_WATERFALL, + FLDEFF_USE_DIVE, + FLDEFF_POKEBALL, + FLDEFF_HEART_ICON, + FLDEFF_NOP_47, + FLDEFF_NOP_48, + FLDEFF_POP_OUT_OF_ASH, + FLDEFF_LAVARIDGE_GYM_WARP, + FLDEFF_SWEET_SCENT, + FLDEFF_SAND_PILLAR, + FLDEFF_BUBBLES, + FLDEFF_SPARKLE, + FLDEFF_SECRET_POWER_CAVE, + FLDEFF_SECRET_POWER_TREE, + FLDEFF_SECRET_POWER_SHRUB, + FLDEFF_CUT_GRASS, + FLDEFF_FIELD_MOVE_SHOW_MON_INIT, + FLDEFF_USE_FLY_ANCIENT_TOMB, + FLDEFF_PCTURN_ON, + FLDEFF_HALL_OF_FAME_RECORD, + FLDEFF_USE_TELEPORT +}; + +extern u32 gFieldEffectSpawnParams[8]; + +u8 FieldEffectStart(u8); + +#endif //POKEEMERALD_FIELD_EFFECTS_H -- cgit v1.2.3 From 0571056955121d57f7ea691b40f807c8f80ef7b2 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 15 Sep 2017 15:26:51 -0400 Subject: RandomlyLookNorthOrWest --- include/data3.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 63be33381..9ab32e8ce 100755 --- a/include/data3.h +++ b/include/data3.h @@ -18,8 +18,10 @@ extern const struct PairedPalettes gUnknown_0850BD00[15]; extern const struct PairedPalettes gUnknown_0850BD78[15]; extern const u16 *const gUnknown_0850BE38[2]; extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} +extern const s16 gUnknown_0850D6EC[4]; extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} +extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 8c6367f997f4c53dfb1819d2cc42953fb7a82eb5 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 15 Sep 2017 15:53:07 -0400 Subject: RandomlyLookNorthOrEast --- include/data3.h | 1 + include/field_map_obj.h | 14 ++++++++++++++ 2 files changed, 15 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 9ab32e8ce..debca9b73 100755 --- a/include/data3.h +++ b/include/data3.h @@ -23,5 +23,6 @@ extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EA extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} +extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} #endif //POKEEMERALD_DATA3_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index f91b8f9e3..43446ea84 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -6,6 +6,20 @@ // Exported struct declarations +enum SpinnerRunnerFollowPatterns { + RUNFOLLOW_ANY, + RUNFOLLOW_NORTH_SOUTH, + RUNFOLLOW_EAST_WEST, + RUNFOLLOW_NORTH_WEST, + RUNFOLLOW_NORTH_EAST, + RUNFOLLOW_SOUTH_WEST, + RUNFOLLOW_SOUTH_EAST, + RUNFOLLOW_NORTH_SOUTH_WEST, + RUNFOLLOW_NORTH_SOUTH_EAST, + RUNFOLLOW_NORTH_EAST_WEST, + RUNFOLLOW_SOUTH_EAST_WEST +}; + // Exported RAM declarations // Exported ROM declarations -- cgit v1.2.3 From b269048369afcb0a4bf5a5f251d9ff7506a3f588 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 15 Sep 2017 15:57:38 -0400 Subject: RandomlyLookSouthOrWest --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index debca9b73..a1aa86279 100755 --- a/include/data3.h +++ b/include/data3.h @@ -24,5 +24,6 @@ extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} +extern const u8 gUnknown_0850D820[2]; // {DIR_SOUTH, DIR_WEST} #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From f6840ba7e7783cb961f6b6afb7ac7eb45717a13f Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 15 Sep 2017 16:00:39 -0400 Subject: RandomlyLookSouthOrEast --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index a1aa86279..9aa8bc469 100755 --- a/include/data3.h +++ b/include/data3.h @@ -25,5 +25,6 @@ extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} extern const u8 gUnknown_0850D820[2]; // {DIR_SOUTH, DIR_WEST} +extern const u8 gUnknown_0850D838[2]; // {DIR_SOUTH, DIR_EAST} #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 2e1ecdb87711172b1916f3e102315867c5b65d18 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 15 Sep 2017 16:08:01 -0400 Subject: Tridirectional spinners --- include/data3.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 9aa8bc469..98d22566e 100755 --- a/include/data3.h +++ b/include/data3.h @@ -26,5 +26,9 @@ extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} extern const u8 gUnknown_0850D820[2]; // {DIR_SOUTH, DIR_WEST} extern const u8 gUnknown_0850D838[2]; // {DIR_SOUTH, DIR_EAST} +extern const u8 gUnknown_0850D850[4]; +extern const u8 gUnknown_0850D868[4]; +extern const u8 gUnknown_0850D880[4]; +extern const u8 gUnknown_0850D898[4]; #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 1c6177f67895a20c99d7dfafd43afd83cf3bfff2 Mon Sep 17 00:00:00 2001 From: scnorton Date: Fri, 15 Sep 2017 16:34:03 -0400 Subject: Rotatoes --- include/data3.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 98d22566e..3cbdcc9ce 100755 --- a/include/data3.h +++ b/include/data3.h @@ -30,5 +30,7 @@ extern const u8 gUnknown_0850D850[4]; extern const u8 gUnknown_0850D868[4]; extern const u8 gUnknown_0850D880[4]; extern const u8 gUnknown_0850D898[4]; +extern const u8 gUnknown_0850D8AC[5]; +extern const u8 gUnknown_0850D8C4[5]; #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From 79e8235701de373e7d7cb84162343c487c7e1a5e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 15 Sep 2017 21:26:56 -0400 Subject: AlternatelyGoInOppositeDirections --- include/field_map_obj.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 43446ea84..db1ed233f 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -62,6 +62,8 @@ void npc_coords_shift(struct MapObject *, s16, s16); void sub_808EB08(struct MapObject *, s16, s16); void sub_808F254(u8, u8, u8); void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *)); +u8 GetOppositeDirection(u8); +u8 GetStepInPlaceDelay16AnimId(u8); // Exported data declarations -- cgit v1.2.3 From 86df6d10736e1b680e874d7440f478fe5ddf8105 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 08:44:43 -0400 Subject: Field object path movement --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 3cbdcc9ce..a5ec3d08f 100755 --- a/include/data3.h +++ b/include/data3.h @@ -32,5 +32,6 @@ extern const u8 gUnknown_0850D880[4]; extern const u8 gUnknown_0850D898[4]; extern const u8 gUnknown_0850D8AC[5]; extern const u8 gUnknown_0850D8C4[5]; +extern const u8 gUnknown_0850D8E8[4]; #endif //POKEEMERALD_DATA3_H -- cgit v1.2.3 From ee3dc1edda08ae6e2bab34b8555ec410f1a930a9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 09:43:49 -0400 Subject: Some more functions, including some swiss-cheesing that got out of hand --- include/data3.h | 4 ++++ include/field_player_avatar.h | 3 +++ 2 files changed, 7 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index a5ec3d08f..f5efab3b7 100755 --- a/include/data3.h +++ b/include/data3.h @@ -33,5 +33,9 @@ extern const u8 gUnknown_0850D898[4]; extern const u8 gUnknown_0850D8AC[5]; extern const u8 gUnknown_0850D8C4[5]; extern const u8 gUnknown_0850D8E8[4]; +extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, u8); + + +extern const u8 gUnknown_0850DBA0[5]; #endif //POKEEMERALD_DATA3_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 3a74b3b10..cd00832d5 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -10,5 +10,8 @@ void SetPlayerAvatarExtraStateTransition(u8, u8); u8 GetPlayerAvatarGenderByGraphicsId(u8); bool8 TestPlayerAvatarFlags(u8); void PlayerGetDestCoords(s16 *, s16 *); +u8 player_get_direction_lower_nybble(void); +u8 player_get_direction_upper_nybble(void); +u8 player_get_x22(void); #endif //POKEEMERALD_FIELD_PLAYER_AVATAR_H -- cgit v1.2.3 From 66fbc9753fa8411d715fdad1067eb98c68ace27a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 13:54:33 -0400 Subject: sub_8091F94 --- include/data3.h | 2 +- include/field_map_obj.h | 1 + include/fieldmap.h | 15 +++++++++++++++ include/rom4.h | 1 + include/rom_81BE66C.h | 2 ++ 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 include/fieldmap.h (limited to 'include') diff --git a/include/data3.h b/include/data3.h index f5efab3b7..2b5cc1bc5 100755 --- a/include/data3.h +++ b/include/data3.h @@ -33,7 +33,7 @@ extern const u8 gUnknown_0850D898[4]; extern const u8 gUnknown_0850D8AC[5]; extern const u8 gUnknown_0850D8C4[5]; extern const u8 gUnknown_0850D8E8[4]; -extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, u8); +extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)); extern const u8 gUnknown_0850DBA0[5]; diff --git a/include/field_map_obj.h b/include/field_map_obj.h index db1ed233f..536d9d1a4 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -64,6 +64,7 @@ void sub_808F254(u8, u8, u8); void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *)); u8 GetOppositeDirection(u8); u8 GetStepInPlaceDelay16AnimId(u8); +u8 npc_block_way(struct MapObject *, s16, s16, u32); // Exported data declarations diff --git a/include/fieldmap.h b/include/fieldmap.h new file mode 100644 index 000000000..7057fe889 --- /dev/null +++ b/include/fieldmap.h @@ -0,0 +1,15 @@ +// +// Created by scott on 9/16/2017. +// + +#ifndef POKEEMERALD_FIELDMAP_H +#define POKEEMERALD_FIELDMAP_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +u8 MapGridGetMetatileBehaviorAt(s16, s16); + +#endif //POKEEMERALD_FIELDMAP_H diff --git a/include/rom4.h b/include/rom4.h index 0c7b87353..78dca24c4 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -26,5 +26,6 @@ extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; void strange_npc_table_clear(void); const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); +void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); #endif //POKEEMERALD_ROM4_H diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h index d92c500d6..e4e39fb08 100644 --- a/include/rom_81BE66C.h +++ b/include/rom_81BE66C.h @@ -6,5 +6,7 @@ #define POKEEMERALD_ROM_81BE66C_H bool32 InTrainerHill(void); +bool8 FieldObjectIsFarawayIslandMew(struct MapObject *); +u32 sub_81D427C(void); #endif //POKEEMERALD_ROM_81BE66C_H -- cgit v1.2.3 From 18e06b480b13143b8870675a763fb2f9854f9679 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 15:13:06 -0400 Subject: Fix header guards --- include/data3.h | 6 +++--- include/event_scripts.h | 6 +++--- include/field_effect.h | 6 +++--- include/field_effect_helpers.h | 6 +++--- include/field_ground_effect.h | 6 +++--- include/field_map_obj.h | 6 +++--- include/field_player_avatar.h | 6 +++--- include/fieldmap.h | 6 +++--- include/map_obj_8097404.h | 6 +++--- include/rom4.h | 6 +++--- include/rom_818CFC8.h | 6 +++--- include/rom_81BE66C.h | 6 +++--- 12 files changed, 36 insertions(+), 36 deletions(-) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 2b5cc1bc5..b2b19b050 100755 --- a/include/data3.h +++ b/include/data3.h @@ -2,8 +2,8 @@ // Created by Scott Norton on 9/8/17. // -#ifndef POKEEMERALD_DATA3_H -#define POKEEMERALD_DATA3_H +#ifndef GUARD_DATA3_H +#define GUARD_DATA3_H struct PairedPalettes { u16 tag; @@ -38,4 +38,4 @@ extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u extern const u8 gUnknown_0850DBA0[5]; -#endif //POKEEMERALD_DATA3_H +#endif //GUARD_DATA3_H diff --git a/include/event_scripts.h b/include/event_scripts.h index 967bc196a..f1abdd6f6 100755 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -2,10 +2,10 @@ // Created by scott on 9/12/2017. // -#ifndef POKEEMERALD_EVENT_SCRIPTS_H -#define POKEEMERALD_EVENT_SCRIPTS_H +#ifndef GUARD_EVENT_SCRIPTS_H +#define GUARD_EVENT_SCRIPTS_H extern const u8 gUnknown_082766A2[]; extern const u8 gUnknown_082766A6[]; -#endif //POKEEMERALD_EVENT_SCRIPTS_H +#endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_effect.h b/include/field_effect.h index 8cf866725..7ec26b3d7 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -2,8 +2,8 @@ // Created by Scott Norton on 9/15/17. // -#ifndef POKEEMERALD_FIELD_EFFECTS_H -#define POKEEMERALD_FIELD_EFFECTS_H +#ifndef GUARD_FIELD_EFFECTS_H +#define GUARD_FIELD_EFFECTS_H enum FieldEffectScriptIdx { @@ -77,4 +77,4 @@ extern u32 gFieldEffectSpawnParams[8]; u8 FieldEffectStart(u8); -#endif //POKEEMERALD_FIELD_EFFECTS_H +#endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 673d59139..6504a84f1 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -2,8 +2,8 @@ // Created by scott on 9/7/2017. // -#ifndef POKEEMERALD_FIELD_EFFECT_HELPERS_H -#define POKEEMERALD_FIELD_EFFECT_HELPERS_H +#ifndef GUARD_FIELD_EFFECT_HELPERS_H +#define GUARD_FIELD_EFFECT_HELPERS_H // Exported type declarations @@ -12,4 +12,4 @@ // Exported ROM declarations u8 sub_8154228(void); -#endif //POKEEMERALD_FIELD_EFFECT_HELPERS_H +#endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index 0c90f50dc..e2dc3a00f 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -2,8 +2,8 @@ // Created by scott on 9/6/2017. // -#ifndef POKEEMERALD_FIELD_GROUND_EFFECT_H -#define POKEEMERALD_FIELD_GROUND_EFFECT_H +#ifndef GUARD_FIELD_GROUND_EFFECT_H +#define GUARD_FIELD_GROUND_EFFECT_H // Exported type declarations @@ -13,4 +13,4 @@ void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); void InitObjectPriorityByZCoord(struct Sprite *, u8); -#endif //POKEEMERALD_FIELD_GROUND_EFFECT_H +#endif //GUARD_FIELD_GROUND_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 536d9d1a4..f603e9a8e 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -1,5 +1,5 @@ -#ifndef POKEEMERALD_FIELD_MAP_OBJ_H -#define POKEEMERALD_FIELD_MAP_OBJ_H +#ifndef GUARD_FIELD_MAP_OBJ_H +#define GUARD_FIELD_MAP_OBJ_H #define NUM_OBJECT_GRAPHICS_INFO 239 #define SPRITE_VAR 240 @@ -70,4 +70,4 @@ u8 npc_block_way(struct MapObject *, s16, s16, u32); extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; -#endif //POKEEMERALD_FIELD_MAP_OBJ_H +#endif //GUARD_FIELD_MAP_OBJ_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index cd00832d5..a787cf805 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -2,8 +2,8 @@ // Created by Scott Norton on 9/6/17. // -#ifndef POKEEMERALD_FIELD_PLAYER_AVATAR_H -#define POKEEMERALD_FIELD_PLAYER_AVATAR_H +#ifndef GUARD_FIELD_PLAYER_AVATAR_H +#define GUARD_FIELD_PLAYER_AVATAR_H void ClearPlayerAvatarInfo(void); void SetPlayerAvatarExtraStateTransition(u8, u8); @@ -14,4 +14,4 @@ u8 player_get_direction_lower_nybble(void); u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); -#endif //POKEEMERALD_FIELD_PLAYER_AVATAR_H +#endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 7057fe889..4c75c3f40 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -2,8 +2,8 @@ // Created by scott on 9/16/2017. // -#ifndef POKEEMERALD_FIELDMAP_H -#define POKEEMERALD_FIELDMAP_H +#ifndef GUARD_FIELDMAP_H +#define GUARD_FIELDMAP_H // Exported type declarations @@ -12,4 +12,4 @@ // Exported ROM declarations u8 MapGridGetMetatileBehaviorAt(s16, s16); -#endif //POKEEMERALD_FIELDMAP_H +#endif //GUARD_FIELDMAP_H diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 6296febe4..e3b2b1efc 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -2,8 +2,8 @@ // Created by scott on 9/7/2017. // -#ifndef POKEEMERALD_MAP_OBJ_8097404_H -#define POKEEMERALD_MAP_OBJ_8097404_H +#ifndef GUARD_MAP_OBJ_8097404_H +#define GUARD_MAP_OBJ_8097404_H // Exported type declarations @@ -12,4 +12,4 @@ // Exported ROM declarations void sub_8097AC8(struct Sprite *); -#endif //POKEEMERALD_MAP_OBJ_8097404_H +#endif //GUARD_MAP_OBJ_8097404_H diff --git a/include/rom4.h b/include/rom4.h index 78dca24c4..d4ece109e 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -1,6 +1,6 @@ -#ifndef POKEEMERALD_ROM4_H -#define POKEEMERALD_ROM4_H +#ifndef GUARD_ROM4_H +#define GUARD_ROM4_H struct UnkPlayerStruct { @@ -28,4 +28,4 @@ void strange_npc_table_clear(void); const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); -#endif //POKEEMERALD_ROM4_H +#endif //GUARD_ROM4_H diff --git a/include/rom_818CFC8.h b/include/rom_818CFC8.h index 9b6f96893..1d0626b2b 100644 --- a/include/rom_818CFC8.h +++ b/include/rom_818CFC8.h @@ -2,10 +2,10 @@ // Created by Scott Norton on 9/6/17. // -#ifndef POKEEMERALD_ROM_818CFC8_H -#define POKEEMERALD_ROM_818CFC8_H +#ifndef GUARD_ROM_818CFC8_H +#define GUARD_ROM_818CFC8_H bool8 InBattlePyramid(void); u8 sub_81AAA40(void); -#endif //POKEEMERALD_ROM_818CFC8_H +#endif //GUARD_ROM_818CFC8_H diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h index e4e39fb08..5b4f80249 100644 --- a/include/rom_81BE66C.h +++ b/include/rom_81BE66C.h @@ -2,11 +2,11 @@ // Created by Scott Norton on 9/6/17. // -#ifndef POKEEMERALD_ROM_81BE66C_H -#define POKEEMERALD_ROM_81BE66C_H +#ifndef GUARD_ROM_81BE66C_H +#define GUARD_ROM_81BE66C_H bool32 InTrainerHill(void); bool8 FieldObjectIsFarawayIslandMew(struct MapObject *); u32 sub_81D427C(void); -#endif //POKEEMERALD_ROM_81BE66C_H +#endif //GUARD_ROM_81BE66C_H -- cgit v1.2.3 From 12885ca371f0b89d7df6decc133a14452ab567e0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 16:40:00 -0400 Subject: CopyPlayer2 --- include/metatile_behavior.h | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 include/metatile_behavior.h (limited to 'include') diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h new file mode 100644 index 000000000..5ed36c690 --- /dev/null +++ b/include/metatile_behavior.h @@ -0,0 +1,11 @@ +#ifndef GUARD_METATILE_BEHAVIOR_H +#define GUARD_METATILE_BEHAVIOR_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +bool8 sub_8088E64(u8); + +#endif //GUARD_METATILE_BEHAVIOR_H -- cgit v1.2.3 From 34950dbd13f9ec9e4616b3cb33a9b1aae912eee2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 17:34:41 -0400 Subject: remaining field object step callbacks --- include/field_map_obj.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index f603e9a8e..03ba36e87 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -63,7 +63,10 @@ void sub_808EB08(struct MapObject *, s16, s16); void sub_808F254(u8, u8, u8); void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *)); u8 GetOppositeDirection(u8); -u8 GetStepInPlaceDelay16AnimId(u8); +u8 GetStepInPlaceDelay4AnimId(u32); +u8 GetStepInPlaceDelay8AnimId(u32); +u8 GetStepInPlaceDelay16AnimId(u32); +u8 GetStepInPlaceDelay32AnimId(u32); u8 npc_block_way(struct MapObject *, s16, s16, u32); // Exported data declarations -- cgit v1.2.3 From ca88036ebe4441a2afc7267da1fda2a4b68820a8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 18:29:14 -0400 Subject: npc_set_running_behaviour_etc --- include/global.fieldmap.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index f8955b9fd..4a587cf57 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -299,6 +299,7 @@ struct MapObject2 /*0x1F*/ u8 mapobj_unk_1F; /*0x20*/ u8 mapobj_unk_20; /*0x21*/ u8 mapobj_unk_21; + /*0x22*/ u8 animId; /*size = 0x24*/ }; -- cgit v1.2.3 From 5812bc4ebe83bb80294bbb40846ae6fb1c76e5bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 18:33:38 -0400 Subject: npc_block_way__next_tile --- include/data3.h | 1 - include/field_map_obj.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index b2b19b050..6d9bbd084 100755 --- a/include/data3.h +++ b/include/data3.h @@ -35,7 +35,6 @@ extern const u8 gUnknown_0850D8C4[5]; extern const u8 gUnknown_0850D8E8[4]; extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)); - extern const u8 gUnknown_0850DBA0[5]; #endif //GUARD_DATA3_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 03ba36e87..a952cfac6 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -68,6 +68,7 @@ u8 GetStepInPlaceDelay8AnimId(u32); u8 GetStepInPlaceDelay16AnimId(u32); u8 GetStepInPlaceDelay32AnimId(u32); u8 npc_block_way(struct MapObject *, s16, s16, u32); +void MoveCoords(u8, s16 *, s16 *); // Exported data declarations -- cgit v1.2.3 From fedbcd7bb7202f37f4a3a017a2f4c1fe296a6ae3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 18:42:35 -0400 Subject: npc_block_way --- include/field_ground_effect.h | 1 + include/fieldmap.h | 3 +++ 2 files changed, 4 insertions(+) (limited to 'include') diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index e2dc3a00f..398265b87 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -12,5 +12,6 @@ // Exported ROM declarations void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); void InitObjectPriorityByZCoord(struct Sprite *, u8); +bool8 IsZCoordMismatchAt(u8, s16, s16); #endif //GUARD_FIELD_GROUND_EFFECT_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 511c1061f..7174d98cc 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -12,5 +12,8 @@ // Exported ROM declarations u8 MapGridGetMetatileBehaviorAt(s16, s16); void GetCameraCoords(u16*, u16*); +bool8 MapGridIsImpassableAt(s16, s16); +s32 GetMapBorderIdAt(s16, s16); +bool32 CanCameraMoveInDirection(u8); #endif //GUARD_FIELDMAP_H -- cgit v1.2.3 From c98299386077d8a0c34150405ab0458f52fc2015 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 21:08:44 -0400 Subject: IsMetatileDirectionallyImpassable --- include/data3.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 6d9bbd084..0c7de1272 100755 --- a/include/data3.h +++ b/include/data3.h @@ -34,6 +34,8 @@ extern const u8 gUnknown_0850D8AC[5]; extern const u8 gUnknown_0850D8C4[5]; extern const u8 gUnknown_0850D8E8[4]; extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)); +extern bool8 (*const gUnknown_0850DB5C[])(u8); +extern bool8 (*const gUnknown_0850DB6C[])(u8); extern const u8 gUnknown_0850DBA0[5]; -- cgit v1.2.3 From 951acc8c31029327775e90e21ba6c92c24ff8b3b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 21:29:04 -0400 Subject: CheckForCollisionBetweenFieldObjects --- include/field_ground_effect.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index 398265b87..b7242ee7c 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -13,5 +13,6 @@ void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); void InitObjectPriorityByZCoord(struct Sprite *, u8); bool8 IsZCoordMismatchAt(u8, s16, s16); +bool8 AreZCoordsCompatible(u8, u8); #endif //GUARD_FIELD_GROUND_EFFECT_H -- cgit v1.2.3 From f03c0dc3b4f763c65fefaa8cdf10a06b2fd00dc2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 21:39:29 -0400 Subject: MoveCoords --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 0c7de1272..d5bccf296 100755 --- a/include/data3.h +++ b/include/data3.h @@ -36,6 +36,7 @@ extern const u8 gUnknown_0850D8E8[4]; extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)); extern bool8 (*const gUnknown_0850DB5C[])(u8); extern bool8 (*const gUnknown_0850DB6C[])(u8); +extern struct Coords16 gUnknown_0850DB7C[4]; extern const u8 gUnknown_0850DBA0[5]; -- cgit v1.2.3 From 3f2c6556cb25c178b29b016dd87bb706a7fb631c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 21:59:14 -0400 Subject: sub_8092FF0 --- include/field_camera.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 include/field_camera.h (limited to 'include') diff --git a/include/field_camera.h b/include/field_camera.h new file mode 100644 index 000000000..48c182c8e --- /dev/null +++ b/include/field_camera.h @@ -0,0 +1,13 @@ +#ifndef GUARD_FIELD_CAMERA_H +#define GUARD_FIELD_CAMERA_H + +// Exported type declarations + +// Exported RAM declarations + +extern u16 gUnknown_03005DEC; +extern u16 gUnknown_03005DE8; + +// Exported ROM declarations + +#endif //GUARD_FIELD_CAMERA_H -- cgit v1.2.3 From 44e590add0b4f630397b9f9e206a9a66d1a41ccc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 22:15:54 -0400 Subject: sub_8093038 --- include/field_camera.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include') diff --git a/include/field_camera.h b/include/field_camera.h index 48c182c8e..9fbaac6a2 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -3,6 +3,18 @@ // Exported type declarations +struct CameraObject +{ + void (*callback)(struct CameraObject *); + u32 unk4; + s32 unk8; + s32 unkC; + s32 x; + s32 y; +}; + +extern struct CameraObject gUnknown_03005DD0; + // Exported RAM declarations extern u16 gUnknown_03005DEC; -- cgit v1.2.3 From 812ad017e892ff3d93b3df8310335287a556e871 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 22:19:23 -0400 Subject: sub_80930E0 --- include/field_map_obj.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/field_map_obj.h b/include/field_map_obj.h index a952cfac6..23749c91a 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -37,7 +37,7 @@ void pal_patch_for_npc(u16, u8); void sub_808E16C(s16, s16); void sub_8092FF0(s16, s16, s16 *, s16 *); u8 FieldObjectDirectionToImageAnimId(u8); -void sub_80930E0(s16 *, s16 *, u8, u8); +void sub_80930E0(s16 *, s16 *, s16, s16); void FieldObjectClearAnim(struct MapObject *); void SpawnFieldObjectsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); -- cgit v1.2.3 From eb7e52d2a89d0d491722bcccaf28bfd7709bf371 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 22:44:47 -0400 Subject: Deswiss the cheese --- include/map_obj_8097404.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index e3b2b1efc..851739114 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -11,5 +11,6 @@ // Exported ROM declarations void sub_8097AC8(struct Sprite *); +void npc_sync_anim_pause_bits(struct MapObject *); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 5f189fa53b6791c5d0e24b85228797606f719bdc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 23:05:53 -0400 Subject: state_to_direction memes --- include/data3.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index d5bccf296..a19aa6fe8 100755 --- a/include/data3.h +++ b/include/data3.h @@ -36,7 +36,9 @@ extern const u8 gUnknown_0850D8E8[4]; extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)); extern bool8 (*const gUnknown_0850DB5C[])(u8); extern bool8 (*const gUnknown_0850DB6C[])(u8); -extern struct Coords16 gUnknown_0850DB7C[4]; +extern const struct Coords16 gUnknown_0850DB7C[4]; +extern const u8 gUnknown_0850DC2F[4][4]; +extern const u8 gUnknown_0850DC3F[4][4]; extern const u8 gUnknown_0850DBA0[5]; -- cgit v1.2.3 From 4e22f1e55fd43ebfd4c94dc7c22aa6b403249370 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 23:11:09 -0400 Subject: MapObjectExec***Anim --- include/data3.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index a19aa6fe8..ef6f5193d 100755 --- a/include/data3.h +++ b/include/data3.h @@ -42,4 +42,6 @@ extern const u8 gUnknown_0850DC3F[4][4]; extern const u8 gUnknown_0850DBA0[5]; +extern bool8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *); + #endif //GUARD_DATA3_H -- cgit v1.2.3 From 432924e56d99d37eb721a03907b0eab943458b60 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 23:31:43 -0400 Subject: npc_apply_direction --- include/map_obj_8097404.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 851739114..afa7a3bae 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -8,9 +8,12 @@ // Exported type declarations // Exported RAM declarations +extern void *gUnknown_020375B8; // Exported ROM declarations void sub_8097AC8(struct Sprite *); void npc_sync_anim_pause_bits(struct MapObject *); +void oamt_npc_ministep_reset(struct Sprite *, u8, u8); +u8 sub_8097F78(struct MapObject *); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 529ccf9a960209333b21aab59b620330370cc791 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 16 Sep 2017 23:49:31 -0400 Subject: do_go_anim --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index ef6f5193d..9cd6e2fe1 100755 --- a/include/data3.h +++ b/include/data3.h @@ -43,5 +43,6 @@ extern const u8 gUnknown_0850DC3F[4][4]; extern const u8 gUnknown_0850DBA0[5]; extern bool8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *); +extern u8 (*const gUnknown_0850DEE8[5])(u8); #endif //GUARD_DATA3_H -- cgit v1.2.3 From 0582b5cb909298b49e7f0588c042fb20a951be44 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 17 Sep 2017 08:05:33 -0400 Subject: npc_obj_ministep_stop_on_arrival --- include/field_ground_effect.h | 4 ++++ include/field_map_obj.h | 2 ++ include/map_obj_8097404.h | 1 + 3 files changed, 7 insertions(+) (limited to 'include') diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index b7242ee7c..63b67ceaf 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -14,5 +14,9 @@ void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); void InitObjectPriorityByZCoord(struct Sprite *, u8); bool8 IsZCoordMismatchAt(u8, s16, s16); bool8 AreZCoordsCompatible(u8, u8); +void FieldObjectUpdateSubpriority(struct MapObject *, struct Sprite *); +void DoGroundEffects_OnSpawn(struct MapObject *, struct Sprite *); +void DoGroundEffects_OnBeginStep(struct MapObject *, struct Sprite *); +void DoGroundEffects_OnFinishStep(struct MapObject *, struct Sprite *); #endif //GUARD_FIELD_GROUND_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 23749c91a..40cc64054 100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -39,6 +39,7 @@ void sub_8092FF0(s16, s16, s16 *, s16 *); u8 FieldObjectDirectionToImageAnimId(u8); void sub_80930E0(s16 *, s16 *, s16, s16); void FieldObjectClearAnim(struct MapObject *); +void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *); void SpawnFieldObjectsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8); @@ -69,6 +70,7 @@ u8 GetStepInPlaceDelay16AnimId(u32); u8 GetStepInPlaceDelay32AnimId(u32); u8 npc_block_way(struct MapObject *, s16, s16, u32); void MoveCoords(u8, s16 *, s16 *); +bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); // Exported data declarations diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index afa7a3bae..e5e6fba70 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -15,5 +15,6 @@ void sub_8097AC8(struct Sprite *); void npc_sync_anim_pause_bits(struct MapObject *); void oamt_npc_ministep_reset(struct Sprite *, u8, u8); u8 sub_8097F78(struct MapObject *); +bool8 obj_npc_ministep(struct Sprite *sprite); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 6439551e1a1effa0282145627aaef934a1b4b797 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 17 Sep 2017 08:20:42 -0400 Subject: Another chunk of functions, including some expanded from macros --- include/map_obj_8097404.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index e5e6fba70..85153f941 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -16,5 +16,7 @@ void npc_sync_anim_pause_bits(struct MapObject *); void oamt_npc_ministep_reset(struct Sprite *, u8, u8); u8 sub_8097F78(struct MapObject *); bool8 obj_npc_ministep(struct Sprite *sprite); +bool8 sub_80976EC(struct Sprite *sprite); +void sub_80976DC(struct Sprite *, u8); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From bf9a00250ba8f3d986b4829c0728ba620b58ec1c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 17 Sep 2017 08:38:00 -0400 Subject: maybe_shadow_1 which may or may not be a shadow --- include/data3.h | 1 + include/map_obj_8097404.h | 2 ++ 2 files changed, 3 insertions(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index 9cd6e2fe1..b9ddf3e55 100755 --- a/include/data3.h +++ b/include/data3.h @@ -44,5 +44,6 @@ extern const u8 gUnknown_0850DBA0[5]; extern bool8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *); extern u8 (*const gUnknown_0850DEE8[5])(u8); +extern const s16 gUnknown_0850DFBC[3]; #endif //GUARD_DATA3_H diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 85153f941..707860dbd 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -18,5 +18,7 @@ u8 sub_8097F78(struct MapObject *); bool8 obj_npc_ministep(struct Sprite *sprite); bool8 sub_80976EC(struct Sprite *sprite); void sub_80976DC(struct Sprite *, u8); +void sub_809783C(struct Sprite *, u8, u8, u8); +void DoShadowFieldEffect(struct MapObject *); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 8ee004b9b16f621e2ea9d4dffe5cfb34d3a1c38a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 17 Sep 2017 08:45:24 -0400 Subject: sub_80940C4 which may or may not be a meme --- include/data3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/data3.h b/include/data3.h index b9ddf3e55..8151e418c 100755 --- a/include/data3.h +++ b/include/data3.h @@ -45,5 +45,6 @@ extern const u8 gUnknown_0850DBA0[5]; extern bool8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *); extern u8 (*const gUnknown_0850DEE8[5])(u8); extern const s16 gUnknown_0850DFBC[3]; +extern const s16 gUnknown_0850DFC2[3]; #endif //GUARD_DATA3_H -- cgit v1.2.3 From 9dc7839dd875cc06b582bd78f2263478a0571535 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 17 Sep 2017 09:49:50 -0400 Subject: callers of sub_80940C4 --- include/map_obj_8097404.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 707860dbd..1fc653163 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -20,5 +20,7 @@ bool8 sub_80976EC(struct Sprite *sprite); void sub_80976DC(struct Sprite *, u8); void sub_809783C(struct Sprite *, u8, u8, u8); void DoShadowFieldEffect(struct MapObject *); +u8 sub_809785C(struct Sprite *); +u8 sub_80978E4(struct Sprite *); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 9b4c61658a6a5d164ba67d6434be94540601cc83 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 17 Sep 2017 10:58:24 -0400 Subject: npc_set_direction_and_anim__an_proceed --- include/map_obj_8097404.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 1fc653163..08b69f49a 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -22,5 +22,7 @@ void sub_809783C(struct Sprite *, u8, u8, u8); void DoShadowFieldEffect(struct MapObject *); u8 sub_809785C(struct Sprite *); u8 sub_80978E4(struct Sprite *); +void obj_anim_image_set_and_seek(struct Sprite *, u8, u8); +bool8 sub_80979BC(struct Sprite *); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 3356a4fb923d73bba9422b564bc1c0ef7e62f47c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 17 Sep 2017 11:39:49 -0400 Subject: Failed attempt to fix InitFieldObjectStateFromTemplate, but at least we fixed the weirdness with the double MapObject structs --- include/global.fieldmap.h | 72 +++++------------------------------------------ 1 file changed, 7 insertions(+), 65 deletions(-) (limited to 'include') diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 4a587cf57..ed5054b7d 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -226,71 +226,13 @@ struct MapObject /*0x14*/ struct Coords16 coords3; /*0x18*/ u8 mapobj_unk_18:4; //current direction? /*0x18*/ u8 placeholder18:4; - /*0x19*/ u8 mapobj_unk_19:4; - /*0x19*/ u8 mapobj_unk_19b:4; - /*0x1A*/ u8 mapobj_unk_1A; - /*0x1B*/ u8 mapobj_unk_1B; - /*0x1C*/ u8 mapobj_unk_1C; - /*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; - /*size = 0x24*/ -}; - -// THIS IS NEEDED TO MAKE TRAINER_SEE.C MATCH, PLEASE DO NOT REMOVE UNLESS YOU FIX CHECKPATHBETWEENTRAINERANDPLAYER -struct MapObject2 -{ - /*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; - /*0x04*/ u8 spriteId; - /*0x05*/ u8 graphicsId; - /*0x06*/ u8 animPattern; - /*0x07*/ u8 trainerType; - /*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; - /*0x18*/ u8 placeholder18:4; - /*0x19*/ u8 mapobj_unk_19:4; - /*0x19*/ u8 mapobj_unk_19b: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; /*0x1A*/ u8 mapobj_unk_1A; /*0x1B*/ u8 mapobj_unk_1B; /*0x1C*/ u8 mapobj_unk_1C; -- cgit v1.2.3 From 4b04e92e8b236d91ea5cc45813f914f10a86b748 Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 17 Sep 2017 13:26:17 -0400 Subject: Ten more functions (remaining function count is 99) --- include/field_effect_helpers.h | 1 + include/trainer_see.h | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 include/trainer_see.h (limited to 'include') diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 6504a84f1..e80daf3bd 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -11,5 +11,6 @@ // Exported ROM declarations u8 sub_8154228(void); +bool8 sub_8155DA0(struct MapObject *); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/trainer_see.h b/include/trainer_see.h new file mode 100644 index 000000000..3f39783b8 --- /dev/null +++ b/include/trainer_see.h @@ -0,0 +1,7 @@ +#ifndef GUARD_TRAINER_SEE_H +#define GUARD_TRAINER_SEE_H + +void sub_80B4578(struct MapObject *); +void sub_8155D78(struct MapObject *); + +#endif //GUARD_TRAINER_SEE_H -- cgit v1.2.3 From b54689b9a37d38ada226504c384054c56310e2dc Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 17 Sep 2017 14:12:32 -0400 Subject: Another four functions --- include/map_obj_8097404.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 08b69f49a..fd5616330 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -24,5 +24,7 @@ u8 sub_809785C(struct Sprite *); u8 sub_80978E4(struct Sprite *); void obj_anim_image_set_and_seek(struct Sprite *, u8, u8); bool8 sub_80979BC(struct Sprite *); +void sub_8097750(struct Sprite *); +bool8 sub_8097758(struct Sprite *); #endif //GUARD_MAP_OBJ_8097404_H -- cgit v1.2.3 From 70b1ad485719ce1854020222131a0c0daa5a16cd Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 17 Sep 2017 15:33:26 -0400 Subject: Remaining functions --- include/map_obj_8097404.h | 2 ++ include/sprite.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'include') diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index fd5616330..27ffd18cb 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -26,5 +26,7 @@ void obj_anim_image_set_and_seek(struct Sprite *, u8, u8); bool8 sub_80979BC(struct Sprite *); void sub_8097750(struct Sprite *); bool8 sub_8097758(struct Sprite *); +void sub_8097FA4(struct MapObject *); +void sub_8098044(u8); #endif //GUARD_MAP_OBJ_8097404_H diff --git a/include/sprite.h b/include/sprite.h index 7b3c9fb5a..838b0d7c0 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -240,6 +240,8 @@ struct OamMatrix extern const struct OamData gDummyOamData; extern const union AnimCmd *const gDummySpriteAnimTable[]; extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; +extern s16 gSpriteCoordOffsetX; +extern s16 gSpriteCoordOffsetY; extern struct Sprite gSprites[]; -- cgit v1.2.3 From 130ba76533e6b87696b8e960eb8a09cb951417ad Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 17 Sep 2017 17:50:07 -0400 Subject: remove data3.h --- include/data3.h | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100755 include/data3.h (limited to 'include') diff --git a/include/data3.h b/include/data3.h deleted file mode 100755 index 8151e418c..000000000 --- a/include/data3.h +++ /dev/null @@ -1,50 +0,0 @@ -// -// Created by Scott Norton on 9/8/17. -// - -#ifndef GUARD_DATA3_H -#define GUARD_DATA3_H - -struct PairedPalettes { - u16 tag; - const u16 *data; -}; - -extern u8 gUnknown_084975C4[0x10]; -extern const struct SpriteTemplate gUnknown_084975D4; -extern void (*const gUnknown_084975EC[3])(struct Sprite *); -extern const struct SpritePalette gUnknown_0850BBC8[]; -extern const struct PairedPalettes gUnknown_0850BD00[15]; -extern const struct PairedPalettes gUnknown_0850BD78[15]; -extern const u16 *const gUnknown_0850BE38[2]; -extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} -extern const s16 gUnknown_0850D6EC[4]; -extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} -extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} -extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} -extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} -extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} -extern const u8 gUnknown_0850D820[2]; // {DIR_SOUTH, DIR_WEST} -extern const u8 gUnknown_0850D838[2]; // {DIR_SOUTH, DIR_EAST} -extern const u8 gUnknown_0850D850[4]; -extern const u8 gUnknown_0850D868[4]; -extern const u8 gUnknown_0850D880[4]; -extern const u8 gUnknown_0850D898[4]; -extern const u8 gUnknown_0850D8AC[5]; -extern const u8 gUnknown_0850D8C4[5]; -extern const u8 gUnknown_0850D8E8[4]; -extern bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)); -extern bool8 (*const gUnknown_0850DB5C[])(u8); -extern bool8 (*const gUnknown_0850DB6C[])(u8); -extern const struct Coords16 gUnknown_0850DB7C[4]; -extern const u8 gUnknown_0850DC2F[4][4]; -extern const u8 gUnknown_0850DC3F[4][4]; - -extern const u8 gUnknown_0850DBA0[5]; - -extern bool8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *); -extern u8 (*const gUnknown_0850DEE8[5])(u8); -extern const s16 gUnknown_0850DFBC[3]; -extern const s16 gUnknown_0850DFC2[3]; - -#endif //GUARD_DATA3_H -- cgit v1.2.3