source $prefix/power.cfg
source $prefix/hwinfo.cfg
source $prefix/keyboard.cfg

submenu "Resolution Configuration" --class=debug_resolution --class=F5tool {
    menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
    
    vt_update_cur_video_mode VT_CUR_MODE
    set vdid=0
    while [ $vdid -lt $VTOY_VIDEO_MODE_NUM ]; do
        vt_get_video_mode $vdid vtCurMode
        
        unset vtActive
        if [ "$vtCurMode" = "$VT_CUR_MODE" ]; then
            set vtActive="[*]"
        fi
        
        menuentry "$vtCurMode $vtActive" --class=debug_videomode --class=debug_resolution --class=F5tool VTOY_RUN_RET {
            terminal_output console
            set gfxmode=$1
            terminal_output gfxterm
        }

        vt_incr vdid 1
    done
}

submenu "Screen Display Mode" --class=debug_screen_mode --class=F5tool {
    menuentry 'Force Text Mode' --class=debug_text_mode --class=debug_screen_mode --class=F5tool {
        terminal_output console
    }
    menuentry 'Force Graphics Mode' --class=debug_gui_mode --class=debug_screen_mode --class=F5tool {
        terminal_output gfxterm
    }
    menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
}

if [ $VTOY_THEME_COUNT -gt 1 ]; then
    submenu "Theme Select" --class=debug_theme_select --class=F5tool {
        vt_select_theme_cfg
    }
fi

if [ "$grub_platform" != "pc" ]; then
    submenu 'Ventoy UEFI Utilities' --class=debug_util --class=F5tool {
        menuentry 'Show EFI Drivers' --class=debug_util_efidrv --class=debug_util --class=F5tool {
            vt_push_pager
            chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=show_efi_drivers
            boot
            vt_pop_pager
            echo -e "\npress ENTER to exit ..."
            read vtInputKey
        }
        
        menuentry 'Fixup Windows BlinitializeLibrary Failure' --class=debug_util_blinit --class=debug_util --class=F5tool {
            chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=fix_windows_mmap
            boot
            echo -e "\npress ENTER to exit ..."
            read vtInputKey
        }

        menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
            echo 'Return ...'
        }
    }
fi


submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --class=F5tool {
    menuentry 'Check global control plugin configuration' --class=debug_control --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path control $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check theme plugin configuration' --class=debug_theme --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path theme $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check auto install plugin configuration' --class=debug_autoinstall --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check persistence plugin configuration' --class=debug_persistence --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path persistence $vtoy_iso_part
        
        echo -e "\n############### dump persistence ###############"
        vt_dump_persistence
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check menu alias plugin configuration' --class=debug_menualias --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path menu_alias $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check menu tip plugin configuration' --class=debug_menutip --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path menu_tip $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check menu class plugin configuration' --class=debug_menuclass --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path menu_class $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }  

    menuentry 'Check injection plugin configuration' --class=debug_injection --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path injection $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    } 

    menuentry 'Check auto memdisk plugin configuration' --class=debug_automemdisk --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path auto_memdisk $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }  

    menuentry 'Check image list plugin configuration' --class=debug_imagelist --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path image_list $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check image blacklist plugin configuration' --class=debug_imageblacklist --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path image_blacklist $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check boot conf replace plugin configuration' --class=debug_bootconf_replace --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path conf_replace $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check dud plugin configuration' --class=debug_dud --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path dud $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check password plugin configuration' --class=debug_pwd --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path password $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check custom boot plugin configuration' --class=debug_custom_boot --class=debug_json --class=F5tool {
        set pager=1
        vt_check_plugin_json $vt_plugin_path custom_boot $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
}


menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
    echo 'Return ...'
}