@@ -6,9 +6,10 @@ use super::{
66use crate :: {
77 pnp,
88 utils:: {
9+ ShowView ,
10+ help_menu:: HelpMenu ,
911 menu:: { Menu , MenuOption , MenuOptionValue } ,
1012 sub_menu:: SubMenu ,
11- ShowView ,
1213 } ,
1314} ;
1415use once_cell:: unsync:: Lazy ;
@@ -20,6 +21,7 @@ enum CrystalView {
2021 Party ,
2122 Wild ,
2223 NonCfw ,
24+ HelpMenu ,
2325}
2426
2527impl MenuOptionValue for CrystalView {
@@ -30,6 +32,7 @@ impl MenuOptionValue for CrystalView {
3032 Self :: Party => "Party" ,
3133 Self :: Wild => "Wild" ,
3234 Self :: NonCfw => "Non-CFW" ,
35+ Self :: HelpMenu => "Help" ,
3336 }
3437 }
3538}
@@ -38,8 +41,9 @@ struct PersistedState {
3841 frame : usize ,
3942 show_view : ShowView ,
4043 view : CrystalView ,
41- main_menu : Menu < 4 , CrystalView > ,
44+ main_menu : Menu < 5 , CrystalView > ,
4245 party_menu : SubMenu < 1 , 6 > ,
46+ help_menu : HelpMenu ,
4347}
4448
4549unsafe fn get_state ( ) -> & ' static mut PersistedState {
@@ -48,11 +52,13 @@ unsafe fn get_state() -> &'static mut PersistedState {
4852 show_view : ShowView :: default ( ) ,
4953 view : CrystalView :: MainMenu ,
5054 party_menu : SubMenu :: default ( ) ,
55+ help_menu : HelpMenu :: default ( ) ,
5156 main_menu : Menu :: new ( [
5257 MenuOption :: new ( CrystalView :: Rng ) ,
5358 MenuOption :: new ( CrystalView :: Party ) ,
5459 MenuOption :: new ( CrystalView :: Wild ) ,
5560 MenuOption :: new ( CrystalView :: NonCfw ) ,
61+ MenuOption :: new ( CrystalView :: HelpMenu ) ,
5662 ] ) ,
5763 } ) ;
5864 Lazy :: force_mut ( & mut STATE )
@@ -91,6 +97,7 @@ pub fn run_frame() {
9197 draw_pkx ( & reader. party ( ( slot - 1 ) as u8 ) ) ;
9298 }
9399 CrystalView :: NonCfw => draw_non_cfw ( & reader, state. frame ) ,
100+ CrystalView :: HelpMenu => state. help_menu . update_and_draw ( is_locked) ,
94101 CrystalView :: MainMenu => {
95102 state. main_menu . update_view ( ) ;
96103 state. main_menu . draw ( ) ;
0 commit comments