resetes12 / pokeemerald

Modern Emerald
63 stars 10 forks source link

"[ERROR] GBA Savedata: Savegame time offset set to 0" #34

Closed byougaichuu closed 1 month ago

byougaichuu commented 1 month ago

Hello! Huge fan of this RomHack, I have been having a blast with it for a few weeks now. I've run into a peculiar issue for which I did not find much online precedent and wanted to know if the problem was accounted for.

The romhack allows the player to change the time of the day using the clock in Littleroot Town, even if RTC is selected at the beginning of the save, which I did. I changed the time to early in the morning to evolve my Kirlia and then set it back to the time it was supposed to be originally. I now get the following error on startup with mGBA.

Error

In-game, the day-night cycle still occurs according to system time, but any time-ticking-related event has stopped happening - no more berry growth. I have tried a lot of potential fixes but without much success.

I doubt my save is salvageable at this point, but I'm curious as to what might have happened. I have not yet tried to see if the issue could be reproduced consistently.

resetes12 commented 1 month ago

"The game resets the date to 1/1/2000 when you start or reset the clock. As the game uses this date to track daily events and berry growth, timed events will not happen again until you get to "your previous date before resetting the clock".

Example: It's your 15th day in-game (counted by the RTC, so 15 real-life days). You change the clock so the date resets to day 1. You need to wait until day 16 to get time events again.

In order to fix it, 1.3.5.2 introduced a (maybe temporary?) fix. First, enable the DEBUG menu. Then, go to the wallclock in your house and hold SELECT and then press the L Button. You will hear a sound. This sound means that the in-game clock has been advanced by 10 days. Press the button combination as many times as you think you need and in-game timed events will work again. You will need to do this every time you change the clock if you want time-events again. So, if you reset your clock on day 23, you will need to press the combination 3 times."

byougaichuu commented 1 month ago

Thank you very much for taking the time to answer me, and my apologies for reporting a problem that was already accounted for. Could you tell me which piece of documentation this is from so that I do not do the same mistake again, please?

I have tried this fix and it indeed made time pass as advertised. However, even after pressing it a bunch of times I still get the same emulator error on startup. When you wrote that the fix was "maybe temporal", did you mean temporary?

resetes12 commented 1 month ago

Yes, but I meant temporary as maybe I would find a fix / solution to this problem. However, after much deliberation, I decided to leave it like that as creating a solution for this problem may require more time than I have and will only solve the problem for a small number of people (those who change the RTC). I will add a message advising not to mess with the RTC in a future update.

By the way, I skipped over the fact that you are getting an error within the emulator. I have never seen that particular error, and I have no solution to that. You might try changing from RTC to Fake RTC, but during my testing I found that it also breaks time events (that's why it's not an option in the Options menu but one in the Challenges menu at the start of the game, which can only be set once).

Maybe your savedata got corrupted somehow? Have you tried this in a different emulator just in case it's a mGBA setting or something? There's not much I can do, to be honest.

byougaichuu commented 1 month ago

Understood! Thanks for the precision, I understand that it's not worth investing time into, given that not many people do this. I have messed a lot with my save file trying to fix it before, so you're right in saying that the most likely option is that my file got corrupted in a way or another. I will give it a try with another emulator sometime, but yeah as you said, this is now largely outside of the domain of the ROM itself.

Thank you for everything!