summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-11-22 12:14:58 -0600
committerGitHub <noreply@github.com>2021-11-22 12:14:58 -0600
commitfd8720b75c56ef3f641e6c5abf6c446929c824b9 (patch)
tree7b65558bd366be680c577e6a0aea7787db24dd3f /src
parent938a88551f6ddefb7f696b738696c8ce2d8e0e36 (diff)
Label all entities in Boss Fight Cutscenes (#78)
* label all entities in cutscenes * remove commented func.. wasn't matching anyway * Skarmony -> Skarmory
Diffstat (limited to 'src')
-rw-r--r--src/code_801AFA4.c6
-rw-r--r--src/code_801B3C0.c341
-rw-r--r--src/code_8041AD0.c3
-rw-r--r--src/code_80521D0_1.c241
-rw-r--r--src/code_8057824_1.c1107
-rw-r--r--src/code_806CD90.c88
-rw-r--r--src/code_80848F0.c230
-rw-r--r--src/code_80869E4.c24
-rw-r--r--src/code_8086A3C.c206
-rw-r--r--src/friend_area_action_menu_1.c1
-rw-r--r--src/friend_list_menu.c1
-rw-r--r--src/kangaskhan_storage_2.c2
-rw-r--r--src/luminous_cave.c5
-rw-r--r--src/mailbox.c8
-rw-r--r--src/mailbox_1.c161
-rw-r--r--src/pelipper_board_1.c160
-rw-r--r--src/pokemon_mid.c8
-rw-r--r--src/wonder_mail_2.c4
-rw-r--r--src/wonder_mail_3_mid.c4
19 files changed, 1866 insertions, 734 deletions
diff --git a/src/code_801AFA4.c b/src/code_801AFA4.c
index 03183ae..3f00c22 100644
--- a/src/code_801AFA4.c
+++ b/src/code_801AFA4.c
@@ -35,7 +35,7 @@ extern void sub_8094060(void *, struct PokemonMove *);
extern void PlaySound(u32);
extern void sub_80141B4(u32 *, u32, u32 ,u32);
extern void sub_8014248(u32 *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32);
-extern void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon);
+extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
extern s32 sub_80144A4(s32 *);
extern u32 sub_801E8C0(void);
extern void sub_801E93C(void);
@@ -163,7 +163,7 @@ void sub_801B178(void)
for(monIndex = 0; monIndex < gUnknown_203B22C->monsAbleToLearnMove; monIndex++)
{
bufferPtr = gAvailablePokemonNames + (0x50 * monIndex);
- sub_808DA34(bufferPtr, &gRecruitedPokemonRef->pokemon[gUnknown_203B22C->unk50[monIndex]]);
+ PrintPokeNameToBuffer(bufferPtr, &gRecruitedPokemonRef->pokemon[gUnknown_203B22C->unk50[monIndex]]);
gUnknown_203B22C->menuItems[monIndex].text = bufferPtr;
gUnknown_203B22C->menuItems[monIndex].menuAction = monIndex + 4;
}
@@ -188,7 +188,7 @@ void sub_801B200(void)
default:
gUnknown_203B22C->chosenPokemon = gUnknown_203B22C->unk50[temp - 4];
gUnknown_203B22C->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B22C->chosenPokemon];
- sub_808DA34(gUnknown_202E218, gUnknown_203B22C->pokeStruct);
+ PrintPokeNameToBuffer(gUnknown_202E218, gUnknown_203B22C->pokeStruct);
sub_809401C(gUnknown_203B22C->moves, gUnknown_203B22C->pokeStruct->moves);
for(moveIndex = 0; moveIndex < MAX_MON_MOVES * 2; moveIndex++)
{
diff --git a/src/code_801B3C0.c b/src/code_801B3C0.c
index 19f2f7f..7dde248 100644
--- a/src/code_801B3C0.c
+++ b/src/code_801B3C0.c
@@ -1,8 +1,11 @@
#include "global.h"
+#include "constants/colors.h"
#include "text.h"
#include "input.h"
-#include "memory.h"
#include "item.h"
+#include "memory.h"
+#include "menu.h"
+#include "pokemon.h"
#include "team_inventory.h"
struct subStruct_203B240
@@ -30,9 +33,54 @@ struct unkStruct_203B230
};
extern struct unkStruct_203B230 *gUnknown_203B230;
+struct unkStruct_203B234
+{
+ // size: 0x154
+ u32 unk0;
+ u32 state;
+ u32 unk8;
+ u8 unkC;
+ u8 fillD[0x10 - 0xD];
+ struct ItemSlot unk10;
+ struct unkStruct_8090F58 unk14;
+ struct ItemSlot unk20;
+ u32 unk24;
+ u32 unk28;
+ u8 fill2C[0x78 - 0x2C];
+ u32 unk78;
+ u8 fill7C[0xC8 - 0x7C];
+ u32 unkC8;
+ struct MenuItem unkCC[5];
+ struct UnkTextStruct2 unkF4[4];
+};
+
+extern struct unkStruct_203B234 *gUnknown_203B234;
+
+extern u8 gUnknown_202DE58[];
extern u8 gAvailablePokemonNames[0x58];
extern u8 gUnknown_80DBA4C[];
+extern u8 gUnknown_80DBB9C[];
+extern u8 gUnknown_80DBD24[];
+extern u8 gUnknown_80DBCE8[];
+extern u8 gUnknown_80DBCC4[];
+extern u8 gUnknown_80DBC98[];
+extern u8 gUnknown_80DBC60[];
+extern u8 gUnknown_80DBC28[];
+extern u8 gUnknown_80DBB9C[];
+extern u8 gUnknown_80DBAA0[];
+extern u8 gUnknown_80DBAD0[];
+extern u8 gUnknown_80DBB08[];
+extern u8 gUnknown_80DBB38[];
+extern u8 gKangaskhanTrashToolboxItem[];
+extern u8 gKangaskhanTrashReceivedItem[];
+extern struct UnkTextStruct2 gUnknown_80DBA58;
+extern struct UnkTextStruct2 gUnknown_80DBA88;
+extern struct UnkTextStruct2 gUnknown_80DBA70;
+extern void sub_801BB5C(void);
+extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *);
+extern struct PokemonStruct *GetPlayerPokemonStruct(void);
+extern void sub_801B748(u32);
extern void sub_8008C54(u32);
extern void sub_80073E0(u32);
extern void sub_80073B8(u32);
@@ -41,11 +89,32 @@ extern void PlayMenuSoundEffect(u32);
extern void sub_8013F84(void);
extern u32 sub_8012A64(u32 *, u32);
extern s32 sub_80913E0(struct ItemSlot *, u32, struct subStruct_203B240 **);
-
+extern void sub_80141B4(u8 *, u32, u32 *, u32);
+extern void sub_8012EA4(u32 *, u32);
+extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32);
+extern void sub_801BB20(void);
+extern void sub_801A8D0(u32);
+extern void sub_801A9E0(void);
+extern void sub_801BC24(void);
+extern void sub_801A5D8(u32, u32, u32, u32);
+extern void sub_8014248(const char *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32);
extern void sub_801317C(u32 *);
extern void sub_80140B4(struct UnkTextStruct2 *);
extern void sub_801B46C(u32);
extern void ResetSprites(u32);
+extern void sub_801BC64(void);
+extern void sub_801BC94(void);
+extern void sub_801BCCC(void);
+extern void sub_801BD80(void);
+extern void sub_801BEAC(void);
+extern void sub_801BE30(void);
+extern void sub_801BEC8(void);
+extern void sub_801B760(void);
+extern void sub_801B874(void);
+extern u32 sub_8001784(u32, u32, u32);
+extern void sub_800199C(u32, u32, u32, u32);
+extern void PlaySound(u32);
+extern s32 sub_808D544(u32);
void sub_801B51C();
void sub_801B590();
@@ -181,3 +250,271 @@ void sub_801B590(void)
break;
}
}
+
+u32 sub_801B60C(u32 r0, u8 itemIndex, u8 numItems)
+{
+ gUnknown_203B234 = MemoryAlloc(0x154, 8);
+ gUnknown_203B234->unkC8 = 0;
+ gUnknown_203B234->unk0 = r0;
+ gUnknown_203B234->unk10.itemIndex = itemIndex;
+ if(IsThrowableItem(gUnknown_203B234->unk10.itemIndex))
+ {
+ gUnknown_203B234->unk10.numItems = numItems;
+ gUnknown_203B234->unkC = numItems;
+ }
+ else
+ {
+ gUnknown_203B234->unk10.numItems = 0;
+ gUnknown_203B234->unkC = 1;
+ }
+ gUnknown_203B234->unk10.itemFlags = ITEM_FLAG_EXISTS;
+ gUnknown_203B234->unk14.unk0 = 0;
+ gUnknown_203B234->unk14.unk4 = 0;
+ gUnknown_203B234->unk14.unk8 = 1;
+ PrintColoredPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct(), COLOR_YELLOW);
+ sub_8090E14(gUnknown_202DE58, &gUnknown_203B234->unk10, &gUnknown_203B234->unk14);
+ sub_801B748(0);
+ return 1;
+}
+
+u32 sub_801B6AC(void)
+{
+ switch(gUnknown_203B234->state)
+ {
+ case 16:
+ return 3;
+ case 6:
+ sub_801BC64();
+ break;
+ case 7:
+ sub_801BC94();
+ break;
+ case 8:
+ case 9:
+ sub_801BCCC();
+ break;
+ case 10:
+ sub_801BD80();
+ break;
+ case 11:
+ sub_801BEAC();
+ break;
+ case 12:
+ sub_801BE30();
+ break;
+ case 13:
+ case 14:
+ case 15:
+ default:
+ sub_801BEC8();
+ break;
+
+ }
+ return 0;
+}
+
+void sub_801B72C(void)
+{
+ if(gUnknown_203B234 != NULL)
+ {
+ MemoryFree(gUnknown_203B234);
+ gUnknown_203B234 = NULL;
+ }
+}
+
+void sub_801B748(u32 newState)
+{
+ gUnknown_203B234->state = newState;
+ sub_801B760();
+ sub_801B874();
+}
+
+void sub_801B760(void)
+{
+ s32 iVar4;
+ switch(gUnknown_203B234->state)
+ {
+ case 1:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 11:
+ case 13:
+ case 14:
+ case 15:
+ sub_8006518(gUnknown_203B234->unkF4);
+ for(iVar4 = 0; iVar4 < 4; iVar4++)
+ {
+ gUnknown_203B234->unkF4[iVar4] = gUnknown_80DBA58;
+ }
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B234->unkF4, 1, 1);
+ break;
+ case 10:
+ sub_8006518(gUnknown_203B234->unkF4);
+ sub_801BB5C();
+ gUnknown_203B234->unkF4[2] = gUnknown_80DBA70;
+ sub_8012CAC(&gUnknown_203B234->unkF4[2], gUnknown_203B234->unkCC);
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B234->unkF4, 1, 1);
+ break;
+ case 12:
+ sub_8006518(gUnknown_203B234->unkF4);
+ gUnknown_203B234->unkF4[1] = gUnknown_80DBA88;
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B234->unkF4, 1, 1);
+ break;
+ }
+}
+
+void sub_801B874(void)
+{
+
+ switch(gUnknown_203B234->state)
+ {
+ case 0:
+ if (gUnknown_203B234->unk10.itemIndex == ITEM_ID_WEAVILE_FIG) {
+ gUnknown_203B234->unk8 = 0x10;
+ if(sub_8001784(0,0x47,1) != 0)
+ {
+ AddToTeamMoney(1000);
+ sub_801B748(4);
+ }
+ else
+ {
+ sub_800199C(0, 0x47, 1, 1);
+ sub_801B748(3);
+ }
+ }
+ else if (gUnknown_203B234->unk10.itemIndex == ITEM_ID_MIME_JR_FIG)
+ {
+ gUnknown_203B234->unk8 = 0x10;
+ if(sub_8001784(0, 0x47, 0) != 0)
+ {
+ AddToTeamMoney(1000);
+ sub_801B748(4);
+ }
+ else
+ {
+ sub_800199C(0, 0x47, 0, 1);
+ sub_801B748(3);
+ }
+ }
+ else
+ {
+ if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
+ {
+ if(IsNotMoneyOrUsedTMItem(gUnknown_203B234->unk10.itemIndex))
+ {
+ if((gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.itemIndex] + gUnknown_203B234->unkC) > 0x3e7)
+ {
+ store:
+ gUnknown_203B234->unk8 = 6;
+ }
+ else
+ {
+ gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.itemIndex] += gUnknown_203B234->unkC;
+ PlaySound(0xCB);
+ gUnknown_203B234->unk8 = 5;
+ }
+ }
+ else
+ {
+ goto store;
+ }
+ }
+ else
+ {
+ AddItemToInventory(&gUnknown_203B234->unk10);
+ FillInventoryGaps();
+ PlaySound(0xCB);
+ gUnknown_203B234->unk8 = 0x10;
+ }
+ if(gUnknown_203B234->unk0 == 1)
+ sub_801B748(2);
+ else
+ sub_801B748(1);
+ }
+ break;
+ case 1:
+ if (sub_808D544(0) < 2) {
+ sub_80141B4(gUnknown_80DBAA0,0,0,0x101);
+ }
+ else {
+ sub_80141B4(gUnknown_80DBAD0,0,0,0x101);
+ }
+ break;
+ case 2:
+ sub_80141B4(gUnknown_80DBB08,0,0,0x101);
+ break;
+ case 3:
+ PlaySound(0xd4);
+ sub_80141B4(gUnknown_80DBB38,0,0,0x101);
+ break;
+ case 4:
+ sub_80141B4(gUnknown_80DBB9C,0,0,0x101);
+ break;
+ case 5:
+ gUnknown_203B234->unk8 = 0x10;
+ sub_80141B4(gUnknown_80DBC28,0,0,0x101);
+ break;
+ case 6:
+ sub_801BB20();
+ sub_8014248(gUnknown_80DBC60,0,4,gUnknown_203B234->unkCC,
+ 0,4,0,0,0);
+ break;
+ case 7:
+ sub_801BC24();
+ sub_8014248(gUnknown_80DBC98,0,3,gUnknown_203B234->unkCC,0,4,0,0,0);
+ break;
+ case 8:
+ sub_801A5D8(1,3,0,10);
+ break;
+ case 9:
+ sub_801A8D0(1);
+ break;
+ case 10:
+ sub_801A9E0();
+ sub_8012D60(&gUnknown_203B234->unk28,gUnknown_203B234->unkCC,0,0,gUnknown_203B234->unkC8,2);
+ break;
+ case 0xb:
+ sub_801B3C0(&gUnknown_203B234->unk20);
+ break;
+ case 0xc:
+ sub_801A9E0();
+ sub_8012EA4(&gUnknown_203B234->unk28,0);
+ sub_801BC24();
+ sub_8012D60(&gUnknown_203B234->unk78,gUnknown_203B234->unkCC,0,0,3,1);
+ break;
+ case 0xd:
+ gUnknown_203B234->unk8 = 0x10;
+ sub_80141B4(gUnknown_80DBCC4,0,0,0x101);
+ break;
+ case 0xe:
+ gUnknown_203B234->unk8 = 0x10;
+ sub_80141B4(gUnknown_80DBCE8,0,0,0x101);
+ break;
+ case 0xf:
+ gUnknown_203B234->unk8 = 0x10;
+ sub_80141B4(gUnknown_80DBD24,0,0,0x101);
+ break;
+ case 0x10:
+ break;
+ }
+}
+
+void sub_801BB20(void)
+{
+ struct unkStruct_203B234 *preload;
+ u8 *nullText;
+
+ preload = gUnknown_203B234;
+ nullText = NULL;
+ preload->unkCC[0].text = gKangaskhanTrashToolboxItem;
+ preload->unkCC[0].menuAction = 4;
+ preload->unkCC[1].text = gKangaskhanTrashReceivedItem;
+ preload->unkCC[1].menuAction = 5;
+ preload->unkCC[2].text = nullText;
+ preload->unkCC[2].menuAction = -1;
+}
diff --git a/src/code_8041AD0.c b/src/code_8041AD0.c
index f711b92..70b063c 100644
--- a/src/code_8041AD0.c
+++ b/src/code_8041AD0.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "dungeon_entity.h"
#include "dungeon_global_data.h"
+#include "constants/direction.h"
struct unkStruct_80420E8
{
@@ -147,7 +148,7 @@ void sub_8041BE8(struct DungeonEntity *r0)
void sub_8041BF8(struct DungeonEntity *r0)
{
- sub_806CDD4(r0, 0xA, 8);
+ sub_806CDD4(r0, 0xA, NUM_DIRECTIONS);
}
void sub_8041C08(struct DungeonEntity *r0)
diff --git a/src/code_80521D0_1.c b/src/code_80521D0_1.c
index 04e70a9..a5cd497 100644
--- a/src/code_80521D0_1.c
+++ b/src/code_80521D0_1.c
@@ -6,7 +6,7 @@
#include "pokemon.h"
#include "constants/direction.h"
-extern struct DungeonEntity *sub_8085480(void);
+extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
extern struct DungeonEntity *sub_8085680(u32);
extern char gUnknown_202E038[0x50];
extern struct DungeonGlobalData *gDungeonGlobalData;
@@ -90,8 +90,7 @@ extern void sub_806CE68(struct DungeonEntity *, u32);
extern void sub_804539C(struct DungeonEntity *, u32, u32);
extern void sub_803E46C(u32);
extern void sub_8042B0C(struct DungeonEntity *);
-extern void sub_8085918(struct DungeonEntity *, u32);
-extern void sub_806CE68(struct DungeonEntity *r0, u32);
+extern void SetFacingDirection(struct DungeonEntity *, u32);
extern void sub_8052910(u32 *);
extern void sub_803E708(u32, u32);
extern u8 EntityExists(struct DungeonEntity *);
@@ -185,7 +184,7 @@ void sub_808BC20(struct DungeonEntity * param_1)
PlaySoundEffect(0x298);
for(uVar1 = 0; uVar1 < 0x19; uVar1++){
- sub_8085918(param_1,uVar1 & 7);
+ SetFacingDirection(param_1,uVar1 & DIRECTION_MASK);
sub_803E708(3,0x46);
}
param_1->entityData->unk15E = 1;
@@ -278,24 +277,24 @@ u8 JirachiFriendAreaSearch(void)
void sub_808BDEC(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * LugiaEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x1b);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ LugiaEntity = sub_8085680(0x1b);
sub_8083F14();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
if (HasRecruitedMon(SPECIES_LUGIA)) {
sub_8083E88(0x23);
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(LugiaEntity,0x21c,0);
}
else {
gDungeonGlobalData->unk7 = 1;
- sub_8085918(uVar3,0);
+ SetFacingDirection(LugiaEntity, DIRECTION_SOUTH);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LUGIA);
}
@@ -309,11 +308,11 @@ void sub_808BE70(u8 param_1,u8 param_2)
void LugiaPreFightDialogue(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * LugiaEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x1b);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ LugiaEntity = sub_8085680(0x1b);
if (HasRecruitedMon(SPECIES_LUGIA)) {
sub_8086448();
sub_80866C4(&gUnknown_8106068);
@@ -330,21 +329,21 @@ void LugiaPreFightDialogue(void)
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8105F74);
PlaySoundEffect(0x1f8);
- sub_80861D4(uVar3,0xd,0);
+ sub_80861D4(LugiaEntity,0xd,0);
sub_803E708(0x2b,0x46);
- sub_80861B8(uVar3,0,0);
+ sub_80861B8(LugiaEntity,0,0);
sub_8052910(&gUnknown_8105FA0);
sub_808BFA0();
sub_8052910(&gUnknown_8105FD8);
sub_808C02C();
sub_8085C54(0xffffff06,0xffffff06,0xffffff06,1,0);
sub_8083F14();
- sub_80861D4(uVar3,7,0);
+ sub_80861D4(LugiaEntity,7,0);
sub_8052910(&gUnknown_8106024);
sub_808BFA0();
- SetupBossFightHP(uVar3,800,0x20);
+ SetupBossFightHP(LugiaEntity,800,0x20);
sub_8083E88(0x23);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -415,25 +414,25 @@ void sub_808C0CC(void)
void sub_808C10C(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * KyogreEntity;
u32 uVar3;
s32 iVar2;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x1c);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ KyogreEntity = sub_8085680(0x1c);
sub_8083F14();
sub_80854D4();
sub_8085930(4);
if (HasRecruitedMon(SPECIES_KYOGRE)) {
- sub_8068FE0(uVar2,0x21c,0);
+ sub_8068FE0(KyogreEntity,0x21c,0);
}
else {
gDungeonGlobalData->unk7 = 1;
- sub_8085918(uVar2,0);
+ SetFacingDirection(KyogreEntity, DIRECTION_SOUTH);
}
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
uVar3 = sub_803F994();
iVar2 = sub_803F9B0();
sub_803F878(uVar3,iVar2 + -0x1000);
@@ -452,15 +451,15 @@ void sub_808C1A4(u8 param_1,u8 param_2)
void KyogrePreFightDialogue(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *KyogreEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x1c);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ KyogreEntity = sub_8085680(0x1c);
sub_8083F14();
if (HasRecruitedMon(SPECIES_KYOGRE)) {
sub_8083EA8(0x23,0x3c);
- SpriteLookAroundEffect(iVar2);
+ SpriteLookAroundEffect(LeaderEntity);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_81062A8);
sub_803E708(10,0x46);
@@ -492,9 +491,9 @@ void KyogrePreFightDialogue(void)
// power!
sub_8052910(&gUnknown_810627C);
sub_803E708(10,0x46);
- SetupBossFightHP(uVar3,600,0xb);
+ SetupBossFightHP(KyogreEntity,600,0xb);
sub_8083E88(0x23);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -537,9 +536,9 @@ void sub_808C360(void)
void sub_808C3A0(void)
{
- struct DungeonEntity * iVar2;
+ struct DungeonEntity * LeaderEntity;
- iVar2 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_8083F14();
sub_80854D4();
sub_8085930(4);
@@ -551,7 +550,7 @@ void sub_808C3A0(void)
gDungeonGlobalData->unk7 = 1;
sub_808563C(sub_808C5A0);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_DEOXYS_NORMAL);
}
@@ -565,9 +564,9 @@ void sub_808C414(u8 param_1,u8 param_2)
void DeoxysPreFightDialogue(void)
{
- struct DungeonEntity * iVar2;
+ struct DungeonEntity * LeaderEntity;
- iVar2 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_8086448();
if (HasRecruitedMon(SPECIES_DEOXYS_NORMAL)) {
// There appears to be no one here.
@@ -585,7 +584,7 @@ void DeoxysPreFightDialogue(void)
sub_8052910(&gUnknown_8106390);
sub_803E708(10,0x46);
sub_808563C(sub_808C5AC);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -629,29 +628,29 @@ void sub_808C590(struct DungeonEntity *r0)
void sub_808C5A0(struct DungeonEntity *r0)
{
- sub_8085918(r0, 0);
+ SetFacingDirection(r0, DIRECTION_SOUTH);
}
void sub_808C5AC(struct DungeonEntity *r0)
{
- SetupBossFightHP(r0, 0x3b6, 0x20);
+ SetupBossFightHP(r0, 950, 0x20);
}
void sub_808C5C0(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * CelebiEntity;
u32 uVar3;
s32 iVar2;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x1e);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ CelebiEntity = sub_8085680(0x1e);
sub_8083E88(0x7f);
sub_80854D4();
sub_8085930(4);
- sub_8085918(uVar2,0);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
+ SetFacingDirection(CelebiEntity, DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
uVar3 = sub_803F994();
iVar2 = sub_803F9B0();
sub_803F878(uVar3,iVar2 + 0xfffff000);
@@ -666,26 +665,26 @@ void nullsub_100(u32 r0, u32 r1, u32 r2)
#ifdef NONMATCHING
void CelebiJoinDialogue(void)
{
- struct DungeonEntity *uVar2;
+ struct DungeonEntity *LeaderEntity;
s32 state;
s32 menuChoice;
- struct DungeonEntity *local_1c;
+ struct DungeonEntity *CelebiEntity;
- uVar2 = sub_8085480();
- local_1c = sub_8085680(0x1e);
- if ((HasRecruitedMon(SPECIES_CELEBI)) || (sub_806FD18(local_1c) == '\0'))
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ CelebiEntity = sub_8085680(0x1e);
+ if ((HasRecruitedMon(SPECIES_CELEBI)) || (sub_806FD18(CelebiEntity) == '\0'))
{
sub_8068FE0(local_1c,0x21c,0);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(LeaderEntity);
sub_803E708(10,0x46);
// .........
sub_8052910(&gUnknown_810663C);
}
else
{
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(LeaderEntity);
sub_803E708(10,0x46);
- sub_80862BC(uVar2);
+ sub_80862BC(LeaderEntity);
sub_803E708(10,0x46);
// Oh? There's someone there.
sub_8052910(&gUnknown_81063D0);
@@ -697,12 +696,12 @@ void CelebiJoinDialogue(void)
// The Time-Traveling Pokemon {ARG_POKEMON_2} (Celebi)!
sub_8052910(&gUnknown_8106400);
PlaySoundEffect(0x1c7);
- sub_806CDD4(local_1c,10,0);
+ sub_806CDD4(CelebiEntity,10,DIRECTION_SOUTH);
sub_803E708(0x14,0x46);
- sub_806CE68(local_1c,0);
+ sub_806CE68(CelebiEntity, DIRECTION_SOUTH);
sub_803E708(4,0x46);
PlaySoundEffect(0x1c7);
- sub_806CDD4(local_1c,10,0);
+ sub_806CDD4(CelebiEntity,10,DIRECTION_SOUTH);
sub_8052910(&gUnknown_810643C);
sub_803E708(10,0x46);
state = 0;
@@ -725,7 +724,7 @@ void CelebiJoinDialogue(void)
}
sub_8083E88(0x7f);
PlaySoundEffect(0x1c7);
- sub_80861D4(local_1c,0xd,0);
+ sub_80861D4(CelebiEntity,0xd,0);
sub_803E708(0x37,0x46);
PlaySoundEffect(0x1d5);
sub_803E708(0x1a,0x46);
@@ -733,12 +732,12 @@ void CelebiJoinDialogue(void)
sub_803E708(0x1c,0x46);
sub_8052910(&gUnknown_8106468);
sub_803E708(10,0x46);
- sub_806FDF4(uVar2,local_1c,&local_1c);
+ sub_806FDF4(LeaderEntity,CelebiEntity,&CelebiEntity);
sub_8083E88(0x7f);
sub_8052910(&gUnknown_810648C);
sub_803E708(10,0x46);
PlaySoundEffect(0x1c7);
- sub_80861D4(local_1c,0xd,0);
+ sub_80861D4(CelebiEntity,0xd,0);
sub_803E708(0x37,0x46);
PlaySoundEffect(0x1d5);
sub_803E708(0x1a,0x46);
@@ -765,13 +764,13 @@ void CelebiJoinDialogue(void)
{
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8106500);
- sub_80861F8(0x3e,local_1c,1);
+ sub_80861F8(0x3e,CelebiEntity,1);
sub_803E708(0x18,0x46);
- sub_80861F8(0x3e,local_1c,1);
+ sub_80861F8(0x3e,CelebiEntity,1);
sub_803E708(0xe,0x46);
sub_8052910(&gUnknown_8106534);
sub_803E708(10,0x46);
- sub_808C8E0(local_1c);
+ sub_808C8E0(CelebiEntity);
sub_8052910(&gUnknown_8106560);
sub_803E708(10,0x46);
state = 2;
@@ -793,7 +792,7 @@ void CelebiJoinDialogue(void)
"\tmov r7, r8\n"
"\tpush {r7}\n"
"\tsub sp, 0x4\n"
- "\tbl sub_8085480\n"
+ "\tbl xxx_call_GetLeaderEntity\n"
"\tadds r7, r0, 0\n"
"\tmovs r0, 0x1E\n"
"\tbl sub_8085680\n"
@@ -1075,7 +1074,7 @@ void sub_808C8E0(struct DungeonEntity *param_1)
s32 iVar1;
PlaySoundEffect(0x1a5);
- sub_806CDD4(param_1, 0, 0);
+ sub_806CDD4(param_1, 0, DIRECTION_SOUTH);
for(iVar1 = 0; iVar1 < 16; iVar1++){
param_1->entityData->unk174 = iVar1 * 256;
sub_803E46C(0x46);
@@ -1100,7 +1099,7 @@ void sub_808C948(struct DungeonEntity *param_1, u8 param_2)
if (param_2 == 0x37) {
flag = FALSE;
- for(iVar3 = 0; iVar3 < 0x10; iVar3++){
+ for(iVar3 = 0; iVar3 < DUNGEON_MAX_WILD_POKEMON; iVar3++){
iVar2 = gDungeonGlobalData->wildPokemon[iVar3];
if ((iVar2 != param_1) && (EntityExists(iVar2) != 0)) {
flag = TRUE;
@@ -1124,38 +1123,38 @@ void sub_808C998(void)
void sub_808C9B0(struct DungeonEntity *param_1)
{
param_1->entityData->facingDir = DIRECTION_NORTH;
- sub_806CE68(param_1, 4);
+ sub_806CE68(param_1, DIRECTION_NORTH);
}
void sub_808C9C4(void)
{
- struct DungeonEntity *temp;
- struct DungeonEntity *temp_2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *MedichamEntity;
- temp = sub_8085480();
- temp_2 = sub_8085680(7);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MedichamEntity = sub_8085680(7);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(temp_2, 0);
- sub_8085860(temp->posWorldX, temp->posWorldY - 3);
+ SetFacingDirection(MedichamEntity, DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
}
// Medicham Rescue Dialogue?
void MedichamRescueDialogue(void)
{
- struct DungeonEntity *temp;
+ struct DungeonEntity *MedichamEntity;
s32 counter;
- temp = sub_8085680(7);
- SpriteLookAroundEffect(temp);
+ MedichamEntity = sub_8085680(7);
+ SpriteLookAroundEffect(MedichamEntity);
sub_803E708(0xA, 0x46);
// Oh my I can't seem to find a way out...
sub_8052910(&gUnknown_8106778);
sub_803E708(0xA, 0x46);
- sub_80869E4(temp, 4, 2, 4);
+ sub_80869E4(MedichamEntity, 4, 2, 4);
sub_803E708(0xA, 0x46);
// What am I to do...?
sub_8052910(&gUnknown_81067BC);
@@ -1163,18 +1162,18 @@ void MedichamRescueDialogue(void)
sub_8086448();
sub_8086598();
sub_803E708(0x20, 0x46);
- sub_80862BC(temp);
+ sub_80862BC(MedichamEntity);
sub_803E708(0x20, 0x46);
- sub_80869E4(temp, 4, 2, 0);
+ sub_80869E4(MedichamEntity, 4, 2, 0);
sub_8052910(&gUnknown_81067E0);
sub_803E708(0xA, 0x46);
PlaySoundEffect(0x1c7);
- sub_806CDD4(temp, 0xA, 0);
+ sub_806CDD4(MedichamEntity, 0xA, DIRECTION_SOUTH);
sub_803E708(0x14, 0x46);
- sub_806CE68(temp, 0);
+ sub_806CE68(MedichamEntity, DIRECTION_SOUTH);
sub_803E708(0x4, 0x46);
PlaySoundEffect(0x1c7);
- sub_806CDD4(temp, 0xA, 0);
+ sub_806CDD4(MedichamEntity, 0xA, DIRECTION_SOUTH);
sub_803E708(0x14, 0x46);
// Yes Yes
// I am so lucky
@@ -1182,32 +1181,32 @@ void MedichamRescueDialogue(void)
// There appears to be no one here
sub_8052910(&gUnknown_8106834);
sub_803E708(0xA, 0x46);
- sub_806CDD4(temp, 0, 0);
+ sub_806CDD4(MedichamEntity, 0, DIRECTION_SOUTH);
for(counter = 0x17; counter >= 0; counter--)
{
- sub_804539C(temp, 0, 0x80 << 1);
+ sub_804539C(MedichamEntity, 0, 0x80 << 1);
sub_803E46C(0x46);
}
- sub_806CE68(temp, 0);
+ sub_806CE68(MedichamEntity, DIRECTION_SOUTH);
sub_803E708(0x20, 0x46);
- sub_8042B0C(temp);
- sub_8068FE0(temp, 0x21C, 0);
+ sub_8042B0C(MedichamEntity);
+ sub_8068FE0(MedichamEntity, 0x21C, 0);
gDungeonGlobalData->unk4 = 1;
gDungeonGlobalData->unk11 = 4;
}
void sub_808CB5C(void)
{
- struct DungeonEntity *temp;
- struct DungeonEntity *temp_2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *MedichamEntity;
- temp = sub_8085480();
- temp_2 = sub_8085680(7);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MedichamEntity = sub_8085680(7);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
- sub_8068FE0(temp_2, 0x21C, 0);
- sub_8085860(temp->posWorldX, temp->posWorldY);
+ sub_8068FE0(MedichamEntity, 0x21C, 0);
+ sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
}
@@ -1217,34 +1216,34 @@ void DummyFightDialogue(void)
void sub_808CBB0(void)
{
- struct DungeonEntity *temp;
- struct DungeonEntity *temp_2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *SmeargleEntity;
- temp = sub_8085480();
- temp_2 = sub_8085680(0x1F);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SmeargleEntity = sub_8085680(0x1F);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(temp_2, 0);
- sub_8085860(temp->posWorldX, temp->posWorldY - 3);
+ SetFacingDirection(SmeargleEntity, DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
}
// Smeargle Rescue dialogue scene
void SmeargleRescueDialogue(void)
{
- struct DungeonEntity *temp;
+ struct DungeonEntity *SmeargleEntity;
s32 counter;
- temp = sub_8085680(0x1F);
- SpriteLookAroundEffect(temp);
+ SmeargleEntity = sub_8085680(0x1F);
+ SpriteLookAroundEffect(SmeargleEntity);
sub_803E708(0xA, 0x46);
// Ohhh...
// I've lost my bearings
sub_8052910(&gUnknown_810688C);
sub_803E708(0xA, 0x46);
- sub_80869E4(temp, 4, 2, 4);
+ sub_80869E4(SmeargleEntity, 4, 2, 4);
sub_803E708(0xA, 0x46);
// I can't get out...
// I'm hungry...
@@ -1254,34 +1253,34 @@ void SmeargleRescueDialogue(void)
sub_8086448();
sub_8086598();
sub_803E708(0x20, 0x46);
- sub_80862BC(temp);
+ sub_80862BC(SmeargleEntity);
sub_803E708(0x20, 0x46);
- sub_80869E4(temp, 4, 2, 0);
+ sub_80869E4(SmeargleEntity, 4, 2, 0);
// Oh! You are?
sub_8052910(&gUnknown_8106918);
sub_803E708(0xA, 0x46);
PlaySoundEffect(0x1c7);
- sub_806CDD4(temp, 0xA, 0);
+ sub_806CDD4(SmeargleEntity, 0xA, DIRECTION_SOUTH);
sub_803E708(0x14, 0x46);
- sub_806CE68(temp, 0);
+ sub_806CE68(SmeargleEntity, DIRECTION_SOUTH);
sub_803E708(0x4, 0x46);
PlaySoundEffect(0x1c7);
- sub_806CDD4(temp, 0xA, 0);
+ sub_806CDD4(SmeargleEntity, 0xA, DIRECTION_SOUTH);
sub_803E708(0x14, 0x46);
// Did you maybe come to rescue me?
// Am I glad to see you
sub_8052910(&gUnknown_8106934);
sub_803E708(0xA, 0x46);
- sub_806CDD4(temp, 0, 0);
+ sub_806CDD4(SmeargleEntity, 0, DIRECTION_SOUTH);
for(counter = 0x17; counter >= 0; counter--)
{
- sub_804539C(temp, 0, 0x80 << 1);
+ sub_804539C(SmeargleEntity, 0, 0x80 << 1);
sub_803E46C(0x46);
}
- sub_806CE68(temp, 0);
+ sub_806CE68(SmeargleEntity, DIRECTION_SOUTH);
sub_803E708(0x20, 0x46);
- sub_8042B0C(temp);
- sub_8068FE0(temp, 0x21C, 0);
+ sub_8042B0C(SmeargleEntity);
+ sub_8068FE0(SmeargleEntity, 0x21C, 0);
gDungeonGlobalData->unk4 = 1;
gDungeonGlobalData->unk11 = 4;
@@ -1289,17 +1288,17 @@ void SmeargleRescueDialogue(void)
void sub_808CD44(void)
{
- struct DungeonEntity *temp;
- struct DungeonEntity *temp_2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *SmeargleEntity;
- temp = sub_8085480();
- temp_2 = sub_8085680(0x1F);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SmeargleEntity = sub_8085680(0x1F);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8068FE0(temp_2, 0x21C, 0);
- sub_8085860(temp->posWorldX, temp->posWorldY - 3);
+ sub_8068FE0(SmeargleEntity, 0x21C, 0);
+ sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
}
diff --git a/src/code_8057824_1.c b/src/code_8057824_1.c
index b29e46e..502e8ee 100644
--- a/src/code_8057824_1.c
+++ b/src/code_8057824_1.c
@@ -219,7 +219,7 @@ extern u32 gUnknown_81019E4;
extern u32 gUnknown_8101A04;
extern u32 gUnknown_8101A38;
-extern struct DungeonEntity *sub_8085480(void);
+extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
extern struct DungeonEntity *sub_8085680(u32);
extern void sub_808BBA8(struct DungeonEntity * );
extern void sub_80855E4(void *);
@@ -233,7 +233,7 @@ extern void sub_808BC20(struct DungeonEntity *);
extern void sub_80862BC(struct DungeonEntity *);
extern void sub_8086448();
-extern void SpriteLookAroundEffect();
+extern void SpriteLookAroundEffect(struct DungeonEntity *);
extern u32 sub_80861F8(u32, struct DungeonEntity *, u32);
extern void SetupBossFightHP(struct DungeonEntity *, u32, u32);
extern void sub_80858AC(u32 *, u32);
@@ -247,7 +247,7 @@ extern u8 HasRecruitedMon(u32);
extern void sub_80854D4();
extern void sub_8085930(u32);
extern void sub_8068FE0(struct DungeonEntity *, u32, u32);
-extern void sub_8085918(struct DungeonEntity *, u32);
+extern void SetFacingDirection(struct DungeonEntity *, u32);
extern void sub_8049ED4();
extern void sub_8085860(s32 r0, u32 r1);
extern void sub_806CE68(struct DungeonEntity *, u32);
@@ -310,7 +310,7 @@ void sub_80891B0();
void sub_8089224();
void sub_80891D0();
void sub_808919C();
-void sub_8088D30(void);
+void GroudonScreenFlash2(void);
extern void sub_8083F14();
extern u8 EntityExists(struct DungeonEntity *);
@@ -318,7 +318,7 @@ extern u8 sub_8086AE4(u32);
extern void sub_8072008(struct DungeonEntity *, struct DungeonEntity *, s16, u32, u32);
-extern struct DungeonEntity *sub_808548C();
+extern struct DungeonEntity *GetPartnerEntity();
extern void sub_80856E0(struct DungeonEntity *, u32);
extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32);
extern void sub_804539C(struct DungeonEntity *, u32, u32);
@@ -336,8 +336,8 @@ extern u32 sub_803F994();
extern s32 sub_803F9B0();
extern void sub_803F878(u32,s32);
-void sub_8088C08(struct DungeonEntity * param_1);
-void sub_8088CA0(void);
+void SceneGroudonMovement(struct DungeonEntity * param_1);
+void GroudonScreenFlash(void);
void ArticunoScreenFlash(void);
void sub_8088484(struct DungeonEntity *param_1);
void sub_8088574(void);
@@ -368,11 +368,11 @@ extern u32 gUnknown_8101918;
void ZapdosReFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *ZapdosEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(8);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ ZapdosEntity = sub_8085680(8);
sub_8086448();
sub_803E708(10,0x46);
sub_8052910(&gUnknown_81017E4);
@@ -380,24 +380,24 @@ void ZapdosReFightDialogue(void)
PlaySoundEffect(0x1da);
sub_8052910(&gUnknown_81015A0);
sub_803E708(10,0x46);
- sub_8087704(uVar2);
+ sub_8087704(ZapdosEntity);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8101898);
sub_808775C(1);
sub_8052910(&gUnknown_81018EC);
sub_808775C(2);
sub_8052910(&gUnknown_8101918);
- SetupBossFightHP(uVar2,300,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(ZapdosEntity,300,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void ZapdosPostStoryPreFightDialogue(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * ZapdosEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(8);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ ZapdosEntity = sub_8085680(8);
sub_8086448();
if (sub_8086AE4(SPECIES_ZAPDOS)) {
sub_80866C4(&gUnknown_8101A38);
@@ -406,7 +406,7 @@ void ZapdosPostStoryPreFightDialogue(void)
sub_808775C(1);
PlaySoundEffect(0x1da);
sub_8052910(&gUnknown_810193C);
- sub_8087704(uVar3);
+ sub_8087704(ZapdosEntity);
sub_8052910(&gUnknown_8101970);
sub_808775C(1);
sub_8052910(&gUnknown_8101994);
@@ -415,8 +415,8 @@ void ZapdosPostStoryPreFightDialogue(void)
sub_808775C(2);
sub_8052910(&gUnknown_8101A04);
sub_803E708(10,0x46);
- SetupBossFightHP(uVar3,300,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(ZapdosEntity,300,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -473,45 +473,45 @@ void sub_808775C(int param_1)
void sub_80877E8(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * MoltresEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(9);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MoltresEntity = sub_8085680(9);
sub_8083E88(0x26);
sub_8085374();
sub_80854D4();
sub_8085930(6);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,0);
- sub_8086A3C(uVar2);
- sub_8085860(iVar1->posWorldX + -3,iVar1->posWorldY + -2);
+ SetFacingDirection(MoltresEntity, DIRECTION_SOUTH);
+ sub_8086A3C(MoltresEntity);
+ sub_8085860(LeaderEntity->posWorldX + -3,LeaderEntity->posWorldY + -2);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MOLTRES);
}
void sub_8087848(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *MoltresEntity;
u32 uVar4;
s32 iVar3;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(9);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MoltresEntity = sub_8085680(9);
sub_8083E88(0x26);
sub_80854D4();
sub_8085930(6);
sub_80855E4(sub_8086A3C);
if (sub_8086AE4(SPECIES_MOLTRES)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(MoltresEntity,0x21c,0);
}
else {
- sub_8072008(uVar3,uVar3,gUnknown_80F57CE,0,0);
- sub_8085918(uVar3,0);
- sub_8086A3C(uVar3);
+ sub_8072008(MoltresEntity,MoltresEntity,gUnknown_80F57CE,0,0);
+ SetFacingDirection(MoltresEntity, DIRECTION_SOUTH);
+ sub_8086A3C(MoltresEntity);
}
- sub_8085860(iVar2->posWorldX - 5, iVar2->posWorldY);
+ sub_8085860(LeaderEntity->posWorldX - 5, LeaderEntity->posWorldY);
uVar4 = sub_803F994();
iVar3 = sub_803F9B0();
sub_803F878(uVar4,iVar3 + -0x1000);
@@ -530,21 +530,21 @@ void sub_80878F4(char param_1, s32 param_2)
void MoltresPreFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *PartnerEntity;
+ struct DungeonEntity *MoltresEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_808548C();
- uVar3 = sub_8085680(9);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ PartnerEntity = GetPartnerEntity();
+ MoltresEntity = sub_8085680(9);
sub_8087D80(0xc,5);
sub_8086500();
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8101A9C);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,1,5);
+ sub_80869E4(PartnerEntity,4,1,5);
sub_803E708(4,0x46);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8101AD4);
sub_803E708(10,0x46);
@@ -552,11 +552,11 @@ void MoltresPreFightDialogue(void)
sub_8087DE8(9,5);
sub_8052910(&gUnknown_8101C30);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,1,2);
- sub_80869E4(iVar1,4,2,6);
+ sub_80869E4(PartnerEntity,4,1,2);
+ sub_80869E4(LeaderEntity,4,2,6);
sub_8052910(&gUnknown_8101CBC);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,2,6);
+ sub_80869E4(PartnerEntity,4,2,6);
sub_8086690();
sub_8052910(&gUnknown_8101D8C);
sub_803E708(10,0x46);
@@ -571,7 +571,7 @@ void MoltresPreFightDialogue(void)
sub_8052910(&gUnknown_8101E1C);
sub_803E708(10,0x46);
PlaySoundEffect(0x1cf);
- sub_80856E0(uVar2,4);
+ sub_80856E0(PartnerEntity,4);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8101EAC);
sub_803E708(10,0x46);
@@ -585,7 +585,7 @@ void MoltresPreFightDialogue(void)
sub_803E708(10,0x46);
sub_8087D80(0xc,5);
sub_8087DE8(9,5);
- sub_8087D30(uVar3);
+ sub_8087D30(MoltresEntity);
sub_808663C();
sub_8087EB0();
sub_8052910(&gUnknown_81020D4);
@@ -593,40 +593,40 @@ void MoltresPreFightDialogue(void)
sub_8087DE8(0xb,6);
sub_8052910(&gUnknown_8102108);
sub_803E708(10,0x46);
- SetupBossFightHP(uVar3,400,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(MoltresEntity,400,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void MoltresReFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *PartnerEntity;
+ struct DungeonEntity *MoltresEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_808548C();
- uVar3 = sub_8085680(9);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ PartnerEntity = GetPartnerEntity();
+ MoltresEntity = sub_8085680(9);
sub_8087D80(10,5);
sub_8086500();
sub_803E708(10,0x46);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8102158);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,1,2);
- sub_80869E4(iVar1,4,2,6);
+ sub_80869E4(PartnerEntity,4,1,2);
+ sub_80869E4(LeaderEntity,4,2,6);
sub_8052910(&gUnknown_8102190);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,2,6);
- sub_80869E4(iVar1,4,2,6);
+ sub_80869E4(PartnerEntity,4,2,6);
+ sub_80869E4(LeaderEntity,4,2,6);
sub_8086690();
sub_8087F24();
sub_803E708(10,0x46);
sub_8085930(5);
sub_803E708(4,0x46);
sub_8085930(4);
- sub_8087D30(uVar3);
+ sub_8087D30(MoltresEntity);
sub_808663C();
sub_8087EB0();
sub_8052910(&gUnknown_8102200);
@@ -636,17 +636,17 @@ void MoltresReFightDialogue(void)
sub_803E708(10,0x46);
sub_8052910(&gUnknown_81022F8);
sub_803E708(10,0x46);
- SetupBossFightHP(uVar3,400,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(MoltresEntity,400,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void MoltresPostStoryPreFightDialogue(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * MoltresEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(9);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MoltresEntity = sub_8085680(9);
sub_8087D80(0xc,5);
sub_808654C();
if (sub_8086AE4(SPECIES_MOLTRES)) {
@@ -664,7 +664,7 @@ void MoltresPostStoryPreFightDialogue(void)
sub_8085930(5);
sub_803E708(4,0x46);
sub_8085930(4);
- sub_8087D30(uVar3);
+ sub_8087D30(MoltresEntity);
sub_8052910(&gUnknown_8102398);
sub_8087D80(0xc,5);
sub_8087DE8(9,5);
@@ -674,8 +674,8 @@ void MoltresPostStoryPreFightDialogue(void)
sub_8087DE8(0xb,6);
sub_8052910(&gUnknown_8102454);
sub_803E708(10,0x46);
- SetupBossFightHP(uVar3,400,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(MoltresEntity,400,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -885,56 +885,56 @@ void sub_8087F24(void)
void sub_8087F54(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *ArticunoEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0xd);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ ArticunoEntity = sub_8085680(0xd);
sub_8083E88(0x72);
sub_8085374();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar3, 0);
- sub_8086A3C(uVar3);
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY + -3);
+ SetFacingDirection(ArticunoEntity, DIRECTION_SOUTH);
+ sub_8086A3C(ArticunoEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO);
}
void sub_8087FB4(void)
{
- struct DungeonEntity *iVar2;
+ struct DungeonEntity *ArticunoEntity;
- iVar2 = sub_8085680(0xd);
+ ArticunoEntity = sub_8085680(0xd);
sub_8083E88(0x72);
sub_8085374();
sub_80854D4();
sub_8085930(4);
- sub_8085918(iVar2, 0);
- sub_806CDD4(iVar2, 0xF, 0);
+ SetFacingDirection(ArticunoEntity, DIRECTION_SOUTH);
+ sub_806CDD4(ArticunoEntity, 0xF, DIRECTION_SOUTH);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO);
}
void sub_8087FF8(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *ArticunoEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0xd);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ ArticunoEntity = sub_8085680(0xd);
sub_8085374();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
if (sub_8086AE4(SPECIES_ARTICUNO)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(ArticunoEntity,0x21c,0);
}
else {
- sub_8072008(uVar3,uVar3,gUnknown_80F57D0,0,0);
- sub_8085918(uVar3,0);
- sub_8086A3C(uVar3);
+ sub_8072008(ArticunoEntity,ArticunoEntity,gUnknown_80F57D0,0,0);
+ SetFacingDirection(ArticunoEntity, DIRECTION_SOUTH);
+ sub_8086A3C(ArticunoEntity);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY + -3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO);
}
@@ -950,49 +950,49 @@ void sub_8088088(char param_1, s32 param_2)
void ArticunoPreFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *PartnerEntity;
+ struct DungeonEntity *ArticunoEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_808548C();
- uVar3 = sub_8085680(0xd);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ PartnerEntity = GetPartnerEntity();
+ ArticunoEntity = sub_8085680(0xd);
sub_8086448();
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
sub_8052910(&gUnknown_8102478);
sub_803E708(10,0x46);
sub_8086598();
sub_8083F14();
sub_8052910(&gUnknown_81025B4);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,1,2);
- sub_80869E4(iVar1,4,2,6);
+ sub_80869E4(PartnerEntity,4,1,2);
+ sub_80869E4(LeaderEntity,4,2,6);
sub_8052910(&gUnknown_81025D4);
sub_803E708(10,0x46);
- sub_8085918(iVar1,6);
+ SetFacingDirection(LeaderEntity, DIRECTION_WEST);
sub_803E708(4,0x46);
- sub_8085918(iVar1,5);
+ SetFacingDirection(LeaderEntity, DIRECTION_NORTHWEST);
sub_803E708(4,0x46);
- sub_8085918(iVar1,6);
+ SetFacingDirection(LeaderEntity, DIRECTION_WEST);
sub_803E708(4,0x46);
- sub_8085918(iVar1,7);
+ SetFacingDirection(LeaderEntity, DIRECTION_SOUTHWEST);
sub_803E708(4,0x46);
- sub_8085918(iVar1,6);
+ SetFacingDirection(LeaderEntity, DIRECTION_WEST);
sub_803E708(4,0x46);
- sub_8085918(iVar1,5);
+ SetFacingDirection(LeaderEntity, DIRECTION_NORTHWEST);
sub_803E708(4,0x46);
- sub_8085918(iVar1,6);
+ SetFacingDirection(LeaderEntity, DIRECTION_WEST);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8102610);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_81026C4);
sub_803E708(10,0x46);
- sub_80869E4(iVar1,4,1,4);
- sub_80869E4(uVar2,4,2,4);
+ sub_80869E4(LeaderEntity,4,1,4);
+ sub_80869E4(PartnerEntity,4,2,4);
PlaySoundEffect(0x1d5);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
PlaySoundEffect(0x1d5);
- SpriteLookAroundEffect(iVar1);
+ SpriteLookAroundEffect(LeaderEntity);
sub_8052910(&gUnknown_810270C);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_810272C);
@@ -1010,51 +1010,51 @@ void ArticunoPreFightDialogue(void)
sub_8052910(&gUnknown_8102810);
sub_803E708(10,0x46);
PlaySoundEffect(0x1ea);
- sub_8088484(uVar3);
+ sub_8088484(ArticunoEntity);
sub_80865E8();
ArticunoScreenFlash();
sub_8052910(&gUnknown_8102840);
- sub_806CDD4(uVar3,0xf,0);
+ sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH);
ArticunoScreenFlash();
sub_8052910(&gUnknown_810286C);
- sub_806CDD4(uVar3,0x10,0);
+ sub_806CDD4(ArticunoEntity,0x10,DIRECTION_SOUTH);
ArticunoScreenFlash();
sub_8052910(&gUnknown_81028B8);
- sub_806CDD4(uVar3,0xf,0);
+ sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH);
sub_803E708(0x10,0x46);
- SetupBossFightHP(uVar3,0x1c2,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(ArticunoEntity,0x1c2,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void ArticunoReFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *ArticunoEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0xd);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ ArticunoEntity = sub_8085680(0xd);
gDungeonGlobalData->unkE265 = 7;
sub_807EAA0(0,1);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_81028D4);
- sub_806CDD4(uVar2,0x10,0);
+ sub_806CDD4(ArticunoEntity,0x10,DIRECTION_SOUTH);
ArticunoScreenFlash();
sub_8052910(&gUnknown_8102918);
ArticunoScreenFlash();
sub_8052910(&gUnknown_8102948);
- sub_806CDD4(uVar2,0xf,0);
+ sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH);
sub_803E708(0x28,0x46);
- SetupBossFightHP(uVar2,0x1c2,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(ArticunoEntity,0x1c2,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void ArticunoPostStoryPreFightDialogue(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *ArticunoEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0xd);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ ArticunoEntity = sub_8085680(0xd);
sub_8086448();
if (sub_8086AE4(SPECIES_ARTICUNO)) {
sub_80866C4(&gUnknown_8102A9C);
@@ -1067,21 +1067,21 @@ void ArticunoPostStoryPreFightDialogue(void)
PlaySoundEffect(0x1da);
sub_8052910(&gUnknown_8102984);
sub_803E708(10,0x46);
- sub_8088484(uVar3);
+ sub_8088484(ArticunoEntity);
ArticunoScreenFlash();
sub_8052910(&gUnknown_81029B4);
- sub_806CDD4(uVar3,0xf,0);
+ sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH);
ArticunoScreenFlash();
sub_8052910(&gUnknown_8102A18);
- sub_806CDD4(uVar3,0x10,0);
+ sub_806CDD4(ArticunoEntity,0x10,DIRECTION_SOUTH);
ArticunoScreenFlash();
sub_8052910(&gUnknown_8102A24);
ArticunoScreenFlash();
sub_8052910(&gUnknown_8102A74);
- sub_806CDD4(uVar3,0xf,0);
+ sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH);
sub_803E708(0x28,0x46);
- SetupBossFightHP(uVar3,0x1c2,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(ArticunoEntity,0x1c2,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -1147,16 +1147,16 @@ void sub_80885A0(void)
void sub_80885C4(void)
{
- struct DungeonEntity * iVar1;
+ struct DungeonEntity * LeaderEntity;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_8083ED8(0x3c);
sub_803E708(0x3c,0x46);
sub_8083F14();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
}
void sub_8088608(void)
@@ -1175,49 +1175,49 @@ void sub_8088618(void)
void sub_808862C(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * AlakazamEntity;
+ struct DungeonEntity * GroudonEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(10);
- uVar3 = sub_8085680(0xe);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ AlakazamEntity = sub_8085680(10);
+ GroudonEntity = sub_8085680(0xe);
sub_8083E88(0x72);
sub_80867F4();
sub_8085374();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,4);
- sub_80861D4(uVar2,0xd,4);
- sub_8085918(uVar3,0);
- sub_8086A3C(uVar3);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY -3);
+ SetFacingDirection(AlakazamEntity, DIRECTION_NORTH);
+ sub_80861D4(AlakazamEntity,0xd,4);
+ SetFacingDirection(GroudonEntity, DIRECTION_SOUTH);
+ sub_8086A3C(GroudonEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY -3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON);
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM);
}
void sub_80886C4(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * AlakazamEntity;
+ struct DungeonEntity * GroudonEntity;
u32 uVar4;
s32 iVar2;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(10);
- uVar3 = sub_8085680(0xe);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ AlakazamEntity = sub_8085680(10);
+ GroudonEntity = sub_8085680(0xe);
PlaySoundEffect(0x3e5);
sub_80867F4();
sub_8085374();
sub_80854D4();
sub_8085930(4);
- sub_8068FE0(uVar2,0x21c,0);
- sub_8085918(uVar3,0);
- sub_8086A3C(uVar3);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
+ sub_8068FE0(AlakazamEntity,0x21c,0);
+ SetFacingDirection(GroudonEntity, DIRECTION_SOUTH);
+ sub_8086A3C(GroudonEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
uVar4 = sub_803F994();
iVar2 = sub_803F9B0();
sub_803F878(uVar4,iVar2 + -0x1000);
@@ -1227,27 +1227,27 @@ void sub_80886C4(void)
void sub_808875C(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
- struct DungeonEntity * uVar4;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * AlakazamEntity;
+ struct DungeonEntity * GroudonEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(10);
- uVar4 = sub_8085680(0xe);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ AlakazamEntity = sub_8085680(10);
+ GroudonEntity = sub_8085680(0xe);
sub_80867F4();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8068FE0(uVar3,0x21c,0);
- if (sub_8086AE4(0x19b)) {
- sub_8068FE0(uVar4,0x21c,0);
+ sub_8068FE0(AlakazamEntity,0x21c,0);
+ if (sub_8086AE4(SPECIES_GROUDON)) {
+ sub_8068FE0(GroudonEntity,0x21c,0);
}
else {
- sub_8072008(uVar4,uVar4,gUnknown_80F57D2,0,0);
- sub_8085918(uVar4,0);
- sub_80861D4(uVar4,0xf,0);
+ sub_8072008(GroudonEntity,GroudonEntity,gUnknown_80F57D2,0,0);
+ SetFacingDirection(GroudonEntity, DIRECTION_SOUTH);
+ sub_80861D4(GroudonEntity,0xf,0);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON);
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM);
}
@@ -1267,15 +1267,15 @@ void sub_8088848(void)
void GroudonPreFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
- struct DungeonEntity * uVar3;
- struct DungeonEntity * uVar4;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * PartnerEntity;
+ struct DungeonEntity * AlakazamEntity;
+ struct DungeonEntity * GroudonEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_808548C();
- uVar3 = sub_8085680(10);
- uVar4 = sub_8085680(0xe);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ PartnerEntity = GetPartnerEntity();
+ AlakazamEntity = sub_8085680(10);
+ GroudonEntity = sub_8085680(0xe);
sub_8086448();
sub_8052910(&gUnknown_8102E70);
sub_803E708(10,0x46);
@@ -1294,21 +1294,21 @@ void GroudonPreFightDialogue(void)
sub_803E708(0x3c,0x46);
sub_8052910(&gUnknown_8102EF8);
sub_803E708(10,0x46);
- sub_8088CA0();
+ GroudonScreenFlash();
sub_8052910(&gUnknown_8102F30);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8102F64);
sub_803E708(10,0x46);
PlaySoundEffect(0x1d5);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
sub_8052910(&gUnknown_8102F84);
sub_803E708(10,0x46);
sub_808682C();
sub_803E708(0x3c,0x46);
- sub_80861B8(uVar3,6,4);
+ sub_80861B8(AlakazamEntity,6,4);
PlaySoundEffect(0x205);
sub_8086738();
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(AlakazamEntity,0x21c,0);
sub_8052910(&gUnknown_8102FAC);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8102FC4);
@@ -1317,7 +1317,7 @@ void GroudonPreFightDialogue(void)
sub_8086764();
sub_803E708(0x28,0x46);
PlaySoundEffect(0x1d5);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
sub_8052910(&gUnknown_8102FD8);
sub_803E708(10,0x46);
sub_8086838(1,1,1);
@@ -1326,7 +1326,7 @@ void GroudonPreFightDialogue(void)
sub_8052910(&gUnknown_8103054);
sub_803E708(10,0x46);
sub_8083F14();
- sub_8088D30();
+ GroudonScreenFlash2();
sub_803E708(0x1e,0x46);
sub_8052910(&gUnknown_81030D8);
sub_803E708(10,0x46);
@@ -1340,26 +1340,26 @@ void GroudonPreFightDialogue(void)
sub_8085930(4);
sub_8052910(&gUnknown_8103140);
sub_803E708(10,0x46);
- sub_8086A54(uVar4);
+ sub_8086A54(GroudonEntity);
sub_8085930(4);
sub_8086764();
- SetupBossFightHP(uVar4,500,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(GroudonEntity,500,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void GroudonReFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * GroudonEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0xe);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ GroudonEntity = sub_8085680(0xe);
sub_8086838(1,1,1);
sub_808680C();
sub_803E708(0x3c,0x46);
sub_8052910(&gUnknown_8103188);
sub_803E708(10,0x46);
- sub_8088CA0();
+ GroudonScreenFlash();
sub_803E708(0x1e,0x46);
sub_8052910(&gUnknown_8103228);
sub_803E708(10,0x46);
@@ -1372,20 +1372,20 @@ void GroudonReFightDialogue(void)
sub_8086738();
sub_8052910(&gUnknown_8103340);
sub_803E708(10,0x46);
- sub_8086A54(uVar2);
+ sub_8086A54(GroudonEntity);
sub_8085930(4);
sub_8086764();
- SetupBossFightHP(uVar2,500,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(GroudonEntity,500,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void GroudonPostStoryPreFightDialogue(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * GroudonEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0xe);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ GroudonEntity = sub_8085680(0xe);
sub_8086448();
if (sub_8086AE4(SPECIES_GROUDON)) {
sub_80866C4(&gUnknown_8103488);
@@ -1393,27 +1393,28 @@ void GroudonPostStoryPreFightDialogue(void)
else{
sub_8052910(&gUnknown_81033A0);
sub_803E708(10,0x46);
- sub_8088C08(uVar3);
- sub_8088C08(uVar3);
+ SceneGroudonMovement(GroudonEntity);
+ SceneGroudonMovement(GroudonEntity);
sub_8052910(&gUnknown_81033AC);
PlaySoundEffect(0x1f6);
- sub_8088CA0();
+ GroudonScreenFlash();
sub_8052910(&gUnknown_810343C);
PlaySoundEffect(0x1f6);
- sub_8088CA0();
+ GroudonScreenFlash();
sub_8052910(&gUnknown_810347C);
sub_803E708(10,0x46);
- SetupBossFightHP(uVar3,500,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(GroudonEntity,500,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
-void sub_8088C08(struct DungeonEntity * param_1)
+// Moves Groudon down in a walking fashion
+void SceneGroudonMovement(struct DungeonEntity * param_1)
{
int iVar1;
sub_8086848(0x18,0x10);
- sub_806CDD4(param_1,0,0);
+ sub_806CDD4(param_1,0,DIRECTION_SOUTH);
for(iVar1 = 0; iVar1 < 0x2C; iVar1++)
{
if ((iVar1 == 10) || (iVar1 == 0x20)) {
@@ -1434,7 +1435,7 @@ void sub_8088C08(struct DungeonEntity * param_1)
sub_803E708(0x22,0x46);
}
-void sub_8088CA0(void)
+void GroudonScreenFlash(void)
{
s32 iVar1;
@@ -1461,7 +1462,7 @@ void sub_8088CA0(void)
sub_8085EB0();
}
-void sub_8088D30(void)
+void GroudonScreenFlash2(void)
{
s32 iVar1;
@@ -1491,11 +1492,11 @@ void sub_8088D30(void)
void sub_8088DC0(void)
{
- struct DungeonEntity * iVar1;
+ struct DungeonEntity * LeaderEntity;
struct DungeonEntity * uVar2;
struct DungeonEntity * uVar3;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
uVar2 = sub_8085680(0xb);
uVar3 = sub_8085680(0xc);
sub_80867F4();
@@ -1505,21 +1506,21 @@ void sub_8088DC0(void)
sub_8085930(4);
sub_80855E4(sub_8086A3C);
sub_8086A3C(uVar2);
- sub_806CDD4(uVar2,0xe,0);
+ sub_806CDD4(uVar2,0xe,DIRECTION_SOUTH);
sub_8086A3C(uVar3);
- sub_806CDD4(uVar3,0xe,0);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ sub_806CDD4(uVar3,0xe,DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON);
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM);
}
void sub_8088E5C(void)
{
- struct DungeonEntity * iVar1;
+ struct DungeonEntity * LeaderEntity;
struct DungeonEntity * uVar2;
struct DungeonEntity * uVar3;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
uVar2 = sub_8085680(0xb);
uVar3 = sub_8085680(0xc);
sub_80867F4();
@@ -1529,7 +1530,7 @@ void sub_8088E5C(void)
sub_80855E4(sub_8086A3C);
sub_8068FE0(uVar2,0x21c,0);
sub_8068FE0(uVar3,0x21c,0);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY + -3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON);
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM);
}
@@ -1542,26 +1543,26 @@ void sub_8088EE8(void)
void MagmaCavernMidDialogue(void)
{
- struct DungeonEntity * uVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * PartnerEntity;
struct DungeonEntity * iVar3;
struct DungeonEntity * iVar4;
u8 auStack36 [4];
s32 local_20[2];
- uVar1 = sub_8085480();
- uVar2 = sub_808548C();
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ PartnerEntity = GetPartnerEntity();
iVar3 = sub_8085680(0xb);
iVar4 = sub_8085680(0xc);
- sub_8052D44(auStack36,uVar1,uVar2);
+ sub_8052D44(auStack36,LeaderEntity,PartnerEntity);
sub_8086448();
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
// Let's see..
// I wonder where we are?
sub_8052910(&gUnknown_8102B1C);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,1,2);
- sub_80869E4(uVar1,4,2,6);
+ sub_80869E4(PartnerEntity,4,1,2);
+ sub_80869E4(LeaderEntity,4,2,6);
// I know we've come pretty
// far...
//
@@ -1592,9 +1593,9 @@ void MagmaCavernMidDialogue(void)
sub_8052910(&gUnknown_8102BE4);
sub_803E708(10,0x46);
PlaySoundEffect(0x1d5);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
PlaySoundEffect(0x1c7);
- sub_80856E0(uVar2,4);
+ sub_80856E0(PartnerEntity,4);
// Hey! {ARG_POKEMON_0}!
// Over there!
sub_8052910(&gUnknown_8102C30);
@@ -1615,7 +1616,7 @@ void MagmaCavernMidDialogue(void)
// Urrrrgh...
sub_8052910(&gUnknown_8102C98);
sub_803E708(10,0x46);
- sub_80869E4(uVar1,4,2,5);
+ sub_80869E4(LeaderEntity,4,2,5);
// What happened to you?
//
// What happened here?
@@ -1628,14 +1629,14 @@ void MagmaCavernMidDialogue(void)
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8102D34);
sub_803E708(10,0x46);
- sub_80869E4(uVar1,4,1,3);
- sub_80869E4(uVar2,4,1,3);
+ sub_80869E4(LeaderEntity,4,1,3);
+ sub_80869E4(PartnerEntity,4,1,3);
// Grrgh..
// We... It crushed us
sub_8052910(&gUnknown_8102D4C);
sub_803E708(10,0x46);
PlaySoundEffect(0x1d5);
- SpriteLookAroundEffect(uVar2);
+ SpriteLookAroundEffect(PartnerEntity);
// That's right...
// What happened to {ARG_POKEMON_3}?
// Where is {ARG_POKEMON_3}?
@@ -1649,8 +1650,8 @@ void MagmaCavernMidDialogue(void)
// Still battling {ARG_POKEMON_2}...
sub_8052910(&gUnknown_8102DFC);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,1,2);
- sub_80869E4(uVar1,4,2,6);
+ sub_80869E4(PartnerEntity,4,1,2);
+ sub_80869E4(LeaderEntity,4,2,6);
// {ARG_POKEMON_0}!
// We've got to hurry!
sub_8052910(&gUnknown_8102E2C);
@@ -1663,14 +1664,14 @@ void MagmaCavernMidDialogue(void)
void sub_8089168(void)
{
- struct DungeonEntity *iVar1;
+ struct DungeonEntity *LeaderEntity;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_8086448();
sub_803E708(10,0x46);
- SpriteLookAroundEffect(iVar1);
+ SpriteLookAroundEffect(LeaderEntity);
sub_803E708(10,0x46);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void sub_808919C(struct DungeonEntity *r0)
@@ -1680,14 +1681,14 @@ void sub_808919C(struct DungeonEntity *r0)
void sub_80891B0(struct DungeonEntity *r0)
{
- sub_806CDD4(r0, 0, 4);
+ sub_806CDD4(r0, 0, DIRECTION_NORTH);
r0->entityData->unk15F = 1;
}
void sub_80891D0(struct DungeonEntity *r0)
{
- sub_806CDD4(r0, 7, 4);
+ sub_806CDD4(r0, 7, DIRECTION_NORTH);
r0->entityData->unk15F = 0;
}
@@ -1761,41 +1762,41 @@ void sub_8089294(void)
void sub_80892C8(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RayquazaEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0xf);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RayquazaEntity = sub_8085680(0xf);
sub_8083E88(0x1a);
sub_8085374();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,0);
- sub_8086A3C(uVar2);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ SetFacingDirection(RayquazaEntity, DIRECTION_SOUTH);
+ sub_8086A3C(RayquazaEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_RAYQUAZA);
}
void sub_8089328(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RayquazaEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0xf);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RayquazaEntity = sub_8085680(0xf);
sub_8083E88(0x1a);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
if (sub_8086AE4(SPECIES_RAYQUAZA)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(RayquazaEntity,0x21c,0);
}
else {
- sub_8072008(uVar3,uVar3,gUnknown_80F57CA,0,0);
- sub_8086A3C(uVar3);
+ sub_8072008(RayquazaEntity,RayquazaEntity,gUnknown_80F57CA,0,0);
+ sub_8086A3C(RayquazaEntity);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_RAYQUAZA);
}
@@ -1809,25 +1810,25 @@ void sub_80893B4(char param_1, s32 param_2)
void RayquazaPreFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *PartnerEntity;
+ struct DungeonEntity *RayquazaEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_808548C();
- uVar3 = sub_8085680(0xf);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ PartnerEntity = GetPartnerEntity();
+ RayquazaEntity = sub_8085680(0xf);
sub_8086448();
sub_8052910(&gUnknown_8103500);
RayquazaScreenFlash();
sub_8052910(&gUnknown_810352C);
- sub_80856E0(uVar2,4);
- SpriteLookAroundEffect(uVar2);
+ sub_80856E0(PartnerEntity,4);
+ SpriteLookAroundEffect(PartnerEntity);
sub_803E708(10,0x46);
- sub_80869E4(uVar2,4,1,2);
- sub_80869E4(iVar1,4,2,6);
+ sub_80869E4(PartnerEntity,4,1,2);
+ sub_80869E4(LeaderEntity,4,2,6);
sub_8052910(&gUnknown_8103578);
- sub_80869E4(uVar2,4,2,4);
- sub_80869E4(iVar1,4,1,4);
+ sub_80869E4(PartnerEntity,4,2,4);
+ sub_80869E4(LeaderEntity,4,1,4);
sub_8052910(&gUnknown_81035D4);
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8103618);
@@ -1836,7 +1837,7 @@ void RayquazaPreFightDialogue(void)
RayquazaScreenFlash();
PlaySoundEffect(0x1da); // Rayquaza Cry
sub_8052910(&gUnknown_8103690);
- sub_8089620(uVar3);
+ sub_8089620(RayquazaEntity);
sub_8052910(&gUnknown_81036C8);
RayquazaScreenFlash();
sub_8052910(&gUnknown_81037A0);
@@ -1844,23 +1845,23 @@ void RayquazaPreFightDialogue(void)
sub_8052910(&gUnknown_81037D4);
RayquazaScreenFlash();
sub_8052910(&gUnknown_8103820);
- SetupBossFightHP(uVar3,600,0x20);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(RayquazaEntity,600,0x20);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void RayquazaReFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *RayquazaEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0xf);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RayquazaEntity = sub_8085680(0xf);
sub_8086448();
RayquazaScreenFlash();
PlaySoundEffect(0x1da); // Rayquaza Cry
sub_8052910(&gUnknown_8103690);
sub_803E708(10,0x46);
- sub_8089620(uVar2);
+ sub_8089620(RayquazaEntity);
sub_8052910(&gUnknown_8103844);
RayquazaScreenFlash();
sub_8052910(&gUnknown_8103874);
@@ -1868,17 +1869,17 @@ void RayquazaReFightDialogue(void)
sub_8052910(&gUnknown_81038A8);
RayquazaScreenFlash();
sub_8052910(&gUnknown_81038F8);
- SetupBossFightHP(uVar2,600,0x20);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(RayquazaEntity,600,0x20);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void RayquazaPostStoryPreFightDialogue(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *RayquazaEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0xf);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RayquazaEntity = sub_8085680(0xf);
sub_8086448();
if (sub_8086AE4(SPECIES_RAYQUAZA)) {
sub_80866C4(&gUnknown_8103B58);
@@ -1886,7 +1887,7 @@ void RayquazaPostStoryPreFightDialogue(void)
else {
PlaySoundEffect(0x1da); // Rayquaza Cry
sub_8052910(&gUnknown_8103904);
- sub_8089620(uVar3);
+ sub_8089620(RayquazaEntity);
sub_8052910(&gUnknown_8103938);
RayquazaScreenFlash();
sub_8052910(&gUnknown_8103AA4);
@@ -1894,8 +1895,8 @@ void RayquazaPostStoryPreFightDialogue(void)
sub_8052910(&gUnknown_8103AE4);
RayquazaScreenFlash();
sub_8052910(&gUnknown_8103B30);
- SetupBossFightHP(uVar3,600,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(RayquazaEntity,600,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -1950,27 +1951,27 @@ void RayquazaScreenFlash(void)
void sub_808970C(void)
{
- struct DungeonEntity *iVar1;
+ struct DungeonEntity *LeaderEntity;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_8083E88(0x7D);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
sub_808563C(sub_8089908);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY + -3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -3);
}
void sub_808974C(void)
{
- struct DungeonEntity *iVar1;
+ struct DungeonEntity *LeaderEntity;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
sub_808563C(sub_80898F8);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY + -3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -3);
}
void sub_8089788(struct DungeonEntity *param_1, u8 param_2, s32 param_3)
@@ -1982,7 +1983,7 @@ void sub_8089788(struct DungeonEntity *param_1, u8 param_2, s32 param_3)
unk1 = 0;
if ((((param_3 * 0x1000000) + 0xe6000000U) >> 0x18) < 2) {
- for(iVar3 = 0; iVar3 < 0x10; iVar3++)
+ for(iVar3 = 0; iVar3 < DUNGEON_MAX_WILD_POKEMON; iVar3++)
{
iVar2 = gDungeonGlobalData->wildPokemon[iVar3];
if ((EntityExists(iVar2) != '\0') && (iVar2 != param_1) && (iVar2->entityData->clientType == param_2)) {
@@ -1999,9 +2000,9 @@ void sub_8089788(struct DungeonEntity *param_1, u8 param_2, s32 param_3)
void sub_80897F0(void)
{
- struct DungeonEntity *iVar1;
+ struct DungeonEntity *LeaderEntity;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_8086448();
sub_803E708(10,0x46);
sub_808563C(sub_80862BC);
@@ -2029,16 +2030,16 @@ void sub_80897F0(void)
// Get 'em! It's frenzy time!
sub_8052910(&gUnknown_8103D50);
sub_803E708(10,0x46);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void sub_8089878(void)
{
- struct DungeonEntity *iVar1;
+ struct DungeonEntity *LeaderEntity;
- iVar1 = sub_8085480();
+ LeaderEntity = xxx_call_GetLeaderEntity();
sub_8086448();
sub_803E708(10,0x46);
sub_808563C(sub_80862BC);
@@ -2049,7 +2050,7 @@ void sub_8089878(void)
sub_8052910(&gUnknown_8103DD8);
sub_8052910(&gUnknown_8103E28);
sub_803E708(10,0x46);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void sub_80898E4(void)
@@ -2065,48 +2066,48 @@ void sub_80898F8(struct DungeonEntity *r0)
void sub_8089908(struct DungeonEntity *r0)
{
- sub_8085918(r0, 4);
+ SetFacingDirection(r0, DIRECTION_NORTH);
}
void sub_8089914(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *MewtwoEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x11);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MewtwoEntity = sub_8085680(0x11);
sub_8083F14();
gDungeonGlobalData->unk7 = 1;
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,0);
- sub_8086A3C(uVar2);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ SetFacingDirection(MewtwoEntity, DIRECTION_SOUTH);
+ sub_8086A3C(MewtwoEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_MEWTWO);
}
void sub_8089978(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *MewtwoEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x11);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MewtwoEntity = sub_8085680(0x11);
sub_8083F14();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
if(HasRecruitedMon(SPECIES_MEWTWO)){
sub_8083E88(0x23);
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(MewtwoEntity,0x21c,0);
}
else {
gDungeonGlobalData->unk7 = 1;
- sub_8085918(uVar3,0);
- sub_8086A3C(uVar3);
+ SetFacingDirection(MewtwoEntity, DIRECTION_SOUTH);
+ sub_8086A3C(MewtwoEntity);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_MEWTWO);
}
@@ -2120,18 +2121,18 @@ void sub_8089A00(char param_1, s32 param_2)
void MewtwoPreFightDialogue(void)
{
- struct DungeonEntity *iVar1;
- struct DungeonEntity *uVar2;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *MewtwoEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x11);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MewtwoEntity = sub_8085680(0x11);
sub_8086448();
sub_8052910(&gUnknown_8103EA4);
sub_803E708(10,0x46);
sub_8083E88(0x23);
sub_8086794();
sub_803E708(0x1e,0x46);
- sub_8089B64(uVar2);
+ sub_8089B64(MewtwoEntity);
sub_803E708(0x3c,0x46);
sub_8052910(&gUnknown_8103F0C);
sub_8052910(&gUnknown_8103F4C);
@@ -2141,17 +2142,17 @@ void MewtwoPreFightDialogue(void)
MewtwoScreenFlash();
sub_8052910(&gUnknown_8104008);
sub_803E708(10,0x46);
- SetupBossFightHP(uVar2,900,0x20);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(MewtwoEntity,900,0x20);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void MewtwoPreFightDialogue1(void)
{
- struct DungeonEntity *iVar2;
- struct DungeonEntity *uVar3;
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *MewtwoEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x11);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ MewtwoEntity = sub_8085680(0x11);
sub_8086448();
if(HasRecruitedMon(SPECIES_MEWTWO)) {
sub_80866C4(&gUnknown_8104144);
@@ -2160,15 +2161,15 @@ void MewtwoPreFightDialogue1(void)
sub_8052910(&gUnknown_8104044);
sub_8083E88(0x23);
sub_8086794();
- sub_8089B64(uVar3);
+ sub_8089B64(MewtwoEntity);
sub_803E708(0x3c,0x46);
sub_8052910(&gUnknown_8104050);
MewtwoScreenFlash();
sub_8052910(&gUnknown_81040CC);
MewtwoScreenFlash();
sub_8052910(&gUnknown_8104114);
- SetupBossFightHP(uVar3,900,0x20);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(MewtwoEntity,900,0x20);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -2222,37 +2223,37 @@ void MewtwoScreenFlash(void)
void sub_8089C44(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * EnteiEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x12);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ EnteiEntity = sub_8085680(0x12);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
- sub_8085918(uVar3, 0);
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY);
+ SetFacingDirection(EnteiEntity, DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ENTEI);
}
void sub_8089C90(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * EnteiEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x12);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ EnteiEntity = sub_8085680(0x12);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
if (HasRecruitedMon(SPECIES_ENTEI)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(EnteiEntity,0x21c,0);
}
else {
- sub_8085918(uVar3,0);
+ SetFacingDirection(EnteiEntity, DIRECTION_SOUTH);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ENTEI);
}
@@ -2268,11 +2269,11 @@ void sub_8089CFC(char param_1,int param_2)
void EnteiPreFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * EnteiEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x12);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ EnteiEntity = sub_8085680(0x12);
EnteiScreenFlash();
sub_8052910(&gUnknown_8104150);
EnteiScreenFlash();
@@ -2280,17 +2281,17 @@ void EnteiPreFightDialogue(void)
EnteiScreenFlash();
sub_8052910(&gUnknown_81041F8);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,600,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(EnteiEntity,600,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void EnteiPreFightDialogue1(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * EnteiEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x12);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ EnteiEntity = sub_8085680(0x12);
EnteiScreenFlash();
sub_8052910(&gUnknown_8104240);
EnteiScreenFlash();
@@ -2298,17 +2299,17 @@ void EnteiPreFightDialogue1(void)
EnteiScreenFlash();
sub_8052910(&gUnknown_81042B8);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,600,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(EnteiEntity,600,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void EnteiPreFightDialogue2(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * EnteiEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x12);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ EnteiEntity = sub_8085680(0x12);
if (HasRecruitedMon(SPECIES_ENTEI)) {
sub_80866C4(&gUnknown_81043DC);
}
@@ -2320,8 +2321,8 @@ void EnteiPreFightDialogue2(void)
EnteiScreenFlash();
sub_8052910(&gUnknown_81043C0);
sub_803E708(10,70);
- SetupBossFightHP(uVar3,600,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(EnteiEntity,600,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -2353,53 +2354,53 @@ void EnteiScreenFlash(void)
void sub_8089EFC(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RaikouEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x13);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RaikouEntity = sub_8085680(0x13);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
- sub_8085918(uVar3, 0);
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY);
+ SetFacingDirection(RaikouEntity, DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_RAIKOU);
}
void sub_8089F44(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RaikouEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x13);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RaikouEntity = sub_8085680(0x13);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
- sub_8085918(uVar3, 0);
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY);
+ SetFacingDirection(RaikouEntity, DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_RAIKOU);
}
void sub_8089F8C(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RaikouEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x13);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RaikouEntity = sub_8085680(0x13);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
if (HasRecruitedMon(SPECIES_RAIKOU)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(RaikouEntity,0x21c,0);
}
else {
- sub_8085918(uVar3,0);
+ SetFacingDirection(RaikouEntity, DIRECTION_SOUTH);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_RAIKOU);
}
@@ -2414,11 +2415,11 @@ void sub_8089FF0(char param_1,int param_2)
void RaikouPreFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RaikouEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x13);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RaikouEntity = sub_8085680(0x13);
sub_8052910(&gUnknown_8104450);
RaikouScreenFlash();
sub_8052910(&gUnknown_81044B4);
@@ -2433,17 +2434,17 @@ void RaikouPreFightDialogue(void)
RaikouScreenFlash();
sub_8052910(&gUnknown_81045B0);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,0x28a,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(RaikouEntity,0x28a,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void RaikouPreFightDialogue1(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RaikouEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x13);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RaikouEntity = sub_8085680(0x13);
gDungeonGlobalData->unkE265 = 4;
sub_807EAA0(0,1);
RaikouScreenFlash();
@@ -2453,17 +2454,17 @@ void RaikouPreFightDialogue1(void)
RaikouScreenFlash();
sub_8052910(&gUnknown_81046A0);
sub_803E708(10,70);
- SetupBossFightHP(uVar3,0x28a,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(RaikouEntity,0x28a,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void RaikouPreFightDialogue2(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * RaikouEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x13);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ RaikouEntity = sub_8085680(0x13);
if (HasRecruitedMon(SPECIES_RAIKOU)) {
sub_80866C4(&gUnknown_8104778);
}
@@ -2476,8 +2477,8 @@ void RaikouPreFightDialogue2(void)
RaikouScreenFlash();
sub_8052910(&gUnknown_810476C);
sub_803E708(10,70);
- SetupBossFightHP(uVar3,0x28a,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(RaikouEntity,0x28a,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -2509,53 +2510,53 @@ void RaikouScreenFlash(void)
void sub_808A264(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * SuicuneEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x14);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SuicuneEntity = sub_8085680(0x14);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,0);
- sub_8086A3C(uVar2);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH);
+ sub_8086A3C(SuicuneEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SUICUNE);
}
void sub_808A2C0(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * SuicuneEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x14);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SuicuneEntity = sub_8085680(0x14);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
- sub_8085918(uVar2,0);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
+ SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SUICUNE);
}
void sub_808A308(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * SuicuneEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x14);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SuicuneEntity = sub_8085680(0x14);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
if (HasRecruitedMon(SPECIES_SUICUNE)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(SuicuneEntity,0x21c,0);
}
else {
- sub_8085918(uVar3,0);
+ SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SUICUNE);
}
@@ -2569,11 +2570,11 @@ void sub_808A36C(char param_1,int param_2)
void SuicunePreFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * SuicuneEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x14);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SuicuneEntity = sub_8085680(0x14);
sub_8086448();
sub_8052910(&gUnknown_8104784);
sub_803E708(10,70);
@@ -2583,7 +2584,7 @@ void SuicunePreFightDialogue(void)
sub_803E708(0x3c,70);
sub_8052910(&gUnknown_81047B0);
sub_803E708(10,70);
- sub_808A528(uVar2);
+ sub_808A528(SuicuneEntity);
sub_8052910(&gUnknown_810484C);
sub_8052910(&gUnknown_8104888);
SuicuneScreenFlash();
@@ -2591,34 +2592,34 @@ void SuicunePreFightDialogue(void)
SuicuneScreenFlash();
sub_8052910(&gUnknown_8104914);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,0x28a,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(SuicuneEntity,0x28a,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void SuicunePreFightDialogue1(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * SuicuneEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x14);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SuicuneEntity = sub_8085680(0x14);
sub_8052910(&gUnknown_8104930);
SuicuneScreenFlash();
sub_8052910(&gUnknown_8104980);
SuicuneScreenFlash();
sub_8052910(&gUnknown_8104998);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,0x28a,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(SuicuneEntity,0x28a,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void SuicunePreFightDialogue2(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * SuicuneEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x14);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SuicuneEntity = sub_8085680(0x14);
if (HasRecruitedMon(SPECIES_SUICUNE)) {
sub_80866C4(&gUnknown_8104AC8);
}
@@ -2629,8 +2630,8 @@ void SuicunePreFightDialogue2(void)
SuicuneScreenFlash();
sub_8052910(&gUnknown_8104A9C);
sub_803E708(10,70);
- SetupBossFightHP(uVar3,0x28a,0xb);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(SuicuneEntity,0x28a,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -2684,42 +2685,42 @@ void SuicuneScreenFlash(void)
void sub_808A608(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * HoOhEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x15);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ HoOhEntity = sub_8085680(0x15);
sub_8083E88(0x1c);
sub_80867F4();
sub_8086838(0,0,0);
sub_80854D4();
sub_8085930(4);
- sub_8085918(uVar2,0);
- sub_8086A3C(uVar2);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY + -6);
+ SetFacingDirection(HoOhEntity, DIRECTION_SOUTH);
+ sub_8086A3C(HoOhEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -6);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_HO_OH);
}
void sub_808A668(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * HoOhEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x15);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ HoOhEntity = sub_8085680(0x15);
sub_8083E88(0x1c);
sub_80867F4();
sub_8086838(0,0,0);
sub_80854D4();
sub_8085930(4);
if (HasRecruitedMon(SPECIES_HO_OH)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(HoOhEntity,0x21c,0);
}
else {
- sub_8085918(uVar3,0);
- sub_8086A3C(uVar3);
+ SetFacingDirection(HoOhEntity, DIRECTION_SOUTH);
+ sub_8086A3C(HoOhEntity);
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 6);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 6);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_HO_OH);
}
@@ -2739,14 +2740,14 @@ void sub_808A718(void)
void HoOhPreFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * HoOhEntity;
int local_14[2];
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x15);
- local_14[0] = iVar1->posPixelX;
- local_14[1] = iVar1->posPixelY + -0x1000;
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ HoOhEntity = sub_8085680(0x15);
+ local_14[0] = LeaderEntity->posPixelX;
+ local_14[1] = LeaderEntity->posPixelY + -0x1000;
sub_80858AC(local_14,0x88);
sub_803E708(0x40,70);
sub_8052910(&gUnknown_8104AD4);
@@ -2758,7 +2759,7 @@ void HoOhPreFightDialogue(void)
sub_808680C();
PlaySoundEffect(0x1c5);
sub_803E708(0xfa,70);
- sub_808A904(uVar2);
+ sub_808A904(HoOhEntity);
sub_8083E58(0x1c5);
sub_808682C();
sub_80855E4(sub_8086910);
@@ -2772,21 +2773,21 @@ void HoOhPreFightDialogue(void)
HoOhScreenFlash();
sub_8052910(&gUnknown_8104CE0);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,800,0x20);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(HoOhEntity,800,0x20);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void HoOhPreFightDialogue1(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * HoOhEntity;
u32 local_14[2];
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x15);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ HoOhEntity = sub_8085680(0x15);
- local_14[0] = iVar2->posPixelX;
- local_14[1] = iVar2->posPixelY + -0x1000;
+ local_14[0] = LeaderEntity->posPixelX;
+ local_14[1] = LeaderEntity->posPixelY + -0x1000;
sub_80858AC(local_14,0x88);
sub_803E708(0x40,70);
if (HasRecruitedMon(SPECIES_HO_OH)) {
@@ -2798,7 +2799,7 @@ void HoOhPreFightDialogue1(void)
sub_80855E4(sub_80868F4);
sub_808680C();
sub_803E708(10,70);
- sub_808A904(uVar3);
+ sub_808A904(HoOhEntity);
sub_808682C();
sub_80855E4(sub_8086910);
sub_8085930(4);
@@ -2808,8 +2809,8 @@ void HoOhPreFightDialogue1(void)
HoOhScreenFlash();
sub_8052910(&gUnknown_8104E0C);
sub_803E708(10,70);
- SetupBossFightHP(uVar3,800,0x20);
- sub_80858AC(&iVar2->posPixelX,0x10);
+ SetupBossFightHP(HoOhEntity,800,0x20);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
}
@@ -2863,49 +2864,49 @@ void HoOhScreenFlash(void)
void sub_808A9E4(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * LatiosEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x16);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ LatiosEntity = sub_8085680(0x16);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,4);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 4);
+ SetFacingDirection(LatiosEntity, DIRECTION_NORTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 4);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LATIOS);
}
void sub_808AA3C(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * LatiosEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x16);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ LatiosEntity = sub_8085680(0x16);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,4);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ SetFacingDirection(LatiosEntity, DIRECTION_NORTH);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LATIOS);
}
void sub_808AA94(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * LatiosEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x16);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ LatiosEntity = sub_8085680(0x16);
sub_8083E88(0x72);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8068FE0(uVar2,0x21c,0);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ sub_8068FE0(LatiosEntity,0x21c,0);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LATIOS);
}
@@ -2919,15 +2920,15 @@ void sub_808AAF0(char param_1, s32 param_2)
void LatiosPreFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * iVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * LatiosEntity;
u32 local_18[3];
- iVar1 = sub_8085480();
- iVar2 = sub_8085680(0x16);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ LatiosEntity = sub_8085680(0x16);
- local_18[0] = iVar2->posPixelX;
- local_18[1] = iVar2->posPixelY + (0x80 << 6);
+ local_18[0] = LatiosEntity->posPixelX;
+ local_18[1] = LatiosEntity->posPixelY + (0x80 << 6);
local_18[2] = 0x7000fc;
sub_8085EC8(0x1bd,0,0,&local_18[2],1);
@@ -2935,7 +2936,7 @@ void LatiosPreFightDialogue(void)
sub_8086448();
sub_80858AC(local_18,0x18);
sub_803E708(2,70);
- sub_80862BC(iVar2);
+ sub_80862BC(LatiosEntity);
sub_803E708(0x20,70);
sub_808692C();
sub_8052910(&gUnknown_8104E60);
@@ -2944,17 +2945,17 @@ void LatiosPreFightDialogue(void)
LatiosScreenFlash();
sub_8052910(&gUnknown_8104F30);
sub_803E708(10,70);
- SetupBossFightHP(iVar2,600,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(LatiosEntity,600,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void LatiosReFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * LatiosEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x16);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ LatiosEntity = sub_8085680(0x16);
sub_8086448();
sub_808692C();
sub_8052910(&gUnknown_8104F64);
@@ -2963,8 +2964,8 @@ void LatiosReFightDialogue(void)
LatiosScreenFlash();
sub_8052910(&gUnknown_8104F30);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,600,0xb);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(LatiosEntity,600,0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void sub_808AC3C(void)
@@ -3094,13 +3095,13 @@ void sub_808ADCC(void)
void sub_808AE54(char param_1,char param_2,u32 *param_3)
{
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
u8 auStack24 [4];
struct ItemSlot auStack20;
- uVar3 = sub_8085480();
- sub_8052D44(auStack24,uVar3,0);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_8052D44(auStack24,LeaderEntity,0);
if ((sub_8098100(0x22) == 0) && (param_2 == 0x2E) && (param_1 == 0x17)) {
sub_808B1CC(0);
if (sub_8098100(0x1d) == 0) {
@@ -3117,13 +3118,13 @@ void sub_808AE54(char param_1,char param_2,u32 *param_3)
void sub_808AEC8(char param_1,char param_2,u32 *param_3)
{
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
u8 auStack24 [4];
struct ItemSlot auStack20;
- uVar3 = sub_8085480();
- sub_8052D44(auStack24,uVar3,0);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_8052D44(auStack24,LeaderEntity,0);
if ((sub_8098100(0x22) == 0) && (param_2 == 0x2F) && (param_1 == 0x18)) {
sub_808B1CC(0);
if (sub_8098100(0x1d) == 0) {
@@ -3139,13 +3140,13 @@ void sub_808AEC8(char param_1,char param_2,u32 *param_3)
void sub_808AF3C(char param_1,char param_2,u32 *param_3)
{
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
u8 auStack24 [4];
struct ItemSlot auStack20;
- uVar3 = sub_8085480();
- sub_8052D44(auStack24,uVar3,0);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_8052D44(auStack24,LeaderEntity,0);
if ((sub_8098100(0x22) == 0) && (param_2 == 0x30) && (param_1 == 0x19)) {
sub_808B1CC(0);
if (sub_8098100(0x1d) == 0) {
@@ -3161,11 +3162,11 @@ void sub_808AF3C(char param_1,char param_2,u32 *param_3)
void sub_808AFB0(char param_1)
{
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
u8 auStack12 [4];
- uVar3 = sub_8085480();
- sub_8052D44(auStack12,uVar3,0);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_8052D44(auStack12,LeaderEntity,0);
if ((sub_8098100(0x22) == 0) && (param_1 == 0x2E) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ID_ROCK_PART) != 0)) {
sub_8097FD0(0x1d);
SetMessageArgument(gAvailablePokemonNames,GetLeaderEntity(),0);
@@ -3179,11 +3180,11 @@ void sub_808AFB0(char param_1)
void sub_808B030(char param_1)
{
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
u8 auStack12 [4];
- uVar3 = sub_8085480();
- sub_8052D44(auStack12,uVar3,0);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_8052D44(auStack12,LeaderEntity,0);
if ((sub_8098100(0x22) == 0) && (param_1 == 0x2F) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ID_ICE_PART) != 0)) {
sub_8097FD0(0x1d);
SetMessageArgument(gAvailablePokemonNames,GetLeaderEntity(),0);
@@ -3197,11 +3198,11 @@ void sub_808B030(char param_1)
void sub_808B0B0(char param_1)
{
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
u8 auStack12 [4];
- uVar3 = sub_8085480();
- sub_8052D44(auStack12,uVar3,0);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_8052D44(auStack12,LeaderEntity,0);
if ((sub_8098100(0x22) == 0) && (param_1 == 0x30) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ID_STEEL_PART) != 0)) {
sub_8097FD0(0x1d);
SetMessageArgument(gAvailablePokemonNames, GetLeaderEntity(), 0);
@@ -3364,7 +3365,7 @@ void sub_808B1CC(u8 r0)
void sub_808B2B0(struct DungeonEntity *r0)
{
r0->entityData->facingDir = DIRECTION_NORTH;
- sub_806CE68(r0, 4);
+ sub_806CE68(r0, DIRECTION_NORTH);
}
@@ -3387,45 +3388,45 @@ void sub_808B2E4(struct DungeonEntity *r0)
void sub_808B2F4(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * JirachiEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x1a);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ JirachiEntity = sub_8085680(0x1a);
sub_8083E88(0x79);
sub_808BCE4();
sub_8049ED4();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8085918(uVar2,0);
- sub_8086A3C(uVar2);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY - 3);
+ SetFacingDirection(JirachiEntity, DIRECTION_SOUTH);
+ sub_8086A3C(JirachiEntity);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_JIRACHI);
}
void sub_808B35C(void)
{
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * JirachiEntity;
- iVar2 = sub_8085480();
- uVar3 = sub_8085680(0x1a);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ JirachiEntity = sub_8085680(0x1a);
sub_8083E88(0x79);
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
if (HasRecruitedMon(SPECIES_JIRACHI)) {
- sub_8068FE0(uVar3,0x21c,0);
+ sub_8068FE0(JirachiEntity,0x21c,0);
}
else {
- sub_8085918(uVar3,0);
- sub_8086A3C(uVar3);
+ SetFacingDirection(JirachiEntity, DIRECTION_SOUTH);
+ sub_8086A3C(JirachiEntity);
sub_808BCE4();
sub_8049ED4();
}
- sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_JIRACHI);
}
@@ -3520,43 +3521,43 @@ void sub_808B3E4(u8 param_1, u8 param_2, u8 param_3)
void JirachiPreFightDialogue(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * uVar2;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * JirachiEntity;
- iVar1 = sub_8085480();
- uVar2 = sub_8085680(0x1a);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ JirachiEntity = sub_8085680(0x1a);
sub_8086448();
sub_803E708(0x40,70);
sub_8052910(&gUnknown_8105438);
sub_803E708(10,70);
- SpriteLookAroundEffect(iVar1);
+ SpriteLookAroundEffect(LeaderEntity);
sub_803E708(10,70);
sub_8052910(&gUnknown_81054A0);
- sub_80861F8(0x37,uVar2,1);
+ sub_80861F8(0x37,JirachiEntity,1);
sub_80855E4(sub_80862BC);
sub_803E708(0x3c,70);
- sub_808BBB8(uVar2);
+ sub_808BBB8(JirachiEntity);
sub_803E708(0x5a,70);
sub_8052910(&gUnknown_81054E4);
sub_803E708(10,70);
sub_8052910(&gUnknown_810550C);
sub_803E708(10,70);
- SetupBossFightHP(uVar2,0x15e,0x20);
- sub_80858AC(&iVar1->posPixelX,0x10);
+ SetupBossFightHP(JirachiEntity,0x15e,0x20);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
}
void sub_808B50C(void)
{
- struct DungeonEntity * iVar1;
+ struct DungeonEntity * JirachiEntity;
- iVar1 = sub_8085680(0x1a);
+ JirachiEntity = sub_8085680(0x1a);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_JIRACHI);
sub_80855E4(sub_808BBA8);
- sub_808BBA8(iVar1);
+ sub_808BBA8(JirachiEntity);
sub_8041888(0);
- iVar1->entityData->unk15C = 1;
- iVar1->entityData->unk15E = 0;
- sub_80861B8(iVar1,0xe,0);
+ JirachiEntity->entityData->unk15C = 1;
+ JirachiEntity->entityData->unk15E = 0;
+ sub_80861B8(JirachiEntity,0xe,0);
sub_8083ED8(0x1e);
sub_803E708(0x1e,70);
// Fwaaaahhhh
@@ -3567,7 +3568,7 @@ void sub_808B50C(void)
// I'm sleepy so I'm going back to sleep.
sub_8052910(&gUnknown_8105558);
sub_803E708(10,70);
- sub_808BC20(iVar1);
+ sub_808BC20(JirachiEntity);
sub_8052910(&gUnknown_81055F4);
sub_803E708(10,70);
gDungeonGlobalData->unk2 = 1;
diff --git a/src/code_806CD90.c b/src/code_806CD90.c
new file mode 100644
index 0000000..30ca41d
--- /dev/null
+++ b/src/code_806CD90.c
@@ -0,0 +1,88 @@
+#include "global.h"
+#include "dungeon_global_data.h"
+#include "dungeon_entity.h"
+#include "constants/direction.h"
+
+extern struct DungeonGlobalData *gDungeonGlobalData;
+
+extern u8 sub_806CEBC(struct DungeonEntity *);
+extern bool8 EntityExists(struct DungeonEntity *);
+extern void sub_806CCB4(struct DungeonEntity *, u8);
+extern u32 GetEntityType(struct DungeonEntity *);
+
+void sub_806CD90(void)
+{
+ s32 iVar3;
+ struct DungeonEntity *iVar2;
+ for(iVar3 = 0; iVar3 < DUNGEON_MAX_POKEMON; iVar3++)
+ {
+ iVar2 = gDungeonGlobalData->allPokemon[iVar3];
+ if(EntityExists(iVar2))
+ sub_806CCB4(iVar2, sub_806CEBC(iVar2));
+ }
+}
+
+void sub_806CDD4(struct DungeonEntity *r0, u8 r1, u32 r2)
+{
+ if(GetEntityType(r0) == ENTITY_POKEMON)
+ {
+ r0->unk6A = r1;
+ if(r2 < NUM_DIRECTIONS) r0->facingDir = r2;
+ }
+}
+
+void sub_806CDFC(struct DungeonEntity *r0, u8 r1, u32 r2)
+{
+ if(GetEntityType(r0) == ENTITY_POKEMON)
+ {
+ if(r0->unk6B == r1)
+ {
+ if(r0->facingDir2 == r2)
+ return;
+ else
+ goto change_dir;
+ }
+ else
+ {
+change_dir:
+ sub_806CDD4(r0, r1, r2);
+ }
+ }
+}
+
+void sub_806CE34(struct DungeonEntity *r0, u32 newDir)
+{
+ if(GetEntityType(r0) == ENTITY_POKEMON)
+ {
+ r0->unk6A = sub_806CEBC(r0);
+ if(newDir < NUM_DIRECTIONS)
+ {
+ r0->entityData->facingDir = newDir & DIRECTION_MASK;
+ r0->facingDir = newDir & DIRECTION_MASK;
+ }
+ }
+}
+
+void sub_806CE68(struct DungeonEntity *r0, u32 newDir)
+{
+ if(GetEntityType(r0) == ENTITY_POKEMON)
+ {
+ r0->unk6A = sub_806CEBC(r0);
+ if(newDir < NUM_DIRECTIONS)
+ {
+ r0->facingDir = newDir;
+ }
+ }
+}
+
+void sub_806CE94(struct DungeonEntity *r0, u32 newDir)
+{
+ if(GetEntityType(r0) == ENTITY_POKEMON)
+ {
+ r0->unk6A = 6;
+ if(newDir < NUM_DIRECTIONS)
+ {
+ r0->facingDir = newDir;
+ }
+ }
+}
diff --git a/src/code_80848F0.c b/src/code_80848F0.c
index 365411a..14b8b3e 100644
--- a/src/code_80848F0.c
+++ b/src/code_80848F0.c
@@ -94,6 +94,236 @@ extern void sub_808AFB0(u8);
extern void sub_808B030(u8);
extern void sub_808B0B0(u8);
+extern void sub_8086B14(void);
+extern void sub_8086B94(void);
+extern void sub_8086E9C(void);
+extern void sub_8086F00(void);
+extern void sub_8087230(void);
+extern void sub_808729C(void);
+extern void sub_80877E8(void);
+extern void sub_8087848(void);
+extern void sub_8087F54(void);
+extern void sub_8087FB4(void);
+extern void sub_8087FF8(void);
+extern void sub_80885A0(void);
+extern void sub_80885C4(void);
+extern void sub_808862C(void);
+extern void sub_80886C4(void);
+extern void sub_808875C(void);
+extern void sub_8088DC0(void);
+extern void sub_8088E5C(void);
+extern void sub_80892C8(void);
+extern void sub_8089328(void);
+extern void sub_808970C(void);
+extern void sub_808974C(void);
+extern void sub_8089914(void);
+extern void sub_8089978(void);
+extern void sub_8089C44(void);
+extern void sub_8089C90(void);
+extern void sub_8089EFC(void);
+extern void sub_8089F44(void);
+extern void sub_8089F8C(void);
+extern void sub_808A264(void);
+extern void sub_808A2C0(void);
+extern void sub_808A308(void);
+extern void sub_808A608(void);
+extern void sub_808A668(void);
+extern void sub_808A9E4(void);
+extern void sub_808AA3C(void);
+extern void sub_808AA94(void);
+extern void sub_808ACC0(void);
+extern void sub_808AD48(void);
+extern void sub_808ADCC(void);
+extern void sub_808B2F4(void);
+extern void sub_808B35C(void);
+extern void sub_808BDEC(void);
+extern void sub_808C10C(void);
+extern void sub_808C3A0(void);
+extern void sub_808C5C0(void);
+extern void sub_808C938(void);
+extern void sub_808C9C4(void);
+extern void sub_808CB5C(void);
+extern void sub_808CBB0(void);
+extern void sub_808CD44(void);
+extern void sub_8097FF8(void);
+
+u32 sub_80848EC(void)
+{
+ return 1;
+}
+
+void sub_80848F0(void)
+{
+ gDungeonGlobalData->unk1356C = 1;
+ switch(gDungeonGlobalData->unk3A0D) {
+ case 0:
+ case 0x3c:
+ gDungeonGlobalData->unk1356C = 0;
+ break;
+ case 1:
+ case 2:
+ sub_8086B14();
+ break;
+ case 3:
+ sub_8086B94();
+ break;
+ case 4:
+ case 5:
+ sub_8086E9C();
+ break;
+ case 6:
+ sub_8086F00();
+ break;
+ case 7:
+ case 8:
+ sub_8087230();
+ break;
+ case 9:
+ sub_808729C();
+ break;
+ case 10:
+ case 0xb:
+ sub_80877E8();
+ break;
+ case 0xc:
+ sub_8087848();
+ break;
+ case 0xd:
+ sub_8087F54();
+ break;
+ case 0xe:
+ sub_8087FB4();
+ break;
+ case 0xf:
+ sub_8087FF8();
+ break;
+ case 0x10:
+ sub_80885A0();
+ break;
+ case 0x11:
+ sub_80885C4();
+ break;
+ case 0x12:
+ sub_808862C();
+ break;
+ case 0x13:
+ sub_80886C4();
+ break;
+ case 0x14:
+ sub_808875C();
+ break;
+ case 0x15:
+ sub_8088DC0();
+ break;
+ case 0x16:
+ sub_8088E5C();
+ break;
+ case 0x17:
+ case 0x18:
+ sub_80892C8();
+ break;
+ case 0x19:
+ sub_8089328();
+ break;
+ case 0x1a:
+ case 0x1b:
+ sub_808970C();
+ break;
+ case 0x1c:
+ sub_808974C();
+ break;
+ case 0x1d:
+ case 0x1e:
+ sub_8089914();
+ break;
+ case 0x1f:
+ sub_8089978();
+ break;
+ case 0x20:
+ case 0x21:
+ sub_8089C44();
+ break;
+ case 0x22:
+ sub_8089C90();
+ break;
+ case 0x23:
+ sub_8089EFC();
+ break;
+ case 0x24:
+ sub_8089F44();
+ break;
+ case 0x25:
+ sub_8089F8C();
+ break;
+ case 0x26:
+ sub_808A264();
+ break;
+ case 0x27:
+ sub_808A2C0();
+ break;
+ case 0x28:
+ sub_808A308();
+ break;
+ case 0x29:
+ sub_808A608();
+ break;
+ case 0x2a:
+ sub_808A668();
+ break;
+ case 0x2b:
+ sub_808A9E4();
+ break;
+ case 0x2c:
+ sub_808AA3C();
+ break;
+ case 0x2d:
+ sub_808AA94();
+ break;
+ case 0x2e:
+ sub_808ACC0();
+ break;
+ case 0x2f:
+ sub_808AD48();
+ break;
+ case 0x30:
+ sub_808ADCC();
+ break;
+ case 0x31:
+ sub_808B2F4();
+ break;
+ case 0x32:
+ sub_808B35C();
+ break;
+ case 0x33:
+ sub_808BDEC();
+ break;
+ case 0x34:
+ sub_808C10C();
+ break;
+ case 0x35:
+ sub_808C3A0();
+ break;
+ case 0x36:
+ sub_808C5C0();
+ break;
+ case 0x37:
+ sub_808C938();
+ break;
+ case 0x38:
+ sub_808C9C4();
+ break;
+ case 0x39:
+ sub_808CB5C();
+ break;
+ case 0x3a:
+ sub_808CBB0();
+ break;
+ case 0x3b:
+ sub_808CD44();
+ break;
+ }
+ sub_8097FF8();
+}
void DisplayPreFightDialogue(void)
{
diff --git a/src/code_80869E4.c b/src/code_80869E4.c
index f7ffdb6..b7526d0 100644
--- a/src/code_80869E4.c
+++ b/src/code_80869E4.c
@@ -25,7 +25,7 @@ extern void sub_803E46C(u32);
extern void sub_803E9D0(void);
extern void sub_8085C54(u32, u32, u32, u32, u32);
extern void PlaySoundEffect(u32);
-extern struct DungeonEntity *sub_8085480(void);
+extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
void SpriteLookAroundEffect(struct DungeonEntity *r0);
extern void sub_8052910(u32);
void sub_8086494();
@@ -64,7 +64,7 @@ void sub_80862DC(struct DungeonEntity *r0)
array[1] = r0->posPixelY + (0xE0 << 6);
sub_804535C(r0, array);
- sub_806CDD4(r0, 0, 4);
+ sub_806CDD4(r0, 0, DIRECTION_NORTH);
sub_8086A54(r0);
}
@@ -75,7 +75,7 @@ void sub_8086310(struct DungeonEntity *r0)
array[1] = r0->posPixelY + (0x90 << 8);
sub_804535C(r0, array);
- sub_806CE68(r0, 0);
+ sub_806CE68(r0, DIRECTION_SOUTH);
sub_8086A3C(r0);
r0->visible = 0;
}
@@ -87,7 +87,7 @@ void sub_8086348(struct DungeonEntity *r0)
array[1] = r0->posPixelY + 0xffffe000;
sub_804535C(r0, array);
- sub_806CDD4(r0, 0, 6);
+ sub_806CDD4(r0, 0, DIRECTION_WEST);
sub_8086A54(r0);
}
@@ -98,38 +98,38 @@ void sub_8086384(struct DungeonEntity *r0)
array[1] = r0->posPixelY;
sub_804535C(r0, array);
- sub_806CDD4(r0, 0, 6);
+ sub_806CDD4(r0, 0, DIRECTION_WEST);
sub_8086A54(r0);
}
void sub_80863B8(struct DungeonEntity *r0)
{
- sub_806CDD4(r0, 0, 4);
+ sub_806CDD4(r0, 0, DIRECTION_NORTH);
}
void sub_80863C8(struct DungeonEntity *r0)
{
- sub_806CDD4(r0, 0, 0);
+ sub_806CDD4(r0, 0, DIRECTION_SOUTH);
}
void sub_80863D8(struct DungeonEntity *r0)
{
- sub_806CDD4(r0, 0, 6);
+ sub_806CDD4(r0, 0, DIRECTION_WEST);
}
void sub_80863E8(struct DungeonEntity *r0)
{
- sub_806CDD4(r0, 6, 4);
+ sub_806CDD4(r0, 6, DIRECTION_NORTH);
}
void sub_80863F8(struct DungeonEntity *r0)
{
- sub_806CE68(r0, 4);
+ sub_806CE68(r0, DIRECTION_NORTH);
}
void sub_8086404(struct DungeonEntity *r0)
{
- sub_806CE68(r0, 6);
+ sub_806CE68(r0, DIRECTION_WEST);
}
void sub_8086410(struct DungeonEntity *r0)
@@ -310,7 +310,7 @@ void sub_8086690(void)
void sub_80866C4(u32 r0)
{
- SpriteLookAroundEffect(sub_8085480());
+ SpriteLookAroundEffect(xxx_call_GetLeaderEntity());
sub_803E708(0xA, 0x46);
sub_8052910(r0);
sub_803E708(0xA, 0x46);
diff --git a/src/code_8086A3C.c b/src/code_8086A3C.c
index db438c0..d8dbe4c 100644
--- a/src/code_8086A3C.c
+++ b/src/code_8086A3C.c
@@ -5,7 +5,8 @@
extern struct DungeonGlobalData *gDungeonGlobalData;
extern void LoadIQSkills(struct DungeonEntity *);
-extern struct DungeonEntity *sub_8085480(void);
+extern struct DungeonEntity *GetPartnerEntity();
+extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
extern struct DungeonEntity *sub_8085680(u32);
extern void SetDefaultIQSkills(u8 *param_1, u8 param_2);
extern void sub_8097FF8(void);
@@ -20,6 +21,40 @@ extern void sub_80855E4(void *);
extern void sub_8085860(s32 r0, u32 r1);
extern void sub_8068FE0(struct DungeonEntity *, u32, u32);
extern void sub_8097FA8(u32);
+extern void sub_80858AC(void *, u32);
+extern void sub_8052910(u8 *);
+extern void sub_806CDD4(struct DungeonEntity *, u32, u32);
+extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32);
+extern void sub_8083E88(u32);
+extern void sub_803E708(u32, u32);
+extern void sub_8086448(void);
+extern void sub_80862BC(struct DungeonEntity *);
+extern void sub_8086E74(struct DungeonEntity *);
+extern void SpriteLookAroundEffect(struct DungeonEntity *);
+extern void sub_8086A54(struct DungeonEntity *);
+extern void PlaySoundEffect(u32);
+extern void sub_808563C(void *);
+
+// X / Y Coords??
+struct subStruct_Skarmory
+{
+ int x;
+ int y;
+};
+
+extern u8 gUnknown_8100768;
+extern u8 gUnknown_8100798;
+extern u8 gUnknown_8100820;
+extern u8 gUnknown_8100844;
+extern u8 gUnknown_8100880;
+extern u8 gUnknown_8100928;
+extern u8 gUnknown_8100A04;
+extern u8 gUnknown_8100B80;
+extern u8 gUnknown_8100BC0;
+extern u8 gUnknown_8100C90;
+extern u8 gUnknown_8100CBC;
+extern u8 gUnknown_8100CDC;
+extern u8 gUnknown_8100D3C;
void sub_8086A3C(struct DungeonEntity *param_1)
{
@@ -79,40 +114,40 @@ u8 sub_8086AE4(s16 _index)
void sub_8086B14(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * DiglettEntity;
+ struct DungeonEntity * SkarmoryEntity;
- iVar1 = sub_8085480();
- iVar2 = sub_8085680(4);
- uVar3 = sub_8085680(3);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ DiglettEntity = sub_8085680(4);
+ SkarmoryEntity = sub_8085680(3);
sub_8083E88(0x72);
sub_8085374();
sub_80854D4();
sub_8085930(4);
sub_80855E4(sub_8086A3C);
- sub_8086A3C(uVar3);
- iVar2->entityData->unk15C = 1;
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY + -2);
+ sub_8086A3C(SkarmoryEntity);
+ DiglettEntity->entityData->unk15C = 1;
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -2);
CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_DIGLETT);
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_SKARMORY);
}
void sub_8086B94(void)
{
- struct DungeonEntity * iVar1;
- struct DungeonEntity * iVar2;
- struct DungeonEntity * uVar3;
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * DiglettEntity;
+ struct DungeonEntity * SkarmoryEntity;
- iVar1 = sub_8085480();
- iVar2 = sub_8085680(4);
- uVar3 = sub_8085680(3);
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ DiglettEntity = sub_8085680(4);
+ SkarmoryEntity = sub_8085680(3);
- sub_8068FE0(uVar3,0x21c,0);
- sub_8068FE0(iVar2,0x21c,0);
+ sub_8068FE0(SkarmoryEntity,0x21c,0);
+ sub_8068FE0(DiglettEntity,0x21c,0);
sub_80854D4();
sub_8085930(4);
- sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
}
void sub_8086BDC(char param_1, s32 param_2)
@@ -122,3 +157,136 @@ void sub_8086BDC(char param_1, s32 param_2)
gDungeonGlobalData->unk2 = 1;
}
}
+
+void SkarmoryPreFightDialogue(void)
+{
+ struct DungeonEntity *LeaderEntity;
+ struct DungeonEntity *PartnerEntity;
+ struct DungeonEntity * DiglettEntity;
+ struct DungeonEntity * SkarmoryEntity;
+
+ struct subStruct_Skarmory local_1c;
+ struct subStruct_Skarmory local_20;
+
+ LeaderEntity = xxx_call_GetLeaderEntity(); // Player
+ PartnerEntity = GetPartnerEntity(); // Partner
+ DiglettEntity = sub_8085680(4); // Diglett
+ SkarmoryEntity = sub_8085680(3); // Skarmory
+
+ local_1c.x = DiglettEntity->posPixelX;
+ local_1c.y = DiglettEntity->posPixelY + 0x3000;
+
+ local_20.x = SkarmoryEntity->posPixelX;
+ local_20.y = SkarmoryEntity->posPixelY + 0x2000;
+
+ sub_8086448();
+ sub_803E708(10,0x46);
+ sub_80862BC(PartnerEntity);
+ sub_803E708(0x20,0x46);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8100768);
+ sub_80858AC(&local_1c,0x40);
+ sub_803E708(0x40,0x46);
+ sub_80858AC(&local_20,0x30);
+ sub_8052910(&gUnknown_8100798);
+ sub_803E708(10,0x46);
+ DiglettEntity->entityData->unk15D = 1;
+ sub_80858AC(&local_1c,0x30);
+ sub_8052910(&gUnknown_8100820); // Diglett: ...I...\nI'm scared.
+ sub_803E708(10,0x46);
+ sub_80858AC(&local_20,0x20);
+ sub_803E708(0x20,0x46);
+ sub_8086E74(SkarmoryEntity);
+ sub_8052910(&gUnknown_8100844); // Skarmory: You!\nWhat do you think you're doing here?!
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8100880);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8100928);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8100A04);
+ sub_803E708(10,0x46);
+ sub_806CDD4(SkarmoryEntity,0xd,0);
+ sub_8052910(&gUnknown_8100B80);
+ sub_803E708(10,0x46);
+ sub_80869E4(PartnerEntity,4,1,2);
+ sub_80869E4(LeaderEntity,4,2,6);
+ sub_8052910(&gUnknown_8100BC0);
+ sub_80869E4(PartnerEntity,4,2,4);
+ sub_80869E4(LeaderEntity,4,1,4);
+ sub_803E708(10,0x46);
+ sub_8083E88(0xb);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
+}
+
+void SkarmoryReFightDialogue(void)
+{
+ struct DungeonEntity * LeaderEntity;
+ struct DungeonEntity * SkarmoryEntity;
+ struct subStruct_Skarmory local_14;
+
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ SkarmoryEntity = sub_8085680(3);
+ local_14.x = SkarmoryEntity->posPixelX;
+ local_14.y = SkarmoryEntity->posPixelY + 0x2000;
+ sub_8086448();
+ sub_803E708(10,0x46);
+ sub_8086E74(SkarmoryEntity);
+ sub_80858AC(&local_14,0x10);
+ sub_8052910(&gUnknown_8100C90);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8100CBC);
+ sub_803E708(10,0x46);
+ sub_806CDD4(SkarmoryEntity,0xd,0);
+ sub_8052910(&gUnknown_8100CDC);
+ sub_803E708(10,0x46);
+ sub_80858AC(&LeaderEntity->posPixelX,0x10);
+ sub_8083E88(0xb);
+}
+
+void sub_8086E40(void)
+{
+ SpriteLookAroundEffect(xxx_call_GetLeaderEntity());
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8100D3C);
+ sub_803E708(10,0x46);
+ gDungeonGlobalData->unk2 = 1;
+}
+
+void sub_8086E74(struct DungeonEntity * param_1)
+{
+ sub_806CDD4(param_1,0xf,0);
+ sub_8086A54(param_1);
+ PlaySoundEffect(0x1f8);
+ sub_803E708(0x44,0x46);
+}
+
+void sub_8086E9C(void)
+{
+ struct DungeonEntity * LeaderEntity;
+
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_8083E88(0x72);
+ sub_8085374();
+ sub_80854D4();
+ sub_8085930(4);
+ sub_80855E4(sub_8086A3C);
+ sub_808563C(sub_8086A3C);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_METAPOD);
+ CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_GENGAR);
+ CopySpeciesNametoBuffer(gUnknown_202E038 + 0xA0, SPECIES_CATERPIE);
+}
+
+void sub_8086F00(void)
+{
+ struct DungeonEntity * LeaderEntity;
+
+ LeaderEntity = xxx_call_GetLeaderEntity();
+ sub_80854D4();
+ sub_8085930(4);
+ sub_80855E4(sub_8086A3C);
+ sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_METAPOD);
+ CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_GENGAR);
+ CopySpeciesNametoBuffer(gUnknown_202E038 + 0xA0, SPECIES_CATERPIE);
+}
diff --git a/src/friend_area_action_menu_1.c b/src/friend_area_action_menu_1.c
index 6c4d40f..1abd973 100644
--- a/src/friend_area_action_menu_1.c
+++ b/src/friend_area_action_menu_1.c
@@ -22,7 +22,6 @@ extern void PlaySound(u32);
extern void nullsub_104();
extern void sub_801A928();
extern void sub_8099690(u32);
-extern void GivePokemonItem(s16, struct HeldItem *);
extern u32 sub_801A8AC();
extern u32 sub_801A6E8(u32);
diff --git a/src/friend_list_menu.c b/src/friend_list_menu.c
index 9fbf686..7dbc441 100644
--- a/src/friend_list_menu.c
+++ b/src/friend_list_menu.c
@@ -37,7 +37,6 @@ extern u8 gPartyMenuItemPlaceholder[];
extern struct UnkTextStruct2 gUnknown_80DD370;
extern u32 sub_8026F04(struct PokemonStruct *);
-extern void GivePokemonItem(s16 index_, struct HeldItem* item);
extern void sub_8026074(u32);
extern void PlaySound(u32);
bool8 sub_8026F38(struct PokemonStruct *r0);
diff --git a/src/kangaskhan_storage_2.c b/src/kangaskhan_storage_2.c
index 9c50251..16f71bb 100644
--- a/src/kangaskhan_storage_2.c
+++ b/src/kangaskhan_storage_2.c
@@ -204,7 +204,7 @@ void sub_8017D24(void)
switch(menuAction)
{
case 3:
- if (GetNumberOfFilledInventorySlots() > 0x13)
+ if (GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
{
sub_801CBB8();
UpdateKangaskhanStorageState(6);
diff --git a/src/luminous_cave.c b/src/luminous_cave.c
index a50e92c..eef6acd 100644
--- a/src/luminous_cave.c
+++ b/src/luminous_cave.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "constants/bg_music.h"
+#include "constants/colors.h"
#include "input.h"
#include "item.h"
#include "memory.h"
@@ -75,7 +76,6 @@ extern u8 *gUnknown_80D4934[];
extern u8 gUnknown_80DCA24[];
extern u8 gUnknown_80DCA2C[];
-extern bool8 IsPokemonRenamed(struct PokemonStruct* pokemon);
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
extern void UpdateLuminousCaveState(u32);
@@ -116,7 +116,6 @@ extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32);
void sub_808F734(struct PokemonStruct *, s16);
void BoundedCopyStringtoBuffer(u8 *buffer, u8 *string, s32 size);
u32 sub_801602C(u32 r0, u8 *name);
-void sub_808D9AC(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum);
extern s32 sub_80144A4(s32 *);
extern u32 sub_801A6E8(u32);
extern s32 sub_801A8AC(void);
@@ -377,7 +376,7 @@ void UpdateLuminousCaveDialogue(void)
sub_80141B4(gLuminousCaveLetUsBegin,0,0,0x105);
break;
case LUMINOUS_CAVE_CHANGED_APPEARANCE:
- sub_808D9AC(gPlayerName,gUnknown_203B2B0->pokeStruct,5);
+ PrintColoredPokeNameToBuffer(gPlayerName,gUnknown_203B2B0->pokeStruct, COLOR_CYAN);
PlaySound(0x1ff);
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_EVOLVED;
sub_80141B4(gLuminousCaveChangedAppearance,0,0,0x105);
diff --git a/src/mailbox.c b/src/mailbox.c
index 88eabdd..395701f 100644
--- a/src/mailbox.c
+++ b/src/mailbox.c
@@ -6,10 +6,10 @@
#include "mailbox.h"
-extern void sub_802E4B0(void);
+extern void HandleMailboxMenu(void);
extern void nullsub_133(void);
extern void sub_802E578(void);
-extern void sub_802E60C(void);
+extern void HandleMailActionMenu(void);
extern void sub_802E73C(void);
extern void sub_802E758(void);
extern void sub_802E774(void);
@@ -61,7 +61,7 @@ u32 sub_802DFD8(void)
SetMailboxState(1);
break;
case 1:
- sub_802E4B0();
+ HandleMailboxMenu();
break;
case 2:
nullsub_133();
@@ -71,7 +71,7 @@ u32 sub_802DFD8(void)
sub_802E578();
break;
case 6:
- sub_802E60C();
+ HandleMailActionMenu();
break;
case 7:
sub_802E73C();
diff --git a/src/mailbox_1.c b/src/mailbox_1.c
index 18bb8fc..41b7994 100644
--- a/src/mailbox_1.c
+++ b/src/mailbox_1.c
@@ -5,8 +5,11 @@
#include "input.h"
#include "mailbox.h"
+extern struct unkStruct_203B304 *gUnknown_203B304;
+
extern u8 gMailAccepted[];
extern u8 gUnknown_80E0324[];
+
extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32);
extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32);
extern void sub_8008C54(u32);
@@ -21,10 +24,160 @@ extern u32 sub_802C898(void);
extern void sub_802C8F4(void);
extern u32 sub_802DEE0(void);
extern void sub_802DF24(void);
+extern u8 *sub_8095FE8(u8);
+extern u8 HasNoMailinMailbox(void);
+extern u8 sub_8012FD8(u32 *);
+extern void sub_8013114(u32 *, s32 *);
+extern u32 sub_802BDEC(u32);
+extern void sub_8096A78(void);
+extern void sub_8096C80(void);
+extern void sub_8096D24(void);
+extern void sub_8096040(u8);
+extern void sub_8096DF8(u8);
+extern void sub_8096078(void);
+extern void PlayMenuSoundEffect(u32);
+extern void PlaySound(u32);
+extern void sub_802BEDC(void);
+extern u8 sub_802BE74(void);
+extern u8 HasNoAcceptedJobs(void);
+extern u8 HasNoPKMNNews(void);
+extern void sub_8012EA4(u32 *, u32);
-extern struct unkStruct_203B304 *gUnknown_203B304;
+void HandleMailboxMenu(void)
+{
+ s32 menuAction = 0;
+
+ if(!sub_8012FD8(&gUnknown_203B304->unk6C))
+ {
+ sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
+ if(menuAction != 1) gUnknown_203B304->unk64 = menuAction;
+ }
+ switch(menuAction)
+ {
+ case 2:
+ if(!HasNoMailinMailbox())
+ SetMailboxState(4);
+ else
+ sub_8012EA4(&gUnknown_203B304->unk6C, 1);
+ break;
+ case 3:
+ if(!HasNoAcceptedJobs())
+ SetMailboxState(8);
+ else
+ sub_8012EA4(&gUnknown_203B304->unk6C, 1);
+ break;
+ case 4:
+ if(!HasNoPKMNNews())
+ SetMailboxState(9);
+ else
+ sub_8012EA4(&gUnknown_203B304->unk6C, 1);
+ break;
+ case 8:
+ SetMailboxState(2);
+ break;
+ case 1:
+ SetMailboxState(3);
+ break;
+ }
+}
+
+void sub_802E578(void)
+{
+ u8 *return_var;
+
+ switch(sub_802BDEC(1))
+ {
+
+ case 3:
+ gUnknown_203B304->unk8 = sub_802BE74();
+ SetMailboxState(6);
+ break;
+ case 4:
+ gUnknown_203B304->unk8 = sub_802BE74();
+ return_var = sub_8095FE8(gUnknown_203B304->unk8);
+ if(return_var[0] == 1)
+ {
+ gUnknown_203B304->mailIndex = return_var[5];
+ gUnknown_203B304->fallbackState = 5;
+ SetMailboxState(0xB);
+ }
+ else
+ SetMailboxState(7);
+ break;
+ case 2:
+ sub_802BEDC();
+ SetMailboxState(1);
+ break;
+ case 0:
+ case 1:
+ break;
+ }
+}
+
+void HandleMailActionMenu(void)
+{
+ s32 menuAction = 0;
+ u8 *return_var;
+ sub_802BDEC(0);
+ if(!sub_8012FD8(&gUnknown_203B304->unk6C))
+ {
+ sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
+ if(menuAction != 1) gUnknown_203B304->unk68 = menuAction;
+ }
+ switch(menuAction)
+ {
+ case 2:
+ case 3:
+ case 4:
+ break;
+ case 5:
+ PlaySound(0x133);
+ sub_8095FE8(gUnknown_203B304->unk8);
+ sub_8096A78();
+ sub_8096C80();
+ sub_8096D24();
+ sub_8096040(gUnknown_203B304->unk8);
+ sub_8096078();
+ if(HasNoMailinMailbox())
+ {
+ sub_802BEDC();
+ SetMailboxState(1);
+ }
+ else
+ SetMailboxState(5);
+ break;
+ case 8:
+ SetMailboxState(7);
+ break;
+ case 6:
+ PlaySound(0x133);
+ return_var = sub_8095FE8(gUnknown_203B304->unk8);
+ sub_8096DF8(return_var[5]);
+ sub_8096040(gUnknown_203B304->unk8);
+ sub_8096078();
+ if(HasNoMailinMailbox())
+ {
+ sub_802BEDC();
+ SetMailboxState(1);
+ }
+ else
+ SetMailboxState(5);
+ break;
+ case 7:
+ PlayMenuSoundEffect(0);
+ return_var = sub_8095FE8(gUnknown_203B304->unk8);
+ gUnknown_203B304->mailIndex = return_var[5];
+ gUnknown_203B304->fallbackState = 5;
+ SetMailboxState(0xB);
+ break;
+ case 1:
+ SetMailboxState(5);
+ break;
+ }
+}
+
void sub_802E73C(void)
{
switch(sub_802DEE0())
@@ -63,12 +216,12 @@ void sub_802E774(void)
case 3:
case 4:
gUnknown_203B304->mailIndex = GetPokemonNewsIndex();
- gUnknown_203B304->unk4 = 0xA;
+ gUnknown_203B304->fallbackState = 0xA;
SetMailboxState(0xB);
break;
case 2:
sub_802B81C();
- SetMailboxState(0x1);
+ SetMailboxState(1);
break;
}
}
@@ -80,7 +233,7 @@ void sub_802E7D0(void)
case 2:
case 3:
sub_802BACC();
- SetMailboxState(gUnknown_203B304->unk4);
+ SetMailboxState(gUnknown_203B304->fallbackState);
case 0:
case 1:
break;
diff --git a/src/pelipper_board_1.c b/src/pelipper_board_1.c
index 1bccc5a..a8e9b50 100644
--- a/src/pelipper_board_1.c
+++ b/src/pelipper_board_1.c
@@ -1,5 +1,32 @@
#include "global.h"
#include "mailbox.h"
+#include "pokemon.h"
+#include "item.h"
+#include "memory.h"
+#include "menu.h"
+#include "text.h"
+#include "team_inventory.h"
+
+struct unkStruct_203B308
+{
+ // size: 0xB6 << 1
+ u32 state;
+ u32 unk4;
+ u8 unk8;
+ u8 fill9[0xC - 9];
+ u32 unkC;
+ u8 fill10[0x50 - 0x10];
+ u8 unk50;
+ u8 fill51[0x64 - 0x51];
+ u32 unk64;
+ u32 unk68;
+ u32 unk6C;
+ u8 fill70[0xBC - 0x70];
+ struct MenuItem unkBC[8];
+ u16 unkFC[8];
+ struct UnkTextStruct2 unk10C[4];
+};
+extern struct unkStruct_203B308 *gUnknown_203B308;
extern u8 gPelipperBoard_Accepted[];
extern u8 gUnknown_80E03B8[];
@@ -10,10 +37,141 @@ extern void sub_80073B8(u32);
extern void sub_80073E0(u32);
extern u32 sub_802C898(void);
extern void sub_802C8F4(void);
-extern void SetPelipperBoardState(u32);
extern u32 sub_802DEE0(void);
extern void sub_802DF24(void);
+extern u8 *sub_8096574(u8);
+extern u8 sub_802C4A4(void);
+extern void sub_8096C80(void);
+extern void sub_8096D24(void);
+extern void sub_8096A78(u8 *);
+extern void sub_80965B8(u8);
+extern void sub_80965F4(void);
+extern void sub_802C2D4(void);
+extern u8 sub_8012FD8(u32 *);
+extern void sub_8013114(u32 *, s32 *);
+extern u32 sub_802C1E4(u32);
+extern void PlaySound(u32);
+extern void SetPelipperBoardState(u32);
+extern u8 sub_802C26C(void);
+extern u8 HasNoAcceptedJobs(void);
+extern void sub_8012EA4(u32 *, u32);
+
+void sub_802ECB4(void)
+{
+ s32 menuAction = 0;
+
+ if(!sub_8012FD8(&gUnknown_203B308->unk6C))
+ {
+ sub_8013114(&gUnknown_203B308->unk6C, &menuAction);
+ if(menuAction != 1) gUnknown_203B308->unk64 = menuAction;
+ }
+
+ switch(menuAction)
+ {
+ case 2:
+ if(!sub_802C4A4())
+ SetPelipperBoardState(4);
+ else
+ sub_8012EA4(&gUnknown_203B308->unk6C, 1);
+ break;
+ case 3:
+ if(!HasNoAcceptedJobs())
+ SetPelipperBoardState(8);
+ else
+ sub_8012EA4(&gUnknown_203B308->unk6C, 1);
+ break;
+ case 5:
+ SetPelipperBoardState(2);
+ break;
+ case 1:
+ SetPelipperBoardState(3);
+ break;
+ }
+}
+
+void sub_802ED4C(void)
+{
+ switch(sub_802C1E4(1))
+ {
+ case 3:
+ gUnknown_203B308->unk8 = sub_802C26C();
+ SetPelipperBoardState(6);
+ break;
+ case 4:
+ gUnknown_203B308->unk8 = sub_802C26C();
+ SetPelipperBoardState(7);
+ break;
+ case 2:
+ sub_802C2D4();
+ SetPelipperBoardState(1);
+ break;
+ case 0:
+ case 1:
+ break;
+ }
+}
+void sub_802EDBC(void)
+{
+ u8 *return_var;
+ s32 menuAction = 0;
+
+ sub_802C1E4(0);
+ if(!sub_8012FD8(&gUnknown_203B308->unk6C))
+ {
+ sub_8013114(&gUnknown_203B308->unk6C, &menuAction);
+ if(menuAction != 1) gUnknown_203B308->unk68 = menuAction;
+ }
+ switch(menuAction)
+ {
+ case 4:
+ PlaySound(0x133);
+ return_var = sub_8096574(gUnknown_203B308->unk8);
+ switch(*return_var)
+ {
+ case 2:
+ gUnknown_203B308->unk4 = 1;
+ sub_80965B8(gUnknown_203B308->unk8);
+ sub_80965F4();
+ sub_802C2D4();
+ SetPelipperBoardState(3);
+ break;
+ case 3:
+ gUnknown_203B308->unk4 = 2;
+ sub_80965B8(gUnknown_203B308->unk8);
+ sub_80965F4();
+ sub_802C2D4();
+ SetPelipperBoardState(3);
+ break;
+ case 4:
+ gUnknown_203B308->unk4 = 3;
+ sub_80965B8(gUnknown_203B308->unk8);
+ sub_80965F4();
+ sub_802C2D4();
+ SetPelipperBoardState(3);
+ break;
+ default:
+ sub_8096A78(return_var);
+ sub_8096C80();
+ sub_8096D24();
+ if(sub_802C4A4())
+ {
+ sub_802C2D4();
+ SetPelipperBoardState(1);
+ }
+ else
+ SetPelipperBoardState(5);
+ break;
+ }
+ break;
+ case 5:
+ SetPelipperBoardState(7);
+ break;
+ case 1:
+ SetPelipperBoardState(5);
+ break;
+ }
+}
void sub_802EEA0(void)
{
diff --git a/src/pokemon_mid.c b/src/pokemon_mid.c
index 9bd00d5..1721e1d 100644
--- a/src/pokemon_mid.c
+++ b/src/pokemon_mid.c
@@ -270,12 +270,12 @@ char * GetMonSpecies(s16 index)
return gMonsterParameters[index].species;
}
-void sub_808D9AC(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum)
+void PrintColoredPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum)
{
u8 nameBuffer [20];
sub_80922B4(nameBuffer, pokemon->name, POKEMON_NAME_LENGTH);
- if (colorNum == 0) {
+ if (colorNum == COLOR_WHITE) {
colorNum = COLOR_CYAN;
}
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // #c%c%s{END_COLOR_TEXT_2}
@@ -286,7 +286,7 @@ void sub_808D9DC(u8 *buffer, u8 *param_2, s32 colorNum)
u8 nameBuffer [20];
sub_80922B4(nameBuffer, param_2 + 0x58, POKEMON_NAME_LENGTH);
- if (colorNum == 0) {
+ if (colorNum == COLOR_WHITE) {
colorNum = COLOR_YELLOW;
}
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // #c%c%s{END_COLOR_TEXT_2}
@@ -300,7 +300,7 @@ void sub_808DA0C(u8 *buffer, u8 *param_2)
ExpandPlaceholdersBuffer(buffer,gUnknown_8107638,nameBuffer); // %s
}
-void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon)
+void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon)
{
sub_80922B4(buffer, pokemon->name, POKEMON_NAME_LENGTH);
}
diff --git a/src/wonder_mail_2.c b/src/wonder_mail_2.c
index 34feee1..1ded0ec 100644
--- a/src/wonder_mail_2.c
+++ b/src/wonder_mail_2.c
@@ -86,7 +86,7 @@ extern void sub_8013984(u32 *);
extern u8 HasNoPKMNNews(void);
extern u8 CheckPKMNNewsSlot(u8 r0);
extern struct PokemonStruct *sub_808D3BC(void);
-extern void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon);
+extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
extern u16 gUnknown_203B2D0;
extern u16 gUnknown_203B2D2;
@@ -719,7 +719,7 @@ void sub_802BC08(void)
void sub_802BC7C(void)
{
- sub_808DA34(gAvailablePokemonNames, sub_808D3BC());
+ PrintPokeNameToBuffer(gAvailablePokemonNames, sub_808D3BC());
if(gUnknown_203B46C->playerGender == FEMALE)
{
strcpy(gAvailablePokemonNames + 0x50, gUnknown_80DFC4C); // She
diff --git a/src/wonder_mail_3_mid.c b/src/wonder_mail_3_mid.c
index 9c54575..4d0efcb 100644
--- a/src/wonder_mail_3_mid.c
+++ b/src/wonder_mail_3_mid.c
@@ -135,7 +135,7 @@ extern u8 sub_8012FD8(u32 *r0);
extern void sub_8013114(u32 *, s32 *);
extern u32 sub_802DEE0(void);
extern void sub_802DF24(void);
-extern void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon);
+extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
extern void sub_802F6FC(void);
extern void sub_802F718(void);
@@ -368,7 +368,7 @@ u32 sub_802F204(struct unkStruct_802F204 *r0, u8 r1)
// NOTE: dumb var to get correct ordering
preload = gUnknown_203B310;
strcpy(gUnknown_202E5D8, preload->unk10->clientName);
- sub_808DA34(gAvailablePokemonNames, GetPlayerPokemonStruct());
+ PrintPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct());
gUnknown_203B310->faceFile = GetDialogueSpriteDataPtr(gUnknown_203B310->unk10->unk14);
gUnknown_203B310->faceData = NULL;