summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2018-01-06 12:27:27 -0600
committercamthesaxman <cameronghall@cox.net>2018-01-06 12:27:27 -0600
commitb3551bc2f328c286c6ecc45ea288665d46b44260 (patch)
tree073770933fd52f710691952c4ddb8d27b258937d /src
parent818dfa314e1658ab797af686fedd464c9fda6557 (diff)
fix some code and formatting anomalies
Diffstat (limited to 'src')
-rw-r--r--src/battle/battle_7.c9
-rw-r--r--src/battle/contest_link_80C857C.c39
-rw-r--r--src/contest.c209
-rw-r--r--src/de_rom_8040FE0.c74
-rw-r--r--src/easy_chat_1.c26
-rw-r--r--src/pokenav_after.c16
-rw-r--r--src/pokenav_before.c6400
-rw-r--r--src/rom_8077ABC.c1618
8 files changed, 4301 insertions, 4090 deletions
diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c
index 7ca9ac3c4..e11971606 100644
--- a/src/battle/battle_7.c
+++ b/src/battle/battle_7.c
@@ -3,6 +3,7 @@
#include "battle_anim.h"
#include "battle_interface.h"
#include "blend_palette.h"
+#include "contest.h"
#include "data2.h"
#include "decompress.h"
#include "main.h"
@@ -629,9 +630,9 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
if (IsContest())
{
r10 = 0;
- species = ewram19348.unk2;
- personalityValue = ewram19348.unk8;
- otId = ewram19348.unkC;
+ species = shared19348.unk2;
+ personalityValue = shared19348.unk8;
+ otId = shared19348.unkC;
HandleLoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -639,7 +640,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
eVoidSharedArr2,
gUnknown_081FAF4C[0],
species,
- ewram19348.unk10);
+ shared19348.unk10);
}
else
{
diff --git a/src/battle/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c
index 0ae98af09..616a72d27 100644
--- a/src/battle/contest_link_80C857C.c
+++ b/src/battle/contest_link_80C857C.c
@@ -3,52 +3,33 @@
#if GERMAN
-void de_sub_80C9274(bool32 arg0) {
- if (deUnkValue2 != 1)
- {
- return;
- }
-
- if (arg0)
- {
- deUnkValue2 = 3;
- }
- else
+void de_sub_80C9274(bool32 arg0)
+{
+ if (deUnkValue2 == 1)
{
- deUnkValue2 = 2;
+ if (arg0)
+ deUnkValue2 = 3;
+ else
+ deUnkValue2 = 2;
}
}
-void de_sub_80C9294(bool32 arg0) {
+void de_sub_80C9294(bool32 arg0)
+{
if (deUnkValue2 == 1)
{
if (arg0)
- {
deUnkValue2 = 3;
- }
else
- {
deUnkValue2 = 2;
- }
-
- return;
}
-
-
- if (deUnkValue2 == 2)
+ else if (deUnkValue2 == 2)
{
SendBlock(0, sBlockRequestLookupTable[deUnkValue1].address, sBlockRequestLookupTable[deUnkValue1].size);
-
if (arg0)
- {
deUnkValue2 = 0;
- }
else
- {
deUnkValue2 = 1;
- }
-
- return;
}
}
diff --git a/src/contest.c b/src/contest.c
index f5aab709d..365f92538 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -39,171 +39,6 @@ extern void sub_80C8C80(u8);
extern void sub_81288F4();
extern u8 sub_8128944(void);
-struct Shared18000
-{
- /*0x18000*/ u8 unk18000;
- /*0x18001*/ u8 filler18001[3];
- /*0x18004*/ u16 unk18004[16][16];
- /*0x18204*/ u16 unk18204[0x200];
- /*0x18604*/ u16 unk18604[0x200];
- /*0x18A04*/ u8 unk18A04[0x800];
-};
-
-struct Contest
-{
- /*0x19204*/ u8 playerMoveChoice;
- /*0x19205*/ u8 turnNumber;
- /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function
- /*0x1920A*/ u16 unk1920A_0:1; // Task active flags?
- u16 unk1920A_1:1;
- u16 unk1920A_2:1;
- u16 unk1920A_3:1;
- u16 unk1920A_4:1;
- u16 unk1920A_5:1;
- u16 unk1920A_6:1;
- u16 unk1920A_7:1;
- /*0x1920B*/ u16 unk1920B_0:1;
- u16 unk1920B_1:1;
- u16 unk1920B_2:1;
- /*0x1920C*/ u8 mainTaskId;
- /*0x1920D*/ u8 unk1920D[4];
- /*0x19211*/ u8 unk19211;
- /*0x19212*/ u8 unk19212;
- /*0x19213*/ u8 filler19213;
- /*0x19214*/ u8 unk19214;
- /*0x19215*/ u8 unk19215;
- /*0x19216*/ u8 unk19216; // sprite ID
- /*0x19217*/ s8 applauseLevel;
- /*0x19218*/ u8 unk19218[4];
- /*0x1921C*/ u32 unk1921C; // saved RNG value?
- u16 unk19220[5][4]; // move history?
- u8 unk19248[5][4]; // excitement history
- u8 applauseMeterSpriteId; // sprite ID
- /*0x1925D*/ u8 unk1925D;
- /*0x1925E*/ u8 unk1925E;
-};
-
-struct ContestantStatus
-{
- s16 appeal1; // move appeal?
- s16 appeal2; // final appeal after end of turn, maybe?
- s16 unk4;
- u16 currMove;
- u16 prevMove;
- u8 moveCategory;
- u8 unkB_0:2;
- u8 unkB_2:2;
- u8 moveRepeatCount:3;
- u8 unkB_7:1; // used a one-time move?
- u8 unkC_0:1;
- u8 unkC_1:2;
- s8 unkD;
- u8 unkE;
- u8 unkF;
- u8 unk10_0:1;
- u8 unk10_1:1;
- u8 unk10_2:1;
- u8 unk10_3:1;
- u8 unk10_4:2;
- u8 unk10_6:2;
- u8 unk11_0:2;
- u8 unk11_2:1;
- u8 unk11_3:1;
- u8 unk11_4:1;
- u8 unk11_5:1;
- u8 unk12;
- u8 unk13; // status action?
- u8 unk14;
- u8 disappointedRepeat:1;
- u8 unk15_1:1;
- u8 unk15_2:1;
- u8 unk15_3:1;
- u8 unk15_4:1;
- u8 unk15_5:1;
- u8 unk15_6:1;
- u8 unk16;
- u8 unk17;
- u8 unk18;
- u8 unk19; // turn position
- u8 attentionLevel; // How much the Pokemon "stood out"
- u8 unk1B;
-};
-
-struct UnknownContestStruct3
-{
- u8 unk0;
- u8 unk1;
- //u8 unk2_0:1;
- //u8 unk2_1:1;
- u8 unk2; // maybe a bitfield
- u8 filler3;
-};
-
-// possibly the same as UnknownContestStruct3?
-struct UnknownContestStruct4
-{
- u8 unk0; // sprite ID
- u8 unk1; // sprite ID
- u8 unk2_0:1;
- u8 unk2_1:1;
- u8 unk2_2:1;
- u8 filler3;
-};
-
-struct UnknownContestStruct5
-{
- s8 bits_0; // current move excitement?
- u8 bits_8:1;
- u8 bits_9:3;
- u8 bits_C:4;
- s8 unk2;
- u8 filler3;
-};
-
-struct UnknownContestStruct7
-{
- u8 unk0[4];
- u16 unk4;
- u16 unk6;
- u8 filler8[0xD-8];
- u8 unkD[4];
- u8 unk11;
- u8 filler12[2];
-};
-
-struct UnknownContestStruct8
-{
- u16 unk0;
- u16 unk2;
- u8 unk4_0:1;
- u8 unk5;
- u8 filler6[2];
- u32 unk8;
- u32 unkC;
- u32 unk10;
-};
-
-struct UnknownContestStruct6
-{
- s32 unk0;
- s32 unk4;
- s32 unk8;
- s32 unkC;
-};
-
-#define shared15800 (gSharedMem + 0x15800)
-#define shared15DE0 (*(struct ContestWinner *)(gSharedMem + 0x15DE0))
-#define shared16800 (gSharedMem + 0x16800)
-#define shared18000 (*(struct Shared18000 *)(gSharedMem + 0x18000))
-#define shared18004 ((u16 *)(gSharedMem + 0x18004))
-#define sContest (*(struct Contest *)(gSharedMem + 0x19204))
-#define sContestantStatus ((struct ContestantStatus *)(gSharedMem + 0x19260))
-#define shared192D0_ (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0))
-#define shared192E4 (gSharedMem + 0x192E4)
-#define shared19328 (*(struct UnknownContestStruct5 *)(gSharedMem + 0x19328))
-#define shared19338 ((struct UnknownContestStruct4 *)(gSharedMem + 0x19338))
-#define shared19348_ (*(struct UnknownContestStruct8 *)(gSharedMem + 0x19348))
-
extern struct MusicPlayerInfo gMPlay_SE1;
extern u16 gSpecialVar_ContestCategory;
extern u16 gSpecialVar_ContestRank;
@@ -555,7 +390,7 @@ void ClearContestVars(void)
sContestantStatus[i].unk14 = 0xFF;
}
- memset(&shared192D0_, 0, sizeof(shared192D0_));
+ memset(&shared192D0, 0, sizeof(shared192D0));
memset(shared192E4, 0, 0x44 * sizeof(*shared192E4));
memset(&shared19328, 0, sizeof(shared19328));
memset(shared19338, 0, 4 * sizeof(*shared19338));
@@ -1063,7 +898,7 @@ void sub_80AC2CC(u8 taskId)
{
case 0:
sub_80B0D7C();
- for (i = 0; sContest.unk19214 != shared192D0_.unk0[i]; i++)
+ for (i = 0; sContest.unk19214 != shared192D0.unk0[i]; i++)
;
sContest.unk19215 = i;
r7 = sContest.unk19215;
@@ -1106,7 +941,7 @@ void sub_80AC2CC(u8 taskId)
case 3:
for (i = 0; i < 4; i++)
gBattleMonForms[i] = 0;
- memset(&shared19348_, 0, sizeof(shared19348_));
+ memset(&shared19348, 0, sizeof(shared19348));
sub_80B28F0(sContest.unk19215);
spriteId = sub_80AE9FC(
gContestMons[sContest.unk19215].species,
@@ -4528,13 +4363,13 @@ void sub_80B114C(u8 contestant)
}
sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal;
sContestantStatus[contestant].appeal2 = gContestEffects[effect].appeal;
- shared192D0_.unk4 = gContestEffects[effect].jam;
- shared192D0_.unk6 = gContestEffects[effect].jam;
- shared192D0_.unk11 = contestant;
+ shared192D0.unk4 = gContestEffects[effect].jam;
+ shared192D0.unk6 = gContestEffects[effect].jam;
+ shared192D0.unk11 = contestant;
for (i = 0; i < 4; i++)
{
sContestantStatus[i].unkE = 0;
- shared192D0_.unkD[i] = 0;
+ shared192D0.unkD[i] = 0;
}
if (sContestantStatus[contestant].unk15_4 && AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove) == 0)
sContestantStatus[contestant].unk15_4 = 0;
@@ -4637,13 +4472,13 @@ void sub_80B146C(u8 a, u8 b)
{
StringCopy(gStringVar1, gContestMons[a].nickname);
StringCopy(gStringVar2, gMoveNames[sContestantStatus[a].currMove]);
- if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_COOL)
+ if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_COOL)
StringCopy(gStringVar3, gText_Contest_Shyness);
- else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY)
+ else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY)
StringCopy(gStringVar3, gText_Contest_Anxiety);
- else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_CUTE)
+ else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_CUTE)
StringCopy(gStringVar3, gText_Contest_Laziness);
- else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_SMART)
+ else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_SMART)
StringCopy(gStringVar3, gText_Contest_Hesitancy);
else
StringCopy(gStringVar3, gText_Contest_Fear);
@@ -4708,7 +4543,7 @@ void sub_80B159C(void)
for (i = 0; i < 4; i++)
{
- shared192D0_.unk0[i] = sp0[i];
+ shared192D0.unk0[i] = sp0[i];
sContestantStatus[i].unk19 = 0xFF;
sContestantStatus[i].unk10_6 = 0;
gUnknown_02038696[i] = sp0[i];
@@ -5083,7 +4918,7 @@ void sub_80B20C4(void)
for (i = 0; i < 4; i++)
{
- if (shared192D0_.unkD[i] != 0 && !Contest_IsMonsTurnDisabled(i))
+ if (shared192D0.unkD[i] != 0 && !Contest_IsMonsTurnDisabled(i))
{
u8 r4 = gUnknown_02038696[i] * 5 + 2;
u16 r0 = sub_80AEFE8(i, 3);
@@ -5339,7 +5174,7 @@ void sub_80B2790(u8 a)
u16 species = SanitizeSpecies(gContestMons[a].species);
u8 r5_2;
- memset(&shared19348_, 0, sizeof(shared19348_));
+ memset(&shared19348, 0, sizeof(shared19348));
ClearBattleAnimationVars();
for (i = 0; i < 4; i++)
gBattleMonForms[i] = 0;
@@ -5354,9 +5189,9 @@ void sub_80B2790(u8 a)
case MOVE_TRANSFORM:
case MOVE_ROLE_PLAY:
r5_2 = sContestantStatus[a].unk1B;
- shared19348_.unk2 = SanitizeSpecies(gContestMons[r5_2].species);
- shared19348_.unk10 = gContestMons[r5_2].personality;
- shared19348_.unk4_0 = 1;
+ shared19348.unk2 = SanitizeSpecies(gContestMons[r5_2].species);
+ shared19348.unk10 = gContestMons[r5_2].personality;
+ shared19348.unk4_0 = 1;
break;
case MOVE_RETURN:
gAnimFriendship = 0xFF;
@@ -5384,17 +5219,17 @@ void sub_80B2790(u8 a)
void sub_80B28CC(int unused)
{
- memset(&shared19348_, 0, sizeof(shared19348_));
+ memset(&shared19348, 0, sizeof(shared19348));
if (sContest.unk1925E != 0)
sContest.unk1925E--;
}
void sub_80B28F0(u8 a)
{
- shared19348_.unk5 = a;
- shared19348_.unk0 = SanitizeSpecies(gContestMons[a].species);
- shared19348_.unk8 = gContestMons[a].personality;
- shared19348_.unkC = gContestMons[a].otId;
+ shared19348.unk5 = a;
+ shared19348.unk0 = SanitizeSpecies(gContestMons[a].species);
+ shared19348.unk8 = gContestMons[a].personality;
+ shared19348.unkC = gContestMons[a].otId;
}
void sub_80B292C(void)
diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c
index 53ad4a806..ad1cbf473 100644
--- a/src/de_rom_8040FE0.c
+++ b/src/de_rom_8040FE0.c
@@ -2,54 +2,33 @@
#include "battle.h"
#include "battle_tower.h"
#include "ewram.h"
+#include "trainer.h"
#if GERMAN
-enum {
- TRAINER_CLASS_NAME_LEADER = 25,
- TRAINER_CLASS_NAME_SCHOOL_KID = 26,
- TRAINER_CLASS_NAME_EXPERT = 30,
- TRAINER_CLASS_NAME_POKEMON_TRAINER_3 = 46,
-};
-
-enum {
- TRAINER_CLASS_LEADER_F = 26,
- TRAINER_CLASS_ELITE_FOUR_F = 25,
- TRAINER_CLASS_SCHOOL_KID_F = 30,
- TRAINER_CLASS_BIRD_KEEPER = 46,
- TRAINER_CLASS_MAY_1 = 61,
- TRAINER_CLASS_MAY_2 = 62,
- TRAINER_CLASS_MAY_3 = 63,
-};
-
extern u8 gTrainerClassNames[][13];
extern struct Trainer gTrainers[];
-u8 *de_sub_8040FE0(u8 gender) {
+u8 *de_sub_8040FE0(u8 gender)
+{
if (gender)
- {
gender++;
-
- }
-
gender = TRAINER_CLASS_NAME_SCHOOL_KID;
return gTrainerClassNames[gender];
}
-u8 *de_sub_8040FF4(u8 gender) {
- if (gender) {
+u8 *de_sub_8040FF4(u8 gender)
+{
+ if (gender)
gender++;
- }
-
gender = TRAINER_CLASS_NAME_POKEMON_TRAINER_3;
return gTrainerClassNames[gender];
}
-u8 *de_sub_804100C(u8 gender) {
- if (gender) {
+u8 *de_sub_804100C(u8 gender)
+{
+ if (gender)
gender++;
- }
-
gender = TRAINER_CLASS_NAME_LEADER;
return gTrainerClassNames[gender];
}
@@ -60,7 +39,8 @@ u8 de_sub_81364AC(void);
u8 get_trainer_class_name_index(void);
u8 de_sub_81364F8(void);
-u8 *de_sub_8041024(s32 arg0, u32 arg1) {
+u8 *de_sub_8041024(s32 arg0, u32 arg1)
+{
u8 nameIndex, trainerClass, gender;
struct Trainer *trainer;
u8 local2;
@@ -71,68 +51,39 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) {
nameIndex = GetSecretBaseTrainerNameIndex();
gender = eSecretBaseRecord.gender;
if (nameIndex == TRAINER_CLASS_NAME_SCHOOL_KID)
- {
return de_sub_8040FE0(gender);
- }
-
return gTrainerClassNames[nameIndex];
-
case 0x100:
trainerClass = de_sub_81364AC();
nameIndex = get_trainer_class_name_index();
if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F)
- {
return de_sub_8040FE0(FEMALE);
- }
if (trainerClass == TRAINER_CLASS_MAY_1 || trainerClass == TRAINER_CLASS_MAY_2 || trainerClass == TRAINER_CLASS_MAY_3)
- {
return de_sub_8040FF4(FEMALE);
- }
-
return gTrainerClassNames[nameIndex];
-
case 0x800:
trainerClass = de_sub_81364F8();
nameIndex = GetEReaderTrainerClassNameIndex();
if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F)
- {
return de_sub_8040FE0(FEMALE);
- }
if (trainerClass == TRAINER_CLASS_MAY_1 || trainerClass == TRAINER_CLASS_MAY_2 || trainerClass == TRAINER_CLASS_MAY_3)
- {
return de_sub_8040FF4(FEMALE);
- }
-
return gTrainerClassNames[nameIndex];
-
default:
trainer = &gTrainers[arg1];
trainerClass = trainer->trainerClass;
local2 = sub_803FC58(arg1);
-
if (trainerClass == TRAINER_CLASS_LEADER_F)
- {
return de_sub_8040FE0(local2);
- }
-
if (trainerClass == TRAINER_CLASS_BIRD_KEEPER && local2 == FEMALE)
- {
return de_sub_8040FF4(FEMALE);
- }
-
if (trainerClass == TRAINER_CLASS_ELITE_FOUR_F)
{
if (gTrainers[arg1].doubleBattle == TRUE)
- {
return de_sub_804100C(FEMALE);
- }
else
- {
return de_sub_804100C(MALE);
- }
}
-
-
return gTrainerClassNames[trainerClass];
}
}
@@ -264,7 +215,8 @@ _08041108: .4byte gTrainerClassNames\n\
}
#endif
-u32 de_sub_804110C(u32 arg0, u32 arg1) {
+u32 de_sub_804110C(u32 arg0, u32 arg1)
+{
return arg1;
}
diff --git a/src/easy_chat_1.c b/src/easy_chat_1.c
index a1a67152e..e5b6cf7c3 100644
--- a/src/easy_chat_1.c
+++ b/src/easy_chat_1.c
@@ -91,19 +91,19 @@ const struct EasyChatPrompt gUnknown_083DB6F4[] =
const u8 gUnknown_083DB7C0[][2] =
{
- { 0, 6},
- { 1, 7},
- { 1, 8},
- { 1, 9},
- { 2, 10},
- {16, 13},
- { 4, 12},
- { 3, 13},
- { 3, 13},
- { 5, 14},
- { 3, 13},
- { 3, 13},
- { 3, 13},
+ { 0, 6},
+ { 1, 7},
+ { 1, 8},
+ { 1, 9},
+ { 2, 10},
+ {16, 13},
+ { 4, 12},
+ { 3, 13},
+ { 3, 13},
+ { 5, 14},
+ { 3, 13},
+ { 3, 13},
+ { 3, 13},
{15, 13},
};
diff --git a/src/pokenav_after.c b/src/pokenav_after.c
index 84ed7b14b..330305ea3 100644
--- a/src/pokenav_after.c
+++ b/src/pokenav_after.c
@@ -6,16 +6,10 @@
#include "de_rom_8040FE0.h"
#include "string_util.h"
-void sub_80F700C(u8 *arg0, u16 arg1) {
- struct Trainer *trainer;
- u8 *ptr;
-
-#if ENGLISH
- trainer = (struct Trainer *) &gTrainers[gUnknown_083DFEC4->unkCEE8[arg1].unk0];
-#elif GERMAN
- const u16 trainerIndex = gUnknown_083DFEC4->unkCEE8[arg1].unk0;
- trainer = (struct Trainer *) &gTrainers[trainerIndex];
-#endif
+void sub_80F700C(u8 *arg0, u16 arg1)
+{
+ const struct Trainer *trainer = &gTrainers[gUnknown_083DFEC4->unkCEE8[arg1].unk0];
+ u8 *ptr = arg0;
ptr = arg0;
if (arg1 < gUnknown_083DFEC4->unkD158)
@@ -23,7 +17,7 @@ void sub_80F700C(u8 *arg0, u16 arg1) {
#if ENGLISH
ptr = StringCopy(ptr, gTrainerClassNames[trainer->trainerClass]);
#elif GERMAN
- ptr = StringCopy(ptr, de_sub_8041024(0, trainerIndex));
+ ptr = StringCopy(ptr, de_sub_8041024(0, gUnknown_083DFEC4->unkCEE8[arg1].unk0));
#endif
ptr[0] = 0xFC;
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 7693cba7d..8a67390ad 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -22,69 +22,70 @@
extern u8 ewram[];
-struct UnknownPokenav0 {
- /* 0x0000 */ u8 var0[0x0300];
- /* 0x0300 */ void (*var300)(void);
- /* 0x0304 */ u16 var304;
- /* 0x0306 */ u16 var306;
- /* 0x0308 */ u32 var308;
- /* 0x030C */ u8 fill030C[0x6a9f];
- /* 0x6dab */ u8 var6dab;
- /* 0x6dac */ u8 var6dac;
- /* 0x6dad */ u8 var6dad;
- /* 0x6dae */ u8 var6dae;
- /* 0x6daf */ u8 fill6daf[0x3];
- /* 0x6db2 */ u8 var6db2[5];
- /* 0x6db7 */ u8 fill6db7[0x25];
- /* 0x6ddc */ s8 var6ddc;
- /* 0x6ddd */ u8 fill6ddd[0x13];
- /* 0x6df0 */ s8 var6df0;
- /* 0x6df1 */ u8 fill6df1[0xB];
- /* 0x6dfc */ u8 var6dfc;
- /* 0x6dfd */ u8 fill6dfd[0x17];
- /* 0x6e14 */ u8 var6e14;
- /* 0x6e15 */ u8 var6e15;
- /* 0x6e16 */ u8 var6e16;
- /* 0x6e17 */ u8 var6e17;
- /* 0x6e18 */ u8 fill6e18[0x78];
- /* 0x6e90 */ u8 var6e90;
- /* 0x6e91 */ u8 fill6e91[0x4];
- /* 0x6e95 */ u8 var6e95;
- /* 0x6e96 */ u8 var6e96[0x814];
- /* 0x76AA */ u8 var76aa;
- /* 0x76AB */ u8 fill76AB[0x10BD];
- /* 0x8768 */ u32 var8768;
- /* 0x876C */ u8 fill876C[0x2];
- /* 0x876E */ u8 var876E;
- /* 0x876F */ u8 fill876F[0x5];
- /* 0x8774 */ s16 var8774;
- /* 0x8776 */ u8 fill8776[0x55];
- /* 0x87CB */ u8 var87CB;
- /* 0x87CC */ u8 fill87CC[0xC];
- /* 0x87D8 */ u8 var87D8;
- /* 0x87D9 */ u8 fill87D9[0x1];
- /* 0x87DA */ s16 var87DA;
- /* 0x87DC */ s16 var87DC;
- /* 0x87DE */ u8 fill87DE[0x4a];
- /* 0x8828 */ u8 playerPartyCount;
- /* 0x8829 */ u8 fill8829[0x07bf];
- /* 0x8FE8 */ s8 var8fe8;
- /* 0x8FE9 */ u8 fill8FE9[0x16];
- /* 0x8FFF */ u8 var8fff[5];
- /* 0x9004 */ u8 fill9004[0x340];
- /* 0x9344 */ u8 var9344;
- /* 0x9345 */ u8 fill9345[0x3b8b];
- /* 0xced0 */ u32 varCED0;
- /* 0xced4 */ u8 fillCED4[0x284];
- /* 0xD158 */ u16 varD158;
- /* 0xD15A */ u8 fillD15A[0x8];
- /* 0xD162 */ u8 varD162;
+struct UnknownPokenav0
+{
+ /* 0x0000 */ u8 var0[0x0300];
+ /* 0x0300 */ void (*var300)(void);
+ /* 0x0304 */ u16 var304;
+ /* 0x0306 */ u16 var306;
+ /* 0x0308 */ u32 var308;
+ /* 0x030C */ u8 fill030C[0x6a9f];
+ /* 0x6dab */ u8 var6dab;
+ /* 0x6dac */ u8 var6dac;
+ /* 0x6dad */ u8 var6dad;
+ /* 0x6dae */ u8 var6dae;
+ /* 0x6daf */ u8 fill6daf[0x3];
+ /* 0x6db2 */ u8 var6db2[5];
+ /* 0x6db7 */ u8 fill6db7[0x25];
+ /* 0x6ddc */ s8 var6ddc;
+ /* 0x6ddd */ u8 fill6ddd[0x13];
+ /* 0x6df0 */ s8 var6df0;
+ /* 0x6df1 */ u8 fill6df1[0xB];
+ /* 0x6dfc */ u8 var6dfc;
+ /* 0x6dfd */ u8 fill6dfd[0x17];
+ /* 0x6e14 */ u8 var6e14;
+ /* 0x6e15 */ u8 var6e15;
+ /* 0x6e16 */ u8 var6e16;
+ /* 0x6e17 */ u8 var6e17;
+ /* 0x6e18 */ u8 fill6e18[0x78];
+ /* 0x6e90 */ u8 var6e90;
+ /* 0x6e91 */ u8 fill6e91[0x4];
+ /* 0x6e95 */ u8 var6e95;
+ /* 0x6e96 */ u8 var6e96[0x814];
+ /* 0x76AA */ u8 var76aa;
+ /* 0x76AB */ u8 fill76AB[0x10BD];
+ /* 0x8768 */ u32 var8768;
+ /* 0x876C */ u8 fill876C[0x2];
+ /* 0x876E */ u8 var876E;
+ /* 0x876F */ u8 fill876F[0x5];
+ /* 0x8774 */ s16 var8774;
+ /* 0x8776 */ u8 fill8776[0x55];
+ /* 0x87CB */ u8 var87CB;
+ /* 0x87CC */ u8 fill87CC[0xC];
+ /* 0x87D8 */ u8 var87D8;
+ /* 0x87D9 */ u8 fill87D9[0x1];
+ /* 0x87DA */ s16 var87DA;
+ /* 0x87DC */ s16 var87DC;
+ /* 0x87DE */ u8 fill87DE[0x4a];
+ /* 0x8828 */ u8 playerPartyCount;
+ /* 0x8829 */ u8 fill8829[0x07bf];
+ /* 0x8FE8 */ s8 var8fe8;
+ /* 0x8FE9 */ u8 fill8FE9[0x16];
+ /* 0x8FFF */ u8 var8fff[5];
+ /* 0x9004 */ u8 fill9004[0x340];
+ /* 0x9344 */ u8 var9344;
+ /* 0x9345 */ u8 fill9345[0x3b8b];
+ /* 0xced0 */ u32 varCED0;
+ /* 0xced4 */ u8 fillCED4[0x284];
+ /* 0xD158 */ u16 varD158;
+ /* 0xD15A */ u8 fillD15A[0x8];
+ /* 0xD162 */ u8 varD162;
};
struct UnknownPokenav0_1 {
- u8 fill6dad[0x6dad];
- s8 var6dad;
- s8 var6dae;
+ u8 fill6dad[0x6dad];
+ s8 var6dad;
+ s8 var6dae;
};
IWRAM_DATA void (*gUnknown_03000744)(void);
@@ -297,1140 +298,1280 @@ extern void sub_80F19FC();
extern u16 gKeyRepeatStartDelay;
-void sub_80EBA5C() {
- switch (gMain.state) {
- default:
- gMain.state = 0;
- case 0:
- ewram0_10.var6dac = is_c1_link_related_active();
- if (!ewram0_10.var6dac) {
- ewram0_10.var6dab = 0;
- gMain.state++;
- SetMainCallback2(&sub_80EBBE8);
- break;
- }
- break;
- case 1:
- SetVBlankCallback(NULL);
- break;
- case 2:
- ResetPaletteFade();
- break;
- case 3:
- ResetSpriteData();
- break;
- case 4:
- FreeAllSpritePalettes();
- break;
- case 5:
- ResetTasks();
- break;
- case 6:
- remove_some_task();
- break;
- case 7:
- sub_80F1A90();
- gMain.state++;
- case 8:
- if (sub_80F1AC4()) return;
- break;
- case 9:
- sub_80F2688();
- gMain.state++;
-
- case 10:
- if (sub_80F26BC()) return;
- break;
- case 11:
- sub_80F36F0();
- gMain.state++;
- case 12:
- if (sub_80F3724()) return;
- break;
- case 13:
- sub_80EBC10();
- sub_80EBDBC(&sub_80EBDD8);
- break;
- case 14:
- ewram0_10.var6dab = 1;
- PlaySE(SE_PN_ON);
- SetMainCallback2(&sub_80EBD90);
- SetVBlankCallback(&sub_80EBD18);
- sub_80F1A74();
- break;
- }
-
- gMain.state++;
+void sub_80EBA5C()
+{
+ switch (gMain.state)
+ {
+ default:
+ gMain.state = 0;
+ case 0:
+ ewram0_10.var6dac = is_c1_link_related_active();
+ if (!ewram0_10.var6dac)
+ {
+ ewram0_10.var6dab = 0;
+ gMain.state++;
+ SetMainCallback2(&sub_80EBBE8);
+ }
+ break;
+ case 1:
+ SetVBlankCallback(NULL);
+ break;
+ case 2:
+ ResetPaletteFade();
+ break;
+ case 3:
+ ResetSpriteData();
+ break;
+ case 4:
+ FreeAllSpritePalettes();
+ break;
+ case 5:
+ ResetTasks();
+ break;
+ case 6:
+ remove_some_task();
+ break;
+ case 7:
+ sub_80F1A90();
+ gMain.state++;
+ case 8:
+ if (sub_80F1AC4())
+ return;
+ break;
+ case 9:
+ sub_80F2688();
+ gMain.state++;
+ // fall through
+ case 10:
+ if (sub_80F26BC())
+ return;
+ break;
+ case 11:
+ sub_80F36F0();
+ gMain.state++;
+ case 12:
+ if (sub_80F3724())
+ return;
+ break;
+ case 13:
+ sub_80EBC10();
+ sub_80EBDBC(&sub_80EBDD8);
+ break;
+ case 14:
+ ewram0_10.var6dab = 1;
+ PlaySE(SE_PN_ON);
+ SetMainCallback2(&sub_80EBD90);
+ SetVBlankCallback(&sub_80EBD18);
+ sub_80F1A74();
+ break;
+ }
+
+ gMain.state++;
}
-void sub_80EBBE8() {
- u8 var1;
- if (!ewram0_10.var6dab) {
- var1 = ewram0_10.var6dab;
- do {
- sub_80EBA5C();
- var1 = ewram0_10.var6dab;
- } while (!var1);
- }
+void sub_80EBBE8()
+{
+ while (!ewram0_10.var6dab)
+ sub_80EBA5C();
}
-void sub_80EBC10() {
- u16 i;
- u16 *var1;
-
- gKeyRepeatStartDelay = 0x14;
- ewram0_10.playerPartyCount = CalculatePlayerPartyCount();
- ewram0_10.var6ddc = 0;
- ewram0_10.var9344 = 0;
- ewram0_10.var8768 = 0;
- ewram0_10.varCED0 = 0;
-
- for (i = 0; i < 5; ++i) {
- ewram0_10.var8fff[i] = 0;
- var1 = (u16 *)ewram0_10.var0;
- var1[i*2 + 0x4820] = 0x9B;
- var1[i*2 + 0x4821] = 0x5B;
- }
-
- ewram0_10.var6e95 = 0;
- sub_80EBCA8();
+void sub_80EBC10()
+{
+ u16 i;
+ u16 *var1;
+
+ gKeyRepeatStartDelay = 0x14;
+ ewram0_10.playerPartyCount = CalculatePlayerPartyCount();
+ ewram0_10.var6ddc = 0;
+ ewram0_10.var9344 = 0;
+ ewram0_10.var8768 = 0;
+ ewram0_10.varCED0 = 0;
+
+ for (i = 0; i < 5; ++i)
+ {
+ ewram0_10.var8fff[i] = 0;
+ var1 = (u16 *)ewram0_10.var0;
+ var1[i*2 + 0x4820] = 0x9B;
+ var1[i*2 + 0x4821] = 0x5B;
+ }
+
+ ewram0_10.var6e95 = 0;
+ sub_80EBCA8();
}
-void sub_80EBCA8() {
- ewram0_10.var6db2[0] = 1;
- ewram0_10.var6db2[1] = 2;
- ewram0_10.var6db2[2] = 3;
+void sub_80EBCA8()
+{
+ ewram0_10.var6db2[0] = 1;
+ ewram0_10.var6db2[1] = 2;
+ ewram0_10.var6db2[2] = 3;
- if (FlagGet(FLAG_SYS_RIBBON_GET)) {
- ewram0_10.var6db2[3] = 4;
- }
- else {
- ewram0_10.var6db2[3] = 0;
- }
+ if (FlagGet(FLAG_SYS_RIBBON_GET))
+ ewram0_10.var6db2[3] = 4;
+ else
+ ewram0_10.var6db2[3] = 0;
- ewram0_10.var6db2[4] = 5;
+ ewram0_10.var6db2[4] = 5;
}
-void sub_80EBD18() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- sub_80F1FF0();
+void sub_80EBD18()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ sub_80F1FF0();
}
-void sub_80EBD30() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- UpdateRegionMapVideoRegs();
- sub_80EFE7C();
+void sub_80EBD30()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ UpdateRegionMapVideoRegs();
+ sub_80EFE7C();
}
-void sub_80EBD4C() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- sub_80F5BF0();
- sub_8089668();
+void sub_80EBD4C()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ sub_80F5BF0();
+ sub_8089668();
}
-void sub_80EBD68() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- sub_80F6F64();
+void sub_80EBD68()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ sub_80F6F64();
}
-void sub_80EBD80() {
- LoadOam();
- ProcessSpriteCopyRequests();
+void sub_80EBD80()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
}
-void sub_80EBD90() {
- ewram0_10.var300();
- AnimateSprites();
- BuildOamBuffer();
- RunTasks();
- UpdatePaletteFade();
- sub_80F19FC();
+void sub_80EBD90()
+{
+ ewram0_10.var300();
+ AnimateSprites();
+ BuildOamBuffer();
+ RunTasks();
+ UpdatePaletteFade();
+ sub_80F19FC();
}
-void sub_80EBDBC(void (*func)(void)) {
- ewram0_10.var300 = func;
- ewram0_10.var304 = 0;
+void sub_80EBDBC(void (*func)(void))
+{
+ ewram0_10.var300 = func;
+ ewram0_10.var304 = 0;
}
-void sub_80EBDD8() {
- switch (ewram0_10.var304) {
- case 0:
- SetVBlankCallback(NULL);
- REG_DISPCNT = 0;
- ewram0_10.var6dad = ewram0_10.var6ddc;
- ewram0_10.var6dae = 5;
- ewram0_10.var304++;
- break;
- case 1:
- sub_80F3FF0();
- ewram0_10.var304++;
- case 2:
- if (sub_80F4024()) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EEE20();
- ewram0_10.var304++;
- case 5:
- if (sub_80EEE54()) return;
- sub_80EEE08();
- ewram0_10.var304++;
- return;
- case 6:
- sub_80EF248(0);
- ewram0_10.var304++;
- case 7:
- if (sub_80EF284(0)) return;
- ewram0_10.var304++;
- break;
- case 8:
- sub_80F1B8C(0);
- ewram0_10.var304++;
- case 9:
- if (sub_80F1BC8(0)) return;
- ewram0_10.var304++;
- break;
- case 10:
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 11:
- BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
- ewram0_10.var304++;
- return;
- case 12:
- sub_80EED2C(0);
- ewram0_10.var304++;
- return;
- case 13:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- return;
- case 14:
- sub_80F2C80(0);
- ewram0_10.var304++;
- case 15:
- if (sub_80F2CBC(0)) return;
- ewram0_10.var304++;
- break;
- case 16:
- sub_80F1DF0();
- ewram0_10.var304++;
- return;
- case 17:
- if (!sub_80F1E50()) {
- sub_80EF428(0, 0);
- sub_80EBDBC(&sub_80EC268);
+void sub_80EBDD8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0;
+ ewram0_10.var6dad = ewram0_10.var6ddc;
+ ewram0_10.var6dae = 5;
+ ewram0_10.var304++;
+ break;
+ case 1:
+ sub_80F3FF0();
+ ewram0_10.var304++;
+ // fall through
+ case 2:
+ if (!sub_80F4024())
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEE20();
+ ewram0_10.var304++;
+ // fall through
+ case 5:
+ if (!sub_80EEE54())
+ {
+ sub_80EEE08();
+ ewram0_10.var304++;
}
- return;
-
- }
-
+ break;
+ case 6:
+ sub_80EF248(0);
+ ewram0_10.var304++;
+ // fall through
+ case 7:
+ if (!sub_80EF284(0))
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F1B8C(0);
+ ewram0_10.var304++;
+ // fall through
+ case 9:
+ if (!sub_80F1BC8(0))
+ ewram0_10.var304++;
+ break;
+ case 10:
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 11:
+ BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80F2C80(0);
+ ewram0_10.var304++;
+ // fall through
+ case 15:
+ if (!sub_80F2CBC(0))
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(0, 0);
+ sub_80EBDBC(&sub_80EC268);
+ }
+ break;
+ }
}
-void sub_80EC00C() {
- switch (ewram0_10.var304) {
- case 0:
- if (!sub_80EEF78()) {
- SetVBlankCallback(&sub_80EBD80);
- sub_80EED1C();
- ewram0_10.var6dad = ewram0_10.var6ddc;
- ewram0_10.var6dae = 5;
- sub_80EEE08();
+void sub_80EC00C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (!sub_80EEF78())
+ {
+ SetVBlankCallback(&sub_80EBD80);
+ sub_80EED1C();
+ ewram0_10.var6dad = ewram0_10.var6ddc;
+ ewram0_10.var6dae = 5;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ sub_80EF248(0);
+ ewram0_10.var304++;
+ // fall through
+ case 2:
+ if (!sub_80EF284(0))
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F1B8C(0);
+ ewram0_10.var304++;
+ // fall through
+ case 4:
+ if (!sub_80F1BC8(0))
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 10:
+ sub_80F2C80(0);
+ ewram0_10.var304++;
+ // fall through
+ case 11:
+ if (!sub_80F2CBC(0))
ewram0_10.var304++;
+ break;
+ case 12:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 13:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80EC268);
}
break;
- case 1:
- sub_80EF248(0);
- ewram0_10.var304++;
- case 2:
- if (sub_80EF284(0)) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F1B8C(0);
- ewram0_10.var304++;
- case 4:
- if (sub_80F1BC8(0)) return;
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0);
- ewram0_10.var304++;
- break;
- case 8:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- return;
- case 9:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 10:
- sub_80F2C80(0);
- ewram0_10.var304++;
- case 11:
- if (sub_80F2CBC(0)) return;
- ewram0_10.var304++;
- return;
- case 12:
- sub_80F1DF0();
- ewram0_10.var304++;
- return;
- case 13:
- if (sub_80F1E50()) return;
- sub_80EF428(0, ewram0_10.var6dad);
- sub_80EBDBC(&sub_80EC268);
- }
+ }
}
-void sub_80EC210() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F2D04(1);
- sub_80EE9C0(0, ewram0_10.var6ddc, 0);
- ewram0_10.var304++;
+void sub_80EC210()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F2D04(1);
+ sub_80EE9C0(0, ewram0_10.var6ddc, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ sub_80EBDBC(&sub_80EC268);
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80EC268);
- }
+ }
}
-void sub_80EC268() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEC10() != 0) {
- PlaySE(0x5);
- sub_80EF428(0, ewram0_10.var6dad);
- sub_80EED9C();
- break;
- }
- else {
- if (gMain.newKeys & A_BUTTON) {
- ewram0_10.var6ddc = ewram0_10.var6dad;
- switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1) {
- case 0:
- PlaySE(5);
- sub_80EBDBC(&sub_80EC4A0);
- break;
- case 1:
- PlaySE(5);
- sub_80EBDBC(&sub_80EC81C);
- break;
- case 4:
- ewram0_10.var304 = 1;
- break;
- case 3:
- ewram0_10.var304 = 2;
- break;
- case 2:
- ewram0_10.var304 = 6;
- break;
- }
+void sub_80EC268()
+{
+ u8 var1;
+
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (sub_80EEC10() != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EED9C();
+ }
+ else
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ ewram0_10.var6ddc = ewram0_10.var6dad;
+ switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1)
+ {
+ case 0:
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EC4A0);
+ break;
+ case 1:
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EC81C);
+ break;
+ case 4:
+ ewram0_10.var304 = 1;
+ break;
+ case 3:
+ ewram0_10.var304 = 2;
+ break;
+ case 2:
+ ewram0_10.var304 = 6;
+ break;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ ewram0_10.var304 = 1;
+ }
+ }
+ break;
+ case 1:
+ sub_80F208C();
+ sub_80EBDBC(&sub_80EE96C);
+ break;
+ case 2:
+ sub_80F6208();
+ ewram0_10.var304++;
+ // fall through
+ case 3:
+ if (!sub_80F6250())
+ ewram0_10.var304++;
+ break;
+ case 4:
+ if (!sub_8055870())
+ {
+ if (ewram0_10.var8fe8 != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EDB88);
}
- else if (gMain.newKeys & B_BUTTON) {
- ewram0_10.var304 = 1;
+ else
+ {
+ PlaySE(0x20);
+ sub_80EF428(0, 5);
+ ewram0_10.var304 = 0xFF;
}
- break;
}
- case 1:
- sub_80F208C();
- sub_80EBDBC(&sub_80EE96C);
- break;
- case 2:
- sub_80F6208();
- ewram0_10.var304++;
- case 3:
- if (sub_80F6250()) return;
- ewram0_10.var304++;
break;
- case 4:
- if (sub_8055870()) return;
- if (ewram0_10.var8fe8 != 0) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EDB88);
- break;
- }
- else {
- PlaySE(0x20);
- sub_80EF428(0, 5);
- ewram0_10.var304 = 0xFF;
- break;
- }
- case 6:
- sub_80F6C20();
- if (ewram0_10.varD158 != 0) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE3D8);
- break;
- }
- else {
- PlaySE(0x20);
- sub_80EF428(0, 6);
- ewram0_10.var304 = 0xFF;
- break;
- }
- case 0xFF:
- if ((var1 = sub_80EEC10()) != 0) {
- PlaySE(0x5);
- sub_80EF428(0, ewram0_10.var6dad);
- ewram0_10.var304 = 0;
- sub_80EED9C();
- }
- else {
- if (!(gMain.newKeys & (A_BUTTON | B_BUTTON))) return;
+ case 6:
+ sub_80F6C20();
+ if (ewram0_10.varD158 != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE3D8);
+ }
+ else
+ {
+ PlaySE(0x20);
+ sub_80EF428(0, 6);
+ ewram0_10.var304 = 0xFF;
+ }
+ break;
+ case 0xFF:
+ if ((var1 = sub_80EEC10()) != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(0, ewram0_10.var6dad);
+ ewram0_10.var304 = 0;
+ sub_80EED9C();
+ }
+ else if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
sub_80EF428(0, ewram0_10.var6dad);
ewram0_10.var304 = var1;
- break;
}
- }
+ break;
+ }
}
-void sub_80EC4A0() {
- u32 var1;
- u32 var2;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0);
- ewram0_10.var304++;
- break;
- case 1:
- if (!sub_80F1F10()) {
- if (gSaveBlock2.regionMapZoom) {
- var1 = 0x7;
- }
- else var1 = 0x8;
- sub_80EEFBC(var1);
+void sub_80EC4A0()
+{
+ u32 var1;
+
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ if (gSaveBlock2.regionMapZoom)
+ var1 = 0x7;
+ else
+ var1 = 0x8;
+ sub_80EEFBC(var1);
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
ewram0_10.var304++;
}
- break;
- case 2:
- if (!(var2 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var2);
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80EF814();
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80EF840();
+ ewram0_10.var304++;
+ // fall through
+ case 7:
+ if (!sub_80EF874())
ewram0_10.var304++;
- }
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80EF814();
- ewram0_10.var304++;
- break;
- case 6:
- sub_80EF840();
- ewram0_10.var304++;
- case 7:
- if (sub_80EF874()) return;
- ewram0_10.var304++;
- break;
- case 8:
- sub_80F2C80(0x4);
- ewram0_10.var304++;
- case 9:
- if (sub_80F2CBC(0x4)) return;
- ewram0_10.var304++;
- break;
- case 0xA:
- sub_80F2DD8();
- SetVBlankCallback(&sub_80EBD30);
- ewram0_10.var304++;
- break;
- case 0xB:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 0xC:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- ewram0_10.var304++;
- break;
- case 0xD:
- sub_80EED2C(0x1);
- ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F2C80(0x4);
+ ewram0_10.var304++;
+ // fall through
+ case 9:
+ if (!sub_80F2CBC(0x4))
+ ewram0_10.var304++;
+ break;
+ case 0xA:
+ sub_80F2DD8();
+ SetVBlankCallback(&sub_80EBD30);
+ ewram0_10.var304++;
+ break;
+ case 0xB:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 0xC:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 0xD:
+ sub_80EED2C(0x1);
+ ewram0_10.var304++;
+ break;
+ case 0xE:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EC67C);
break;
- case 0xE:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EC67C);
- }
+ }
}
-void sub_80EC67C() {
- u32 var1;
- u32 var2;
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80FAB60()) {
- case 1:
- sub_80EED9C();
- break;
- case 3:
- sub_80EF9F8();
- break;
- case 4:
- PlaySE(0x5);
- ewram0_10.var304 = 1;
- break;
- case 5:
- PlaySE(0x5);
- ewram0_10.var304 = 4;
- break;
- }
- break;
- case 1:
- if (!ewram0_10.var6e90) {
+void sub_80EC67C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80FAB60())
+ {
+ case 1:
+ sub_80EED9C();
+ break;
+ case 3:
+ sub_80EF9F8();
+ break;
+ case 4:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 1;
+ break;
+ case 5:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 4;
+ break;
+ }
+ break;
+ case 1:
+ if (!ewram0_10.var6e90)
+ {
+ sub_80FAEC4();
+ ewram0_10.var304++;
+ }
+ else if (!sub_80EFBDC(1))
+ {
sub_80FAEC4();
ewram0_10.var304++;
- break;
}
- if (sub_80EFBDC(1)) return;
- sub_80FAEC4();
- ewram0_10.var304++;
- break;
- case 2:
- if ((var2 = sub_80FAFC0())) return;
- if (!ewram0_10.var6e90) {
+ break;
+ case 2:
+ if (!sub_80FAFC0())
+ {
+ if (!ewram0_10.var6e90)
+ {
+ sub_80EFBB0();
+ ewram0_10.var304 = 0;
+ }
+ else
+ {
+ ewram0_10.var304++;
+ }
+ }
+ break;
+ case 3:
+ if (!sub_80EFBDC(0))
+ {
sub_80EFBB0();
- ewram0_10.var304 = var2;
- break;
+ ewram0_10.var304 = 0;
+ }
+ break;
+ case 4:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!gPaletteFade.active)
+ {
+ sub_80F2DF4();
+ sub_80F2D04(0x4);
+ gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0;
+ sub_80EBDBC(&sub_80EC00C);
}
- ewram0_10.var304++;
- break;
- case 3:
- if ((var1 = sub_80EFBDC(0))) return;
- sub_80EFBB0();
- ewram0_10.var304 = var1;
- break;
- case 4:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
break;
- case 5:
- if (gPaletteFade.active) return;
- sub_80F2DF4();
- sub_80F2D04(0x4);
- gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0;
- sub_80EBDBC(&sub_80EC00C);
- }
+ }
}
-void sub_80EC81C() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F2D04(0);
- sub_80EE9C0(1, 0, 1);
- ewram0_10.var304++;
+void sub_80EC81C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F2D04(0);
+ sub_80EE9C0(1, 0, 1);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ sub_80EBDBC(&sub_80EC86C);
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80EC86C);
- }
+ }
}
-void sub_80EC86C() {
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEC90()) {
- PlaySE(0x5);
- sub_80EF428(1, ewram0_10.var6dad);
- sub_80EED9C();
- break;
- }
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- ewram0_10.var6df0 = ewram0_10.var6dad;
- switch (ewram0_10.var6df0) {
- case 0:
- sub_80EBDBC(&sub_80ED620);
- break;
- case 1:
- sub_80EBDBC(&sub_80EC960);
- break;
- case 2:
- sub_80EBDBC(&sub_80EC210);
- break;
- }
- break;
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- ewram0_10.var6df0 = 0x2;
- ewram0_10.var6dad = 0x2;
- ewram0_10.var304++;
- break;
- }
+void sub_80EC86C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (sub_80EEC90())
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EED9C();
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ ewram0_10.var6df0 = ewram0_10.var6dad;
+ switch (ewram0_10.var6df0)
+ {
+ case 0:
+ sub_80EBDBC(&sub_80ED620);
+ break;
+ case 1:
+ sub_80EBDBC(&sub_80EC960);
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC210);
+ break;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ ewram0_10.var6df0 = 0x2;
+ ewram0_10.var6dad = 0x2;
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ if (!sub_80F1E6C())
+ sub_80EBDBC(&sub_80EC210);
break;
- case 1:
- if (sub_80F1E6C()) return;
- sub_80EBDBC(&sub_80EC210);
- }
+ }
}
-void sub_80EC960() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80EE9C0(2, 0, 5);
- ewram0_10.var304++;
+void sub_80EC960()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80EE9C0(2, 0, 5);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ sub_80EBDBC(&sub_80ECC08);
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80ECC08);
- }
+ }
}
-void sub_80EC9A8() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F2D04(5);
- sub_80EE9C0(1, ewram0_10.var6df0, 0xC);
- ewram0_10.var304++;
+void sub_80EC9A8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F2D04(5);
+ sub_80EE9C0(1, ewram0_10.var6df0, 0xC);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ {
+ sub_80EBDBC(&sub_80EC86C);
+ sub_80EF428(1, ewram0_10.var6dad);
+ }
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80EC86C);
- sub_80EF428(1, ewram0_10.var6dad);
- }
+ }
}
-void sub_80ECA10() {
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEF78()) return;
- SetVBlankCallback(&sub_80EBD80);
- sub_80EED1C();
- ewram0_10.var6dad = ewram0_10.var6df0;
- ewram0_10.var6dae = 0x3;
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 1:
- sub_80EF248(0x1);
- ewram0_10.var304++;
- case 2:
- if (sub_80EF284(0x1)) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F1B8C(0x1);
- ewram0_10.var304++;
- case 4:
- if (sub_80F1BC8(0x1)) return;
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0);
- ewram0_10.var304++;
- break;
- case 8:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 9:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 0xA:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
-
- case 0xB:
- if (sub_80F2CBC(0x1)) return;
- ewram0_10.var304++;
- break;
- case 0xC:
- sub_80F1DF0();
- ewram0_10.var304++;
+void sub_80ECA10()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (!sub_80EEF78())
+ {
+ SetVBlankCallback(&sub_80EBD80);
+ sub_80EED1C();
+ ewram0_10.var6dad = ewram0_10.var6df0;
+ ewram0_10.var6dae = 0x3;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ sub_80EF248(0x1);
+ ewram0_10.var304++;
+ case 2:
+ if (!sub_80EF284(0x1))
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F1B8C(0x1);
+ ewram0_10.var304++;
+ case 4:
+ if (!sub_80F1BC8(0x1))
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 0xA:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ // fall through
+ case 0xB:
+ if (!sub_80F2CBC(0x1))
+ ewram0_10.var304++;
+ break;
+ case 0xC:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 0xD:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80EC86C);
+ }
break;
- case 0xD:
- if (sub_80F1E50()) return;
- sub_80EF428(1, ewram0_10.var6dad);
- sub_80EBDBC(&sub_80EC86C);
- }
+ }
}
-void sub_80ECC08() {
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEC90()) {
- PlaySE(0x5);
- sub_80EF428(2, ewram0_10.var6dad);
- sub_80EED9C();
- break;
- }
+void sub_80ECC08()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (sub_80EEC90())
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EED9C();
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ switch ((s8)ewram0_10.var6dad)
+ {
+ case 0:
+ ewram0_10.var87D8 = 22;
+ break;
+ case 1:
+ ewram0_10.var87D8 = 23;
+ break;
+ case 2:
+ ewram0_10.var87D8 = 24;
+ break;
+ case 3:
+ ewram0_10.var87D8 = 33;
+ break;
+ case 4:
+ ewram0_10.var87D8 = 47;
+ break;
+ case 5:
+ sub_80EBDBC(&sub_80EC9A8);
+ return;
+ }
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- switch ((s8)ewram0_10.var6dad) {
- case 0:
- ewram0_10.var87D8 = 22;
- break;
- case 1:
- ewram0_10.var87D8 = 23;
- break;
- case 2:
- ewram0_10.var87D8 = 24;
- break;
- case 3:
- ewram0_10.var87D8 = 33;
- break;
- case 4:
- ewram0_10.var87D8 = 47;
- break;
- case 5:
- sub_80EBDBC(&sub_80EC9A8);
- return;
- }
+ ewram0_10.var6dfc = ewram0_10.var6dad;
+ ewram0_10.var76aa = 1;
+ sub_80EBDBC(&sub_80ED01C);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ ewram0_10.var6dad = 0x5;
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ if (!sub_80F1E6C())
+ sub_80EBDBC(&sub_80EC9A8);
+ break;
+ }
+}
- ewram0_10.var6dfc = ewram0_10.var6dad;
- ewram0_10.var76aa = 1;
- sub_80EBDBC(&sub_80ED01C);
+void sub_80ECD80()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (!sub_80EEF78())
+ {
+ SetVBlankCallback(&sub_80EBD80);
+ ewram0_10.var304++;
}
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- ewram0_10.var6dad = 0x5;
+ break;
+ case 3:
+ sub_80EED1C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2D6C(0x1);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F2D6C(0x5);
+ ewram0_10.var304++;
+ break;
+ case 6:
+ ewram0_10.var6dad = ewram0_10.var6dfc;
+ ewram0_10.var6dae = 0x6;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EF248(0x2);
+ ewram0_10.var304++;
+ // fall through
+ case 8:
+ if (!sub_80EF284(0x2))
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F1B8C(0x2);
+ ewram0_10.var304++;
+ // fall through
+ case 10:
+ if (!sub_80F1BC8(0x2))
+ ewram0_10.var304++;
+ break;
+ case 11:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 12:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 15:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ // fall through
+ case 17:
+ if (!sub_80F2CBC(0x1))
+ {
+ ewram0_10.var306 = 0;
ewram0_10.var304++;
}
+ break;
+ case 18:
+ sub_80F2C80(0x5);
+ ewram0_10.var304++;
+ // fall through
+ case 19:
+ if (!sub_80F2CBC(0x5))
+ {
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ }
+ break;
+ case 20:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80ECC08);
+ }
break;
- case 1:
- if (sub_80F1E6C()) return;;
- sub_80EBDBC(&sub_80EC9A8);
- break;
- }
-}
-
-void sub_80ECD80() {
- u16 var1;
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_80EEF78()) return;
- SetVBlankCallback(&sub_80EBD80);
- ewram0_10.var304++;
- break;
- case 3:
- sub_80EED1C();
- sub_80F3130();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2D6C(0x1);
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F2D6C(0x5);
- ewram0_10.var304++;
- break;
- case 6:
- ewram0_10.var6dad = ewram0_10.var6dfc;
- ewram0_10.var6dae = 0x6;
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EF248(0x2);
- ewram0_10.var304++;
- case 8:
- if (sub_80EF284(0x2)) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F1B8C(0x2);
- ewram0_10.var304++;
- case 10:
- if (sub_80F1BC8(0x2)) return;
- ewram0_10.var304++;
- break;
- case 11:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 12:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 13:
- sub_80EED2C(0);
- ewram0_10.var304++;
- break;
- case 14:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 15:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 16:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
- case 17:
- if ((var1 = sub_80F2CBC(0x1))) return;
- ewram0_10.var306 = var1;
- ewram0_10.var304++;
- break;
- case 18:
- sub_80F2C80(0x5);
- ewram0_10.var304++;
- case 19:
- if (sub_80F2CBC(0x5)) return;
- sub_80F1DF0();
- ewram0_10.var304++;
- break;
- case 20:
- if (sub_80F1E50()) return;
- sub_80EF428(2, ewram0_10.var6dad);
- sub_80EBDBC(&sub_80ECC08);
- }
+ }
}
-void sub_80ED01C() {
- u16 var1;
- u16 var3;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0x1);
- sub_80F2D04(0x5);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0);
- ewram0_10.var304++;
- break;
- case 2:
- if ((var1 = sub_80EEF34())) return;
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
- ewram0_10.var304++;
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80EF814();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F4D44();
- ewram0_10.var304++;
- case 6:
- if (!sub_80F4D88()) {
- ewram0_10.var304 += 2;
- break;
+void sub_80ED01C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0x1);
+ sub_80F2D04(0x5);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0);
+ ewram0_10.var304++;
}
- ewram0_10.var304++;
- break;
- case 7:
- if (sub_8055870()) return;
- ewram0_10.var304--;
- break;
- case 8:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F0264(0);
- ewram0_10.var304++;
- case 10:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F3008(0);
- ewram0_10.var304++;
- break;
- case 12:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 13:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 14:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
- break;
- case 15:
- if (gPaletteFade.active) return;
- ewram0_10.var306 = (u8)(gPaletteFade.active << 24);
- ewram0_10.var304++;
- break;
- case 16:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
- case 17:
- if ((var3 = sub_80F2CBC(0x1))) return;
- ewram0_10.var306 = var3;
- ewram0_10.var304++;
- break;
- case 18:
- sub_80F2C80(ewram0_10.var6dfc + 7);
- ewram0_10.var304++;
- case 19:
- if (sub_80F2CBC(ewram0_10.var6dfc + 7)) return;
- sub_80EBDBC(&sub_80ED31C);
- break;
- }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var304++;
+ }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F4D44();
+ ewram0_10.var304++;
+ // fall through
+ case 6:
+ if (!sub_80F4D88())
+ ewram0_10.var304 += 2;
+ else
+ ewram0_10.var304 += 1;
+ break;
+ case 7:
+ if (!sub_8055870())
+ ewram0_10.var304--;
+ break;
+ case 8:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F0264(0);
+ ewram0_10.var304++;
+ // fall through
+ case 10:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F3008(0);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 13:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 15:
+ if (!gPaletteFade.active)
+ {
+ ewram0_10.var306 = 0;
+ ewram0_10.var304++;
+ }
+ break;
+ case 16:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ // fall through
+ case 17:
+ if (!sub_80F2CBC(0x1))
+ {
+ ewram0_10.var306 = 0;
+ ewram0_10.var304++;
+ }
+ break;
+ case 18:
+ sub_80F2C80(ewram0_10.var6dfc + 7);
+ ewram0_10.var304++;
+ // fall through
+ case 19:
+ if (!sub_80F2CBC(ewram0_10.var6dfc + 7))
+ sub_80EBDBC(&sub_80ED31C);
+ break;
+ }
}
-void sub_80ED31C() {
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80F5DD4()) {
- case 1:
- PlaySE(0x5);
+void sub_80ED31C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80F5DD4())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ ShowMapNamePopUpWindow();
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304++;
+ break;
+ default:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80ED4D8);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80ECD80);
+ }
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_80F0718())
+ {
ShowMapNamePopUpWindow();
- break;
- case 2:
- PlaySE(0x5);
+ sub_80F3264();
ewram0_10.var304++;
- break;
- default:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80ED4D8);
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80ECD80);
- }
- break;
}
- break;
- case 1:
- if (sub_80F0718()) return;
- ShowMapNamePopUpWindow();
- sub_80F3264();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0;
- break;
- }
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
+ }
}
-void sub_80ED3D0() {
- switch (ewram0_10.var304) {
- case 0:
- SetVBlankCallback(NULL);
- ewram0_10.var304++;
- break;
- case 1:
- sub_80EED0C();
- sub_80F6134();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80EEFBC(0);
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F0264(0);
- ewram0_10.var304++;
- case 4:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- sub_80F3008(0);
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
+void sub_80ED3D0()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ sub_80EED0C();
+ sub_80F6134();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80EEFBC(0);
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F0264(0);
+ ewram0_10.var304++;
+ // fall through
+ case 4:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F3008(0);
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80ED31C);
break;
- case 8:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80ED31C);
- }
+ }
}
-void sub_80ED4D8() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80F3130();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F4CF0();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EFF34();
- ewram0_10.var304++;
- case 5:
- if (sub_80EFF68()) return;
- ewram0_10.var304++;
- break;
- case 6:
- sub_80F35B4();
- sub_80EEFBC(0x2);
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(sub_80EBD4C);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0x2);
- ewram0_10.var304++;
- break;
- case 8:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80ED858);
- break;
- }
+void sub_80ED4D8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F4CF0();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EFF34();
+ ewram0_10.var304++;
+ // fall through
+ case 5:
+ if (!sub_80EFF68())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F35B4();
+ sub_80EEFBC(0x2);
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(sub_80EBD4C);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x2);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80ED858);
+ break;
+ }
}
-void sub_80ED620() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0x1);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0x1);
- ewram0_10.var304++;
- break;
- case 2:
- if (!(var1 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+void sub_80ED620()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0x1);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0x1);
ewram0_10.var304++;
}
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80EF814();
- ewram0_10.var76aa = (u8)(gPaletteFade.active << 24);
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- ewram0_10.varD162 = 0x2;
- sub_80F4BD0();
- ewram0_10.var304++;
- break;
- case 6:
- sub_80EFF34();
- ewram0_10.var304++;
- case 7:
- if (sub_80EFF68()) return;
- ewram0_10.var304++;
- break;
- case 8:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 9:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 10:
- sub_80F33A8();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD4C);
- ewram0_10.var304++;
- break;
- case 11:
- sub_80EED2C(0x2);
- ewram0_10.var304++;
- break;
- case 12:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 13:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
- case 14:
- if (sub_80F2CBC(0x1)) return;
- ewram0_10.var304++;
- break;
- case 15:
- sub_80F2C80(0x6);
- ewram0_10.var304++;
- case 16:
- if (sub_80F2CBC(0x6)) return;
- sub_80EBDBC(&sub_80ED858);
- break;
- }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var76aa = 0;
+ ewram0_10.var304++;
+ }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ ewram0_10.varD162 = 0x2;
+ sub_80F4BD0();
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80EFF34();
+ ewram0_10.var304++;
+ // fall through
+ case 7:
+ if (!sub_80EFF68())
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 10:
+ sub_80F33A8();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD4C);
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80EED2C(0x2);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ case 14:
+ if (!sub_80F2CBC(0x1))
+ ewram0_10.var304++;
+ break;
+ case 15:
+ sub_80F2C80(0x6);
+ ewram0_10.var304++;
+ // fall through
+ case 16:
+ if (!sub_80F2CBC(0x6))
+ sub_80EBDBC(&sub_80ED858);
+ break;
+ }
}
#if 0
@@ -1448,1834 +1589,1869 @@ void sub_80F357C();
void sub_80F4FDC();
void sub_80ED858() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F4F78();
- sub_80F5B38();
- ewram0_10.var304 = 0x1;
- break;
- case 1:
- if (sub_80F5B50()) return;
- ewram0_10.var304 = 0x2;
- break;
- case 2:
- sub_80F0174(0x1);
- ewram0_10.var304 = 0x3;
- break;
- case 3:
- if (sub_80F4FB4()) return;
- sub_80F3C94();
- sub_80F3D00();
- ewram0_10.var304 = 0x4;
- break;
- case 4:
- if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) {
- PlaySE(0x5);
- sub_80F5060(0x1);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
- }
- else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) {
- PlaySE(0x5);
- sub_80F5060(0);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
- }
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F4FDC();
- move_anim_execute();
- ewram0_10.var304 = 0x9;
- }
- else if (gMain.newKeys & A_BUTTON) {
- if (ewram0_10.var76aa) {
- if (ewram0_10.var6dac) {
- PlaySE(0x5);
- ewram0_10.var304 = 0x7;
- }
- }
- else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
- PlaySE(0x5);
- ewram0_10.var304 = 0x9;
- }
- }
+ u8 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F4F78();
+ sub_80F5B38();
+ ewram0_10.var304 = 0x1;
+ break;
+ case 1:
+ if (sub_80F5B50()) return;
+ ewram0_10.var304 = 0x2;
+ break;
+ case 2:
+ sub_80F0174(0x1);
+ ewram0_10.var304 = 0x3;
+ break;
+ case 3:
+ if (sub_80F4FB4()) return;
+ sub_80F3C94();
+ sub_80F3D00();
+ ewram0_10.var304 = 0x4;
+ break;
+ case 4:
+ if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) {
+ PlaySE(SE_SELECT);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) {
+ PlaySE(SE_SELECT);
+ sub_80F5060(0);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(SE_SELECT);
+ sub_80F4FDC();
+ move_anim_execute();
+ ewram0_10.var304 = 0x9;
+ }
+ else if (gMain.newKeys & A_BUTTON) {
+ if (ewram0_10.var76aa) {
+ if (ewram0_10.var6dac) {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x7;
+ }
+ }
+ else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x9;
+ }
+ }
/*
- if (gMain.heldKeys & 0x40) {
- if (ewram0_10.var87CB) {
- if (ewram0_10.var76aa) {
- if (!ewram0_10.var87DC) goto label1;
- }
- PlaySE(0x5);
- sub_80F5060(0x1);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
+ if (gMain.heldKeys & 0x40) {
+ if (ewram0_10.var87CB) {
+ if (ewram0_10.var76aa) {
+ if (!ewram0_10.var87DC) goto label1;
+ }
+ PlaySE(SE_SELECT);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
- }
- else goto label1;
- }
- else goto label1;
- break;
+ }
+ else goto label1;
+ }
+ else goto label1;
+ break;
label1:
- if (gMain.heldKeys & 0x80) {
- if (ewram0_10.var87CB) {
- if (ewram0_10.var76aa) {
- if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2;
- }
- PlaySE(0x5);
- sub_80F5060(0x1);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
- }
- else goto label2;
- }
- else goto label2;
- break;
+ if (gMain.heldKeys & 0x80) {
+ if (ewram0_10.var87CB) {
+ if (ewram0_10.var76aa) {
+ if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2;
+ }
+ PlaySE(SE_SELECT);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ else goto label2;
+ }
+ else goto label2;
+ break;
label2:
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F4FDC();
- move_anim_execute();
- ewram0_10.var304 = 0x9;
- }
- else if (gMain.newKeys & A_BUTTON) {
- if (!ewram0_10.var76aa) {
- if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
- PlaySE(0x5);
- ewram0_10.var304 = 0x9;
- }
- }
- else {
- PlaySE(0x5);
- ewram0_10.var304 = 0x9;
- }
- }
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(SE_SELECT);
+ sub_80F4FDC();
+ move_anim_execute();
+ ewram0_10.var304 = 0x9;
+ }
+ else if (gMain.newKeys & A_BUTTON) {
+ if (!ewram0_10.var76aa) {
+ if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x9;
+ }
+ }
+ else {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x9;
+ }
+ }
*/
- break;
+ break;
- case 5:
- if (gpu_sync_bg_show()) return;
- sub_80F3D00();
- ewram0_10.var304 = 0x6;
- break;
- case 6:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0x4;
- break;
- case 7:
- sub_80EEFBC(0x3);
- sub_80F3668();
- ewram0_10.var304 = 0x8;
- break;
- case 8:
- if (sub_80F7500()) return;
- sub_80EEFBC(0x2);
- sub_80F3698();
- ewram0_10.var304 = 0x4;
- break;
- case 9:
- if (!(var1 = sub_80F5038())) {
- sub_80F0174(0);
- sub_80F2F48();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
- ewram0_10.var304 = 0xB;
- }
- break;
- case 0xA:
- if (gPaletteFade.active) return;
- sub_80F3CE8();
- sub_80F5BDC();
- if (!ewram0_10.var76aa) {
- sub_80F357C();
- sub_80F2D6C(0x1);
- sub_80F2D6C(0x6);
- sub_80EBDBC(&sub_80ECA10);
- }
- else {
- sub_80F3614();
- sub_80EBDBC(&sub_80ED3D0);
- }
- break;
- }
+ case 5:
+ if (gpu_sync_bg_show()) return;
+ sub_80F3D00();
+ ewram0_10.var304 = 0x6;
+ break;
+ case 6:
+ if (sub_8055870()) return;
+ ewram0_10.var304 = 0x4;
+ break;
+ case 7:
+ sub_80EEFBC(0x3);
+ sub_80F3668();
+ ewram0_10.var304 = 0x8;
+ break;
+ case 8:
+ if (sub_80F7500()) return;
+ sub_80EEFBC(0x2);
+ sub_80F3698();
+ ewram0_10.var304 = 0x4;
+ break;
+ case 9:
+ if (!(var1 = sub_80F5038())) {
+ sub_80F0174(0);
+ sub_80F2F48();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+ ewram0_10.var304 = 0xB;
+ }
+ break;
+ case 0xA:
+ if (gPaletteFade.active) return;
+ sub_80F3CE8();
+ sub_80F5BDC();
+ if (!ewram0_10.var76aa) {
+ sub_80F357C();
+ sub_80F2D6C(0x1);
+ sub_80F2D6C(0x6);
+ sub_80EBDBC(&sub_80ECA10);
+ }
+ else {
+ sub_80F3614();
+ sub_80EBDBC(&sub_80ED3D0);
+ }
+ break;
+ }
}
#else
__attribute__((naked))
void sub_80ED858() {
- asm_unified("push {r4,r5,lr}\n\
- sub sp, 0x4\n\
- ldr r1, _080ED878 @ =gSharedMem\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r0, r1, r2\n\
- ldrh r0, [r0]\n\
- adds r5, r1, 0\n\
- cmp r0, 0xB\n\
- bls _080ED86E\n\
- b _080EDB7A\n\
+ asm_unified("push {r4,r5,lr}\n\
+ sub sp, 0x4\n\
+ ldr r1, _080ED878 @ =gSharedMem\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r0, r1, r2\n\
+ ldrh r0, [r0]\n\
+ adds r5, r1, 0\n\
+ cmp r0, 0xB\n\
+ bls _080ED86E\n\
+ b _080EDB7A\n\
_080ED86E:\n\
- lsls r0, 2\n\
- ldr r1, _080ED87C @ =_080ED880\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _080ED87C @ =_080ED880\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_080ED878: .4byte gSharedMem\n\
_080ED87C: .4byte _080ED880\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_080ED880:\n\
- .4byte _080ED8B0\n\
- .4byte _080ED8CC\n\
- .4byte _080ED8EC\n\
- .4byte _080ED904\n\
- .4byte _080ED91A\n\
- .4byte _080EDA68\n\
- .4byte _080EDA8C\n\
- .4byte _080EDAA4\n\
- .4byte _080EDAC0\n\
- .4byte _080EDAE8\n\
- .4byte _080EDB7A\n\
- .4byte _080EDB28\n\
+ .4byte _080ED8B0\n\
+ .4byte _080ED8CC\n\
+ .4byte _080ED8EC\n\
+ .4byte _080ED904\n\
+ .4byte _080ED91A\n\
+ .4byte _080EDA68\n\
+ .4byte _080EDA8C\n\
+ .4byte _080EDAA4\n\
+ .4byte _080EDAC0\n\
+ .4byte _080EDAE8\n\
+ .4byte _080EDB7A\n\
+ .4byte _080EDB28\n\
_080ED8B0:\n\
- bl sub_80F4F78\n\
- bl sub_80F5B38\n\
- ldr r0, _080ED8C8 @ =gSharedMem\n\
- movs r4, 0xC1\n\
- lsls r4, 2\n\
- adds r0, r4\n\
- movs r1, 0x1\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ bl sub_80F4F78\n\
+ bl sub_80F5B38\n\
+ ldr r0, _080ED8C8 @ =gSharedMem\n\
+ movs r4, 0xC1\n\
+ lsls r4, 2\n\
+ adds r0, r4\n\
+ movs r1, 0x1\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED8C8: .4byte gSharedMem\n\
_080ED8CC:\n\
- bl sub_80F5B50\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080ED8D8\n\
- b _080EDB7A\n\
+ bl sub_80F5B50\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080ED8D8\n\
+ b _080EDB7A\n\
_080ED8D8:\n\
- ldr r0, _080ED8E8 @ =gSharedMem\n\
- movs r1, 0xC1\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- movs r1, 0x2\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ ldr r0, _080ED8E8 @ =gSharedMem\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ movs r1, 0x2\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED8E8: .4byte gSharedMem\n\
_080ED8EC:\n\
- movs r0, 0x1\n\
- bl sub_80F0174\n\
- ldr r0, _080ED900 @ =gSharedMem\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r0, r2\n\
- movs r1, 0x3\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x1\n\
+ bl sub_80F0174\n\
+ ldr r0, _080ED900 @ =gSharedMem\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r0, r2\n\
+ movs r1, 0x3\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED900: .4byte gSharedMem\n\
_080ED904:\n\
- bl sub_80F4FB4\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080ED910\n\
- b _080EDB7A\n\
+ bl sub_80F4FB4\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080ED910\n\
+ b _080EDB7A\n\
_080ED910:\n\
- bl sub_80F3C94\n\
- bl sub_80F3D00\n\
- b _080EDAD4\n\
+ bl sub_80F3C94\n\
+ bl sub_80F3D00\n\
+ b _080EDAD4\n\
_080ED91A:\n\
- ldr r2, _080ED960 @ =gMain\n\
- ldrh r1, [r2, 0x2C]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- adds r3, r2, 0\n\
- cmp r0, 0\n\
- beq _080ED970\n\
- ldr r1, _080ED964 @ =0x000087cb\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED970\n\
- ldr r2, _080ED968 @ =0x000076aa\n\
- adds r0, r5, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED948\n\
- ldr r4, _080ED96C @ =0x000087dc\n\
- adds r0, r5, r4\n\
- movs r1, 0\n\
- ldrsh r0, [r0, r1]\n\
- cmp r0, 0\n\
- beq _080ED970\n\
+ ldr r2, _080ED960 @ =gMain\n\
+ ldrh r1, [r2, 0x2C]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ adds r3, r2, 0\n\
+ cmp r0, 0\n\
+ beq _080ED970\n\
+ ldr r1, _080ED964 @ =0x000087cb\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED970\n\
+ ldr r2, _080ED968 @ =0x000076aa\n\
+ adds r0, r5, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED948\n\
+ ldr r4, _080ED96C @ =0x000087dc\n\
+ adds r0, r5, r4\n\
+ movs r1, 0\n\
+ ldrsh r0, [r0, r1]\n\
+ cmp r0, 0\n\
+ beq _080ED970\n\
_080ED948:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r0, 0x1\n\
- bl sub_80F5060\n\
- bl move_anim_execute\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r1, r5, r2\n\
- b _080ED9B8\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0x1\n\
+ bl sub_80F5060\n\
+ bl move_anim_execute\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r1, r5, r2\n\
+ b _080ED9B8\n\
+ .align 2, 0\n\
_080ED960: .4byte gMain\n\
_080ED964: .4byte 0x000087cb\n\
_080ED968: .4byte 0x000076aa\n\
_080ED96C: .4byte 0x000087dc\n\
_080ED970:\n\
- ldrh r1, [r3, 0x2C]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080ED9CC\n\
- ldr r4, _080ED9C0 @ =0x000087cb\n\
- adds r0, r5, r4\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED9CC\n\
- ldr r1, _080ED9C4 @ =0x000076aa\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED9A2\n\
- ldr r2, _080ED9C8 @ =0x000087dc\n\
- adds r0, r5, r2\n\
- subs r4, 0x57\n\
- adds r1, r5, r4\n\
- movs r4, 0\n\
- ldrsh r2, [r0, r4]\n\
- movs r4, 0\n\
- ldrsh r0, [r1, r4]\n\
- cmp r2, r0\n\
- bge _080ED9CC\n\
+ ldrh r1, [r3, 0x2C]\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080ED9CC\n\
+ ldr r4, _080ED9C0 @ =0x000087cb\n\
+ adds r0, r5, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED9CC\n\
+ ldr r1, _080ED9C4 @ =0x000076aa\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED9A2\n\
+ ldr r2, _080ED9C8 @ =0x000087dc\n\
+ adds r0, r5, r2\n\
+ subs r4, 0x57\n\
+ adds r1, r5, r4\n\
+ movs r4, 0\n\
+ ldrsh r2, [r0, r4]\n\
+ movs r4, 0\n\
+ ldrsh r0, [r1, r4]\n\
+ cmp r2, r0\n\
+ bge _080ED9CC\n\
_080ED9A2:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r0, 0\n\
- bl sub_80F5060\n\
- bl move_anim_execute\n\
- movs r0, 0xC1\n\
- lsls r0, 2\n\
- adds r1, r5, r0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0\n\
+ bl sub_80F5060\n\
+ bl move_anim_execute\n\
+ movs r0, 0xC1\n\
+ lsls r0, 2\n\
+ adds r1, r5, r0\n\
_080ED9B8:\n\
- movs r0, 0x5\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED9C0: .4byte 0x000087cb\n\
_080ED9C4: .4byte 0x000076aa\n\
_080ED9C8: .4byte 0x000087dc\n\
_080ED9CC:\n\
- ldrh r2, [r3, 0x2E]\n\
- movs r0, 0x2\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _080ED9F8\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- bl sub_80F4FDC\n\
- bl move_anim_execute\n\
- ldr r0, _080ED9F4 @ =gSharedMem\n\
- movs r1, 0xC1\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- movs r1, 0x9\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ ldrh r2, [r3, 0x2E]\n\
+ movs r0, 0x2\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _080ED9F8\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ bl sub_80F4FDC\n\
+ bl move_anim_execute\n\
+ ldr r0, _080ED9F4 @ =gSharedMem\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ movs r1, 0x9\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED9F4: .4byte gSharedMem\n\
_080ED9F8:\n\
- movs r0, 0x1\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- bne _080EDA02\n\
- b _080EDB7A\n\
+ movs r0, 0x1\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _080EDA02\n\
+ b _080EDB7A\n\
_080EDA02:\n\
- adds r4, r5, 0\n\
- ldr r2, _080EDA38 @ =0x000076aa\n\
- adds r0, r4, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- bne _080EDA44\n\
- ldr r1, _080EDA3C @ =0x000087dc\n\
- adds r0, r4, r1\n\
- movs r2, 0\n\
- ldrsh r1, [r0, r2]\n\
- ldr r2, _080EDA40 @ =0x000087da\n\
- adds r0, r4, r2\n\
- movs r2, 0\n\
- ldrsh r0, [r0, r2]\n\
- subs r0, 0x1\n\
- cmp r1, r0\n\
- beq _080EDA26\n\
- b _080EDB7A\n\
+ adds r4, r5, 0\n\
+ ldr r2, _080EDA38 @ =0x000076aa\n\
+ adds r0, r4, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080EDA44\n\
+ ldr r1, _080EDA3C @ =0x000087dc\n\
+ adds r0, r4, r1\n\
+ movs r2, 0\n\
+ ldrsh r1, [r0, r2]\n\
+ ldr r2, _080EDA40 @ =0x000087da\n\
+ adds r0, r4, r2\n\
+ movs r2, 0\n\
+ ldrsh r0, [r0, r2]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ beq _080EDA26\n\
+ b _080EDB7A\n\
_080EDA26:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r0, 0xC1\n\
- lsls r0, 2\n\
- adds r1, r4, r0\n\
- movs r0, 0x9\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0xC1\n\
+ lsls r0, 2\n\
+ adds r1, r4, r0\n\
+ movs r0, 0x9\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDA38: .4byte 0x000076aa\n\
_080EDA3C: .4byte 0x000087dc\n\
_080EDA40: .4byte 0x000087da\n\
_080EDA44:\n\
- ldr r1, _080EDA64 @ =0x00006dac\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080EDA50\n\
- b _080EDB7A\n\
+ ldr r1, _080EDA64 @ =0x00006dac\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080EDA50\n\
+ b _080EDB7A\n\
_080EDA50:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r1, r5, r2\n\
- movs r0, 0x7\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r1, r5, r2\n\
+ movs r0, 0x7\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDA64: .4byte 0x00006dac\n\
_080EDA68:\n\
- bl gpu_sync_bg_show\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080EDA74\n\
- b _080EDB7A\n\
+ bl gpu_sync_bg_show\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EDA74\n\
+ b _080EDB7A\n\
_080EDA74:\n\
- bl sub_80F3D00\n\
- ldr r0, _080EDA88 @ =gSharedMem\n\
- movs r4, 0xC1\n\
- lsls r4, 2\n\
- adds r0, r4\n\
- movs r1, 0x6\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ bl sub_80F3D00\n\
+ ldr r0, _080EDA88 @ =gSharedMem\n\
+ movs r4, 0xC1\n\
+ lsls r4, 2\n\
+ adds r0, r4\n\
+ movs r1, 0x6\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDA88: .4byte gSharedMem\n\
_080EDA8C:\n\
- bl sub_8055870\n\
- cmp r0, 0\n\
- bne _080EDB7A\n\
- ldr r0, _080EDAA0 @ =gSharedMem\n\
- movs r1, 0xC1\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- b _080EDADC\n\
- .align 2, 0\n\
+ bl sub_8055870\n\
+ cmp r0, 0\n\
+ bne _080EDB7A\n\
+ ldr r0, _080EDAA0 @ =gSharedMem\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ b _080EDADC\n\
+ .align 2, 0\n\
_080EDAA0: .4byte gSharedMem\n\
_080EDAA4:\n\
- movs r0, 0x3\n\
- bl sub_80EEFBC\n\
- bl sub_80F3668\n\
- ldr r0, _080EDABC @ =gSharedMem\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r0, r2\n\
- movs r1, 0x8\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x3\n\
+ bl sub_80EEFBC\n\
+ bl sub_80F3668\n\
+ ldr r0, _080EDABC @ =gSharedMem\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r0, r2\n\
+ movs r1, 0x8\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDABC: .4byte gSharedMem\n\
_080EDAC0:\n\
- bl sub_80F7500\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EDB7A\n\
- movs r0, 0x2\n\
- bl sub_80EEFBC\n\
- bl sub_80F3698\n\
+ bl sub_80F7500\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EDB7A\n\
+ movs r0, 0x2\n\
+ bl sub_80EEFBC\n\
+ bl sub_80F3698\n\
_080EDAD4:\n\
- ldr r0, _080EDAE4 @ =gSharedMem\n\
- movs r4, 0xC1\n\
- lsls r4, 2\n\
- adds r0, r4\n\
+ ldr r0, _080EDAE4 @ =gSharedMem\n\
+ movs r4, 0xC1\n\
+ lsls r4, 2\n\
+ adds r0, r4\n\
_080EDADC:\n\
- movs r1, 0x4\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r1, 0x4\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDAE4: .4byte gSharedMem\n\
_080EDAE8:\n\
- bl sub_80F5038\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0\n\
- bne _080EDB7A\n\
- movs r0, 0\n\
- bl sub_80F0174\n\
- bl sub_80F2F48\n\
- ldr r5, _080EDB24 @ =gSharedMem\n\
- movs r1, 0xC2\n\
- lsls r1, 2\n\
- adds r0, r5, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x1\n\
- negs r1, r1\n\
- str r4, [sp]\n\
- movs r2, 0\n\
- movs r3, 0x10\n\
- bl BeginNormalPaletteFade\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r1, r5, r2\n\
- movs r0, 0xB\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ bl sub_80F5038\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, 0\n\
+ bne _080EDB7A\n\
+ movs r0, 0\n\
+ bl sub_80F0174\n\
+ bl sub_80F2F48\n\
+ ldr r5, _080EDB24 @ =gSharedMem\n\
+ movs r1, 0xC2\n\
+ lsls r1, 2\n\
+ adds r0, r5, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x1\n\
+ negs r1, r1\n\
+ str r4, [sp]\n\
+ movs r2, 0\n\
+ movs r3, 0x10\n\
+ bl BeginNormalPaletteFade\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r1, r5, r2\n\
+ movs r0, 0xB\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDB24: .4byte gSharedMem\n\
_080EDB28:\n\
- ldr r0, _080EDB60 @ =gPaletteFade\n\
- ldrb r1, [r0, 0x7]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080EDB7A\n\
- bl sub_80F3CE8\n\
- bl sub_80F5BDC\n\
- ldr r0, _080EDB64 @ =gSharedMem\n\
- ldr r4, _080EDB68 @ =0x000076aa\n\
- adds r0, r4\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- bne _080EDB70\n\
- bl sub_80F357C\n\
- movs r0, 0x1\n\
- bl sub_80F2D6C\n\
- movs r0, 0x6\n\
- bl sub_80F2D6C\n\
- ldr r0, _080EDB6C @ =sub_80ECA10\n\
- bl sub_80EBDBC\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ ldr r0, _080EDB60 @ =gPaletteFade\n\
+ ldrb r1, [r0, 0x7]\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _080EDB7A\n\
+ bl sub_80F3CE8\n\
+ bl sub_80F5BDC\n\
+ ldr r0, _080EDB64 @ =gSharedMem\n\
+ ldr r4, _080EDB68 @ =0x000076aa\n\
+ adds r0, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080EDB70\n\
+ bl sub_80F357C\n\
+ movs r0, 0x1\n\
+ bl sub_80F2D6C\n\
+ movs r0, 0x6\n\
+ bl sub_80F2D6C\n\
+ ldr r0, _080EDB6C @ =sub_80ECA10\n\
+ bl sub_80EBDBC\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDB60: .4byte gPaletteFade\n\
_080EDB64: .4byte gSharedMem\n\
_080EDB68: .4byte 0x000076aa\n\
_080EDB6C: .4byte sub_80ECA10\n\
_080EDB70:\n\
- bl sub_80F3614\n\
- ldr r0, _080EDB84 @ =sub_80ED3D0\n\
- bl sub_80EBDBC\n\
+ bl sub_80F3614\n\
+ ldr r0, _080EDB84 @ =sub_80ED3D0\n\
+ bl sub_80EBDBC\n\
_080EDB7A:\n\
- add sp, 0x4\n\
- pop {r4,r5}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x4\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_080EDB84: .4byte sub_80ED3D0\n");
}
#endif
-void sub_80EDB88() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0x4);
- ewram0_10.var304++;
- break;
- case 2:
- if (!(var1 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+void sub_80EDB88()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0x4);
ewram0_10.var304++;
}
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(0);
- sub_80EED0C();
- sub_80EF814();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F638C();
- ewram0_10.var304++;
- case 6:
- if (!sub_80F63D0()) {
- ewram0_10.var304 += 0x2;
- break;
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var304++;
}
- ewram0_10.var304++;
- break;
- case 7:
- if (sub_8055870()) return;
- ewram0_10.var304--;
- break;
- case 8:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F0264(0x1);
- ewram0_10.var304++;
- case 10:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F2C80(0x2);
- ewram0_10.var304++;
- case 12:
- if (sub_80F2CBC(0x2)) return;
- ewram0_10.var304++;
- break;
- case 13:
- sub_80F3008(0x1);
- ewram0_10.var304++;
- break;
- case 14:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 15:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 16:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
- break;
- case 17:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EDDBC);
- break;
- }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F638C();
+ ewram0_10.var304++;
+ case 6:
+ if (!sub_80F63D0())
+ ewram0_10.var304 += 2;
+ else
+ ewram0_10.var304 += 1;
+ break;
+ case 7:
+ if (!sub_8055870())
+ ewram0_10.var304--;
+ break;
+ case 8:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F0264(0x1);
+ ewram0_10.var304++;
+ case 10:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F2C80(0x2);
+ ewram0_10.var304++;
+ case 12:
+ if (!sub_80F2CBC(0x2))
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F3008(0x1);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 15:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EDDBC);
+ break;
+ }
}
-void sub_80EDDBC() {
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80F5DD4()) {
- case 1:
- PlaySE(0x5);
+void sub_80EDDBC()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80F5DD4())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ ShowMapNamePopUpWindow();
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304++;
+ break;
+ default:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EDEE4);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EDE70);
+ }
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_80F0718())
+ {
ShowMapNamePopUpWindow();
- break;
- case 2:
- PlaySE(0x5);
+ sub_80F3264();
ewram0_10.var304++;
- break;
- default:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EDEE4);
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EDE70);
- }
- break;
}
- break;
- case 1:
- if (sub_80F0718()) return;
- ShowMapNamePopUpWindow();
- sub_80F3264();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0;
- break;
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
- }
+ }
}
-void sub_80EDE70() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- sub_80F3130();
- sub_80F2D6C(0x2);
- ewram0_10.var304++;
- break;
- case 2:
- sub_80EBDBC(&sub_80EC00C);
- break;
- }
+void sub_80EDE70()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3130();
+ sub_80F2D6C(0x2);
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC00C);
+ break;
+ }
}
-void sub_80EDEE4() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80F3130();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80F66E0();
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 3:
- if (sub_80F1080()) return;
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EEFBC(0x5);
- sub_80F38B8();
- ewram0_10.var304++;
- case 5:
- if (sub_80F38EC()) return;
- ewram0_10.var304++;
- break;
- case 6:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 7:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 8:
- sub_80EED2C(0x3);
- ewram0_10.var304++;
- break;
- case 9:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 10:
- if (sub_80F170C()) return;
- sub_80EBDBC(&sub_80EE06C);
- break;
- }
+void sub_80EDEE4()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80F66E0();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (!sub_80F1080())
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEFBC(0x5);
+ sub_80F38B8();
+ ewram0_10.var304++;
+ case 5:
+ if (!sub_80F38EC())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 7:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80EED2C(0x3);
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 10:
+ if (!sub_80F170C())
+ sub_80EBDBC(&sub_80EE06C);
+ break;
+ }
}
-void sub_80EE06C() {
- u32 var1;
- u16 var2;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F15A8();
- ewram0_10.var304++;
- break;
- case 1:
- if (gMain.newAndRepeatedKeys & 0x40) {
- if (ewram0_10.var87DC) {
- PlaySE(0x5);
- sub_80F6A4C(-1);
- ewram0_10.var304++;
- }
- else goto label1;
- }
- else goto label1;
- break;
-label1:
- if (gMain.newAndRepeatedKeys & 0x80) {
- if (ewram0_10.var87DC < ewram0_10.var8774) {
- PlaySE(0x5);
- sub_80F6A4C(1);
- ewram0_10.var304++;
- }
- else goto label2;
+void sub_80EE06C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F15A8();
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if ((gMain.newAndRepeatedKeys & 0x40) && (ewram0_10.var87DC))
+ {
+ PlaySE(SE_SELECT);
+ sub_80F6A4C(-1);
+ ewram0_10.var304++;
+ }
+ else if ((gMain.newAndRepeatedKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F6A4C(1);
+ ewram0_10.var304++;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EEFBC(0xB);
+ ewram0_10.var304 = 0x4;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE294);
+ }
+ break;
+ case 2:
+ if (!sub_80F6AF0())
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
+ case 4:
+ sub_80F3B00();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_80F3B58())
+ {
+ sub_80F1494();
+ ewram0_10.var304++;
+ sub_80EED9C();
}
- else goto label2;
- break;
-label2:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EEFBC(0xB);
+ break;
+ case 6:
+ switch (sub_80F68E8())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ sub_80F3B94();
+ ewram0_10.var304 = 0x7;
+ break;
+ default:
+ case 0:
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F3B94();
+ ewram0_10.var304 = 0x8;
+ }
+ break;
+ }
+ break;
+ case 7:
+ if (!sub_80F3BD4())
ewram0_10.var304 = 0x4;
+ break;
+ case 8:
+ if (!sub_80F3BD4())
+ {
+ sub_80EEFBC(0x5);
+ ewram0_10.var304 = 0;
}
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE294);
- }
- break;
- case 2:
- if (sub_80F6AF0()) return;
- ewram0_10.var304++;
- break;
- case 3:
- var1 = sub_8055870();
- if (var1) return;
- ewram0_10.var304 = var1;
- break;
- case 4:
- sub_80F3B00();
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_80F3B58()) return;
- sub_80F1494();
- ewram0_10.var304++;
- sub_80EED9C();
- break;
- case 6:
- switch (sub_80F68E8()) {
- case 1:
- PlaySE(0x5);
- sub_80F3B94();
- ewram0_10.var304 = 0x7;
- break;
- default:
- case 0:
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F3B94();
- ewram0_10.var304 = 0x8;
- }
- break;
- }
- break;
- case 7:
- if (sub_80F3BD4()) return;
- ewram0_10.var304 = 0x4;
- break;
- case 8:
- var2 = sub_80F3BD4();
- if (var2) return;
- sub_80EEFBC(0x5);
- ewram0_10.var304 = var2;
- break;
- }
+ break;
+ }
}
-void sub_80EE294() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80F3C2C();
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80F6134();
- sub_80F0264(0x1);
- ewram0_10.var304++;
- case 3:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EEFBC(0x4);
- sub_80F3008(0x1);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
- break;
- case 8:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EDDBC);
- break;
- }
+void sub_80EE294()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3C2C();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80F6134();
+ sub_80F0264(0x1);
+ ewram0_10.var304++;
+ case 3:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEFBC(0x4);
+ sub_80F3008(0x1);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EDDBC);
+ break;
+ }
}
-void sub_80EE3D8() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0x9);
- ewram0_10.var304++;
- break;
- case 2:
- if (!(var1 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+void sub_80EE3D8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0x9);
ewram0_10.var304++;
}
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80EF814();
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F0264(0x2);
- ewram0_10.var304++;
- case 6:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 7:
- sub_80F2C80(0x3);
- ewram0_10.var304++;
- case 8:
- if (sub_80F2CBC(0x3)) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F3008(0x2);
- ewram0_10.var304++;
- break;
- case 10:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F6F10();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD68);
- ewram0_10.var304++;
- break;
- case 12:
- sub_80EED2C(0x5);
- ewram0_10.var304++;
- break;
- case 13:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EE58C);
- break;
- }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F0264(0x2);
+ ewram0_10.var304++;
+ case 6:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80F2C80(0x3);
+ ewram0_10.var304++;
+ case 8:
+ if (!sub_80F2CBC(0x3))
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F3008(0x2);
+ ewram0_10.var304++;
+ break;
+ case 10:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F6F10();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD68);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ sub_80EED2C(0x5);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EE58C);
+ break;
+ }
}
-void sub_80EE58C() {
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80F5DD4()) {
- case 1:
- PlaySE(0x5);
+void sub_80EE58C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80F5DD4())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ sub_80F0FFC(ewram0_10.var876E);
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304++;
+ break;
+ default:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE658);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE8F4);
+ }
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_80F0718())
+ {
sub_80F0FFC(ewram0_10.var876E);
- break;
- case 2:
- PlaySE(0x5);
+ sub_80F3264();
ewram0_10.var304++;
- break;
- default:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE658);
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE8F4);
- }
- break;
}
- break;
- case 1:
- if (sub_80F0718()) return;
- sub_80F0FFC(ewram0_10.var876E);
- sub_80F3264();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0;
- break;
- }
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
+ }
}
-void sub_80EE658() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F3294(0x1);
- sub_80EEFBC(0xA);
- sub_80F0B24();
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F0B44()) return;
- ewram0_10.var304++;
- break;
- case 2:
- sub_80F0F64();
- ewram0_10.var304++;
- break;
- case 3:
- if (sub_80F0FEC()) return;
- sub_80F6FB8(0x1);
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F6DB8();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A));
- sub_80F42C4((u8 *)(gSharedMem + 0x8788));
- ewram0_10.var304++;
- break;
- case 6:
- sub_80F0CD8();
- ewram0_10.var304++;
- case 7:
- if (sub_80F6E9C()) return;
- if (sub_80F0D5C()) return;
- ewram0_10.var304++;
- break;
- case 8:
- if (gMain.heldKeys & 0x40) {
- if (ewram0_10.var87DC) {
- PlaySE(0x5);
- sub_80F708C(-1);
- ewram0_10.var304 = 0x10;
- }
- else goto label1;
- }
- else goto label1;
- break;
-label1:
- if (gMain.heldKeys & 0x80) {
- if (ewram0_10.var87DC < ewram0_10.var8774) {
- PlaySE(0x5);
- sub_80F708C(1);
- ewram0_10.var304 = 0x10;
- }
- else goto label2;
+void sub_80EE658()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F3294(0x1);
+ sub_80EEFBC(0xA);
+ sub_80F0B24();
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F0B44())
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80F0F64();
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (!sub_80F0FEC())
+ {
+ sub_80F6FB8(0x1);
+ ewram0_10.var304++;
}
- else goto label2;
- break;
-label2:
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F4394();
- sub_80F0EC0();
+ break;
+ case 4:
+ sub_80F6DB8();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A));
+ sub_80F42C4((u8 *)(gSharedMem + 0x8788));
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F0CD8();
+ ewram0_10.var304++;
+ case 7:
+ if (!sub_80F6E9C() && !sub_80F0D5C())
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if ((gMain.heldKeys & 0x40) && ewram0_10.var87DC)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F708C(-1);
+ ewram0_10.var304 = 0x10;
+ }
+ else if ((gMain.heldKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F708C(1);
+ ewram0_10.var304 = 0x10;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F4394();
+ sub_80F0EC0();
+ ewram0_10.var304++;
+ }
+ break;
+ case 9:
+ if (!sub_80F6ED4() && !sub_80F0EF4())
+ {
+ sub_80F6FB8(0);
+ sub_80F2FB0();
ewram0_10.var304++;
}
- break;
- case 9:
- if (sub_80F6ED4()) return;
- if (sub_80F0EF4()) return;
- sub_80F6FB8(0);
- sub_80F2FB0();
- ewram0_10.var304++;
- break;
- case 10:
- sub_80F6134();
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F0FA0();
- ewram0_10.var304++;
- break;
- case 12:
- if (sub_80F0FEC()) return;
- ewram0_10.var304++;
- break;
- case 13:
- sub_80F0C28();
- ewram0_10.var304++;
- break;
- case 14:
- if (sub_80F0C48()) return;
- ewram0_10.var304++;
- break;
- case 15:
- sub_80EEFBC(0x9);
- sub_80F3294(0);
- sub_80EBDBC(&sub_80EE58C);
- sub_80EED9C();
- break;
- case 16:
- if (sub_80F70FC()) return;
- ewram0_10.var304++;
- break;
- case 17:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0x8;
- break;
- }
+ break;
+ case 10:
+ sub_80F6134();
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F0FA0();
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (!sub_80F0FEC())
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F0C28();
+ ewram0_10.var304++;
+ break;
+ case 14:
+ if (!sub_80F0C48())
+ ewram0_10.var304++;
+ break;
+ case 15:
+ sub_80EEFBC(0x9);
+ sub_80F3294(0);
+ sub_80EBDBC(&sub_80EE58C);
+ sub_80EED9C();
+ break;
+ case 16:
+ if (!sub_80F70FC())
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0x8;
+ break;
+ }
}
-void sub_80EE8F4() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- sub_80F3130();
- sub_80F2D6C(0x2);
- sub_80F6FFC();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80EBDBC(&sub_80EC00C);
- break;
- }
+void sub_80EE8F4()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3130();
+ sub_80F2D6C(0x2);
+ sub_80F6FFC();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC00C);
+ break;
+ }
}
-void sub_80EE96C() {
- u16 var1 = ewram0_10.var304;
- if (!var1) {
- PlaySE(0x6F);
- BeginNormalPaletteFade(-1, 0, 0, 0x10, var1);
- ewram0_10.var304++;
- }
- else {
- if (gPaletteFade.active) return;
- sub_80F5BDC();
- sub_805469C();
- }
+void sub_80EE96C()
+{
+ if (!ewram0_10.var304)
+ {
+ PlaySE(0x6F);
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ else
+ {
+ if (!gPaletteFade.active)
+ {
+ sub_80F5BDC();
+ sub_805469C();
+ }
+ }
}
-void sub_80EE9C0(u8 param1, u8 param2, u8 param3) {
- sub_80F1E84();
- ewram0_10.var6e14 = param1;
- ewram0_10.var6e15 = param2;
- ewram0_10.var6e16 = 0;
- ewram0_10.var6e17 = param3;
+void sub_80EE9C0(u8 param1, u8 param2, u8 param3)
+{
+ sub_80F1E84();
+ ewram0_10.var6e14 = param1;
+ ewram0_10.var6e15 = param2;
+ ewram0_10.var6e16 = 0;
+ ewram0_10.var6e17 = param3;
}
#if 0
bool8 sub_80EEA0C() {
- switch (ewram0_10.var6e16) {
- case 0:
- if (sub_80F1F10()) return 1;
- if (ewram0_10.var6e17 != 0xC) {
- ewram0_10.var6e16 = 0x1;
- return 1;
- }
- else {
- ewram0_10.var6e16 = 0x3;
- return 1;
- }
- case 1:
- sub_80F2C80(ewram0_10.var6e17);
- ewram0_10.var6e16++;
- case 2:
- if (sub_80F2CBC(ewram0_10.var6e17)) return 1;
- ewram0_10.var6e16++;
- case 3:
-
- }
+ switch (ewram0_10.var6e16) {
+ case 0:
+ if (sub_80F1F10()) return 1;
+ if (ewram0_10.var6e17 != 0xC) {
+ ewram0_10.var6e16 = 0x1;
+ return 1;
+ }
+ else {
+ ewram0_10.var6e16 = 0x3;
+ return 1;
+ }
+ case 1:
+ sub_80F2C80(ewram0_10.var6e17);
+ ewram0_10.var6e16++;
+ case 2:
+ if (sub_80F2CBC(ewram0_10.var6e17)) return 1;
+ ewram0_10.var6e16++;
+ case 3:
+
+ }
}
#else
__attribute__((naked))
bool8 sub_80EEA0C() {
- asm_unified(
- "push {r4,lr}\n\
- ldr r1, _080EEA28 @ =gSharedMem\n\
- ldr r2, _080EEA2C @ =0x00006e16\n\
- adds r0, r1, r2\n\
- ldrb r0, [r0]\n\
- adds r3, r1, 0\n\
- cmp r0, 0x8\n\
- bls _080EEA1E\n\
- b _080EEBFA\n\
+ asm_unified(
+ "push {r4,lr}\n\
+ ldr r1, _080EEA28 @ =gSharedMem\n\
+ ldr r2, _080EEA2C @ =0x00006e16\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ adds r3, r1, 0\n\
+ cmp r0, 0x8\n\
+ bls _080EEA1E\n\
+ b _080EEBFA\n\
_080EEA1E:\n\
- lsls r0, 2\n\
- ldr r1, _080EEA30 @ =_080EEA34\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _080EEA30 @ =_080EEA34\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_080EEA28: .4byte gSharedMem\n\
_080EEA2C: .4byte 0x00006e16\n\
_080EEA30: .4byte _080EEA34\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_080EEA34:\n\
- .4byte _080EEA58\n\
- .4byte _080EEA98\n\
- .4byte _080EEAAE\n\
- .4byte _080EEAD4\n\
- .4byte _080EEB3E\n\
- .4byte _080EEB68\n\
- .4byte _080EEB88\n\
- .4byte _080EEBAC\n\
- .4byte _080EEBE4\n\
+ .4byte _080EEA58\n\
+ .4byte _080EEA98\n\
+ .4byte _080EEAAE\n\
+ .4byte _080EEAD4\n\
+ .4byte _080EEB3E\n\
+ .4byte _080EEB68\n\
+ .4byte _080EEB88\n\
+ .4byte _080EEBAC\n\
+ .4byte _080EEBE4\n\
_080EEA58:\n\
- bl sub_80F1F10\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080EEA64\n\
- b _080EEC08\n\
+ bl sub_80F1F10\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EEA64\n\
+ b _080EEC08\n\
_080EEA64:\n\
- ldr r1, _080EEA7C @ =gSharedMem\n\
- ldr r4, _080EEA80 @ =0x00006e17\n\
- adds r0, r1, r4\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xC\n\
- beq _080EEA88\n\
- ldr r0, _080EEA84 @ =0x00006e16\n\
- adds r1, r0\n\
- movs r0, 0x1\n\
- strb r0, [r1]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldr r1, _080EEA7C @ =gSharedMem\n\
+ ldr r4, _080EEA80 @ =0x00006e17\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xC\n\
+ beq _080EEA88\n\
+ ldr r0, _080EEA84 @ =0x00006e16\n\
+ adds r1, r0\n\
+ movs r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEA7C: .4byte gSharedMem\n\
_080EEA80: .4byte 0x00006e17\n\
_080EEA84: .4byte 0x00006e16\n\
_080EEA88:\n\
- ldr r2, _080EEA94 @ =0x00006e16\n\
- adds r1, r2\n\
- movs r0, 0x3\n\
- strb r0, [r1]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldr r2, _080EEA94 @ =0x00006e16\n\
+ adds r1, r2\n\
+ movs r0, 0x3\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEA94: .4byte 0x00006e16\n\
_080EEA98:\n\
- ldr r4, _080EEAC8 @ =gSharedMem\n\
- ldr r1, _080EEACC @ =0x00006e17\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F2C80\n\
- ldr r2, _080EEAD0 @ =0x00006e16\n\
- adds r4, r2\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
+ ldr r4, _080EEAC8 @ =gSharedMem\n\
+ ldr r1, _080EEACC @ =0x00006e17\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F2C80\n\
+ ldr r2, _080EEAD0 @ =0x00006e16\n\
+ adds r4, r2\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
_080EEAAE:\n\
- ldr r4, _080EEAC8 @ =gSharedMem\n\
- ldr r1, _080EEACC @ =0x00006e17\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F2CBC\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080EEAC2\n\
- b _080EEC08\n\
+ ldr r4, _080EEAC8 @ =gSharedMem\n\
+ ldr r1, _080EEACC @ =0x00006e17\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F2CBC\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EEAC2\n\
+ b _080EEC08\n\
_080EEAC2:\n\
- ldr r2, _080EEAD0 @ =0x00006e16\n\
- adds r1, r4, r2\n\
- b _080EEB76\n\
- .align 2, 0\n\
+ ldr r2, _080EEAD0 @ =0x00006e16\n\
+ adds r1, r4, r2\n\
+ b _080EEB76\n\
+ .align 2, 0\n\
_080EEAC8: .4byte gSharedMem\n\
_080EEACC: .4byte 0x00006e17\n\
_080EEAD0: .4byte 0x00006e16\n\
_080EEAD4:\n\
- adds r2, r3, 0\n\
- ldr r4, _080EEAF8 @ =0x00006e15\n\
- adds r0, r2, r4\n\
- ldrb r1, [r0]\n\
- subs r4, 0x68\n\
- adds r0, r2, r4\n\
- strb r1, [r0]\n\
- ldr r1, _080EEAFC @ =0x00006e14\n\
- adds r0, r2, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x1\n\
- beq _080EEB14\n\
- cmp r0, 0x1\n\
- bgt _080EEB00\n\
- cmp r0, 0\n\
- beq _080EEB06\n\
- b _080EEB28\n\
- .align 2, 0\n\
+ adds r2, r3, 0\n\
+ ldr r4, _080EEAF8 @ =0x00006e15\n\
+ adds r0, r2, r4\n\
+ ldrb r1, [r0]\n\
+ subs r4, 0x68\n\
+ adds r0, r2, r4\n\
+ strb r1, [r0]\n\
+ ldr r1, _080EEAFC @ =0x00006e14\n\
+ adds r0, r2, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1\n\
+ beq _080EEB14\n\
+ cmp r0, 0x1\n\
+ bgt _080EEB00\n\
+ cmp r0, 0\n\
+ beq _080EEB06\n\
+ b _080EEB28\n\
+ .align 2, 0\n\
_080EEAF8: .4byte 0x00006e15\n\
_080EEAFC: .4byte 0x00006e14\n\
_080EEB00:\n\
- cmp r0, 0x2\n\
- beq _080EEB20\n\
- b _080EEB28\n\
+ cmp r0, 0x2\n\
+ beq _080EEB20\n\
+ b _080EEB28\n\
_080EEB06:\n\
- ldr r4, _080EEB10 @ =0x00006dae\n\
- adds r1, r2, r4\n\
- movs r0, 0x5\n\
- b _080EEB26\n\
- .align 2, 0\n\
+ ldr r4, _080EEB10 @ =0x00006dae\n\
+ adds r1, r2, r4\n\
+ movs r0, 0x5\n\
+ b _080EEB26\n\
+ .align 2, 0\n\
_080EEB10: .4byte 0x00006dae\n\
_080EEB14:\n\
- ldr r0, _080EEB1C @ =0x00006dae\n\
- adds r1, r2, r0\n\
- movs r0, 0x3\n\
- b _080EEB26\n\
- .align 2, 0\n\
+ ldr r0, _080EEB1C @ =0x00006dae\n\
+ adds r1, r2, r0\n\
+ movs r0, 0x3\n\
+ b _080EEB26\n\
+ .align 2, 0\n\
_080EEB1C: .4byte 0x00006dae\n\
_080EEB20:\n\
- ldr r2, _080EEB58 @ =0x00006dae\n\
- adds r1, r3, r2\n\
- movs r0, 0x6\n\
+ ldr r2, _080EEB58 @ =0x00006dae\n\
+ adds r1, r3, r2\n\
+ movs r0, 0x6\n\
_080EEB26:\n\
- strb r0, [r1]\n\
+ strb r0, [r1]\n\
_080EEB28:\n\
- ldr r4, _080EEB5C @ =gSharedMem\n\
- ldr r1, _080EEB60 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F1B8C\n\
- ldr r2, _080EEB64 @ =0x00006e16\n\
- adds r4, r2\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
+ ldr r4, _080EEB5C @ =gSharedMem\n\
+ ldr r1, _080EEB60 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F1B8C\n\
+ ldr r2, _080EEB64 @ =0x00006e16\n\
+ adds r4, r2\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
_080EEB3E:\n\
- ldr r4, _080EEB5C @ =gSharedMem\n\
- ldr r1, _080EEB60 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F1BC8\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r2, _080EEB64 @ =0x00006e16\n\
- adds r1, r4, r2\n\
- b _080EEB76\n\
- .align 2, 0\n\
+ ldr r4, _080EEB5C @ =gSharedMem\n\
+ ldr r1, _080EEB60 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F1BC8\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r2, _080EEB64 @ =0x00006e16\n\
+ adds r1, r4, r2\n\
+ b _080EEB76\n\
+ .align 2, 0\n\
_080EEB58: .4byte 0x00006dae\n\
_080EEB5C: .4byte gSharedMem\n\
_080EEB60: .4byte 0x00006e14\n\
_080EEB64: .4byte 0x00006e16\n\
_080EEB68:\n\
- bl sub_8055870\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r1, _080EEB80 @ =gSharedMem\n\
- ldr r4, _080EEB84 @ =0x00006e16\n\
- adds r1, r4\n\
+ bl sub_8055870\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r1, _080EEB80 @ =gSharedMem\n\
+ ldr r4, _080EEB84 @ =0x00006e16\n\
+ adds r1, r4\n\
_080EEB76:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEB80: .4byte gSharedMem\n\
_080EEB84: .4byte 0x00006e16\n\
_080EEB88:\n\
- bl sub_80F1DF0\n\
- ldr r4, _080EEBA0 @ =gSharedMem\n\
- ldr r1, _080EEBA4 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80EF490\n\
- ldr r2, _080EEBA8 @ =0x00006e16\n\
- adds r4, r2\n\
- b _080EEBCC\n\
- .align 2, 0\n\
+ bl sub_80F1DF0\n\
+ ldr r4, _080EEBA0 @ =gSharedMem\n\
+ ldr r1, _080EEBA4 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80EF490\n\
+ ldr r2, _080EEBA8 @ =0x00006e16\n\
+ adds r4, r2\n\
+ b _080EEBCC\n\
+ .align 2, 0\n\
_080EEBA0: .4byte gSharedMem\n\
_080EEBA4: .4byte 0x00006e14\n\
_080EEBA8: .4byte 0x00006e16\n\
_080EEBAC:\n\
- bl sub_80F1E50\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r4, _080EEBD4 @ =gSharedMem\n\
- ldr r1, _080EEBD8 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- ldr r2, _080EEBDC @ =0x00006dad\n\
- adds r1, r4, r2\n\
- ldrb r1, [r1]\n\
- bl sub_80EF428\n\
- ldr r0, _080EEBE0 @ =0x00006e16\n\
- adds r4, r0\n\
+ bl sub_80F1E50\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r4, _080EEBD4 @ =gSharedMem\n\
+ ldr r1, _080EEBD8 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ ldr r2, _080EEBDC @ =0x00006dad\n\
+ adds r1, r4, r2\n\
+ ldrb r1, [r1]\n\
+ bl sub_80EF428\n\
+ ldr r0, _080EEBE0 @ =0x00006e16\n\
+ adds r4, r0\n\
_080EEBCC:\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEBD4: .4byte gSharedMem\n\
_080EEBD8: .4byte 0x00006e14\n\
_080EEBDC: .4byte 0x00006dad\n\
_080EEBE0: .4byte 0x00006e16\n\
_080EEBE4:\n\
- bl sub_80EF4F8\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r1, _080EEC00 @ =gSharedMem\n\
- ldr r2, _080EEC04 @ =0x00006e16\n\
- adds r1, r2\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
+ bl sub_80EF4F8\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r1, _080EEC00 @ =gSharedMem\n\
+ ldr r2, _080EEC04 @ =0x00006e16\n\
+ adds r1, r2\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
_080EEBFA:\n\
- movs r0, 0\n\
- b _080EEC0A\n\
- .align 2, 0\n\
+ movs r0, 0\n\
+ b _080EEC0A\n\
+ .align 2, 0\n\
_080EEC00: .4byte gSharedMem\n\
_080EEC04: .4byte 0x00006e16\n\
_080EEC08:\n\
- movs r0, 0x1\n\
+ movs r0, 0x1\n\
_080EEC0A:\n\
- pop {r4}\n\
- pop {r1}\n\
- bx r1\n"
+ pop {r4}\n\
+ pop {r1}\n\
+ bx r1\n"
- );
+ );
}
#endif
// var6dad and var6dae must be s8 in this func
-bool8 sub_80EEC10() {
- if (gMain.newKeys & 0x40) {
- do {
- if (--ewram0_11.var6dad < 0) {
- ewram0_11.var6dad = ewram0_11.var6dae - 1;
- }
-
- } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
- return 1;
- }
- if (gMain.newKeys & 0x80) {
- do {
- if (++ewram0_11.var6dad >= ewram0_11.var6dae) {
- ewram0_11.var6dad = 0;
- }
- } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
- return 1;
- }
- return 0;
+bool8 sub_80EEC10()
+{
+ if (gMain.newKeys & 0x40)
+ {
+ do
+ {
+ if (--ewram0_11.var6dad < 0)
+ ewram0_11.var6dad = ewram0_11.var6dae - 1;
+ } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ return TRUE;
+ }
+ if (gMain.newKeys & 0x80)
+ {
+ do
+ {
+ if (++ewram0_11.var6dad >= ewram0_11.var6dae)
+ ewram0_11.var6dad = 0;
+ } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ return TRUE;
+ }
+ return FALSE;
}
-bool8 sub_80EEC90() {
- if (gMain.newKeys & 0x40) {
- if (--ewram0_11.var6dad < 0) {
- ewram0_11.var6dad = ewram0_11.var6dae - 1;
- }
- return 1;
- }
- if (gMain.newKeys & 0x80) {
- if (++ewram0_11.var6dad >= ewram0_11.var6dae) {
- ewram0_11.var6dad = 0;
- }
- return 1;
- }
- return 0;
+bool8 sub_80EEC90()
+{
+ if (gMain.newKeys & 0x40)
+ {
+ if (--ewram0_11.var6dad < 0)
+ ewram0_11.var6dad = ewram0_11.var6dae - 1;
+ return TRUE;
+ }
+ if (gMain.newKeys & 0x80)
+ {
+ if (++ewram0_11.var6dad >= ewram0_11.var6dae)
+ ewram0_11.var6dad = 0;
+ return TRUE;
+ }
+ return FALSE;
}
-void sub_80EED0C() {
- REG_DISPCNT = 512;
+void sub_80EED0C()
+{
+ REG_DISPCNT = 512;
}
-void sub_80EED1C() {
- REG_DISPCNT = 0x92 << 5;
+void sub_80EED1C()
+{
+ REG_DISPCNT = 0x92 << 5;
}
-void sub_80EED2C(u8 param1) {
- switch (param1) {
- case 0:
- REG_DISPCNT = 0xFA << 5;
- break;
- case 1:
- REG_DISPCNT = 0x1741;
- break;
- case 3:
- case 4:
- REG_DISPCNT = 0xFA << 5;
- break;
- case 2:
- REG_DISPCNT = 0x7b40;
- break;
- case 5:
- REG_DISPCNT = 0xFD << 6;
- break;
- }
+void sub_80EED2C(u8 param1)
+{
+ switch (param1) {
+ case 0:
+ REG_DISPCNT = 0xFA << 5;
+ break;
+ case 1:
+ REG_DISPCNT = 0x1741;
+ break;
+ case 3:
+ case 4:
+ REG_DISPCNT = 0xFA << 5;
+ break;
+ case 2:
+ REG_DISPCNT = 0x7b40;
+ break;
+ case 5:
+ REG_DISPCNT = 0xFD << 6;
+ break;
+ }
}
-void sub_80EED9C(void) {
- gUnknown_03000744 = ewram0_10.var300;
- ewram0_10.var300 = &sub_80EEDC4;
- ewram0_10.var300();
+void sub_80EED9C(void)
+{
+ gUnknown_03000744 = ewram0_10.var300;
+ ewram0_10.var300 = &sub_80EEDC4;
+ ewram0_10.var300();
}
-void sub_80EEDC4(void) {
- if (sub_8055870() != 0x1) {
- ewram0_10.var300 = gUnknown_03000744;
- }
+void sub_80EEDC4(void)
+{
+ if (sub_8055870() != 0x1)
+ ewram0_10.var300 = gUnknown_03000744;
}
-void sub_80EEDE8(void) {
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG2HOFS = 0;
- REG_BG3HOFS = 0;
- REG_BG3VOFS = 0;
+void sub_80EEDE8(void)
+{
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
}
-void sub_80EEE08(void) {
- gUnknown_083DFEC4->unkD160 = 0;
+void sub_80EEE08(void)
+{
+ gUnknown_083DFEC4->unkD160 = 0;
}
-void sub_80EEE20(void) {
- gUnknown_083DFEC4->unkD160 = 0;
- if (!gUnknown_083DFEC4->unk6DAC) {
- while (sub_80EEE54());
- }
+void sub_80EEE20(void)
+{
+ gUnknown_083DFEC4->unkD160 = 0;
+ if (!gUnknown_083DFEC4->unk6DAC)
+ {
+ while (sub_80EEE54())
+ ;
+ }
}
-bool8 sub_80EEE54(void) {
- switch (gUnknown_083DFEC4->unkD160) {
- case 0:
- LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
- break;
- case 1:
- LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
- break;
- case 2:
- LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
- break;
- case 3:
- sub_80EF58C(0);
- sub_80EF58C(1);
- sub_80EF58C(2);
- break;
- case 4:
- gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
- REG_BG1HOFS = 0;
- REG_BG1VOFS = 0;
- REG_BG1CNT = 0x1B0C;
- gUnknown_083DFEC4->unkD160++;
- default:
- return 0;
- }
- gUnknown_083DFEC4->unkD160++;
- return 1;
+bool8 sub_80EEE54(void)
+{
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
+ break;
+ case 1:
+ LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
+ break;
+ case 2:
+ LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
+ break;
+ case 3:
+ sub_80EF58C(0);
+ sub_80EF58C(1);
+ sub_80EF58C(2);
+ break;
+ case 4:
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG1CNT = 0x1B0C;
+ gUnknown_083DFEC4->unkD160++;
+ default:
+ return FALSE;
+ }
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
-bool8 sub_80EEF34(void) {
- bool8 retVal = TRUE;
+bool8 sub_80EEF34(void)
+{
+ bool8 retVal = TRUE;
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32)
- {
- return FALSE;
- }
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32)
+ return FALSE;
- gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2;
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31)
- {
- gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32;
- retVal = FALSE;
- }
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32;
+ retVal = FALSE;
+ }
- REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
- return retVal;
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
}
bool8 sub_80EEF78(void)
{
- bool8 retVal = TRUE;
-
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0)
- {
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2;
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0)
- {
- gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
- retVal = FALSE;
- }
-
- REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
- return retVal;
+ bool8 retVal = TRUE;
+
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0)
+ return FALSE;
+
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
+ retVal = FALSE;
+ }
+
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
}
void sub_80EEFBC(u8 a)
{
- u8 var1;
+ u8 var1;
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2);
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2);
- switch (a)
- {
- case 0:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 11:
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 2:
- var1 = gUnknown_083DFEC4->unk6DAC;
- if (!var1)
- {
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2);
- }
- else
- {
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- }
- break;
- case 3:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 4:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 7:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 8:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 5:
- case 9:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 10:
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- }
+ switch (a)
+ {
+ case 0:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 11:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 2:
+ var1 = gUnknown_083DFEC4->unk6DAC;
+ if (!var1)
+ {
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2);
+ }
+ else
+ {
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ }
+ break;
+ case 3:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 4:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 7:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 8:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 5:
+ case 9:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 10:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ }
}
void sub_80EF248(u8 a)
{
- gUnknown_083DFEC4->unkD160 = 0;
+ gUnknown_083DFEC4->unkD160 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- {
- while (sub_80EF284(a));
- }
+ if (!gUnknown_083DFEC4->unk6DAC)
+ {
+ while (sub_80EF284(a))
+ ;
+ }
}
bool8 sub_80EF284(u8 a)
{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E7224);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0);
- break;
- case 5:
- LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800);
- break;
- case 6:
- DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20);
- break;
- case 7:
- LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000);
- break;
- case 8:
- LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800);
- break;
- case 9:
- LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020);
- break;
- case 10:
- sub_80EF54C(a);
- LoadPalette(gUnknown_083DFECC, 0xF0, 0x20);
- LoadPalette(gPokenavOutlinePalette, 0x40, 0x20);
- sub_80EF7D4();
- break;
- case 11:
- REG_BG0CNT = 0x1F01;
- REG_BG2CNT = 0x1D0A;
- REG_BG3CNT = 0x1C0B;
- REG_BLDCNT = 0;
-
- gUnknown_083DFEC4->unkD160++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0);
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800);
+ break;
+ case 6:
+ DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20);
+ break;
+ case 7:
+ LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000);
+ break;
+ case 8:
+ LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800);
+ break;
+ case 9:
+ LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020);
+ break;
+ case 10:
+ sub_80EF54C(a);
+ LoadPalette(gUnknown_083DFECC, 0xF0, 0x20);
+ LoadPalette(gPokenavOutlinePalette, 0x40, 0x20);
+ sub_80EF7D4();
+ break;
+ case 11:
+ REG_BG0CNT = 0x1F01;
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1C0B;
+ REG_BLDCNT = 0;
+
+ gUnknown_083DFEC4->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
void sub_80EF428(u8 a, u8 b)
{
- u8 *tileBuffer;
- const u8 *pcText = 0;
+ u8 *tileBuffer;
+ const u8 *pcText = 0;
- switch (a)
- {
- case 0:
- pcText = gUnknown_083E31B0[b];
- break;
- case 1:
- pcText = gUnknown_083E31CC[b];
- break;
- case 2:
- pcText = gUnknown_083E31D8[b];
- break;
- }
+ switch (a)
+ {
+ case 0:
+ pcText = gUnknown_083E31B0[b];
+ break;
+ case 1:
+ pcText = gUnknown_083E31CC[b];
+ break;
+ case 2:
+ pcText = gUnknown_083E31D8[b];
+ break;
+ }
- tileBuffer = gUnknown_083DFEC8;
- sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2);
- MenuPrint(&tileBuffer[0x800], 3, 17);
+ tileBuffer = gUnknown_083DFEC8;
+ sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2);
+ MenuPrint(&tileBuffer[0x800], 3, 17);
}
void sub_80EF490(u8 a)
{
- u16 var1, var2;
-
- if (a == 2)
- {
- a = 1;
- }
-
- gUnknown_083DFEC4->unkCE4E = a * 30;
- var1 = gUnknown_083DFEC4->unkCE4C;
- var2 = a * 30;
- if (var1 < var2)
- {
- gUnknown_083DFEC4->unkCE50 = 2;
- }
- else if (var1 > var2)
- {
- gUnknown_083DFEC4->unkCE50 = -2;
- }
- else
- {
- gUnknown_083DFEC4->unkCE50 = 0;
- }
+ u16 var1, var2;
+
+ if (a == 2)
+ a = 1;
+
+ gUnknown_083DFEC4->unkCE4E = a * 30;
+ var1 = gUnknown_083DFEC4->unkCE4C;
+ var2 = a * 30;
+ if (var1 < var2)
+ gUnknown_083DFEC4->unkCE50 = 2;
+ else if (var1 > var2)
+ gUnknown_083DFEC4->unkCE50 = -2;
+ else
+ gUnknown_083DFEC4->unkCE50 = 0;
}
bool8 sub_80EF4F8(void)
{
- u16 *palettes;
+ u16 *palettes;
- if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E)
- {
- return FALSE;
- }
- else
- {
- gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C;
+ if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C;
- palettes = gUnknown_083DFEC4->palettesCE52;
- LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
- return TRUE;
- }
+ palettes = gUnknown_083DFEC4->palettesCE52;
+ LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
+ return TRUE;
+ }
}
void sub_80EF54C(u8 a)
{
- if (a == 2)
- {
- a = 1;
- }
+ if (a == 2)
+ a = 1;
- gUnknown_083DFEC4->unkCE4C = a * 30;
- LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
+ gUnknown_083DFEC4->unkCE4C = a * 30;
+ LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
}
void sub_80EF58C(u8 a)
{
- u16 i;
- u16 * palettes;
- const u16 *var1;
-
- switch (a)
- {
- case 0:
- for (i = 0; i < 62; i++)
- {
- gUnknown_083DFEC4->palettesCE52[i] = 0;
- }
- break;
- case 1:
- palettes = gUnknown_083DFEC4->palettesCE52;
- var1 = gUnknown_083E003C;
- sub_80EF624(&var1[1], &var1[3], 16, 2, palettes);
- break;
- case 2:
- palettes = gUnknown_083DFEC4->palettesCE8E;
- var1 = gUnknown_083E003C;
- sub_80EF624(&var1[3], &var1[7], 16, 2, palettes);
- break;
- }
+ u16 i;
+ u16 * palettes;
+ const u16 *var1;
+
+ switch (a)
+ {
+ case 0:
+ for (i = 0; i < 62; i++)
+ gUnknown_083DFEC4->palettesCE52[i] = 0;
+ break;
+ case 1:
+ palettes = gUnknown_083DFEC4->palettesCE52;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[1], &var1[3], 16, 2, palettes);
+ break;
+ case 2:
+ palettes = gUnknown_083DFEC4->palettesCE8E;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[3], &var1[7], 16, 2, palettes);
+ break;
+ }
}
#ifdef NONMATCHING
void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
{
- u16 red1, green1, blue1;
- u16 red2, green2, blue2;
- s32 redDiv, greenDiv, blueDiv;
- u16 *palettes2;
- u16 i, j;
-
- i = 0;
- while (i < d)
- {
- red1 = (*a & 0x1F) << 8;
- green1 = ((*a >> 5) & 0x1F) << 8;
- blue1 = ((*a >> 10) & 0x1F) << 8;
-
- red2 = (*b & 0x1F) << 8;
- green2 = ((*b >> 5) & 0x1F) << 8;
- blue2 = ((*b >> 10) & 0x1F) << 8;
-
- redDiv = (red2 - red1) / c;
- greenDiv = (green2 - green1) / c;
- blueDiv = (blue2 - blue1) / c;
-
- palettes2 = palettes;
- for (j = 0; j < c - 1; j++)
- {
- *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16);
- palettes2 += d;
- red1 += redDiv;
- green1 += greenDiv;
- blue1 += blueDiv;
- }
+ u16 red1, green1, blue1;
+ u16 red2, green2, blue2;
+ s32 redDiv, greenDiv, blueDiv;
+ u16 *palettes2;
+ u16 i, j;
+
+ i = 0;
+ while (i < d)
+ {
+ red1 = (*a & 0x1F) << 8;
+ green1 = ((*a >> 5) & 0x1F) << 8;
+ blue1 = ((*a >> 10) & 0x1F) << 8;
+
+ red2 = (*b & 0x1F) << 8;
+ green2 = ((*b >> 5) & 0x1F) << 8;
+ blue2 = ((*b >> 10) & 0x1F) << 8;
+
+ redDiv = (red2 - red1) / c;
+ greenDiv = (green2 - green1) / c;
+ blueDiv = (blue2 - blue1) / c;
+
+ palettes2 = palettes;
+ for (j = 0; j < c - 1; j++)
+ {
+ *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16);
+ palettes2 += d;
+ red1 += redDiv;
+ green1 += greenDiv;
+ blue1 += blueDiv;
+ }
- *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3);
- palettes++;
+ *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3);
+ palettes++;
- a++;
- b++;
- i++;
- }
+ a++;
+ b++;
+ i++;
+ }
}
#else
__attribute__((naked))
@@ -3430,151 +3606,142 @@ _080EF72E:\n\
void sub_80EF740(void)
{
- gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1;
- if (gUnknown_083DFEC4->unk6DA0)
- {
- gUnknown_083DFEC4->unk6DA2++;
- }
+ gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1;
+ if (gUnknown_083DFEC4->unk6DA0)
+ gUnknown_083DFEC4->unk6DA2++;
- REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2;
+ REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2;
}
void sub_80EF780(u8 taskId)
{
- if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0)
- {
- sub_80EF740();
- }
- else
- {
- u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7;
- gUnknown_083DFEC4->unk6DA2 = value;
- gUnknown_083DFEC4->unk6DA0 = value;
- REG_BG3HOFS = value;
- }
+ if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0)
+ {
+ sub_80EF740();
+ }
+ else
+ {
+ u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7;
+ gUnknown_083DFEC4->unk6DA2 = value;
+ gUnknown_083DFEC4->unk6DA0 = value;
+ REG_BG3HOFS = value;
+ }
}
void sub_80EF7D4(void)
{
- gUnknown_083DFEC4->unk6DA2 = 0;
- gUnknown_083DFEC4->unk6DA0 = 0;
- gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80);
+ gUnknown_083DFEC4->unk6DA2 = 0;
+ gUnknown_083DFEC4->unk6DA0 = 0;
+ gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80);
}
void sub_80EF814(void)
{
- if (FuncIsActiveTask(sub_80EF780))
- {
- DestroyTask(gUnknown_083DFEC4->taskId6DA4);
- }
+ if (FuncIsActiveTask(sub_80EF780))
+ DestroyTask(gUnknown_083DFEC4->taskId6DA4);
}
void sub_80EF840(void)
{
- gUnknown_083DFEC4->unkD160 = 0;
+ gUnknown_083DFEC4->unkD160 = 0;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80EF874() != 0);
- }
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80EF874() != 0)
+ ;
+ }
}
bool8 sub_80EF874(void)
{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E7224);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- MenuZeroFillScreen();
- break;
- case 5:
- sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE);
- break;
- case 6:
- if (sub_80FA940())
- {
- return TRUE;
- }
- break;
- case 7:
- LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000);
- break;
- case 8:
- LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20);
- sub_80EFC3C();
- break;
- case 9:
- if (sub_80EFC64())
- {
- return TRUE;
- }
- break;
- case 10:
- MenuDrawTextWindow(13, 3, 29, 17);
- sub_80EF9F8();
- break;
- case 11:
- if (!gUnknown_083DFEC4->regionMap.zoomed)
- {
- gUnknown_083DFEC4->unk7698 = 160;
- REG_BG0VOFS = 160;
- }
- else
- {
- gUnknown_083DFEC4->unk7698 = 256;
- REG_BG0VOFS = 0;
- }
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE);
+ break;
+ case 6:
+ if (sub_80FA940())
+ return TRUE;
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20);
+ sub_80EFC3C();
+ break;
+ case 9:
+ if (sub_80EFC64())
+ return TRUE;
+ break;
+ case 10:
+ MenuDrawTextWindow(13, 3, 29, 17);
+ sub_80EF9F8();
+ break;
+ case 11:
+ if (!gUnknown_083DFEC4->regionMap.zoomed)
+ {
+ gUnknown_083DFEC4->unk7698 = 160;
+ REG_BG0VOFS = 160;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unk7698 = 256;
+ REG_BG0VOFS = 0;
+ }
- REG_BG0CNT = REG_BG0CNT;
- REG_BG0CNT |= 1;
- REG_BLDCNT = 0;
- break;
- default:
- return FALSE;
- }
+ REG_BG0CNT = REG_BG0CNT;
+ REG_BG0CNT |= 1;
+ REG_BLDCNT = 0;
+ break;
+ default:
+ return FALSE;
+ }
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
asm(".include \"constants/gba_constants.inc\"\n");
void sub_80EF9F8(void)
{
- bool8 someBool = FALSE;
+ bool8 someBool = FALSE;
u16 top = 4;
- u16 mapSectionId;
- u8 b;
+ u16 mapSectionId;
+ u8 b;
- switch (gUnknown_083DFEC4->regionMap.unk16)
- {
+ switch (gUnknown_083DFEC4->regionMap.unk16)
+ {
case 0:
break;
- case 1:
- case 4:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- if (gLinkOpen == TRUE)
- {
- sub_80F1A80();
+ case 1:
+ case 4:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ if (gLinkOpen == TRUE)
+ {
+ sub_80F1A80();
someBool = TRUE;
- }
- else
- {
+ }
+ else
+ {
u16 i;
for (i = 0; i < 4; i++)
@@ -3589,99 +3756,95 @@ void sub_80EF9F8(void)
sub_8072A18(secName, 0x70, top * 8, 0x78, 1);
top += 2;
}
- }
- break;
- case 2:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId;
+ }
+ break;
+ case 2:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId;
b = gUnknown_083DFEC4->regionMap.everGrandeCityArea;
if (gUnknown_083DFEC4->unkCDCC[mapSectionId][b] != NULL)
- {
- MenuFillWindowRectWithBlankTile(14, top, 15, 15);
- MenuFillWindowRectWithBlankTile(26, top, 28, 15);
- sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gUnknown_083DFEC4->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10);
- top += 11;
- }
- break;
- case 3:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- break;
- }
+ {
+ MenuFillWindowRectWithBlankTile(14, top, 15, 15);
+ MenuFillWindowRectWithBlankTile(26, top, 28, 15);
+ sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gUnknown_083DFEC4->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10);
+ top += 11;
+ }
+ break;
+ case 3:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ break;
+ }
// Epic fail by the compiler at optimizing this.
if (!someBool && top < 16)
MenuFillWindowRectWithBlankTile(14, top, 28, 15);
- if (gUnknown_083DFEC4->regionMap.unk16 == 2)
- sub_80EFD74();
- else
- sub_80EFDA0();
+ if (gUnknown_083DFEC4->regionMap.unk16 == 2)
+ sub_80EFD74();
+ else
+ sub_80EFDA0();
}
void sub_80EFBB0(void)
{
- if (!gUnknown_083DFEC4->regionMap.zoomed)
- {
- sub_80EEFBC(8);
- }
- else
- {
- sub_80EEFBC(7);
- }
+ if (!gUnknown_083DFEC4->regionMap.zoomed)
+ sub_80EEFBC(8);
+ else
+ sub_80EEFBC(7);
}
bool8 sub_80EFBDC(bool8 a)
{
- bool8 retVal = TRUE;
- u16 var1 = gUnknown_083DFEC4->unk7698;
+ bool8 retVal = TRUE;
+ u16 var1 = gUnknown_083DFEC4->unk7698;
- if (a)
- {
- if (var1 > 168)
- {
- var1 = var1 - 8;
- }
- else
- {
- var1 = 160;
- retVal = FALSE;
- }
- }
- else
- {
- if (var1 < 248)
- {
- var1 = var1 + 8;
- }
- else
- {
- var1 = 256;
- retVal = FALSE;
- }
- }
+ if (a)
+ {
+ if (var1 > 168)
+ {
+ var1 = var1 - 8;
+ }
+ else
+ {
+ var1 = 160;
+ retVal = FALSE;
+ }
+ }
+ else
+ {
+ if (var1 < 248)
+ {
+ var1 = var1 + 8;
+ }
+ else
+ {
+ var1 = 256;
+ retVal = FALSE;
+ }
+ }
- gUnknown_083DFEC4->unk7698 = var1;
- REG_BG0VOFS = var1 & 0xFF;
+ gUnknown_083DFEC4->unk7698 = var1;
+ REG_BG0VOFS = var1 & 0xFF;
- return retVal;
+ return retVal;
}
void sub_80EFC3C(void)
{
- gUnknown_083DFEC4->unkBC9A = 0;
- gUnknown_083DFEC4->unkBC9B = 0;
- sub_80EFD3C();
+ gUnknown_083DFEC4->unkBC9A = 0;
+ gUnknown_083DFEC4->unkBC9B = 0;
+ sub_80EFD3C();
}
bool8 sub_80EFC64(void)
{
- u16 i;
- u8 var1;
- u16 var2;
+ u16 i;
+ u8 var1;
+ u16 var2;
- if (gUnknown_083DFEC4->unkBC9A >= 16)
+ if (gUnknown_083DFEC4->unkBC9A >= 16)
return FALSE;
var1 = gUnknown_083DFEC4->unkBC9A;
@@ -3709,345 +3872,330 @@ bool8 sub_80EFC64(void)
void sub_80EFD3C(void)
{
- gUnknown_083DFEC4->unk769E = 0;
- gUnknown_083DFEC4->unk769C = 47;
- gUnknown_083DFEC4->unk769D = 0;
- gUnknown_083DFEC4->unk769A = 0;
+ gUnknown_083DFEC4->unk769E = 0;
+ gUnknown_083DFEC4->unk769C = 47;
+ gUnknown_083DFEC4->unk769D = 0;
+ gUnknown_083DFEC4->unk769A = 0;
}
void sub_80EFD74(void)
{
- gUnknown_083DFEC4->unk769E = 1;
-
- if (gUnknown_083DFEC4->unk769D == 1)
- {
- gUnknown_083DFEC4->unk769D = 2;
- }
+ gUnknown_083DFEC4->unk769E = 1;
+ if (gUnknown_083DFEC4->unk769D == 1)
+ gUnknown_083DFEC4->unk769D = 2;
}
void sub_80EFDA0(void)
{
- sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15);
- gUnknown_083DFEC4->unk769E = 0;
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15);
+ gUnknown_083DFEC4->unk769E = 0;
}
void sub_80EFDE4(u8 param0)
{
- u16 var1 = 60 - gUnknown_083DFEC4->unk769C;
+ u16 var1 = 60 - gUnknown_083DFEC4->unk769C;
- if (var1 > 15)
- {
- var1 = 15;
- }
+ if (var1 > 15)
+ var1 = 15;
- if (gUnknown_083DFEC4->unk769E != 0)
- {
- sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60);
+ if (gUnknown_083DFEC4->unk769E != 0)
+ {
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60);
- if (var1 < 15)
- {
- u16 var2 = var1 + 14;
+ if (var1 < 15)
+ {
+ u16 var2 = var1 + 14;
- sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60);
- }
- }
+ sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60);
+ }
+ }
}
void sub_80EFE7C(void)
{
- u16 var1;
- u8 var2 = gUnknown_083DFEC4->unk769D;
+ u16 var1;
+ u8 var2 = gUnknown_083DFEC4->unk769D;
- switch (var2)
- {
- case 0:
- var1 = ++gUnknown_083DFEC4->unk769C;
+ switch (var2)
+ {
+ case 0:
+ var1 = ++gUnknown_083DFEC4->unk769C;
- if (var1 > 59)
- {
- gUnknown_083DFEC4->unk769C = var2;
- }
+ if (var1 > 59)
+ gUnknown_083DFEC4->unk769C = var2;
- sub_80EFDE4(gUnknown_083DFEC4->unk769E);
+ sub_80EFDE4(gUnknown_083DFEC4->unk769E);
- switch (gUnknown_083DFEC4->unk769C)
- {
- case 0:
- case 15:
- case 30:
- case 45:
- gUnknown_083DFEC4->unk769D = 1;
- gUnknown_083DFEC4->unk769A = 0;
- break;
- }
- break;
- case 1:
- var1 = ++gUnknown_083DFEC4->unk769A;
- if (var1 > 120)
- {
- gUnknown_083DFEC4->unk769A = 0;
- gUnknown_083DFEC4->unk769D = 0;
- }
- break;
- case 2:
- sub_80EFDE4(1);
- gUnknown_083DFEC4->unk769D = 1;
- break;
- }
+ switch (gUnknown_083DFEC4->unk769C)
+ {
+ case 0:
+ case 15:
+ case 30:
+ case 45:
+ gUnknown_083DFEC4->unk769D = 1;
+ gUnknown_083DFEC4->unk769A = 0;
+ break;
+ }
+ break;
+ case 1:
+ var1 = ++gUnknown_083DFEC4->unk769A;
+ if (var1 > 120)
+ {
+ gUnknown_083DFEC4->unk769A = 0;
+ gUnknown_083DFEC4->unk769D = 0;
+ }
+ break;
+ case 2:
+ sub_80EFDE4(1);
+ gUnknown_083DFEC4->unk769D = 1;
+ break;
+ }
}
void sub_80EFF34(void)
{
- gUnknown_083DFEC4->unkD160 = 0;
+ gUnknown_083DFEC4->unkD160 = 0;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80EFF68());
- }
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80EFF68())
+ ;
+ }
}
bool8 sub_80EFF68(void)
{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- gUnknown_083DFEC4->unkD162[0] = 11;
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E7080);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E7080);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- MenuZeroFillScreen();
- break;
- case 5:
- sub_80F1614();
- break;
- case 6:
- if (sub_80F162C(0))
- {
- return TRUE;
- }
- break;
- case 7:
- LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000);
- break;
- case 8:
- LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000);
- LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
- break;
- case 9:
- if (gUnknown_083DFEC4->unk76AA == 1)
- {
- sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9);
- }
- break;
- case 10:
- LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800);
- break;
- case 11:
- LoadPalette(gUnknown_083E0254, 0x30, 0x20);
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
- sub_80F01A4();
- break;
- case 12:
- sub_80F01E0((u16)gUnknown_083DFEC4->unk8fe9);
- break;
- case 13:
- REG_BG3CNT = 0x1E03;
- REG_BG2CNT = 0x1702;
- REG_BLDCNT = 0x844;
- REG_BLDALPHA = 0x40B;
- break;
- default:
- return FALSE;
- }
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ gUnknown_083DFEC4->unkD162[0] = 11;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7080);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7080);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ sub_80F1614();
+ break;
+ case 6:
+ if (sub_80F162C(0))
+ return TRUE;
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000);
+ LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
+ break;
+ case 9:
+ if (gUnknown_083DFEC4->unk76AA == 1)
+ sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9);
+ break;
+ case 10:
+ LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800);
+ break;
+ case 11:
+ LoadPalette(gUnknown_083E0254, 0x30, 0x20);
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
+ sub_80F01A4();
+ break;
+ case 12:
+ sub_80F01E0((u16)gUnknown_083DFEC4->unk8fe9);
+ break;
+ case 13:
+ REG_BG3CNT = 0x1E03;
+ REG_BG2CNT = 0x1702;
+ REG_BLDCNT = 0x844;
+ REG_BLDALPHA = 0x40B;
+ break;
+ default:
+ return FALSE;
+ }
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
-void sub_80F0174(bool8 a)
+void sub_80F0174(bool8 bg2on)
{
- if (a)
- {
- REG_DISPCNT |= DISPCNT_BG2_ON;
- }
- else
- {
- REG_DISPCNT &= ~DISPCNT_BG2_ON;
- }
+ if (bg2on)
+ REG_DISPCNT |= DISPCNT_BG2_ON;
+ else
+ REG_DISPCNT &= ~DISPCNT_BG2_ON;
}
void sub_80F01A4(void)
{
- REG_WIN0H = WIN_RANGE(0, 240);
- REG_WIN1H = WIN_RANGE(0, 155);
- REG_WIN0V = WIN_RANGE(56, 121);
- REG_WIN1V = WIN_RANGE(56, 121);
- REG_WININ = 0x3F3F;
- REG_WINOUT = 0x001B;
+ REG_WIN0H = WIN_RANGE(0, 240);
+ REG_WIN1H = WIN_RANGE(0, 155);
+ REG_WIN0V = WIN_RANGE(56, 121);
+ REG_WIN1V = WIN_RANGE(56, 121);
+ REG_WININ = 0x3F3F;
+ REG_WINOUT = 0x001B;
}
void sub_80F01E0(u16 a)
{
- MenuPrint(gUnknown_083DFEC4->unk8829[a], 13, 1);
-
- if (gUnknown_083DFEC4->unk76AA == 1)
- {
- MenuPrint(gUnknown_083DFEC4->unk88E9[a], 13, 3);
- sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2);
- MenuPrint(gUnknown_083DFEC4->unk8788, 1, 6);
- }
+ MenuPrint(gUnknown_083DFEC4->unk8829[a], 13, 1);
+
+ if (gUnknown_083DFEC4->unk76AA == 1)
+ {
+ MenuPrint(gUnknown_083DFEC4->unk88E9[a], 13, 3);
+ sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2);
+ MenuPrint(gUnknown_083DFEC4->unk8788, 1, 6);
+ }
}
void sub_80F0264(u8 a)
{
- gUnknown_083DFEC4->unk306 = 0;
- gUnknown_083DFEC4->unk87CA = a;
+ gUnknown_083DFEC4->unk306 = 0;
+ gUnknown_083DFEC4->unk87CA = a;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80F02A0());
- }
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80F02A0())
+ ;
+ }
}
#ifdef NONMATCHING // small nonmatching part is in the third else clause in case 7.
bool8 sub_80F02A0(void)
{
- const u16 *pointer;
+ const u16 *pointer;
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- sub_80EEDE8();
+ switch (gUnknown_083DFEC4->unk306)
+ {
+ case 0:
+ sub_80EEDE8();
- gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1;
- gUnknown_083DFEC4->unkD162[0] = 11;
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E70D4);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E70D4);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- MenuZeroFillScreen();
- break;
- case 5:
- LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800);
- break;
- case 6:
- LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000);
- break;
- case 7:
- LoadPalette(gUnknown_083E02B4, 0xB0, 0x20);
- LoadPalette(gUnknown_083E02B4, 0xF0, 0x20);
- LoadPalette(gUnknown_083E0334, 0x40, 0x20);
+ gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1;
+ gUnknown_083DFEC4->unkD162[0] = 11;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E70D4);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E70D4);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ {
+ return TRUE;
+ }
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800);
+ break;
+ case 6:
+ LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000);
+ break;
+ case 7:
+ LoadPalette(gUnknown_083E02B4, 0xB0, 0x20);
+ LoadPalette(gUnknown_083E02B4, 0xF0, 0x20);
+ LoadPalette(gUnknown_083E0334, 0x40, 0x20);
- if (gUnknown_083DFEC4->unk87CA == 0)
- {
- LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20);
- gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5];
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2);
- }
- else if (gUnknown_083DFEC4->unk87CA == 1)
- {
- LoadPalette(gUnknown_083E0274, 0x30, 0x20);
- gPlttBufferUnfaded[0] = gUnknown_083E0274[5];
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2);
- }
- else
- {
- LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20);
- pointer = &gUnknown_08E9F9E8[5];
- gPlttBufferUnfaded[0] = gUnknown_08E9F9E8[5];
- LoadPalette(gUnknown_083E0314, 0x50, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(pointer, 0xBF, 0x2);
- LoadPalette(pointer, 0x5F, 0x2);
- }
- break;
- case 8:
- if (gUnknown_083DFEC4->unk87CA != 2)
- {
- sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9);
- }
- else
- {
- sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12);
- sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12);
- }
- break;
- case 9:
- LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000);
- break;
- case 10:
- DmaClear16(3, (void *)VRAM + 0xF800, 0x800);
- break;
- case 11:
- sub_80F0900();
- break;
- case 12:
- if (sub_80F0944())
- {
- return TRUE;
- }
- break;
- case 13:
- if (gUnknown_083DFEC4->unk87CA != 2)
- {
- ShowMapNamePopUpWindow();
- }
- else
- {
- sub_80F081C(0);
- sub_80F0FFC(gUnknown_083DFEC4->unk876E);
- }
- break;
- case 14:
- REG_BG2CNT = 0x1D0A;
- REG_BG3CNT = 0x1E03;
- REG_BG0CNT = 0x1F01;
- REG_BG3VOFS = 0xF8;
-
- gUnknown_083DFEC4->unk8776 = 0xF8;
- gUnknown_083DFEC4->unk8778 = 0;
-
- REG_BLDCNT = 0;
- gUnknown_083DFEC4->unkD160++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
+ if (gUnknown_083DFEC4->unk87CA == 0)
+ {
+ LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2);
+ }
+ else if (gUnknown_083DFEC4->unk87CA == 1)
+ {
+ LoadPalette(gUnknown_083E0274, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gUnknown_083E0274[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2);
+ }
+ else
+ {
+ LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20);
+ pointer = &gUnknown_08E9F9E8[5];
+ gPlttBufferUnfaded[0] = gUnknown_08E9F9E8[5];
+ LoadPalette(gUnknown_083E0314, 0x50, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(pointer, 0xBF, 0x2);
+ LoadPalette(pointer, 0x5F, 0x2);
+ }
+ break;
+ case 8:
+ if (gUnknown_083DFEC4->unk87CA != 2)
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9);
+ }
+ else
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12);
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12);
+ }
+ break;
+ case 9:
+ LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000);
+ break;
+ case 10:
+ DmaClear16(3, (void *)VRAM + 0xF800, 0x800);
+ break;
+ case 11:
+ sub_80F0900();
+ break;
+ case 12:
+ if (sub_80F0944())
+ {
+ return TRUE;
+ }
+ break;
+ case 13:
+ if (gUnknown_083DFEC4->unk87CA != 2)
+ {
+ ShowMapNamePopUpWindow();
+ }
+ else
+ {
+ sub_80F081C(0);
+ sub_80F0FFC(gUnknown_083DFEC4->unk876E);
+ }
+ break;
+ case 14:
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1E03;
+ REG_BG0CNT = 0x1F01;
+ REG_BG3VOFS = 0xF8;
+
+ gUnknown_083DFEC4->unk8776 = 0xF8;
+ gUnknown_083DFEC4->unk8778 = 0;
+
+ REG_BLDCNT = 0;
+ gUnknown_083DFEC4->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unk306++;
+ return TRUE;
}
#else
__attribute__((naked))
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index 9cf28a111..001cd85f6 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -1,13 +1,14 @@
#include "global.h"
+#include "constants/species.h"
#include "rom_8077ABC.h"
#include "battle.h"
#include "battle_anim.h"
#include "blend_palette.h"
+#include "contest.h"
#include "data2.h"
#include "decompress.h"
#include "palette.h"
#include "pokemon_icon.h"
-#include "constants/species.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
@@ -31,52 +32,28 @@
#define gTransformPersonalities gTransformedPersonalities
#define gBattleMonSprites gObjectBankIDs
-
-struct Struct_unk_2019348 {
- u16 field_0;
- u16 field_2;
- u8 field_4;
- u32 field_8;
- u32 field_c;
- u32 field_10;
-};
-
-struct TransformStatus {
+struct TransformStatus
+{
u16 unknown;
u16 species;
};
-struct Struct_gUnknown_0837F578 {
+struct Struct_gUnknown_0837F578
+{
u8 field_0;
u8 field_1;
};
-struct Struct_2017810 {
+struct Struct_2017810
+{
u8 filler_0[6];
u8 field_6;
u8 filler_7[5];
};
-struct Color {
- u16 r:5;
- u16 g:5;
- u16 b:5;
-};
-
-struct BGCnt {
- u16 priority:2;
- u16 charBase:2;
- u16 unused:2;
- u16 mosaic:1;
- u16 colorMode:1;
- u16 screenBase:5;
- u16 overflow:1;
- u16 size:2;
-};
-
-#define BG1CNT (*(volatile struct BGCnt*)REG_ADDR_BG1CNT)
-#define BG2CNT (*(volatile struct BGCnt*)REG_ADDR_BG2CNT)
-#define BG3CNT (*(volatile struct BGCnt*)REG_ADDR_BG3CNT)
+#define BG1CNT (*(vBgCnt *)REG_ADDR_BG1CNT)
+#define BG2CNT (*(vBgCnt *)REG_ADDR_BG2CNT)
+#define BG3CNT (*(vBgCnt *)REG_ADDR_BG3CNT)
extern struct OamData gOamData_837DF9C[];
extern const union AnimCmd *const gDummySpriteAnimTable[];
@@ -102,7 +79,8 @@ extern u8 UpdateMonIconFrame(struct Sprite *sprite);
EWRAM_DATA union AffineAnimCmd *gUnknown_0202F7D4 = NULL;
EWRAM_DATA u32 filler_0202F7D8[3] = {0};
-const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] = {
+const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] =
+{
{
{ 72, 80 },
{ 176, 40 },
@@ -120,14 +98,16 @@ const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] = {
// One entry for each of the four Castform forms.
// Coords are probably front pic coords or back pic coords, but this data does not seem to be
// used during battle, party summary, or pokedex screens.
-const struct MonCoords gCastformFrontSpriteCoords[] = {
+const struct MonCoords gCastformFrontSpriteCoords[] =
+{
{ 0x44, 17 }, // NORMAL
{ 0x66, 9 }, // SUN
{ 0x46, 9 }, // RAIN
{ 0x86, 8 }, // HAIL
};
-const u8 gCastformElevations[] = {
+const u8 gCastformElevations[] =
+{
13, // NORMAL
14, // SUN
13, // RAIN
@@ -135,14 +115,16 @@ const u8 gCastformElevations[] = {
};
// Y position of the backsprite for each of the four Castform forms.
-const u8 gCastformBackSpriteYCoords[] = {
+const u8 gCastformBackSpriteYCoords[] =
+{
0, // NORMAL
0, // SUN
0, // RAIN
0, // HAIL
};
-const struct SpriteTemplate gSpriteTemplate_837F5B0[] = {
+const struct SpriteTemplate gSpriteTemplate_837F5B0[] =
+{
{
.tileTag = 55125,
.paletteTag = 55125,
@@ -151,7 +133,8 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = {
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
- }, {
+ },
+ {
.tileTag = 55126,
.paletteTag = 55126,
.oam = gOamData_837DF9C,
@@ -162,23 +145,26 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = {
}
};
-const struct SpriteSheet gUnknown_0837F5E0[] = {
+const struct SpriteSheet gUnknown_0837F5E0[] =
+{
{ gMiscBlank_Gfx, 0x800, 55125, },
{ gMiscBlank_Gfx, 0x800, 55126, },
};
-u8 GetBankPosition(u8 slot, u8 a2) {
+u8 GetBankPosition(u8 slot, u8 a2)
+{
u8 var;
u16 species;
struct TransformStatus *transform;
- if (IsContest()) {
- if (a2 == 3 && slot == 3) {
+ if (IsContest())
+ {
+ if (a2 == 3 && slot == 3)
a2 = 1;
- }
}
- switch (a2) {
+ switch (a2)
+ {
case 0:
case 2:
var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_0;
@@ -189,339 +175,402 @@ u8 GetBankPosition(u8 slot, u8 a2) {
case 3:
case 4:
default:
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- species = ewram19348.unk2;
- } else {
- species = ewram19348.unk0;
- }
- } else {
- if (GetBankSide(slot)) {
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ species = shared19348.unk2;
+ else
+ species = shared19348.unk0;
+ }
+ else
+ {
+ if (GetBankSide(slot))
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
}
}
- if (a2 == 3) {
+ if (a2 == 3)
var = sub_8077E44(slot, species, 1);
- } else {
+ else
var = sub_8077E44(slot, species, 0);
- }
break;
}
return var;
}
-u8 sub_8077BFC(u8 slot, u16 species) {
+u8 sub_8077BFC(u8 slot, u16 species)
+{
u16 letter;
u32 personality;
struct TransformStatus *transform;
u8 ret;
u16 var;
- if (!GetBankSide(slot) || IsContest()) {
- if (species == SPECIES_UNOWN) {
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- personality = ewram19348.unk10;
- } else {
- personality = ewram19348.unk8;
- }
- } else {
+ if (GetBankSide(slot) == 0 || IsContest())
+ {
+ if (species == SPECIES_UNOWN)
+ {
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ personality = shared19348.unk10;
+ else
+ personality = shared19348.unk8;
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ else
personality = gTransformPersonalities[slot];
- }
}
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = species;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
ret = gMonBackPicCoords[var].y_offset;
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
ret = gCastformBackSpriteYCoords[gBattleMonForms[slot]];
- } else if (species > NUM_SPECIES) {
+ }
+ else if (species > NUM_SPECIES)
+ {
ret = gMonBackPicCoords[0].y_offset;
- } else {
+ }
+ else
+ {
ret = gMonBackPicCoords[species].y_offset;
}
- } else {
- if (species == SPECIES_UNOWN) {
+ }
+ else
+ {
+ if (species == SPECIES_UNOWN)
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ else
personality = gTransformPersonalities[slot];
- }
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = species;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
ret = gMonFrontPicCoords[var].y_offset;
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
ret = gCastformFrontSpriteCoords[gBattleMonForms[slot]].y_offset;
- } else if (species > NUM_SPECIES) {
+ }
+ else if (species > NUM_SPECIES)
+ {
ret = gMonFrontPicCoords[0].y_offset;
- } else {
+ }
+ else
+ {
ret = gMonFrontPicCoords[species].y_offset;
}
}
return ret;
}
-u8 sub_8077DD8(u8 slot, u16 species) {
+u8 sub_8077DD8(u8 slot, u16 species)
+{
u8 ret = 0;
- if (GetBankSide(slot) == 1) {
- if (!IsContest()) {
- if (species == SPECIES_CASTFORM) {
+ if (GetBankSide(slot) == 1)
+ {
+ if (!IsContest())
+ {
+ if (species == SPECIES_CASTFORM)
ret = gCastformElevations[gBattleMonForms[slot]];
- } else if (species > NUM_SPECIES) {
+ else if (species > NUM_SPECIES)
ret = gEnemyMonElevation[0];
- } else {
+ else
ret = gEnemyMonElevation[species];
- }
}
}
return ret;
}
-u8 sub_8077E44(u8 slot, u16 species, u8 a3) {
+u8 sub_8077E44(u8 slot, u16 species, u8 a3)
+{
u16 offset;
u8 y;
- if (GetBankSide(slot) == 0 || IsContest()) {
+
+ if (GetBankSide(slot) == 0 || IsContest())
+ {
offset = sub_8077BFC(slot, species);
- } else {
+ }
+ else
+ {
offset = sub_8077BFC(slot, species);
offset -= sub_8077DD8(slot, species);
}
y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1;
- if (a3) {
- if (GetBankSide(slot) == 0) {
+ if (a3)
+ {
+ if (GetBankSide(slot) == 0)
y += 8;
- }
- if (y > 104) y = 104;
+ if (y > 104)
+ y = 104;
}
return y;
}
-u8 sub_8077EE4(u8 slot, u8 a2) {
+u8 sub_8077EE4(u8 slot, u8 a2)
+{
u16 species;
struct TransformStatus *transform;
- if (a2 == 3 || a2 == 4) {
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- species = ewram19348.unk2;
- } else {
- species = ewram19348.unk0;
- }
- } else {
+ if (a2 == 3 || a2 == 4)
+ {
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ species = shared19348.unk2;
+ else
+ species = shared19348.unk0;
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = gAnimSpeciesByBanks[slot];
- } else {
+ else
species = transform->species;
- }
}
- if (a2 == 3) {
+ if (a2 == 3)
return sub_8077E44(slot, species, 1);
- } else {
+ else
return sub_8077E44(slot, species, 0);
- }
- } else {
+ }
+ else
+ {
return GetBankPosition(slot, a2);
}
}
-u8 sub_8077F68(u8 slot) {
+u8 sub_8077F68(u8 slot)
+{
return GetBankPosition(slot, 4);
}
-u8 sub_8077F7C(u8 slot) {
+u8 sub_8077F7C(u8 slot)
+{
u16 var;
- if (GetBankSide(slot)) {
+ if (GetBankSide(slot) != 0)
var = GetBankPosition(slot, 1) + 16;
- } else {
+ else
var = GetBankPosition(slot, 1) + 17;
- }
return var;
}
-u8 sub_8077FC0(u8 slot) {
+u8 sub_8077FC0(u8 slot)
+{
u16 var;
u8 r6;
struct TransformStatus *transform;
+
r6 = GetBankPosition(slot, 1);
- if (!IsContest()) {
- if (GetBankSide(slot)) {
+ if (!IsContest())
+ {
+ if (GetBankSide(slot) != 0)
+ {
transform = &eTransformStatuses[slot];
if (!transform->species) {
var = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
} else {
var = transform->species;
}
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
var = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
- } else {
+ else
var = transform->species;
- }
}
- if (GetBankSide(slot)) {
+ if (GetBankSide(slot) != 0)
r6 -= sub_8077DD8(slot, var);
- }
}
return r6;
}
-u8 GetAnimBankSpriteId(u8 whichBank) {
+u8 GetAnimBankSpriteId(u8 whichBank)
+{
u8 *sprites;
- if (whichBank == ANIM_BANK_ATTACKER) {
- if (IsBankSpritePresent(gAnimBankAttacker)) {
+
+ if (whichBank == ANIM_BANK_ATTACKER)
+ {
+ if (IsBankSpritePresent(gAnimBankAttacker))
+ {
sprites = gBattleMonSprites;
return sprites[gAnimBankAttacker];
- } else {
+ }
+ else
+ {
return 0xff;
}
- } else if (whichBank == ANIM_BANK_TARGET) {
- if (IsBankSpritePresent(gAnimBankTarget)) {
+ }
+ else if (whichBank == ANIM_BANK_TARGET)
+ {
+ if (IsBankSpritePresent(gAnimBankTarget))
+ {
sprites = gBattleMonSprites;
return sprites[gAnimBankTarget];
- } else {
+ }
+ else
+ {
return 0xff;
}
- } else if (whichBank == ANIM_BANK_ATK_PARTNER) {
- if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) {
+ }
+ else if (whichBank == ANIM_BANK_ATK_PARTNER)
+ {
+ if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
return 0xff;
- } else {
+ else
return gBattleMonSprites[gAnimBankAttacker ^ 2];
- }
- } else {
- if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) {
+ }
+ else
+ {
+ if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2))
return gBattleMonSprites[gAnimBankTarget ^ 2];
- } else {
+ else
return 0xff;
- }
}
}
-void StoreSpriteCallbackInData(struct Sprite *sprite, void (*callback)(struct Sprite*)) {
+void StoreSpriteCallbackInData(struct Sprite *sprite, void (*callback)(struct Sprite*))
+{
sprite->data[6] = (u32)(callback) & 0xffff;
sprite->data[7] = (u32)(callback) >> 16;
}
-void SetCallbackToStoredInData(struct Sprite *sprite) {
+void SetCallbackToStoredInData(struct Sprite *sprite)
+{
u32 callback = (u16)sprite->data[6] | (sprite->data[7] << 16);
sprite->callback = (void (*)(struct Sprite *))callback;
}
-void sub_8078114(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void sub_8078114(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
sprite->data[0] += sprite->data[2];
- if (sprite->data[0] >= 0x100) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078174(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void sub_8078174(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
sprite->data[0] += sprite->data[2];
sprite->data[5] += sprite->data[4];
- if (sprite->data[0] >= 0x100) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void unref_sub_80781F0(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void unref_sub_80781F0(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]);
sprite->data[0] += sprite->data[2];
sprite->data[4] += sprite->data[5];
- if (sprite->data[0] >= 0x100) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
- if (sprite->data[4] >= 0x100) {
+ if (sprite->data[4] >= 0x100)
sprite->data[4] -= 0x100;
- } else if (sprite->data[4] < 0) {
+ else if (sprite->data[4] < 0)
sprite->data[4] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078278(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void sub_8078278(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]);
sprite->data[0] += sprite->data[2];
- if (sprite->data[0] >= 0x100) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_80782D8(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_80782D8(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
sprite->data[0]--;
- } else {
+ else
SetCallbackToStoredInData(sprite);
- }
}
-void sub_80782F8(struct Sprite *sprite) {
+void sub_80782F8(struct Sprite *sprite)
+{
sub_8078314(sprite);
sprite->callback = sub_8078364;
sprite->callback(sprite);
}
-void sub_8078314(struct Sprite *sprite) {
+void sub_8078314(struct Sprite *sprite)
+{
s16 old;
int v1;
- if (sprite->data[1] > sprite->data[2]) {
+
+ if (sprite->data[1] > sprite->data[2])
sprite->data[0] = -sprite->data[0];
- }
v1 = sprite->data[2] - sprite->data[1];
old = sprite->data[0];
sprite->data[0] = abs(v1 / sprite->data[0]);
@@ -529,42 +578,55 @@ void sub_8078314(struct Sprite *sprite) {
sprite->data[1] = old;
}
-void sub_8078364(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078364(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
sprite->data[0]--;
sprite->pos2.x += sprite->data[1];
sprite->pos2.y += sprite->data[2];
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078394(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078394(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
sprite->data[0]--;
sprite->data[3] += sprite->data[1];
sprite->data[4] += sprite->data[2];
sprite->pos2.x = sprite->data[3] >> 8;
sprite->pos2.y = sprite->data[4] >> 8;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_80783D0(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_80783D0(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
sprite->data[0]--;
sprite->data[3] += sprite->data[1];
sprite->data[4] += sprite->data[2];
sprite->pos2.x = sprite->data[3] >> 8;
sprite->pos2.y = sprite->data[4] >> 8;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
UpdateMonIconFrame(sprite);
}
-void unref_sub_8078414(struct Sprite *sprite) {
+void unref_sub_8078414(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
@@ -572,51 +634,65 @@ void unref_sub_8078414(struct Sprite *sprite) {
sprite->callback = sub_80782F8;
}
-void sub_8078458(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078458(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
sprite->data[0]--;
gSprites[sprite->data[3]].pos2.x += sprite->data[1];
gSprites[sprite->data[3]].pos2.y += sprite->data[2];
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_80784A8(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_80784A8(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
sprite->data[0]--;
sprite->data[3] += sprite->data[1];
sprite->data[4] += sprite->data[2];
gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8;
gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078504(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078504(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
sprite->data[0]--;
sprite->pos2.x = sprite->data[2] >> 8;
sprite->data[2] += sprite->data[1];
sprite->pos2.y = sprite->data[4] >> 8;
sprite->data[4] += sprite->data[3];
- if (sprite->data[0] % sprite->data[5] == 0) {
- if (sprite->data[5]) {
+ if (sprite->data[0] % sprite->data[5] == 0)
+ {
+ if (sprite->data[5])
sprite->invisible ^= 1;
- }
}
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void move_anim_8074EE0(struct Sprite *sprite) {
+void move_anim_8074EE0(struct Sprite *sprite)
+{
FreeSpriteOamMatrix(sprite);
DestroyAnimSprite(sprite);
}
-void unref_sub_8078588(struct Sprite *sprite) {
+void unref_sub_8078588(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2);
@@ -624,57 +700,68 @@ void unref_sub_8078588(struct Sprite *sprite) {
sprite->callback = sub_80782F8;
}
-void unref_sub_80785CC(struct Sprite *sprite) {
+void unref_sub_80785CC(struct Sprite *sprite)
+{
ResetPaletteStructByUid(sprite->data[5]);
move_anim_8074EE0(sprite);
}
-void sub_80785E4(struct Sprite *sprite) {
- if (sprite->affineAnimEnded) {
+void sub_80785E4(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
SetCallbackToStoredInData(sprite);
- }
}
-void sub_8078600(struct Sprite *sprite) {
- if (sprite->animEnded) {
+void sub_8078600(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
SetCallbackToStoredInData(sprite);
- }
}
-void sub_807861C(struct Sprite *sprite) {
+void sub_807861C(struct Sprite *sprite)
+{
REG_BLDCNT = 0;
REG_BLDALPHA = 0;
DestroyAnimSprite(sprite);
}
-void sub_8078634(u8 task) {
+void sub_8078634(u8 task)
+{
REG_BLDCNT = 0;
REG_BLDALPHA = 0;
DestroyAnimVisualTask(task);
}
-void sub_8078650(struct Sprite *sprite) {
+void sub_8078650(struct Sprite *sprite)
+{
sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
}
-void sub_807867C(struct Sprite *sprite, s16 a2) {
+void sub_807867C(struct Sprite *sprite, s16 a2)
+{
u16 v1 = GetBankPosition(gAnimBankAttacker, 0);
u16 v2 = GetBankPosition(gAnimBankTarget, 0);
- if (v1 > v2) {
+
+ if (v1 > v2)
+ {
sprite->pos1.x -= a2;
- } else if (v1 < v2) {
+ }
+ else if (v1 < v2)
+ {
sprite->pos1.x += a2;
- } else {
- if (GetBankSide(gAnimBankAttacker)) {
+ }
+ else
+ {
+ if (GetBankSide(gAnimBankAttacker) != 0)
sprite->pos1.x -= a2;
- } else {
+ else
sprite->pos1.x += a2;
- }
}
}
-void sub_80786EC(struct Sprite *sprite) {
+void sub_80786EC(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
obj_translate_based_on_private_1_2_3_4(sprite);
@@ -682,24 +769,27 @@ void sub_80786EC(struct Sprite *sprite) {
sprite->data[7] = 0;
}
-bool8 sub_8078718(struct Sprite *sprite) {
- if (sub_8078B5C(sprite)) {
+bool8 sub_8078718(struct Sprite *sprite)
+{
+ if (sub_8078B5C(sprite))
return TRUE;
- }
sprite->data[7] += sprite->data[6];
sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
return FALSE;
}
-void oamt_add_pos2_onto_pos1(struct Sprite *sprite) {
+void oamt_add_pos2_onto_pos1(struct Sprite *sprite)
+{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
sprite->pos2.x = 0;
sprite->pos2.y = 0;
}
-void sub_8078764(struct Sprite *sprite, u8 a2) {
- if (!a2) {
+void sub_8078764(struct Sprite *sprite, u8 a2)
+{
+ if (!a2)
+ {
sprite->pos1.x = sub_8077EE4(gAnimBankTarget, 0);
sprite->pos1.y = sub_8077EE4(gAnimBankTarget, 1);
}
@@ -707,11 +797,15 @@ void sub_8078764(struct Sprite *sprite, u8 a2) {
sprite->pos1.y += gBattleAnimArgs[1];
}
-void sub_80787B0(struct Sprite *sprite, u8 a2) {
- if (!a2) {
+void sub_80787B0(struct Sprite *sprite, u8 a2)
+{
+ if (!a2)
+ {
sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 0);
sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 1);
- } else {
+ }
+ else
+ {
sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 2);
sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 3);
}
@@ -719,103 +813,127 @@ void sub_80787B0(struct Sprite *sprite, u8 a2) {
sprite->pos1.y += gBattleAnimArgs[1];
}
-u8 GetBankSide(u8 slot) {
+u8 GetBankSide(u8 slot)
+{
return gBanksBySide[slot] & 1;
}
-u8 GetBankIdentity(u8 slot) {
+u8 GetBankIdentity(u8 slot)
+{
return gBanksBySide[slot];
}
-u8 GetBankByPlayerAI(u8 slot) {
+u8 GetBankByPlayerAI(u8 slot)
+{
u8 i;
- for (i = 0; i < gNoOfAllBanks; i++) {
- if (gBanksBySide[i] == slot) {
+
+ for (i = 0; i < gNoOfAllBanks; i++)
+ {
+ if (gBanksBySide[i] == slot)
break;
- }
}
return i;
}
-bool8 IsBankSpritePresent(u8 slot) {
- if (IsContest()) {
- if (gAnimBankAttacker == slot) {
+bool8 IsBankSpritePresent(u8 slot)
+{
+ if (IsContest())
+ {
+ if (gAnimBankAttacker == slot)
return TRUE;
- }
- if (gAnimBankTarget == slot) {
+ if (gAnimBankTarget == slot)
return TRUE;
- }
return FALSE;
- } else {
- if (gBanksBySide[slot] == 0xff) {
+ }
+ else
+ {
+ if (gBanksBySide[slot] == 0xff)
return FALSE;
- }
- if (GetBankSide(slot)) {
- if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) {
+ if (GetBankSide(slot))
+ {
+ if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0)
return TRUE;
- }
- } else {
- if (GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) {
+ }
+ else
+ {
+ if (GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0)
return TRUE;
- }
}
return FALSE;
}
}
-bool8 IsDoubleBattle() {
+bool8 IsDoubleBattle()
+{
return IS_DOUBLE_BATTLE();
}
-void sub_8078914(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
- unk->field_0 = (u8 *)0x6008000;
- unk->field_4 = (u8 *)0x600f000;
+void sub_8078914(struct Struct_sub_8078914 *unk)
+{
+ if (IsContest())
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x8000);
+ unk->field_4 = (u8 *)(VRAM + 0xf000);
unk->field_8 = 0xe;
- } else {
- unk->field_0 = (u8 *)0x6004000;
- unk->field_4 = (u8 *)0x600e000;
+ }
+ else
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x4000);
+ unk->field_4 = (u8 *)(VRAM + 0xe000);
unk->field_8 = 0x8;
}
}
-void sub_8078954(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
- unk->field_0 = (u8 *)0x6008000;
- unk->field_4 = (u8 *)0x600f000;
+void sub_8078954(struct Struct_sub_8078914 *unk)
+{
+ if (IsContest())
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x8000);
+ unk->field_4 = (u8 *)(VRAM + 0xf000);
unk->field_8 = 0xe;
- } else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) {
- unk->field_0 = (u8 *)0x6004000;
- unk->field_4 = (u8 *)0x600e000;
+ }
+ else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1)
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x4000);
+ unk->field_4 = (u8 *)(VRAM + 0xe000);
unk->field_8 = 0x8;
- } else {
- unk->field_0 = (u8 *)0x6006000;
- unk->field_4 = (u8 *)0x600f000;
+ }
+ else
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x6000);
+ unk->field_4 = (u8 *)(VRAM + 0xf000);
unk->field_8 = 0x9;
}
}
-u8 sub_80789BC() {
- if (IsContest()) {
+u8 sub_80789BC()
+{
+ if (IsContest())
return 1;
- }
return 2;
}
-void sub_80789D4(bool8 a1) {
- if (!a1) {
- BG3CNT.size = 0;
- BG3CNT.overflow = 1;
- } else if (IsContest()) {
- BG3CNT.size = 0;
- BG3CNT.overflow = 1;
- } else {
- BG3CNT.size = 1;
- BG3CNT.overflow = 0;
+void sub_80789D4(bool8 a1)
+{
+ if (!a1)
+ {
+ BG3CNT.screenSize = 0;
+ BG3CNT.areaOverflowMode = 1;
+ }
+ else if (IsContest())
+ {
+ BG3CNT.screenSize = 0;
+ BG3CNT.areaOverflowMode = 1;
+ }
+ else
+ {
+ BG3CNT.screenSize = 1;
+ BG3CNT.areaOverflowMode = 0;
}
}
-void sub_8078A34(struct Sprite *sprite) {
+void sub_8078A34(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078A5C(sprite);
@@ -823,7 +941,8 @@ void sub_8078A34(struct Sprite *sprite) {
sprite->callback(sprite);
}
-void sub_8078A5C(struct Sprite *sprite) {
+void sub_8078A5C(struct Sprite *sprite)
+{
s16 x = (sprite->data[2] - sprite->data[1]) << 8;
s16 y = (sprite->data[4] - sprite->data[3]) << 8;
sprite->data[1] = x / sprite->data[0];
@@ -832,32 +951,36 @@ void sub_8078A5C(struct Sprite *sprite) {
sprite->data[3] = 0;
}
-void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite) {
+void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite)
+{
int x = sprite->data[2] - sprite->data[1];
int y = sprite->data[4] - sprite->data[3];
bool8 r8 = x < 0;
bool8 r9 = y < 0;
u16 x2 = abs(x) << 8;
u16 y2 = abs(y) << 8;
+
x2 = x2 / sprite->data[0];
y2 = y2 / sprite->data[0];
- if (r8) {
+
+ if (r8)
x2 |= 1;
- } else {
+ else
x2 &= ~1;
- }
- if (r9) {
+
+ if (r9)
y2 |= 1;
- } else {
+ else
y2 &= ~1;
- }
+
sprite->data[1] = x2;
sprite->data[2] = y2;
sprite->data[4] = 0;
sprite->data[3] = 0;
}
-void sub_8078B34(struct Sprite *sprite) {
+void sub_8078B34(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
obj_translate_based_on_private_1_2_3_4(sprite);
@@ -865,46 +988,51 @@ void sub_8078B34(struct Sprite *sprite) {
sprite->callback(sprite);
}
-bool8 sub_8078B5C(struct Sprite *sprite) {
+bool8 sub_8078B5C(struct Sprite *sprite)
+{
u16 v1, v2, x, y;
- if (!sprite->data[0]) {
+
+ if (!sprite->data[0])
return TRUE;
- }
+
v1 = sprite->data[1];
v2 = sprite->data[2];
x = sprite->data[3];
y = sprite->data[4];
x += v1;
y += v2;
- if (v1 & 1) {
+
+ if (v1 & 1)
sprite->pos2.x = -(x >> 8);
- } else {
+ else
sprite->pos2.x = x >> 8;
- }
- if (v2 & 1) {
+
+ if (v2 & 1)
sprite->pos2.y = -(y >> 8);
- } else {
+ else
sprite->pos2.y = y >> 8;
- }
+
sprite->data[3] = x;
sprite->data[4] = y;
sprite->data[0]--;
return FALSE;
}
-void sub_8078BB8(struct Sprite *sprite) {
- if (sub_8078B5C(sprite)) {
+void sub_8078BB8(struct Sprite *sprite)
+{
+ if (sub_8078B5C(sprite))
SetCallbackToStoredInData(sprite);
- }
}
-void sub_8078BD4(struct Sprite *sprite) {
+void sub_8078BD4(struct Sprite *sprite)
+{
int v1 = abs(sprite->data[2] - sprite->data[1]) << 8;
sprite->data[0] = v1 / sprite->data[0];
obj_translate_based_on_private_1_2_3_4(sprite);
}
-void sub_8078C00(struct Sprite *sprite) {
+void sub_8078C00(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078BD4(sprite);
@@ -912,32 +1040,36 @@ void sub_8078C00(struct Sprite *sprite) {
sprite->callback(sprite);
}
-void sub_8078C28(struct Sprite *sprite) {
+void sub_8078C28(struct Sprite *sprite)
+{
int x = sprite->data[2] - sprite->data[1];
int y = sprite->data[4] - sprite->data[3];
bool8 x_sign = x < 0;
bool8 y_sign = y < 0;
u16 x2 = abs(x) << 4;
u16 y2 = abs(y) << 4;
+
x2 /= sprite->data[0];
y2 /= sprite->data[0];
- if (x_sign) {
+
+ if (x_sign)
x2 |= 1;
- } else {
+ else
x2 &= ~1;
- }
- if (y_sign) {
+
+ if (y_sign)
y2 |= 1;
- } else {
+ else
y2 &= ~1;
- }
+
sprite->data[1] = x2;
sprite->data[2] = y2;
sprite->data[4] = 0;
sprite->data[3] = 0;
}
-void sub_8078CC0(struct Sprite *sprite) {
+void sub_8078CC0(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078C28(sprite);
@@ -945,46 +1077,51 @@ void sub_8078CC0(struct Sprite *sprite) {
sprite->callback(sprite);
}
-bool8 sub_8078CE8(struct Sprite *sprite) {
+bool8 sub_8078CE8(struct Sprite *sprite)
+{
u16 v1, v2, x, y;
- if (!sprite->data[0]) {
+
+ if (!sprite->data[0])
return TRUE;
- }
+
v1 = sprite->data[1];
v2 = sprite->data[2];
x = sprite->data[3];
y = sprite->data[4];
x += v1;
y += v2;
- if (v1 & 1) {
+
+ if (v1 & 1)
sprite->pos2.x = -(x >> 4);
- } else {
+ else
sprite->pos2.x = x >> 4;
- }
- if (v2 & 1) {
+
+ if (v2 & 1)
sprite->pos2.y = -(y >> 4);
- } else {
+ else
sprite->pos2.y = y >> 4;
- }
+
sprite->data[3] = x;
sprite->data[4] = y;
sprite->data[0]--;
return FALSE;
}
-void sub_8078D44(struct Sprite *sprite) {
- if (sub_8078CE8(sprite)) {
+void sub_8078D44(struct Sprite *sprite)
+{
+ if (sub_8078CE8(sprite))
SetCallbackToStoredInData(sprite);
- }
}
-void sub_8078D60(struct Sprite *sprite) {
+void sub_8078D60(struct Sprite *sprite)
+{
int v1 = abs(sprite->data[2] - sprite->data[1]) << 4;
sprite->data[0] = v1 / sprite->data[0];
sub_8078C28(sprite);
}
-void sub_8078D8C(struct Sprite *sprite) {
+void sub_8078D8C(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078D60(sprite);
@@ -992,16 +1129,17 @@ void sub_8078D8C(struct Sprite *sprite) {
sprite->callback(sprite);
}
-void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) {
+void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation)
+{
int i;
struct ObjAffineSrcData src;
struct OamMatrix matrix;
+
src.xScale = xScale;
src.yScale = yScale;
src.rotation = rotation;
- if (sub_8078E38()) {
+ if (sub_8078E38())
src.xScale = -src.xScale;
- }
i = gSprites[sprite].oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
gOamMatrices[i].a = matrix.a;
@@ -1010,31 +1148,33 @@ void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) {
gOamMatrices[i].d = matrix.d;
}
-bool8 sub_8078E38() {
- if (IsContest()) {
- if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) {
+bool8 sub_8078E38()
+{
+ if (IsContest())
+ {
+ if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */)
return FALSE;
- }
return TRUE;
}
return FALSE;
}
-void sub_8078E70(u8 sprite, u8 a2) {
+void sub_8078E70(u8 sprite, u8 a2)
+{
u8 r7 = gSprites[sprite].data[0];
- if (IsContest() || IsAnimBankSpriteVisible(r7)) {
+
+ if (IsContest() || IsAnimBankSpriteVisible(r7))
gSprites[sprite].invisible = FALSE;
- }
gSprites[sprite].oam.objMode = a2;
gSprites[sprite].affineAnimPaused = TRUE;
- if (!IsContest() && !gSprites[sprite].oam.affineMode) {
+ if (!IsContest() && !gSprites[sprite].oam.affineMode)
gSprites[sprite].oam.matrixNum = ewram17810[r7].unk6;
- }
gSprites[sprite].oam.affineMode = 3;
CalcCenterToCornerVec(&gSprites[sprite], gSprites[sprite].oam.shape, gSprites[sprite].oam.size, gSprites[sprite].oam.affineMode);
}
-void sub_8078F40(u8 sprite) {
+void sub_8078F40(u8 sprite)
+{
obj_id_set_rotscale(sprite, 0x100, 0x100, 0);
gSprites[sprite].oam.affineMode = 1;
gSprites[sprite].oam.objMode = 0;
@@ -1042,31 +1182,33 @@ void sub_8078F40(u8 sprite) {
CalcCenterToCornerVec(&gSprites[sprite], gSprites[sprite].oam.shape, gSprites[sprite].oam.size, gSprites[sprite].oam.affineMode);
}
-void sub_8078F9C(u8 sprite) {
+void sub_8078F9C(u8 sprite)
+{
u16 matrix = gSprites[sprite].oam.matrixNum;
s16 c = gOamMatrices[matrix].c;
- if (c < 0) {
+
+ if (c < 0)
c = -c;
- }
gSprites[sprite].pos2.y = c >> 3;
}
// related to obj_id_set_rotscale
-void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation) {
+void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation)
+{
int i;
struct ObjAffineSrcData src;
struct OamMatrix matrix;
- if (sprite->oam.affineMode & 1) {
+
+ if (sprite->oam.affineMode & 1)
+ {
sprite->affineAnimPaused = TRUE;
- if (a2) {
+ if (a2)
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
- }
src.xScale = xScale;
src.yScale = yScale;
src.rotation = rotation;
- if (sub_8078E38()) {
+ if (sub_8078E38())
src.xScale = -src.xScale;
- }
i = sprite->oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
gOamMatrices[i].a = matrix.a;
@@ -1076,56 +1218,67 @@ void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 ro
}
}
-void sub_8079098(struct Sprite *sprite) {
+void sub_8079098(struct Sprite *sprite)
+{
sub_8078FDC(sprite, TRUE, 0x100, 0x100, 0);
sprite->affineAnimPaused = FALSE;
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
}
-static u16 ArcTan2_(s16 a, s16 b) {
+static u16 ArcTan2_(s16 a, s16 b)
+{
return ArcTan2(a, b);
}
-u16 sub_80790F0(s16 a, s16 b) {
+u16 sub_80790F0(s16 a, s16 b)
+{
u16 var = ArcTan2_(a, b);
return -var;
}
-void sub_8079108(u16 a1, bool8 a2) {
+void sub_8079108(u16 a1, bool8 a2)
+{
int i;
- struct Color *c;
- struct Color *c2;
+ struct PlttData *c;
+ struct PlttData *c2;
u16 average;
a1 *= 0x10;
- if (!a2) {
- for (i = 0; i < 0x10; i++) {
- c = (struct Color *)&gPlttBufferUnfaded[a1 + i];
+ if (!a2)
+ {
+ for (i = 0; i < 0x10; i++)
+ {
+ c = (struct PlttData *)&gPlttBufferUnfaded[a1 + i];
average = c->r + c->g + c->b;
average /= 3;
- c2 = (struct Color *)&gPlttBufferFaded[a1 + i];
+ c2 = (struct PlttData *)&gPlttBufferFaded[a1 + i];
c2->r = average;
c2->g = average;
c2->b = average;
}
- } else {
+ }
+ else
+ {
CpuCopy32(&gPlttBufferUnfaded[a1], &gPlttBufferFaded[a1], 0x20);
}
}
-u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
+u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7)
+{
u32 var = 0;
u32 shift;
- if (a1) {
- if (!IsContest()) {
+
+ if (a1)
+ {
+ if (!IsContest())
var = 0xe;
- } else {
+ else
var = 1 << sub_80789BC();
- }
}
- if (a2) {
+ if (a2)
+ {
shift = gAnimBankAttacker + 16;
var |= 1 << shift;
}
@@ -1133,61 +1286,77 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
shift = gAnimBankTarget + 16;
var |= 1 << shift;
}
- if (a4) {
- if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) {
+ if (a4)
+ {
+ if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
+ {
shift = (gAnimBankAttacker ^ 2) + 16;
var |= 1 << shift;
}
}
- if (a5) {
- if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) {
+ if (a5)
+ {
+ if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2))
+ {
shift = (gAnimBankTarget ^ 2) + 16;
var |= 1 << shift;
}
}
- if (a6) {
- if (!IsContest()) {
+ if (a6)
+ {
+ if (!IsContest())
var |= 0x100;
- } else {
+ else
var |= 0x4000;
- }
}
- if (a7) {
- if (!IsContest()) {
+ if (a7)
+ {
+ if (!IsContest())
var |= 0x200;
- }
}
return var;
}
-u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) {
+u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4)
+{
u32 var = 0;
u32 shift;
- if (IsContest()) {
- if (a1) {
+
+ if (IsContest())
+ {
+ if (a1)
+ {
var |= 1 << 18;
return var;
}
- } else {
- if (a1) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0))) {
+ }
+ else
+ {
+ if (a1)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0)))
var |= 1 << (GetBankByPlayerAI(0) + 16);
- }
}
- if (a2) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2))) {
+ if (a2)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2)))
+ {
shift = GetBankByPlayerAI(2) + 16;
var |= 1 << shift;
}
}
- if (a3) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1))) {
+ if (a3)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1)))
+ {
shift = GetBankByPlayerAI(1) + 16;
var |= 1 << shift;
}
}
- if (a4) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3))) {
+ if (a4)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3)))
+ {
shift = GetBankByPlayerAI(3) + 16;
var |= 1 << shift;
}
@@ -1196,51 +1365,57 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) {
return var;
}
-u8 sub_80793A8(u8 a1) {
+u8 sub_80793A8(u8 a1)
+{
return a1;
}
-u8 unref_sub_80793B0(u8 a1) {
+u8 unref_sub_80793B0(u8 a1)
+{
return GetBankByPlayerAI(a1);
}
-void sub_80793C4(struct Sprite *sprite) {
+void sub_80793C4(struct Sprite *sprite)
+{
bool8 var;
- if (!sprite->data[0]) {
- if (!gBattleAnimArgs[3]) {
+
+ if (!sprite->data[0])
+ {
+ if (!gBattleAnimArgs[3])
var = TRUE;
- } else {
+ else
var = FALSE;
- }
- if (!gBattleAnimArgs[2]) {
+ if (!gBattleAnimArgs[2])
sub_80787B0(sprite, var);
- } else {
+ else
sub_8078764(sprite, var);
- }
sprite->data[0]++;
- } else if (sprite->animEnded || sprite->affineAnimEnded) {
+ }
+ else if (sprite->animEnded || sprite->affineAnimEnded)
+ {
move_anim_8074EE0(sprite);
}
}
-void sub_807941C(struct Sprite *sprite) {
+void sub_807941C(struct Sprite *sprite)
+{
bool8 v1;
u8 v2;
- if (!(gBattleAnimArgs[5] & 0xff00)) {
+
+ if (!(gBattleAnimArgs[5] & 0xff00))
v1 = TRUE;
- } else {
+ else
v1 = FALSE;
- }
- if (!(gBattleAnimArgs[5] & 0xff)) {
+
+ if (!(gBattleAnimArgs[5] & 0xff))
v2 = 3;
- } else {
+ else
v2 = 1;
- }
+
sub_80787B0(sprite, v1);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- }
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, v2) + gBattleAnimArgs[3];
@@ -1248,11 +1423,11 @@ void sub_807941C(struct Sprite *sprite) {
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-void sub_80794A8(struct Sprite *sprite) {
+void sub_80794A8(struct Sprite *sprite)
+{
sub_80787B0(sprite, 1);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- }
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
@@ -1261,31 +1436,38 @@ void sub_80794A8(struct Sprite *sprite) {
sprite->callback = sub_8079518;
}
-void sub_8079518(struct Sprite *sprite) {
- if (sub_8078718(sprite)) {
+void sub_8079518(struct Sprite *sprite)
+{
+ if (sub_8078718(sprite))
DestroyAnimSprite(sprite);
- }
}
-void sub_8079534(struct Sprite *sprite) {
+void sub_8079534(struct Sprite *sprite)
+{
u8 r4, slot, r7;
- if (!gBattleAnimArgs[6]) {
+
+ if (!gBattleAnimArgs[6])
+ {
r4 = 1;
r7 = 3;
- } else {
+ }
+ else
+ {
r4 = 0;
r7 = 1;
}
- if (!gBattleAnimArgs[5]) {
+ if (!gBattleAnimArgs[5])
+ {
sub_80787B0(sprite, r4);
slot = gAnimBankAttacker;
- } else {
+ }
+ else
+ {
sub_8078764(sprite, r4);
slot = gAnimBankTarget;
}
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- }
sub_8078764(sprite, r4);
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(slot, 2) + gBattleAnimArgs[2];
@@ -1294,43 +1476,47 @@ void sub_8079534(struct Sprite *sprite) {
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) {
+s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1)
+{
u16 i;
u8 sprite = GetAnimBankSpriteId(a1);
- if (sprite != 0xff) {
- for (i = 0; i < 0x40; i++) {
- if (gSprites[i].inUse) {
- continue;
+
+ if (sprite != 0xff)
+ {
+ for (i = 0; i < 0x40; i++)
+ {
+ if (!gSprites[i].inUse)
+ {
+ gSprites[i] = gSprites[sprite];
+ gSprites[i].oam.objMode = 1;
+ gSprites[i].invisible = FALSE;
+ return i;
}
- gSprites[i] = gSprites[sprite];
- gSprites[i].oam.objMode = 1;
- gSprites[i].invisible = FALSE;
- return i;
}
}
return -1;
}
-void obj_delete_but_dont_free_vram(struct Sprite *sprite) {
+void obj_delete_but_dont_free_vram(struct Sprite *sprite)
+{
sprite->usingSheet = TRUE;
DestroySprite(sprite);
}
-void sub_8079670(u8 task) {
+void sub_8079670(u8 task)
+{
s16 v1 = 0;
s16 v2 = 0;
- if (gBattleAnimArgs[2] > gBattleAnimArgs[0]) {
+
+ if (gBattleAnimArgs[2] > gBattleAnimArgs[0])
v2 = 1;
- }
- if (gBattleAnimArgs[2] < gBattleAnimArgs[0]) {
+ if (gBattleAnimArgs[2] < gBattleAnimArgs[0])
v2 = -1;
- }
- if (gBattleAnimArgs[3] > gBattleAnimArgs[1]) {
+ if (gBattleAnimArgs[3] > gBattleAnimArgs[1])
v1 = 1;
- }
- if (gBattleAnimArgs[3] < gBattleAnimArgs[1]) {
+ if (gBattleAnimArgs[3] < gBattleAnimArgs[1])
v1 = -1;
- }
+
gTasks[task].data[0] = 0;
gTasks[task].data[1] = gBattleAnimArgs[4];
gTasks[task].data[2] = 0;
@@ -1344,30 +1530,38 @@ void sub_8079670(u8 task) {
gTasks[task].func = sub_80796F8;
}
-void sub_80796F8(u8 taskId) {
+void sub_80796F8(u8 taskId)
+{
struct Task *task = &gTasks[taskId];
- if (++task->data[0] > task->data[1]) {
+
+ if (++task->data[0] > task->data[1])
+ {
task->data[0] = 0;
- if (++task->data[2] & 1) {
- if (task->data[3] != task->data[7]) {
+ if (++task->data[2] & 1)
+ {
+ if (task->data[3] != task->data[7])
task->data[3] += task->data[5];
- }
- } else {
- if (task->data[4] != task->data[8]) {
+ }
+ else
+ {
+ if (task->data[4] != task->data[8])
task->data[4] += task->data[6];
- }
}
REG_BLDALPHA = (task->data[4] << 8) | task->data[3];
- if (task->data[3] == task->data[7] && task->data[4] == task->data[8]) {
+ if (task->data[3] == task->data[7] && task->data[4] == task->data[8])
+ {
DestroyAnimVisualTask(taskId);
return;
}
}
}
-void sub_8079790(u8 task) {
+void sub_8079790(u8 task)
+{
u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
- if (sprite == 0xff) {
+
+ if (sprite == 0xff)
+ {
DestroyAnimVisualTask(task);
return;
}
@@ -1375,7 +1569,8 @@ void sub_8079790(u8 task) {
sub_80797EC(&gTasks[task]);
}
-void sub_80797EC(struct Task *task) {
+void sub_80797EC(struct Task *task)
+{
task->data[1] = gBattleAnimArgs[1];
task->data[2] = 0;
task->data[3] = gBattleAnimArgs[2];
@@ -1386,24 +1581,33 @@ void sub_80797EC(struct Task *task) {
task->func = sub_8079814;
}
-void sub_8079814(u8 taskId) {
+void sub_8079814(u8 taskId)
+{
struct Task *task = &gTasks[taskId];
- if (++task->data[4] >= task->data[5]) {
+
+ if (++task->data[4] >= task->data[5])
+ {
task->data[4] = 0;
- if (!task->data[6]) {
+ if (!task->data[6])
+ {
task->data[2]++;
BlendPalette(task->data[0], 0xf, task->data[2], task->data[1]);
- if (task->data[2] == task->data[3]) {
+ if (task->data[2] == task->data[3])
task->data[6] = 1;
- }
- } else {
+ }
+ else
+ {
task->data[2]--;
BlendPalette(task->data[0], 0xf, task->data[2], task->data[1]);
- if (!task->data[2]) {
- if (--task->data[7]) {
+ if (!task->data[2])
+ {
+ if (--task->data[7])
+ {
task->data[4] = 0;
task->data[6] = 0;
- } else {
+ }
+ else
+ {
DestroyAnimVisualTask(taskId);
return;
}
@@ -1412,9 +1616,12 @@ void sub_8079814(u8 taskId) {
}
}
-void sub_80798AC(u8 task) {
+void sub_80798AC(u8 task)
+{
u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
- if (palette == 0xff) {
+
+ if (palette == 0xff)
+ {
DestroyAnimVisualTask(task);
return;
}
@@ -1422,7 +1629,8 @@ void sub_80798AC(u8 task) {
sub_80797EC(&gTasks[task]);
}
-void sub_80798F4(struct Task *task, u8 a2, const void *a3) {
+void sub_80798F4(struct Task *task, u8 a2, const void *a3)
+{
task->data[7] = 0;
task->data[8] = 0;
task->data[9] = 0;
@@ -1434,11 +1642,14 @@ void sub_80798F4(struct Task *task, u8 a2, const void *a3) {
sub_8078E70(a2, 0);
}
-bool8 sub_807992C(struct Task *task) {
+bool8 sub_807992C(struct Task *task)
+{
gUnknown_0202F7D4 = sub_8079BFC(task->data[13], task->data[14]) + (task->data[7] << 3);
- switch (gUnknown_0202F7D4->type) {
+ switch (gUnknown_0202F7D4->type)
+ {
default:
- if (!gUnknown_0202F7D4->frame.duration) {
+ if (!gUnknown_0202F7D4->frame.duration)
+ {
task->data[10] = gUnknown_0202F7D4->frame.xScale;
task->data[11] = gUnknown_0202F7D4->frame.yScale;
task->data[12] = gUnknown_0202F7D4->frame.rotation;
@@ -1450,44 +1661,49 @@ bool8 sub_807992C(struct Task *task) {
task->data[12] += gUnknown_0202F7D4->frame.rotation;
obj_id_set_rotscale(task->data[15], task->data[10], task->data[11], task->data[12]);
sub_8079A64(task->data[15]);
- if (++task->data[8] >= gUnknown_0202F7D4->frame.duration) {
+ if (++task->data[8] >= gUnknown_0202F7D4->frame.duration)
+ {
task->data[8] = 0;
task->data[7]++;
}
break;
-
case AFFINEANIMCMDTYPE_JUMP:
task->data[7] = gUnknown_0202F7D4->jump.target;
break;
-
case AFFINEANIMCMDTYPE_LOOP:
- if (gUnknown_0202F7D4->loop.count) {
- if (task->data[9]) {
- if (!--task->data[9]) {
+ if (gUnknown_0202F7D4->loop.count)
+ {
+ if (task->data[9])
+ {
+ if (!--task->data[9])
+ {
task->data[7]++;
break;
}
- } else {
+ }
+ else
+ {
task->data[9] = gUnknown_0202F7D4->loop.count;
}
- if (!task->data[7]) {
+ if (!task->data[7])
+ {
break;
}
- for (;;) {
+ for (;;)
+ {
task->data[7]--;
gUnknown_0202F7D4--;
- if (gUnknown_0202F7D4->type == AFFINEANIMCMDTYPE_LOOP) {
+ if (gUnknown_0202F7D4->type == AFFINEANIMCMDTYPE_LOOP)
+ {
task->data[7]++;
return TRUE;
}
- if (!task->data[7]) {
+ if (!task->data[7])
return TRUE;
- }
}
}
task->data[7]++;
break;
-
case 0x7fff:
gSprites[task->data[15]].pos2.y = 0;
sub_8078F40(task->data[15]);
@@ -1497,52 +1713,62 @@ bool8 sub_807992C(struct Task *task) {
return TRUE;
}
-void sub_8079A64(u8 sprite) {
+void sub_8079A64(u8 sprite)
+{
int var = 0x40 - sub_8079B10(sprite) * 2;
u16 matrix = gSprites[sprite].oam.matrixNum;
int var2 = (var << 8) / gOamMatrices[matrix].d;
- if (var2 > 0x80) {
+
+ if (var2 > 0x80)
var2 = 0x80;
- }
gSprites[sprite].pos2.y = (var - var2) / 2;
}
-void sub_8079AB8(u8 sprite, u8 sprite2) {
+void sub_8079AB8(u8 sprite, u8 sprite2)
+{
int var = 0x40 - sub_8079B10(sprite2) * 2;
u16 matrix = gSprites[sprite].oam.matrixNum;
int var2 = (var << 8) / gOamMatrices[matrix].d;
- if (var2 > 0x80) {
+
+ if (var2 > 0x80)
var2 = 0x80;
- }
gSprites[sprite].pos2.y = (var - var2) / 2;
}
-u16 sub_8079B10(u8 sprite) {
+u16 sub_8079B10(u8 sprite)
+{
struct TransformStatus *transform;
u8 slot = gSprites[sprite].data[0];
u16 species;
u16 i;
- for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) {
- if (gBattleMonSprites[i] == sprite) {
- if (IsContest()) {
- species = ewram19348.unk0;
+
+ for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++)
+ {
+ if (gBattleMonSprites[i] == sprite)
+ {
+ if (IsContest())
+ {
+ species = shared19348.unk0;
return gMonBackPicCoords[species].y_offset;
- } else {
- if (!GetBankSide(i)) {
+ }
+ else
+ {
+ if (!GetBankSide(i))
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
return gMonBackPicCoords[species].y_offset;
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
return gMonFrontPicCoords[species].y_offset;
}
}
@@ -1551,19 +1777,22 @@ u16 sub_8079B10(u8 sprite) {
return 0x40;
}
-void sub_8079BF4(s16 *bottom, s16 *top, const void *ptr) {
+void sub_8079BF4(s16 *bottom, s16 *top, const void *ptr)
+{
*bottom = ((intptr_t) ptr) & 0xffff;
*top = (((intptr_t) ptr) >> 16) & 0xffff;
}
-void *sub_8079BFC(s16 bottom, s16 top) {
+void *sub_8079BFC(s16 bottom, s16 top)
+{
return (void *)((u16)bottom | ((u16)top << 16));
}
// possible new file
-void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7) {
+void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7)
+{
task->data[8] = a7;
task->data[15] = a2; // spriteId
task->data[9] = a3;
@@ -1574,124 +1803,133 @@ void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a
task->data[12] = (a6 - a4) / a7;
}
-u8 sub_8079C74(struct Task *task) {
- if (!task->data[8]) {
+u8 sub_8079C74(struct Task *task)
+{
+ if (!task->data[8])
return 0;
- }
- if (--task->data[8]) {
+
+ if (--task->data[8] != 0)
+ {
task->data[9] += task->data[11];
task->data[10] += task->data[12];
- } else {
+ }
+ else
+ {
task->data[9] = task->data[13];
task->data[10] = task->data[14];
}
obj_id_set_rotscale(task->data[15], task->data[9], task->data[10], 0);
- if (task->data[8]) {
+ if (task->data[8])
sub_8079A64(task->data[15]);
- } else {
+ else
gSprites[task->data[15]].pos2.y = 0;
- }
return task->data[8];
}
-void sub_8079CEC(u8 task) {
+void sub_8079CEC(u8 task)
+{
u16 v1;
- if (gAnimFriendship <= 30) {
+
+ if (gAnimFriendship <= 30)
v1 = 0;
- } else if (gAnimFriendship <= 100) {
+ else if (gAnimFriendship <= 100)
v1 = 1;
- } else if (gAnimFriendship <= 200) {
+ else if (gAnimFriendship <= 200)
v1 = 2;
- } else {
+ else
v1 = 3;
- }
gBattleAnimArgs[7] = v1;
DestroyAnimVisualTask(task);
}
-void unref_sub_8079D20(u8 priority) {
- if (IsAnimBankSpriteVisible(gAnimBankTarget)) {
+void unref_sub_8079D20(u8 priority)
+{
+ if (IsAnimBankSpriteVisible(gAnimBankTarget))
gSprites[gBattleMonSprites[gAnimBankTarget]].oam.priority = priority;
- }
- if (IsAnimBankSpriteVisible(gAnimBankAttacker)) {
+ if (IsAnimBankSpriteVisible(gAnimBankAttacker))
gSprites[gBattleMonSprites[gAnimBankAttacker]].oam.priority = priority;
- }
- if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) {
+ if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2))
gSprites[gBattleMonSprites[gAnimBankTarget ^ 2]].oam.priority = priority;
- }
- if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) {
+ if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
gSprites[gBattleMonSprites[gAnimBankAttacker ^ 2]].oam.priority = priority;
- }
}
-void sub_8079E24() {
+void sub_8079E24()
+{
int i;
- for (i = 0; i < gNoOfAllBanks; i++) {
- if (IsAnimBankSpriteVisible(i)) {
+
+ for (i = 0; i < gNoOfAllBanks; i++)
+ {
+ if (IsAnimBankSpriteVisible(i))
+ {
gSprites[gBattleMonSprites[i]].subpriority = sub_8079E90(i);
gSprites[gBattleMonSprites[i]].oam.priority = 2;
}
}
}
-u8 sub_8079E90(u8 slot) {
+u8 sub_8079E90(u8 slot)
+{
u8 status;
u8 ret;
- if (IsContest()) {
- if (slot == 2) {
+
+ if (IsContest())
+ {
+ if (slot == 2)
return 30;
- } else {
+ else
return 40;
- }
- } else {
+ }
+ else
+ {
status = GetBankIdentity(slot);
- if (status == 0) {
+ if (status == 0)
ret = 30;
- } else if (status == 2) {
+ else if (status == 2)
ret = 20;
- } else if (status == 1) {
+ else if (status == 1)
ret = 40;
- } else {
+ else
ret = 50;
- }
}
return ret;
}
-u8 sub_8079ED4(u8 slot) {
+u8 sub_8079ED4(u8 slot)
+{
u8 status = GetBankIdentity(slot);
- if (IsContest()) {
+
+ if (IsContest())
return 2;
- }
- if (status == 0 || status == 3) {
+ if (status == 0 || status == 3)
return BG2CNT.priority;
- } else {
+ else
return BG1CNT.priority;
- }
}
-u8 GetBankIdentity_permutated(u8 slot) {
+u8 GetBankIdentity_permutated(u8 slot)
+{
u8 status;
- if (!IsContest()) {
+
+ if (!IsContest())
+ {
status = GetBankIdentity(slot);
- if (status == 0 || status == 3) {
+ if (status == 0 || status == 3)
return 2;
- } else {
+ else
return 1;
- }
}
return 1;
}
-u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8) {
- void *src;
- void *dest;
- int size;
-
+u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8)
+{
u8 sprite;
u16 sheet = LoadSpriteSheet(&gUnknown_0837F5E0[a3]);
u16 palette = AllocSpritePalette(gSpriteTemplate_837F5B0[a3].paletteTag);
- if (!isBackpic) {
+
+ if (!isBackpic)
+ {
LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
LoadSpecialPokePic(
&gMonFrontPicTable[species],
@@ -1703,9 +1941,10 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
a7,
1
);
- } else {
- LoadCompressedPalette(
- GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
+ }
+ else
+ {
+ LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
LoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -1718,28 +1957,28 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
);
}
- src = (void *)0x2000000;
- dest = (void *)(0x6010000 + (sheet * 0x20));
- size = 0x800;
- DmaCopy32(3, src, dest, size);
+ DmaCopy32Defvars(3, (void *)0x2000000, (void *)(VRAM + 0x10000 + (sheet * 0x20)), 0x800);
- if (!isBackpic) {
+ if (!isBackpic)
sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonFrontPicCoords[species].y_offset, a6);
- } else {
+ else
sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonBackPicCoords[species].y_offset, a6);
- }
- if (IsContest()) {
+
+ if (IsContest())
+ {
gSprites[sprite].affineAnims = gSpriteAffineAnimTable_81E7C18;
StartSpriteAffineAnim(&gSprites[sprite], 0);
}
return sprite;
}
-void sub_807A0F4(struct Sprite *sprite) {
+void sub_807A0F4(struct Sprite *sprite)
+{
DestroySpriteAndFreeResources(sprite);
}
-int sub_807A100(u8 slot, u8 a2) {
+int sub_807A100(u8 slot, u8 a2)
+{
u16 species;
u32 personality;
u16 letter;
@@ -1747,80 +1986,113 @@ int sub_807A100(u8 slot, u8 a2) {
int ret;
const struct MonCoords *coords;
struct TransformStatus *transform;
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- species = ewram19348.unk2;
- personality = ewram19348.unk10;
- } else {
- species = ewram19348.unk0;
- personality = ewram19348.unk8;
+
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ {
+ species = shared19348.unk2;
+ personality = shared19348.unk10;
+ }
+ else
+ {
+ species = shared19348.unk0;
+ personality = shared19348.unk8;
}
- if (species == SPECIES_UNOWN) {
+ if (species == SPECIES_UNOWN)
+ {
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = SPECIES_UNOWN;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
coords = &gMonBackPicCoords[var];
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
coords = &gCastformFrontSpriteCoords[gBattleMonForms[slot]];
- } else if (species <= SPECIES_EGG) {
+ }
+ else if (species <= SPECIES_EGG)
+ {
coords = &gMonBackPicCoords[species];
- } else {
+ }
+ else
+ {
coords = &gMonBackPicCoords[0];
}
- } else {
- if (!GetBankSide(slot)) {
+ }
+ else
+ {
+ if (!GetBankSide(slot))
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
+ {
species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ }
+ else
+ {
species = transform->species;
personality = gTransformPersonalities[slot];
}
- if (species == SPECIES_UNOWN) {
+ if (species == SPECIES_UNOWN)
+ {
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = SPECIES_UNOWN;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
coords = &gMonBackPicCoords[var];
- } else if (species > SPECIES_EGG) {
+ }
+ else if (species > SPECIES_EGG)
+ {
coords = &gMonBackPicCoords[0];
- } else {
+ }
+ else
+ {
coords = &gMonBackPicCoords[species];
}
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
+ {
species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ }
+ else
+ {
species = transform->species;
personality = gTransformPersonalities[slot];
}
- if (species == SPECIES_UNOWN) {
+ if (species == SPECIES_UNOWN)
+ {
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = SPECIES_UNOWN;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
coords = &gMonFrontPicCoords[var];
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
coords = &gCastformFrontSpriteCoords[gBattleMonForms[slot]];
- } else if (species > SPECIES_EGG) {
+ }
+ else if (species > SPECIES_EGG)
+ {
coords = &gMonFrontPicCoords[0];
- } else {
+ }
+ else
+ {
coords = &gMonFrontPicCoords[species];
}
}
}
- switch (a2) {
+ switch (a2)
+ {
case 0:
return (coords->coords & 0xf) * 8;
case 1:
@@ -1841,23 +2113,31 @@ int sub_807A100(u8 slot, u8 a2) {
}
}
-void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) {
+void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4)
+{
u8 v1, v2;
s16 v3, v4;
s16 v5, v6;
- if (!a2) {
+
+ if (!a2)
+ {
v1 = 0;
v2 = 1;
- } else {
+ }
+ else
+ {
v1 = 2;
v2 = 3;
}
v3 = GetBankPosition(slot, v1);
v4 = GetBankPosition(slot, v2);
- if (IsDoubleBattle() && !IsContest()) {
+ if (IsDoubleBattle() && !IsContest())
+ {
v5 = GetBankPosition(slot ^ 2, v1);
v6 = GetBankPosition(slot ^ 2, v2);
- } else {
+ }
+ else
+ {
v5 = v3;
v6 = v4;
}
@@ -1865,7 +2145,8 @@ void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) {
*a4 = (v4 + v6) / 2;
}
-u8 sub_807A4A0(int a1, u8 sprite, int a3) {
+u8 sub_807A4A0(int a1, u8 sprite, int a3)
+{
u8 new_sprite = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
gSprites[new_sprite] = gSprites[sprite];
gSprites[new_sprite].usingSheet = TRUE;
@@ -1876,13 +2157,17 @@ u8 sub_807A4A0(int a1, u8 sprite, int a3) {
return new_sprite;
}
-void sub_807A544(struct Sprite *sprite) {
+void sub_807A544(struct Sprite *sprite)
+{
sub_8078650(sprite);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
+ {
sprite->pos1.x -= gBattleAnimArgs[0];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
sprite->hFlip = TRUE;
- } else {
+ }
+ else
+ {
sprite->pos1.x += gBattleAnimArgs[0];
}
sprite->pos1.y += gBattleAnimArgs[1];
@@ -1894,11 +2179,15 @@ void sub_807A544(struct Sprite *sprite) {
sprite->callback = sub_8078504;
}
-void sub_807A5C4(struct Sprite *sprite) {
- if (GetBankSide(gAnimBankAttacker)) {
+void sub_807A5C4(struct Sprite *sprite)
+{
+ if (GetBankSide(gAnimBankAttacker))
+ {
sprite->pos1.x -= gBattleAnimArgs[0];
gBattleAnimArgs[3] *= -1;
- } else {
+ }
+ else
+ {
sprite->pos1.x += gBattleAnimArgs[0];
}
sprite->pos1.y += gBattleAnimArgs[1];
@@ -1911,19 +2200,20 @@ void sub_807A5C4(struct Sprite *sprite) {
sprite->callback = sub_8078504;
}
-void sub_807A63C(struct Sprite *sprite) {
+void sub_807A63C(struct Sprite *sprite)
+{
sub_8078650(sprite);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
sprite->pos1.x -= gBattleAnimArgs[0];
- } else {
+ else
sprite->pos1.x += gBattleAnimArgs[0];
- }
sprite->pos1.y += gBattleAnimArgs[1];
sprite->callback = sub_8078600;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-void sub_807A69C(u8 taskId) {
+void sub_807A69C(u8 taskId)
+{
u16 src;
u16 dest;
struct Task *task = &gTasks[taskId];
@@ -1938,23 +2228,25 @@ void sub_807A69C(u8 taskId) {
dest = (task->data[4] + 0x10) * 0x10;
src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10;
task->data[6] = sub_8079E90(gAnimBankAttacker);
- if (task->data[6] == 20 || task->data[6] == 40) {
+ if (task->data[6] == 20 || task->data[6] == 40)
task->data[6] = 2;
- } else {
+ else
task->data[6] = 3;
- }
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
BlendPalette(dest, 0x10, gBattleAnimArgs[1], gBattleAnimArgs[0]);
task->func = sub_807A784;
}
-void sub_807A784(u8 taskId) {
+void sub_807A784(u8 taskId)
+{
struct Task *task = &gTasks[taskId];
- switch (task->data[2]) {
+ switch (task->data[2])
+ {
case 0:
sub_807A850(task, taskId);
gSprites[task->data[0]].pos2.x += task->data[1];
- if (++task->data[3] == 5) {
+ if (++task->data[3] == 5)
+ {
task->data[3]--;
task->data[2]++;
}
@@ -1962,13 +2254,15 @@ void sub_807A784(u8 taskId) {
case 1:
sub_807A850(task, taskId);
gSprites[task->data[0]].pos2.x -= task->data[1];
- if (--task->data[3] == 0) {
+ if (--task->data[3] == 0)
+ {
gSprites[task->data[0]].pos2.x = 0;
task->data[2]++;
}
break;
case 2:
- if (!task->data[5]) {
+ if (!task->data[5])
+ {
FreeSpritePaletteByTag(10097);
DestroyAnimVisualTask(taskId);
}
@@ -1976,9 +2270,11 @@ void sub_807A784(u8 taskId) {
}
}
-void sub_807A850(struct Task *task, u8 taskId) {
+void sub_807A850(struct Task *task, u8 taskId)
+{
s16 sprite = duplicate_obj_of_side_rel2move_in_transparent_mode(0);
- if (sprite >= 0) {
+ if (sprite >= 0)
+ {
gSprites[sprite].oam.priority = task->data[6];
gSprites[sprite].oam.paletteNum = task->data[4];
gSprites[sprite].data[0] = 8;
@@ -1990,8 +2286,10 @@ void sub_807A850(struct Task *task, u8 taskId) {
}
}
-void sub_807A8D4(struct Sprite *sprite) {
- if (--sprite->data[0] == 0) {
+void sub_807A8D4(struct Sprite *sprite)
+{
+ if (--sprite->data[0] == 0)
+ {
gTasks[sprite->data[1]].data[5]--;
obj_delete_but_dont_free_vram(sprite);
}
@@ -2000,38 +2298,40 @@ void sub_807A8D4(struct Sprite *sprite) {
void sub_807A908(struct Sprite *sprite) {
sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
- if (!GetBankSide(gAnimBankAttacker)) {
+ if (!GetBankSide(gAnimBankAttacker))
sprite->data[0] = 5;
- } else {
+ else
sprite->data[0] = -10;
- }
sprite->data[1] = -40;
sprite->callback = sub_807A960;
}
-void sub_807A960(struct Sprite *sprite) {
+void sub_807A960(struct Sprite *sprite)
+{
sprite->data[2] += sprite->data[0];
sprite->data[3] += sprite->data[1];
sprite->pos2.x = sprite->data[2] / 10;
sprite->pos2.y = sprite->data[3] / 10;
- if (sprite->data[1] < -20) {
+ if (sprite->data[1] < -20)
sprite->data[1]++;
- }
- if ((sprite->pos1.y + sprite->pos2.y) < -32) {
+ if (sprite->pos1.y + sprite->pos2.y < -32)
DestroyAnimSprite(sprite);
- }
}
-void sub_807A9BC(struct Sprite *sprite) {
+void sub_807A9BC(struct Sprite *sprite)
+{
int x;
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4];
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5];
- if (!GetBankSide(gAnimBankTarget)) {
+ if (!GetBankSide(gAnimBankTarget))
+ {
x = (u16)gBattleAnimArgs[4] + 30;
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 20;
- } else {
+ }
+ else
+ {
x = (u16)gBattleAnimArgs[4] - 30;
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 80;