summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-07-28 19:24:11 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-07-28 19:24:11 +0200
commit3d0adf41579297b670238259f1b73046267a68be (patch)
tree91a150a7a2789d8a0200d44cd48dfa881034bd94
parente453ffa7bbe153a42807e2e8d336df77f08f0cc0 (diff)
Unreferenced move merger
-rw-r--r--include/battle.h4
-rw-r--r--src/battle_3.c39
2 files changed, 41 insertions, 2 deletions
diff --git a/include/battle.h b/include/battle.h
index 0f1a5f26b..d68c8280e 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -106,6 +106,7 @@
#define SIDE_STATUS_REFLECT (1 << 0)
#define SIDE_STATUS_LIGHTSCREEN (1 << 1)
+#define SIDE_STATUS_X4 (1 << 2)
#define SIDE_STATUS_SPIKES (1 << 4)
#define SIDE_STATUS_SAFEGUARD (1 << 5)
#define SIDE_STATUS_FUTUREATTACK (1 << 6)
@@ -614,8 +615,7 @@ struct sideTimer
u8 lightscreenTimer; //0x1
u8 mistTimer; //0x2
u8 field3; //0x3
- u8 field4; //0x4
- u8 field5; //0x5
+ u16 field4; //0x4
u8 spikesAmount; //0x6
u8 safeguardTimer; //0x7
u8 followmeTimer; //0x8
diff --git a/src/battle_3.c b/src/battle_3.c
index d86b11fb9..be6460ec1 100644
--- a/src/battle_3.c
+++ b/src/battle_3.c
@@ -6353,3 +6353,42 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
return effect;
}
+
+extern const u16 gUnknown_081FC1D0[];
+
+/*
+void unref_sub_801B40C(void)
+{
+ int i = 0;
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ do
+ {
+ u8 bank = 0;
+ do
+ {
+ u8 absent = gAbsentBankFlags;
+ if (gBitTable[bank] & absent || absent & gBitTable[bank + 2])
+ bank++;
+ else
+ {
+ if (gUnknown_081FC1D0[i * 4 + 0] == gChosenMovesByBanks[bank] && gUnknown_081FC1D0[i * 4 + 1] == gChosenMovesByBanks[bank + 2])
+ {
+ gSideTimer[GetBankIdentity(bank) & 1].field3 = (bank) | ((bank + 2) << 4);
+ gSideTimer[GetBankIdentity(bank) & 1].field4 = gUnknown_081FC1D0[i * 4 + 2];
+ gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4;
+ }
+ if (gUnknown_081FC1D0[i * 4 + 0] == gChosenMovesByBanks[bank + 2] && gUnknown_081FC1D0[i * 4 + 1] == gChosenMovesByBanks[bank])
+ {
+ gSideTimer[GetBankIdentity(bank) & 1].field3 = (bank + 2) | ((bank) << 4);
+ gSideTimer[GetBankIdentity(bank) & 1].field4 = gUnknown_081FC1D0[i * 4 + 2];
+ gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4;
+ }
+ bank++;
+ }
+ } while (bank < 2);
+ i++;
+ } while (gUnknown_081FC1D0[i * 4] != 0xFFFF);
+ }
+}
+*/