Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Settings: Allow user to manually set RTC per-game #12208

Merged
merged 1 commit into from
Jan 22, 2025

Conversation

TheTechnician27
Copy link
Contributor

Description of Changes

Allows the user the option to manually input a date and time for the PlayStation 2's real-time clock rather than 2020-04-03 00:00:00 for input recording and the OS' system clock otherwise. Only works if the BIOS is set to a region which is GMT+0 and DST is Summer Time (which is the default PCSX2 uses).

Rationale behind Changes

Multiple games have mechanics that play with the real-time clock.

  • Tool-assisted speedrunners may want the ability to designate an arbitrary start date and time for RNG purposes.
  • Some games make use of the date for an in-game event, such as Scooby-Doo! Night of 100 Frights' multiple holidays.
  • Some games make use of the advancement of real time for an in-game event, such as The End's boss fight in Metal Gear Solid 3.
  • Some games make use of the time for an in-game event, for example Ratchet 2 and 3 which have a teleporter to the Insomniac Museum in the dead of night.
  • Because we can.
  • Closes [Feature Request] System time and date fetching #4491.

Suggested Testing Steps

  • Make sure you can't access this from the global settings, only per-game.
  • Make sure this setting persists with reboots.
  • Make sure you can't go beyond the bounds of 2000-01-01 and 2099-12-31.
  • Make sure (using aforementioned BIOS defaults) that the date and time in games corresponds to the time you set on the clock. (I've tested this in the BIOS to confirm minutes and seconds work, but you might not be able to get that granular.)
  • Make sure the tool tips are free of typos and adequately convey the information.

Screenshots

Tested on 2005-03-09 03:04:05
DreadZone Station
Insomniac Museum

Copy link
Member

@GovanifY GovanifY left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick check, been a while since I have done a review on the emulator, so feel free to correct me if I'm being a dumbass :)

pcsx2-qt/SettingWidgetBinder.h Outdated Show resolved Hide resolved
pcsx2-qt/SettingWidgetBinder.h Show resolved Hide resolved
pcsx2/Pcsx2Config.cpp Show resolved Hide resolved
@TheTechnician27 TheTechnician27 force-pushed the customtime branch 2 times, most recently from dff774b to 7a723f3 Compare January 18, 2025 23:09
Copy link
Contributor

@Mrlinkwii Mrlinkwii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good from functionality point of view

Copy link
Contributor

@kamfretoz kamfretoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on macOS, works.

@GovanifY GovanifY merged commit d350408 into PCSX2:master Jan 22, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request] System time and date fetching
6 participants