diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm.inc.h | 17 | ||||
-rw-r--r-- | include/battle_interface.h | 36 | ||||
-rw-r--r-- | include/field_ground_effect.h | 10 | ||||
-rw-r--r-- | include/field_map_obj.h | 46 | ||||
-rw-r--r-- | include/fieldmap.h | 4 | ||||
-rw-r--r-- | include/global.h | 10 | ||||
-rw-r--r-- | include/menu.h | 2 | ||||
-rw-r--r-- | include/pokemon.h | 1 | ||||
-rw-r--r-- | include/record_mixing.h | 16 | ||||
-rw-r--r-- | include/songs.h | 4 |
10 files changed, 112 insertions, 34 deletions
diff --git a/include/asm.inc.h b/include/asm.inc.h index c28050929..8921d14cd 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -1,6 +1,14 @@ // src/rom3.o void sub_800C35C(void); +struct UnkStruct8060024 { + u8 outsideMovementRect:1; + u8 tileIsImpassable:1; + u8 elevationMismatch:1; + u8 pathBlockedByObject:1; + u8 pad_04:4; +}; + // asm/battle_2.o void sub_800E7C4(void); u8 b_first_side(u8, u8, u8); @@ -31,7 +39,7 @@ void StoreWordInTwoHalfwords(u16 *, u32); void LoadWordFromTwoHalfwords(u16 *, u32 *); // src/daycare.o -u8 daycare_count_pokemon(u8 *); +u8 Daycare_CountPokemon(struct BoxPokemon *); // asm/daycare.o void sub_8041324(struct BoxPokemon *, void *); @@ -158,7 +166,7 @@ bool8 pokemon_has_move(struct Pokemon *, u16); void sub_806FA18(u8 taskId); // src/party_menu.o -void sub_806E834(); +u8 sub_806E834(const u8 *message, u8 arg1); // src/rom_8077ABC.o u8 battle_side_get_owner(u8); @@ -328,7 +336,7 @@ void sub_80C8F34(u8); // asm/easy_chat.o void InitEasyChatPhrases(void); u8* sub_80EB3FC(u8 *, u16); -u8 ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16, u16); +u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16, u16); // asm/pokenav.o void sub_80EBA5C(void); @@ -422,6 +430,9 @@ void sub_8134AC0(void *); // src/player_pc.o void NewGameInitPCItems(void); +// asm/hall_of_fame.o +void sub_8143648(u16 paletteTag, u8 arg1); + // src/diploma.o void sub_8145D88(void); diff --git a/include/battle_interface.h b/include/battle_interface.h new file mode 100644 index 000000000..e85f87a30 --- /dev/null +++ b/include/battle_interface.h @@ -0,0 +1,36 @@ +#ifndef GUARD_BATTLE_INTERFACE_H +#define GUARD_BATTLE_INTERFACE_H + +struct BattleInterfaceStruct1 +{ + s32 unk0; + s32 unk4; + s32 unk8; + u32 unkC_0:5; + u32 unk10; +}; + +struct BattleInterfaceStruct2 +{ + u16 unk0; + u32 unk4; +}; + +u8 battle_make_oam_normal_battle(u8); +u8 battle_make_oam_safari_battle(void); +void sub_8043D84(u8, u8, u32, u32, u32); +void sub_8043DB0(u8); +void sub_8043DFC(u8); +void nullsub_11(); +void sub_8043EB4(u8); +void sub_8043F44(u8); +void sub_804454C(void); +u8 sub_8044804(u8, const struct BattleInterfaceStruct2 *, u8, u8); +void sub_8044CA0(u8); +void sub_8045A5C(u8, struct Pokemon *, u8); +s32 sub_8045C78(u8, u8, u8, u8); +s16 sub_80460C8(struct BattleInterfaceStruct1 *, int *, void *, int); +u8 GetScaledHPFraction(s16, s16, u8); +int GetHPBarLevel(s16, s16); + +#endif // GUARD_BATTLE_INTERFACE_H diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h new file mode 100644 index 000000000..590923041 --- /dev/null +++ b/include/field_ground_effect.h @@ -0,0 +1,10 @@ +// +// Created by Scott Norton on 5/22/17. +// + +#ifndef POKERUBY_FIELD_GROUND_EFFECT_H +#define POKERUBY_FIELD_GROUND_EFFECT_H + +bool8 IsZCoordMismatchAt(u8 z, s16 x, s16 y); + +#endif //POKERUBY_FIELD_GROUND_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 4c2d4c705..c160f1c72 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -3,40 +3,52 @@ #include "sprite.h" +#define fieldmap_object_cb(setup, callback, table) \ +extern u8 (*const table[])(struct MapObject *, struct Sprite *);\ +static u8 callback(struct MapObject *, struct Sprite *);\ +void setup(struct Sprite *sprite)\ +{\ + meta_step(&gMapObjects[sprite->data0], sprite, callback);\ +}\ +static u8 callback(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + return table[sprite->data1](mapObject, sprite);\ +} + +#define fieldmap_object_null_cb(setup, callback) \ +static u8 callback(struct MapObject *, struct Sprite *);\ +void setup(struct Sprite *sprite)\ +{\ + meta_step(&gMapObjects[sprite->data0], sprite, callback);\ +}\ +static u8 callback(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + return 0;\ +} + + void sub_805C058(struct MapObject *mapObject, s16 a, s16 b); void FieldObjectSetDirection(struct MapObject *pObject, u8 unk_18); void MoveCoords(u8 direction, s16 *x, s16 *y); -void meta_step(struct MapObject *pObject, struct Sprite *pSprite, u8 (*d8)()); +void meta_step(struct MapObject *pObject, struct Sprite *pSprite, u8 (*d8)(struct MapObject *, struct Sprite *)); +void npc_reset(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_08375240[4]; extern u8 (*const gUnknown_08375244[])(s16 a0, s16 a1, s16 a2, s16 a3); -extern u8 (*const gUnknown_08375270[])(struct MapObject *mapObject, struct Sprite *sprite); -extern u8 (*const gUnknown_08375284[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_083752A0[2]; -extern u8 (*const gUnknown_083752A4[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_083752C0[2]; -extern u8 (*const gUnknown_083752C4[])(struct MapObject *mapObject, struct Sprite *sprite); -extern u8 (*const gUnknown_083752D0[])(struct MapObject *mapObject, struct Sprite *sprite); -extern u8 (*const gUnknown_083752E4[])(struct MapObject *mapObject, struct Sprite *sprite); -extern u8 (*const gUnknown_083752F8[])(struct MapObject *mapObject, struct Sprite *sprite); -extern u8 (*const gUnknown_0837530C[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_08375320[2]; -extern u8 (*const gUnknown_08375324[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_08375338[2]; -extern u8 (*const gUnknown_0837533C[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_08375350[2]; -extern u8 (*const gUnknown_08375354[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_08375368[2]; -extern u8 (*const gUnknown_0837536C[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_08375380[2]; -extern u8 (*const gUnknown_08375384[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_08375398[2]; -extern u8 (*const gUnknown_0837539C[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_083753B0[2]; -extern u8 (*const gUnknown_083753B4[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_083753C8[2]; -extern u8 (*const gUnknown_083753CC[])(struct MapObject *mapObject, struct Sprite *sprite); extern const u8 gUnknown_083753DC[5]; +extern const u8 gUnknown_083753F4[5]; + +extern const u8 gUnknown_0837567B[9]; #endif // GUARD_FIELD_MAP_OBJ_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 936d27b4a..530e15798 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -1,6 +1,10 @@ #ifndef GUARD_FIELDMAP2_H #define GUARD_FIELDMAP2_H +#include "field_map_obj.h" struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection); +int GetMapBorderIdAt(int x, int y); +extern bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction); +int CanCameraMoveInDirection(int direction); #endif diff --git a/include/global.h b/include/global.h index 5edb3239f..34946c895 100644 --- a/include/global.h +++ b/include/global.h @@ -464,6 +464,10 @@ struct GabbyAndTyData { u8 valB; }; +struct RecordMixing_UnknownStruct { + u8 data[0x38]; +}; + struct SaveBlock1 /* 0x02025734 */ { /*0x00*/ struct Coords16 pos; @@ -538,9 +542,9 @@ struct SaveBlock1 /* 0x02025734 */ /*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff /*0x2DFC*/ u8 filler_2DFC[0x8]; /*0x2E04*/ SB_Struct sbStruct; - /*0x2F9C*/ u8 filler_2F9C[0xA0]; - /*0x303C*/ u8 filler_303C[0x38]; - /*0x3074*/ u8 filler_3074[0x42]; + /*0x2F9C*/ struct BoxPokemon daycareData[2]; + /*0x303C*/ struct RecordMixing_UnknownStruct filler_303C[2]; + /*0x30AC*/ u8 filler_30AC[0xA]; /*0x30B6*/ u8 filler_30B6; /*0x30B7*/ u8 filler_30B7[1]; /*0x30B8*/ u8 linkBattleRecords[5][16]; diff --git a/include/menu.h b/include/menu.h index c3dcbc969..6a11ffdc2 100644 --- a/include/menu.h +++ b/include/menu.h @@ -49,7 +49,7 @@ void PrintMenuItemsReordered(u8, u8, u8, const struct MenuAction[], u8*); void InitYesNoMenu(u8, u8, u8); void DisplayYesNoMenu(u8, u8, u32); s8 ProcessMenuInputNoWrap_(void); -u8 MenuPrint_PixelCoords(u8 *, u8, u16, u8); +u8 MenuPrint_PixelCoords(const u8 *, u8, u16, u8); u8 sub_8072A18(u8 *, u8, u16, u8, u32); u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32); int sub_8072AB0(u8 *, u8, u16, u8, u8, u32); diff --git a/include/pokemon.h b/include/pokemon.h index ae02de8ca..15a028d6e 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -462,4 +462,5 @@ void MonRestorePP(struct Pokemon *); u8 *sub_803F378(u16 itemId); +u16 NationalPokedexNumToSpecies(u16 nationalNum); #endif // GUARD_POKEMON_H diff --git a/include/record_mixing.h b/include/record_mixing.h index 39cf5bd43..72a089ca1 100644 --- a/include/record_mixing.h +++ b/include/record_mixing.h @@ -4,16 +4,16 @@ #include <stddef.h> void sub_80B929C(void); -void sub_80B92AC(void); -void sub_80B93B0(u32 a); -void sub_80B9450(u8 taskId); -void sub_80B9484(u8 taskId); +void RecordMixing_PrepareExchangePacket(void); +void RecordMixing_ReceiveExchangePacket(u32 a); +void Task_RecordMixing_SoundEffect(u8 taskId); +void Task_RecordMixing_Main(u8 taskId); void sub_80B95F0(u8 taskId); -void sub_80B97DC(u8 taskId); -void Task_CopyRecvBuffer(u8 taskId); +void Task_RecordMixing_SendPacket(u8 taskId); +void Task_RecordMixing_CopyReceiveBuffer(u8 taskId); void sub_80B99B4(u8 taskId); -void sub_80B99E8(u8 taskId); -void sub_80B9A1C(u8 taskId); +void Task_RecordMixing_ReceivePacket(u8 taskId); +void Task_RecordMixing_SendPacket_SwitchToReceive(u8 taskId); void *LoadPtrFromTaskData(u16 *ptr); void StorePtrInTaskData(void *ptr, u16 *data); u8 GetMultiplayerId_(void); diff --git a/include/songs.h b/include/songs.h index 244bb9808..c465ac562 100644 --- a/include/songs.h +++ b/include/songs.h @@ -120,7 +120,7 @@ enum /*0x72*/ SE_TB_START, /*0x73*/ SE_TB_KON, /*0x74*/ SE_TB_KARA, - SE_BIDORO, + /*0x75*/ SE_BIDORO, SE_W085, SE_W085B, SE_W231, @@ -269,7 +269,7 @@ enum BGM_GIM, BGM_NAMINORI, BGM_DAN01, - BGM_FANFA1, + /*0x16F*/ BGM_FANFA1, BGM_ME_ASA, BGM_ME_BACHI, BGM_FANFA4, |