| 1881 | } |
| 1882 | |
| 1883 | void loadGameGenie () |
| 1884 | { |
| 1885 | GtkWidget *fileChooser; |
| 1886 | GtkFileFilter *filterGG; |
| 1887 | GtkFileFilter *filterRom; |
| 1888 | GtkFileFilter *filterNes; |
| 1889 | GtkFileFilter *filterAll; |
| 1890 | |
| 1891 | |
| 1892 | filterGG = gtk_file_filter_new (); |
| 1893 | gtk_file_filter_add_pattern (filterGG, "gg.rom"); |
| 1894 | gtk_file_filter_set_name (filterGG, "gg.rom"); |
| 1895 | |
| 1896 | filterRom = gtk_file_filter_new (); |
| 1897 | gtk_file_filter_add_pattern (filterRom, "*.rom"); |
| 1898 | gtk_file_filter_set_name (filterRom, "*.rom"); |
| 1899 | |
| 1900 | filterNes = gtk_file_filter_new (); |
| 1901 | gtk_file_filter_add_pattern (filterNes, "*.nes"); |
| 1902 | gtk_file_filter_set_name (filterNes, "*.nes"); |
| 1903 | |
| 1904 | filterAll = gtk_file_filter_new (); |
| 1905 | gtk_file_filter_add_pattern (filterAll, "*"); |
| 1906 | gtk_file_filter_set_name (filterAll, "All Files"); |
| 1907 | |
| 1908 | |
| 1909 | fileChooser = |
| 1910 | gtk_file_chooser_dialog_new ("Load Game Genie ROM", |
| 1911 | GTK_WINDOW (MainWindow), |
| 1912 | GTK_FILE_CHOOSER_ACTION_OPEN, |
| 1913 | "_Cancel", GTK_RESPONSE_CANCEL, |
| 1914 | "_Open", GTK_RESPONSE_ACCEPT, |
| 1915 | NULL); |
| 1916 | gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterGG); |
| 1917 | gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterRom); |
| 1918 | gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterNes); |
| 1919 | gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterAll); |
| 1920 | gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fileChooser), |
| 1921 | getcwd (NULL, 0)); |
| 1922 | |
| 1923 | if (gtk_dialog_run (GTK_DIALOG (fileChooser)) == GTK_RESPONSE_ACCEPT) |
| 1924 | { |
| 1925 | char *filename; |
| 1926 | filename = |
| 1927 | gtk_file_chooser_get_filename (GTK_FILE_CHOOSER |
| 1928 | (fileChooser)); |
| 1929 | // copy file to proper place (~/.fceux/gg.rom) |
| 1930 | std::ifstream f1 (filename, std::fstream::binary); |
| 1931 | std::string fn_out = FCEU_MakeFName (FCEUMKF_GGROM, 0, ""); |
| 1932 | std::ofstream f2 (fn_out.c_str (), |
| 1933 | std::fstream::trunc | std::fstream::binary); |
| 1934 | gtk_widget_destroy (fileChooser); |
| 1935 | GtkWidget *d; |
| 1936 | enableGameGenie (TRUE); |
| 1937 | d = gtk_message_dialog_new (GTK_WINDOW (MainWindow), |
| 1938 | GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, |
| 1939 | GTK_BUTTONS_OK, |
| 1940 | "Game Genie ROM copied to: '%s'.", |
nothing calls this directly
no test coverage detected