Added OW_USE_FAKE_RTC and OW_ALTERED_TIME_RATIO (#4910)

* Added OW_USE_FAKE_RTC, OW_ALTERED_TIME_RATIO and src/fake_rtc.c

* Changed ALTERED_TIME_RATIO to GEN_LATEST

* Changed spaces to tabs per https://github.com/rh-hideout/pokeemerald-expansion/pull/4910/files\#r1667111624
This commit is contained in:
psf
2024-07-10 11:58:01 -07:00
committed by GitHub
parent fb708b7ed3
commit e953a809ff
6 changed files with 145 additions and 12 deletions

View File

@@ -6,7 +6,6 @@
// Other settings
#define OW_POISON_DAMAGE GEN_LATEST // In Gen4, Pokémon no longer faint from Poison in the overworld. In Gen5+, they no longer take damage at all.
#define OW_TIMES_OF_DAY GEN_LATEST // Different generations have the times of day change at different times.
#define OW_DOUBLE_APPROACH_WITH_ONE_MON FALSE // If enabled, you can be spotted by two trainers at the same time even if you only have one eligible Pokémon in your party.
#define OW_HIDE_REPEAT_MAP_POPUP FALSE // If enabled, map popups will not appear if entering a map with the same Map Section Id as the last.
@@ -86,6 +85,14 @@
#define OW_POPUP_BW_TIME_MODE OW_POPUP_BW_TIME_NONE // Determines what type of time is shown.
#define OW_POPUP_BW_ALPHA_BLEND FALSE // Enables alpha blending/transparency for the pop-ups. Mainly intended to be used with the black color option.
// These generational defines only make a distinction for OW_ALTERED_TIME_RATIO
#define GEN_8_PLA GEN_LATEST + 2
//Time
#define OW_TIMES_OF_DAY GEN_LATEST // Different generations have the times of day change at different times.
#define OW_USE_FAKE_RTC FALSE // When TRUE, seconds on the in-clock will only advance once every 60 playTimeVBlanks (every 60 frames).
#define OW_ALTERED_TIME_RATIO GEN_LATEST // In GEN_8_PLA, the time in game moves forward 60 seconds for every second in the RTC. In GEN_9, it is 20 seconds. This has no effect if OW_USE_FAKE_RTC is FALSE.
// Pokémon Center
#define OW_IGNORE_EGGS_ON_HEAL GEN_LATEST // In Gen 4+, the nurse in the Pokémon Center does not heal Eggs on healing machine.

13
include/fake_rtc.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef GUARD_FAKE_RTC_UTIL_H
#define GUARD_FAKE_RTC_UTIL_H
#include "siirtc.h"
struct Time* FakeRtc_GetCurrentTime(void);
void FakeRtc_GetRawInfo(struct SiiRtcInfo *rtc);
void FakeRtc_AdvanceTimeBy(u32 hours, u32 minutes, u32 seconds);
void FakeRtc_ManuallySetTime(u32 hour, u32 minute, u32 second);
void FakeRtc_TickTimeForward(void);
u32 FakeRtc_GetSecondsRatio(void);
#endif // GUARD_FAKE_RTC_UTIL_H

View File

@@ -167,12 +167,6 @@ struct UCoords32
u32 y;
};
struct SaveBlock3
{
};
extern struct SaveBlock3 *gSaveBlock3Ptr;
struct Time
{
/*0x00*/ s16 days;
@@ -181,6 +175,16 @@ struct Time
/*0x04*/ s8 seconds;
};
struct SaveBlock3
{
#if OW_USE_FAKE_RTC
struct Time fakeRTC;
#endif
};
extern struct SaveBlock3 *gSaveBlock3Ptr;
struct Pokedex
{
/*0x00*/ u8 order;