Skip to content

Commit 0d8b3e1

Browse files
committed
Show initial tinymt state while tools move
1 parent 40e02eb commit 0d8b3e1

3 files changed

Lines changed: 27 additions & 2 deletions

File tree

reader_core/src/gen6/draw.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,23 @@ pub use crate::draw::{draw_header, draw_pkx};
1313
pub fn draw_tinymt(reader: &Gen6Reader, rng: &Gen6Rng) {
1414
let tinymt = rng.tinymt();
1515
let tinymt_state = tinymt.current_state();
16+
let tinymt_init_state = tinymt.rng().initial_state();
1617
let tinymt_seed = reader.tinymt_seed();
1718

18-
pnp::println!("TinyMT seed: {:08X}", tinymt_seed);
19+
pnp::println!("Tiny u32 seed: {:08X}", tinymt_seed);
1920
pnp::println!("Advances: {}", tinymt.advances());
21+
pnp::println!("");
22+
pnp::println!("TinyMT seed:");
23+
pnp::println!(
24+
"[3]{:08X} [2]{:08X}",
25+
tinymt_init_state[3],
26+
tinymt_init_state[2]
27+
);
28+
pnp::println!(
29+
"[1]{:08X} [0]{:08X}",
30+
tinymt_init_state[1],
31+
tinymt_init_state[0]
32+
);
2033
pnp::println!("TinyMT state:");
2134
pnp::println!("[3]{:08X} [2]{:08X}", tinymt_state[3], tinymt_state[2]);
2235
pnp::println!("[1]{:08X} [0]{:08X}", tinymt_state[1], tinymt_state[0]);

reader_core/src/rng/rng_wrapper.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ impl<T: rng::Rng + Copy> RngWrapper<T> {
5555
}
5656
}
5757
}
58+
59+
pub fn rng(&self) -> &T {
60+
&self.rng
61+
}
5862
}
5963

6064
#[cfg(test)]

reader_core/src/rng/tiny_mt.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use crate::rng::Rng;
22

33
#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
44
pub struct TinyMT {
5+
initial_state: [u32; 4],
56
state: [u32; 4],
67
}
78

@@ -15,7 +16,10 @@ impl TinyMT {
1516
.wrapping_add(i as u32);
1617
}
1718

18-
let mut rng = Self { state };
19+
let mut rng = Self {
20+
state,
21+
initial_state: state,
22+
};
1923

2024
for _ in 0..8 {
2125
rng.next_state();
@@ -40,6 +44,10 @@ impl TinyMT {
4044
fn get_state(&self) -> [u32; 4] {
4145
self.state
4246
}
47+
48+
pub fn initial_state(&self) -> &[u32; 4] {
49+
&self.initial_state
50+
}
4351
}
4452

4553
impl Rng for TinyMT {

0 commit comments

Comments
 (0)