Skip to content

Commit 4f83086

Browse files
committed
Add Island Flyover Double Blasters, Night Lights, and Two-Seater Plane items
1 parent 793486e commit 4f83086

2 files changed

Lines changed: 51 additions & 4 deletions

File tree

src/core/ItemMgr.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ void ItemMgr::Clear() {
438438
mPlnStageFlag.SetDirect(0b1); // Start with one stage
439439
mPlnDoubleBlastersFlag = false;
440440
mPlnNightLightsFlag = false;
441-
mPlnBalloonsFlag = true;
441+
mPlnBalloonsFlag = false;
442442
mPlnTwoSeaterPlaneFlag = false;
443443
}
444444

@@ -534,10 +534,10 @@ void ItemMgr::Debug() {
534534
// Air Sports
535535
mPlnTimerFlag.Randomize();
536536
mPlnStageFlag.Randomize();
537-
mPlnDoubleBlastersFlag = r.CoinFlip();
538-
mPlnNightLightsFlag = r.CoinFlip();
537+
//mPlnDoubleBlastersFlag = r.CoinFlip();
538+
//mPlnNightLightsFlag = r.CoinFlip();
539539
//mPlnBalloonsFlag = r.CoinFlip();
540-
mPlnTwoSeaterPlaneFlag = r.CoinFlip();
540+
//mPlnTwoSeaterPlaneFlag = r.CoinFlip();
541541
}
542542

543543
} // namespace AP

src/hooks/Pln/items_Pln.cpp

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,5 +74,52 @@ TRAMPOLINE_DEF(0x8042aff0, 0x8042b010) {
7474
// clang-format on
7575
}
7676

77+
/**
78+
* @brief Unlocks double blasters, night lights, two-seater plane in Island Flyover
79+
*/
80+
u32 PlnSetMisc(u32 currentField) {
81+
82+
kiwi::TBitFlag<u32> plnUnlocks = currentField;
83+
84+
if (ItemMgr::GetInstance().IsPlnDoubleBlastersUnlock()) {
85+
plnUnlocks.SetBit(2);
86+
} else {
87+
plnUnlocks.ResetBit(2);
88+
}
89+
90+
if (ItemMgr::GetInstance().IsPlnNightLightsUnlock()) {
91+
plnUnlocks.SetBit(4);
92+
} else {
93+
plnUnlocks.ResetBit(4);
94+
}
95+
96+
if (ItemMgr::GetInstance().IsPlnTwoSeaterUnlock()) {
97+
plnUnlocks.SetBit(5);
98+
} else {
99+
plnUnlocks.ResetBit(5);
100+
}
101+
102+
return plnUnlocks;
103+
}
104+
105+
/**
106+
* @brief PlnSetMisc trampoline
107+
*/
108+
TRAMPOLINE_DEF(0x804455e0, 0x804455e4) {
109+
// clang-format off
110+
TRAMPOLINE_BEGIN
111+
112+
mr r14, r6
113+
mr r3, r0
114+
bl PlnSetMisc
115+
sth r3, 0x3358(r14)
116+
mr r0, r3
117+
118+
TRAMPOLINE_END
119+
lis r4, 0x807d
120+
blr
121+
// clang-format on
122+
}
123+
77124
} // namespace Pln
78125
} // namespace AP

0 commit comments

Comments
 (0)