core_timing: Allow configuring a fixed or random initial system tick value. (#7309)

* core_timing: Apply random base ticks value on startup.

* core: Maintain consistent base system ticks in TAS movies.

* frontend: Add setting to configure a fixed base system ticks value.
This commit is contained in:
Steveice10
2024-01-07 09:38:02 -08:00
committed by GitHub
parent 96aa1b3a08
commit 0165012ba4
14 changed files with 150 additions and 17 deletions

View File

@@ -74,6 +74,9 @@ public:
/// Get the init time that would override the one in the settings
u64 GetOverrideInitTime() const;
/// Get the base system ticks value that would override the one generated by core timing
s64 GetOverrideBaseTicks() const;
struct MovieMetadata {
u64 program_id;
std::string author;
@@ -168,7 +171,8 @@ private:
std::string record_movie_file;
std::string record_movie_author;
u64 init_time; // Clock init time override for RNG consistency
u64 init_time; // Clock init time override for RNG consistency
s64 base_ticks = -1; // Core timing base system ticks override for RNG consistency
std::vector<u8> recorded_input;
std::size_t current_byte = 0;