use Xoshiro256PlusPlus (#668)

This commit is contained in:
Logan McNaughton 2026-02-09 12:16:10 +01:00 committed by GitHub
parent b952c45e0b
commit 55170fcca3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 7 additions and 7 deletions

View File

@ -29,7 +29,7 @@ regex = "1.11"
tokio-tungstenite = "0.28"
futures = "0.3"
socket2 = { version = "0.6", features = ["all"] }
rand = { version = "0.10", features = ["chacha"] }
rand = "0.10"
fatfs = "0.3"
semver = "1.0"
postcard = { version = "1.1", features = ["use-std"] }

View File

@ -87,8 +87,8 @@ pub fn run_game(device: &mut Device, rom_contents: Vec<u8>, game_settings: ui::g
ui::video::close(&device.ui);
}
fn set_rng() -> rand::rngs::ChaCha8Rng {
rand::rngs::ChaCha8Rng::try_from_rng(&mut rand::rngs::SysRng).unwrap()
fn set_rng() -> rand::rngs::Xoshiro256PlusPlus {
rand::rngs::Xoshiro256PlusPlus::try_from_rng(&mut rand::rngs::SysRng).unwrap()
}
fn init_rng(device: &mut Device) {
@ -100,7 +100,7 @@ fn init_rng(device: &mut Device) {
rng_seed = netplay::receive_rng(netplay);
}
}
device.rng = rand::rngs::ChaCha8Rng::seed_from_u64(rng_seed);
device.rng = rand::rngs::Xoshiro256PlusPlus::seed_from_u64(rng_seed);
}
fn swap_rom(contents: Vec<u8>) -> Option<Vec<u8>> {
@ -206,7 +206,7 @@ pub struct Device {
pub si: si::Si,
pub ri: ri::Ri,
#[serde(skip, default = "set_rng")]
pub rng: rand::rngs::ChaCha8Rng,
pub rng: rand::rngs::Xoshiro256PlusPlus,
pub vru: controller::vru::Vru,
pub transferpaks: [controller::transferpak::TransferPak; 4],
pub cheats: cheats::Cheats,

View File

@ -169,7 +169,7 @@ pub fn write_regs(device: &mut device::Device, address: u64, value: u32, mask: u
}
}
fn randomize_interrupt_time(rng: &mut rand::rngs::ChaCha8Rng) -> u64 {
fn randomize_interrupt_time(rng: &mut rand::rngs::Xoshiro256PlusPlus) -> u64 {
rng.next_u64() % 0x10
}

View File

@ -38,7 +38,7 @@ pub fn read_regs(
device.si.regs[((address & 0xFFFF) >> 2) as usize]
}
fn randomize_interrupt_time(rng: &mut rand::rngs::ChaCha8Rng) -> u64 {
fn randomize_interrupt_time(rng: &mut rand::rngs::Xoshiro256PlusPlus) -> u64 {
rng.next_u64() % 0x100
}