summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm.inc.h17
-rw-r--r--include/battle_interface.h36
-rw-r--r--include/field_ground_effect.h10
-rw-r--r--include/field_map_obj.h46
-rw-r--r--include/fieldmap.h4
-rw-r--r--include/global.h10
-rw-r--r--include/menu.h2
-rw-r--r--include/pokemon.h1
-rw-r--r--include/record_mixing.h16
-rw-r--r--include/songs.h4
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,