From: <sv...@op...> - 2024-11-01 20:51:22
|
Author: sagamusix Date: Fri Nov 1 21:51:14 2024 New Revision: 22054 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22054 Log: [Mod] Use deterministic PRNG for random sample creation in Startrekker files. This way we can have consistent playback tests. Modified: trunk/OpenMPT/soundlib/Load_mod.cpp Modified: trunk/OpenMPT/soundlib/Load_mod.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_mod.cpp Fri Nov 1 21:41:13 2024 (r22053) +++ trunk/OpenMPT/soundlib/Load_mod.cpp Fri Nov 1 21:51:14 2024 (r22054) @@ -745,6 +745,8 @@ m_nInstruments = 31; #endif + mpt::deterministic_random_device rd; + auto prng = mpt::make_prng<mpt::deterministic_fast_engine>(rd); for(SAMPLEINDEX smp = 1; smp <= m_nInstruments; smp++) { // For Startrekker AM synthesis, we need instrument envelopes. @@ -759,7 +761,7 @@ // Allow partial reads for fa.worse face.mod if(amData.ReadStructPartial(am) && !memcmp(am.am, "AM", 2) && am.waveform < 4) { - am.ConvertToMPT(Samples[smp], *ins, AccessPRNG()); + am.ConvertToMPT(Samples[smp], *ins, prng); } // This extra padding is probably present to have identical block sizes for AM and FM instruments. |