- local Input_tracker  
- local Mouse_input_tracker  
-   
- local Tween_done = true  
-   
- local ID_OPTIONS				= 1  
- local ID_CREDITS				= 2  
- local ID_MANUAL_INDEX 		= 3  
-   
- local Data = {} 
-   
- local function build_list()  
-   
- 	if game_get_platform() ~= "PC" then  
- 		Data[#Data + 1] = { 
- 			type = TYPE_BUTTON,  
- 			label = "MAINMENU_OPTIONS",  
- 			id = ID_OPTIONS,  
- 		}  
- 	end  
-   
- 	Data[#Data + 1] = { 
- 		type = TYPE_BUTTON,  
- 		label = "MAINMENU_CREDITS",  
- 		id = ID_CREDITS,  
- 	}  
- 	  
- 	if game_get_platform() ~= "XBOX360" and game_get_platform() ~= "PS3" and game_get_platform() ~= "PC" and game_get_platform() ~= "PS4" then  
- 		Data[#Data + 1] = { 
- 			type = TYPE_BUTTON,  
- 			label = "MAINMENU_DIGITAL_MANUAL",  
- 			id = ID_MANUAL_INDEX,  
- 		}  
- 	end  
- 	  
-   
- end  
-   
- local Screen_width  
- if vint_is_std_res() then  
- 	Screen_width = 750  
- else  
- 	Screen_width = 840  
- end  
-   
- ---------------------------------------------------------------------------   
- -- Initialize Pause Options Menu.  
- ---------------------------------------------------------------------------  
- function main_menu_extras_init()  
-   
- 	build_list()  
-   
- 	-- Subscribe to the button presses we need  
- 	Input_tracker = Vdo_input_tracker:new()  
- 	Input_tracker:add_input("select", 		"main_menu_extras_button_a", 50) 
- 	Input_tracker:add_input("back", 			"main_menu_extras_button_b", 50) 
- 	Input_tracker:add_input("nav_up", 		"main_menu_extras_nav", 50) 
- 	Input_tracker:add_input("nav_down", 	"main_menu_extras_nav", 50) 
- 	Input_tracker:add_input("nav_left", 	"main_menu_extras_nav", 50) 
- 	Input_tracker:add_input("nav_right", 	"main_menu_extras_nav", 50) 
- 	Input_tracker:subscribe(false)  
-   
- 	--Initialize Header  
- 	Header_obj:set_text("MAINMENU_EXTRAS", Screen_width) 
-   
- 	--Setup Button Hints  
- 	local hint_data = { 
- 		{CTRL_MENU_BUTTON_B, "MENU_BACK"}, 
- 	}  
- 	Menu_hint_bar:set_hints(hint_data)    
- 	  
- 	--Get the selection option from when the menu was last loaded  
- 	local last_option_selected = menu_common_stack_get_index(Data)  
- 	  
- 	List:draw_items(Data, last_option_selected, Screen_width)  
- 	  
- 	--Store some locals to the pause menu common for screen processing.  
- 	menu_common_set_list_style(List, Header_obj, Screen_width)  
- 	menu_common_set_screen_data(List, Header_obj, Input_tracker, Screen_back_out_anim, Screen_out_anim)  
-   
- 	if First_time then  
- 		Screen_in_anim:play(0)  
- 		bg_saints_slide_in(Screen_width)  
- 		First_time = false  
- 	end  
- 	  
- 	-- Add mouse inputs for the PC  
- 	if game_get_platform() == "PC" then  
- 		Menu_hint_bar:set_highlight(0)  
- 		  
- 		Mouse_input_tracker = Vdo_input_tracker:new()  
- 		List:add_mouse_inputs("main_menu_extras", Mouse_input_tracker) 
- 		Menu_hint_bar:add_mouse_inputs("main_menu_extras", Mouse_input_tracker) 
- 		Mouse_input_tracker:subscribe(true)  
- 		  
- 		--menu_common_set_mouse_tracker(Mouse_input_tracker)  
- 	end  
- end  
-   
- function main_menu_extras_cleanup()  
- 	-- Nuke all button subscriptions  
- 	Input_tracker:subscribe(false)  
- 	if Mouse_input_tracker ~= nil then  
- 		Mouse_input_tracker:subscribe(false)  
- 	end  
- 	List:enable_toggle_input(false)  
- end  
-   
- function main_menu_extras_nav(event, acceleration)  
- 	if Tween_done == true then  
- 		if event == "nav_up" then  
- 			-- Move highlight up  
- 			List:move_cursor(-1)  
- 		elseif event == "nav_down" then  
- 			-- Move highlight down  
- 			List:move_cursor(1)  
- 		elseif event == "nav_left" then  
- 			-- Move highlight left  
- 			List:move_slider(-1)  
- 		elseif event == "nav_right" then  
- 			-- Move highlight right  
- 			List:move_slider(1)  
- 		end  
- 	end  
- end  
-   
- function main_menu_extras_button_a(event, acceleration)  
- 	  
- 	if Tween_done == true then  
- 		--Set the screen data to the list data  
- 		Data = List:return_data()  
- 		local current_id = List:get_id()  
- 	  
- 		--Add current selection to the stack to store the selected position on the menu  
- 		menu_common_stack_add(current_id)  
-   
- 		--pass off the input to the list  
- 		--List:button_a()  
- 		if current_id == ID_CREDITS then  
- 			menu_common_transition_push("credits") 
- 			return  
- 		elseif current_id == ID_MANUAL_INDEX then  
- 			--menu_common_transition_push("")			 
- 			-- mm_wireless.vint_doc  
- 			if game_get_platform() == "XBOX3" then  
- 				hvs_xb1_voice_snap_help()  
- 			elseif game_get_platform() == "PC" and game_is_connected_to_service() then  
- 				game_steam_open_url("http://www.saintsrow.com/") 
- 			else  
- 				dialog_box_message("MENU_TITLE_NOTICE", "MAINMENU_DIGITAL_MANUAL_TEXT", true, true) 
- 			end  
- 			return  
- 		elseif current_id == ID_OPTIONS then  
- 			menu_common_transition_push("pause_options_menu") 
- 		end  
- 	end  
- end  
-   
- function main_menu_extras_button_b(event, acceleration)  
- 	if Tween_done == true then  
- 		--pass off the input to the list  
- 		List:button_b()  
- 		  
- 		--Remove current menu from the stack  
- 		menu_common_stack_remove()  
- 		  
- 		--Pop Screen off the list  
- 		menu_common_transition_pop(1)  
- 		  
- 		bg_saints_slide_out()  
- 	end  
- end  
-   
- function main_menu_extras_mouse_click(event, target_handle)  
- 	local hint_index = Menu_hint_bar:get_hint_index(target_handle)  
- 	if hint_index == 1 then  
- 		main_menu_extras_button_b()  
- 	end  
-   
- 	local new_index = List:get_button_index(target_handle)  
- 	if new_index ~= 0 then  
- 		List:set_selection(new_index)  
- 		main_menu_extras_button_a()  
- 	end  
- end  
-   
- function main_menu_extras_mouse_move(event, target_handle)  
- 	Menu_hint_bar:set_highlight(0)  
- 	  
- 	local hint_index = Menu_hint_bar:get_hint_index(target_handle)  
- 	if hint_index ~= 0 then  
- 		Menu_hint_bar:set_highlight(hint_index)  
- 	end  
- 	  
- 	local new_index = List:get_button_index(target_handle)  
- 	if new_index ~= 0 then  
- 		List:set_selection(new_index)  
- 		List:move_cursor(0, true)  
- 	end  
- end