From 2b139c215f478ef5deca007dfa6f9b6052db3d1d Mon Sep 17 00:00:00 2001 From: mckinlee Date: Mon, 5 Jan 2026 20:52:39 -0500 Subject: [Rando] Clock Shuffle + Logic (#1275) * Add Clocks as Items feature * refactor * some clean up * forgot to clangify * use proper randoinf flags and some fixes * proper skipsotcutscene fix * Animated Clock Item (Thank you Caladius!) * Close attempt at animating the clock, not perfect but a good start. * Git gud Clock * fix clock item get crash Co-Authored-By: Caladius * some enhancements * logic refactor, minor changes, and new enhancements * huge rework * clang * fix a oops; any day, not current day * housekeeping and starting items menu support * splits up some milkroad regions and fixes a audio bug * i suck at merging * feedback update * scarecrow dance fix * add clocks to new item tracker * day 2 bean patches * add time logic to enemy drops and simplify day 2 bean macro * rebrand to "Shuffle Time" * more eblo feedback * some more feedback * rename feedback * pauseSaveEntrance fix * fix take 2 * Time Shuffle cleanup Fix pause save Time Shuffle bug Fix event queue daytelop bug Finish merge commit header include Clean up with shouldRegister Co-authored-by: mckinlee --------- Co-authored-by: Caladius Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com> --- mm/src/code/z_message.c | 8 ++++++-- mm/src/code/z_message_nes.c | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'mm/src/code') diff --git a/mm/src/code/z_message.c b/mm/src/code/z_message.c index 0be1e96e8..af383621c 100644 --- a/mm/src/code/z_message.c +++ b/mm/src/code/z_message.c @@ -2203,7 +2203,9 @@ void Message_LoadTime(PlayState* play, u16 curChar, s32* offset, f32* arg3, s16* f32 timeInMinutes; if (curChar == 0x20F) { - dayTime = TIME_UNTIL_MOON_CRASH; + if (GameInteractor_Should(VB_TIME_UNTIL_MOON_CRASH_CALCULATION, true, &dayTime)) { + dayTime = TIME_UNTIL_MOON_CRASH; + } } else { dayTime = TIME_UNTIL_NEW_DAY; } @@ -2952,7 +2954,9 @@ void Message_Decode(PlayState* play) { decodedBufPos++; msgCtx->decodedBuffer.wchar[decodedBufPos] = 0x2000; } else if (curChar == 0x237) { - timeToMoonCrash = TIME_UNTIL_MOON_CRASH; + if (GameInteractor_Should(VB_TIME_UNTIL_MOON_CRASH_CALCULATION, true, &timeToMoonCrash)) { + timeToMoonCrash = TIME_UNTIL_MOON_CRASH; + } digits[0] = 0; digits[1] = TIME_TO_HOURS_F_ALT(timeToMoonCrash); diff --git a/mm/src/code/z_message_nes.c b/mm/src/code/z_message_nes.c index 79f6e7477..ec8b8d0b7 100644 --- a/mm/src/code/z_message_nes.c +++ b/mm/src/code/z_message_nes.c @@ -204,7 +204,9 @@ void Message_LoadTimeNES(PlayState* play, u8 curChar, s32* offset, f32* arg3, s1 s16 i; if (curChar == MESSAGE_TIME_UNTIL_MOON_CRASH) { - timeLeft = TIME_UNTIL_MOON_CRASH; + if (GameInteractor_Should(VB_TIME_UNTIL_MOON_CRASH_CALCULATION, true, &timeLeft)) { + timeLeft = TIME_UNTIL_MOON_CRASH; + } } else { timeLeft = TIME_UNTIL_NEW_DAY; } @@ -1714,7 +1716,9 @@ void Message_DecodeNES(PlayState* play) { msgCtx->decodedBuffer.schar[decodedBufPos] = 0; } else if (curChar == MESSAGE_HOURS_UNTIL_MOON_CRASH) { - timeToMoonCrash = TIME_UNTIL_MOON_CRASH; + if (GameInteractor_Should(VB_TIME_UNTIL_MOON_CRASH_CALCULATION, true, &timeToMoonCrash)) { + timeToMoonCrash = TIME_UNTIL_MOON_CRASH; + } digits[0] = 0; digits[1] = TIME_TO_HOURS_F_ALT(timeToMoonCrash); -- cgit v1.2.3