From 4d2b22a899c11dfcacfec6889968ab01655a3fe3 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Fri, 26 May 2017 14:53:51 +0200 Subject: Add headers --- include/battle.h | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) (limited to 'include/battle.h') diff --git a/include/battle.h b/include/battle.h index be474b59f..57d7f1b4b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -146,4 +146,103 @@ extern struct UnknownStruct1 unk_2016A00; extern struct UnknownStruct4 gUnknown_02024CA8[]; extern struct AI_ThinkingStruct gAIThinkingSpace; +// asm/battle_1.o +void sub_800D6D4(); +void sub_800D74C(); +void sub_800D7B8(void); +void sub_800DAB8(); +void sub_800DE30(u8); +void sub_800E23C(); + +// src/battle_2.o +void sub_800E7C4(void); +void InitBattle(void); +void sub_800EC9C(void); +void sub_800F104(void); +void sub_800F298(void); +void sub_800F808(void); +void sub_800F838(struct Sprite *); +u8 CreateNPCTrainerParty(struct Pokemon *, u16); +void sub_800FCFC(void); +void c2_8011A1C(void); +void sub_80101B8(void); +void c2_081284E0(void); +void sub_8010278(struct Sprite *); +void sub_80102AC(struct Sprite *); +void nullsub_37(struct Sprite *); +void sub_8010320(struct Sprite *); +void sub_8010494(struct Sprite *); +void sub_801053C(struct Sprite *); +void oac_poke_ally_(struct Sprite *); +void nullsub_86(struct Sprite *); +void objc_dp11b_pingpong(struct Sprite *); +void nullsub_41(void); +void sub_8010800(void); +void sub_8010824(void); +void sub_8010874(void); +void bc_8012FAC(void); +void bc_load_battlefield(void); +void sub_8011384(void); +void bc_801333C(void); +void bc_battle_begin_message(void); +void bc_8013568(void); +void sub_8011800(void); +void sub_8011834(void); +void bc_801362C(void); +void sub_8011970(void); +void sub_80119B4(void); +void sub_8011B00(void); +void sub_8011E8C(void); + +// asm/battle_2.o +void sub_8012324(void); +void sub_8012FBC(u8, u8); +u8 b_first_side(u8, u8, u8); +void sub_801365C(u8); +void sub_801377C(void); +void sub_80138F0(void); +void dp01_battle_side_mark_buffer_for_execution(); +void sub_80155A4(); +void b_cancel_multi_turn_move_maybe(u8); +void b_std_message(); +void sub_80156DC(); +void sub_80157C4(u8 index); + +// asm/battle_3.o +u8 sub_8015A98(u8, u8, u8); +u8 sub_8015DFC(); +u8 sub_8016558(); +u8 sub_80170DC(); +u8 sub_80173A4(); +u8 sub_8018324(u8, u8, u8, u8, u16); +u8 sub_801A02C(); + +// asm/battle_4.o +void sub_801CAF8(u8, u8); +void move_effectiveness_something(u16, u8, u8); + +// asm/battle_5.o +void nullsub_91(void); +void sub_802BF74(void); +void sub_802C098(); +void c3_0802FDF4(u8); +void sub_802E3E4(u8, int); +void nullsub_8(u8); +void sub_802E414(void); + +// asm/battle_7.o +void move_anim_start_t4(); +void nullsub_9(u16); +void nullsub_10(); +void load_gfxc_health_bar(); +u8 battle_load_something(); +void sub_8031F88(); +void sub_80324F8(); +void sub_8032638(); +void sub_8032AA8(u8 index, int i); +void sub_8032AE0(void); + +// asm/battle_9.o +void sub_8037510(void); + #endif // GUARD_BATTLE_H -- cgit v1.2.3 From 2aae7e99d52fc488e75309909d279b459f5e1d80 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Fri, 26 May 2017 15:35:40 +0200 Subject: Make rom build again --- include/battle.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'include/battle.h') diff --git a/include/battle.h b/include/battle.h index 57d7f1b4b..4520c97ca 100644 --- a/include/battle.h +++ b/include/battle.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_H #define GUARD_BATTLE_H +#include "sprite.h" + #define BATTLE_TYPE_DOUBLE 0x0001 #define BATTLE_TYPE_LINK 0x0002 #define BATTLE_TYPE_WILD 0x0004 @@ -35,7 +37,7 @@ extern u8 unk_2000000[]; // to do: maybe try to reduce the defines needed to match? #define BATTLE_STRUCT ((struct BattleStruct *)(unk_2000000)) #define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(unk_2000000 + 0x16800)) -#define UNK_2016A00_STRUCT ((struct UnknownStruct1 *)(unk_2000000 + 0x16A00)) +#define UNK_2016A00_STRUCT ((struct UnknownStruct1B *)(unk_2000000 + 0x16A00)) #define AI_STACK ((struct AI_Stack *)(unk_2000000 + 0x16C00)) #define AI_ARRAY_160CC ((struct SmallItemStruct *)(unk_2000000 + 0x160CC)) @@ -61,7 +63,7 @@ struct Trainer /*0x24*/ void *party; }; -struct UnknownStruct1 // AI_Opponent_Info? +struct UnknownStruct1B // AI_Opponent_Info? { /*0x00*/ u16 movesUsed[2][8]; // 0xFFFF means move not used (confuse self hit, etc) /*0x20*/ u8 unk20[2]; @@ -119,7 +121,7 @@ struct BattleStruct /* 0x2000000 */ u8 filler2[0x72E]; /* 0x16800 */ struct AI_ThinkingStruct ai; /* 0x2016800 */ u8 filler1681C[0x1E4]; - /* 0x16A00 */ struct UnknownStruct1 unk_2016A00_2; + /* 0x16A00 */ struct UnknownStruct1B unk_2016A00_2; }; struct UnknownStruct4 @@ -142,7 +144,7 @@ struct UnknownStruct4 /*0x17*/ u8 filler17[0x4]; }; -extern struct UnknownStruct1 unk_2016A00; +extern struct UnknownStruct1B unk_2016A00; extern struct UnknownStruct4 gUnknown_02024CA8[]; extern struct AI_ThinkingStruct gAIThinkingSpace; -- cgit v1.2.3 From 16db220259f321860e503282db86837124f3c66a Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 10 Jun 2017 12:56:59 -0500 Subject: move some common battle struct definitions to battle.h --- include/battle.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 51 insertions(+), 10 deletions(-) (limited to 'include/battle.h') diff --git a/include/battle.h b/include/battle.h index 3b4771869..e3ec0780e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -29,16 +29,6 @@ #define MAX_TRAINER_ITEMS 4 #define MAX_MON_MOVES 4 -// needed to match the hack that is get_item, thanks cam, someone else clean this up later. -extern u8 unk_2000000[]; - -// to do: maybe try to reduce the defines needed to match? -#define BATTLE_STRUCT ((struct BattleStruct *)(unk_2000000)) -#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(unk_2000000 + 0x16800)) -#define UNK_2016A00_STRUCT ((struct UnkBattleStruct1 *)(unk_2000000 + 0x16A00)) -#define AI_STACK ((struct AI_Stack *)(unk_2000000 + 0x16C00)) -#define AI_ARRAY_160CC ((struct SmallItemStruct *)(unk_2000000 + 0x160CC)) - enum { WEATHER_SUN, @@ -142,8 +132,59 @@ struct UnkBattleStruct4 /*0x17*/ u8 filler17[0x4]; }; +struct Struct2017800 +{ + u8 unk0_0:1; + u8 unk0_1:1; + u8 unk0_2:1; + u8 unk0_3:1; + u8 unk0_4:1; + u16 unk2; +}; + +struct Struct2017810 +{ + u8 unk0_0:1; + u8 unk0_1:1; + u8 unk0_2:1; + u8 unk0_3:1; + u8 unk0_4:1; + u8 unk0_5:1; + u8 unk0_6:1; + u8 unk0_7:1; + u8 unk1_0:1; + u8 unk2; + u8 unk3; + //u8 filler2[2]; + u8 unk4; + u8 unk5; + u8 filler6[2]; + u8 unk8; + u8 unk9; + u8 fillerA[2]; +}; + +struct Struct2017840 +{ + u16 unk0; + u8 filler2[7]; + u8 unk9; +}; + extern struct UnknownStruct1 unk_2016A00; extern struct UnkBattleStruct4 gUnknown_02024CA8[]; extern struct AI_ThinkingStruct gAIThinkingSpace; +// TODO: move ewram to global.h +extern u8 ewram[]; + +#define BATTLE_STRUCT ((struct BattleStruct *) (ewram + 0x00000)) +#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(ewram + 0x16800)) +#define UNK_2016A00_STRUCT ((struct UnkBattleStruct1 *) (ewram + 0x16A00)) +#define AI_STACK ((struct AI_Stack *) (ewram + 0x16C00)) +#define AI_ARRAY_160CC ((struct SmallItemStruct *) (ewram + 0x160CC)) +#define ewram17800 ((struct Struct2017800 *) (ewram + 0x17800)) +#define ewram17810 ((struct Struct2017810 *) (ewram + 0x17810)) +#define ewram17840 (*(struct Struct2017840 *) (ewram + 0x17840)) + #endif // GUARD_BATTLE_H -- cgit v1.2.3 From 974e4da9c9d325491df07d842da5eb6b45b50b2e Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 10 Jun 2017 16:50:56 -0500 Subject: decompile sub_8032350 - sub_80326EC --- include/battle.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include/battle.h') diff --git a/include/battle.h b/include/battle.h index e3ec0780e..5a054acc7 100644 --- a/include/battle.h +++ b/include/battle.h @@ -158,7 +158,8 @@ struct Struct2017810 //u8 filler2[2]; u8 unk4; u8 unk5; - u8 filler6[2]; + u8 unk6; + u8 unk7; u8 unk8; u8 unk9; u8 fillerA[2]; -- cgit v1.2.3 From f14f219929ec0390e385cb9eee9f10fda4baf73a Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 10 Jun 2017 20:53:06 -0500 Subject: finish decompiling battle_7 --- include/battle.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/battle.h') diff --git a/include/battle.h b/include/battle.h index 5a054acc7..ec406d2e6 100644 --- a/include/battle.h +++ b/include/battle.h @@ -169,7 +169,7 @@ struct Struct2017840 { u16 unk0; u8 filler2[7]; - u8 unk9; + u8 unk9_0:1; }; extern struct UnknownStruct1 unk_2016A00; -- cgit v1.2.3 From 2f437b0a94dd88cd78d0f6b4d92b9f5169531376 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Mon, 12 Jun 2017 19:34:01 -0500 Subject: Struct30042E0 --- include/battle.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'include/battle.h') diff --git a/include/battle.h b/include/battle.h index ec406d2e6..cfac2b44b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -132,6 +132,31 @@ struct UnkBattleStruct4 /*0x17*/ u8 filler17[0x4]; }; +struct Struct30042E0 +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5_0:1; + u8 unk5_1:1; + u16 unk6; + u8 unk8[10]; + u8 unk12; + u8 unk13; + u8 unk14[10]; + u8 filler1E[2]; + u16 unk20; + u16 unk22; + u16 unk24; + u16 unk26; + u16 unk28; + u8 unk2A[10]; + u8 filler34[2]; + u8 unk36[10]; +}; + struct Struct2017800 { u8 unk0_0:1; -- cgit v1.2.3