summaryrefslogtreecommitdiff
path: root/src/code_8086A3C.c
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/code_8086A3C.c
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/code_8086A3C.c')
-rw-r--r--src/code_8086A3C.c206
1 files changed, 187 insertions, 19 deletions
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);
+}