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