1mod sm64;
2pub use sm64::{SM64GameGenerator, SM64Game, GamePad, GameState, RandomConfig};
3pub mod buttons;
4
5
6#[cfg(test)]
7mod tests {
8 use wasmtime::Error;
9 use crate::{SM64GameGenerator, buttons, GamePad};
10 #[test]
11 fn main() -> Result<(), Error> {
12 let game_gen = SM64GameGenerator::new("../baserom.us.z64")?;
14
15
16 let mut game = game_gen.create_game()?;
17
18 let mut i = 0;
19 while i < 2000 {
20
21 let mut button: u16 = 0;
22 let stick_x: i8 = 0;
23 let mut stick_y: i8 = 0;
24
25 if (150 < i && i < 160) || (200 < i && i < 300) {
26 button = buttons::START_BUTTON;
27 }
28
29 if i > 300 {
30 stick_y = 80;
31 }
32
33 if i % 2 == 0 {
34 button = buttons::A_BUTTON;
35 }
36
37 let pad = GamePad::new(button, stick_x, stick_y);
38 game.step_game(pad)?;
39
40
41 let state = game.get_game_state()?;
42 println!("{}\n", state.to_string());
43 i += 1;
44 }
45
46 Ok(())
47 }
48}