diff --git a/Menu/GameShell/20_Retro Games/MAME/action.config b/Menu/GameShell/20_Retro Games/MAME/action.config new file mode 100644 index 0000000..419b160 --- /dev/null +++ b/Menu/GameShell/20_Retro Games/MAME/action.config @@ -0,0 +1,7 @@ +ROM=/home/cpi/games/MAME +ROM_SO=/home/cpi/apps/emulators/mame2003_plus_libretro.so +EXT=zip +LAUNCHER=retroarch -L +TITLE=MAME Roms +SO_URL=http://buildbot.libretro.com/nightly/linux/armhf/latest/mame2003_plus_libretro.so.zip +RETRO_CONFIG=/home/cpi/apps/launcher/Menu/GameShell/20_Retro\ Games/MAME/retroarch.cfg diff --git a/Menu/GameShell/20_Retro Games/MAME/retroarch-core-options.cfg b/Menu/GameShell/20_Retro Games/MAME/retroarch-core-options.cfg new file mode 100644 index 0000000..4bcb14d --- /dev/null +++ b/Menu/GameShell/20_Retro Games/MAME/retroarch-core-options.cfg @@ -0,0 +1,111 @@ +mame2003-plus_frameskip = "0" +mame2003-plus_input_interface = "retropad" +mame2003-plus_retropad_layout = "modern" +mame2003-plus_mouse_device = "mouse" +mame2003-plus_crosshair_enabled = "enabled" +mame2003-plus_display_setup = "disabled" +mame2003-plus_enable_backdrop = "disabled" +mame2003-plus_bios_region = "default" +mame2003-plus_dialsharexy = "disabled" +mame2003-plus_rstick_to_btns = "enabled" +mame2003-plus_tate_mode = "disabled" +mame2003-plus_vector_resolution_multiplier = "1" +mame2003-plus_vector_antialias = "disabled" +mame2003-plus_vector_translucency = "enabled" +mame2003-plus_vector_beam_width = "1" +mame2003-plus_vector_flicker = "20" +mame2003-plus_vector_intensity = "1.5" +mame2003-plus_skip_rom_verify = "disabled" +mame2003-plus_external_hiscore = "disabled" +mame2003-plus_sample_rate = "48000" +mame2003-plus_dcs_speedhack = "enabled" +mame2003-plus_skip_disclaimer = "enabled" +mame2003-plus_skip_warnings = "disabled" +mgba_solar_sensor_level = "0" +mgba_allow_opposing_directions = "OFF" +mgba_gb_model = "Autodetect" +mgba_use_bios = "ON" +mgba_skip_bios = "OFF" +mgba_sgb_borders = "ON" +mgba_idle_optimization = "Remove Known" +mgba_frameskip = "0" +vbanext_bios = "enabled" +mame_current_mouse_enable = "enabled" +mame_current_videoapproach1_enable = "disabled" +mame_current_skip_nagscreen = "enabled" +mame_current_skip_gameinfo = "disabled" +mame_current_skip_warnings = "disabled" +mame_current_aspect_ratio = "DAR" +mame_current_turbo_button = "disabled" +mame_current_turbo_delay = "medium" +mame_current_frame_skip = "0" +mame_current_sample_rate = "48000Hz" +mame_current_adj_brightness = "default" +mame_current_adj_contrast = "default" +mame_current_adj_gamma = "default" +mame-external_hiscore = "disabled" +vbam_layer_1 = "Yes" +vbam_layer_2 = "Yes" +vbam_layer_3 = "Yes" +vbam_layer_4 = "Yes" +vbam_layer_5 = "Yes" +vbam_layer_6 = "Yes" +vbam_layer_7 = "Yes" +vbam_layer_8 = "Yes" +snes9x_next_overclock = "disabled" +beetle_psx_cdimagecache = "disabled" +beetle_psx_widescreen_hack = "disabled" +beetle_psx_widescreen_auto_ar = "disabled" +beetle_psx_use_mednafen_memcard0_method = "libretro" +beetle_psx_shared_memory_cards = "disabled" +beetle_psx_experimental_save_states = "disabled" +beetle_psx_initial_scanline = "0" +beetle_psx_initial_scanline_pal = "0" +beetle_psx_last_scanline = "239" +beetle_psx_last_scanline_pal = "287" +beetle_psx_analog_toggle = "disabled" +beetle_psx_enable_multitap_port1 = "disabled" +beetle_psx_enable_multitap_port2 = "disabled" +fceumm_region = "Auto" +fceumm_aspect = "8:7 PAR" +fceumm_palette = "default" +fceumm_up_down_allowed = "disabled" +fceumm_use_ntsc = "disabled" +fceumm_overscan_h = "disabled" +fceumm_overscan_v = "enabled" +fceumm_nospritelimit = "disabled" +fceumm_sndvolume = "150" +fceumm_sndquality = "Low" +fceumm_swapduty = "disabled" +fceumm_turbo_enable = "None" +fceumm_turbo_delay = "3" +fceumm_zapper_mode = "pointer" +fceumm_show_crosshair = "enabled" +fceumm_overclocking = "disabled" +nestopia_blargg_ntsc_filter = "disabled" +nestopia_palette = "cxa2025as" +nestopia_nospritelimit = "disabled" +nestopia_overclock = "1x" +nestopia_select_adapter = "auto" +nestopia_fds_auto_insert = "enabled" +nestopia_overscan_v = "enabled" +nestopia_overscan_h = "disabled" +nestopia_aspect = "auto" +nestopia_genie_distortion = "disabled" +nestopia_favored_system = "auto" +nestopia_ram_power_state = "0x00" +nestopia_turbo_pulse = "2" +mame2003-plus_brightness = "1.0" +mame2003-plus_gamma = "1.2" +mame2003-plus_neogeo_bios = "default" +mame2003-plus_stv_bios = "default" +mame2003-plus_dual_joysticks = "disabled" +mame2003-plus_use_samples = "enabled" +mame2003-plus_nvram_bootstraps = "enabled" +mame2003-plus_retropad1_layout = "Modern Gamepad" +mame2003-plus_retropad2_layout = "Modern Gamepad" +mame2003-plus_retropad3_layout = "Modern Gamepad" +mame2003-plus_retropad4_layout = "Modern Gamepad" +mame2003-plus_retropad5_layout = "Modern Gamepad" +mame2003-plus_retropad6_layout = "Modern Gamepad" +mame2003-plus_mame_remapping = "disabled" diff --git a/Menu/GameShell/20_Retro Games/MAME/retroarch.cfg b/Menu/GameShell/20_Retro Games/MAME/retroarch.cfg new file mode 100644 index 0000000..ef729ae --- /dev/null +++ b/Menu/GameShell/20_Retro Games/MAME/retroarch.cfg @@ -0,0 +1,2880 @@ +video_driver = "sdl" +video_fullscreen = "true" +video_windowed_fullscreen = "false" +video_threaded = "true" +video_smooth = "true" +video_message_bgcolor_enable = "false" +video_message_bgcolor_red = "0" +video_message_bgcolor_green = "0" +video_message_bgcolor_blue = "0" +video_message_bgcolor_opacity = "1.0" +menu_driver = "rgui" +core_updater_buildbot_url = "http://buildbot.libretro.com/nightly/linux/armhf/latest/" +core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/" +libretro_directory = "~/.config/retroarch/cores" +libretro_info_path = "~/.config/retroarch/cores" +content_database_path = "~/.config/retroarch/database/rdb" +cheat_database_path = "~/.config/retroarch/cheats" +content_history_path = "~/.config/retroarch/content_history.lpl" +content_favorites_path = "~/.config/retroarch/content_favorites.lpl" +content_music_history_path = "~/.config/retroarch/content_music_history.lpl" +content_video_history_path = "~/.config/retroarch/content_video_history.lpl" +content_image_history_path = "~/.config/retroarch/content_image_history.lpl" +cursor_directory = "~/.config/retroarch/database/cursors" +screenshot_directory = "~/.config/retroarch/screenshots" +system_directory = "default" +input_remapping_directory = "~/.config/retroarch/config/remaps" +video_shader_dir = "~/.config/retroarch/shaders" +video_filter_dir = "default" +core_assets_directory = "~/.config/retroarch/downloads" +assets_directory = "~/.config/retroarch/assets" +dynamic_wallpapers_directory = "default" +thumbnails_directory = "~/.config/retroarch/thumbnails" +playlist_directory = "~/.config/retroarch/playlists" +joypad_autoconfig_dir = "~/.config/retroarch/autoconfig" +audio_filter_dir = "default" +savefile_directory = "default" +savestate_directory = "default" +rgui_browser_directory = "default" +rgui_config_directory = "~/.config/retroarch/config" +overlay_directory = "~/.config/retroarch/overlay" +record_driver = "null" +camera_driver = "null" +wifi_driver = "null" +location_driver = "null" +audio_driver = "alsathread" +audio_resampler = "sinc" +input_driver = "x" +input_joypad_driver = "udev" +led_driver = "null" +netplay_mitm_server = "nyc" +video_aspect_ratio = "-1.000000" +video_scale = "1.000000" +video_refresh_rate = "59.940060" +audio_rate_control_delta = "0.005000" +audio_max_timing_skew = "0.050000" +audio_volume = "-4.000000" +audio_mixer_volume = "0.000000" +input_overlay_opacity = "0.700000" +input_overlay_scale = "1.000000" +menu_wallpaper_opacity = "0.300000" +menu_framebuffer_opacity = "0.900000" +menu_footer_opacity = "1.000000" +menu_header_opacity = "1.000000" +video_message_pos_x = "0.050000" +video_message_pos_y = "0.050000" +video_font_size = "12.000000" +fastforward_ratio = "0.000000" +slowmotion_ratio = "3.000000" +input_axis_threshold = "0.500000" +video_msg_bgcolor_opacity = "1.000000" +state_slot = "0" +netplay_check_frames = "600" +input_bind_timeout = "1" +input_turbo_period = "6" +input_duty_cycle = "3" +input_max_users = "0" +input_menu_toggle_gamepad_combo = "0" +audio_latency = "512" +audio_resampler_quality = "2" +audio_block_frames = "0" +rewind_granularity = "1" +autosave_interval = "0" +libretro_log_level = "1" +keyboard_gamepad_mapping_type = "1" +input_poll_type_behavior = "2" +video_monitor_index = "0" +video_fullscreen_x = "0" +video_fullscreen_y = "0" +video_window_x = "0" +video_window_y = "0" +video_window_opacity = "100" +network_cmd_port = "55355" +network_remote_base_port = "55400" +keymapper_port = "0" +dpi_override_value = "200" +menu_thumbnails = "3" +xmb_alpha_factor = "75" +xmb_scale_factor = "100" +xmb_theme = "0" +xmb_menu_color_theme = "4" +menu_font_color_red = "255" +menu_font_color_green = "255" +menu_font_color_blue = "255" +materialui_menu_color_theme = "0" +menu_shader_pipeline = "2" +audio_out_rate = "48000" +custom_viewport_width = "320" +custom_viewport_height = "240" +custom_viewport_x = "0" +custom_viewport_y = "0" +content_history_size = "100" +video_hard_sync_frames = "0" +video_frame_delay = "0" +video_max_swapchain_images = "4" +video_swap_interval = "4" +video_rotation = "0" +aspect_ratio_index = "21" +netplay_ip_port = "55435" +netplay_input_latency_frames_min = "0" +netplay_input_latency_frames_range = "0" +netplay_share_digital = "1" +netplay_share_analog = "1" +user_language = "0" +bundle_assets_extract_version_current = "0" +bundle_assets_extract_last_version = "0" +input_overlay_show_physical_inputs_port = "0" +video_msg_bgcolor_red = "0" +video_msg_bgcolor_green = "0" +video_msg_bgcolor_blue = "0" +input_device_p1 = "0" +input_player1_joypad_index = "0" +input_libretro_device_p1 = "1" +input_player1_analog_dpad_mode = "0" +input_player1_mouse_index = "0" +input_device_p2 = "0" +input_player2_joypad_index = "1" +input_libretro_device_p2 = "1" +input_player2_analog_dpad_mode = "0" +input_player2_mouse_index = "0" +input_device_p3 = "0" +input_player3_joypad_index = "2" +input_libretro_device_p3 = "1" +input_player3_analog_dpad_mode = "0" +input_player3_mouse_index = "0" +input_device_p4 = "0" +input_player4_joypad_index = "3" +input_libretro_device_p4 = "1" +input_player4_analog_dpad_mode = "0" +input_player4_mouse_index = "0" +input_device_p5 = "0" +input_player5_joypad_index = "4" +input_libretro_device_p5 = "1" +input_player5_analog_dpad_mode = "0" +input_player5_mouse_index = "0" +input_device_p6 = "0" +input_player6_joypad_index = "5" +input_libretro_device_p6 = "1" +input_player6_analog_dpad_mode = "0" +input_player6_mouse_index = "0" +input_device_p7 = "0" +input_player7_joypad_index = "6" +input_libretro_device_p7 = "1" +input_player7_analog_dpad_mode = "0" +input_player7_mouse_index = "0" +input_device_p8 = "0" +input_player8_joypad_index = "7" +input_libretro_device_p8 = "1" +input_player8_analog_dpad_mode = "0" +input_player8_mouse_index = "0" +input_device_p9 = "0" +input_player9_joypad_index = "8" +input_libretro_device_p9 = "1" +input_player9_analog_dpad_mode = "0" +input_player9_mouse_index = "0" +input_device_p10 = "0" +input_player10_joypad_index = "9" +input_libretro_device_p10 = "1" +input_player10_analog_dpad_mode = "0" +input_player10_mouse_index = "0" +input_device_p11 = "0" +input_player11_joypad_index = "10" +input_libretro_device_p11 = "1" +input_player11_analog_dpad_mode = "0" +input_player11_mouse_index = "0" +input_device_p12 = "0" +input_player12_joypad_index = "11" +input_libretro_device_p12 = "1" +input_player12_analog_dpad_mode = "0" +input_player12_mouse_index = "0" +input_device_p13 = "0" +input_player13_joypad_index = "12" +input_libretro_device_p13 = "1" +input_player13_analog_dpad_mode = "0" +input_player13_mouse_index = "0" +input_device_p14 = "0" +input_player14_joypad_index = "13" +input_libretro_device_p14 = "1" +input_player14_analog_dpad_mode = "0" +input_player14_mouse_index = "0" +input_device_p15 = "0" +input_player15_joypad_index = "14" +input_libretro_device_p15 = "1" +input_player15_analog_dpad_mode = "0" +input_player15_mouse_index = "0" +input_device_p16 = "0" +input_player16_joypad_index = "15" +input_libretro_device_p16 = "1" +input_player16_analog_dpad_mode = "0" +input_player16_mouse_index = "0" +automatically_add_content_to_playlist = "false" +ui_companion_start_on_boot = "true" +ui_companion_enable = "false" +video_gpu_record = "false" +input_remap_binds_enable = "true" +all_users_control_menu = "false" +menu_swap_ok_cancel_buttons = "false" +netplay_public_announce = "true" +netplay_start_as_spectator = "false" +netplay_allow_slaves = "true" +netplay_require_slaves = "false" +netplay_stateless_mode = "false" +netplay_use_mitm_server = "false" +netplay_request_device_p1 = "false" +netplay_request_device_p2 = "false" +netplay_request_device_p3 = "false" +netplay_request_device_p4 = "false" +netplay_request_device_p5 = "false" +netplay_request_device_p6 = "false" +netplay_request_device_p7 = "false" +netplay_request_device_p8 = "false" +netplay_request_device_p9 = "false" +netplay_request_device_p10 = "false" +netplay_request_device_p11 = "false" +netplay_request_device_p12 = "false" +netplay_request_device_p13 = "false" +netplay_request_device_p14 = "false" +netplay_request_device_p15 = "false" +netplay_request_device_p16 = "false" +input_descriptor_label_show = "true" +input_descriptor_hide_unbound = "false" +load_dummy_on_core_shutdown = "true" +check_firmware_before_loading = "false" +builtin_mediaplayer_enable = "false" +builtin_imageviewer_enable = "true" +fps_show = "false" +framecount_show = "false" +ui_menubar_enable = "true" +suspend_screensaver_enable = "false" +rewind_enable = "false" +audio_sync = "true" +video_shader_enable = "false" +video_shader_watch_files = "false" +video_aspect_ratio_auto = "false" +video_allow_rotate = "true" +video_crop_overscan = "true" +video_scale_integer = "false" +video_force_aspect = "true" +video_shared_context = "false" +auto_screenshot_filename = "true" +video_force_srgb_disable = "false" +bundle_assets_extract_enable = "false" +video_vsync = "true" +video_hard_sync = "false" +video_black_frame_insertion = "false" +video_disable_composition = "false" +pause_nonactive = "true" +video_gpu_screenshot = "true" +video_post_filter_record = "false" +keyboard_gamepad_enable = "true" +core_set_supports_no_game_enable = "true" +audio_enable = "true" +audio_mute_enable = "false" +audio_mixer_mute_enable = "false" +location_allow = "false" +video_font_enable = "true" +core_updater_auto_extract_archive = "true" +camera_allow = "false" +menu_unified_controls = "false" +threaded_data_runloop_enable = "true" +menu_throttle_framerate = "true" +menu_linear_filter = "true" +menu_horizontal_animation = "true" +dpi_override_enable = "true" +menu_pause_libretro = "true" +menu_mouse_enable = "true" +menu_pointer_enable = "false" +menu_timedate_enable = "true" +menu_battery_level_enable = "true" +menu_core_enable = "true" +menu_dynamic_wallpaper_enable = "false" +quick_menu_show_take_screenshot = "true" +quick_menu_show_save_load_state = "true" +quick_menu_show_undo_save_load_state = "true" +quick_menu_show_add_to_favorites = "true" +quick_menu_show_options = "true" +quick_menu_show_controls = "true" +quick_menu_show_cheats = "true" +quick_menu_show_shaders = "true" +quick_menu_show_save_core_overrides = "true" +quick_menu_show_save_game_overrides = "true" +quick_menu_show_information = "true" +kiosk_mode_enable = "false" +content_show_settings = "true" +content_show_favorites = "true" +content_show_images = "true" +content_show_music = "true" +content_show_netplay = "true" +content_show_history = "true" +content_show_add = "true" +menu_show_load_core = "true" +menu_show_load_content = "true" +menu_show_information = "true" +menu_show_configurations = "true" +menu_show_help = "true" +menu_show_quit_retroarch = "true" +menu_show_reboot = "true" +menu_show_online_updater = "true" +menu_show_core_updater = "true" +filter_by_current_core = "false" +rgui_show_start_screen = "false" +menu_navigation_wraparound_enable = "true" +menu_navigation_browser_filter_supported_extensions_enable = "true" +menu_show_advanced_settings = "true" +materialui_icons_enable = "true" +xmb_shadows_enable = "true" +cheevos_enable = "false" +cheevos_test_unofficial = "false" +cheevos_hardcore_mode_enable = "false" +cheevos_leaderboards_enable = "false" +cheevos_badges_enable = "false" +cheevos_verbose_enable = "false" +input_overlay_enable = "true" +input_overlay_enable_autopreferred = "true" +input_overlay_show_physical_inputs = "false" +input_overlay_hide_in_menu = "true" +network_cmd_enable = "false" +stdin_cmd_enable = "false" +network_remote_enable = "false" +keymapper_enable = "true" +netplay_nat_traversal = "true" +block_sram_overwrite = "false" +savestate_auto_index = "false" +savestate_auto_save = "false" +savestate_auto_load = "false" +savestate_thumbnail_enable = "false" +history_list_enable = "true" +playlist_entry_remove = "true" +playlist_entry_rename = "true" +game_specific_options = "true" +auto_overrides_enable = "true" +auto_remaps_enable = "true" +auto_shaders_enable = "true" +sort_savefiles_enable = "false" +sort_savestates_enable = "false" +config_save_on_exit = "true" +show_hidden_files = "false" +input_autodetect_enable = "true" +audio_rate_control = "true" +savestates_in_content_dir = "false" +savefiles_in_content_dir = "false" +systemfiles_in_content_dir = "false" +screenshots_in_content_dir = "false" +video_msg_bgcolor_enable = "false" +video_window_show_decorations = "true" +network_remote_enable_user_p1 = "false" +network_remote_enable_user_p2 = "false" +network_remote_enable_user_p3 = "false" +network_remote_enable_user_p4 = "false" +network_remote_enable_user_p5 = "false" +network_remote_enable_user_p6 = "false" +network_remote_enable_user_p7 = "false" +network_remote_enable_user_p8 = "false" +network_remote_enable_user_p9 = "false" +network_remote_enable_user_p10 = "false" +network_remote_enable_user_p11 = "false" +network_remote_enable_user_p12 = "false" +network_remote_enable_user_p13 = "false" +network_remote_enable_user_p14 = "false" +network_remote_enable_user_p15 = "false" +network_remote_enable_user_p16 = "false" +log_verbosity = "false" +perfcnt_enable = "false" +video_message_color = "ffff00" +menu_entry_normal_color = "ffffffff" +menu_entry_hover_color = "ff64ff64" +menu_title_color = "ff64ff64" +gamma_correction = "false" +flicker_filter_enable = "false" +soft_filter_enable = "false" +soft_filter_index = "0" +current_resolution_id = "0" +flicker_filter_index = "0" +input_player1_b = "k" +input_player1_b_btn = "nul" +input_player1_b_axis = "nul" +input_player1_b_mbtn = "nul" +input_player1_y = "i" +input_player1_y_btn = "nul" +input_player1_y_axis = "nul" +input_player1_y_mbtn = "nul" +input_player1_select = "space" +input_player1_select_btn = "nul" +input_player1_select_axis = "nul" +input_player1_select_mbtn = "nul" +input_player1_start = "enter" +input_player1_start_btn = "nul" +input_player1_start_axis = "nul" +input_player1_start_mbtn = "nul" +input_player1_up = "up" +input_player1_up_btn = "nul" +input_player1_up_axis = "nul" +input_player1_up_mbtn = "nul" +input_player1_down = "down" +input_player1_down_btn = "nul" +input_player1_down_axis = "nul" +input_player1_down_mbtn = "nul" +input_player1_left = "left" +input_player1_left_btn = "nul" +input_player1_left_axis = "nul" +input_player1_left_mbtn = "nul" +input_player1_right = "right" +input_player1_right_btn = "nul" +input_player1_right_axis = "nul" +input_player1_right_mbtn = "nul" +input_player1_a = "l" +input_player1_a_btn = "nul" +input_player1_a_axis = "nul" +input_player1_a_mbtn = "nul" +input_player1_x = "u" +input_player1_x_btn = "nul" +input_player1_x_axis = "nul" +input_player1_x_mbtn = "nul" +input_player1_l = "h" +input_player1_l_btn = "nul" +input_player1_l_axis = "nul" +input_player1_l_mbtn = "nul" +input_player1_r = "j" +input_player1_r_btn = "nul" +input_player1_r_axis = "nul" +input_player1_r_mbtn = "nul" +input_player1_l2 = "y" +input_player1_l2_btn = "nul" +input_player1_l2_axis = "nul" +input_player1_l2_mbtn = "nul" +input_player1_r2 = "o" +input_player1_r2_btn = "nul" +input_player1_r2_axis = "nul" +input_player1_r2_mbtn = "nul" +input_player1_l3 = "nul" +input_player1_l3_btn = "nul" +input_player1_l3_axis = "nul" +input_player1_l3_mbtn = "nul" +input_player1_r3 = "nul" +input_player1_r3_btn = "nul" +input_player1_r3_axis = "nul" +input_player1_r3_mbtn = "nul" +input_player1_l_x_plus = "nul" +input_player1_l_x_plus_btn = "nul" +input_player1_l_x_plus_axis = "nul" +input_player1_l_x_plus_mbtn = "nul" +input_player1_l_x_minus = "nul" +input_player1_l_x_minus_btn = "nul" +input_player1_l_x_minus_axis = "nul" +input_player1_l_x_minus_mbtn = "nul" +input_player1_l_y_plus = "nul" +input_player1_l_y_plus_btn = "nul" +input_player1_l_y_plus_axis = "nul" +input_player1_l_y_plus_mbtn = "nul" +input_player1_l_y_minus = "nul" +input_player1_l_y_minus_btn = "nul" +input_player1_l_y_minus_axis = "nul" +input_player1_l_y_minus_mbtn = "nul" +input_player1_r_x_plus = "nul" +input_player1_r_x_plus_btn = "nul" +input_player1_r_x_plus_axis = "nul" +input_player1_r_x_plus_mbtn = "nul" +input_player1_r_x_minus = "nul" +input_player1_r_x_minus_btn = "nul" +input_player1_r_x_minus_axis = "nul" +input_player1_r_x_minus_mbtn = "nul" +input_player1_r_y_plus = "nul" +input_player1_r_y_plus_btn = "nul" +input_player1_r_y_plus_axis = "nul" +input_player1_r_y_plus_mbtn = "nul" +input_player1_r_y_minus = "nul" +input_player1_r_y_minus_btn = "nul" +input_player1_r_y_minus_axis = "nul" +input_player1_r_y_minus_mbtn = "nul" +input_player1_gun_trigger = "nul" +input_player1_gun_trigger_btn = "nul" +input_player1_gun_trigger_axis = "nul" +input_player1_gun_trigger_mbtn = "nul" +input_player1_gun_offscreen_shot = "nul" +input_player1_gun_offscreen_shot_btn = "nul" +input_player1_gun_offscreen_shot_axis = "nul" +input_player1_gun_offscreen_shot_mbtn = "nul" +input_player1_gun_aux_a = "nul" +input_player1_gun_aux_a_btn = "nul" +input_player1_gun_aux_a_axis = "nul" +input_player1_gun_aux_a_mbtn = "nul" +input_player1_gun_aux_b = "nul" +input_player1_gun_aux_b_btn = "nul" +input_player1_gun_aux_b_axis = "nul" +input_player1_gun_aux_b_mbtn = "nul" +input_player1_gun_aux_c = "nul" +input_player1_gun_aux_c_btn = "nul" +input_player1_gun_aux_c_axis = "nul" +input_player1_gun_aux_c_mbtn = "nul" +input_player1_gun_start = "nul" +input_player1_gun_start_btn = "nul" +input_player1_gun_start_axis = "nul" +input_player1_gun_start_mbtn = "nul" +input_player1_gun_select = "nul" +input_player1_gun_select_btn = "nul" +input_player1_gun_select_axis = "nul" +input_player1_gun_select_mbtn = "nul" +input_player1_gun_dpad_up = "nul" +input_player1_gun_dpad_up_btn = "nul" +input_player1_gun_dpad_up_axis = "nul" +input_player1_gun_dpad_up_mbtn = "nul" +input_player1_gun_dpad_down = "nul" +input_player1_gun_dpad_down_btn = "nul" +input_player1_gun_dpad_down_axis = "nul" +input_player1_gun_dpad_down_mbtn = "nul" +input_player1_gun_dpad_left = "nul" +input_player1_gun_dpad_left_btn = "nul" +input_player1_gun_dpad_left_axis = "nul" +input_player1_gun_dpad_left_mbtn = "nul" +input_player1_gun_dpad_right = "nul" +input_player1_gun_dpad_right_btn = "nul" +input_player1_gun_dpad_right_axis = "nul" +input_player1_gun_dpad_right_mbtn = "nul" +input_player1_turbo = "nul" +input_player1_turbo_btn = "nul" +input_player1_turbo_axis = "nul" +input_player1_turbo_mbtn = "nul" +input_toggle_fast_forward = "nul" +input_toggle_fast_forward_btn = "nul" +input_toggle_fast_forward_axis = "nul" +input_toggle_fast_forward_mbtn = "nul" +input_hold_fast_forward = "nul" +input_hold_fast_forward_btn = "nul" +input_hold_fast_forward_axis = "nul" +input_hold_fast_forward_mbtn = "nul" +input_load_state = "f4" +input_load_state_btn = "nul" +input_load_state_axis = "nul" +input_load_state_mbtn = "nul" +input_save_state = "f2" +input_save_state_btn = "nul" +input_save_state_axis = "nul" +input_save_state_mbtn = "nul" +input_toggle_fullscreen = "nul" +input_toggle_fullscreen_btn = "nul" +input_toggle_fullscreen_axis = "nul" +input_toggle_fullscreen_mbtn = "nul" +input_exit_emulator = "escape" +input_exit_emulator_btn = "nul" +input_exit_emulator_axis = "nul" +input_exit_emulator_mbtn = "nul" +input_state_slot_increase = "f7" +input_state_slot_increase_btn = "nul" +input_state_slot_increase_axis = "nul" +input_state_slot_increase_mbtn = "nul" +input_state_slot_decrease = "f6" +input_state_slot_decrease_btn = "nul" +input_state_slot_decrease_axis = "nul" +input_state_slot_decrease_mbtn = "nul" +input_rewind = "nul" +input_rewind_btn = "nul" +input_rewind_axis = "nul" +input_rewind_mbtn = "nul" +input_movie_record_toggle = "nul" +input_movie_record_toggle_btn = "nul" +input_movie_record_toggle_axis = "nul" +input_movie_record_toggle_mbtn = "nul" +input_pause_toggle = "nul" +input_pause_toggle_btn = "nul" +input_pause_toggle_axis = "nul" +input_pause_toggle_mbtn = "nul" +input_frame_advance = "nul" +input_frame_advance_btn = "nul" +input_frame_advance_axis = "nul" +input_frame_advance_mbtn = "nul" +input_reset = "nul" +input_reset_btn = "nul" +input_reset_axis = "nul" +input_reset_mbtn = "nul" +input_shader_next = "m" +input_shader_next_btn = "nul" +input_shader_next_axis = "nul" +input_shader_next_mbtn = "nul" +input_shader_prev = "n" +input_shader_prev_btn = "nul" +input_shader_prev_axis = "nul" +input_shader_prev_mbtn = "nul" +input_cheat_index_plus = "nul" +input_cheat_index_plus_btn = "nul" +input_cheat_index_plus_axis = "nul" +input_cheat_index_plus_mbtn = "nul" +input_cheat_index_minus = "nul" +input_cheat_index_minus_btn = "nul" +input_cheat_index_minus_axis = "nul" +input_cheat_index_minus_mbtn = "nul" +input_cheat_toggle = "nul" +input_cheat_toggle_btn = "nul" +input_cheat_toggle_axis = "nul" +input_cheat_toggle_mbtn = "nul" +input_screenshot = "f8" +input_screenshot_btn = "nul" +input_screenshot_axis = "nul" +input_screenshot_mbtn = "nul" +input_audio_mute = "f9" +input_audio_mute_btn = "nul" +input_audio_mute_axis = "nul" +input_audio_mute_mbtn = "nul" +input_osk_toggle = "f12" +input_osk_toggle_btn = "nul" +input_osk_toggle_axis = "nul" +input_osk_toggle_mbtn = "nul" +input_netplay_game_watch = "nul" +input_netplay_game_watch_btn = "nul" +input_netplay_game_watch_axis = "nul" +input_netplay_game_watch_mbtn = "nul" +input_slowmotion = "e" +input_slowmotion_btn = "nul" +input_slowmotion_axis = "nul" +input_slowmotion_mbtn = "nul" +input_enable_hotkey = "nul" +input_enable_hotkey_btn = "nul" +input_enable_hotkey_axis = "nul" +input_enable_hotkey_mbtn = "nul" +input_volume_up = "add" +input_volume_up_btn = "nul" +input_volume_up_axis = "nul" +input_volume_up_mbtn = "nul" +input_volume_down = "subtract" +input_volume_down_btn = "nul" +input_volume_down_axis = "nul" +input_volume_down_mbtn = "nul" +input_overlay_next = "nul" +input_overlay_next_btn = "nul" +input_overlay_next_axis = "nul" +input_overlay_next_mbtn = "nul" +input_disk_eject_toggle = "nul" +input_disk_eject_toggle_btn = "nul" +input_disk_eject_toggle_axis = "nul" +input_disk_eject_toggle_mbtn = "nul" +input_disk_next = "nul" +input_disk_next_btn = "nul" +input_disk_next_axis = "nul" +input_disk_next_mbtn = "nul" +input_disk_prev = "nul" +input_disk_prev_btn = "nul" +input_disk_prev_axis = "nul" +input_disk_prev_mbtn = "nul" +input_grab_mouse_toggle = "f11" +input_grab_mouse_toggle_btn = "nul" +input_grab_mouse_toggle_axis = "nul" +input_grab_mouse_toggle_mbtn = "nul" +input_game_focus_toggle = "scroll_lock" +input_game_focus_toggle_btn = "nul" +input_game_focus_toggle_axis = "nul" +input_game_focus_toggle_mbtn = "nul" +input_menu_toggle = "f1" +input_menu_toggle_btn = "nul" +input_menu_toggle_axis = "nul" +input_menu_toggle_mbtn = "nul" +input_player2_b = "nul" +input_player2_b_btn = "nul" +input_player2_b_axis = "nul" +input_player2_b_mbtn = "nul" +input_player2_y = "nul" +input_player2_y_btn = "nul" +input_player2_y_axis = "nul" +input_player2_y_mbtn = "nul" +input_player2_select = "nul" +input_player2_select_btn = "nul" +input_player2_select_axis = "nul" +input_player2_select_mbtn = "nul" +input_player2_start = "nul" +input_player2_start_btn = "nul" +input_player2_start_axis = "nul" +input_player2_start_mbtn = "nul" +input_player2_up = "nul" +input_player2_up_btn = "nul" +input_player2_up_axis = "nul" +input_player2_up_mbtn = "nul" +input_player2_down = "nul" +input_player2_down_btn = "nul" +input_player2_down_axis = "nul" +input_player2_down_mbtn = "nul" +input_player2_left = "nul" +input_player2_left_btn = "nul" +input_player2_left_axis = "nul" +input_player2_left_mbtn = "nul" +input_player2_right = "nul" +input_player2_right_btn = "nul" +input_player2_right_axis = "nul" +input_player2_right_mbtn = "nul" +input_player2_a = "nul" +input_player2_a_btn = "nul" +input_player2_a_axis = "nul" +input_player2_a_mbtn = "nul" +input_player2_x = "nul" +input_player2_x_btn = "nul" +input_player2_x_axis = "nul" +input_player2_x_mbtn = "nul" +input_player2_l = "nul" +input_player2_l_btn = "nul" +input_player2_l_axis = "nul" +input_player2_l_mbtn = "nul" +input_player2_r = "nul" +input_player2_r_btn = "nul" +input_player2_r_axis = "nul" +input_player2_r_mbtn = "nul" +input_player2_l2 = "nul" +input_player2_l2_btn = "nul" +input_player2_l2_axis = "nul" +input_player2_l2_mbtn = "nul" +input_player2_r2 = "nul" +input_player2_r2_btn = "nul" +input_player2_r2_axis = "nul" +input_player2_r2_mbtn = "nul" +input_player2_l3 = "nul" +input_player2_l3_btn = "nul" +input_player2_l3_axis = "nul" +input_player2_l3_mbtn = "nul" +input_player2_r3 = "nul" +input_player2_r3_btn = "nul" +input_player2_r3_axis = "nul" +input_player2_r3_mbtn = "nul" +input_player2_l_x_plus = "nul" +input_player2_l_x_plus_btn = "nul" +input_player2_l_x_plus_axis = "nul" +input_player2_l_x_plus_mbtn = "nul" +input_player2_l_x_minus = "nul" +input_player2_l_x_minus_btn = "nul" +input_player2_l_x_minus_axis = "nul" +input_player2_l_x_minus_mbtn = "nul" +input_player2_l_y_plus = "nul" +input_player2_l_y_plus_btn = "nul" +input_player2_l_y_plus_axis = "nul" +input_player2_l_y_plus_mbtn = "nul" +input_player2_l_y_minus = "nul" +input_player2_l_y_minus_btn = "nul" +input_player2_l_y_minus_axis = "nul" +input_player2_l_y_minus_mbtn = "nul" +input_player2_r_x_plus = "nul" +input_player2_r_x_plus_btn = "nul" +input_player2_r_x_plus_axis = "nul" +input_player2_r_x_plus_mbtn = "nul" +input_player2_r_x_minus = "nul" +input_player2_r_x_minus_btn = "nul" +input_player2_r_x_minus_axis = "nul" +input_player2_r_x_minus_mbtn = "nul" +input_player2_r_y_plus = "nul" +input_player2_r_y_plus_btn = "nul" +input_player2_r_y_plus_axis = "nul" +input_player2_r_y_plus_mbtn = "nul" +input_player2_r_y_minus = "nul" +input_player2_r_y_minus_btn = "nul" +input_player2_r_y_minus_axis = "nul" +input_player2_r_y_minus_mbtn = "nul" +input_player2_gun_trigger = "nul" +input_player2_gun_trigger_btn = "nul" +input_player2_gun_trigger_axis = "nul" +input_player2_gun_trigger_mbtn = "nul" +input_player2_gun_offscreen_shot = "nul" +input_player2_gun_offscreen_shot_btn = "nul" +input_player2_gun_offscreen_shot_axis = "nul" +input_player2_gun_offscreen_shot_mbtn = "nul" +input_player2_gun_aux_a = "nul" +input_player2_gun_aux_a_btn = "nul" +input_player2_gun_aux_a_axis = "nul" +input_player2_gun_aux_a_mbtn = "nul" +input_player2_gun_aux_b = "nul" +input_player2_gun_aux_b_btn = "nul" +input_player2_gun_aux_b_axis = "nul" +input_player2_gun_aux_b_mbtn = "nul" +input_player2_gun_aux_c = "nul" +input_player2_gun_aux_c_btn = "nul" +input_player2_gun_aux_c_axis = "nul" +input_player2_gun_aux_c_mbtn = "nul" +input_player2_gun_start = "nul" +input_player2_gun_start_btn = "nul" +input_player2_gun_start_axis = "nul" +input_player2_gun_start_mbtn = "nul" +input_player2_gun_select = "nul" +input_player2_gun_select_btn = "nul" +input_player2_gun_select_axis = "nul" +input_player2_gun_select_mbtn = "nul" +input_player2_gun_dpad_up = "nul" +input_player2_gun_dpad_up_btn = "nul" +input_player2_gun_dpad_up_axis = "nul" +input_player2_gun_dpad_up_mbtn = "nul" +input_player2_gun_dpad_down = "nul" +input_player2_gun_dpad_down_btn = "nul" +input_player2_gun_dpad_down_axis = "nul" +input_player2_gun_dpad_down_mbtn = "nul" +input_player2_gun_dpad_left = "nul" +input_player2_gun_dpad_left_btn = "nul" +input_player2_gun_dpad_left_axis = "nul" +input_player2_gun_dpad_left_mbtn = "nul" +input_player2_gun_dpad_right = "nul" +input_player2_gun_dpad_right_btn = "nul" +input_player2_gun_dpad_right_axis = "nul" +input_player2_gun_dpad_right_mbtn = "nul" +input_player2_turbo = "nul" +input_player2_turbo_btn = "nul" +input_player2_turbo_axis = "nul" +input_player2_turbo_mbtn = "nul" +input_player3_b = "nul" +input_player3_b_btn = "nul" +input_player3_b_axis = "nul" +input_player3_b_mbtn = "nul" +input_player3_y = "nul" +input_player3_y_btn = "nul" +input_player3_y_axis = "nul" +input_player3_y_mbtn = "nul" +input_player3_select = "nul" +input_player3_select_btn = "nul" +input_player3_select_axis = "nul" +input_player3_select_mbtn = "nul" +input_player3_start = "nul" +input_player3_start_btn = "nul" +input_player3_start_axis = "nul" +input_player3_start_mbtn = "nul" +input_player3_up = "nul" +input_player3_up_btn = "nul" +input_player3_up_axis = "nul" +input_player3_up_mbtn = "nul" +input_player3_down = "nul" +input_player3_down_btn = "nul" +input_player3_down_axis = "nul" +input_player3_down_mbtn = "nul" +input_player3_left = "nul" +input_player3_left_btn = "nul" +input_player3_left_axis = "nul" +input_player3_left_mbtn = "nul" +input_player3_right = "nul" +input_player3_right_btn = "nul" +input_player3_right_axis = "nul" +input_player3_right_mbtn = "nul" +input_player3_a = "nul" +input_player3_a_btn = "nul" +input_player3_a_axis = "nul" +input_player3_a_mbtn = "nul" +input_player3_x = "nul" +input_player3_x_btn = "nul" +input_player3_x_axis = "nul" +input_player3_x_mbtn = "nul" +input_player3_l = "nul" +input_player3_l_btn = "nul" +input_player3_l_axis = "nul" +input_player3_l_mbtn = "nul" +input_player3_r = "nul" +input_player3_r_btn = "nul" +input_player3_r_axis = "nul" +input_player3_r_mbtn = "nul" +input_player3_l2 = "nul" +input_player3_l2_btn = "nul" +input_player3_l2_axis = "nul" +input_player3_l2_mbtn = "nul" +input_player3_r2 = "nul" +input_player3_r2_btn = "nul" +input_player3_r2_axis = "nul" +input_player3_r2_mbtn = "nul" +input_player3_l3 = "nul" +input_player3_l3_btn = "nul" +input_player3_l3_axis = "nul" +input_player3_l3_mbtn = "nul" +input_player3_r3 = "nul" +input_player3_r3_btn = "nul" +input_player3_r3_axis = "nul" +input_player3_r3_mbtn = "nul" +input_player3_l_x_plus = "nul" +input_player3_l_x_plus_btn = "nul" +input_player3_l_x_plus_axis = "nul" +input_player3_l_x_plus_mbtn = "nul" +input_player3_l_x_minus = "nul" +input_player3_l_x_minus_btn = "nul" +input_player3_l_x_minus_axis = "nul" +input_player3_l_x_minus_mbtn = "nul" +input_player3_l_y_plus = "nul" +input_player3_l_y_plus_btn = "nul" +input_player3_l_y_plus_axis = "nul" +input_player3_l_y_plus_mbtn = "nul" +input_player3_l_y_minus = "nul" +input_player3_l_y_minus_btn = "nul" +input_player3_l_y_minus_axis = "nul" +input_player3_l_y_minus_mbtn = "nul" +input_player3_r_x_plus = "nul" +input_player3_r_x_plus_btn = "nul" +input_player3_r_x_plus_axis = "nul" +input_player3_r_x_plus_mbtn = "nul" +input_player3_r_x_minus = "nul" +input_player3_r_x_minus_btn = "nul" +input_player3_r_x_minus_axis = "nul" +input_player3_r_x_minus_mbtn = "nul" +input_player3_r_y_plus = "nul" +input_player3_r_y_plus_btn = "nul" +input_player3_r_y_plus_axis = "nul" +input_player3_r_y_plus_mbtn = "nul" +input_player3_r_y_minus = "nul" +input_player3_r_y_minus_btn = "nul" +input_player3_r_y_minus_axis = "nul" +input_player3_r_y_minus_mbtn = "nul" +input_player3_gun_trigger = "nul" +input_player3_gun_trigger_btn = "nul" +input_player3_gun_trigger_axis = "nul" +input_player3_gun_trigger_mbtn = "nul" +input_player3_gun_offscreen_shot = "nul" +input_player3_gun_offscreen_shot_btn = "nul" +input_player3_gun_offscreen_shot_axis = "nul" +input_player3_gun_offscreen_shot_mbtn = "nul" +input_player3_gun_aux_a = "nul" +input_player3_gun_aux_a_btn = "nul" +input_player3_gun_aux_a_axis = "nul" +input_player3_gun_aux_a_mbtn = "nul" +input_player3_gun_aux_b = "nul" +input_player3_gun_aux_b_btn = "nul" +input_player3_gun_aux_b_axis = "nul" +input_player3_gun_aux_b_mbtn = "nul" +input_player3_gun_aux_c = "nul" +input_player3_gun_aux_c_btn = "nul" +input_player3_gun_aux_c_axis = "nul" +input_player3_gun_aux_c_mbtn = "nul" +input_player3_gun_start = "nul" +input_player3_gun_start_btn = "nul" +input_player3_gun_start_axis = "nul" +input_player3_gun_start_mbtn = "nul" +input_player3_gun_select = "nul" +input_player3_gun_select_btn = "nul" +input_player3_gun_select_axis = "nul" +input_player3_gun_select_mbtn = "nul" +input_player3_gun_dpad_up = "nul" +input_player3_gun_dpad_up_btn = "nul" +input_player3_gun_dpad_up_axis = "nul" +input_player3_gun_dpad_up_mbtn = "nul" +input_player3_gun_dpad_down = "nul" +input_player3_gun_dpad_down_btn = "nul" +input_player3_gun_dpad_down_axis = "nul" +input_player3_gun_dpad_down_mbtn = "nul" +input_player3_gun_dpad_left = "nul" +input_player3_gun_dpad_left_btn = "nul" +input_player3_gun_dpad_left_axis = "nul" +input_player3_gun_dpad_left_mbtn = "nul" +input_player3_gun_dpad_right = "nul" +input_player3_gun_dpad_right_btn = "nul" +input_player3_gun_dpad_right_axis = "nul" +input_player3_gun_dpad_right_mbtn = "nul" +input_player3_turbo = "nul" +input_player3_turbo_btn = "nul" +input_player3_turbo_axis = "nul" +input_player3_turbo_mbtn = "nul" +input_player4_b = "nul" +input_player4_b_btn = "nul" +input_player4_b_axis = "nul" +input_player4_b_mbtn = "nul" +input_player4_y = "nul" +input_player4_y_btn = "nul" +input_player4_y_axis = "nul" +input_player4_y_mbtn = "nul" +input_player4_select = "nul" +input_player4_select_btn = "nul" +input_player4_select_axis = "nul" +input_player4_select_mbtn = "nul" +input_player4_start = "nul" +input_player4_start_btn = "nul" +input_player4_start_axis = "nul" +input_player4_start_mbtn = "nul" +input_player4_up = "nul" +input_player4_up_btn = "nul" +input_player4_up_axis = "nul" +input_player4_up_mbtn = "nul" +input_player4_down = "nul" +input_player4_down_btn = "nul" +input_player4_down_axis = "nul" +input_player4_down_mbtn = "nul" +input_player4_left = "nul" +input_player4_left_btn = "nul" +input_player4_left_axis = "nul" +input_player4_left_mbtn = "nul" +input_player4_right = "nul" +input_player4_right_btn = "nul" +input_player4_right_axis = "nul" +input_player4_right_mbtn = "nul" +input_player4_a = "nul" +input_player4_a_btn = "nul" +input_player4_a_axis = "nul" +input_player4_a_mbtn = "nul" +input_player4_x = "nul" +input_player4_x_btn = "nul" +input_player4_x_axis = "nul" +input_player4_x_mbtn = "nul" +input_player4_l = "nul" +input_player4_l_btn = "nul" +input_player4_l_axis = "nul" +input_player4_l_mbtn = "nul" +input_player4_r = "nul" +input_player4_r_btn = "nul" +input_player4_r_axis = "nul" +input_player4_r_mbtn = "nul" +input_player4_l2 = "nul" +input_player4_l2_btn = "nul" +input_player4_l2_axis = "nul" +input_player4_l2_mbtn = "nul" +input_player4_r2 = "nul" +input_player4_r2_btn = "nul" +input_player4_r2_axis = "nul" +input_player4_r2_mbtn = "nul" +input_player4_l3 = "nul" +input_player4_l3_btn = "nul" +input_player4_l3_axis = "nul" +input_player4_l3_mbtn = "nul" +input_player4_r3 = "nul" +input_player4_r3_btn = "nul" +input_player4_r3_axis = "nul" +input_player4_r3_mbtn = "nul" +input_player4_l_x_plus = "nul" +input_player4_l_x_plus_btn = "nul" +input_player4_l_x_plus_axis = "nul" +input_player4_l_x_plus_mbtn = "nul" +input_player4_l_x_minus = "nul" +input_player4_l_x_minus_btn = "nul" +input_player4_l_x_minus_axis = "nul" +input_player4_l_x_minus_mbtn = "nul" +input_player4_l_y_plus = "nul" +input_player4_l_y_plus_btn = "nul" +input_player4_l_y_plus_axis = "nul" +input_player4_l_y_plus_mbtn = "nul" +input_player4_l_y_minus = "nul" +input_player4_l_y_minus_btn = "nul" +input_player4_l_y_minus_axis = "nul" +input_player4_l_y_minus_mbtn = "nul" +input_player4_r_x_plus = "nul" +input_player4_r_x_plus_btn = "nul" +input_player4_r_x_plus_axis = "nul" +input_player4_r_x_plus_mbtn = "nul" +input_player4_r_x_minus = "nul" +input_player4_r_x_minus_btn = "nul" +input_player4_r_x_minus_axis = "nul" +input_player4_r_x_minus_mbtn = "nul" +input_player4_r_y_plus = "nul" +input_player4_r_y_plus_btn = "nul" +input_player4_r_y_plus_axis = "nul" +input_player4_r_y_plus_mbtn = "nul" +input_player4_r_y_minus = "nul" +input_player4_r_y_minus_btn = "nul" +input_player4_r_y_minus_axis = "nul" +input_player4_r_y_minus_mbtn = "nul" +input_player4_gun_trigger = "nul" +input_player4_gun_trigger_btn = "nul" +input_player4_gun_trigger_axis = "nul" +input_player4_gun_trigger_mbtn = "nul" +input_player4_gun_offscreen_shot = "nul" +input_player4_gun_offscreen_shot_btn = "nul" +input_player4_gun_offscreen_shot_axis = "nul" +input_player4_gun_offscreen_shot_mbtn = "nul" +input_player4_gun_aux_a = "nul" +input_player4_gun_aux_a_btn = "nul" +input_player4_gun_aux_a_axis = "nul" +input_player4_gun_aux_a_mbtn = "nul" +input_player4_gun_aux_b = "nul" +input_player4_gun_aux_b_btn = "nul" +input_player4_gun_aux_b_axis = "nul" +input_player4_gun_aux_b_mbtn = "nul" +input_player4_gun_aux_c = "nul" +input_player4_gun_aux_c_btn = "nul" +input_player4_gun_aux_c_axis = "nul" +input_player4_gun_aux_c_mbtn = "nul" +input_player4_gun_start = "nul" +input_player4_gun_start_btn = "nul" +input_player4_gun_start_axis = "nul" +input_player4_gun_start_mbtn = "nul" +input_player4_gun_select = "nul" +input_player4_gun_select_btn = "nul" +input_player4_gun_select_axis = "nul" +input_player4_gun_select_mbtn = "nul" +input_player4_gun_dpad_up = "nul" +input_player4_gun_dpad_up_btn = "nul" +input_player4_gun_dpad_up_axis = "nul" +input_player4_gun_dpad_up_mbtn = "nul" +input_player4_gun_dpad_down = "nul" +input_player4_gun_dpad_down_btn = "nul" +input_player4_gun_dpad_down_axis = "nul" +input_player4_gun_dpad_down_mbtn = "nul" +input_player4_gun_dpad_left = "nul" +input_player4_gun_dpad_left_btn = "nul" +input_player4_gun_dpad_left_axis = "nul" +input_player4_gun_dpad_left_mbtn = "nul" +input_player4_gun_dpad_right = "nul" +input_player4_gun_dpad_right_btn = "nul" +input_player4_gun_dpad_right_axis = "nul" +input_player4_gun_dpad_right_mbtn = "nul" +input_player4_turbo = "nul" +input_player4_turbo_btn = "nul" +input_player4_turbo_axis = "nul" +input_player4_turbo_mbtn = "nul" +input_player5_b = "nul" +input_player5_b_btn = "nul" +input_player5_b_axis = "nul" +input_player5_b_mbtn = "nul" +input_player5_y = "nul" +input_player5_y_btn = "nul" +input_player5_y_axis = "nul" +input_player5_y_mbtn = "nul" +input_player5_select = "nul" +input_player5_select_btn = "nul" +input_player5_select_axis = "nul" +input_player5_select_mbtn = "nul" +input_player5_start = "nul" +input_player5_start_btn = "nul" +input_player5_start_axis = "nul" +input_player5_start_mbtn = "nul" +input_player5_up = "nul" +input_player5_up_btn = "nul" +input_player5_up_axis = "nul" +input_player5_up_mbtn = "nul" +input_player5_down = "nul" +input_player5_down_btn = "nul" +input_player5_down_axis = "nul" +input_player5_down_mbtn = "nul" +input_player5_left = "nul" +input_player5_left_btn = "nul" +input_player5_left_axis = "nul" +input_player5_left_mbtn = "nul" +input_player5_right = "nul" +input_player5_right_btn = "nul" +input_player5_right_axis = "nul" +input_player5_right_mbtn = "nul" +input_player5_a = "nul" +input_player5_a_btn = "nul" +input_player5_a_axis = "nul" +input_player5_a_mbtn = "nul" +input_player5_x = "nul" +input_player5_x_btn = "nul" +input_player5_x_axis = "nul" +input_player5_x_mbtn = "nul" +input_player5_l = "nul" +input_player5_l_btn = "nul" +input_player5_l_axis = "nul" +input_player5_l_mbtn = "nul" +input_player5_r = "nul" +input_player5_r_btn = "nul" +input_player5_r_axis = "nul" +input_player5_r_mbtn = "nul" +input_player5_l2 = "nul" +input_player5_l2_btn = "nul" +input_player5_l2_axis = "nul" +input_player5_l2_mbtn = "nul" +input_player5_r2 = "nul" +input_player5_r2_btn = "nul" +input_player5_r2_axis = "nul" +input_player5_r2_mbtn = "nul" +input_player5_l3 = "nul" +input_player5_l3_btn = "nul" +input_player5_l3_axis = "nul" +input_player5_l3_mbtn = "nul" +input_player5_r3 = "nul" +input_player5_r3_btn = "nul" +input_player5_r3_axis = "nul" +input_player5_r3_mbtn = "nul" +input_player5_l_x_plus = "nul" +input_player5_l_x_plus_btn = "nul" +input_player5_l_x_plus_axis = "nul" +input_player5_l_x_plus_mbtn = "nul" +input_player5_l_x_minus = "nul" +input_player5_l_x_minus_btn = "nul" +input_player5_l_x_minus_axis = "nul" +input_player5_l_x_minus_mbtn = "nul" +input_player5_l_y_plus = "nul" +input_player5_l_y_plus_btn = "nul" +input_player5_l_y_plus_axis = "nul" +input_player5_l_y_plus_mbtn = "nul" +input_player5_l_y_minus = "nul" +input_player5_l_y_minus_btn = "nul" +input_player5_l_y_minus_axis = "nul" +input_player5_l_y_minus_mbtn = "nul" +input_player5_r_x_plus = "nul" +input_player5_r_x_plus_btn = "nul" +input_player5_r_x_plus_axis = "nul" +input_player5_r_x_plus_mbtn = "nul" +input_player5_r_x_minus = "nul" +input_player5_r_x_minus_btn = "nul" +input_player5_r_x_minus_axis = "nul" +input_player5_r_x_minus_mbtn = "nul" +input_player5_r_y_plus = "nul" +input_player5_r_y_plus_btn = "nul" +input_player5_r_y_plus_axis = "nul" +input_player5_r_y_plus_mbtn = "nul" +input_player5_r_y_minus = "nul" +input_player5_r_y_minus_btn = "nul" +input_player5_r_y_minus_axis = "nul" +input_player5_r_y_minus_mbtn = "nul" +input_player5_gun_trigger = "nul" +input_player5_gun_trigger_btn = "nul" +input_player5_gun_trigger_axis = "nul" +input_player5_gun_trigger_mbtn = "nul" +input_player5_gun_offscreen_shot = "nul" +input_player5_gun_offscreen_shot_btn = "nul" +input_player5_gun_offscreen_shot_axis = "nul" +input_player5_gun_offscreen_shot_mbtn = "nul" +input_player5_gun_aux_a = "nul" +input_player5_gun_aux_a_btn = "nul" +input_player5_gun_aux_a_axis = "nul" +input_player5_gun_aux_a_mbtn = "nul" +input_player5_gun_aux_b = "nul" +input_player5_gun_aux_b_btn = "nul" +input_player5_gun_aux_b_axis = "nul" +input_player5_gun_aux_b_mbtn = "nul" +input_player5_gun_aux_c = "nul" +input_player5_gun_aux_c_btn = "nul" +input_player5_gun_aux_c_axis = "nul" +input_player5_gun_aux_c_mbtn = "nul" +input_player5_gun_start = "nul" +input_player5_gun_start_btn = "nul" +input_player5_gun_start_axis = "nul" +input_player5_gun_start_mbtn = "nul" +input_player5_gun_select = "nul" +input_player5_gun_select_btn = "nul" +input_player5_gun_select_axis = "nul" +input_player5_gun_select_mbtn = "nul" +input_player5_gun_dpad_up = "nul" +input_player5_gun_dpad_up_btn = "nul" +input_player5_gun_dpad_up_axis = "nul" +input_player5_gun_dpad_up_mbtn = "nul" +input_player5_gun_dpad_down = "nul" +input_player5_gun_dpad_down_btn = "nul" +input_player5_gun_dpad_down_axis = "nul" +input_player5_gun_dpad_down_mbtn = "nul" +input_player5_gun_dpad_left = "nul" +input_player5_gun_dpad_left_btn = "nul" +input_player5_gun_dpad_left_axis = "nul" +input_player5_gun_dpad_left_mbtn = "nul" +input_player5_gun_dpad_right = "nul" +input_player5_gun_dpad_right_btn = "nul" +input_player5_gun_dpad_right_axis = "nul" +input_player5_gun_dpad_right_mbtn = "nul" +input_player5_turbo = "nul" +input_player5_turbo_btn = "nul" +input_player5_turbo_axis = "nul" +input_player5_turbo_mbtn = "nul" +input_player6_b = "nul" +input_player6_b_btn = "nul" +input_player6_b_axis = "nul" +input_player6_b_mbtn = "nul" +input_player6_y = "nul" +input_player6_y_btn = "nul" +input_player6_y_axis = "nul" +input_player6_y_mbtn = "nul" +input_player6_select = "nul" +input_player6_select_btn = "nul" +input_player6_select_axis = "nul" +input_player6_select_mbtn = "nul" +input_player6_start = "nul" +input_player6_start_btn = "nul" +input_player6_start_axis = "nul" +input_player6_start_mbtn = "nul" +input_player6_up = "nul" +input_player6_up_btn = "nul" +input_player6_up_axis = "nul" +input_player6_up_mbtn = "nul" +input_player6_down = "nul" +input_player6_down_btn = "nul" +input_player6_down_axis = "nul" +input_player6_down_mbtn = "nul" +input_player6_left = "nul" +input_player6_left_btn = "nul" +input_player6_left_axis = "nul" +input_player6_left_mbtn = "nul" +input_player6_right = "nul" +input_player6_right_btn = "nul" +input_player6_right_axis = "nul" +input_player6_right_mbtn = "nul" +input_player6_a = "nul" +input_player6_a_btn = "nul" +input_player6_a_axis = "nul" +input_player6_a_mbtn = "nul" +input_player6_x = "nul" +input_player6_x_btn = "nul" +input_player6_x_axis = "nul" +input_player6_x_mbtn = "nul" +input_player6_l = "nul" +input_player6_l_btn = "nul" +input_player6_l_axis = "nul" +input_player6_l_mbtn = "nul" +input_player6_r = "nul" +input_player6_r_btn = "nul" +input_player6_r_axis = "nul" +input_player6_r_mbtn = "nul" +input_player6_l2 = "nul" +input_player6_l2_btn = "nul" +input_player6_l2_axis = "nul" +input_player6_l2_mbtn = "nul" +input_player6_r2 = "nul" +input_player6_r2_btn = "nul" +input_player6_r2_axis = "nul" +input_player6_r2_mbtn = "nul" +input_player6_l3 = "nul" +input_player6_l3_btn = "nul" +input_player6_l3_axis = "nul" +input_player6_l3_mbtn = "nul" +input_player6_r3 = "nul" +input_player6_r3_btn = "nul" +input_player6_r3_axis = "nul" +input_player6_r3_mbtn = "nul" +input_player6_l_x_plus = "nul" +input_player6_l_x_plus_btn = "nul" +input_player6_l_x_plus_axis = "nul" +input_player6_l_x_plus_mbtn = "nul" +input_player6_l_x_minus = "nul" +input_player6_l_x_minus_btn = "nul" +input_player6_l_x_minus_axis = "nul" +input_player6_l_x_minus_mbtn = "nul" +input_player6_l_y_plus = "nul" +input_player6_l_y_plus_btn = "nul" +input_player6_l_y_plus_axis = "nul" +input_player6_l_y_plus_mbtn = "nul" +input_player6_l_y_minus = "nul" +input_player6_l_y_minus_btn = "nul" +input_player6_l_y_minus_axis = "nul" +input_player6_l_y_minus_mbtn = "nul" +input_player6_r_x_plus = "nul" +input_player6_r_x_plus_btn = "nul" +input_player6_r_x_plus_axis = "nul" +input_player6_r_x_plus_mbtn = "nul" +input_player6_r_x_minus = "nul" +input_player6_r_x_minus_btn = "nul" +input_player6_r_x_minus_axis = "nul" +input_player6_r_x_minus_mbtn = "nul" +input_player6_r_y_plus = "nul" +input_player6_r_y_plus_btn = "nul" +input_player6_r_y_plus_axis = "nul" +input_player6_r_y_plus_mbtn = "nul" +input_player6_r_y_minus = "nul" +input_player6_r_y_minus_btn = "nul" +input_player6_r_y_minus_axis = "nul" +input_player6_r_y_minus_mbtn = "nul" +input_player6_gun_trigger = "nul" +input_player6_gun_trigger_btn = "nul" +input_player6_gun_trigger_axis = "nul" +input_player6_gun_trigger_mbtn = "nul" +input_player6_gun_offscreen_shot = "nul" +input_player6_gun_offscreen_shot_btn = "nul" +input_player6_gun_offscreen_shot_axis = "nul" +input_player6_gun_offscreen_shot_mbtn = "nul" +input_player6_gun_aux_a = "nul" +input_player6_gun_aux_a_btn = "nul" +input_player6_gun_aux_a_axis = "nul" +input_player6_gun_aux_a_mbtn = "nul" +input_player6_gun_aux_b = "nul" +input_player6_gun_aux_b_btn = "nul" +input_player6_gun_aux_b_axis = "nul" +input_player6_gun_aux_b_mbtn = "nul" +input_player6_gun_aux_c = "nul" +input_player6_gun_aux_c_btn = "nul" +input_player6_gun_aux_c_axis = "nul" +input_player6_gun_aux_c_mbtn = "nul" +input_player6_gun_start = "nul" +input_player6_gun_start_btn = "nul" +input_player6_gun_start_axis = "nul" +input_player6_gun_start_mbtn = "nul" +input_player6_gun_select = "nul" +input_player6_gun_select_btn = "nul" +input_player6_gun_select_axis = "nul" +input_player6_gun_select_mbtn = "nul" +input_player6_gun_dpad_up = "nul" +input_player6_gun_dpad_up_btn = "nul" +input_player6_gun_dpad_up_axis = "nul" +input_player6_gun_dpad_up_mbtn = "nul" +input_player6_gun_dpad_down = "nul" +input_player6_gun_dpad_down_btn = "nul" +input_player6_gun_dpad_down_axis = "nul" +input_player6_gun_dpad_down_mbtn = "nul" +input_player6_gun_dpad_left = "nul" +input_player6_gun_dpad_left_btn = "nul" +input_player6_gun_dpad_left_axis = "nul" +input_player6_gun_dpad_left_mbtn = "nul" +input_player6_gun_dpad_right = "nul" +input_player6_gun_dpad_right_btn = "nul" +input_player6_gun_dpad_right_axis = "nul" +input_player6_gun_dpad_right_mbtn = "nul" +input_player6_turbo = "nul" +input_player6_turbo_btn = "nul" +input_player6_turbo_axis = "nul" +input_player6_turbo_mbtn = "nul" +input_player7_b = "nul" +input_player7_b_btn = "nul" +input_player7_b_axis = "nul" +input_player7_b_mbtn = "nul" +input_player7_y = "nul" +input_player7_y_btn = "nul" +input_player7_y_axis = "nul" +input_player7_y_mbtn = "nul" +input_player7_select = "nul" +input_player7_select_btn = "nul" +input_player7_select_axis = "nul" +input_player7_select_mbtn = "nul" +input_player7_start = "nul" +input_player7_start_btn = "nul" +input_player7_start_axis = "nul" +input_player7_start_mbtn = "nul" +input_player7_up = "nul" +input_player7_up_btn = "nul" +input_player7_up_axis = "nul" +input_player7_up_mbtn = "nul" +input_player7_down = "nul" +input_player7_down_btn = "nul" +input_player7_down_axis = "nul" +input_player7_down_mbtn = "nul" +input_player7_left = "nul" +input_player7_left_btn = "nul" +input_player7_left_axis = "nul" +input_player7_left_mbtn = "nul" +input_player7_right = "nul" +input_player7_right_btn = "nul" +input_player7_right_axis = "nul" +input_player7_right_mbtn = "nul" +input_player7_a = "nul" +input_player7_a_btn = "nul" +input_player7_a_axis = "nul" +input_player7_a_mbtn = "nul" +input_player7_x = "nul" +input_player7_x_btn = "nul" +input_player7_x_axis = "nul" +input_player7_x_mbtn = "nul" +input_player7_l = "nul" +input_player7_l_btn = "nul" +input_player7_l_axis = "nul" +input_player7_l_mbtn = "nul" +input_player7_r = "nul" +input_player7_r_btn = "nul" +input_player7_r_axis = "nul" +input_player7_r_mbtn = "nul" +input_player7_l2 = "nul" +input_player7_l2_btn = "nul" +input_player7_l2_axis = "nul" +input_player7_l2_mbtn = "nul" +input_player7_r2 = "nul" +input_player7_r2_btn = "nul" +input_player7_r2_axis = "nul" +input_player7_r2_mbtn = "nul" +input_player7_l3 = "nul" +input_player7_l3_btn = "nul" +input_player7_l3_axis = "nul" +input_player7_l3_mbtn = "nul" +input_player7_r3 = "nul" +input_player7_r3_btn = "nul" +input_player7_r3_axis = "nul" +input_player7_r3_mbtn = "nul" +input_player7_l_x_plus = "nul" +input_player7_l_x_plus_btn = "nul" +input_player7_l_x_plus_axis = "nul" +input_player7_l_x_plus_mbtn = "nul" +input_player7_l_x_minus = "nul" +input_player7_l_x_minus_btn = "nul" +input_player7_l_x_minus_axis = "nul" +input_player7_l_x_minus_mbtn = "nul" +input_player7_l_y_plus = "nul" +input_player7_l_y_plus_btn = "nul" +input_player7_l_y_plus_axis = "nul" +input_player7_l_y_plus_mbtn = "nul" +input_player7_l_y_minus = "nul" +input_player7_l_y_minus_btn = "nul" +input_player7_l_y_minus_axis = "nul" +input_player7_l_y_minus_mbtn = "nul" +input_player7_r_x_plus = "nul" +input_player7_r_x_plus_btn = "nul" +input_player7_r_x_plus_axis = "nul" +input_player7_r_x_plus_mbtn = "nul" +input_player7_r_x_minus = "nul" +input_player7_r_x_minus_btn = "nul" +input_player7_r_x_minus_axis = "nul" +input_player7_r_x_minus_mbtn = "nul" +input_player7_r_y_plus = "nul" +input_player7_r_y_plus_btn = "nul" +input_player7_r_y_plus_axis = "nul" +input_player7_r_y_plus_mbtn = "nul" +input_player7_r_y_minus = "nul" +input_player7_r_y_minus_btn = "nul" +input_player7_r_y_minus_axis = "nul" +input_player7_r_y_minus_mbtn = "nul" +input_player7_gun_trigger = "nul" +input_player7_gun_trigger_btn = "nul" +input_player7_gun_trigger_axis = "nul" +input_player7_gun_trigger_mbtn = "nul" +input_player7_gun_offscreen_shot = "nul" +input_player7_gun_offscreen_shot_btn = "nul" +input_player7_gun_offscreen_shot_axis = "nul" +input_player7_gun_offscreen_shot_mbtn = "nul" +input_player7_gun_aux_a = "nul" +input_player7_gun_aux_a_btn = "nul" +input_player7_gun_aux_a_axis = "nul" +input_player7_gun_aux_a_mbtn = "nul" +input_player7_gun_aux_b = "nul" +input_player7_gun_aux_b_btn = "nul" +input_player7_gun_aux_b_axis = "nul" +input_player7_gun_aux_b_mbtn = "nul" +input_player7_gun_aux_c = "nul" +input_player7_gun_aux_c_btn = "nul" +input_player7_gun_aux_c_axis = "nul" +input_player7_gun_aux_c_mbtn = "nul" +input_player7_gun_start = "nul" +input_player7_gun_start_btn = "nul" +input_player7_gun_start_axis = "nul" +input_player7_gun_start_mbtn = "nul" +input_player7_gun_select = "nul" +input_player7_gun_select_btn = "nul" +input_player7_gun_select_axis = "nul" +input_player7_gun_select_mbtn = "nul" +input_player7_gun_dpad_up = "nul" +input_player7_gun_dpad_up_btn = "nul" +input_player7_gun_dpad_up_axis = "nul" +input_player7_gun_dpad_up_mbtn = "nul" +input_player7_gun_dpad_down = "nul" +input_player7_gun_dpad_down_btn = "nul" +input_player7_gun_dpad_down_axis = "nul" +input_player7_gun_dpad_down_mbtn = "nul" +input_player7_gun_dpad_left = "nul" +input_player7_gun_dpad_left_btn = "nul" +input_player7_gun_dpad_left_axis = "nul" +input_player7_gun_dpad_left_mbtn = "nul" +input_player7_gun_dpad_right = "nul" +input_player7_gun_dpad_right_btn = "nul" +input_player7_gun_dpad_right_axis = "nul" +input_player7_gun_dpad_right_mbtn = "nul" +input_player7_turbo = "nul" +input_player7_turbo_btn = "nul" +input_player7_turbo_axis = "nul" +input_player7_turbo_mbtn = "nul" +input_player8_b = "nul" +input_player8_b_btn = "nul" +input_player8_b_axis = "nul" +input_player8_b_mbtn = "nul" +input_player8_y = "nul" +input_player8_y_btn = "nul" +input_player8_y_axis = "nul" +input_player8_y_mbtn = "nul" +input_player8_select = "nul" +input_player8_select_btn = "nul" +input_player8_select_axis = "nul" +input_player8_select_mbtn = "nul" +input_player8_start = "nul" +input_player8_start_btn = "nul" +input_player8_start_axis = "nul" +input_player8_start_mbtn = "nul" +input_player8_up = "nul" +input_player8_up_btn = "nul" +input_player8_up_axis = "nul" +input_player8_up_mbtn = "nul" +input_player8_down = "nul" +input_player8_down_btn = "nul" +input_player8_down_axis = "nul" +input_player8_down_mbtn = "nul" +input_player8_left = "nul" +input_player8_left_btn = "nul" +input_player8_left_axis = "nul" +input_player8_left_mbtn = "nul" +input_player8_right = "nul" +input_player8_right_btn = "nul" +input_player8_right_axis = "nul" +input_player8_right_mbtn = "nul" +input_player8_a = "nul" +input_player8_a_btn = "nul" +input_player8_a_axis = "nul" +input_player8_a_mbtn = "nul" +input_player8_x = "nul" +input_player8_x_btn = "nul" +input_player8_x_axis = "nul" +input_player8_x_mbtn = "nul" +input_player8_l = "nul" +input_player8_l_btn = "nul" +input_player8_l_axis = "nul" +input_player8_l_mbtn = "nul" +input_player8_r = "nul" +input_player8_r_btn = "nul" +input_player8_r_axis = "nul" +input_player8_r_mbtn = "nul" +input_player8_l2 = "nul" +input_player8_l2_btn = "nul" +input_player8_l2_axis = "nul" +input_player8_l2_mbtn = "nul" +input_player8_r2 = "nul" +input_player8_r2_btn = "nul" +input_player8_r2_axis = "nul" +input_player8_r2_mbtn = "nul" +input_player8_l3 = "nul" +input_player8_l3_btn = "nul" +input_player8_l3_axis = "nul" +input_player8_l3_mbtn = "nul" +input_player8_r3 = "nul" +input_player8_r3_btn = "nul" +input_player8_r3_axis = "nul" +input_player8_r3_mbtn = "nul" +input_player8_l_x_plus = "nul" +input_player8_l_x_plus_btn = "nul" +input_player8_l_x_plus_axis = "nul" +input_player8_l_x_plus_mbtn = "nul" +input_player8_l_x_minus = "nul" +input_player8_l_x_minus_btn = "nul" +input_player8_l_x_minus_axis = "nul" +input_player8_l_x_minus_mbtn = "nul" +input_player8_l_y_plus = "nul" +input_player8_l_y_plus_btn = "nul" +input_player8_l_y_plus_axis = "nul" +input_player8_l_y_plus_mbtn = "nul" +input_player8_l_y_minus = "nul" +input_player8_l_y_minus_btn = "nul" +input_player8_l_y_minus_axis = "nul" +input_player8_l_y_minus_mbtn = "nul" +input_player8_r_x_plus = "nul" +input_player8_r_x_plus_btn = "nul" +input_player8_r_x_plus_axis = "nul" +input_player8_r_x_plus_mbtn = "nul" +input_player8_r_x_minus = "nul" +input_player8_r_x_minus_btn = "nul" +input_player8_r_x_minus_axis = "nul" +input_player8_r_x_minus_mbtn = "nul" +input_player8_r_y_plus = "nul" +input_player8_r_y_plus_btn = "nul" +input_player8_r_y_plus_axis = "nul" +input_player8_r_y_plus_mbtn = "nul" +input_player8_r_y_minus = "nul" +input_player8_r_y_minus_btn = "nul" +input_player8_r_y_minus_axis = "nul" +input_player8_r_y_minus_mbtn = "nul" +input_player8_gun_trigger = "nul" +input_player8_gun_trigger_btn = "nul" +input_player8_gun_trigger_axis = "nul" +input_player8_gun_trigger_mbtn = "nul" +input_player8_gun_offscreen_shot = "nul" +input_player8_gun_offscreen_shot_btn = "nul" +input_player8_gun_offscreen_shot_axis = "nul" +input_player8_gun_offscreen_shot_mbtn = "nul" +input_player8_gun_aux_a = "nul" +input_player8_gun_aux_a_btn = "nul" +input_player8_gun_aux_a_axis = "nul" +input_player8_gun_aux_a_mbtn = "nul" +input_player8_gun_aux_b = "nul" +input_player8_gun_aux_b_btn = "nul" +input_player8_gun_aux_b_axis = "nul" +input_player8_gun_aux_b_mbtn = "nul" +input_player8_gun_aux_c = "nul" +input_player8_gun_aux_c_btn = "nul" +input_player8_gun_aux_c_axis = "nul" +input_player8_gun_aux_c_mbtn = "nul" +input_player8_gun_start = "nul" +input_player8_gun_start_btn = "nul" +input_player8_gun_start_axis = "nul" +input_player8_gun_start_mbtn = "nul" +input_player8_gun_select = "nul" +input_player8_gun_select_btn = "nul" +input_player8_gun_select_axis = "nul" +input_player8_gun_select_mbtn = "nul" +input_player8_gun_dpad_up = "nul" +input_player8_gun_dpad_up_btn = "nul" +input_player8_gun_dpad_up_axis = "nul" +input_player8_gun_dpad_up_mbtn = "nul" +input_player8_gun_dpad_down = "nul" +input_player8_gun_dpad_down_btn = "nul" +input_player8_gun_dpad_down_axis = "nul" +input_player8_gun_dpad_down_mbtn = "nul" +input_player8_gun_dpad_left = "nul" +input_player8_gun_dpad_left_btn = "nul" +input_player8_gun_dpad_left_axis = "nul" +input_player8_gun_dpad_left_mbtn = "nul" +input_player8_gun_dpad_right = "nul" +input_player8_gun_dpad_right_btn = "nul" +input_player8_gun_dpad_right_axis = "nul" +input_player8_gun_dpad_right_mbtn = "nul" +input_player8_turbo = "nul" +input_player8_turbo_btn = "nul" +input_player8_turbo_axis = "nul" +input_player8_turbo_mbtn = "nul" +input_player9_b = "nul" +input_player9_b_btn = "nul" +input_player9_b_axis = "nul" +input_player9_b_mbtn = "nul" +input_player9_y = "nul" +input_player9_y_btn = "nul" +input_player9_y_axis = "nul" +input_player9_y_mbtn = "nul" +input_player9_select = "nul" +input_player9_select_btn = "nul" +input_player9_select_axis = "nul" +input_player9_select_mbtn = "nul" +input_player9_start = "nul" +input_player9_start_btn = "nul" +input_player9_start_axis = "nul" +input_player9_start_mbtn = "nul" +input_player9_up = "nul" +input_player9_up_btn = "nul" +input_player9_up_axis = "nul" +input_player9_up_mbtn = "nul" +input_player9_down = "nul" +input_player9_down_btn = "nul" +input_player9_down_axis = "nul" +input_player9_down_mbtn = "nul" +input_player9_left = "nul" +input_player9_left_btn = "nul" +input_player9_left_axis = "nul" +input_player9_left_mbtn = "nul" +input_player9_right = "nul" +input_player9_right_btn = "nul" +input_player9_right_axis = "nul" +input_player9_right_mbtn = "nul" +input_player9_a = "nul" +input_player9_a_btn = "nul" +input_player9_a_axis = "nul" +input_player9_a_mbtn = "nul" +input_player9_x = "nul" +input_player9_x_btn = "nul" +input_player9_x_axis = "nul" +input_player9_x_mbtn = "nul" +input_player9_l = "nul" +input_player9_l_btn = "nul" +input_player9_l_axis = "nul" +input_player9_l_mbtn = "nul" +input_player9_r = "nul" +input_player9_r_btn = "nul" +input_player9_r_axis = "nul" +input_player9_r_mbtn = "nul" +input_player9_l2 = "nul" +input_player9_l2_btn = "nul" +input_player9_l2_axis = "nul" +input_player9_l2_mbtn = "nul" +input_player9_r2 = "nul" +input_player9_r2_btn = "nul" +input_player9_r2_axis = "nul" +input_player9_r2_mbtn = "nul" +input_player9_l3 = "nul" +input_player9_l3_btn = "nul" +input_player9_l3_axis = "nul" +input_player9_l3_mbtn = "nul" +input_player9_r3 = "nul" +input_player9_r3_btn = "nul" +input_player9_r3_axis = "nul" +input_player9_r3_mbtn = "nul" +input_player9_l_x_plus = "nul" +input_player9_l_x_plus_btn = "nul" +input_player9_l_x_plus_axis = "nul" +input_player9_l_x_plus_mbtn = "nul" +input_player9_l_x_minus = "nul" +input_player9_l_x_minus_btn = "nul" +input_player9_l_x_minus_axis = "nul" +input_player9_l_x_minus_mbtn = "nul" +input_player9_l_y_plus = "nul" +input_player9_l_y_plus_btn = "nul" +input_player9_l_y_plus_axis = "nul" +input_player9_l_y_plus_mbtn = "nul" +input_player9_l_y_minus = "nul" +input_player9_l_y_minus_btn = "nul" +input_player9_l_y_minus_axis = "nul" +input_player9_l_y_minus_mbtn = "nul" +input_player9_r_x_plus = "nul" +input_player9_r_x_plus_btn = "nul" +input_player9_r_x_plus_axis = "nul" +input_player9_r_x_plus_mbtn = "nul" +input_player9_r_x_minus = "nul" +input_player9_r_x_minus_btn = "nul" +input_player9_r_x_minus_axis = "nul" +input_player9_r_x_minus_mbtn = "nul" +input_player9_r_y_plus = "nul" +input_player9_r_y_plus_btn = "nul" +input_player9_r_y_plus_axis = "nul" +input_player9_r_y_plus_mbtn = "nul" +input_player9_r_y_minus = "nul" +input_player9_r_y_minus_btn = "nul" +input_player9_r_y_minus_axis = "nul" +input_player9_r_y_minus_mbtn = "nul" +input_player9_gun_trigger = "nul" +input_player9_gun_trigger_btn = "nul" +input_player9_gun_trigger_axis = "nul" +input_player9_gun_trigger_mbtn = "nul" +input_player9_gun_offscreen_shot = "nul" +input_player9_gun_offscreen_shot_btn = "nul" +input_player9_gun_offscreen_shot_axis = "nul" +input_player9_gun_offscreen_shot_mbtn = "nul" +input_player9_gun_aux_a = "nul" +input_player9_gun_aux_a_btn = "nul" +input_player9_gun_aux_a_axis = "nul" +input_player9_gun_aux_a_mbtn = "nul" +input_player9_gun_aux_b = "nul" +input_player9_gun_aux_b_btn = "nul" +input_player9_gun_aux_b_axis = "nul" +input_player9_gun_aux_b_mbtn = "nul" +input_player9_gun_aux_c = "nul" +input_player9_gun_aux_c_btn = "nul" +input_player9_gun_aux_c_axis = "nul" +input_player9_gun_aux_c_mbtn = "nul" +input_player9_gun_start = "nul" +input_player9_gun_start_btn = "nul" +input_player9_gun_start_axis = "nul" +input_player9_gun_start_mbtn = "nul" +input_player9_gun_select = "nul" +input_player9_gun_select_btn = "nul" +input_player9_gun_select_axis = "nul" +input_player9_gun_select_mbtn = "nul" +input_player9_gun_dpad_up = "nul" +input_player9_gun_dpad_up_btn = "nul" +input_player9_gun_dpad_up_axis = "nul" +input_player9_gun_dpad_up_mbtn = "nul" +input_player9_gun_dpad_down = "nul" +input_player9_gun_dpad_down_btn = "nul" +input_player9_gun_dpad_down_axis = "nul" +input_player9_gun_dpad_down_mbtn = "nul" +input_player9_gun_dpad_left = "nul" +input_player9_gun_dpad_left_btn = "nul" +input_player9_gun_dpad_left_axis = "nul" +input_player9_gun_dpad_left_mbtn = "nul" +input_player9_gun_dpad_right = "nul" +input_player9_gun_dpad_right_btn = "nul" +input_player9_gun_dpad_right_axis = "nul" +input_player9_gun_dpad_right_mbtn = "nul" +input_player9_turbo = "nul" +input_player9_turbo_btn = "nul" +input_player9_turbo_axis = "nul" +input_player9_turbo_mbtn = "nul" +input_player10_b = "nul" +input_player10_b_btn = "nul" +input_player10_b_axis = "nul" +input_player10_b_mbtn = "nul" +input_player10_y = "nul" +input_player10_y_btn = "nul" +input_player10_y_axis = "nul" +input_player10_y_mbtn = "nul" +input_player10_select = "nul" +input_player10_select_btn = "nul" +input_player10_select_axis = "nul" +input_player10_select_mbtn = "nul" +input_player10_start = "nul" +input_player10_start_btn = "nul" +input_player10_start_axis = "nul" +input_player10_start_mbtn = "nul" +input_player10_up = "nul" +input_player10_up_btn = "nul" +input_player10_up_axis = "nul" +input_player10_up_mbtn = "nul" +input_player10_down = "nul" +input_player10_down_btn = "nul" +input_player10_down_axis = "nul" +input_player10_down_mbtn = "nul" +input_player10_left = "nul" +input_player10_left_btn = "nul" +input_player10_left_axis = "nul" +input_player10_left_mbtn = "nul" +input_player10_right = "nul" +input_player10_right_btn = "nul" +input_player10_right_axis = "nul" +input_player10_right_mbtn = "nul" +input_player10_a = "nul" +input_player10_a_btn = "nul" +input_player10_a_axis = "nul" +input_player10_a_mbtn = "nul" +input_player10_x = "nul" +input_player10_x_btn = "nul" +input_player10_x_axis = "nul" +input_player10_x_mbtn = "nul" +input_player10_l = "nul" +input_player10_l_btn = "nul" +input_player10_l_axis = "nul" +input_player10_l_mbtn = "nul" +input_player10_r = "nul" +input_player10_r_btn = "nul" +input_player10_r_axis = "nul" +input_player10_r_mbtn = "nul" +input_player10_l2 = "nul" +input_player10_l2_btn = "nul" +input_player10_l2_axis = "nul" +input_player10_l2_mbtn = "nul" +input_player10_r2 = "nul" +input_player10_r2_btn = "nul" +input_player10_r2_axis = "nul" +input_player10_r2_mbtn = "nul" +input_player10_l3 = "nul" +input_player10_l3_btn = "nul" +input_player10_l3_axis = "nul" +input_player10_l3_mbtn = "nul" +input_player10_r3 = "nul" +input_player10_r3_btn = "nul" +input_player10_r3_axis = "nul" +input_player10_r3_mbtn = "nul" +input_player10_l_x_plus = "nul" +input_player10_l_x_plus_btn = "nul" +input_player10_l_x_plus_axis = "nul" +input_player10_l_x_plus_mbtn = "nul" +input_player10_l_x_minus = "nul" +input_player10_l_x_minus_btn = "nul" +input_player10_l_x_minus_axis = "nul" +input_player10_l_x_minus_mbtn = "nul" +input_player10_l_y_plus = "nul" +input_player10_l_y_plus_btn = "nul" +input_player10_l_y_plus_axis = "nul" +input_player10_l_y_plus_mbtn = "nul" +input_player10_l_y_minus = "nul" +input_player10_l_y_minus_btn = "nul" +input_player10_l_y_minus_axis = "nul" +input_player10_l_y_minus_mbtn = "nul" +input_player10_r_x_plus = "nul" +input_player10_r_x_plus_btn = "nul" +input_player10_r_x_plus_axis = "nul" +input_player10_r_x_plus_mbtn = "nul" +input_player10_r_x_minus = "nul" +input_player10_r_x_minus_btn = "nul" +input_player10_r_x_minus_axis = "nul" +input_player10_r_x_minus_mbtn = "nul" +input_player10_r_y_plus = "nul" +input_player10_r_y_plus_btn = "nul" +input_player10_r_y_plus_axis = "nul" +input_player10_r_y_plus_mbtn = "nul" +input_player10_r_y_minus = "nul" +input_player10_r_y_minus_btn = "nul" +input_player10_r_y_minus_axis = "nul" +input_player10_r_y_minus_mbtn = "nul" +input_player10_gun_trigger = "nul" +input_player10_gun_trigger_btn = "nul" +input_player10_gun_trigger_axis = "nul" +input_player10_gun_trigger_mbtn = "nul" +input_player10_gun_offscreen_shot = "nul" +input_player10_gun_offscreen_shot_btn = "nul" +input_player10_gun_offscreen_shot_axis = "nul" +input_player10_gun_offscreen_shot_mbtn = "nul" +input_player10_gun_aux_a = "nul" +input_player10_gun_aux_a_btn = "nul" +input_player10_gun_aux_a_axis = "nul" +input_player10_gun_aux_a_mbtn = "nul" +input_player10_gun_aux_b = "nul" +input_player10_gun_aux_b_btn = "nul" +input_player10_gun_aux_b_axis = "nul" +input_player10_gun_aux_b_mbtn = "nul" +input_player10_gun_aux_c = "nul" +input_player10_gun_aux_c_btn = "nul" +input_player10_gun_aux_c_axis = "nul" +input_player10_gun_aux_c_mbtn = "nul" +input_player10_gun_start = "nul" +input_player10_gun_start_btn = "nul" +input_player10_gun_start_axis = "nul" +input_player10_gun_start_mbtn = "nul" +input_player10_gun_select = "nul" +input_player10_gun_select_btn = "nul" +input_player10_gun_select_axis = "nul" +input_player10_gun_select_mbtn = "nul" +input_player10_gun_dpad_up = "nul" +input_player10_gun_dpad_up_btn = "nul" +input_player10_gun_dpad_up_axis = "nul" +input_player10_gun_dpad_up_mbtn = "nul" +input_player10_gun_dpad_down = "nul" +input_player10_gun_dpad_down_btn = "nul" +input_player10_gun_dpad_down_axis = "nul" +input_player10_gun_dpad_down_mbtn = "nul" +input_player10_gun_dpad_left = "nul" +input_player10_gun_dpad_left_btn = "nul" +input_player10_gun_dpad_left_axis = "nul" +input_player10_gun_dpad_left_mbtn = "nul" +input_player10_gun_dpad_right = "nul" +input_player10_gun_dpad_right_btn = "nul" +input_player10_gun_dpad_right_axis = "nul" +input_player10_gun_dpad_right_mbtn = "nul" +input_player10_turbo = "nul" +input_player10_turbo_btn = "nul" +input_player10_turbo_axis = "nul" +input_player10_turbo_mbtn = "nul" +input_player11_b = "nul" +input_player11_b_btn = "nul" +input_player11_b_axis = "nul" +input_player11_b_mbtn = "nul" +input_player11_y = "nul" +input_player11_y_btn = "nul" +input_player11_y_axis = "nul" +input_player11_y_mbtn = "nul" +input_player11_select = "nul" +input_player11_select_btn = "nul" +input_player11_select_axis = "nul" +input_player11_select_mbtn = "nul" +input_player11_start = "nul" +input_player11_start_btn = "nul" +input_player11_start_axis = "nul" +input_player11_start_mbtn = "nul" +input_player11_up = "nul" +input_player11_up_btn = "nul" +input_player11_up_axis = "nul" +input_player11_up_mbtn = "nul" +input_player11_down = "nul" +input_player11_down_btn = "nul" +input_player11_down_axis = "nul" +input_player11_down_mbtn = "nul" +input_player11_left = "nul" +input_player11_left_btn = "nul" +input_player11_left_axis = "nul" +input_player11_left_mbtn = "nul" +input_player11_right = "nul" +input_player11_right_btn = "nul" +input_player11_right_axis = "nul" +input_player11_right_mbtn = "nul" +input_player11_a = "nul" +input_player11_a_btn = "nul" +input_player11_a_axis = "nul" +input_player11_a_mbtn = "nul" +input_player11_x = "nul" +input_player11_x_btn = "nul" +input_player11_x_axis = "nul" +input_player11_x_mbtn = "nul" +input_player11_l = "nul" +input_player11_l_btn = "nul" +input_player11_l_axis = "nul" +input_player11_l_mbtn = "nul" +input_player11_r = "nul" +input_player11_r_btn = "nul" +input_player11_r_axis = "nul" +input_player11_r_mbtn = "nul" +input_player11_l2 = "nul" +input_player11_l2_btn = "nul" +input_player11_l2_axis = "nul" +input_player11_l2_mbtn = "nul" +input_player11_r2 = "nul" +input_player11_r2_btn = "nul" +input_player11_r2_axis = "nul" +input_player11_r2_mbtn = "nul" +input_player11_l3 = "nul" +input_player11_l3_btn = "nul" +input_player11_l3_axis = "nul" +input_player11_l3_mbtn = "nul" +input_player11_r3 = "nul" +input_player11_r3_btn = "nul" +input_player11_r3_axis = "nul" +input_player11_r3_mbtn = "nul" +input_player11_l_x_plus = "nul" +input_player11_l_x_plus_btn = "nul" +input_player11_l_x_plus_axis = "nul" +input_player11_l_x_plus_mbtn = "nul" +input_player11_l_x_minus = "nul" +input_player11_l_x_minus_btn = "nul" +input_player11_l_x_minus_axis = "nul" +input_player11_l_x_minus_mbtn = "nul" +input_player11_l_y_plus = "nul" +input_player11_l_y_plus_btn = "nul" +input_player11_l_y_plus_axis = "nul" +input_player11_l_y_plus_mbtn = "nul" +input_player11_l_y_minus = "nul" +input_player11_l_y_minus_btn = "nul" +input_player11_l_y_minus_axis = "nul" +input_player11_l_y_minus_mbtn = "nul" +input_player11_r_x_plus = "nul" +input_player11_r_x_plus_btn = "nul" +input_player11_r_x_plus_axis = "nul" +input_player11_r_x_plus_mbtn = "nul" +input_player11_r_x_minus = "nul" +input_player11_r_x_minus_btn = "nul" +input_player11_r_x_minus_axis = "nul" +input_player11_r_x_minus_mbtn = "nul" +input_player11_r_y_plus = "nul" +input_player11_r_y_plus_btn = "nul" +input_player11_r_y_plus_axis = "nul" +input_player11_r_y_plus_mbtn = "nul" +input_player11_r_y_minus = "nul" +input_player11_r_y_minus_btn = "nul" +input_player11_r_y_minus_axis = "nul" +input_player11_r_y_minus_mbtn = "nul" +input_player11_gun_trigger = "nul" +input_player11_gun_trigger_btn = "nul" +input_player11_gun_trigger_axis = "nul" +input_player11_gun_trigger_mbtn = "nul" +input_player11_gun_offscreen_shot = "nul" +input_player11_gun_offscreen_shot_btn = "nul" +input_player11_gun_offscreen_shot_axis = "nul" +input_player11_gun_offscreen_shot_mbtn = "nul" +input_player11_gun_aux_a = "nul" +input_player11_gun_aux_a_btn = "nul" +input_player11_gun_aux_a_axis = "nul" +input_player11_gun_aux_a_mbtn = "nul" +input_player11_gun_aux_b = "nul" +input_player11_gun_aux_b_btn = "nul" +input_player11_gun_aux_b_axis = "nul" +input_player11_gun_aux_b_mbtn = "nul" +input_player11_gun_aux_c = "nul" +input_player11_gun_aux_c_btn = "nul" +input_player11_gun_aux_c_axis = "nul" +input_player11_gun_aux_c_mbtn = "nul" +input_player11_gun_start = "nul" +input_player11_gun_start_btn = "nul" +input_player11_gun_start_axis = "nul" +input_player11_gun_start_mbtn = "nul" +input_player11_gun_select = "nul" +input_player11_gun_select_btn = "nul" +input_player11_gun_select_axis = "nul" +input_player11_gun_select_mbtn = "nul" +input_player11_gun_dpad_up = "nul" +input_player11_gun_dpad_up_btn = "nul" +input_player11_gun_dpad_up_axis = "nul" +input_player11_gun_dpad_up_mbtn = "nul" +input_player11_gun_dpad_down = "nul" +input_player11_gun_dpad_down_btn = "nul" +input_player11_gun_dpad_down_axis = "nul" +input_player11_gun_dpad_down_mbtn = "nul" +input_player11_gun_dpad_left = "nul" +input_player11_gun_dpad_left_btn = "nul" +input_player11_gun_dpad_left_axis = "nul" +input_player11_gun_dpad_left_mbtn = "nul" +input_player11_gun_dpad_right = "nul" +input_player11_gun_dpad_right_btn = "nul" +input_player11_gun_dpad_right_axis = "nul" +input_player11_gun_dpad_right_mbtn = "nul" +input_player11_turbo = "nul" +input_player11_turbo_btn = "nul" +input_player11_turbo_axis = "nul" +input_player11_turbo_mbtn = "nul" +input_player12_b = "nul" +input_player12_b_btn = "nul" +input_player12_b_axis = "nul" +input_player12_b_mbtn = "nul" +input_player12_y = "nul" +input_player12_y_btn = "nul" +input_player12_y_axis = "nul" +input_player12_y_mbtn = "nul" +input_player12_select = "nul" +input_player12_select_btn = "nul" +input_player12_select_axis = "nul" +input_player12_select_mbtn = "nul" +input_player12_start = "nul" +input_player12_start_btn = "nul" +input_player12_start_axis = "nul" +input_player12_start_mbtn = "nul" +input_player12_up = "nul" +input_player12_up_btn = "nul" +input_player12_up_axis = "nul" +input_player12_up_mbtn = "nul" +input_player12_down = "nul" +input_player12_down_btn = "nul" +input_player12_down_axis = "nul" +input_player12_down_mbtn = "nul" +input_player12_left = "nul" +input_player12_left_btn = "nul" +input_player12_left_axis = "nul" +input_player12_left_mbtn = "nul" +input_player12_right = "nul" +input_player12_right_btn = "nul" +input_player12_right_axis = "nul" +input_player12_right_mbtn = "nul" +input_player12_a = "nul" +input_player12_a_btn = "nul" +input_player12_a_axis = "nul" +input_player12_a_mbtn = "nul" +input_player12_x = "nul" +input_player12_x_btn = "nul" +input_player12_x_axis = "nul" +input_player12_x_mbtn = "nul" +input_player12_l = "nul" +input_player12_l_btn = "nul" +input_player12_l_axis = "nul" +input_player12_l_mbtn = "nul" +input_player12_r = "nul" +input_player12_r_btn = "nul" +input_player12_r_axis = "nul" +input_player12_r_mbtn = "nul" +input_player12_l2 = "nul" +input_player12_l2_btn = "nul" +input_player12_l2_axis = "nul" +input_player12_l2_mbtn = "nul" +input_player12_r2 = "nul" +input_player12_r2_btn = "nul" +input_player12_r2_axis = "nul" +input_player12_r2_mbtn = "nul" +input_player12_l3 = "nul" +input_player12_l3_btn = "nul" +input_player12_l3_axis = "nul" +input_player12_l3_mbtn = "nul" +input_player12_r3 = "nul" +input_player12_r3_btn = "nul" +input_player12_r3_axis = "nul" +input_player12_r3_mbtn = "nul" +input_player12_l_x_plus = "nul" +input_player12_l_x_plus_btn = "nul" +input_player12_l_x_plus_axis = "nul" +input_player12_l_x_plus_mbtn = "nul" +input_player12_l_x_minus = "nul" +input_player12_l_x_minus_btn = "nul" +input_player12_l_x_minus_axis = "nul" +input_player12_l_x_minus_mbtn = "nul" +input_player12_l_y_plus = "nul" +input_player12_l_y_plus_btn = "nul" +input_player12_l_y_plus_axis = "nul" +input_player12_l_y_plus_mbtn = "nul" +input_player12_l_y_minus = "nul" +input_player12_l_y_minus_btn = "nul" +input_player12_l_y_minus_axis = "nul" +input_player12_l_y_minus_mbtn = "nul" +input_player12_r_x_plus = "nul" +input_player12_r_x_plus_btn = "nul" +input_player12_r_x_plus_axis = "nul" +input_player12_r_x_plus_mbtn = "nul" +input_player12_r_x_minus = "nul" +input_player12_r_x_minus_btn = "nul" +input_player12_r_x_minus_axis = "nul" +input_player12_r_x_minus_mbtn = "nul" +input_player12_r_y_plus = "nul" +input_player12_r_y_plus_btn = "nul" +input_player12_r_y_plus_axis = "nul" +input_player12_r_y_plus_mbtn = "nul" +input_player12_r_y_minus = "nul" +input_player12_r_y_minus_btn = "nul" +input_player12_r_y_minus_axis = "nul" +input_player12_r_y_minus_mbtn = "nul" +input_player12_gun_trigger = "nul" +input_player12_gun_trigger_btn = "nul" +input_player12_gun_trigger_axis = "nul" +input_player12_gun_trigger_mbtn = "nul" +input_player12_gun_offscreen_shot = "nul" +input_player12_gun_offscreen_shot_btn = "nul" +input_player12_gun_offscreen_shot_axis = "nul" +input_player12_gun_offscreen_shot_mbtn = "nul" +input_player12_gun_aux_a = "nul" +input_player12_gun_aux_a_btn = "nul" +input_player12_gun_aux_a_axis = "nul" +input_player12_gun_aux_a_mbtn = "nul" +input_player12_gun_aux_b = "nul" +input_player12_gun_aux_b_btn = "nul" +input_player12_gun_aux_b_axis = "nul" +input_player12_gun_aux_b_mbtn = "nul" +input_player12_gun_aux_c = "nul" +input_player12_gun_aux_c_btn = "nul" +input_player12_gun_aux_c_axis = "nul" +input_player12_gun_aux_c_mbtn = "nul" +input_player12_gun_start = "nul" +input_player12_gun_start_btn = "nul" +input_player12_gun_start_axis = "nul" +input_player12_gun_start_mbtn = "nul" +input_player12_gun_select = "nul" +input_player12_gun_select_btn = "nul" +input_player12_gun_select_axis = "nul" +input_player12_gun_select_mbtn = "nul" +input_player12_gun_dpad_up = "nul" +input_player12_gun_dpad_up_btn = "nul" +input_player12_gun_dpad_up_axis = "nul" +input_player12_gun_dpad_up_mbtn = "nul" +input_player12_gun_dpad_down = "nul" +input_player12_gun_dpad_down_btn = "nul" +input_player12_gun_dpad_down_axis = "nul" +input_player12_gun_dpad_down_mbtn = "nul" +input_player12_gun_dpad_left = "nul" +input_player12_gun_dpad_left_btn = "nul" +input_player12_gun_dpad_left_axis = "nul" +input_player12_gun_dpad_left_mbtn = "nul" +input_player12_gun_dpad_right = "nul" +input_player12_gun_dpad_right_btn = "nul" +input_player12_gun_dpad_right_axis = "nul" +input_player12_gun_dpad_right_mbtn = "nul" +input_player12_turbo = "nul" +input_player12_turbo_btn = "nul" +input_player12_turbo_axis = "nul" +input_player12_turbo_mbtn = "nul" +input_player13_b = "nul" +input_player13_b_btn = "nul" +input_player13_b_axis = "nul" +input_player13_b_mbtn = "nul" +input_player13_y = "nul" +input_player13_y_btn = "nul" +input_player13_y_axis = "nul" +input_player13_y_mbtn = "nul" +input_player13_select = "nul" +input_player13_select_btn = "nul" +input_player13_select_axis = "nul" +input_player13_select_mbtn = "nul" +input_player13_start = "nul" +input_player13_start_btn = "nul" +input_player13_start_axis = "nul" +input_player13_start_mbtn = "nul" +input_player13_up = "nul" +input_player13_up_btn = "nul" +input_player13_up_axis = "nul" +input_player13_up_mbtn = "nul" +input_player13_down = "nul" +input_player13_down_btn = "nul" +input_player13_down_axis = "nul" +input_player13_down_mbtn = "nul" +input_player13_left = "nul" +input_player13_left_btn = "nul" +input_player13_left_axis = "nul" +input_player13_left_mbtn = "nul" +input_player13_right = "nul" +input_player13_right_btn = "nul" +input_player13_right_axis = "nul" +input_player13_right_mbtn = "nul" +input_player13_a = "nul" +input_player13_a_btn = "nul" +input_player13_a_axis = "nul" +input_player13_a_mbtn = "nul" +input_player13_x = "nul" +input_player13_x_btn = "nul" +input_player13_x_axis = "nul" +input_player13_x_mbtn = "nul" +input_player13_l = "nul" +input_player13_l_btn = "nul" +input_player13_l_axis = "nul" +input_player13_l_mbtn = "nul" +input_player13_r = "nul" +input_player13_r_btn = "nul" +input_player13_r_axis = "nul" +input_player13_r_mbtn = "nul" +input_player13_l2 = "nul" +input_player13_l2_btn = "nul" +input_player13_l2_axis = "nul" +input_player13_l2_mbtn = "nul" +input_player13_r2 = "nul" +input_player13_r2_btn = "nul" +input_player13_r2_axis = "nul" +input_player13_r2_mbtn = "nul" +input_player13_l3 = "nul" +input_player13_l3_btn = "nul" +input_player13_l3_axis = "nul" +input_player13_l3_mbtn = "nul" +input_player13_r3 = "nul" +input_player13_r3_btn = "nul" +input_player13_r3_axis = "nul" +input_player13_r3_mbtn = "nul" +input_player13_l_x_plus = "nul" +input_player13_l_x_plus_btn = "nul" +input_player13_l_x_plus_axis = "nul" +input_player13_l_x_plus_mbtn = "nul" +input_player13_l_x_minus = "nul" +input_player13_l_x_minus_btn = "nul" +input_player13_l_x_minus_axis = "nul" +input_player13_l_x_minus_mbtn = "nul" +input_player13_l_y_plus = "nul" +input_player13_l_y_plus_btn = "nul" +input_player13_l_y_plus_axis = "nul" +input_player13_l_y_plus_mbtn = "nul" +input_player13_l_y_minus = "nul" +input_player13_l_y_minus_btn = "nul" +input_player13_l_y_minus_axis = "nul" +input_player13_l_y_minus_mbtn = "nul" +input_player13_r_x_plus = "nul" +input_player13_r_x_plus_btn = "nul" +input_player13_r_x_plus_axis = "nul" +input_player13_r_x_plus_mbtn = "nul" +input_player13_r_x_minus = "nul" +input_player13_r_x_minus_btn = "nul" +input_player13_r_x_minus_axis = "nul" +input_player13_r_x_minus_mbtn = "nul" +input_player13_r_y_plus = "nul" +input_player13_r_y_plus_btn = "nul" +input_player13_r_y_plus_axis = "nul" +input_player13_r_y_plus_mbtn = "nul" +input_player13_r_y_minus = "nul" +input_player13_r_y_minus_btn = "nul" +input_player13_r_y_minus_axis = "nul" +input_player13_r_y_minus_mbtn = "nul" +input_player13_gun_trigger = "nul" +input_player13_gun_trigger_btn = "nul" +input_player13_gun_trigger_axis = "nul" +input_player13_gun_trigger_mbtn = "nul" +input_player13_gun_offscreen_shot = "nul" +input_player13_gun_offscreen_shot_btn = "nul" +input_player13_gun_offscreen_shot_axis = "nul" +input_player13_gun_offscreen_shot_mbtn = "nul" +input_player13_gun_aux_a = "nul" +input_player13_gun_aux_a_btn = "nul" +input_player13_gun_aux_a_axis = "nul" +input_player13_gun_aux_a_mbtn = "nul" +input_player13_gun_aux_b = "nul" +input_player13_gun_aux_b_btn = "nul" +input_player13_gun_aux_b_axis = "nul" +input_player13_gun_aux_b_mbtn = "nul" +input_player13_gun_aux_c = "nul" +input_player13_gun_aux_c_btn = "nul" +input_player13_gun_aux_c_axis = "nul" +input_player13_gun_aux_c_mbtn = "nul" +input_player13_gun_start = "nul" +input_player13_gun_start_btn = "nul" +input_player13_gun_start_axis = "nul" +input_player13_gun_start_mbtn = "nul" +input_player13_gun_select = "nul" +input_player13_gun_select_btn = "nul" +input_player13_gun_select_axis = "nul" +input_player13_gun_select_mbtn = "nul" +input_player13_gun_dpad_up = "nul" +input_player13_gun_dpad_up_btn = "nul" +input_player13_gun_dpad_up_axis = "nul" +input_player13_gun_dpad_up_mbtn = "nul" +input_player13_gun_dpad_down = "nul" +input_player13_gun_dpad_down_btn = "nul" +input_player13_gun_dpad_down_axis = "nul" +input_player13_gun_dpad_down_mbtn = "nul" +input_player13_gun_dpad_left = "nul" +input_player13_gun_dpad_left_btn = "nul" +input_player13_gun_dpad_left_axis = "nul" +input_player13_gun_dpad_left_mbtn = "nul" +input_player13_gun_dpad_right = "nul" +input_player13_gun_dpad_right_btn = "nul" +input_player13_gun_dpad_right_axis = "nul" +input_player13_gun_dpad_right_mbtn = "nul" +input_player13_turbo = "nul" +input_player13_turbo_btn = "nul" +input_player13_turbo_axis = "nul" +input_player13_turbo_mbtn = "nul" +input_player14_b = "nul" +input_player14_b_btn = "nul" +input_player14_b_axis = "nul" +input_player14_b_mbtn = "nul" +input_player14_y = "nul" +input_player14_y_btn = "nul" +input_player14_y_axis = "nul" +input_player14_y_mbtn = "nul" +input_player14_select = "nul" +input_player14_select_btn = "nul" +input_player14_select_axis = "nul" +input_player14_select_mbtn = "nul" +input_player14_start = "nul" +input_player14_start_btn = "nul" +input_player14_start_axis = "nul" +input_player14_start_mbtn = "nul" +input_player14_up = "nul" +input_player14_up_btn = "nul" +input_player14_up_axis = "nul" +input_player14_up_mbtn = "nul" +input_player14_down = "nul" +input_player14_down_btn = "nul" +input_player14_down_axis = "nul" +input_player14_down_mbtn = "nul" +input_player14_left = "nul" +input_player14_left_btn = "nul" +input_player14_left_axis = "nul" +input_player14_left_mbtn = "nul" +input_player14_right = "nul" +input_player14_right_btn = "nul" +input_player14_right_axis = "nul" +input_player14_right_mbtn = "nul" +input_player14_a = "nul" +input_player14_a_btn = "nul" +input_player14_a_axis = "nul" +input_player14_a_mbtn = "nul" +input_player14_x = "nul" +input_player14_x_btn = "nul" +input_player14_x_axis = "nul" +input_player14_x_mbtn = "nul" +input_player14_l = "nul" +input_player14_l_btn = "nul" +input_player14_l_axis = "nul" +input_player14_l_mbtn = "nul" +input_player14_r = "nul" +input_player14_r_btn = "nul" +input_player14_r_axis = "nul" +input_player14_r_mbtn = "nul" +input_player14_l2 = "nul" +input_player14_l2_btn = "nul" +input_player14_l2_axis = "nul" +input_player14_l2_mbtn = "nul" +input_player14_r2 = "nul" +input_player14_r2_btn = "nul" +input_player14_r2_axis = "nul" +input_player14_r2_mbtn = "nul" +input_player14_l3 = "nul" +input_player14_l3_btn = "nul" +input_player14_l3_axis = "nul" +input_player14_l3_mbtn = "nul" +input_player14_r3 = "nul" +input_player14_r3_btn = "nul" +input_player14_r3_axis = "nul" +input_player14_r3_mbtn = "nul" +input_player14_l_x_plus = "nul" +input_player14_l_x_plus_btn = "nul" +input_player14_l_x_plus_axis = "nul" +input_player14_l_x_plus_mbtn = "nul" +input_player14_l_x_minus = "nul" +input_player14_l_x_minus_btn = "nul" +input_player14_l_x_minus_axis = "nul" +input_player14_l_x_minus_mbtn = "nul" +input_player14_l_y_plus = "nul" +input_player14_l_y_plus_btn = "nul" +input_player14_l_y_plus_axis = "nul" +input_player14_l_y_plus_mbtn = "nul" +input_player14_l_y_minus = "nul" +input_player14_l_y_minus_btn = "nul" +input_player14_l_y_minus_axis = "nul" +input_player14_l_y_minus_mbtn = "nul" +input_player14_r_x_plus = "nul" +input_player14_r_x_plus_btn = "nul" +input_player14_r_x_plus_axis = "nul" +input_player14_r_x_plus_mbtn = "nul" +input_player14_r_x_minus = "nul" +input_player14_r_x_minus_btn = "nul" +input_player14_r_x_minus_axis = "nul" +input_player14_r_x_minus_mbtn = "nul" +input_player14_r_y_plus = "nul" +input_player14_r_y_plus_btn = "nul" +input_player14_r_y_plus_axis = "nul" +input_player14_r_y_plus_mbtn = "nul" +input_player14_r_y_minus = "nul" +input_player14_r_y_minus_btn = "nul" +input_player14_r_y_minus_axis = "nul" +input_player14_r_y_minus_mbtn = "nul" +input_player14_gun_trigger = "nul" +input_player14_gun_trigger_btn = "nul" +input_player14_gun_trigger_axis = "nul" +input_player14_gun_trigger_mbtn = "nul" +input_player14_gun_offscreen_shot = "nul" +input_player14_gun_offscreen_shot_btn = "nul" +input_player14_gun_offscreen_shot_axis = "nul" +input_player14_gun_offscreen_shot_mbtn = "nul" +input_player14_gun_aux_a = "nul" +input_player14_gun_aux_a_btn = "nul" +input_player14_gun_aux_a_axis = "nul" +input_player14_gun_aux_a_mbtn = "nul" +input_player14_gun_aux_b = "nul" +input_player14_gun_aux_b_btn = "nul" +input_player14_gun_aux_b_axis = "nul" +input_player14_gun_aux_b_mbtn = "nul" +input_player14_gun_aux_c = "nul" +input_player14_gun_aux_c_btn = "nul" +input_player14_gun_aux_c_axis = "nul" +input_player14_gun_aux_c_mbtn = "nul" +input_player14_gun_start = "nul" +input_player14_gun_start_btn = "nul" +input_player14_gun_start_axis = "nul" +input_player14_gun_start_mbtn = "nul" +input_player14_gun_select = "nul" +input_player14_gun_select_btn = "nul" +input_player14_gun_select_axis = "nul" +input_player14_gun_select_mbtn = "nul" +input_player14_gun_dpad_up = "nul" +input_player14_gun_dpad_up_btn = "nul" +input_player14_gun_dpad_up_axis = "nul" +input_player14_gun_dpad_up_mbtn = "nul" +input_player14_gun_dpad_down = "nul" +input_player14_gun_dpad_down_btn = "nul" +input_player14_gun_dpad_down_axis = "nul" +input_player14_gun_dpad_down_mbtn = "nul" +input_player14_gun_dpad_left = "nul" +input_player14_gun_dpad_left_btn = "nul" +input_player14_gun_dpad_left_axis = "nul" +input_player14_gun_dpad_left_mbtn = "nul" +input_player14_gun_dpad_right = "nul" +input_player14_gun_dpad_right_btn = "nul" +input_player14_gun_dpad_right_axis = "nul" +input_player14_gun_dpad_right_mbtn = "nul" +input_player14_turbo = "nul" +input_player14_turbo_btn = "nul" +input_player14_turbo_axis = "nul" +input_player14_turbo_mbtn = "nul" +input_player15_b = "nul" +input_player15_b_btn = "nul" +input_player15_b_axis = "nul" +input_player15_b_mbtn = "nul" +input_player15_y = "nul" +input_player15_y_btn = "nul" +input_player15_y_axis = "nul" +input_player15_y_mbtn = "nul" +input_player15_select = "nul" +input_player15_select_btn = "nul" +input_player15_select_axis = "nul" +input_player15_select_mbtn = "nul" +input_player15_start = "nul" +input_player15_start_btn = "nul" +input_player15_start_axis = "nul" +input_player15_start_mbtn = "nul" +input_player15_up = "nul" +input_player15_up_btn = "nul" +input_player15_up_axis = "nul" +input_player15_up_mbtn = "nul" +input_player15_down = "nul" +input_player15_down_btn = "nul" +input_player15_down_axis = "nul" +input_player15_down_mbtn = "nul" +input_player15_left = "nul" +input_player15_left_btn = "nul" +input_player15_left_axis = "nul" +input_player15_left_mbtn = "nul" +input_player15_right = "nul" +input_player15_right_btn = "nul" +input_player15_right_axis = "nul" +input_player15_right_mbtn = "nul" +input_player15_a = "nul" +input_player15_a_btn = "nul" +input_player15_a_axis = "nul" +input_player15_a_mbtn = "nul" +input_player15_x = "nul" +input_player15_x_btn = "nul" +input_player15_x_axis = "nul" +input_player15_x_mbtn = "nul" +input_player15_l = "nul" +input_player15_l_btn = "nul" +input_player15_l_axis = "nul" +input_player15_l_mbtn = "nul" +input_player15_r = "nul" +input_player15_r_btn = "nul" +input_player15_r_axis = "nul" +input_player15_r_mbtn = "nul" +input_player15_l2 = "nul" +input_player15_l2_btn = "nul" +input_player15_l2_axis = "nul" +input_player15_l2_mbtn = "nul" +input_player15_r2 = "nul" +input_player15_r2_btn = "nul" +input_player15_r2_axis = "nul" +input_player15_r2_mbtn = "nul" +input_player15_l3 = "nul" +input_player15_l3_btn = "nul" +input_player15_l3_axis = "nul" +input_player15_l3_mbtn = "nul" +input_player15_r3 = "nul" +input_player15_r3_btn = "nul" +input_player15_r3_axis = "nul" +input_player15_r3_mbtn = "nul" +input_player15_l_x_plus = "nul" +input_player15_l_x_plus_btn = "nul" +input_player15_l_x_plus_axis = "nul" +input_player15_l_x_plus_mbtn = "nul" +input_player15_l_x_minus = "nul" +input_player15_l_x_minus_btn = "nul" +input_player15_l_x_minus_axis = "nul" +input_player15_l_x_minus_mbtn = "nul" +input_player15_l_y_plus = "nul" +input_player15_l_y_plus_btn = "nul" +input_player15_l_y_plus_axis = "nul" +input_player15_l_y_plus_mbtn = "nul" +input_player15_l_y_minus = "nul" +input_player15_l_y_minus_btn = "nul" +input_player15_l_y_minus_axis = "nul" +input_player15_l_y_minus_mbtn = "nul" +input_player15_r_x_plus = "nul" +input_player15_r_x_plus_btn = "nul" +input_player15_r_x_plus_axis = "nul" +input_player15_r_x_plus_mbtn = "nul" +input_player15_r_x_minus = "nul" +input_player15_r_x_minus_btn = "nul" +input_player15_r_x_minus_axis = "nul" +input_player15_r_x_minus_mbtn = "nul" +input_player15_r_y_plus = "nul" +input_player15_r_y_plus_btn = "nul" +input_player15_r_y_plus_axis = "nul" +input_player15_r_y_plus_mbtn = "nul" +input_player15_r_y_minus = "nul" +input_player15_r_y_minus_btn = "nul" +input_player15_r_y_minus_axis = "nul" +input_player15_r_y_minus_mbtn = "nul" +input_player15_gun_trigger = "nul" +input_player15_gun_trigger_btn = "nul" +input_player15_gun_trigger_axis = "nul" +input_player15_gun_trigger_mbtn = "nul" +input_player15_gun_offscreen_shot = "nul" +input_player15_gun_offscreen_shot_btn = "nul" +input_player15_gun_offscreen_shot_axis = "nul" +input_player15_gun_offscreen_shot_mbtn = "nul" +input_player15_gun_aux_a = "nul" +input_player15_gun_aux_a_btn = "nul" +input_player15_gun_aux_a_axis = "nul" +input_player15_gun_aux_a_mbtn = "nul" +input_player15_gun_aux_b = "nul" +input_player15_gun_aux_b_btn = "nul" +input_player15_gun_aux_b_axis = "nul" +input_player15_gun_aux_b_mbtn = "nul" +input_player15_gun_aux_c = "nul" +input_player15_gun_aux_c_btn = "nul" +input_player15_gun_aux_c_axis = "nul" +input_player15_gun_aux_c_mbtn = "nul" +input_player15_gun_start = "nul" +input_player15_gun_start_btn = "nul" +input_player15_gun_start_axis = "nul" +input_player15_gun_start_mbtn = "nul" +input_player15_gun_select = "nul" +input_player15_gun_select_btn = "nul" +input_player15_gun_select_axis = "nul" +input_player15_gun_select_mbtn = "nul" +input_player15_gun_dpad_up = "nul" +input_player15_gun_dpad_up_btn = "nul" +input_player15_gun_dpad_up_axis = "nul" +input_player15_gun_dpad_up_mbtn = "nul" +input_player15_gun_dpad_down = "nul" +input_player15_gun_dpad_down_btn = "nul" +input_player15_gun_dpad_down_axis = "nul" +input_player15_gun_dpad_down_mbtn = "nul" +input_player15_gun_dpad_left = "nul" +input_player15_gun_dpad_left_btn = "nul" +input_player15_gun_dpad_left_axis = "nul" +input_player15_gun_dpad_left_mbtn = "nul" +input_player15_gun_dpad_right = "nul" +input_player15_gun_dpad_right_btn = "nul" +input_player15_gun_dpad_right_axis = "nul" +input_player15_gun_dpad_right_mbtn = "nul" +input_player15_turbo = "nul" +input_player15_turbo_btn = "nul" +input_player15_turbo_axis = "nul" +input_player15_turbo_mbtn = "nul" +input_player16_b = "nul" +input_player16_b_btn = "nul" +input_player16_b_axis = "nul" +input_player16_b_mbtn = "nul" +input_player16_y = "nul" +input_player16_y_btn = "nul" +input_player16_y_axis = "nul" +input_player16_y_mbtn = "nul" +input_player16_select = "nul" +input_player16_select_btn = "nul" +input_player16_select_axis = "nul" +input_player16_select_mbtn = "nul" +input_player16_start = "nul" +input_player16_start_btn = "nul" +input_player16_start_axis = "nul" +input_player16_start_mbtn = "nul" +input_player16_up = "nul" +input_player16_up_btn = "nul" +input_player16_up_axis = "nul" +input_player16_up_mbtn = "nul" +input_player16_down = "nul" +input_player16_down_btn = "nul" +input_player16_down_axis = "nul" +input_player16_down_mbtn = "nul" +input_player16_left = "nul" +input_player16_left_btn = "nul" +input_player16_left_axis = "nul" +input_player16_left_mbtn = "nul" +input_player16_right = "nul" +input_player16_right_btn = "nul" +input_player16_right_axis = "nul" +input_player16_right_mbtn = "nul" +input_player16_a = "nul" +input_player16_a_btn = "nul" +input_player16_a_axis = "nul" +input_player16_a_mbtn = "nul" +input_player16_x = "nul" +input_player16_x_btn = "nul" +input_player16_x_axis = "nul" +input_player16_x_mbtn = "nul" +input_player16_l = "nul" +input_player16_l_btn = "nul" +input_player16_l_axis = "nul" +input_player16_l_mbtn = "nul" +input_player16_r = "nul" +input_player16_r_btn = "nul" +input_player16_r_axis = "nul" +input_player16_r_mbtn = "nul" +input_player16_l2 = "nul" +input_player16_l2_btn = "nul" +input_player16_l2_axis = "nul" +input_player16_l2_mbtn = "nul" +input_player16_r2 = "nul" +input_player16_r2_btn = "nul" +input_player16_r2_axis = "nul" +input_player16_r2_mbtn = "nul" +input_player16_l3 = "nul" +input_player16_l3_btn = "nul" +input_player16_l3_axis = "nul" +input_player16_l3_mbtn = "nul" +input_player16_r3 = "nul" +input_player16_r3_btn = "nul" +input_player16_r3_axis = "nul" +input_player16_r3_mbtn = "nul" +input_player16_l_x_plus = "nul" +input_player16_l_x_plus_btn = "nul" +input_player16_l_x_plus_axis = "nul" +input_player16_l_x_plus_mbtn = "nul" +input_player16_l_x_minus = "nul" +input_player16_l_x_minus_btn = "nul" +input_player16_l_x_minus_axis = "nul" +input_player16_l_x_minus_mbtn = "nul" +input_player16_l_y_plus = "nul" +input_player16_l_y_plus_btn = "nul" +input_player16_l_y_plus_axis = "nul" +input_player16_l_y_plus_mbtn = "nul" +input_player16_l_y_minus = "nul" +input_player16_l_y_minus_btn = "nul" +input_player16_l_y_minus_axis = "nul" +input_player16_l_y_minus_mbtn = "nul" +input_player16_r_x_plus = "nul" +input_player16_r_x_plus_btn = "nul" +input_player16_r_x_plus_axis = "nul" +input_player16_r_x_plus_mbtn = "nul" +input_player16_r_x_minus = "nul" +input_player16_r_x_minus_btn = "nul" +input_player16_r_x_minus_axis = "nul" +input_player16_r_x_minus_mbtn = "nul" +input_player16_r_y_plus = "nul" +input_player16_r_y_plus_btn = "nul" +input_player16_r_y_plus_axis = "nul" +input_player16_r_y_plus_mbtn = "nul" +input_player16_r_y_minus = "nul" +input_player16_r_y_minus_btn = "nul" +input_player16_r_y_minus_axis = "nul" +input_player16_r_y_minus_mbtn = "nul" +input_player16_gun_trigger = "nul" +input_player16_gun_trigger_btn = "nul" +input_player16_gun_trigger_axis = "nul" +input_player16_gun_trigger_mbtn = "nul" +input_player16_gun_offscreen_shot = "nul" +input_player16_gun_offscreen_shot_btn = "nul" +input_player16_gun_offscreen_shot_axis = "nul" +input_player16_gun_offscreen_shot_mbtn = "nul" +input_player16_gun_aux_a = "nul" +input_player16_gun_aux_a_btn = "nul" +input_player16_gun_aux_a_axis = "nul" +input_player16_gun_aux_a_mbtn = "nul" +input_player16_gun_aux_b = "nul" +input_player16_gun_aux_b_btn = "nul" +input_player16_gun_aux_b_axis = "nul" +input_player16_gun_aux_b_mbtn = "nul" +input_player16_gun_aux_c = "nul" +input_player16_gun_aux_c_btn = "nul" +input_player16_gun_aux_c_axis = "nul" +input_player16_gun_aux_c_mbtn = "nul" +input_player16_gun_start = "nul" +input_player16_gun_start_btn = "nul" +input_player16_gun_start_axis = "nul" +input_player16_gun_start_mbtn = "nul" +input_player16_gun_select = "nul" +input_player16_gun_select_btn = "nul" +input_player16_gun_select_axis = "nul" +input_player16_gun_select_mbtn = "nul" +input_player16_gun_dpad_up = "nul" +input_player16_gun_dpad_up_btn = "nul" +input_player16_gun_dpad_up_axis = "nul" +input_player16_gun_dpad_up_mbtn = "nul" +input_player16_gun_dpad_down = "nul" +input_player16_gun_dpad_down_btn = "nul" +input_player16_gun_dpad_down_axis = "nul" +input_player16_gun_dpad_down_mbtn = "nul" +input_player16_gun_dpad_left = "nul" +input_player16_gun_dpad_left_btn = "nul" +input_player16_gun_dpad_left_axis = "nul" +input_player16_gun_dpad_left_mbtn = "nul" +input_player16_gun_dpad_right = "nul" +input_player16_gun_dpad_right_btn = "nul" +input_player16_gun_dpad_right_axis = "nul" +input_player16_gun_dpad_right_mbtn = "nul" +input_player16_turbo = "nul" +input_player16_turbo_btn = "nul" +input_player16_turbo_axis = "nul" +input_player16_turbo_mbtn = "nul" +back_as_menu_toggle_enable = "true" +netplay_client_swap_input = "true" +ups_pref = "false" +bps_pref = "false" +ips_pref = "false" +osk_overlay_directory = "~/.config/retroarch/overlay" +input_osk_overlay_enable = "true" +netplay_spectator_mode_enable = "false" +netplay_mode = "false" +netplay_delay_frames = "0" +custom_bgm_enable = "false" +input_netplay_flip_players = "nul" +input_netplay_flip_players_btn = "nul" +input_netplay_flip_players_axis = "nul" +core_specific_config = "false" +menu_ok_btn = "8" +menu_cancel_btn = "0" +menu_search_btn = "9" +menu_info_btn = "2" +menu_default_btn = "3" +menu_scroll_down_btn = "11" +menu_scroll_up_btn = "10" +audio_device = "sysdefault:CARD=sun8ia33audio" +xmb_font = "" +content_show_settings_password = "" +kiosk_mode_password = "" +netplay_nickname = "" +video_filter = "" +audio_dsp_plugin = "" +netplay_ip_address = "" +netplay_password = "" +netplay_spectate_password = "" +core_options_path = "" +video_shader = "" +menu_wallpaper = "" +input_overlay = "" +video_font_path = "" +content_history_dir = "" +cache_directory = "" +resampler_directory = "" +recording_output_directory = "" +recording_config_directory = "" +playlist_names = "" +playlist_cores = "" +camera_device = "" +cheevos_username = "" +cheevos_password = "" +video_context_driver = "" +input_keyboard_layout = "" +bundle_assets_src_path = "" +bundle_assets_dst_path = "" +bundle_assets_dst_path_subdir = "" diff --git a/Menu/GameShell/20_Retro Games/MGBA/action.config b/Menu/GameShell/20_Retro Games/MGBA/action.config new file mode 100644 index 0000000..8dc8d79 --- /dev/null +++ b/Menu/GameShell/20_Retro Games/MGBA/action.config @@ -0,0 +1,6 @@ +ROM=/home/cpi/games/MGBA +ROM_SO=/home/cpi/apps/emulators/mgba_libretro.so +EXT=gba,gbx +LAUNCHER=retroarch -L +TITLE=MGBA Roms +SO_URL=http://buildbot.libretro.com/nightly/linux/armhf/latest/mgba_libretro.so.zip diff --git a/Menu/GameShell/20_Retro Games/NESTOPIA/action.config b/Menu/GameShell/20_Retro Games/NESTOPIA/action.config new file mode 100644 index 0000000..3513174 --- /dev/null +++ b/Menu/GameShell/20_Retro Games/NESTOPIA/action.config @@ -0,0 +1,7 @@ +ROM=/home/cpi/games/NESTOPIA +ROM_SO=/home/cpi/apps/emulators/nestopia_libretro.so +EXT=zip +LAUNCHER=retroarch -L +TITLE=NESTOPIA Roms +SO_URL=http://buildbot.libretro.com/nightly/linux/armhf/latest/nestopia_libretro.so.zip + diff --git a/Menu/GameShell/CaveStory.sh b/Menu/GameShell/CaveStory.sh new file mode 100755 index 0000000..aed9656 --- /dev/null +++ b/Menu/GameShell/CaveStory.sh @@ -0,0 +1 @@ +retroarch -L /home/cpi/apps/emulators/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data diff --git a/Menu/GameShell/RetroArch.sh b/Menu/GameShell/RetroArch.sh new file mode 100755 index 0000000..44f0c2a --- /dev/null +++ b/Menu/GameShell/RetroArch.sh @@ -0,0 +1 @@ +retroarch diff --git a/Menu/GameShell/freeDM.sh b/Menu/GameShell/freeDM.sh new file mode 100755 index 0000000..5613ef0 --- /dev/null +++ b/Menu/GameShell/freeDM.sh @@ -0,0 +1 @@ +chocolate-doom -iwad /home/cpi/games/FreeDM/freedoom1.wad diff --git a/main b/main new file mode 100755 index 0000000..2008909 Binary files /dev/null and b/main differ diff --git a/main.go b/main.go new file mode 100644 index 0000000..0655c50 --- /dev/null +++ b/main.go @@ -0,0 +1,92 @@ +package main + +import ( + + "os" + "fmt" + + "github.com/veandco/go-sdl2/sdl" + + "github.com/cuu/gogame/display" + "github.com/cuu/gogame/event" +// "github.com/cuu/gogame/color" + "github.com/cuu/gogame/font" + "github.com/cuu/gogame/time" + + "./sysgo/UI" +) + + +func run() int { + display.Init() + font.Init() + screen := display.SetMode(int32(UI.Width),int32(UI.Height),0,32) + + UI.MyIconPool.Init() + + main_screen := UI.NewMainScreen() + main_screen.HWND = screen + main_screen.Init() + + title_bar := UI.NewTitleBar() + foot_bar := UI.NewFootBar() + + title_bar.Init(main_screen) + foot_bar.Init(main_screen) + + main_screen.TitleBar = title_bar + main_screen.FootBar = foot_bar + + main_screen.ReadTheDirIntoPages("Menu",0,nil) + main_screen.FartherPages() + + main_screen.Draw() + main_screen.SwapAndShow() + + UI.SwapAndShow() + + fmt.Println(main_screen) + + running := true + for running { + ev := event.Wait() + if ev.Type == event.QUIT { + running = false + break + } + if ev.Type == event.USEREVENT { + + fmt.Println(ev.Data["Msg"]) + } + if ev.Type == event.KEYDOWN { + fmt.Println(ev) + if ev.Data["Key"] == "Q" { + return 0 + } + if ev.Data["Key"] == "Escape" { + return 0 + } + if ev.Data["Key"] == "T" { + time.Delay(1000) + } + if ev.Data["Key"] == "P" { + event.Post(event.RUNEVT,"GODEBUG=cgocheck=0 sucks") // just id and string, simpify the stuff + } + } + } + + return 0 +} + +func main() { + + var exitcode int + + os.Setenv("SDL_VIDEO_CENTERED","1") + + sdl.Main(func() { + exitcode = run() + }) + + os.Exit(exitcode) +} diff --git a/skin/default/sys.go/gameshell/blank.png b/skin/default/sysgo/gameshell/blank.png similarity index 100% rename from skin/default/sys.go/gameshell/blank.png rename to skin/default/sysgo/gameshell/blank.png diff --git a/skin/default/sys.go/gameshell/footbar_icons/footbar.png b/skin/default/sysgo/gameshell/footbar_icons/footbar.png similarity index 100% rename from skin/default/sys.go/gameshell/footbar_icons/footbar.png rename to skin/default/sysgo/gameshell/footbar_icons/footbar.png diff --git a/skin/default/sys.go/gameshell/icons/_L.png b/skin/default/sysgo/gameshell/icons/_L.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/_L.png rename to skin/default/sysgo/gameshell/icons/_L.png diff --git a/skin/default/sys.go/gameshell/icons/_R.png b/skin/default/sysgo/gameshell/icons/_R.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/_R.png rename to skin/default/sysgo/gameshell/icons/_R.png diff --git a/skin/default/sys.go/gameshell/icons/about_bg.png b/skin/default/sysgo/gameshell/icons/about_bg.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/about_bg.png rename to skin/default/sysgo/gameshell/icons/about_bg.png diff --git a/skin/default/sys.go/gameshell/icons/blueselector.png b/skin/default/sysgo/gameshell/icons/blueselector.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/blueselector.png rename to skin/default/sysgo/gameshell/icons/blueselector.png diff --git a/skin/default/sys.go/gameshell/icons/done.png b/skin/default/sysgo/gameshell/icons/done.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/done.png rename to skin/default/sysgo/gameshell/icons/done.png diff --git a/skin/default/sys.go/gameshell/icons/empty.png b/skin/default/sysgo/gameshell/icons/empty.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/empty.png rename to skin/default/sysgo/gameshell/icons/empty.png diff --git a/skin/default/sys.go/gameshell/icons/heart.png b/skin/default/sysgo/gameshell/icons/heart.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/heart.png rename to skin/default/sysgo/gameshell/icons/heart.png diff --git a/skin/default/sys.go/gameshell/icons/icon_sd.png b/skin/default/sysgo/gameshell/icons/icon_sd.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/icon_sd.png rename to skin/default/sysgo/gameshell/icons/icon_sd.png diff --git a/skin/default/sys.go/gameshell/icons/light.png b/skin/default/sysgo/gameshell/icons/light.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/light.png rename to skin/default/sysgo/gameshell/icons/light.png diff --git a/skin/default/sys.go/gameshell/icons/lock.png b/skin/default/sysgo/gameshell/icons/lock.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/lock.png rename to skin/default/sysgo/gameshell/icons/lock.png diff --git a/skin/default/sys.go/gameshell/icons/needwifi_bg.png b/skin/default/sysgo/gameshell/icons/needwifi_bg.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/needwifi_bg.png rename to skin/default/sysgo/gameshell/icons/needwifi_bg.png diff --git a/skin/default/sys.go/gameshell/icons/online.png b/skin/default/sysgo/gameshell/icons/online.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/online.png rename to skin/default/sysgo/gameshell/icons/online.png diff --git a/skin/default/sys.go/gameshell/icons/rom_download.png b/skin/default/sysgo/gameshell/icons/rom_download.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/rom_download.png rename to skin/default/sysgo/gameshell/icons/rom_download.png diff --git a/skin/default/sys.go/gameshell/icons/roundcorners.png b/skin/default/sysgo/gameshell/icons/roundcorners.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/roundcorners.png rename to skin/default/sysgo/gameshell/icons/roundcorners.png diff --git a/skin/default/sys.go/gameshell/icons/scale.png b/skin/default/sysgo/gameshell/icons/scale.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/scale.png rename to skin/default/sysgo/gameshell/icons/scale.png diff --git a/skin/default/sys.go/gameshell/icons/star.png b/skin/default/sysgo/gameshell/icons/star.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/star.png rename to skin/default/sysgo/gameshell/icons/star.png diff --git a/skin/default/sys.go/gameshell/icons/sys.png b/skin/default/sysgo/gameshell/icons/sys.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/sys.png rename to skin/default/sysgo/gameshell/icons/sys.png diff --git a/skin/default/sys.go/gameshell/icons/vol.png b/skin/default/sysgo/gameshell/icons/vol.png similarity index 100% rename from skin/default/sys.go/gameshell/icons/vol.png rename to skin/default/sysgo/gameshell/icons/vol.png diff --git a/skin/default/sys.go/gameshell/titlebar_icons/battery_unknown.png b/skin/default/sysgo/gameshell/titlebar_icons/battery_unknown.png similarity index 100% rename from skin/default/sys.go/gameshell/titlebar_icons/battery_unknown.png rename to skin/default/sysgo/gameshell/titlebar_icons/battery_unknown.png diff --git a/skin/default/sys.go/gameshell/titlebar_icons/soundvolume.png b/skin/default/sysgo/gameshell/titlebar_icons/soundvolume.png similarity index 100% rename from skin/default/sys.go/gameshell/titlebar_icons/soundvolume.png rename to skin/default/sysgo/gameshell/titlebar_icons/soundvolume.png diff --git a/skin/default/sys.go/gameshell/titlebar_icons/wifi.png b/skin/default/sysgo/gameshell/titlebar_icons/wifi.png similarity index 100% rename from skin/default/sys.go/gameshell/titlebar_icons/wifi.png rename to skin/default/sysgo/gameshell/titlebar_icons/wifi.png diff --git a/skin/default/sys.go/gameshell/titlebar_icons/withcharging.png b/skin/default/sysgo/gameshell/titlebar_icons/withcharging.png similarity index 100% rename from skin/default/sys.go/gameshell/titlebar_icons/withcharging.png rename to skin/default/sysgo/gameshell/titlebar_icons/withcharging.png diff --git a/skin/default/sys.go/gameshell/titlebar_icons/without_charging.png b/skin/default/sysgo/gameshell/titlebar_icons/without_charging.png similarity index 100% rename from skin/default/sys.go/gameshell/titlebar_icons/without_charging.png rename to skin/default/sysgo/gameshell/titlebar_icons/without_charging.png diff --git a/sysgo/DBUS/dbus.go b/sysgo/DBUS/dbus.go index 1857396..662ae7d 100644 --- a/sysgo/DBUS/dbus.go +++ b/sysgo/DBUS/dbus.go @@ -1,6 +1,8 @@ package DBUS import ( + "fmt" + "strconv" "github.com/godbus/dbus" ) diff --git a/sysgo/UI/confirm_page.go b/sysgo/UI/confirm_page.go index e69de29..122fb78 100644 --- a/sysgo/UI/confirm_page.go +++ b/sysgo/UI/confirm_page.go @@ -0,0 +1,2 @@ +package UI + diff --git a/sysgo/UI/fonts.go b/sysgo/UI/fonts.go index 6f936aa..8d69774 100644 --- a/sysgo/UI/fonts.go +++ b/sysgo/UI/fonts.go @@ -15,7 +15,7 @@ var Fonts map[string]*ttf.Font func init() { font.Init() - skinpath := "../skin/"+sysgo.SKIN+"/truetype" + skinpath := "skin/"+sysgo.SKIN+"/truetype" Fonts = make(map[string]*ttf.Font) diff --git a/sysgo/UI/foot_bar.go b/sysgo/UI/foot_bar.go index 53c692b..9504989 100644 --- a/sysgo/UI/foot_bar.go +++ b/sysgo/UI/foot_bar.go @@ -1,11 +1,18 @@ package UI import ( + "fmt" +// "io/ioutil" + "log" + "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" "github.com/cuu/gogame/rect" "github.com/cuu/gogame/surface" + "github.com/cuu/gogame/draw" + "github.com/cuu/gogame/image" + "github.com/cuu/gogame/font" ) @@ -62,6 +69,7 @@ type FootBar struct { LabelFont *ttf.Font State string SkinManager *SkinManager + icon_base_path string } @@ -93,13 +101,7 @@ func (self *FootBar) ReadFootBarIcons( icondir string) { } keynames := [5]string{"nav","x","y","a","b"} - share_surf := image.Load(icon_base_path+"footbar.png") - - files,err := ioutil.ReadDir(icondir) - if err != nil { - log.Fatal(err) - return - } + share_surf := image.Load(self.icon_base_path+"footbar.png") for i,v := range keynames { // share_surf contains same number of image pieces of keynames it := NewFootBarIconItem() @@ -119,8 +121,6 @@ func (self *FootBar) Init(main_screen *MainScreen) { self.CanvasHWND = surface.Surface(self.Width,self.Height) self.HWND = main_screen.HWND self.SkinManager = main_screen.SkinManager - self.DBusManager = main_screen.DBusManager - round_corners := NewFootBarIconItem() round_corners.IconWidth = 10 @@ -128,7 +128,7 @@ func (self *FootBar) Init(main_screen *MainScreen) { round_corners.MyType = ICON_TYPES["STAT"] round_corners.Parent = self - round_corners.ImgSurf = MyIconPool.GetImageSurf["roundcorners"] + round_corners.ImgSurf = MyIconPool.GetImgSurf("roundcorners") round_corners.Adjust(0,0,10,10,0) self.Icons["round_corners"] = round_corners @@ -136,14 +136,15 @@ func (self *FootBar) Init(main_screen *MainScreen) { } func (self *FootBar) ResetNavText() { - self.Icons["nav"].Label.SetText("Nav.") + self.Icons["nav"].SetLabelText("Nav.") self.State = "normal" self.Draw() } func (self *FootBar) UpdateNavText(texts string) { self.State = "tips" - my_text := font.Render(self.LabelFont, texts, true,self.SkinManager.GiveColor("Text")) + +// my_text := font.Render(self.LabelFont, texts, true,self.SkinManager.GiveColor("Text"),nil) left_width := self.Width - 18 @@ -151,21 +152,21 @@ func (self *FootBar) UpdateNavText(texts string) { for i,_ := range texts { text_ := texts[:i+1] - my_text := font.Render(self.LabelFont, text_, true, self.SkinManager.GiveColor("Text")) + my_text := font.Render(self.LabelFont, text_, true, self.SkinManager.GiveColor("Text"),nil) final_piece = text_ - if my_text.W >= left_width { + if int(my_text.W) >= left_width { break } } fmt.Printf("finalpiece %s\n", final_piece) - self.Icons["nav"].Label.SetText(final_piece) + self.Icons["nav"].SetLabelText(final_piece) self.Draw() } -func (self *FootBar) SetLabelTexts( texts []string) { +func (self *FootBar) SetLabelTexts( texts [5]string) { keynames := [5]string{"nav","x","y","a","b"} if len(texts) < 5 { log.Fatal("SetLabelTexts texts length error") @@ -173,7 +174,7 @@ func (self *FootBar) SetLabelTexts( texts []string) { } for idx,x := range keynames { - self.Icons[x].Label.SetText(texts[idx]) + self.Icons[x].SetLabelText(texts[idx]) } } @@ -202,7 +203,7 @@ func (self *FootBar) Draw() { _w := 0 for i,x := range []string{"b","a","y","x"} { - if self.Icons[x].Label.GetText() != "" { + if self.Icons[x].GetLabelText() != "" { if i== 0 { _w += self.Icons[x].TotalWidth() }else { @@ -215,11 +216,12 @@ func (self *FootBar) Draw() { self.Icons[x].Draw() } } - - draw.Line(self.CanvasHWND, self.SkinManager.GiveColor("Line"),0,0,Width,0,self.BorderWidth) - - if self.HWND != nil { - rect_ := rect.Rect(self.PosX, Height - self.Height, Width, self.BarHeight) - surface.Blit(self.HWND,self.CanvasHWND, &rect_,nil) - } + } + + draw.Line(self.CanvasHWND, self.SkinManager.GiveColor("Line"),0,0,Width,0,self.BorderWidth) + + if self.HWND != nil { + rect_ := rect.Rect(self.PosX, Height - self.Height, Width, self.BarHeight) + surface.Blit(self.HWND,self.CanvasHWND, &rect_,nil) + } } diff --git a/sysgo/UI/icon_item.go b/sysgo/UI/icon_item.go index 5457e25..1036190 100644 --- a/sysgo/UI/icon_item.go +++ b/sysgo/UI/icon_item.go @@ -5,6 +5,10 @@ import ( "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" + "github.com/cuu/gogame/surface" + "github.com/cuu/gogame/draw" + "github.com/cuu/gogame/color" + "github.com/cuu/gogame/image" "github.com/cuu/gogame/transform" "github.com/cuu/gogame/utils" ) @@ -27,20 +31,29 @@ type IconItemInterface interface { SetParent( p interface{} ) SetLabelColor(col *color.Color) + SetLabelText(text string) + GetLabelText() string Coord() (int,int) NewCoord(x,y int) TotalWidth() int Size() (int,int) + AddLabel(text string, fontobj *ttf.Font) GetLinkPage() PageInterface AdjustLinkPage() - GetImageSurf() *sdl.Surface - SetImageSurf(newsurf *sdl.Surface) - CreateImageSurf() + GetImgSurf() *sdl.Surface + SetImgSurf(newsurf *sdl.Surface) + CreateImgSurf() ChangeImgSurfColor(col *color.Color) + + Clear() + + GetCmdInvoke() PluginInterface + + Draw() } @@ -86,7 +99,7 @@ func (self *IconItem) Init(x,y,w,h,at int) { self.AnimationTime = at } -func (self *IconItem) Init(x,y,w,h,at int) { +func (self *IconItem) Adjust(x,y,w,h,at int) { self.PosX = x self.PosY = y self.Width = w @@ -97,7 +110,7 @@ func (self *IconItem) Init(x,y,w,h,at int) { self.Label.SetCanvasHWND(self.Parent.GetCanvasHWND()) } - self.CreateImageSurf() + self.CreateImgSurf() self.AdjustLinkPage() } @@ -136,13 +149,21 @@ func (self *IconItem) SetIndex(i int) { } func (self *IconItem) SetParent(p interface{} ) { - self.Parent = p + self.Parent = p.(PageInterface) } func (self *IconItem) SetLabelColor(col *color.Color) { self.Label.SetColor(col) } +func (self *IconItem) GetLabelText() string { + return self.Label.GetText() +} + +func (self *IconItem) SetLabelText(text string) { + self.Label.SetText(text) +} + func (self *IconItem) Coord() (int,int) { return self.PosX,self.PosY } @@ -153,7 +174,7 @@ func (self *IconItem) NewCoord(x,y int) { } func (self *IconItem) TotalWidth() int { - + return 0 } func (self *IconItem) Size() (int,int) { @@ -165,7 +186,7 @@ func (self *IconItem) AddLabel(text string, fontobj *ttf.Font) { l:= NewLabel() self.Label = l }else { - self.Label.Init(text,fontobj) + self.Label.Init(text,fontobj,nil) } } @@ -177,7 +198,7 @@ func (self *IconItem) AdjustLinkPage() { if self.MyType == ICON_TYPES["DIR"] && self.LinkPage != nil { self.LinkPage.SetIndex(0) self.LinkPage.SetAlign(ALIGN["SLeft"]) - self.LinkPage.SetIconNumbers( len(self.LinkPage.GetIcons()) ) + self.LinkPage.UpdateIconNumbers() self.LinkPage.SetScreen(self.Parent.GetScreen()) self.LinkPage.SetCanvasHWND( (self.Parent.GetScreen()).CanvasHWND ) self.LinkPage.SetFootMsg([5]string{ "Nav.","","","Back","Enter" } ) @@ -194,19 +215,19 @@ func (self *IconItem) AdjustLinkPage() { } -func (self *IconItem) GetImageSurf() *sdl.Surface { +func (self *IconItem) GetImgSurf() *sdl.Surface { return self.ImgSurf } -func (self *IconItem) SetImageSurf(newsurf *sdl.Surface) { +func (self *IconItem) SetImgSurf(newsurf *sdl.Surface) { self.ImgSurf = newsurf } -func (self *IconItem) CreateImageSurf() { +func (self *IconItem) CreateImgSurf() { if self.ImgSurf == nil && self.ImageName != "" { self.ImgSurf = image.Load(self.ImageName) - if self.ImgSurf.W > IconWidth || self.ImgSurf.H > IconHeight { + if int(self.ImgSurf.W) > IconWidth || int(self.ImgSurf.H) > IconHeight { self.ImgSurf = transform.Scale(self.ImgSurf,IconWidth,IconHeight) } } @@ -216,12 +237,20 @@ func (self *IconItem) ChangeImgSurfColor(col *color.Color) { utils.ColorSurface(self.ImgSurf,col) } +func (self *IconItem) Clear() { + +} + +func (self *IconItem) GetCmdInvoke() PluginInterface { + return self.CmdInvoke +} + func (self *IconItem) Draw() { parent_x,parent_y := self.Parent.Coord() if self.Label != nil { - lab_x,lab_y := self.Label.Coord() +// lab_x,lab_y := self.Label.Coord() lab_w,lab_h:= self.Label.Size() if self.Align == ALIGN["VCenter"] { diff --git a/sysgo/UI/icon_pool.go b/sysgo/UI/icon_pool.go index 0a3e794..1570c27 100644 --- a/sysgo/UI/icon_pool.go +++ b/sysgo/UI/icon_pool.go @@ -46,7 +46,7 @@ func (self *IconPool) Init() { } func (self *IconPool) GetImgSurf(keyname string) *sdl.Surface { - if val,ok := self.Icons[keyname]; ok { + if _,ok := self.Icons[keyname]; ok { return self.Icons[keyname] } else { return nil diff --git a/sysgo/UI/keys_def.go b/sysgo/UI/keys_def.go index 8e0824f..28275a7 100644 --- a/sysgo/UI/keys_def.go +++ b/sysgo/UI/keys_def.go @@ -1,7 +1,7 @@ package UI import ( - "../sysgo" + "../../sysgo" ) diff --git a/sysgo/UI/label.go b/sysgo/UI/label.go index 3f6172a..c7a797d 100644 --- a/sysgo/UI/label.go +++ b/sysgo/UI/label.go @@ -1,15 +1,18 @@ package UI import ( - + "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" - + + "github.com/cuu/gogame/surface" + "github.com/cuu/gogame/rect" "github.com/cuu/gogame/color" "github.com/cuu/gogame/font" ) type LabelInterface interface { Init( text string, font_obj *ttf.Font,col *color.Color ) + SetCanvasHWND( canvas *sdl.Surface) Coord() (int,int) Size() (int,int) NewCoord(x,y int) @@ -31,7 +34,7 @@ type Label struct { // TextSurf *sdl.Surface } -func NewLabel() *Label() { +func NewLabel() *Label { l := &Label{} l.Color = &color.Color{83,83,83,255} return l @@ -51,6 +54,10 @@ func (self *Label) Init(text string, font_obj *ttf.Font,col *color.Color ) { } +func (self *Label) SetCanvasHWND( canvas *sdl.Surface) { + self.CanvasHWND = canvas +} + func (self *Label) Coord() (int,int) { return self.PosX,self.PosY } @@ -85,8 +92,8 @@ func (self *Label) Draw() { font.SetBold(self.FontObj,false) // avoing same font tangling set_bold to others my_text := font.Render(self.FontObj,self.Text, true, self.Color, nil) - rect_ := &rect.Rect{self.PosX,self.PosY,self.Width,self.Height} + rect_ := rect.Rect(self.PosX,self.PosY,self.Width,self.Height) - surface.Blit(self.CanvasHWND,my_text,rect_,nil) + surface.Blit(self.CanvasHWND,my_text,&rect_,nil) } diff --git a/sysgo/UI/main_screen.go b/sysgo/UI/main_screen.go index ab33fd9..d4c41de 100644 --- a/sysgo/UI/main_screen.go +++ b/sysgo/UI/main_screen.go @@ -1,15 +1,22 @@ package UI import ( - + "fmt" + "io/ioutil" "strings" + "log" + "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" - "github.com/cuu/gogame/display" + "github.com/cuu/gogame/display" "github.com/cuu/gogame/surface" + "github.com/cuu/gogame/draw" "github.com/cuu/gogame/color" + "github.com/cuu/gogame/rect" + "github.com/cuu/gogame/font" "github.com/cuu/gogame/time" + "github.com/cuu/gogame/event" "../DBUS" @@ -23,7 +30,7 @@ var ( type MessageBox struct { Label Parent *MainScreen - + HWND *sdl.Surface } func NewMessageBox() *MessageBox { @@ -56,7 +63,7 @@ func (self *MessageBox) SetText( text string) { func (self *MessageBox) Draw() { self.Width = 0 self.Height = 0 - surface.Fill(self.CanvasHWND, color.Color{255,255,255,255} ) + surface.Fill(self.CanvasHWND, &color.Color{255,255,255,255} ) words := strings.Split(self.Text," ") space,_ := font.Size(self.FontObj," ") @@ -70,8 +77,8 @@ func (self *MessageBox) Draw() { for _,word := range words { word_surface := font.Render( self.FontObj, word, true, self.Color,nil) - word_width := word_surface.W - word_height := word_surface.H + word_width := int(word_surface.W) + word_height := int(word_surface.H) row_total_width += word_width if lines == 0 { lines += word_height @@ -109,15 +116,20 @@ func (self *MessageBox) Draw() { rect_ := rect.Rect(x-padding,y-padding, self.Width+padding*2, self.Height+padding*2) - draw.Rect(self.HWND , &color.Color{255,255,255,255},&rect_,0) - if self.HWND != nil { + + draw.Rect(self.HWND , &color.Color{255,255,255,255},&rect_,0) + rect__ := draw.MidRect(self.Parent.Width/2, self.Parent.Height/2,self.Width,self.Height,Width,Height) - dest_rect := rect.Rect(0,0,self.Width,self,Height) - surface.Blit(self.HWND, rect__, &dest_rect,nil) + + dest_rect := rect.Rect(0,0,self.Width,self.Height) + + surface.Blit(self.HWND, self.CanvasHWND, rect__, &dest_rect) + + draw.Rect(self.HWND , &color.Color{0,0,0,255},&rect_,1) + } - draw.Rect(self.HWND , &color.Color{0,0,0,255},&rect_,1) } @@ -153,6 +165,7 @@ func NewMainScreen() *MainScreen { m.MsgBoxFont = Fonts["veramono20"] m.IconFont = Fonts["varela15"] + return m } func (self *MainScreen) Init() { @@ -160,12 +173,12 @@ func (self *MainScreen) Init() { self.MsgBox = NewMessageBox() self.MsgBox.Parent = self - self.MsgBox.Init(" ", self.MsgBoxFont, &color.Color{83,83,83}) + self.MsgBox.Init(" ", self.MsgBoxFont, &color.Color{83,83,83,255}) self.SkinManager = NewSkinManager() self.SkinManager.Init() - self.DBusManager = NewDBus() + self.DBusManager = DBUS.NewDBus() self.DBusManager.Init() } @@ -177,7 +190,8 @@ func (self *MainScreen) FartherPages() { // right after ReadTheDirIntoPages self.Pages[i].SetCanvasHWND(self.CanvasHWND) self.Pages[i].UpdateIconNumbers() // IconNumbers always == len(Pages[i].Icons) self.Pages[i].SetScreen(self) - + self.Pages[i].Adjust() + if self.Pages[i].GetIconNumbers() > 1 { self.Pages[i].SetPsIndex(1) self.Pages[i].SetIconIndex( 1 ) @@ -213,14 +227,16 @@ func (self *MainScreen) AppendPage( pg PageInterface ) { } func (self *MainScreen) ClearCanvas() { - surface.Fill(self.CanvasHWND, color.Color{255,255,255,255} ) + surface.Fill(self.CanvasHWND, &color.Color{255,255,255,255} ) } func (self *MainScreen) SwapAndShow() { if self.HWND != nil { rect_ := rect.Rect( self.PosX,self.PosY,self.Width,self.Height) - surface.Blit(self.HWND,self.CanvasHWND,*rect_, nil) + surface.Blit(self.HWND,self.CanvasHWND,&rect_, nil) } + + display.Flip() } func (self *MainScreen) ExtraName(name string) string { @@ -308,9 +324,9 @@ func (self *MainScreen) ReadTheDirIntoPages(_dir string, pglevel int, cur_page P untitled := NewUntitledIcon() untitled.Init() if len(i2) > 1 { - untitled.SetWords(i2[0],i2[1]) + untitled.SetWords(string(i2[0]),string(i2[1])) }else if len(i2) == 1 { - untitled.SetWords(i2[0],i2[0]) + untitled.SetWords(string(i2[0]),string(i2[0])) }else { untitled.SetWords("G","s") } @@ -336,7 +352,7 @@ func (self *MainScreen) ReadTheDirIntoPages(_dir string, pglevel int, cur_page P } else if IsAFile(_dir+"/"+f.Name()) && (pglevel > 0) { if strings.HasSuffix(strings.ToLower(f.Name()),IconExt) { i2 := self.ExtraName(f.Name()) - iconitem = NewIconItem() + iconitem := NewIconItem() iconitem.CmdPath = _dir+"/"+f.Name() MakeExecutable( iconitem.CmdPath ) iconitem.MyType = ICON_TYPES["EXE"] @@ -346,9 +362,9 @@ func (self *MainScreen) ReadTheDirIntoPages(_dir string, pglevel int, cur_page P untitled:= NewUntitledIcon() untitled.Init() if len(i2) > 1 { - untitled.SetWords(i2[0],i2[1]) + untitled.SetWords(string(i2[0]),string(i2[1])) }else if len(i2) == 1 { - untitled.SetWords(i2[0],i2[0]) + untitled.SetWords(string(i2[0]),string(i2[0])) }else { untitled.SetWords("G","s") } @@ -357,7 +373,7 @@ func (self *MainScreen) ReadTheDirIntoPages(_dir string, pglevel int, cur_page P } iconitem.AddLabel(strings.Split(i2,".")[0], self.IconFont) - iconfont.LinkPage = nil + iconitem.LinkPage = nil cur_page.AppendIcon(iconitem) } } @@ -406,13 +422,17 @@ func (self *MainScreen) DrawRun() { } func (self *MainScreen) Draw() { - self.CurrentPage.Draw() + if self.CurrentPage != nil { + self.CurrentPage.Draw() + } + if self.TitleBar != nil { self.TitleBar.Draw( self.CurrentPage.GetName()) } if self.FootBar != nil { - self.FootBar.SetLabelTexts( self.CurrentPage.GetFootMsg()) - self.FootBar.Draw() + fmt.Println( len(self.CurrentPage.GetFootMsg())) +// self.FootBar.SetLabelTexts( self.CurrentPage.GetFootMsg()) +// self.FootBar.Draw() } } diff --git a/sysgo/UI/multi_icon_item.go b/sysgo/UI/multi_icon_item.go index 84eea51..390d470 100644 --- a/sysgo/UI/multi_icon_item.go +++ b/sysgo/UI/multi_icon_item.go @@ -1,7 +1,10 @@ package UI import ( + "github.com/cuu/gogame/surface" "github.com/cuu/gogame/image" + "github.com/cuu/gogame/draw" + "github.com/cuu/gogame/rect" ) diff --git a/sysgo/UI/page.go b/sysgo/UI/page.go index 596dc7a..d623631 100644 --- a/sysgo/UI/page.go +++ b/sysgo/UI/page.go @@ -1,14 +1,20 @@ package UI import ( + "fmt" + "math" "sync" "github.com/veandco/go-sdl2/sdl" - - "github.com/cuu/gogame/font" + + "github.com/cuu/gogame/surface" + "github.com/cuu/gogame/draw" +// "github.com/cuu/gogame/rect" +// "github.com/cuu/gogame/font" "github.com/cuu/gogame/event" - + + "github.com/cuu/gogame/transform" "../easings" ) @@ -101,11 +107,11 @@ func (self *PageSelector) Adjust(x,y,w,h,alpha int) { } func (self *PageSelector) GetOnShow() bool { - return self.Onshow + return self.OnShow } func (self *PageSelector) SetOnShow( onshow bool ) { - self.Onshow = onshow + self.OnShow = onshow } func (self *PageSelector) Draw() { @@ -118,13 +124,13 @@ func (self *PageSelector) Draw() { icon_x ,_ := icons[idx].Coord() _,icon_y := icons[iconidx].Coord() - parent_x,parent_y := self.Parent.Coord() + parent_x,_ := self.Parent.Coord() parent_w,parent_h := self.Parent.Size() x := icon_x + parent_x y := icon_y // only use current icon's PosY - rect_ = draw.MidRect(x,y, self.Width, self.Height, parent_w,parent_h) + rect_ := draw.MidRect(x,y, self.Width, self.Height, parent_w,parent_h) if rect_.W <=0 || rect_.H <= 0 { return } @@ -158,6 +164,12 @@ type PageInterface interface { SetPsIndex( idx int) GetPsIndex() int + SetIndex(idx int) + + GetAlign() int + SetAlign(al int) + + SetIconIndex(idx int) GetIconIndex() int @@ -167,6 +179,7 @@ type PageInterface interface { UpdateIconNumbers() GetIconNumbers() int + SetOnShow(on_show bool) GetOnShow() bool @@ -210,7 +223,7 @@ type Page struct { Index int - Align string + Align int CanvasHWND *sdl.Surface HWND *sdl.Surface @@ -301,14 +314,14 @@ func (self *Page) AdjustSLeftAlign() { // ## adjust coordinator and append the P it.SetIndex(i) it.Adjust(start_x+i*self.PageIconMargin+i*IconWidth, start_y, IconWidth-6,IconHeight-6,0) - old_surf := it.GetImageSurf() + old_surf := it.GetImgSurf() it_w,it_h := it.Size() //width height changed by Adjust above - it.SetImageSurf( transform.SmoothScale(old_surf,it_w,it_h) ) + it.SetImgSurf( transform.SmoothScale(old_surf,it_w,it_h) ) } ps := NewPageSelector() - ps.IconSurf = MyIconPool.GetImageSurf("blueselector") + ps.IconSurf = MyIconPool.GetImgSurf("blueselector") ps.Parent = self ps.Init(start_x,start_y,92,92,128) @@ -341,9 +354,9 @@ func (self *Page) AdjustSAutoLeftAlign() { // ## adjust coordinator and append it.SetParent(self) it.SetIndex(0) it.Adjust(start_x,start_y, IconWidth-6,IconHeight-6,0) - old_surf := it.GetImageSurf() + old_surf := it.GetImgSurf() it_w,it_h := it.Size() - it.SetImageSurf( transform.SmoothScale(old_surf, it_w,it_h)) + it.SetImgSurf( transform.SmoothScale(old_surf, it_w,it_h)) }else if self.IconNumbers == 2 { start_x = (self.Width - self.PageIconMargin - self.IconNumbers*IconWidth) / 2 + IconWidth/2 @@ -354,9 +367,9 @@ func (self *Page) AdjustSAutoLeftAlign() { // ## adjust coordinator and append it.SetParent(self) it.SetIndex(i) it.Adjust( start_x+ i*self.PageIconMargin+i*IconWidth, start_y, IconWidth-6, IconHeight-6,0) - old_surf := it.GetImageSurf() + old_surf := it.GetImgSurf() it_w,it_h := it.Size() - it.SetImageSurf( transform.SmoothScale( old_surf, it_w,it_h)) + it.SetImgSurf( transform.SmoothScale( old_surf, it_w,it_h)) } @@ -366,14 +379,14 @@ func (self *Page) AdjustSAutoLeftAlign() { // ## adjust coordinator and append it.SetParent(self) it.SetIndex(i) it.Adjust(start_x+i*self.PageIconMargin + i*IconWidth, start_y, IconWidth-6, IconHeight-6, 0) - old_surf := it.GetImageSurf() + old_surf := it.GetImgSurf() it_w,it_h := it.Size() - it.SetImageSurf( transform.SmoothScale( old_surf, it_w,it_h)) + it.SetImgSurf( transform.SmoothScale( old_surf, it_w,it_h)) } } ps := NewPageSelector() - ps.IconSurf = MyIconPool.GetImageSurf("blueselector") + ps.IconSurf = MyIconPool.GetImgSurf("blueselector") ps.Parent = self ps.Init(start_x,start_y,92,92,128) @@ -425,7 +438,7 @@ func (self *Page) InitLeftAlign() { } ps := NewPageSelector() - ps.IconSurf = MyIconPool.GetImageSurf("blueselector") + ps.IconSurf = MyIconPool.GetImgSurf("blueselector") ps.Parent = self ps.Init(IconWidth/2,IconHeight/2,92,92,128) @@ -448,14 +461,13 @@ func (self *Page) Adjust() { // default init way, start_y = self.Height/2 for i:=0;i< self.IconNumbers; i++ { - it:=self.Icons[i] - it.SetParent(self) - it.SetIndex(i) - it.Adjust(start_x + i*IconWidth, start_y, IconWidth, IconHeight,0) + self.Icons[i].SetParent(self) + self.Icons[i].SetIndex(i) + self.Icons[i].Adjust(start_x + i*IconWidth, start_y, IconWidth, IconHeight,0) } ps := NewPageSelector() - ps.IconSurf = MyIconPool.GetImageSurf("blueselector") + ps.IconSurf = MyIconPool.GetImgSurf("blueselector") ps.Parent = self ps.Init(start_x,start_y, 92,92,128) self.Ps = ps @@ -472,7 +484,7 @@ func (self *Page) Adjust() { // default init way, it.Adjust(start_x + i*self.PageIconMargin+i*IconWidth, start_y, IconWidth, IconHeight,0) } ps := NewPageSelector() - ps.IconSurf = MyIconPool.GetImageSurf("blueselector") + ps.IconSurf = MyIconPool.GetImgSurf("blueselector") ps.Parent = self ps.Init(start_x,start_y-self.SelectedIconTopOffset, 92,92,128) self.Ps = ps @@ -533,7 +545,7 @@ func (self *Page) Init() { if self.IconNumbers > 0 { ps := NewPageSelector() - ps.IconSurf = MyIconPool.GetImageSurf("blueselector") + ps.IconSurf = MyIconPool.GetImgSurf("blueselector") ps.Parent = self ps.Init(start_x,start_y, IconWidth+4, IconHeight+4, 128) self.Ps = ps @@ -578,7 +590,7 @@ func (self *Page) IconStepMoveData(icon_eh ,cuts int) []int { // no Sine,No c dff := cuts - len(all_pieces) var diffa []int for i:=0;i 0 { @@ -810,7 +823,7 @@ func (self *Page) ClearCanvas() { } func (self *Page) AppendIcon( it interface{} ) { - self.Icons = append(self.Icons, it) + self.Icons = append(self.Icons, it.(IconItemInterface)) } func (self *Page) GetIcons() []IconItemInterface { @@ -957,3 +970,26 @@ func (self *Page) Size() (int,int) { func (self *Page) GetName() string { return self.Name } + +func (self *Page) SetIndex(idx int) { + self.Index = idx +} + +func (self *Page) SetAlign(al int) { + inthere := false + for _,v := range ALIGN { + if v == al { + inthere = true + break + } + } + + if inthere { + self.Align = al + } +} + +func (self *Page) GetAlign() int { + return self.Align +} + diff --git a/sysgo/UI/plugin.go b/sysgo/UI/plugin.go index 3468e22..c232ceb 100644 --- a/sysgo/UI/plugin.go +++ b/sysgo/UI/plugin.go @@ -1,12 +1,13 @@ package UI import ( - "plugin" + "log" + goplugin "plugin" ) var PluginPool = NewPluginPool() -type PluginInterface { - Name() string +type PluginInterface interface { + GetName() string Init(screen *MainScreen) Run(screen *MainScreen) } @@ -15,7 +16,7 @@ type Plugin struct { Name string // only ID for plugin } -func (self *Plugin) Name() string { +func (self *Plugin) GetName() string { return self.Name } @@ -35,20 +36,22 @@ func NewPluginPool() map[string]PluginInterface { } func PluginPoolRegister( pi PluginInterface ) bool { - name := pi.Name() + name := pi.GetName() if _,ok := PluginPool[name]; ok { return false } PluginPool[name] = pi + return true + } -func LoadPlugin( pname string) (*plugin.Plugin,error) { - return plugin.Load(pname) +func LoadPlugin( pname string) (*goplugin.Plugin,error) { + return goplugin.Open(pname) } -func InitPlugin(p *plugin.Plugin, main_screen *MainScreen) { +func InitPlugin(p *goplugin.Plugin, main_screen *MainScreen) { symAPI,err := p.Lookup("APIOBJ") if err!= nil { @@ -66,7 +69,7 @@ func InitPlugin(p *plugin.Plugin, main_screen *MainScreen) { pi.Init(main_screen) } -func RunPlugin(p *plugin.Plugin, main_screen *MainScreen) { +func RunPlugin(p *goplugin.Plugin, main_screen *MainScreen) { symAPI,err := p.Lookup("APIOBJ") if err!= nil { diff --git a/sysgo/UI/scroller.go b/sysgo/UI/scroller.go index e69de29..17afef5 100644 --- a/sysgo/UI/scroller.go +++ b/sysgo/UI/scroller.go @@ -0,0 +1 @@ +package UI diff --git a/sysgo/UI/skin_manager.go b/sysgo/UI/skin_manager.go index 80c7cbe..80522d1 100644 --- a/sysgo/UI/skin_manager.go +++ b/sysgo/UI/skin_manager.go @@ -2,7 +2,11 @@ package UI import ( + "fmt" + + "log" "strings" + "strconv" "github.com/go-ini/ini" @@ -24,21 +28,26 @@ func NewSkinManager() *SkinManager { func (self *SkinManager) ConvertToRGB(hexstr string) *color.Color { - if len(hexstr) < 7 || hexstr[0] != '#' { // # 00 00 00 + if len(hexstr) < 7 || string(hexstr[0]) != "#" { // # 00 00 00 log.Fatalf("ConvertToRGB hex string format error %s", hexstr) + //fmt.Printf("ConvertToRGB hex string format error %s", hexstr) return nil } h := strings.TrimLeft(hexstr,"#") - r := strconv.ParseInt(hexstr[0:2], 16,0) - g := strconv.ParseInt(hexstr[2:4], 16,0) - b := strconv.ParseInt(hexstr[4:6], 16,0) + r,_ := strconv.ParseInt(h[0:2], 16,0) + g,_ := strconv.ParseInt(h[2:4], 16,0) + b,_ := strconv.ParseInt(h[4:6], 16,0) - col := &color.Color{ r,g,b,255 } + col := &color.Color{ uint32(r),uint32(g),uint32(b),255 } return col } +func (self *SkinManager) ChangeSkin( skin_name string ) { + +} + func (self *SkinManager) Init() { self.Colors = make(map[string]*color.Color) @@ -52,11 +61,14 @@ func (self *SkinManager) Init() { self.Colors["White"] = &color.Color{255,255,255,255} - fname := "../skin/"+sysgo.SKIN+"/config.cfg" - - cfg, err := ini.Load( fname ) + fname := "skin/"+sysgo.SKIN+"/config.cfg" + + load_opts := ini.LoadOptions{ + IgnoreInlineComment:true, + } + cfg, err := ini.LoadSources(load_opts, fname ) if err != nil { - fmt.Printf("Fail to read file: %v", err) + fmt.Printf("Fail to read file: %v\n", err) return } diff --git a/sysgo/UI/title_bar.go b/sysgo/UI/title_bar.go index b4073d9..f30929c 100644 --- a/sysgo/UI/title_bar.go +++ b/sysgo/UI/title_bar.go @@ -1,22 +1,31 @@ package UI import ( + "fmt" + "os" "log" "strconv" "bufio" "strings" + "time" "github.com/veandco/go-sdl2/sdl" -// "github.com/veandco/go-sdl2/ttf" + "github.com/veandco/go-sdl2/ttf" "github.com/cuu/gogame/surface" + "github.com/cuu/gogame/rect" "github.com/cuu/gogame/font" + "github.com/cuu/gogame/draw" "github.com/itchyny/volume-go" "github.com/vjeantet/jodaTime" + + "../DBUS" "../../sysgo" + + ) @@ -53,7 +62,7 @@ func (self *TitleBarIconItem) Draw() { portion := rect.Rect(0,self.IconIndex*self.IconHeight,self.IconWidth,self.IconHeight) - surface.Blit(self.Parent.GetCanvasHWND(), + surface.Blit(self.Parent.CanvasHWND, self.ImgSurf,draw.MidRect(self.PosX + parent_x, self.PosY + parent_y, self.Width,self.Height, Width, Height),&portion) } @@ -70,15 +79,15 @@ type TitleBar struct { LOffset int ROffset int Icons map[string]IconItemInterface - IconWidth - IconHeight - BorderWidth + IconWidth int + IconHeight int + BorderWidth int CanvasHWND *sdl.Surface HWND *sdl.Surface Title string InLowBackLight int SkinManager *SkinManager //set by MainScreen - DBusManager *DBusInterface + DBusManager DBUS.DBusInterface icon_base_path string /// SkinMap("gameshell/titlebar_icons/") @@ -90,7 +99,6 @@ type TitleBar struct { func NewTitleBar() *TitleBar { t := &TitleBar{} - t.BorderWidth = 1 t.BarHeight = TitleBar_BarHeight @@ -110,9 +118,11 @@ func NewTitleBar() *TitleBar { t.TitleFont = Fonts["varela12"] t.TimeFont = Fonts["varela16"] + return t + } -func (t *TitleBar) RoundRobinCheck { +func (t *TitleBar) RoundRobinCheck() { } @@ -121,14 +131,14 @@ func (t *TitleBar) UpdateWifiStrength() { } func (t *TitleBar) GetWifiStrength(stren int) int { - segs := [][]int{ []int{-2,-1}, []int{0,25}, []int{25,50}, []int{50,75},int{75,100}} + segs := [][]int{ []int{-2,-1}, []int{0,25}, []int{25,50}, []int{50,75},[]int{75,100}} stren_number := stren ge := 0 if stren_number == 0 { return ge } - for i,v in range segs { + for i,v := range segs { if stren_number >= v[0] && stren_number <= v[1] { ge = i break @@ -150,7 +160,7 @@ func (self *TitleBar) SyncSoundVolume() { snd_segs := [][]int{ []int{0,10}, []int{10,30}, []int{30,70},[]int{70,100} } ge := 0 - for i,v in range snd_segs { + for i,v := range snd_segs { if vol >= v[0] && vol <= v[1] { ge = i break @@ -178,7 +188,7 @@ func (self *TitleBar) CheckBatteryStat() { defer file.Close() - bat_uevent := make([string]string) + bat_uevent := make(map[string]string) scanner := bufio.NewScanner(file) scanner.Split(bufio.ScanLines) @@ -195,14 +205,14 @@ func (self *TitleBar) CheckBatteryStat() { cur_cap := 0 if val, ok := bat_uevent["POWER_SUPPLY_CAPACITY"]; ok { - cur_cap = strings.Atoi(val) + cur_cap,_ = strconv.Atoi(val) }else { cur_cap = 0 } cap_ge := 0 - for i,v in range bat_segs { + for i,v := range bat_segs { if cur_cap >= v[0] && cur_cap <= v[1] { cap_ge = i break @@ -286,7 +296,7 @@ func (self *TitleBar) Init(main_screen *MainScreen) { round_corners.MyType = ICON_TYPES["STAT"] round_corners.Parent = self - round_corners.ImgSurf = MyIconPool.GetImageSurf["roundcorners"] + round_corners.ImgSurf = MyIconPool.GetImgSurf("roundcorners") round_corners.Adjust(0,0,10,10,0) self.Icons["round_corners"] = round_corners @@ -320,12 +330,12 @@ func (self *TitleBar) Draw(title string) { time_text_w, time_text_h := font.Size(self.TimeFont, cur_time) title_text_w, title_text_h := font.Size(self.TitleFont, self.Title) - title_text_surf := font.Render(self.TitleFont, self.Title, true, self.SkinManager.GiveColor("Text")) + title_text_surf := font.Render(self.TitleFont, self.Title, true, self.SkinManager.GiveColor("Text"),nil) surface.Blit(self.CanvasHWND,title_text_surf, draw.MidRect(title_text_w/2+self.LOffset,title_text_h/2+(self.BarHeight-title_text_h)/2,title_text_w,title_text_h,Width,Height),nil) - time_text_surf := font.Render(self.TimeFont, cur_time,true,self.SkinManager.GiveColor("Text")) + time_text_surf := font.Render(self.TimeFont, cur_time,true,self.SkinManager.GiveColor("Text"),nil) surface.Blit(self.CanvasHWND, time_text_surf, draw.MidRect(Width-time_text_w/2-self.ROffset, time_text_h/2+(self.BarHeight-time_text_h)/2, time_text_w,time_text_h,Width,Height),nil) start_x := Width - time_text_w - self.ROffset - self.IconWidth*3 // close to the time_text diff --git a/sysgo/UI/untitled_icon.go b/sysgo/UI/untitled_icon.go index 9f14c92..bb57ff2 100644 --- a/sysgo/UI/untitled_icon.go +++ b/sysgo/UI/untitled_icon.go @@ -6,8 +6,11 @@ import ( "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" + "github.com/cuu/gogame/surface" "github.com/cuu/gogame/draw" "github.com/cuu/gogame/color" + "github.com/cuu/gogame/image" + "github.com/cuu/gogame/font" ) @@ -17,7 +20,7 @@ type UntitledIcon struct { PosY int Width int Height int - Words [2]string + Words []string FontObj *ttf.Font BG *sdl.Surface Color *color.Color @@ -29,18 +32,19 @@ func NewUntitledIcon() *UntitledIcon { u := &UntitledIcon{} u.Width = 80 u.Height = 80 - u.Words = [2]string{"G","s"} + u.Words = []string{"G","s"} u.FontObj = Fonts["varela40"] u.Color = &color.Color{83,83,83,255} u.BlankPng = SkinMap("gameshell/blank.png") + return u } func (self *UntitledIcon) Init() { self.BG = image.Load(self.BlankPng) -) +} func (self *UntitledIcon) SetWords( TwoWords ...string) { if len(TwoWords) == 1 { @@ -59,7 +63,7 @@ func (self *UntitledIcon) Draw() { w_ := self.Text.W h_ := self.Text.H - surface.Blit(self.BG,self.Text,draw.MidRect(self.Width/2, self.Height/2,w_,h_, self.Width, self.Height),nil) + surface.Blit(self.BG,self.Text,draw.MidRect(self.Width/2, self.Height/2, int(w_),int(h_), self.Width, self.Height),nil) } } diff --git a/sysgo/UI/util_funcs.go b/sysgo/UI/util_funcs.go index a9b6f59..7c08cea 100644 --- a/sysgo/UI/util_funcs.go +++ b/sysgo/UI/util_funcs.go @@ -14,15 +14,16 @@ import ( func SkinMap(orig_file_or_dir string) string { DefaultSkin := "default" ret := "" + skin_dir_prefix:= "skin/" if strings.HasPrefix(orig_file_or_dir, "..") { - ret = strings.Replace(orig_file_or_dir,"..","../skin/"+sysgo.SKIN,-1) + ret = strings.Replace(orig_file_or_dir,"..",skin_dir_prefix + sysgo.SKIN,-1) if FileExists(ret) == false { - ret = strings.Replace(orig_file_or_dir,"..", "../skin/"+DefaultSkin) + ret = strings.Replace(orig_file_or_dir,"..", skin_dir_prefix + DefaultSkin,-1) } }else { - ret = "../skin/"+sysgo.SKIN+"/sysgo/"+orig_file_or_dir + ret = skin_dir_prefix+sysgo.SKIN+"/sysgo/"+orig_file_or_dir if FileExists(ret) == false { - ret = "../skin/"+DefaultSkin+"/sysgo/"+orig_file_or_dir + ret = skin_dir_prefix+DefaultSkin+"/sysgo/"+orig_file_or_dir } } diff --git a/sysgo/easings/README.md b/sysgo/easings/README.md deleted file mode 100644 index fbc1273..0000000 --- a/sysgo/easings/README.md +++ /dev/null @@ -1,7 +0,0 @@ -## easings [![GoDoc](https://godoc.org/github.com/gen2brain/raylib-go/easings?status.svg)](https://godoc.org/github.com/gen2brain/raylib-go/easings) - -Useful easing functions for values animation. - -A port of Robert Penner's [easing equations](http://robertpenner.com/easing/). - -![screenshot](https://goo.gl/crzRrH) diff --git a/sysgo/main.go b/sysgo/main.go deleted file mode 100644 index e69de29..0000000 diff --git a/sysgo/UI/plugins/HelloWorld/helloworld.go b/sysgo/plugins/HelloWorld/helloworld.go similarity index 95% rename from sysgo/UI/plugins/HelloWorld/helloworld.go rename to sysgo/plugins/HelloWorld/helloworld.go index 9b9b261..9804492 100644 --- a/sysgo/UI/plugins/HelloWorld/helloworld.go +++ b/sysgo/plugins/HelloWorld/helloworld.go @@ -1,7 +1,7 @@ package main import ( - "../../../UI" + "../../UI" ) type HelloWorldPage struct {