File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,7 +13,6 @@ const char* CosmeticMgr::PATH = "cosmetic.bin";
1313
1414/* *
1515 * @brief Constructor
16- *
1716 */
1817CosmeticMgr::CosmeticMgr () {
1918 Clear ();
@@ -58,16 +57,26 @@ void CosmeticMgr::Clear() {
5857void CosmeticMgr::Debug () {
5958 kiwi::Random r;
6059
60+ mRandomBgmFlag = true ;
6161 for (int i = 0 ; i < K_LENGTHOF (mRandomBgmMapping ); i++) {
6262 mRandomBgmMapping [i] = i;
6363 }
64-
6564 kiwi::Shuffle (mRandomBgmMapping , K_LENGTHOF (mRandomBgmMapping ));
66- mRandomBgmFlag = r.CoinFlip ();
6765
68- mRandomTimeFlag = r. CoinFlip () ;
66+ mRandomTimeFlag = true ;
6967 for (int i = 0 ; i < LENGTHOF (mRandomTimeMapping ); i++) {
70- mRandomTimeMapping [i] = static_cast <RPSysScene::ETime>(r.NextU32 (3 ));
68+ // Scene groups where changing the time of day is disallowed
69+ if (i == Sp2::Cmn::EGroupID_Fld + 1 ||
70+ i == Sp2::Cmn::EGroupID_Bwl + 1 ||
71+ i == Sp2::Cmn::EGroupID_Png + 1 ||
72+ i == Sp2::Cmn::EGroupID_Pln + 1 ||
73+ i == Sp2::Cmn::EGroupID_Glf + 1 ||
74+ i == Sp2::Cmn::EGroupID_Dgl + 1 ) {
75+ mRandomTimeMapping [i] = RPSysScene::ETime_Auto;
76+ } else {
77+ mRandomTimeMapping [i] = static_cast <RPSysScene::ETime>(
78+ r.NextU32 (RPSysScene::ETime_Night + 1 ));
79+ }
7180 }
7281}
7382
Original file line number Diff line number Diff line change 1111
1212namespace AP {
1313
14+ /* *
15+ * @brief Archipelago cosmetic manager
16+ */
1417class CosmeticMgr : public kiwi ::DynamicSingleton<CosmeticMgr>,
1518 public kiwi::IBinary<CosmeticMgr> {
1619 friend class kiwi ::DynamicSingleton<CosmeticMgr>;
Original file line number Diff line number Diff line change @@ -70,7 +70,9 @@ RPSysScene::ETime InterceptIslandTime(RPSysScene* pScene) {
7070 return pScene->getIslandTime ();
7171 }
7272
73- return CosmeticMgr::GetInstance ().GetRandomTime (group);
73+ // 'Auto' delegates to the scene
74+ RPSysScene::ETime time = CosmeticMgr::GetInstance ().GetRandomTime (group);
75+ return time != RPSysScene::ETime_Auto ? time : pScene->getIslandTime ();
7476}
7577KM_CALL (0x8026a56c , InterceptIslandTime);
7678
You can’t perform that action at this time.
0 commit comments