1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
Pokémon Emerald has a feature that allows you to re-set the Real Time Clock of the game. This feature is normally inaccesible, because on top of being triggered by a specific combo of keys (`B + Select + Left Arrow`), it also checks if a certain function labeled `CanResetRTC` returns a value of `TRUE`. Now, this function relies on the effect of another function, `EnableResetRTC`, which is never called anywhere in the game.
`EnableResetRTC` only gets executed by the Mystery Event script command `enableresetrtc`, but **[unlike it happens in Pokémon Ruby and Sapphire](https://github.com/pret/pokeruby/blob/master/data/debug_mystery_event_scripts.s#L273)**, Mystery Event scripting commands go completely unused in Pokémon Emerald.
So, why don't we just forget about checking for `CanResetRTC`, and simply let the Player reset the RTC if they press the right keys?
To do this, we just have to **[go to the L741 of src/title_screen.c](https://github.com/pret/pokeemerald/blob/master/src/title_screen.c#L741)** and remove the `&& CanResetRTC() == TRUE` check.
```diff
- else if (JOY_HELD(RESET_RTC_BUTTON_COMBO) == RESET_RTC_BUTTON_COMBO
- && CanResetRTC() == TRUE)
+ else if (JOY_HELD(RESET_RTC_BUTTON_COMBO) == RESET_RTC_BUTTON_COMBO)
{
FadeOutBGM(4);
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK);
SetMainCallback2(CB2_GoToResetRtcScreen);
}
```
That's it. Save, build a ROM, and press `B + Select + Left Arrow` on the title screen.
|