summaryrefslogtreecommitdiff
path: root/src/code_8057824_1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/code_8057824_1.c')
-rw-r--r--src/code_8057824_1.c1145
1 files changed, 1029 insertions, 116 deletions
diff --git a/src/code_8057824_1.c b/src/code_8057824_1.c
index c11a8c9..4138da4 100644
--- a/src/code_8057824_1.c
+++ b/src/code_8057824_1.c
@@ -2,6 +2,7 @@
#include "gUnknown_203B418.h"
#include "code_8041D5C.h"
#include "constants/species.h"
+#include "pokemon.h"
extern struct unkStruct_203B418 *gUnknown_203B418;
@@ -9,6 +10,83 @@ extern u32 gUnknown_202EDC8;
extern u8 gUnknown_202E038[0x50];
extern u8 gAvailablePokemonNames[0x58];
+extern s16 gUnknown_80F57CA;
+extern s16 gUnknown_80F57D2;
+extern s16 gUnknown_80F57D0;
+extern s16 gUnknown_80F57CE;
+
+extern u32 gUnknown_8103D8C;
+extern u32 gUnknown_8103D98;
+extern u32 gUnknown_8103DD8;
+extern u32 gUnknown_8103E28;
+extern u32 gUnknown_8103BD8;
+extern u32 gUnknown_8103C00;
+extern u32 gUnknown_8103C3C;
+extern u32 gUnknown_8103C74;
+extern u32 gUnknown_8103CC4;
+extern u32 gUnknown_8103D0C;
+extern u32 gUnknown_8103D50;
+extern u32 gUnknown_8103B58;
+extern u32 gUnknown_8103904;
+extern u32 gUnknown_8103938;
+extern u32 gUnknown_8103AA4;
+extern u32 gUnknown_8103AE4;
+extern u32 gUnknown_8103B30;
+extern u32 gUnknown_8103690;
+extern u32 gUnknown_8103844;
+extern u32 gUnknown_8103874;
+extern u32 gUnknown_81038A8;
+extern u32 gUnknown_81038F8;
+extern u32 gUnknown_8103500;
+extern u32 gUnknown_810352C;
+extern u32 gUnknown_8103578;
+extern u32 gUnknown_81035D4;
+extern u32 gUnknown_8103618;
+extern u32 gUnknown_810367C;
+extern u32 gUnknown_8103690;
+extern u32 gUnknown_81036C8;
+extern u32 gUnknown_81037A0;
+extern u32 gUnknown_81037D4;
+extern u32 gUnknown_8103820;
+extern u32 gUnknown_8102C30;
+extern u32 gUnknown_8102C54;
+extern u32 gUnknown_8102C98;
+extern u32 gUnknown_8102CB0;
+extern u32 gUnknown_8102CF8;
+extern u32 gUnknown_8102D34;
+extern u32 gUnknown_8102D4C;
+extern u32 gUnknown_8102D7C;
+extern u32 gUnknown_8102DFC;
+extern u32 gUnknown_8102E2C;
+extern u32 gUnknown_8102E54;
+extern u32 gUnknown_8102BE4;
+extern u32 gUnknown_8102BC4;
+extern u32 gUnknown_8102B54;
+extern u32 gUnknown_8102B1C;
+extern u32 gUnknown_8103488;
+extern u32 gUnknown_81033A0;
+extern u32 gUnknown_81033AC;
+extern u32 gUnknown_810343C;
+extern u32 gUnknown_810347C;
+extern u32 gUnknown_8103188;
+extern u32 gUnknown_8103228;
+extern u32 gUnknown_8103310;
+extern u32 gUnknown_8103340;
+extern u32 gUnknown_8102E70;
+extern u32 gUnknown_8102EBC;
+extern u32 gUnknown_8102EE0;
+extern u32 gUnknown_8102EF8;
+extern u32 gUnknown_8102F30;
+extern u32 gUnknown_8102F64;
+extern u32 gUnknown_8102F84;
+extern u32 gUnknown_8102FAC;
+extern u32 gUnknown_8102FC4;
+extern u32 gUnknown_8102FD8;
+extern u32 gUnknown_8103054;
+extern u32 gUnknown_81030D8;
+extern u32 gUnknown_8103110;
+extern u32 gUnknown_8103140;
+extern u32 gUnknown_8102B10;
extern u32 gUnknown_8105244;
extern u32 gUnknown_810517C;
extern u32 gUnknown_81050B4;
@@ -89,11 +167,60 @@ extern u32 gUnknown_8103F0C;
extern u32 gUnknown_8103F4C;
extern u32 gUnknown_8103FCC;
extern u32 gUnknown_8103E34;
+extern u32 gUnknown_8102A9C;
+extern u32 gUnknown_8102984;
+extern u32 gUnknown_81029B4;
+extern u32 gUnknown_8102A18;
+extern u32 gUnknown_8102A24;
+extern u32 gUnknown_8102A74;
+extern u32 gUnknown_81028D4;
+extern u32 gUnknown_8102918;
+extern u32 gUnknown_8102948;
+extern u32 gUnknown_8102478;
+extern u32 gUnknown_81025B4;
+extern u32 gUnknown_81025D4;
+extern u32 gUnknown_8102610;
+extern u32 gUnknown_81026C4;
+extern u32 gUnknown_810270C;
+extern u32 gUnknown_810272C;
+extern u32 gUnknown_81027BC;
+extern u32 gUnknown_8102810;
+extern u32 gUnknown_8102840;
+extern u32 gUnknown_810286C;
+extern u32 gUnknown_81028B8;
+extern u32 gUnknown_810232C;
+extern u32 gUnknown_8102398;
+extern u32 gUnknown_81023C4;
+extern u32 gUnknown_8102400;
+extern u32 gUnknown_8102454;
+extern u32 gUnknown_8100D3C;
+extern u32 gUnknown_8102158;
+extern u32 gUnknown_8102190;
+extern u32 gUnknown_8102200;
+extern u32 gUnknown_8102254;
+extern u32 gUnknown_81022F8;
+extern u32 gUnknown_8101A9C;
+extern u32 gUnknown_8101AD4;
+extern u32 gUnknown_8101C30;
+extern u32 gUnknown_8101CBC;
+extern u32 gUnknown_8101D8C;
+extern u32 gUnknown_8101DA0;
+extern u32 gUnknown_8101E1C;
+extern u32 gUnknown_8101EAC;
+extern u32 gUnknown_8102070;
+extern u32 gUnknown_81020A4;
+extern u32 gUnknown_81020D4;
+extern u32 gUnknown_8102108;
+extern u32 gUnknown_810193C;
+extern u32 gUnknown_8101970;
+extern u32 gUnknown_8101994;
+extern u32 gUnknown_81019E4;
+extern u32 gUnknown_8101A04;
+extern u32 gUnknown_8101A38;
extern struct unkDungeon_8041D5C *sub_8085480(void);
extern struct unkDungeon_8041D5C *sub_8085680(u32);
extern void sub_808BBA8(struct unkDungeon_8041D5C * );
-extern void CopySpeciesNametoBuffer(char *r0, u32 r1);
extern void sub_80855E4(void *);
extern void sub_8041888(u32);
extern void sub_80861B8(struct unkDungeon_8041D5C *, u32, u32);
@@ -105,7 +232,7 @@ extern void sub_808BC20(struct unkDungeon_8041D5C *);
extern void sub_80862BC(struct unkDungeon_8041D5C *);
extern void sub_8086448();
-extern void sub_808696C();
+extern void SpriteLookAroundEffect();
extern u32 sub_80861F8(u32, struct unkDungeon_8041D5C *, u32);
extern void sub_8086A70(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_80858AC(u32 *, u32);
@@ -121,7 +248,7 @@ extern void sub_8085930(u32);
extern void sub_8068FE0(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_8085918(struct unkDungeon_8041D5C *, u32);
extern void sub_8049ED4();
-extern void sub_8085860(s16 r0, u32 r1);
+extern void sub_8085860(s32 r0, u32 r1);
extern void sub_806CE68(struct unkDungeon_8041D5C *, u32);
extern void sub_8052D44(u8 *, struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *);
@@ -134,7 +261,7 @@ extern void sub_808B1CC(u8);
extern void sub_8090A8C(u8 *, u32, u32);
extern void sub_80464C8(struct unkDungeon_8041D5C *, u32, u8 *);
extern void sub_8098044(u32);
-extern void sub_8083E38(u32);
+extern void PlaySoundEffect(u32);
extern void sub_8085C54(u32, u32, u32, u32, u32);
extern void sub_803E46C(u32);
extern void sub_8085EB0();
@@ -189,79 +316,6 @@ extern void sub_8083F14();
extern u8 sub_80450E0(struct unkDungeon_8041D5C *);
extern u8 sub_8086AE4(u32);
-extern u32 gUnknown_8103D8C;
-extern u32 gUnknown_8103D98;
-extern u32 gUnknown_8103DD8;
-extern u32 gUnknown_8103E28;
-extern u32 gUnknown_8103BD8;
-extern u32 gUnknown_8103C00;
-extern u32 gUnknown_8103C3C;
-extern u32 gUnknown_8103C74;
-extern u32 gUnknown_8103CC4;
-extern u32 gUnknown_8103D0C;
-extern u32 gUnknown_8103D50;
-extern u32 gUnknown_8103B58;
-extern u32 gUnknown_8103904;
-extern u32 gUnknown_8103938;
-extern u32 gUnknown_8103AA4;
-extern u32 gUnknown_8103AE4;
-extern u32 gUnknown_8103B30;
-extern u32 gUnknown_8103690;
-extern u32 gUnknown_8103844;
-extern u32 gUnknown_8103874;
-extern u32 gUnknown_81038A8;
-extern u32 gUnknown_81038F8;
-extern u32 gUnknown_8103500;
-extern u32 gUnknown_810352C;
-extern u32 gUnknown_8103578;
-extern u32 gUnknown_81035D4;
-extern u32 gUnknown_8103618;
-extern u32 gUnknown_810367C;
-extern u32 gUnknown_8103690;
-extern u32 gUnknown_81036C8;
-extern u32 gUnknown_81037A0;
-extern u32 gUnknown_81037D4;
-extern u32 gUnknown_8103820;
-extern s16 gUnknown_80F57CA;
-extern u32 gUnknown_8102C30;
-extern u32 gUnknown_8102C54;
-extern u32 gUnknown_8102C98;
-extern u32 gUnknown_8102CB0;
-extern u32 gUnknown_8102CF8;
-extern u32 gUnknown_8102D34;
-extern u32 gUnknown_8102D4C;
-extern u32 gUnknown_8102D7C;
-extern u32 gUnknown_8102DFC;
-extern u32 gUnknown_8102E2C;
-extern u32 gUnknown_8102E54;
-extern u32 gUnknown_8102BE4;
-extern u32 gUnknown_8102BC4;
-extern u32 gUnknown_8102B54;
-extern u32 gUnknown_8102B1C;
-extern u32 gUnknown_8103488;
-extern u32 gUnknown_81033A0;
-extern u32 gUnknown_81033AC;
-extern u32 gUnknown_810343C;
-extern u32 gUnknown_810347C;
-extern u32 gUnknown_8103188;
-extern u32 gUnknown_8103228;
-extern u32 gUnknown_8103310;
-extern u32 gUnknown_8103340;
-extern u32 gUnknown_8102E70;
-extern u32 gUnknown_8102EBC;
-extern u32 gUnknown_8102EE0;
-extern u32 gUnknown_8102EF8;
-extern u32 gUnknown_8102F30;
-extern u32 gUnknown_8102F64;
-extern u32 gUnknown_8102F84;
-extern u32 gUnknown_8102FAC;
-extern u32 gUnknown_8102FC4;
-extern u32 gUnknown_8102FD8;
-extern u32 gUnknown_8103054;
-extern u32 gUnknown_81030D8;
-extern u32 gUnknown_8103110;
-extern u32 gUnknown_8103140;
-extern s16 gUnknown_80F57D2;
extern void sub_8072008(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, s16, u32, u32);
extern struct unkDungeon_8041D5C *sub_808548C();
@@ -274,8 +328,6 @@ extern void sub_8085374();
extern void sub_8086848(u32 ,u32);
extern void sub_80856C8(struct unkDungeon_8041D5C *, s32, s32);
extern void sub_80861D4(struct unkDungeon_8041D5C *, u32, u32);
-void sub_8088C08(struct unkDungeon_8041D5C * param_1);
-void sub_8088CA0(void);
extern void sub_8086738();
extern void sub_8086A54(struct unkDungeon_8041D5C *);
extern void sub_8086764();
@@ -284,6 +336,867 @@ extern u32 sub_803F994();
extern s32 sub_803F9B0();
extern void sub_803F878(u32,s32);
+void sub_8088C08(struct unkDungeon_8041D5C * param_1);
+void sub_8088CA0(void);
+void ArticunoScreenFlash(void);
+void sub_8088484(struct unkDungeon_8041D5C *param_1);
+void sub_8088574(void);
+
+void sub_8087D30(struct unkDungeon_8041D5C * param_1);
+void sub_8087D80(s32 r0, s32 r1);
+void sub_8087DE8(s32 r0, s32 r1);
+void sub_8087EB0(void);
+void sub_808654C(void);
+
+extern void sub_8086598();
+extern void sub_80865E8();
+
+
+extern void sub_8086500(void);
+extern void sub_8086690(void);
+void sub_8087F24(void);
+extern void sub_808663C(void);
+void sub_8087704(struct unkDungeon_8041D5C *param_1);
+void sub_808775C(int param_1);
+
+extern u32 gUnknown_81017E4;
+extern u32 gUnknown_81015A0;
+extern u32 gUnknown_8101898;
+extern u32 gUnknown_81018EC;
+extern u32 gUnknown_8101918;
+
+
+void ZapdosReFightDialogue(void)
+{
+ struct unkDungeon_8041D5C *iVar1;
+ struct unkDungeon_8041D5C *uVar2;
+
+ iVar1 = sub_8085480();
+ uVar2 = sub_8085680(8);
+ sub_8086448();
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_81017E4);
+ sub_803E708(10,0x46);
+ PlaySoundEffect(0x1da);
+ sub_8052910(&gUnknown_81015A0);
+ sub_803E708(10,0x46);
+ sub_8087704(uVar2);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8101898);
+ sub_808775C(1);
+ sub_8052910(&gUnknown_81018EC);
+ sub_808775C(2);
+ sub_8052910(&gUnknown_8101918);
+ sub_8086A70(uVar2,300,0xb);
+ sub_80858AC(&iVar1->unkC,0x10);
+}
+
+void ZapdosPostStoryPreFightDialogue(void)
+{
+ struct unkDungeon_8041D5C * iVar2;
+ struct unkDungeon_8041D5C * uVar3;
+
+ iVar2 = sub_8085480();
+ uVar3 = sub_8085680(8);
+ sub_8086448();
+ if (sub_8086AE4(SPECIES_ZAPDOS)) {
+ sub_80866C4(&gUnknown_8101A38);
+ }
+ else {
+ sub_808775C(1);
+ PlaySoundEffect(0x1da);
+ sub_8052910(&gUnknown_810193C);
+ sub_8087704(uVar3);
+ sub_8052910(&gUnknown_8101970);
+ sub_808775C(1);
+ sub_8052910(&gUnknown_8101994);
+ sub_808775C(2);
+ sub_8052910(&gUnknown_81019E4);
+ sub_808775C(2);
+ sub_8052910(&gUnknown_8101A04);
+ sub_803E708(10,0x46);
+ sub_8086A70(uVar3,300,0xb);
+ sub_80858AC(&iVar2->unkC,0x10);
+ }
+}
+
+
+void sub_8087704(struct unkDungeon_8041D5C *param_1)
+{
+ int iVar1;
+
+ param_1->unk70->unk15C = 1;
+ param_1->unk70->unk15E = 0;
+ param_1->unk70->unk174 = 200;
+ PlaySoundEffect(0x1ea);
+ for(iVar1 = 200; iVar1 >= 0; iVar1 -= 5)
+ {
+ param_1->unk70->unk174 = iVar1 * 256;
+ sub_803E46C(0x46);
+ }
+ sub_803E708(0x1e,0x46);
+}
+
+void sub_808775C(int param_1)
+{
+ int iVar1;
+ int iVar2;
+
+ PlaySoundEffect(0x1f6);
+ if (2 < param_1) {
+ for(iVar2 = 250; iVar2 > 199; iVar2 -= 10)
+ {
+ sub_8085C54(iVar2,iVar2,iVar2 / 2,1,1);
+ sub_803E46C(0x46);
+ }
+ }
+ if (1 < param_1) {
+ for(iVar2 = 250; iVar2 > 199; iVar2 -= 10)
+ {
+ sub_8085C54(iVar2,iVar2,iVar2 / 2,1,1);
+ sub_803E46C(0x46);
+ }
+ }
+ for(iVar2 = 250; iVar2 >= 0; iVar2 -= 10)
+ {
+ iVar1 = iVar2;
+ if (iVar2 < 0) {
+ iVar1 = iVar2 + 3;
+ }
+ sub_8085C54(iVar2,iVar2,iVar1 >> 2,1,1);
+ sub_803E46C(0x46);
+ }
+ sub_8085EB0();
+}
+
+
+
+void sub_80877E8(void)
+{
+ struct unkDungeon_8041D5C * iVar1;
+ struct unkDungeon_8041D5C * uVar2;
+
+ iVar1 = sub_8085480();
+ uVar2 = 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->unk4 + -3,iVar1->unk6 + -2);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MOLTRES);
+}
+
+void sub_8087848(void)
+{
+ struct unkDungeon_8041D5C *iVar2;
+ struct unkDungeon_8041D5C *uVar3;
+
+ u32 uVar4;
+ s32 iVar3;
+
+ iVar2 = sub_8085480();
+ uVar3 = 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);
+ }
+ else {
+ sub_8072008(uVar3,uVar3,gUnknown_80F57CE,0,0);
+ sub_8085918(uVar3,0);
+ sub_8086A3C(uVar3);
+ }
+ sub_8085860(iVar2->unk4 - 5, iVar2->unk6);
+ uVar4 = sub_803F994();
+ iVar3 = sub_803F9B0();
+ sub_803F878(uVar4,iVar3 + -0x1000);
+ CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_MOLTRES);
+}
+
+
+
+void sub_80878F4(char param_1, s32 param_2)
+{
+ if ((((param_2 * 0x1000000) + 0xF6000000U) >> 0x18 < 3) && (param_1 == 0x9)) {
+ sub_8097FA8(0x7);
+ gUnknown_203B418->unk2 = 1;
+ }
+}
+
+void MoltresPreFightDialogue(void)
+{
+ struct unkDungeon_8041D5C *iVar1;
+ struct unkDungeon_8041D5C *uVar2;
+ struct unkDungeon_8041D5C *uVar3;
+
+ iVar1 = sub_8085480();
+ uVar2 = sub_808548C();
+ uVar3 = 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_803E708(4,0x46);
+ SpriteLookAroundEffect(uVar2);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8101AD4);
+ sub_803E708(10,0x46);
+ sub_8087D80(0xc,5);
+ 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_8052910(&gUnknown_8101CBC);
+ sub_803E708(10,0x46);
+ sub_80869E4(uVar2,4,2,6);
+ sub_8086690();
+ sub_8052910(&gUnknown_8101D8C);
+ sub_803E708(10,0x46);
+ sub_8085930(5);
+ sub_803E708(4,0x46);
+ sub_8085930(4);
+ PlaySoundEffect(0x2f2);
+ sub_8083F14();
+ sub_8087F24();
+ sub_8052910(&gUnknown_8101DA0);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8101E1C);
+ sub_803E708(10,0x46);
+ PlaySoundEffect(0x1cf);
+ sub_80856E0(uVar2,4);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8101EAC);
+ sub_803E708(10,0x46);
+ sub_8087EB0();
+ PlaySoundEffect(0x1da);
+ sub_8052910(&gUnknown_8102070);
+ sub_803E708(10,0x46);
+ sub_8087D80(9,5);
+ sub_8087DE8(0xb,5);
+ sub_8052910(&gUnknown_81020A4);
+ sub_803E708(10,0x46);
+ sub_8087D80(0xc,5);
+ sub_8087DE8(9,5);
+ sub_8087D30(uVar3);
+ sub_808663C();
+ sub_8087EB0();
+ sub_8052910(&gUnknown_81020D4);
+ sub_803E708(10,0x46);
+ sub_8087DE8(0xb,6);
+ sub_8052910(&gUnknown_8102108);
+ sub_803E708(10,0x46);
+ sub_8086A70(uVar3,400,0xb);
+ sub_80858AC(&iVar1->unkC,0x10);
+}
+
+
+void MoltresReFightDialogue(void)
+{
+ struct unkDungeon_8041D5C *iVar1;
+ struct unkDungeon_8041D5C *uVar2;
+ struct unkDungeon_8041D5C *uVar3;
+
+ iVar1 = sub_8085480();
+ uVar2 = sub_808548C();
+ uVar3 = sub_8085680(9);
+ sub_8087D80(10,5);
+ sub_8086500();
+ sub_803E708(10,0x46);
+ SpriteLookAroundEffect(uVar2);
+ 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_8052910(&gUnknown_8102190);
+ sub_803E708(10,0x46);
+ sub_80869E4(uVar2,4,2,6);
+ sub_80869E4(iVar1,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_808663C();
+ sub_8087EB0();
+ sub_8052910(&gUnknown_8102200);
+ sub_803E708(10,0x46);
+ sub_8087DE8(0xb,6);
+ sub_8052910(&gUnknown_8102254);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_81022F8);
+ sub_803E708(10,0x46);
+ sub_8086A70(uVar3,400,0xb);
+ sub_80858AC(&iVar1->unkC,0x10);
+}
+
+void MoltresPostStoryPreFightDialogue(void)
+{
+ struct unkDungeon_8041D5C * iVar2;
+ struct unkDungeon_8041D5C * uVar3;
+
+ iVar2 = sub_8085480();
+ uVar3 = sub_8085680(9);
+ sub_8087D80(0xc,5);
+ sub_808654C();
+ if (sub_8086AE4(SPECIES_MOLTRES)) {
+ sub_8085930(5);
+ sub_803E708(4,0x46);
+ sub_8085930(4);
+ sub_803E708(4,0x46);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_8100D3C);
+ sub_803E708(10,0x46);
+ gUnknown_203B418->unk2 = 1;
+ }
+ else {
+ sub_8052910(&gUnknown_810232C);
+ sub_8085930(5);
+ sub_803E708(4,0x46);
+ sub_8085930(4);
+ sub_8087D30(uVar3);
+ sub_8052910(&gUnknown_8102398);
+ sub_8087D80(0xc,5);
+ sub_8087DE8(9,5);
+ sub_8052910(&gUnknown_81023C4);
+ sub_8087EB0();
+ sub_8052910(&gUnknown_8102400);
+ sub_8087DE8(0xb,6);
+ sub_8052910(&gUnknown_8102454);
+ sub_803E708(10,0x46);
+ sub_8086A70(uVar3,400,0xb);
+ sub_80858AC(&iVar2->unkC,0x10);
+ }
+}
+
+void sub_8087D30(struct unkDungeon_8041D5C * param_1)
+{
+ s32 iVar1;
+
+ param_1->unk70->unk15C = 1;
+ param_1->unk70->unk15E = 0;
+ param_1->unk70->unk174 = 0xc800;
+ PlaySoundEffect(0x1f8);
+ iVar1 = 200;
+ for(iVar1 = 200; iVar1 >= 0; iVar1 -= 5)
+ {
+ param_1->unk70->unk174 = iVar1 << 8;
+ sub_803E46C(0x46);
+ }
+}
+
+NAKED
+void sub_8087D80(s32 r0, s32 r1)
+{
+ asm_unified("\tpush {lr}\n"
+ "\tsub sp, 0x8\n"
+ "\tadds r3, r1, 0\n"
+ "\tlsls r1, r0, 1\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 11\n"
+ "\tmovs r2, 0xC0\n"
+ "\tlsls r2, 4\n"
+ "\tadds r0, r1, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _08087D98\n"
+ "\tadds r0, 0xFF\n"
+"_08087D98:\n"
+ "\tlsls r0, 8\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r1, _08087DE0\n"
+ "\tldr r2, [sp, 0x4]\n"
+ "\tands r2, r1\n"
+ "\torrs r2, r0\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tlsls r0, r3, 1\n"
+ "\tadds r0, r3\n"
+ "\tlsls r0, 11\n"
+ "\tmovs r1, 0x80\n"
+ "\tlsls r1, 5\n"
+ "\tadds r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbge _08087DB8\n"
+ "\tadds r0, 0xFF\n"
+"_08087DB8:\n"
+ "\tlsls r0, 8\n"
+ "\tlsrs r0, 16\n"
+ "\tlsls r0, 16\n"
+ "\tldr r1, _08087DE4\n"
+ "\tands r2, r1\n"
+ "\torrs r2, r0\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tmovs r0, 0xB9\n"
+ "\tlsls r0, 1\n"
+ "\tmovs r1, 0\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r1, 0x10\n"
+ "\tmovs r2, 0\n"
+ "\tadd r3, sp, 0x4\n"
+ "\tbl sub_8085EC8\n"
+ "\tadd sp, 0x8\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+"_08087DE0: .4byte 0xffff0000\n"
+"_08087DE4: .4byte 0x0000ffff");
+}
+
+NAKED
+void sub_8087DE8(s32 r0, s32 r1)
+{
+ asm_unified("\tpush {r4-r6,lr}\n"
+ "\tsub sp, 0x8\n"
+ "\tadds r3, r1, 0\n"
+ "\tlsls r1, r0, 1\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 11\n"
+ "\tmovs r2, 0xC0\n"
+ "\tlsls r2, 4\n"
+ "\tadds r0, r1, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _08087E00\n"
+ "\tadds r0, 0xFF\n"
+"_08087E00:\n"
+ "\tlsls r0, 8\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r1, _08087EA8\n"
+ "\tldr r2, [sp, 0x4]\n"
+ "\tands r2, r1\n"
+ "\torrs r2, r0\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tlsls r0, r3, 1\n"
+ "\tadds r0, r3\n"
+ "\tlsls r0, 11\n"
+ "\tmovs r1, 0x80\n"
+ "\tlsls r1, 5\n"
+ "\tadds r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbge _08087E20\n"
+ "\tadds r0, 0xFF\n"
+"_08087E20:\n"
+ "\tlsls r0, 8\n"
+ "\tlsrs r0, 16\n"
+ "\tlsls r0, 16\n"
+ "\tldr r1, _08087EAC\n"
+ "\tands r2, r1\n"
+ "\torrs r2, r0\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tmovs r0, 0xB9\n"
+ "\tlsls r0, 1\n"
+ "\tmovs r1, 0\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r1, 0x16\n"
+ "\tmovs r2, 0\n"
+ "\tadd r3, sp, 0x4\n"
+ "\tbl sub_8085EC8\n"
+ "\tadds r6, r0, 0\n"
+ "\tmovs r0, 0xF6\n"
+ "\tlsls r0, 1\n"
+ "\tbl PlaySoundEffect\n"
+ "\tmovs r4, 0xFA\n"
+ "\tmovs r5, 0x1\n"
+"_08087E4E:\n"
+ "\tstr r5, [sp]\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x1\n"
+ "\tbl sub_8085C54\n"
+ "\tmovs r0, 0x46\n"
+ "\tbl sub_803E46C\n"
+ "\tsubs r4, 0xA\n"
+ "\tcmp r4, 0x13\n"
+ "\tbgt _08087E4E\n"
+ "\tmovs r0, 0xA\n"
+ "\tmovs r1, 0x46\n"
+ "\tbl sub_803E708\n"
+ "\tmovs r4, 0xFA\n"
+ "\tmovs r5, 0x1\n"
+"_08087E74:\n"
+ "\tstr r5, [sp]\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x1\n"
+ "\tbl sub_8085C54\n"
+ "\tmovs r0, 0x46\n"
+ "\tbl sub_803E46C\n"
+ "\tsubs r4, 0xA\n"
+ "\tcmp r4, 0\n"
+ "\tbge _08087E74\n"
+ "\tmovs r0, 0xA\n"
+ "\tmovs r1, 0x46\n"
+ "\tbl sub_803E708\n"
+ "\tbl sub_8085EB0\n"
+ "\tadds r0, r6, 0\n"
+ "\tbl sub_8085F44\n"
+ "\tadd sp, 0x8\n"
+ "\tpop {r4-r6}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+"_08087EA8: .4byte 0xffff0000\n"
+"_08087EAC: .4byte 0x0000ffff");
+}
+
+void sub_8087EB0(void)
+{
+ int iVar1;
+
+ PlaySoundEffect(0x1ed);
+ iVar1 = 0xfa;
+ for(iVar1 = 250; iVar1 > 9; iVar1 -= 10)
+ {
+ sub_8085C54(iVar1,iVar1,iVar1 / 2,1,1);
+ sub_803E46C(0x46);
+ }
+ sub_803E708(0x1e,0x46);
+ PlaySoundEffect(0x1ed);
+ for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
+ {
+ sub_8085C54(iVar1,iVar1,iVar1 / 2,1,1);
+ sub_803E46C(0x46);
+ }
+ sub_803E708(0x1e,0x46);
+ sub_8085EB0();
+}
+
+void sub_8087F24(void)
+{
+ s32 iVar1;
+
+ for(iVar1 = 0; iVar1 >= -80; iVar1 -= 8)
+ {
+ sub_8085C54(iVar1,iVar1,iVar1,0,0);
+ sub_803E46C(0x46);
+ }
+}
+
+
+void sub_8087F54(void)
+{
+ struct unkDungeon_8041D5C *iVar2;
+ struct unkDungeon_8041D5C *uVar3;
+
+ iVar2 = sub_8085480();
+ uVar3 = 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->unk4,iVar2->unk6 + -3);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO);
+}
+
+void sub_8087FB4(void)
+{
+ struct unkDungeon_8041D5C *iVar2;
+
+ iVar2 = sub_8085680(0xd);
+ sub_8083E88(0x72);
+ sub_8085374();
+ sub_80854D4();
+ sub_8085930(4);
+ sub_8085918(iVar2, 0);
+ sub_806CDD4(iVar2, 0xF, 0);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO);
+}
+
+void sub_8087FF8(void)
+{
+ struct unkDungeon_8041D5C *iVar2;
+ struct unkDungeon_8041D5C *uVar3;
+
+ iVar2 = sub_8085480();
+ uVar3 = sub_8085680(0xd);
+ sub_8085374();
+ sub_80854D4();
+ sub_8085930(4);
+ sub_80855E4(sub_8086A3C);
+ if (sub_8086AE4(SPECIES_ARTICUNO)) {
+ sub_8068FE0(uVar3,0x21c,0);
+ }
+ else {
+ sub_8072008(uVar3,uVar3,gUnknown_80F57D0,0,0);
+ sub_8085918(uVar3,0);
+ sub_8086A3C(uVar3);
+ }
+ sub_8085860(iVar2->unk4,iVar2->unk6 + -3);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO);
+}
+
+
+
+void sub_8088088(char param_1, s32 param_2)
+{
+ if ((((param_2 * 0x1000000) + 0xF3000000U) >> 0x18 < 3) && (param_1 == 0xD)) {
+ sub_8097FA8(0x9);
+ gUnknown_203B418->unk2 = 1;
+ }
+}
+
+void ArticunoPreFightDialogue(void)
+{
+ struct unkDungeon_8041D5C *iVar1;
+ struct unkDungeon_8041D5C *uVar2;
+ struct unkDungeon_8041D5C *uVar3;
+
+ iVar1 = sub_8085480();
+ uVar2 = sub_808548C();
+ uVar3 = sub_8085680(0xd);
+ sub_8086448();
+ SpriteLookAroundEffect(uVar2);
+ 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_8052910(&gUnknown_81025D4);
+ sub_803E708(10,0x46);
+ sub_8085918(iVar1,6);
+ sub_803E708(4,0x46);
+ sub_8085918(iVar1,5);
+ sub_803E708(4,0x46);
+ sub_8085918(iVar1,6);
+ sub_803E708(4,0x46);
+ sub_8085918(iVar1,7);
+ sub_803E708(4,0x46);
+ sub_8085918(iVar1,6);
+ sub_803E708(4,0x46);
+ sub_8085918(iVar1,5);
+ sub_803E708(4,0x46);
+ sub_8085918(iVar1,6);
+ 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);
+ PlaySoundEffect(0x1d5);
+ SpriteLookAroundEffect(uVar2);
+ PlaySoundEffect(0x1d5);
+ SpriteLookAroundEffect(iVar1);
+ sub_8052910(&gUnknown_810270C);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_810272C);
+ sub_803E708(10,0x46);
+ PlaySoundEffect(0); // snow flurry
+ gUnknown_203B418->unkE265 = 7;
+ sub_807EAA0(0,1);
+ PlaySoundEffect(0x1ee); // flash effect?
+ sub_8088574();
+ sub_8052910(&gUnknown_81027BC);
+ sub_803E708(10,0x46);
+ ArticunoScreenFlash();
+ sub_8086738();
+ PlaySoundEffect(0x1da);
+ sub_8052910(&gUnknown_8102810);
+ sub_803E708(10,0x46);
+ PlaySoundEffect(0x1ea);
+ sub_8088484(uVar3);
+ sub_80865E8();
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_8102840);
+ sub_806CDD4(uVar3,0xf,0);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_810286C);
+ sub_806CDD4(uVar3,0x10,0);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_81028B8);
+ sub_806CDD4(uVar3,0xf,0);
+ sub_803E708(0x10,0x46);
+ sub_8086A70(uVar3,0x1c2,0xb);
+ sub_80858AC(&iVar1->unkC,0x10);
+}
+
+void ArticunoReFightDialogue(void)
+{
+ struct unkDungeon_8041D5C *iVar1;
+ struct unkDungeon_8041D5C *uVar2;
+
+ iVar1 = sub_8085480();
+ uVar2 = sub_8085680(0xd);
+ gUnknown_203B418->unkE265 = 7;
+ sub_807EAA0(0,1);
+ sub_803E708(10,0x46);
+ sub_8052910(&gUnknown_81028D4);
+ sub_806CDD4(uVar2,0x10,0);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_8102918);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_8102948);
+ sub_806CDD4(uVar2,0xf,0);
+ sub_803E708(0x28,0x46);
+ sub_8086A70(uVar2,0x1c2,0xb);
+ sub_80858AC(&iVar1->unkC,0x10);
+}
+
+void ArticunoPostStoryPreFightDialogue(void)
+{
+ struct unkDungeon_8041D5C *iVar2;
+ struct unkDungeon_8041D5C *uVar3;
+
+ iVar2 = sub_8085480();
+ uVar3 = sub_8085680(0xd);
+ sub_8086448();
+ if (sub_8086AE4(SPECIES_ARTICUNO)) {
+ sub_80866C4(&gUnknown_8102A9C);
+ }
+ else {
+ gUnknown_203B418->unkE265 = 7;
+ sub_807EAA0(0,1);
+ ArticunoScreenFlash();
+ sub_8086738();
+ PlaySoundEffect(0x1da);
+ sub_8052910(&gUnknown_8102984);
+ sub_803E708(10,0x46);
+ sub_8088484(uVar3);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_81029B4);
+ sub_806CDD4(uVar3,0xf,0);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_8102A18);
+ sub_806CDD4(uVar3,0x10,0);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_8102A24);
+ ArticunoScreenFlash();
+ sub_8052910(&gUnknown_8102A74);
+ sub_806CDD4(uVar3,0xf,0);
+ sub_803E708(0x28,0x46);
+ sub_8086A70(uVar3,0x1c2,0xb);
+ sub_80858AC(&iVar2->unkC,0x10);
+ }
+}
+
+void sub_8088484(struct unkDungeon_8041D5C *param_1)
+{
+ int iVar1;
+
+ param_1->unk70->unk15C = 1;
+ param_1->unk70->unk15E = 0;
+ PlaySoundEffect(0x1ea);
+ for(iVar1 = 250; iVar1 >= 0; iVar1 -= 5)
+ {
+ param_1->unk70->unk174 = iVar1 * 256;
+ sub_8085C54(iVar1,iVar1,iVar1 / 2,1,0);
+ sub_803E46C(0x46);
+ }
+}
+
+void ArticunoScreenFlash(void)
+{
+ int iVar1;
+
+ PlaySoundEffect(0x2ad);
+ for(iVar1 = 250; iVar1 > 0x95; iVar1 -= 10)
+ {
+ sub_8085C54(iVar1 / 2,iVar1,iVar1,1,1);
+ sub_803E46C(0x46);
+ }
+ sub_803E708(4,0x46);
+ for(iVar1 = 250; iVar1 > 199; iVar1 -= 10)
+ {
+ sub_8085C54(0,iVar1,iVar1,1,1);
+ sub_803E46C(0x46);
+ }
+ sub_803E708(4,0x46);
+ for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
+ {
+ sub_8085C54(iVar1 / 2,iVar1,iVar1,1,1);
+ sub_803E46C(0x46);
+ }
+ sub_803E708(4,0x46);
+ sub_8085EB0();
+}
+
+void sub_8088574(void)
+{
+ int iVar1;
+
+ for(iVar1 = 0; iVar1 <= 80; iVar1 += 8)
+ {
+ sub_8085C54(iVar1,iVar1,iVar1,0,0);
+ sub_803E46C(0x46);
+ }
+}
+
+void sub_80885A0(void)
+{
+ sub_8083ED8(0x3c);
+ sub_803E708(0x3c,0x46);
+ sub_8083F14();
+ gUnknown_203B418->unk7 = 1;
+}
+
+void sub_80885C4(void)
+{
+ struct unkDungeon_8041D5C * iVar1;
+
+ iVar1 = sub_8085480();
+ sub_8083ED8(0x3c);
+ sub_803E708(0x3c,0x46);
+ sub_8083F14();
+ sub_80854D4();
+ sub_8085930(4);
+ sub_80855E4(sub_8086A3C);
+ sub_8085860(iVar1->unk4,iVar1->unk6 - 3);
+}
+
+void sub_8088608(void)
+{
+ gUnknown_203B418->unk2 = 1;
+}
+
+void sub_8088618(void)
+{
+ sub_8086448();
+ // The mountain's summit...
+ // But there is no one here
+ // It's time to go back
+ sub_80866C4(&gUnknown_8102B10);
+}
+
+void sub_808862C(void)
+{
+ struct unkDungeon_8041D5C * iVar1;
+ struct unkDungeon_8041D5C * uVar2;
+ struct unkDungeon_8041D5C * uVar3;
+
+ iVar1 = sub_8085480();
+ uVar2 = sub_8085680(10);
+ uVar3 = 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->unk4,iVar1->unk6 -3);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON);
+ CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM);
+}
+
void sub_80886C4(void)
{
struct unkDungeon_8041D5C * iVar1;
@@ -296,7 +1209,7 @@ void sub_80886C4(void)
iVar1 = sub_8085480();
uVar2 = sub_8085680(10);
uVar3 = sub_8085680(0xe);
- sub_8083E38(0x3e5);
+ PlaySoundEffect(0x3e5);
sub_80867F4();
sub_8085374();
sub_80854D4();
@@ -326,7 +1239,7 @@ void sub_808875C(void)
sub_8085930(4);
sub_80855E4(sub_8086A3C);
sub_8068FE0(uVar3,0x21c,0);
- if (sub_8086AE4(0x19b) != '\0') {
+ if (sub_8086AE4(0x19b)) {
sub_8068FE0(uVar4,0x21c,0);
}
else {
@@ -386,14 +1299,14 @@ void GroudonPreFightDialogue(void)
sub_803E708(10,0x46);
sub_8052910(&gUnknown_8102F64);
sub_803E708(10,0x46);
- sub_8083E38(0x1d5);
- sub_808696C(uVar2);
+ PlaySoundEffect(0x1d5);
+ SpriteLookAroundEffect(uVar2);
sub_8052910(&gUnknown_8102F84);
sub_803E708(10,0x46);
sub_808682C();
sub_803E708(0x3c,0x46);
sub_80861B8(uVar3,6,4);
- sub_8083E38(0x205);
+ PlaySoundEffect(0x205);
sub_8086738();
sub_8068FE0(uVar3,0x21c,0);
sub_8052910(&gUnknown_8102FAC);
@@ -403,8 +1316,8 @@ void GroudonPreFightDialogue(void)
sub_8085930(4);
sub_8086764();
sub_803E708(0x28,0x46);
- sub_8083E38(0x1d5);
- sub_808696C(uVar2);
+ PlaySoundEffect(0x1d5);
+ SpriteLookAroundEffect(uVar2);
sub_8052910(&gUnknown_8102FD8);
sub_803E708(10,0x46);
sub_8086838(1,1,1);
@@ -422,7 +1335,7 @@ void GroudonPreFightDialogue(void)
sub_803E708(0x1e,0x46);
sub_808682C();
sub_803E708(0x3c,0x46);
- sub_8083E38(0x1fa);
+ PlaySoundEffect(0x1fa);
sub_8086738();
sub_8085930(4);
sub_8052910(&gUnknown_8103140);
@@ -455,7 +1368,7 @@ void GroudonReFightDialogue(void)
sub_808682C();
sub_803E708(0x3c,0x46);
sub_8083F14();
- sub_8083E38(0x1fa);
+ PlaySoundEffect(0x1fa);
sub_8086738();
sub_8052910(&gUnknown_8103340);
sub_803E708(10,0x46);
@@ -483,10 +1396,10 @@ void GroudonPostStoryPreFightDialogue(void)
sub_8088C08(uVar3);
sub_8088C08(uVar3);
sub_8052910(&gUnknown_81033AC);
- sub_8083E38(0x1f6);
+ PlaySoundEffect(0x1f6);
sub_8088CA0();
sub_8052910(&gUnknown_810343C);
- sub_8083E38(0x1f6);
+ PlaySoundEffect(0x1f6);
sub_8088CA0();
sub_8052910(&gUnknown_810347C);
sub_803E708(10,0x46);
@@ -504,7 +1417,7 @@ void sub_8088C08(struct unkDungeon_8041D5C * param_1)
for(iVar1 = 0; iVar1 < 0x2C; iVar1++)
{
if ((iVar1 == 10) || (iVar1 == 0x20)) {
- sub_8083E38(0x1f9);
+ PlaySoundEffect(0x1f9);
sub_8086838(0,1,0);
sub_808680C();
}
@@ -642,7 +1555,7 @@ void MagmaCavernMidDialogue(void)
iVar4 = sub_8085680(0xc);
sub_8052D44(auStack36,uVar1,uVar2);
sub_8086448();
- sub_808696C(uVar2);
+ SpriteLookAroundEffect(uVar2);
// Let's see..
// I wonder where we are?
sub_8052910(&gUnknown_8102B1C);
@@ -659,7 +1572,7 @@ void MagmaCavernMidDialogue(void)
sub_8083F14();
sub_80855E4(sub_80868F4);
sub_808680C();
- sub_8083E38(0x1c5);
+ PlaySoundEffect(0x1c5);
sub_803E708(0x28,0x46);
// Waaah!
// Qu-quake!
@@ -678,9 +1591,9 @@ void MagmaCavernMidDialogue(void)
// It's over.
sub_8052910(&gUnknown_8102BE4);
sub_803E708(10,0x46);
- sub_8083E38(0x1d5);
- sub_808696C(uVar2);
- sub_8083E38(0x1c7);
+ PlaySoundEffect(0x1d5);
+ SpriteLookAroundEffect(uVar2);
+ PlaySoundEffect(0x1c7);
sub_80856E0(uVar2,4);
// Hey! $m0!
// Over there!
@@ -721,8 +1634,8 @@ void MagmaCavernMidDialogue(void)
// We... It crushed us
sub_8052910(&gUnknown_8102D4C);
sub_803E708(10,0x46);
- sub_8083E38(0x1d5);
- sub_808696C(uVar2);
+ PlaySoundEffect(0x1d5);
+ SpriteLookAroundEffect(uVar2);
// That's right...
// What happened to $m3?
// Where is $m3?
@@ -755,7 +1668,7 @@ void sub_8089168(void)
iVar1 = sub_8085480();
sub_8086448();
sub_803E708(10,0x46);
- sub_808696C(iVar1);
+ SpriteLookAroundEffect(iVar1);
sub_803E708(10,0x46);
sub_80858AC(&iVar1->unkC,0x10);
}
@@ -908,7 +1821,7 @@ void RayquazaPreFightDialogue(void)
RayquazaScreenFlash();
sub_8052910(&gUnknown_810352C);
sub_80856E0(uVar2,4);
- sub_808696C(uVar2);
+ SpriteLookAroundEffect(uVar2);
sub_803E708(10,0x46);
sub_80869E4(uVar2,4,1,2);
sub_80869E4(iVar1,4,2,6);
@@ -921,7 +1834,7 @@ void RayquazaPreFightDialogue(void)
sub_803E708(10,0x46);
sub_8052910(&gUnknown_810367C);
RayquazaScreenFlash();
- sub_8083E38(0x1da); // Rayquaza Cry
+ PlaySoundEffect(0x1da); // Rayquaza Cry
sub_8052910(&gUnknown_8103690);
sub_8089620(uVar3);
sub_8052910(&gUnknown_81036C8);
@@ -944,7 +1857,7 @@ void RayquazaReFightDialogue(void)
uVar2 = sub_8085680(0xf);
sub_8086448();
RayquazaScreenFlash();
- sub_8083E38(0x1da); // Rayquaza Cry
+ PlaySoundEffect(0x1da); // Rayquaza Cry
sub_8052910(&gUnknown_8103690);
sub_803E708(10,0x46);
sub_8089620(uVar2);
@@ -971,7 +1884,7 @@ void RayquazaPostStoryPreFightDialogue(void)
sub_80866C4(&gUnknown_8103B58);
}
else {
- sub_8083E38(0x1da); // Rayquaza Cry
+ PlaySoundEffect(0x1da); // Rayquaza Cry
sub_8052910(&gUnknown_8103904);
sub_8089620(uVar3);
sub_8052910(&gUnknown_8103938);
@@ -994,7 +1907,7 @@ void sub_8089620(struct unkDungeon_8041D5C *param_1)
param_1->unk70->unk15E = 0;
iVar2 = 51200;
iVar1 = 0x600;
- sub_8083E38(0x1f8);
+ PlaySoundEffect(0x1f8);
while( 1 ) {
iVar2 = iVar2 - iVar1;
iVar1 = iVar1 -= 0x18;
@@ -1012,7 +1925,7 @@ void RayquazaScreenFlash(void)
{
s32 iVar1;
- sub_8083E38(0x1f6);
+ PlaySoundEffect(0x1f6);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
{
sub_8085C54(iVar1 / 2, iVar1, iVar1 / 2, 1, 1);
@@ -1267,7 +2180,7 @@ void sub_8089B64(struct unkDungeon_8041D5C *param_1)
param_1->unk70->unk15E = 0;
iVar2 = 51200;
iVar1 = 0x400;
- sub_8083E38(0x1f8);
+ PlaySoundEffect(0x1f8);
while( 1 ) {
iVar2 = iVar2 - iVar1;
iVar1 = iVar1 -= 11;
@@ -1285,7 +2198,7 @@ void MewtwoScreenFlash(void)
{
int iVar1;
- sub_8083E38(0x1f6);
+ PlaySoundEffect(0x1f6);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
{
sub_8085C54(iVar1,iVar1,iVar1,1,1);
@@ -1416,7 +2329,7 @@ void EnteiScreenFlash(void)
{
s32 iVar1;
- sub_8083E38(0x1ed);
+ PlaySoundEffect(0x1ed);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
{
sub_8085C54(iVar1, iVar1 / 2, iVar1 / 2, 1, 1);
@@ -1572,7 +2485,7 @@ void RaikouScreenFlash(void)
{
s32 iVar1;
- sub_8083E38(0x1f6);
+ PlaySoundEffect(0x1f6);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
{
sub_8085C54(iVar1,iVar1,iVar1,1,1);
@@ -1729,7 +2642,7 @@ void sub_808A528(struct unkDungeon_8041D5C * param_1)
param_1->unk70->unk15E = 0;
iVar2 = 51200;
iVar1 = 3072;
- sub_8083E38(0x1f8);
+ PlaySoundEffect(0x1f8);
while( 1 ) {
iVar2 = iVar2 - iVar1;
iVar1 -= 96;
@@ -1747,7 +2660,7 @@ void SuicuneScreenFlash(void)
{
s32 iVar1;
- sub_8083E38(0x1ee);
+ PlaySoundEffect(0x1ee);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
{
sub_8085C54(iVar1,iVar1,iVar1,1,1);
@@ -1843,7 +2756,7 @@ void HoOhPreFightDialogue(void)
sub_803E708(10,70);
sub_80855E4(sub_80868F4);
sub_808680C();
- sub_8083E38(0x1c5);
+ PlaySoundEffect(0x1c5);
sub_803E708(0xfa,70);
sub_808A904(uVar2);
sub_8083E58(0x1c5);
@@ -1908,7 +2821,7 @@ void sub_808A904(struct unkDungeon_8041D5C * param_1)
param_1->unk70->unk15E = 0;
iVar2 = 51200;
iVar1 = 3072;
- sub_8083E38(0x1f8);
+ PlaySoundEffect(0x1f8);
while( 1 ) {
iVar2 = iVar2 - iVar1;
iVar1 -= 96;
@@ -1926,7 +2839,7 @@ void HoOhScreenFlash(void)
{
s32 iVar1;
- sub_8083E38(0x1ed);
+ PlaySoundEffect(0x1ed);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
{
sub_8085C54(iVar1,iVar1,iVar1,1,1);
@@ -2065,7 +2978,7 @@ void LatiosScreenFlash(void)
{
s32 iVar1;
- sub_8083E38(0x1ee);
+ PlaySoundEffect(0x1ee);
gUnknown_202EDC8 = 0x1f;
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
{
@@ -2616,7 +3529,7 @@ void JirachiPreFightDialogue(void)
sub_803E708(0x40,70);
sub_8052910(&gUnknown_8105438);
sub_803E708(10,70);
- sub_808696C(iVar1);
+ SpriteLookAroundEffect(iVar1);
sub_803E708(10,70);
sub_8052910(&gUnknown_81054A0);
sub_80861F8(0x37,uVar2,1);