diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-11-28 10:58:17 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-11-28 10:58:17 +0000 |
| commit | 78d783281d5381facf626b4adad4509bd276b843 (patch) | |
| tree | cc75f5a17cad81dac6544a2203f34882e86021bb | |
| parent | 555d07b089f1893a3ae9534dcad7397f1fd6eedf (diff) | |
| download | pcsxr-78d783281d5381facf626b4adad4509bd276b843.tar.gz | |
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@38376 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | ChangeLog | 10 | ||||
| -rw-r--r-- | data/pcsx.glade2 | 245 | ||||
| -rw-r--r-- | gui/Cheat.c | 4 | ||||
| -rw-r--r-- | gui/Gtk2Gui.c | 567 | ||||
| -rw-r--r-- | gui/Makefile.am | 1 | ||||
| -rw-r--r-- | gui/Makefile.in | 4 | ||||
| -rw-r--r-- | gui/MemcardDlg.c | 723 | ||||
| -rw-r--r-- | gui/MemcardDlg.h | 24 | ||||
| -rw-r--r-- | po/pcsx.pot | 285 | ||||
| -rw-r--r-- | po/pt_BR.po | 554 | ||||
| -rw-r--r-- | po/zh_CN.po | 330 | ||||
| -rw-r--r-- | po/zh_TW.po | 330 |
12 files changed, 1599 insertions, 1478 deletions
@@ -1,3 +1,13 @@ +November 28, 2009 Wei Mingzhi <weimingzhi@gmail.com> + + * data/pcsx.glade2: Adjusted Memcard dialog. + * po/pt_BR.po, po/zh_CN.po, po/zh_TW.po, po/pcsx.pot: Updated. + * gui/Cheat.c: Fixed memory leaks. + * gui/Gtk2Gui.c: Moved memcard dialog stuff into MemcardDlg.c. + * gui/MemcardDlg.c: Added. + * gui/MemcardDlg.h: Likewise. + * gui/Makefile.am: Added MemcardDlg.c. + November 27, 2009 Wei Mingzhi <weimingzhi@gmail.com> * plugins/dfcdrom/cdrcfg-0.1df/main.c: Rewritten the configuration utility diff --git a/data/pcsx.glade2 b/data/pcsx.glade2 index 694851b3..a528bf61 100644 --- a/data/pcsx.glade2 +++ b/data/pcsx.glade2 @@ -1741,6 +1741,56 @@ PAL</property> <property name="border_width">5</property> <property name="spacing">5</property> <child> + <widget class="GtkButton" id="GtkButton_New1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <signal name="clicked" handler="OnMcd_Reload1"/> + <child> + <widget class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <child> + <widget class="GtkHBox" id="hbox57"> + <property name="visible">True</property> + <property name="spacing">2</property> + <child> + <widget class="GtkImage" id="image324"> + <property name="visible">True</property> + <property name="stock">gtk-new</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">New</property> + <property name="use_underline">True</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> <widget class="GtkButton" id="GtkButton_Format1"> <property name="visible">True</property> <property name="can_focus">True</property> @@ -1787,29 +1837,29 @@ PAL</property> <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">0</property> + <property name="position">1</property> </packing> </child> <child> - <widget class="GtkButton" id="GtkButton_Reload1"> + <widget class="GtkButton" id="GtkButton_Delete1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="can_default">True</property> - <property name="receives_default">False</property> - <signal name="clicked" handler="OnMcd_Reload1"/> + <property name="receives_default">True</property> + <signal name="clicked" handler="OnMcd_Delete1"/> <child> - <widget class="GtkAlignment" id="alignment1"> + <widget class="GtkAlignment" id="alignment45"> <property name="visible">True</property> <property name="xscale">0</property> <property name="yscale">0</property> <child> - <widget class="GtkHBox" id="hbox57"> + <widget class="GtkHBox" id="hbox63"> <property name="visible">True</property> <property name="spacing">2</property> <child> - <widget class="GtkImage" id="image324"> + <widget class="GtkImage" id="image330"> <property name="visible">True</property> - <property name="stock">gtk-redo</property> + <property name="stock">gtk-delete</property> </widget> <packing> <property name="expand">False</property> @@ -1818,9 +1868,9 @@ PAL</property> </packing> </child> <child> - <widget class="GtkLabel" id="label1"> + <widget class="GtkLabel" id="label105"> <property name="visible">True</property> - <property name="label" translatable="yes">Reload</property> + <property name="label" translatable="yes">Un/Delete</property> <property name="use_underline">True</property> </widget> <packing> @@ -1837,7 +1887,7 @@ PAL</property> <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </widget> @@ -1892,6 +1942,7 @@ PAL</property> <child> <widget class="GtkVButtonBox" id="vbuttonbox2"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">6</property> <property name="layout_style">spread</property> <child> @@ -1994,106 +2045,6 @@ PAL</property> <property name="position">1</property> </packing> </child> - <child> - <widget class="GtkButton" id="GtkButton_Delete2"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <signal name="clicked" handler="OnMcd_Delete2"/> - <child> - <widget class="GtkAlignment" id="alignment44"> - <property name="visible">True</property> - <property name="xscale">0</property> - <property name="yscale">0</property> - <child> - <widget class="GtkHBox" id="hbox62"> - <property name="visible">True</property> - <property name="spacing">2</property> - <child> - <widget class="GtkImage" id="image329"> - <property name="visible">True</property> - <property name="stock">gtk-go-forward</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label104"> - <property name="visible">True</property> - <property name="label" translatable="yes">Un/Delete</property> - <property name="use_underline">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="GtkButton_Delete1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <signal name="clicked" handler="OnMcd_Delete1"/> - <child> - <widget class="GtkAlignment" id="alignment45"> - <property name="visible">True</property> - <property name="xscale">0</property> - <property name="yscale">0</property> - <child> - <widget class="GtkHBox" id="hbox63"> - <property name="visible">True</property> - <property name="spacing">2</property> - <child> - <widget class="GtkImage" id="image330"> - <property name="visible">True</property> - <property name="stock">gtk-go-back</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label105"> - <property name="visible">True</property> - <property name="label" translatable="yes">Un/Delete</property> - <property name="use_underline">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">3</property> - </packing> - </child> </widget> </child> </widget> @@ -2139,6 +2090,56 @@ PAL</property> <property name="border_width">5</property> <property name="spacing">5</property> <child> + <widget class="GtkButton" id="GtkButton_New2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <signal name="clicked" handler="OnMcd_Reload2"/> + <child> + <widget class="GtkAlignment" id="alignment48"> + <property name="visible">True</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <child> + <widget class="GtkHBox" id="hbox66"> + <property name="visible">True</property> + <property name="spacing">2</property> + <child> + <widget class="GtkImage" id="image333"> + <property name="visible">True</property> + <property name="stock">gtk-new</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label108"> + <property name="visible">True</property> + <property name="label" translatable="yes">New</property> + <property name="use_underline">True</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> <widget class="GtkButton" id="GtkButton_Format2"> <property name="visible">True</property> <property name="can_focus">True</property> @@ -2185,29 +2186,29 @@ PAL</property> <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">0</property> + <property name="position">1</property> </packing> </child> <child> - <widget class="GtkButton" id="GtkButton_Reload2"> + <widget class="GtkButton" id="GtkButton_Delete2"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="can_default">True</property> - <property name="receives_default">False</property> - <signal name="clicked" handler="OnMcd_Reload2"/> + <property name="receives_default">True</property> + <signal name="clicked" handler="OnMcd_Delete2"/> <child> - <widget class="GtkAlignment" id="alignment48"> + <widget class="GtkAlignment" id="alignment44"> <property name="visible">True</property> <property name="xscale">0</property> <property name="yscale">0</property> <child> - <widget class="GtkHBox" id="hbox66"> + <widget class="GtkHBox" id="hbox62"> <property name="visible">True</property> <property name="spacing">2</property> <child> - <widget class="GtkImage" id="image333"> + <widget class="GtkImage" id="image329"> <property name="visible">True</property> - <property name="stock">gtk-redo</property> + <property name="stock">gtk-delete</property> </widget> <packing> <property name="expand">False</property> @@ -2216,9 +2217,9 @@ PAL</property> </packing> </child> <child> - <widget class="GtkLabel" id="label108"> + <widget class="GtkLabel" id="label104"> <property name="visible">True</property> - <property name="label" translatable="yes">Reload</property> + <property name="label" translatable="yes">Un/Delete</property> <property name="use_underline">True</property> </widget> <packing> @@ -2235,7 +2236,7 @@ PAL</property> <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </widget> diff --git a/gui/Cheat.c b/gui/Cheat.c index 0bd9bcae..0bec52a3 100644 --- a/gui/Cheat.c +++ b/gui/Cheat.c @@ -85,6 +85,7 @@ static void CheatList_TreeSelectionChanged(GtkTreeSelection *selection, gpointer if (selected) { path = gtk_tree_model_get_path(model, &iter); i = *gtk_tree_path_get_indices(path); + gtk_tree_path_free(path); // If a row was selected, and the row is not blank, we can now enable // some of the disabled widgets @@ -189,6 +190,7 @@ static void OnCheatListDlg_EditClicked(GtkWidget *widget, gpointer user_data) { path = gtk_tree_model_get_path(model, &iter); index = *gtk_tree_path_get_indices(path); + gtk_tree_path_free(path); dlg = gtk_dialog_new_with_buttons(_("Edit Cheat"), GTK_WINDOW(CheatListDlg), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, @@ -277,6 +279,7 @@ static void OnCheatListDlg_DelClicked(GtkWidget *widget, gpointer user_data) { if (selected) { path = gtk_tree_model_get_path(model, &iter); i = *gtk_tree_path_get_indices(path); + gtk_tree_path_free(path); RemoveCheat(i); } @@ -610,6 +613,7 @@ static int GetSelectedResultIndex() { path = gtk_tree_model_get_path(model, &iter); i = *gtk_tree_path_get_indices(path); + gtk_tree_path_free(path); assert(i < NumSearchResults); return i; diff --git a/gui/Gtk2Gui.c b/gui/Gtk2Gui.c index 0ae4ccc7..f023a7c4 100644 --- a/gui/Gtk2Gui.c +++ b/gui/Gtk2Gui.c @@ -36,6 +36,8 @@ #include "../libpcsxcore/sio.h" #include "../libpcsxcore/cheat.h" +#include "MemcardDlg.h" + extern int UseGui; PSEgetLibType PSE_getLibType = NULL; @@ -46,13 +48,11 @@ PSEgetLibName PSE_getLibName = NULL; void UpdatePluginsBIOS(); void UpdatePluginsBIOS_UpdateGUI(GladeXML *xml); void FindNetPlugin(GladeXML *xml); -void copy_memcard_data (char *from, char *to, gint *i, gchar *str); void OnNet_Conf(GtkWidget *widget, gpointer user_data); void OnNet_About(GtkWidget *widget, gpointer user_data); // Functions Callbacks -/*make them getting the right params, will be used later*/ void OnFile_RunCd(); void OnFile_RunBios(); void OnFile_RunExe(); @@ -64,7 +64,6 @@ void OnConf_Graphics(); void OnConf_Sound(); void OnConf_CdRom(); void OnConf_Pad(); -void OnConf_Mcds(); void OnConf_Cpu(); void OnConf_Net(); void OnHelp_Help(); @@ -98,7 +97,6 @@ GtkWidget *controlwidget; int destroy = 0; #define MAX_SLOTS 5 -#define MAX_MEMCARD_BLOCKS 15 #define FindComboText(combo, list, conf) \ if (strlen(conf) > 0) { \ @@ -1038,457 +1036,6 @@ void OnConf_Net() { GTK_SIGNAL_FUNC(OnNet_About), xml, NULL, G_CONNECT_AFTER); } -McdBlock Blocks[2][MAX_MEMCARD_BLOCKS]; /* Assuming 2 cards, 15 blocks? */ -int IconC[2][MAX_MEMCARD_BLOCKS]; -enum { - CL_ICON, - CL_TITLE, - CL_STAT, - CL_ID, - CL_NAME, - NUM_CL -}; - -GtkWidget *GtkCList_McdList1, *GtkCList_McdList2; -GtkTreeSelection *sel1, *sel2; -gint mcd1_row, mcd2_row; - -static void add_columns (GtkTreeView *treeview) { - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - - /* column for icon */ - renderer = gtk_cell_renderer_pixbuf_new (); - column = gtk_tree_view_column_new_with_attributes (_("Icon"), - renderer, "pixbuf", CL_ICON, NULL); - gtk_tree_view_append_column (treeview, column); - - /* column for title */ - renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes (_("Title"), - renderer, "text", CL_TITLE, NULL); - gtk_tree_view_append_column (treeview, column); - - /* column for status */ - renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes (_("Status"), - renderer, "text", CL_STAT, NULL); - gtk_tree_view_append_column (treeview, column); - - /* column for id */ - renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes (_("ID"), - renderer, "text", CL_ID, NULL); - gtk_tree_view_append_column (treeview, column); - - /* column for Name */ - renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes (_("Name"), - renderer, "text", CL_NAME, NULL); - gtk_tree_view_append_column (treeview, column); -} - -GdkPixbuf *SetIcon(GtkWidget *dialog, short *icon, int i) { - GdkPixmap *pixmap; - GdkImage *image; - GdkVisual *visual; - GdkGC *gc; - int x, y, c; - - visual = gdk_window_get_visual(dialog->window); - - if (visual->depth == 8) return NULL; - - image = gdk_image_new(GDK_IMAGE_NORMAL, visual, 16, 16); - - for (y=0; y<16; y++) { - for (x=0; x<16; x++) { - c = icon[y*16+x]; - c = ((c&0x001f) << 10) | ((c&0x7c00) >> 10) | (c&0x03e0); - if (visual->depth == 16) - c = (c&0x001f) | ((c&0x7c00) << 1) | ((c&0x03e0) << 1); - else if (visual->depth == 24 || visual->depth == 32) - c = ((c&0x001f) << 3) | ((c&0x03e0) << 6) | ((c&0x7c00) << 9); - - gdk_image_put_pixel(image, x, y, c); - } - } - - pixmap = gdk_pixmap_new(dialog->window, 16, 16, visual->depth); - - gc = gdk_gc_new(pixmap); - gdk_draw_image(pixmap, gc, image, 0, 0, 0, 0, 16, 16); - gdk_gc_destroy(gc); - gdk_image_destroy(image); - - return gdk_pixbuf_get_from_drawable (NULL, - GDK_PIXMAP (pixmap), - NULL, - 0,0,0,0,-1,-1); -} - -void LoadListItems(int mcd, GtkWidget *List, GtkWidget *dialog) { - int i; - - GtkListStore *store= gtk_list_store_new (NUM_CL,GDK_TYPE_PIXBUF, G_TYPE_STRING, - G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING); - GtkTreeIter iter; - GdkPixbuf *pixbuf; - - for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { - McdBlock *Info; - gchar *state; - - Info = &Blocks[mcd-1][i]; - IconC[mcd-1][i] = 0; - - if ((Info->Flags & 0xF0) == 0xA0) { - if ((Info->Flags & 0xF) >= 1 && - (Info->Flags & 0xF) <= 3) { - state = _("Deleted"); - } else - state = _("Free"); - } else if ((Info->Flags & 0xF0) == 0x50) - state = _("Used"); - else - state = _("Free"); - -// if (Info->IconCount == 0) continue; - - pixbuf = SetIcon(dialog, Info->Icon, i+1); - - gtk_list_store_append (store, &iter); - gtk_list_store_set (store, &iter, - CL_ICON, pixbuf, - CL_TITLE, Info->Title, - CL_STAT, state, - CL_NAME, Info->Name, - CL_ID, Info->ID, - -1); - } - - gtk_tree_view_set_model (GTK_TREE_VIEW (List), GTK_TREE_MODEL (store)); - g_object_unref (G_OBJECT (store)); - gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (List), TRUE); - gtk_widget_show(List); -} - -void UpdateMcdDlg(GtkWidget *widget) { - int i; - GladeXML *xml; - GtkWidget *list1, *list2, *dialog; - - for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { - GetMcdBlockInfo(1, i+1, &Blocks[0][i]); - GetMcdBlockInfo(2, i+1, &Blocks[1][i]); - } - - xml = glade_get_widget_tree (widget); - list1 = glade_xml_get_widget (xml, "GtkCList_McdList1"); - list2 = glade_xml_get_widget (xml, "GtkCList_McdList2"); - dialog = glade_xml_get_widget (xml, "McdsDlg"); - LoadListItems(1, list1, dialog); - LoadListItems(2, list2, dialog); -} - -void OnMcd_Clicked (GtkDialog *dialog, gint arg1, gpointer user_data) { - GladeXML *xml = user_data; - - if (arg1 == GTK_RESPONSE_OK) { - gchar *tmp; - GtkWidget *widget; - - widget = glade_xml_get_widget (xml, "GtkMcd1FSButton"); - if ((tmp = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget))) != NULL) { - strcpy(Config.Mcd1, tmp); - g_free (tmp); - } - - widget = glade_xml_get_widget (xml, "GtkMcd2FSButton"); - if ((tmp = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget))) != NULL) { - strcpy(Config.Mcd2, tmp); - g_free (tmp); - } - - SaveConfig(); - } - - LoadMcds(Config.Mcd1, Config.Mcd2); - gtk_widget_destroy(GTK_WIDGET (dialog)); -} - -void on_memcard_file_changed (GtkWidget *widget, gpointer user_data) { - gint memcard = (int) user_data; - gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); - - if (filename != NULL) { - LoadMcd(memcard, filename); - UpdateMcdDlg(widget); - gtk_widget_set_sensitive (widget, TRUE); - } - - g_free (filename); -} - -void OnMcd_Format(GtkWidget *widget, gpointer user_data) { - GladeXML *xml; - GtkWidget *memcard_fs; - GtkWidget *message_dialog; - gint result; - gchar *str; - - gint memcard = (int) user_data; - - /* TODO Check if the memory card actually has data on it before displaying this */ - - message_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, - GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, - _("Format this Memory Card?")); - gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (message_dialog), - _("If you format the memory card, the card will be empty, and any existing data overwritten.")); - gtk_dialog_add_buttons (GTK_DIALOG (message_dialog), - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - _("Format card"), GTK_RESPONSE_YES, - NULL); - - result = gtk_dialog_run (GTK_DIALOG (message_dialog)); - gtk_widget_destroy (message_dialog); - - if (result == GTK_RESPONSE_YES) { - xml = glade_get_widget_tree (widget); - if (memcard == 1) - memcard_fs = glade_xml_get_widget (xml, "GtkMcd1FSButton"); - else - memcard_fs = glade_xml_get_widget (xml, "GtkMcd2FSButton"); - - str = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (memcard_fs)); - - CreateMcd(str); - LoadMcd(memcard, str); - UpdateMcdDlg(widget); - g_free (str); - } -} - -void OnMcd_Reload (GtkWidget *widget, gpointer user_data) { - GladeXML *xml; - GtkWidget *memcard_fs; - gchar *str; - - gint memcard = (int) user_data; - - xml = glade_get_widget_tree (widget); - - if (memcard == 1) { - memcard_fs = glade_xml_get_widget (xml, "GtkMcd1FSButton"); - str = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (memcard_fs)); - } else { - memcard_fs = glade_xml_get_widget (xml, "GtkMcd2FSButton"); - str = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (memcard_fs)); - } - - LoadMcd (memcard, str); - UpdateMcdDlg(widget); - - g_free (str); -} - -static int copy = 0, copymcd = 0; - -static int get_free_memcard_slot (int target_card) { - McdBlock *Info; - gboolean found = FALSE; - - int i = 0; - while (i < 15 && found == FALSE) { - Info = &Blocks[target_card][i]; - if (g_ascii_strcasecmp (Info->Title, "") == 0) { - found = TRUE; - } else { - i++; - } - } - - if (found == TRUE) - return i; - - // no free slots, try to find a deleted one - i = 0; - while (i < 15 && found == FALSE) { - Info = &Blocks[target_card][i]; - if ((Info->Flags & 0xF0) != 0x50) { - found = TRUE; - } else { - i++; - } - } - - if (found == TRUE) - return i; - - return -1; -} - -void OnMcd_CopyTo(GtkWidget *widget, gpointer user_data) { - gint mcd = (gint)user_data; - - GtkTreeIter iter; - GtkTreeModel *model; - GtkTreePath *path; - gint *i; - GladeXML *xml; - GtkTreeSelection *treesel; - gchar *str; - char *source, *destination; - - int first_free_slot; - - xml = glade_get_widget_tree(widget); - - if (mcd == 1) - treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(GtkCList_McdList1)); - else - treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(GtkCList_McdList2)); - - /* If the item selected is not reported as a 'Free' slot */ - if (gtk_tree_selection_get_selected(treesel, &model, &iter)) { - path = gtk_tree_model_get_path(model, &iter); - i = gtk_tree_path_get_indices(path); - copy = *i; - copymcd = mcd; - gtk_tree_path_free(path); - } - - /* Determine the first free slot in the target memory card */ - first_free_slot = get_free_memcard_slot(mcd - 1); - if (first_free_slot == -1) { - /* No free slots available on the destination card */ - SysMessage(_("No space available in the target memory card!")); - return; - } - xml = glade_get_widget_tree (GtkCList_McdList1); - - if (mcd == 1) { - str = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(glade_xml_get_widget (xml, "GtkMcd1FSButton"))); - source = Mcd2Data; - copy = mcd2_row; - destination = Mcd1Data; - } else { - str = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(glade_xml_get_widget (xml, "GtkMcd2FSButton"))); - source = Mcd1Data; - copy = mcd1_row; - destination = Mcd2Data; - } - - copy_memcard_data (source, destination, &first_free_slot, str); - UpdateMcdDlg(widget); -} - -void copy_memcard_data (char *from, char *to, gint *i, gchar *str) { - memcpy(to + (*i+1) * 128, from + (copy+1) * 128, 128); - SaveMcd((char*)str, to, (*i+1) * 128, 128); - memcpy(to + (*i+1) * 1024 * 8, from + (copy+1) * 1024 * 8, 1024 * 8); - SaveMcd((char*)str, to, (*i+1) * 1024 * 8, 1024 * 8); -} - -void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer user_data) { - GladeXML *xml; - GtkTreeIter iter; - GtkTreeModel *model; - GtkTreePath *path; - - gboolean selected; - int i; - char *data; - - gint memcard = (int) user_data; - - if (memcard == 1) { - selected = gtk_tree_selection_get_selected (selection, &model, &iter); - data = Mcd1Data; - } else { - selected = gtk_tree_selection_get_selected (selection, &model, &iter); - data = Mcd2Data; - } - - if (selected) { - path = gtk_tree_model_get_path (model, &iter); - i = *gtk_tree_path_get_indices (path); - - /* If a row was selected, and the row is not blank, we can now enable - some of the disabled widgets */ - /* Check LoadListItems for determining state */ - xml = glade_get_widget_tree (GtkCList_McdList1); - GtkWidget *disable, *enable; - if (memcard == 1) { - mcd1_row = i; - enable = glade_xml_get_widget (xml, "GtkButton_CopyTo2"); - disable = glade_xml_get_widget (xml, "GtkButton_CopyTo1"); - } else { - mcd2_row = i; - enable = glade_xml_get_widget (xml, "GtkButton_CopyTo1"); - disable = glade_xml_get_widget (xml, "GtkButton_CopyTo2"); - } - gtk_widget_set_sensitive (enable, TRUE); - gtk_widget_set_sensitive (disable, FALSE); - } -} - -void on_memcard_delete (GtkWidget *widget, gpointer user_data) { - McdBlock *Info; - int i, xor = 0, j; - char *data, *ptr; - GtkTreeIter iter; - GtkTreeModel *model; - GtkTreePath *path; - gchar *filename; - GladeXML *xml; - gboolean selected; - GtkWidget *tree; - GtkTreeSelection *sel; - - gint memcard = (int) user_data; - - xml = glade_get_widget_tree (widget); - if (memcard == 1) { - tree = glade_xml_get_widget (xml, "GtkCList_McdList1"); - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); - selected = gtk_tree_selection_get_selected (sel, &model, &iter); - data = Mcd1Data; - filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (glade_xml_get_widget (xml, "GtkMcd1FSButton"))); - } else { - tree = glade_xml_get_widget (xml, "GtkCList_McdList2"); - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); - selected = gtk_tree_selection_get_selected (sel, &model, &iter); - data = Mcd2Data; - filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (glade_xml_get_widget (xml, "GtkMcd2FSButton"))); - } - - if (selected) { - path = gtk_tree_model_get_path (model, &iter); - i = *gtk_tree_path_get_indices (path); - - i++; - ptr = data + i * 128; - Info = &Blocks[memcard-1][i-1]; - - if ((Info->Flags & 0xF0) == 0xA0) { - if ((Info->Flags & 0xF) >= 1 && - (Info->Flags & 0xF) <= 3) { // deleted - *ptr = 0x50 | (Info->Flags & 0xF); - } else return; - } else if ((Info->Flags & 0xF0) == 0x50) { // used - *ptr = 0xA0 | (Info->Flags & 0xF); - } else { return; } - - for (j=0; j<127; j++) xor^=*ptr++; - *ptr = xor; - - SaveMcd((char*)filename, data, i * 128, 128); - UpdateMcdDlg(widget); - } -} - void OnConf_Graphics() { void *drv; GPUconfigure conf; @@ -1588,116 +1135,6 @@ void OnConf_Pad() { } } -void OnConf_Mcds() { - GladeXML *xml; - GtkWidget *dialog; - GtkWidget *widget; - GtkTreeSelection *treesel1, *treesel2; - gchar *str; - int i; - - xml = glade_xml_new(PACKAGE_DATA_DIR "pcsx.glade2", "McdsDlg", NULL); - - if (!xml) { - g_warning("We could not load the interface!"); - return; - } - - dialog = glade_xml_get_widget(xml, "McdsDlg"); - - gtk_window_set_title(GTK_WINDOW(dialog), _("Memory Card Manager")); - - /* Assign default memory cards */ - if (!strlen(Config.Mcd1)) { - str = g_strconcat (getenv("HOME"), DEFAULT_MEM_CARD_1, NULL); - strcpy(Config.Mcd1, str); - g_free (str); - } - - if (!strlen(Config.Mcd2)) { - str = g_strconcat (getenv("HOME"), DEFAULT_MEM_CARD_2, NULL); - strcpy(Config.Mcd2, str); - g_free (str); - } - - GtkCList_McdList1 = glade_xml_get_widget(xml, "GtkCList_McdList1"); - add_columns(GTK_TREE_VIEW (GtkCList_McdList1)); - GtkCList_McdList2 = glade_xml_get_widget(xml, "GtkCList_McdList2"); - add_columns(GTK_TREE_VIEW (GtkCList_McdList2)); - - treesel1 = gtk_tree_view_get_selection (GTK_TREE_VIEW (GtkCList_McdList1)); - gtk_tree_selection_set_mode (treesel1, GTK_SELECTION_SINGLE); - g_signal_connect_data (G_OBJECT (treesel1), "changed", - G_CALLBACK (tree_selection_changed_cb), - (gpointer) 1, NULL, - G_CONNECT_AFTER); - - treesel2 = gtk_tree_view_get_selection (GTK_TREE_VIEW (GtkCList_McdList2)); - gtk_tree_selection_set_mode (treesel2, GTK_SELECTION_SINGLE); - g_signal_connect_data (G_OBJECT (treesel2), "changed", - G_CALLBACK (tree_selection_changed_cb), - (gpointer) 2, NULL, - G_CONNECT_AFTER); - - for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { - GetMcdBlockInfo (1, i+1, &Blocks[0][i]); - GetMcdBlockInfo (2, i+1, &Blocks[1][i]); - } - - LoadListItems(1, GtkCList_McdList1, dialog); - LoadListItems(2, GtkCList_McdList2, dialog); - - /* Setup a handler for when Close or Cancel is clicked */ - g_signal_connect_data(GTK_OBJECT(dialog), "response", - GTK_SIGNAL_FUNC(OnMcd_Clicked), xml, (GClosureNotify)g_object_unref, G_CONNECT_AFTER); - - widget = glade_xml_get_widget(xml, "GtkButton_Format1"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnMcd_Format), (gpointer) 1, NULL, G_CONNECT_AFTER); - - widget = glade_xml_get_widget(xml, "GtkButton_Format2"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnMcd_Format), (gpointer) 2, NULL, G_CONNECT_AFTER); - - widget = glade_xml_get_widget(xml, "GtkMcd1FSButton"); - g_signal_connect_data(GTK_OBJECT(widget), "selection-changed", - GTK_SIGNAL_FUNC(on_memcard_file_changed), (gpointer) 1, NULL, G_CONNECT_AFTER); - gtk_file_chooser_select_filename (GTK_FILE_CHOOSER (widget), Config.Mcd1); - - widget = glade_xml_get_widget(xml, "GtkMcd2FSButton"); - g_signal_connect_data(GTK_OBJECT(widget), "selection-changed", - GTK_SIGNAL_FUNC(on_memcard_file_changed), (gpointer) 2, NULL, G_CONNECT_AFTER); - gtk_file_chooser_select_filename (GTK_FILE_CHOOSER (widget), Config.Mcd2); - - widget = glade_xml_get_widget(xml, "GtkButton_Reload1"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnMcd_Reload), (gpointer) 1, NULL, G_CONNECT_AFTER); - - widget = glade_xml_get_widget(xml, "GtkButton_Reload2"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnMcd_Reload), (gpointer) 2, NULL, G_CONNECT_AFTER); - - widget = glade_xml_get_widget(xml, "GtkButton_CopyTo1"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnMcd_CopyTo), (gpointer) 1, NULL, G_CONNECT_AFTER); - gtk_widget_set_sensitive (GTK_WIDGET (widget), FALSE); - - widget = glade_xml_get_widget(xml, "GtkButton_CopyTo2"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnMcd_CopyTo), (gpointer) 2, NULL, G_CONNECT_AFTER); - gtk_widget_set_sensitive (GTK_WIDGET (widget), FALSE); - - widget = glade_xml_get_widget(xml, "GtkButton_Delete1"); - g_signal_connect_data (GTK_OBJECT (widget), "clicked", - GTK_SIGNAL_FUNC (on_memcard_delete), (gpointer) 1, NULL, G_CONNECT_AFTER); - - widget = glade_xml_get_widget(xml, "GtkButton_Delete2"); - g_signal_connect_data (GTK_OBJECT (widget), "clicked", - GTK_SIGNAL_FUNC (on_memcard_delete), (gpointer) 2, NULL, G_CONNECT_AFTER); - - while (gtk_events_pending()) gtk_main_iteration(); -} - GtkWidget *CpuDlg; GtkWidget *PsxCombo; GList *psxglist; diff --git a/gui/Makefile.am b/gui/Makefile.am index 77c0c46b..c649e4f2 100644 --- a/gui/Makefile.am +++ b/gui/Makefile.am @@ -13,6 +13,7 @@ pcsx_SOURCES = \ Plugin.c \ Config.c \ Gtk2Gui.c \ + MemcardDlg.c \ Cheat.c pcsx_LDADD = \ diff --git a/gui/Makefile.in b/gui/Makefile.in index 0c29fe75..db624692 100644 --- a/gui/Makefile.in +++ b/gui/Makefile.in @@ -47,7 +47,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_pcsx_OBJECTS = LnxMain.$(OBJEXT) Plugin.$(OBJEXT) Config.$(OBJEXT) \ - Gtk2Gui.$(OBJEXT) Cheat.$(OBJEXT) + Gtk2Gui.$(OBJEXT) MemcardDlg.$(OBJEXT) Cheat.$(OBJEXT) pcsx_OBJECTS = $(am_pcsx_OBJECTS) am__DEPENDENCIES_1 = pcsx_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ @@ -231,6 +231,7 @@ pcsx_SOURCES = \ Plugin.c \ Config.c \ Gtk2Gui.c \ + MemcardDlg.c \ Cheat.c pcsx_LDADD = \ @@ -312,6 +313,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Config.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Gtk2Gui.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LnxMain.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MemcardDlg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Plugin.Po@am__quote@ .c.o: diff --git a/gui/MemcardDlg.c b/gui/MemcardDlg.c new file mode 100644 index 00000000..255838d0 --- /dev/null +++ b/gui/MemcardDlg.c @@ -0,0 +1,723 @@ +/* Pcsx - Pc Psx Emulator + * Copyright (C) 1999-2002 Pcsx Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307 USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <gdk/gdkkeysyms.h> +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <signal.h> +#include <sys/time.h> + +#include "Linux.h" +#include "../libpcsxcore/sio.h" + +#define MAX_MEMCARD_BLOCKS 15 + +McdBlock Blocks[2][MAX_MEMCARD_BLOCKS]; // Assuming 2 cards, 15 blocks? +int IconC[2][MAX_MEMCARD_BLOCKS]; +enum { + CL_ICON, + CL_TITLE, + CL_STAT, + CL_ID, + CL_NAME, + NUM_CL +}; + +GtkWidget *GtkCList_McdList1, *GtkCList_McdList2; + +static void AddColumns(GtkTreeView *treeview) { + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + + // column for icon + renderer = gtk_cell_renderer_pixbuf_new (); + column = gtk_tree_view_column_new_with_attributes(_("Icon"), + renderer, "pixbuf", CL_ICON, NULL); + gtk_tree_view_append_column(treeview, column); + + // column for title + renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes(_("Title"), + renderer, "text", CL_TITLE, NULL); + gtk_tree_view_append_column(treeview, column); + + // column for status + renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes(_("Status"), + renderer, "text", CL_STAT, NULL); + gtk_tree_view_append_column(treeview, column); + + // column for id + renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes(_("ID"), + renderer, "text", CL_ID, NULL); + gtk_tree_view_append_column(treeview, column); + + // column for Name + renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes(_("Name"), + renderer, "text", CL_NAME, NULL); + gtk_tree_view_append_column(treeview, column); +} + +static GdkPixbuf *SetIcon(GtkWidget *dialog, short *icon, int i) { + GdkPixmap *pixmap; + GdkImage *image; + GdkVisual *visual; + GdkGC *gc; + int x, y, c; + + visual = gdk_window_get_visual(dialog->window); + + if (visual->depth == 8) return NULL; + + image = gdk_image_new(GDK_IMAGE_NORMAL, visual, 16, 16); + + for (y = 0; y < 16; y++) { + for (x = 0; x < 16; x++) { + c = icon[y * 16 + x]; + c = ((c & 0x001f) << 10) | ((c & 0x7c00) >> 10) | (c & 0x03e0); + if (visual->depth == 16) + c = (c & 0x001f) | ((c & 0x7c00) << 1) | ((c & 0x03e0) << 1); + else if (visual->depth == 24 || visual->depth == 32) + c = ((c & 0x001f) << 3) | ((c & 0x03e0) << 6) | ((c & 0x7c00) << 9); + + gdk_image_put_pixel(image, x, y, c); + } + } + + pixmap = gdk_pixmap_new(dialog->window, 16, 16, visual->depth); + + gc = gdk_gc_new(pixmap); + gdk_draw_image(pixmap, gc, image, 0, 0, 0, 0, 16, 16); + gdk_gc_destroy(gc); + gdk_image_destroy(image); + + return gdk_pixbuf_get_from_drawable(NULL, GDK_PIXMAP (pixmap), NULL, + 0, 0, 0, 0, -1, -1); +} + +static int GetSelection(int memcard) { + GtkTreeIter iter; + GtkTreeModel *model; + GtkTreePath *path; + GtkTreeSelection *selection; + int r; + + gboolean selected; + + if (memcard == 1) + selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(GtkCList_McdList1)); + else + selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(GtkCList_McdList2)); + + selected = gtk_tree_selection_get_selected(selection, &model, &iter); + + if (selected) { + path = gtk_tree_model_get_path(model, &iter); + r = *gtk_tree_path_get_indices(path); + gtk_tree_path_free(path); + return r; + } + + return -1; +} + +static void LoadListItems(int mcd, GtkWidget *widget) { + int i; + GladeXML *xml; + GtkWidget *List; + GtkWidget *dialog; + GtkListStore *store; + GtkTreeIter iter; + GdkPixbuf *pixbuf; + + store = gtk_list_store_new(NUM_CL, GDK_TYPE_PIXBUF, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); + + xml = glade_get_widget_tree(widget); + dialog = glade_xml_get_widget(xml, "McdsDlg"); + + if (mcd == 1) List = glade_xml_get_widget(xml, "GtkCList_McdList1"); + else List = glade_xml_get_widget(xml, "GtkCList_McdList2"); + + for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { + McdBlock *Info; + gchar *state; + + Info = &Blocks[mcd - 1][i]; + IconC[mcd - 1][i] = 0; + + if ((Info->Flags & 0xF0) == 0xA0) { + if ((Info->Flags & 0xF) >= 1 && + (Info->Flags & 0xF) <= 3) { + state = _("Deleted"); + } else + state = _("Free"); + } else if ((Info->Flags & 0xF0) == 0x50) + state = _("Used"); + else + state = _("Free"); + +// if (Info->IconCount == 0) continue; + + pixbuf = SetIcon(dialog, Info->Icon, i + 1); + + gtk_list_store_append(store, &iter); + gtk_list_store_set(store, &iter, + CL_ICON, pixbuf, + CL_TITLE, Info->Title, + CL_STAT, state, + CL_NAME, Info->Name, + CL_ID, Info->ID, + -1); + } + + gtk_tree_view_set_model(GTK_TREE_VIEW(List), GTK_TREE_MODEL(store)); + g_object_unref(G_OBJECT(store)); + gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(List), TRUE); + gtk_widget_show(List); +} + +static void LoadMcdDlg(GtkWidget *widget) { + int i; + + for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { + GetMcdBlockInfo(1, i + 1, &Blocks[0][i]); + GetMcdBlockInfo(2, i + 1, &Blocks[1][i]); + } + + LoadListItems(1, widget); + LoadListItems(2, widget); +} + +static void OnTreeSelectionChanged(GtkTreeSelection *selection, gpointer user_data); + +static void UpdateListItems(int mcd, GtkWidget *widget) { + GladeXML *xml; + GtkWidget *List; + GtkWidget *dialog; + GtkListStore *store; + GtkTreeIter iter; + GdkPixbuf *pixbuf; + int i; + + xml = glade_get_widget_tree(widget); + dialog = glade_xml_get_widget(xml, "McdsDlg"); + + if (mcd == 1) List = glade_xml_get_widget(xml, "GtkCList_McdList1"); + else List = glade_xml_get_widget(xml, "GtkCList_McdList2"); + + store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(List))); + gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); + + for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { + McdBlock *Info; + gchar *state; + + Info = &Blocks[mcd - 1][i]; + IconC[mcd - 1][i] = 0; + + if ((Info->Flags & 0xF0) == 0xA0) { + if ((Info->Flags & 0xF) >= 1 && + (Info->Flags & 0xF) <= 3) { + state = _("Deleted"); + } else + state = _("Free"); + } else if ((Info->Flags & 0xF0) == 0x50) + state = _("Used"); + else + state = _("Free"); + +// if (Info->IconCount == 0) continue; + + pixbuf = SetIcon(dialog, Info->Icon, i + 1); + + gtk_list_store_set(store, &iter, + CL_ICON, pixbuf, + CL_TITLE, Info->Title, + CL_STAT, state, + CL_NAME, Info->Name, + CL_ID, Info->ID, + -1); + + gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &iter); + } + + gtk_widget_show(List); + + OnTreeSelectionChanged(gtk_tree_view_get_selection(GTK_TREE_VIEW(List)), (gpointer)mcd); +} + +static void UpdateMcdDlg(GtkWidget *widget) { + int i; + + for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { + GetMcdBlockInfo(1, i + 1, &Blocks[0][i]); + GetMcdBlockInfo(2, i + 1, &Blocks[1][i]); + } + + UpdateListItems(1, widget); + UpdateListItems(2, widget); +} + +static void OnMcd_Clicked(GtkDialog *dialog, gint arg1, gpointer user_data) { + GladeXML *xml = user_data; + + if (arg1 == GTK_RESPONSE_OK) { + gchar *tmp; + GtkWidget *widget; + + widget = glade_xml_get_widget(xml, "GtkMcd1FSButton"); + if ((tmp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(widget))) != NULL) { + strcpy(Config.Mcd1, tmp); + g_free(tmp); + } + + widget = glade_xml_get_widget(xml, "GtkMcd2FSButton"); + if ((tmp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (widget))) != NULL) { + strcpy(Config.Mcd2, tmp); + g_free(tmp); + } + + SaveConfig(); + LoadMcds(Config.Mcd1, Config.Mcd2); + } + + gtk_widget_destroy(GTK_WIDGET(dialog)); +} + +static void OnMemcardFileChanged(GtkWidget *widget, gpointer user_data) { + gint memcard = (int) user_data; + gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); + + if (filename != NULL) { + LoadMcd(memcard, filename); + UpdateMcdDlg(widget); + gtk_widget_set_sensitive(widget, TRUE); + } + + g_free(filename); +} + +// create a new, formatted memory card +static void OnMcd_Format(GtkWidget *widget, gpointer user_data) { + GladeXML *xml; + GtkWidget *memcard_fs; + GtkWidget *message_dialog; + gint result; + gchar *str; + + gint memcard = (int)user_data; + + message_dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, + _("Format this Memory Card?")); + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(message_dialog), + _("If you format the memory card, the card will be empty, and any existing data overwritten.")); + gtk_dialog_add_buttons(GTK_DIALOG (message_dialog), + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + _("Format card"), GTK_RESPONSE_YES, NULL); + + result = gtk_dialog_run(GTK_DIALOG(message_dialog)); + gtk_widget_destroy(message_dialog); + + if (result == GTK_RESPONSE_YES) { + xml = glade_get_widget_tree(widget); + if (memcard == 1) + memcard_fs = glade_xml_get_widget(xml, "GtkMcd1FSButton"); + else + memcard_fs = glade_xml_get_widget(xml, "GtkMcd2FSButton"); + + str = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(memcard_fs)); + + CreateMcd(str); + LoadMcd(memcard, str); + UpdateMcdDlg(widget); + g_free(str); + } +} + +static void OnMcd_New(GtkWidget *widget, gpointer user_data) { + GtkWidget *chooser; + gchar *path; + + // Ask for name of new memory card + chooser = gtk_file_chooser_dialog_new(_("Create a new Memory Card"), + NULL, GTK_FILE_CHOOSER_ACTION_SAVE, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_SAVE, GTK_RESPONSE_OK, + NULL); + + // Card should be put into $HOME/.pcsx/memcards + path = g_build_filename(g_get_home_dir(), ".pcsx", "memcards", NULL); + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), path); + gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(chooser), "new.mcd"); + gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(chooser), TRUE); + + if (gtk_dialog_run(GTK_DIALOG(chooser)) == GTK_RESPONSE_OK) { + gchar *name; + gchar *widget_name; + GladeXML *xml; + + gtk_widget_hide(chooser); + + name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser)); + + CreateMcd(name); + + // Set the name on the FileChooserButton - this will trigger the + // callback to load the card and update the dialog + widget_name = g_strdup_printf("GtkMcd%dFSButton", (int)user_data); + + xml = glade_get_widget_tree(widget); + gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(glade_xml_get_widget(xml, widget_name)), name); + + g_free(widget_name); + g_free(name); + + UpdateMcdDlg(widget); + } + + gtk_widget_destroy(chooser); + g_free(path); +} + +static int copy = 0, copymcd = 0; + +static int GetFreeMemcardSlot(int target_card) { + McdBlock *Info; + gboolean found = FALSE; + + int i = 0; + while (i < 15 && found == FALSE) { + Info = &Blocks[target_card][i]; + if (g_ascii_strcasecmp(Info->Title, "") == 0) { + found = TRUE; + } else { + i++; + } + } + + if (found == TRUE) + return i; + + // no free slots, try to find a deleted one + i = 0; + while (i < 15 && found == FALSE) { + Info = &Blocks[target_card][i]; + if ((Info->Flags & 0xF0) != 0x50) { + found = TRUE; + } else { + i++; + } + } + + if (found == TRUE) + return i; + + return -1; +} + +static void CopyMemcardData(char *from, char *to, gint *i, gchar *str) { + memcpy(to + (*i + 1) * 128, from + (copy + 1) * 128, 128); + SaveMcd((char *)str, to, (*i + 1) * 128, 128); + memcpy(to + (*i + 1) * 1024 * 8, from + (copy+1) * 1024 * 8, 1024 * 8); + SaveMcd((char *)str, to, (*i + 1) * 1024 * 8, 1024 * 8); +} + +static void OnMcd_CopyTo(GtkWidget *widget, gpointer user_data) { + gint mcd = (gint)user_data; + + GtkTreeIter iter; + GtkTreeModel *model; + GtkTreePath *path; + gint *i; + GladeXML *xml; + GtkTreeSelection *treesel; + gchar *str; + char *source, *destination; + + int first_free_slot; + + xml = glade_get_widget_tree(widget); + + if (mcd == 1) + treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(GtkCList_McdList2)); + else + treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(GtkCList_McdList1)); + + // If the item selected is not reported as a 'Free' slot + if (gtk_tree_selection_get_selected(treesel, &model, &iter)) { + path = gtk_tree_model_get_path(model, &iter); + i = gtk_tree_path_get_indices(path); + copy = *i; + copymcd = mcd; + gtk_tree_path_free(path); + } + + // Determine the first free slot in the target memory card + first_free_slot = GetFreeMemcardSlot(mcd - 1); + if (first_free_slot == -1) { + // No free slots available on the destination card + SysErrorMessage(_("No free space on memory card"), + _("There are no free slots available on the target memory card. Please delete a slot first.")); + return; + } + + xml = glade_get_widget_tree(GtkCList_McdList1); + + if (mcd == 1) { + str = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(glade_xml_get_widget(xml, "GtkMcd1FSButton"))); + source = Mcd2Data; + destination = Mcd1Data; + } else { + str = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(glade_xml_get_widget(xml, "GtkMcd2FSButton"))); + source = Mcd1Data; + destination = Mcd2Data; + } + + CopyMemcardData(source, destination, &first_free_slot, str); + UpdateMcdDlg(widget); +} + +static void OnMemcardDelete(GtkWidget *widget, gpointer user_data) { + McdBlock *Info; + int i, xor = 0, j; + char *data, *ptr; + GtkTreeIter iter; + GtkTreeModel *model; + GtkTreePath *path; + gchar *filename; + GladeXML *xml; + gboolean selected; + GtkWidget *tree; + GtkTreeSelection *sel; + + gint memcard = (int)user_data; + + xml = glade_get_widget_tree(widget); + + if (memcard == 1) { + tree = glade_xml_get_widget(xml, "GtkCList_McdList1"); + sel = gtk_tree_view_get_selection(GTK_TREE_VIEW (tree)); + selected = gtk_tree_selection_get_selected (sel, &model, &iter); + data = Mcd1Data; + filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(glade_xml_get_widget(xml, "GtkMcd1FSButton"))); + } else { + tree = glade_xml_get_widget(xml, "GtkCList_McdList2"); + sel = gtk_tree_view_get_selection(GTK_TREE_VIEW (tree)); + selected = gtk_tree_selection_get_selected(sel, &model, &iter); + data = Mcd2Data; + filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(glade_xml_get_widget(xml, "GtkMcd2FSButton"))); + } + + if (selected) { + path = gtk_tree_model_get_path(model, &iter); + i = *gtk_tree_path_get_indices(path); + + i++; + ptr = data + i * 128; + Info = &Blocks[memcard - 1][i - 1]; + + if ((Info->Flags & 0xF0) == 0xA0) { + if ((Info->Flags & 0xF) >= 1 && + (Info->Flags & 0xF) <= 3) { // deleted + *ptr = 0x50 | (Info->Flags & 0xF); + } else return; + } else if ((Info->Flags & 0xF0) == 0x50) { // used + *ptr = 0xA0 | (Info->Flags & 0xF); + } else { return; } + + for (j = 0; j < 127; j++) xor ^= *ptr++; + *ptr = xor; + + SaveMcd((char *)filename, data, i * 128, 128); + UpdateMcdDlg(widget); + } +} + +static void OnTreeSelectionChanged(GtkTreeSelection *selection, gpointer user_data) { + GladeXML *xml; + GtkTreeIter iter; + GtkTreeModel *model; + GtkTreePath *path; + + gboolean selected; + int i; + McdBlock b; + + gint memcard = (int)user_data; + + xml = glade_get_widget_tree(GtkCList_McdList1); + selected = gtk_tree_selection_get_selected(selection, &model, &iter); + + if (selected) { + path = gtk_tree_model_get_path(model, &iter); + i = *gtk_tree_path_get_indices(path); + gtk_tree_path_free(path); + + // If a row was selected, and the row is not blank, we can now enable + // some of the disabled widgets + if (memcard == 1) { + GetMcdBlockInfo(1, i + 1, &b); + + if ((b.Flags >= 0xA1 && b.Flags <= 0xA3) || ((b.Flags & 0xF0) == 0x50)) { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_Delete1"), TRUE); + } else { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_Delete1"), FALSE); + } + + if ((b.Flags & 0xF0) == 0x50) { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_CopyTo2"), TRUE); + } else { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_CopyTo2"), FALSE); + } + } else { + GetMcdBlockInfo(2, i + 1, &b); + + if ((b.Flags >= 0xA0 && b.Flags <= 0xA3) || ((b.Flags & 0xF0) == 0x50)) { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_Delete2"), TRUE); + } else { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_Delete2"), FALSE); + } + + if ((b.Flags & 0xF0) == 0x50) { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_CopyTo1"), TRUE); + } else { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_CopyTo1"), FALSE); + } + } + } else { + if (memcard == 1) { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_CopyTo2"), FALSE); + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_Delete1"), FALSE); + } else { + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_CopyTo1"), FALSE); + gtk_widget_set_sensitive(glade_xml_get_widget(xml, "GtkButton_Delete2"), FALSE); + } + } +} + +void OnConf_Mcds() { + GladeXML *xml; + GtkWidget *dialog; + GtkWidget *widget; + GtkTreeSelection *treesel1, *treesel2; + gchar *str; + int i; + + xml = glade_xml_new(PACKAGE_DATA_DIR "pcsx.glade2", "McdsDlg", NULL); + + if (!xml) { + g_warning("We could not load the interface!"); + return; + } + + dialog = glade_xml_get_widget(xml, "McdsDlg"); + + gtk_window_set_title(GTK_WINDOW(dialog), _("Memory Card Manager")); + + // Assign default memory cards + if (!strlen(Config.Mcd1)) { + str = g_strconcat(getenv("HOME"), DEFAULT_MEM_CARD_1, NULL); + strcpy(Config.Mcd1, str); + g_free(str); + } + + if (!strlen(Config.Mcd2)) { + str = g_strconcat(getenv("HOME"), DEFAULT_MEM_CARD_2, NULL); + strcpy(Config.Mcd2, str); + g_free(str); + } + + GtkCList_McdList1 = glade_xml_get_widget(xml, "GtkCList_McdList1"); + AddColumns(GTK_TREE_VIEW(GtkCList_McdList1)); + GtkCList_McdList2 = glade_xml_get_widget(xml, "GtkCList_McdList2"); + AddColumns(GTK_TREE_VIEW(GtkCList_McdList2)); + + treesel1 = gtk_tree_view_get_selection(GTK_TREE_VIEW (GtkCList_McdList1)); + gtk_tree_selection_set_mode(treesel1, GTK_SELECTION_SINGLE); + g_signal_connect_data(G_OBJECT(treesel1), "changed", + G_CALLBACK(OnTreeSelectionChanged), + (gpointer)1, NULL, G_CONNECT_AFTER); + + treesel2 = gtk_tree_view_get_selection(GTK_TREE_VIEW (GtkCList_McdList2)); + gtk_tree_selection_set_mode(treesel2, GTK_SELECTION_SINGLE); + g_signal_connect_data(G_OBJECT(treesel2), "changed", + G_CALLBACK(OnTreeSelectionChanged), + (gpointer)2, NULL, G_CONNECT_AFTER); + + LoadMcdDlg(dialog); + + // Setup a handler for when Close or Cancel is clicked + g_signal_connect_data(GTK_OBJECT(dialog), "response", + GTK_SIGNAL_FUNC(OnMcd_Clicked), xml, (GClosureNotify)g_object_unref, G_CONNECT_AFTER); + + widget = glade_xml_get_widget(xml, "GtkButton_Format1"); + g_signal_connect_data(GTK_OBJECT(widget), "clicked", + GTK_SIGNAL_FUNC(OnMcd_Format), (gpointer)1, NULL, G_CONNECT_AFTER); + + widget = glade_xml_get_widget(xml, "GtkButton_Format2"); + g_signal_connect_data(GTK_OBJECT(widget), "clicked", + GTK_SIGNAL_FUNC(OnMcd_Format), (gpointer)2, NULL, G_CONNECT_AFTER); + + widget = glade_xml_get_widget(xml, "GtkMcd1FSButton"); + g_signal_connect_data(GTK_OBJECT(widget), "selection-changed", + GTK_SIGNAL_FUNC(OnMemcardFileChanged), (gpointer)1, NULL, G_CONNECT_AFTER); + gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(widget), Config.Mcd1); + + widget = glade_xml_get_widget(xml, "GtkMcd2FSButton"); + g_signal_connect_data(GTK_OBJECT(widget), "selection-changed", + GTK_SIGNAL_FUNC(OnMemcardFileChanged), (gpointer) 2, NULL, G_CONNECT_AFTER); + gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(widget), Config.Mcd2); + + widget = glade_xml_get_widget(xml, "GtkButton_New1"); + g_signal_connect_data(GTK_OBJECT(widget), "clicked", + GTK_SIGNAL_FUNC(OnMcd_New), (gpointer)1, NULL, G_CONNECT_AFTER); + + widget = glade_xml_get_widget(xml, "GtkButton_New2"); + g_signal_connect_data(GTK_OBJECT(widget), "clicked", + GTK_SIGNAL_FUNC(OnMcd_New), (gpointer)2, NULL, G_CONNECT_AFTER); + + widget = glade_xml_get_widget(xml, "GtkButton_CopyTo1"); + g_signal_connect_data(GTK_OBJECT(widget), "clicked", + GTK_SIGNAL_FUNC(OnMcd_CopyTo), (gpointer)1, NULL, G_CONNECT_AFTER); + gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); + + widget = glade_xml_get_widget(xml, "GtkButton_CopyTo2"); + g_signal_connect_data(GTK_OBJECT(widget), "clicked", + GTK_SIGNAL_FUNC(OnMcd_CopyTo), (gpointer)2, NULL, G_CONNECT_AFTER); + gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); + + widget = glade_xml_get_widget(xml, "GtkButton_Delete1"); + g_signal_connect_data (GTK_OBJECT (widget), "clicked", + GTK_SIGNAL_FUNC(OnMemcardDelete), (gpointer)1, NULL, G_CONNECT_AFTER); + gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); + + widget = glade_xml_get_widget(xml, "GtkButton_Delete2"); + g_signal_connect_data (GTK_OBJECT (widget), "clicked", + GTK_SIGNAL_FUNC(OnMemcardDelete), (gpointer)2, NULL, G_CONNECT_AFTER); + gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); + + while (gtk_events_pending()) gtk_main_iteration(); +} diff --git a/gui/MemcardDlg.h b/gui/MemcardDlg.h new file mode 100644 index 00000000..ae583d6d --- /dev/null +++ b/gui/MemcardDlg.h @@ -0,0 +1,24 @@ +/* Pcsx - Pc Psx Emulator + * Copyright (C) 1999-2002 Pcsx Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307 USA + */ + +#ifndef MEMCARDDLG_H +#define MEMCARDDLG_H + +void OnConf_Mcds(); + +#endif diff --git a/po/pcsx.pot b/po/pcsx.pot index badc7d58..ff0bee22 100644 --- a/po/pcsx.pot +++ b/po/pcsx.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-26 23:05+0800\n" +"POT-Creation-Date: 2009-11-28 18:23+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -66,16 +66,16 @@ msgstr "" msgid "No" msgstr "" -#: ../win32/gui/CheatDlg.c:67 ../gui/Cheat.c:193 +#: ../win32/gui/CheatDlg.c:67 ../gui/Cheat.c:195 msgid "Edit Cheat" msgstr "" -#: ../win32/gui/CheatDlg.c:68 ../win32/gui/CheatDlg.c:118 ../gui/Cheat.c:633 +#: ../win32/gui/CheatDlg.c:68 ../win32/gui/CheatDlg.c:118 ../gui/Cheat.c:637 msgid "Description:" msgstr "" -#: ../win32/gui/CheatDlg.c:69 ../win32/gui/CheatDlg.c:119 ../gui/Cheat.c:125 -#: ../gui/Cheat.c:210 +#: ../win32/gui/CheatDlg.c:69 ../win32/gui/CheatDlg.c:119 ../gui/Cheat.c:126 +#: ../gui/Cheat.c:212 msgid "Cheat Code:" msgstr "" @@ -86,16 +86,16 @@ msgstr "" msgid "Cancel" msgstr "" -#: ../win32/gui/CheatDlg.c:92 ../win32/gui/CheatDlg.c:133 ../gui/Cheat.c:155 -#: ../gui/Cheat.c:250 +#: ../win32/gui/CheatDlg.c:92 ../win32/gui/CheatDlg.c:133 ../gui/Cheat.c:156 +#: ../gui/Cheat.c:252 msgid "Invalid cheat code!" msgstr "" -#: ../win32/gui/CheatDlg.c:117 ../gui/Cheat.c:109 +#: ../win32/gui/CheatDlg.c:117 ../gui/Cheat.c:110 msgid "Add New Cheat" msgstr "" -#: ../win32/gui/CheatDlg.c:167 ../data/pcsx.glade2:2401 +#: ../win32/gui/CheatDlg.c:167 ../data/pcsx.glade2:2402 msgid "Edit Cheat Codes" msgstr "" @@ -127,7 +127,7 @@ msgstr "" msgid "&Close" msgstr "" -#: ../win32/gui/CheatDlg.c:186 ../gui/Cheat.c:411 +#: ../win32/gui/CheatDlg.c:186 ../gui/Cheat.c:414 msgid "Description" msgstr "" @@ -175,7 +175,7 @@ msgstr "" msgid "No Change" msgstr "" -#: ../win32/gui/CheatDlg.c:449 ../gui/Cheat.c:583 +#: ../win32/gui/CheatDlg.c:449 ../gui/Cheat.c:586 msgid "Enter the values and start your search." msgstr "" @@ -183,31 +183,31 @@ msgstr "" msgid "No addresses found." msgstr "" -#: ../win32/gui/CheatDlg.c:458 ../gui/Cheat.c:541 +#: ../win32/gui/CheatDlg.c:458 ../gui/Cheat.c:544 msgid "Too many addresses found." msgstr "" -#: ../win32/gui/CheatDlg.c:467 ../gui/Cheat.c:550 +#: ../win32/gui/CheatDlg.c:467 ../gui/Cheat.c:553 #, c-format msgid "%.8X Current: %u (%.2X), Previous: %u (%.2X)" msgstr "" -#: ../win32/gui/CheatDlg.c:472 ../gui/Cheat.c:555 +#: ../win32/gui/CheatDlg.c:472 ../gui/Cheat.c:558 #, c-format msgid "%.8X Current: %u (%.4X), Previous: %u (%.4X)" msgstr "" -#: ../win32/gui/CheatDlg.c:477 ../gui/Cheat.c:560 +#: ../win32/gui/CheatDlg.c:477 ../gui/Cheat.c:563 #, c-format msgid "%.8X Current: %u (%.8X), Previous: %u (%.8X)" msgstr "" -#: ../win32/gui/CheatDlg.c:493 ../gui/Cheat.c:575 +#: ../win32/gui/CheatDlg.c:493 ../gui/Cheat.c:578 #, c-format msgid "Founded Addresses: %d" msgstr "" -#: ../win32/gui/CheatDlg.c:505 ../data/pcsx.glade2:2800 +#: ../win32/gui/CheatDlg.c:505 ../data/pcsx.glade2:2801 msgid "Freeze" msgstr "" @@ -216,7 +216,7 @@ msgid "Address:" msgstr "" #: ../win32/gui/CheatDlg.c:507 ../win32/gui/CheatDlg.c:598 -#: ../win32/gui/CheatDlg.c:683 ../gui/Cheat.c:644 ../data/pcsx.glade2:2644 +#: ../win32/gui/CheatDlg.c:683 ../gui/Cheat.c:648 ../data/pcsx.glade2:2645 msgid "Value:" msgstr "" @@ -225,27 +225,27 @@ msgstr "" msgid "Freeze %.8X" msgstr "" -#: ../win32/gui/CheatDlg.c:596 ../data/pcsx.glade2:2836 +#: ../win32/gui/CheatDlg.c:596 ../data/pcsx.glade2:2837 msgid "Modify" msgstr "" -#: ../win32/gui/CheatDlg.c:679 ../gui/Cheat.c:1126 ../data/pcsx.glade2:2572 +#: ../win32/gui/CheatDlg.c:679 ../gui/Cheat.c:1130 ../data/pcsx.glade2:2573 msgid "Cheat Search" msgstr "" -#: ../win32/gui/CheatDlg.c:681 ../data/pcsx.glade2:2622 +#: ../win32/gui/CheatDlg.c:681 ../data/pcsx.glade2:2623 msgid "Search For:" msgstr "" -#: ../win32/gui/CheatDlg.c:682 ../data/pcsx.glade2:2632 +#: ../win32/gui/CheatDlg.c:682 ../data/pcsx.glade2:2633 msgid "Data Type:" msgstr "" -#: ../win32/gui/CheatDlg.c:684 ../data/pcsx.glade2:2656 +#: ../win32/gui/CheatDlg.c:684 ../data/pcsx.glade2:2657 msgid "Data Base:" msgstr "" -#: ../win32/gui/CheatDlg.c:685 ../data/pcsx.glade2:2716 +#: ../win32/gui/CheatDlg.c:685 ../data/pcsx.glade2:2717 msgid "To:" msgstr "" @@ -293,7 +293,7 @@ msgstr "" msgid "Hexadecimal" msgstr "" -#: ../win32/gui/ConfigurePlugins.c:206 ../gui/Gtk2Gui.c:2228 +#: ../win32/gui/ConfigurePlugins.c:206 ../gui/Gtk2Gui.c:1665 msgid "Internal HLE Bios" msgstr "" @@ -301,8 +301,8 @@ msgstr "" msgid "Configuration not OK!" msgstr "" -#: ../win32/gui/ConfigurePlugins.c:292 ../gui/Cheat.c:155 ../gui/Cheat.c:250 -#: ../gui/LnxMain.c:405 +#: ../win32/gui/ConfigurePlugins.c:292 ../gui/Cheat.c:156 ../gui/Cheat.c:252 +#: ../gui/LnxMain.c:407 msgid "Error" msgstr "" @@ -615,13 +615,13 @@ msgstr "" msgid "*PCSX*: Error Saving State %s" msgstr "" -#: ../win32/gui/WndMain.c:426 ../win32/gui/WndMain.c:475 ../gui/Gtk2Gui.c:575 -#: ../gui/Gtk2Gui.c:700 +#: ../win32/gui/WndMain.c:426 ../win32/gui/WndMain.c:475 ../gui/Gtk2Gui.c:573 +#: ../gui/Gtk2Gui.c:698 msgid "The CD does not appear to be a valid Playstation CD" msgstr "" -#: ../win32/gui/WndMain.c:432 ../win32/gui/WndMain.c:481 ../gui/Gtk2Gui.c:583 -#: ../gui/Gtk2Gui.c:708 +#: ../win32/gui/WndMain.c:432 ../win32/gui/WndMain.c:481 ../gui/Gtk2Gui.c:581 +#: ../gui/Gtk2Gui.c:706 msgid "Could not load CD-ROM!" msgstr "" @@ -629,11 +629,11 @@ msgstr "" msgid "Running BIOS is not supported with Internal HLE Bios." msgstr "" -#: ../win32/gui/WndMain.c:661 ../gui/Gtk2Gui.c:1068 +#: ../win32/gui/WndMain.c:661 ../gui/MemcardDlg.c:59 msgid "Title" msgstr "" -#: ../win32/gui/WndMain.c:667 ../gui/Gtk2Gui.c:1074 +#: ../win32/gui/WndMain.c:667 ../gui/MemcardDlg.c:65 msgid "Status" msgstr "" @@ -653,16 +653,17 @@ msgstr "" msgid "terminiting link block" msgstr "" -#: ../win32/gui/WndMain.c:864 ../gui/Gtk2Gui.c:1148 +#: ../win32/gui/WndMain.c:864 ../gui/MemcardDlg.c:173 ../gui/MemcardDlg.c:243 msgid "Deleted" msgstr "" -#: ../win32/gui/WndMain.c:865 ../win32/gui/WndMain.c:868 ../gui/Gtk2Gui.c:1150 -#: ../gui/Gtk2Gui.c:1154 +#: ../win32/gui/WndMain.c:865 ../win32/gui/WndMain.c:868 +#: ../gui/MemcardDlg.c:175 ../gui/MemcardDlg.c:179 ../gui/MemcardDlg.c:245 +#: ../gui/MemcardDlg.c:249 msgid "Free" msgstr "" -#: ../win32/gui/WndMain.c:867 ../gui/Gtk2Gui.c:1152 +#: ../win32/gui/WndMain.c:867 ../gui/MemcardDlg.c:177 ../gui/MemcardDlg.c:247 msgid "Used" msgstr "" @@ -805,8 +806,8 @@ msgstr "" msgid "DataDeck Memory Card (*.ddf)" msgstr "" -#: ../win32/gui/WndMain.c:1350 ../win32/gui/WndMain.c:1431 ../gui/Cheat.c:319 -#: ../gui/Gtk2Gui.c:512 ../gui/Gtk2Gui.c:651 +#: ../win32/gui/WndMain.c:1350 ../win32/gui/WndMain.c:1431 ../gui/Cheat.c:322 +#: ../gui/Gtk2Gui.c:510 ../gui/Gtk2Gui.c:649 msgid "All Files" msgstr "" @@ -958,187 +959,153 @@ msgstr "" msgid "Error Loading Symbol" msgstr "" -#: ../gui/Cheat.c:117 ../gui/Cheat.c:201 +#: ../gui/Cheat.c:118 ../gui/Cheat.c:203 msgid "Cheat Description:" msgstr "" -#: ../gui/Cheat.c:304 +#: ../gui/Cheat.c:307 msgid "Open Cheat File" msgstr "" -#: ../gui/Cheat.c:314 ../gui/Cheat.c:354 +#: ../gui/Cheat.c:317 ../gui/Cheat.c:357 msgid "PCSX Cheat Code Files (*.cht)" msgstr "" -#: ../gui/Cheat.c:344 +#: ../gui/Cheat.c:347 msgid "Save Cheat File" msgstr "" -#: ../gui/Cheat.c:359 +#: ../gui/Cheat.c:362 msgid "All Files (*.*)" msgstr "" -#: ../gui/Cheat.c:392 ../gui/Cheat.c:1121 ../gui/Gtk2Gui.c:400 -#: ../gui/Gtk2Gui.c:1020 +#: ../gui/Cheat.c:395 ../gui/Cheat.c:1125 ../gui/Gtk2Gui.c:398 +#: ../gui/Gtk2Gui.c:1018 msgid "Error: Glade interface could not be loaded!" msgstr "" -#: ../gui/Cheat.c:397 +#: ../gui/Cheat.c:400 msgid "Cheat Codes" msgstr "" -#: ../gui/Cheat.c:403 +#: ../gui/Cheat.c:406 msgid "Enable" msgstr "" -#: ../gui/Cheat.c:627 +#: ../gui/Cheat.c:631 msgid "Freeze value" msgstr "" -#: ../gui/Cheat.c:726 +#: ../gui/Cheat.c:730 msgid "Modify value" msgstr "" -#: ../gui/Cheat.c:734 +#: ../gui/Cheat.c:738 msgid "New value:" msgstr "" -#: ../gui/Cheat.c:1131 +#: ../gui/Cheat.c:1135 msgid "Search Results" msgstr "" -#: ../gui/Gtk2Gui.c:408 ../data/pcsx.glade2:605 +#: ../gui/Gtk2Gui.c:406 ../data/pcsx.glade2:605 msgid "Configure PCSX" msgstr "" -#: ../gui/Gtk2Gui.c:494 +#: ../gui/Gtk2Gui.c:492 msgid "Select PSX EXE File" msgstr "" -#: ../gui/Gtk2Gui.c:508 +#: ../gui/Gtk2Gui.c:506 msgid "PlayStation Executable Files" msgstr "" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "Not a valid PSX file" msgstr "" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "The file does not appear to be a valid Playstation executable" msgstr "" -#: ../gui/Gtk2Gui.c:575 ../gui/Gtk2Gui.c:700 +#: ../gui/Gtk2Gui.c:573 ../gui/Gtk2Gui.c:698 msgid "CD ROM failed" msgstr "" -#: ../gui/Gtk2Gui.c:583 +#: ../gui/Gtk2Gui.c:581 msgid "The CD ROM could not be loaded" msgstr "" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Could not run BIOS" msgstr "" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Running BIOS is not supported with Internal HLE BIOS." msgstr "" -#: ../gui/Gtk2Gui.c:626 +#: ../gui/Gtk2Gui.c:624 msgid "Open PSX Disc Image File" msgstr "" -#: ../gui/Gtk2Gui.c:646 +#: ../gui/Gtk2Gui.c:644 msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)" msgstr "" -#: ../gui/Gtk2Gui.c:880 +#: ../gui/Gtk2Gui.c:878 #, c-format msgid "Loaded state %s." msgstr "" -#: ../gui/Gtk2Gui.c:884 +#: ../gui/Gtk2Gui.c:882 #, c-format msgid "Error loading state %s!" msgstr "" -#: ../gui/Gtk2Gui.c:895 +#: ../gui/Gtk2Gui.c:893 #, c-format msgid "Saved state %s." msgstr "" -#: ../gui/Gtk2Gui.c:897 +#: ../gui/Gtk2Gui.c:895 #, c-format msgid "Error saving state %s!" msgstr "" -#: ../gui/Gtk2Gui.c:931 ../gui/Gtk2Gui.c:958 +#: ../gui/Gtk2Gui.c:929 ../gui/Gtk2Gui.c:956 msgid "Select State File" msgstr "" -#: ../gui/Gtk2Gui.c:1062 -msgid "Icon" -msgstr "" - -#: ../gui/Gtk2Gui.c:1080 -msgid "ID" -msgstr "" - -#: ../gui/Gtk2Gui.c:1086 -msgid "Name" -msgstr "" - -#: ../gui/Gtk2Gui.c:1246 -msgid "Format this Memory Card?" -msgstr "" - -#: ../gui/Gtk2Gui.c:1248 -msgid "" -"If you format the memory card, the card will be empty, and any existing data " -"overwritten." -msgstr "" - -#: ../gui/Gtk2Gui.c:1251 -msgid "Format card" -msgstr "" - -#: ../gui/Gtk2Gui.c:1366 -msgid "No space available in the target memory card!" -msgstr "" - -#: ../gui/Gtk2Gui.c:1508 ../gui/Gtk2Gui.c:1529 ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 ../gui/Gtk2Gui.c:1076 ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 ../gui/Gtk2Gui.c:1317 msgid "No configuration required" msgstr "" -#: ../gui/Gtk2Gui.c:1508 ../gui/Gtk2Gui.c:1529 ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 ../gui/Gtk2Gui.c:1076 ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 ../gui/Gtk2Gui.c:1317 msgid "This plugin doesn't need to be configured." msgstr "" -#: ../gui/Gtk2Gui.c:1608 -msgid "Memory Card Manager" -msgstr "" - -#: ../gui/Gtk2Gui.c:2134 +#: ../gui/Gtk2Gui.c:1571 #, c-format msgid "Could not open BIOS directory: '%s'\n" msgstr "" -#: ../gui/Gtk2Gui.c:2164 ../gui/Gtk2Gui.c:2257 ../gui/LnxMain.c:170 +#: ../gui/Gtk2Gui.c:1601 ../gui/Gtk2Gui.c:1694 ../gui/LnxMain.c:172 #, c-format msgid "Could not open directory: '%s'\n" msgstr "" -#: ../gui/Gtk2Gui.c:2318 +#: ../gui/Gtk2Gui.c:1755 msgid "Notice" msgstr "" -#: ../gui/LnxMain.c:65 +#: ../gui/LnxMain.c:67 #, c-format msgid "Creating memory card: %s\n" msgstr "" -#: ../gui/LnxMain.c:312 +#: ../gui/LnxMain.c:314 msgid "" " pcsx [options] [file]\n" "\toptions:\n" @@ -1152,27 +1119,67 @@ msgid "" "\tfile\t\tLoads file\n" msgstr "" -#: ../gui/LnxMain.c:350 +#: ../gui/LnxMain.c:352 #, c-format msgid "" "PCSX cannot be configured without using the GUI -- you should restart " "without -nogui.\n" msgstr "" -#: ../gui/LnxMain.c:405 +#: ../gui/LnxMain.c:407 msgid "Failed loading plugins!" msgstr "" -#: ../gui/LnxMain.c:422 +#: ../gui/LnxMain.c:424 #, c-format msgid "Could not load CD-ROM!\n" msgstr "" -#: ../gui/LnxMain.c:461 +#: ../gui/LnxMain.c:463 #, c-format msgid "PSX emulator couldn't be initialized.\n" msgstr "" +#: ../gui/MemcardDlg.c:53 +msgid "Icon" +msgstr "" + +#: ../gui/MemcardDlg.c:71 +msgid "ID" +msgstr "" + +#: ../gui/MemcardDlg.c:77 +msgid "Name" +msgstr "" + +#: ../gui/MemcardDlg.c:333 +msgid "Format this Memory Card?" +msgstr "" + +#: ../gui/MemcardDlg.c:335 +msgid "" +"If you format the memory card, the card will be empty, and any existing data " +"overwritten." +msgstr "" + +#: ../gui/MemcardDlg.c:338 +msgid "Format card" +msgstr "" + +#: ../gui/MemcardDlg.c:441 +msgid "No free space on memory card" +msgstr "" + +#: ../gui/MemcardDlg.c:442 +msgid "" +"There are no free slots available on the target memory card. Please delete a " +"slot first." +msgstr "" + +#: ../gui/MemcardDlg.c:597 +msgid "Memory Card Manager" +msgstr "" + #: ../gui/Plugin.c:204 ../data/pcsx.glade2:1336 #, c-format msgid "SIO IRQ Always Enabled" @@ -1835,31 +1842,31 @@ msgstr "" msgid "Configure Memory Cards" msgstr "" -#: ../data/pcsx.glade2:1773 ../data/pcsx.glade2:2171 +#: ../data/pcsx.glade2:1773 ../data/pcsx.glade2:2122 +msgid "New" +msgstr "" + +#: ../data/pcsx.glade2:1823 ../data/pcsx.glade2:2172 msgid "Format" msgstr "" -#: ../data/pcsx.glade2:1823 ../data/pcsx.glade2:2221 -msgid "Reload" +#: ../data/pcsx.glade2:1873 ../data/pcsx.glade2:2222 +msgid "Un/Delete" msgstr "" -#: ../data/pcsx.glade2:1867 +#: ../data/pcsx.glade2:1917 msgid "<b>Memory Card 1</b>" msgstr "" -#: ../data/pcsx.glade2:1927 ../data/pcsx.glade2:1977 ../data/pcsx.glade2:2872 +#: ../data/pcsx.glade2:1978 ../data/pcsx.glade2:2028 ../data/pcsx.glade2:2873 msgid "Copy" msgstr "" -#: ../data/pcsx.glade2:2027 ../data/pcsx.glade2:2077 -msgid "Un/Delete" -msgstr "" - -#: ../data/pcsx.glade2:2265 +#: ../data/pcsx.glade2:2266 msgid "<b>Memory Card 2</b>" msgstr "" -#: ../data/pcsx.glade2:2343 +#: ../data/pcsx.glade2:2344 msgid "" "(C) 1999-2003 PCSX Team\n" "(C) 2005-2006 Ryan Schultz\n" @@ -1867,11 +1874,11 @@ msgid "" "(C) 2008-2009 Wei Mingzhi" msgstr "" -#: ../data/pcsx.glade2:2347 +#: ../data/pcsx.glade2:2348 msgid "A PlayStation emulator." msgstr "" -#: ../data/pcsx.glade2:2350 +#: ../data/pcsx.glade2:2351 msgid "" "This program is free software; you can redistribute it\n" "and/or modify it under the terms of the GNU General\n" @@ -1890,22 +1897,22 @@ msgid "" "the Free Software Foundation, Inc." msgstr "" -#: ../data/pcsx.glade2:2379 +#: ../data/pcsx.glade2:2380 msgid "translator-credits" msgstr "" -#: ../data/pcsx.glade2:2441 +#: ../data/pcsx.glade2:2442 msgid "<b>Cheat Codes</b>" msgstr "" -#: ../data/pcsx.glade2:2607 +#: ../data/pcsx.glade2:2608 msgid "" "8-bit\n" "16-bit\n" "32-bit" msgstr "" -#: ../data/pcsx.glade2:2670 +#: ../data/pcsx.glade2:2671 msgid "" "Equal Value\n" "Not Equal Value\n" @@ -1918,25 +1925,25 @@ msgid "" "No Change" msgstr "" -#: ../data/pcsx.glade2:2702 +#: ../data/pcsx.glade2:2703 msgid "" "Decimal\n" "Hexadecimal" msgstr "" -#: ../data/pcsx.glade2:2905 +#: ../data/pcsx.glade2:2906 msgid "label_resultsfound" msgstr "" -#: ../data/pcsx.glade2:2940 +#: ../data/pcsx.glade2:2941 msgid "Search" msgstr "" -#: ../data/pcsx.glade2:2976 +#: ../data/pcsx.glade2:2977 msgid "Restart" msgstr "" -#: ../data/pcsx.glade2:3005 +#: ../data/pcsx.glade2:3006 msgid "<b>Cheat Search</b>" msgstr "" @@ -2041,7 +2048,7 @@ msgstr "" msgid "Play only one channel for a performance boost." msgstr "" -#: ../plugins/dfcdrom/cdr-linux.c:48 +#: ../plugins/dfcdrom/cdr-linux.c:60 msgid "CD-ROM Drive Reader" msgstr "" @@ -2049,7 +2056,7 @@ msgstr "" msgid "CDR NULL Plugin" msgstr "" -#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:166 +#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:175 #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2:8 msgid "CDR configuration" msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index bb6a1a01..cd43bb33 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pcsx-df\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-26 23:05+0800\n" +"POT-Creation-Date: 2009-11-28 18:23+0800\n" "PO-Revision-Date: 2009-11-27 18:24+0700\n" "Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n" "Language-Team: PoBRE <romhackers@gmail.com>\n" @@ -52,19 +52,14 @@ msgstr "" "\n" "http://www.codeplex.com/pcsxr" -#: ../win32/gui/AboutDlg.c:46 -#: ../plugins/peopsxgl/gpucfg/interface.c:831 +#: ../win32/gui/AboutDlg.c:46 ../plugins/peopsxgl/gpucfg/interface.c:831 msgid "About" msgstr "Sobre" -#: ../win32/gui/AboutDlg.c:48 -#: ../win32/gui/AboutDlg.c:52 -#: ../win32/gui/CheatDlg.c:70 -#: ../win32/gui/CheatDlg.c:120 -#: ../win32/gui/ConfigurePlugins.c:470 -#: ../win32/gui/ConfigurePlugins.c:601 -#: ../win32/gui/WndMain.c:963 -#: ../win32/gui/WndMain.c:1199 +#: ../win32/gui/AboutDlg.c:48 ../win32/gui/AboutDlg.c:52 +#: ../win32/gui/CheatDlg.c:70 ../win32/gui/CheatDlg.c:120 +#: ../win32/gui/ConfigurePlugins.c:470 ../win32/gui/ConfigurePlugins.c:601 +#: ../win32/gui/WndMain.c:963 ../win32/gui/WndMain.c:1199 #: ../plugins/peopsxgl/gpucfg/interface.c:130 #: ../plugins/peopsxgl/gpucfg/interface.c:843 msgid "OK" @@ -74,60 +69,46 @@ msgstr "OK" msgid "PCSX EMU\n" msgstr "EMULADOR PCSX\n" -#: ../win32/gui/CheatDlg.c:52 -#: ../win32/gui/CheatDlg.c:224 +#: ../win32/gui/CheatDlg.c:52 ../win32/gui/CheatDlg.c:224 #: ../win32/gui/CheatDlg.c:271 msgid "Yes" msgstr "Sim" -#: ../win32/gui/CheatDlg.c:52 -#: ../win32/gui/CheatDlg.c:224 +#: ../win32/gui/CheatDlg.c:52 ../win32/gui/CheatDlg.c:224 #: ../win32/gui/CheatDlg.c:271 msgid "No" msgstr "Não" -#: ../win32/gui/CheatDlg.c:67 -#: ../gui/Cheat.c:193 +#: ../win32/gui/CheatDlg.c:67 ../gui/Cheat.c:195 msgid "Edit Cheat" msgstr "Editar Trapaça" -#: ../win32/gui/CheatDlg.c:68 -#: ../win32/gui/CheatDlg.c:118 -#: ../gui/Cheat.c:633 +#: ../win32/gui/CheatDlg.c:68 ../win32/gui/CheatDlg.c:118 ../gui/Cheat.c:637 msgid "Description:" msgstr "Descrição:" -#: ../win32/gui/CheatDlg.c:69 -#: ../win32/gui/CheatDlg.c:119 -#: ../gui/Cheat.c:125 -#: ../gui/Cheat.c:210 +#: ../win32/gui/CheatDlg.c:69 ../win32/gui/CheatDlg.c:119 ../gui/Cheat.c:126 +#: ../gui/Cheat.c:212 msgid "Cheat Code:" msgstr "Código de Trapaça:" -#: ../win32/gui/CheatDlg.c:71 -#: ../win32/gui/CheatDlg.c:121 -#: ../win32/gui/ConfigurePlugins.c:471 -#: ../win32/gui/ConfigurePlugins.c:602 -#: ../win32/gui/WndMain.c:964 -#: ../win32/gui/WndMain.c:1200 +#: ../win32/gui/CheatDlg.c:71 ../win32/gui/CheatDlg.c:121 +#: ../win32/gui/ConfigurePlugins.c:471 ../win32/gui/ConfigurePlugins.c:602 +#: ../win32/gui/WndMain.c:964 ../win32/gui/WndMain.c:1200 #: ../plugins/peopsxgl/gpucfg/interface.c:338 msgid "Cancel" msgstr "Cancelar" -#: ../win32/gui/CheatDlg.c:92 -#: ../win32/gui/CheatDlg.c:133 -#: ../gui/Cheat.c:155 -#: ../gui/Cheat.c:250 +#: ../win32/gui/CheatDlg.c:92 ../win32/gui/CheatDlg.c:133 ../gui/Cheat.c:156 +#: ../gui/Cheat.c:252 msgid "Invalid cheat code!" msgstr "Código de trapaça inválido!" -#: ../win32/gui/CheatDlg.c:117 -#: ../gui/Cheat.c:109 +#: ../win32/gui/CheatDlg.c:117 ../gui/Cheat.c:110 msgid "Add New Cheat" msgstr "Adicionar nova Trapaça" -#: ../win32/gui/CheatDlg.c:167 -#: ../data/pcsx.glade2:2401 +#: ../win32/gui/CheatDlg.c:167 ../data/pcsx.glade2:2402 msgid "Edit Cheat Codes" msgstr "Editar Códigos de Trapaça" @@ -159,8 +140,7 @@ msgstr "&Salvar como..." msgid "&Close" msgstr "&Fechar" -#: ../win32/gui/CheatDlg.c:186 -#: ../gui/Cheat.c:411 +#: ../win32/gui/CheatDlg.c:186 ../gui/Cheat.c:414 msgid "Description" msgstr "Descrição" @@ -168,8 +148,7 @@ msgstr "Descrição" msgid "Enabled" msgstr "Ligado" -#: ../win32/gui/CheatDlg.c:283 -#: ../win32/gui/CheatDlg.c:312 +#: ../win32/gui/CheatDlg.c:283 ../win32/gui/CheatDlg.c:312 msgid "PCSX Cheat Code Files" msgstr "Arquivos de trapaça do PCSX" @@ -209,8 +188,7 @@ msgstr "Diferentes" msgid "No Change" msgstr "Sem mudanças" -#: ../win32/gui/CheatDlg.c:449 -#: ../gui/Cheat.c:583 +#: ../win32/gui/CheatDlg.c:449 ../gui/Cheat.c:586 msgid "Enter the values and start your search." msgstr "Digite algum número para começar a pesquisa." @@ -218,50 +196,40 @@ msgstr "Digite algum número para começar a pesquisa." msgid "No addresses found." msgstr "Nenhum endereço encontrado com esse número." -#: ../win32/gui/CheatDlg.c:458 -#: ../gui/Cheat.c:541 +#: ../win32/gui/CheatDlg.c:458 ../gui/Cheat.c:544 msgid "Too many addresses found." msgstr "Muitos endereços encontrados com esse número, refine a pesquisa." -#: ../win32/gui/CheatDlg.c:467 -#: ../gui/Cheat.c:550 +#: ../win32/gui/CheatDlg.c:467 ../gui/Cheat.c:553 #, c-format msgid "%.8X Current: %u (%.2X), Previous: %u (%.2X)" msgstr "%.8X Atual: %u (%.2X), Anterior: %u (%.2X)" -#: ../win32/gui/CheatDlg.c:472 -#: ../gui/Cheat.c:555 +#: ../win32/gui/CheatDlg.c:472 ../gui/Cheat.c:558 #, c-format msgid "%.8X Current: %u (%.4X), Previous: %u (%.4X)" msgstr "%.8X Atual: %u (%.4X), Anterior: %u (%.4X)" -#: ../win32/gui/CheatDlg.c:477 -#: ../gui/Cheat.c:560 +#: ../win32/gui/CheatDlg.c:477 ../gui/Cheat.c:563 #, c-format msgid "%.8X Current: %u (%.8X), Previous: %u (%.8X)" msgstr "%.8X Atual: %u (%.8X), Anterior: %u (%.8X)" -#: ../win32/gui/CheatDlg.c:493 -#: ../gui/Cheat.c:575 +#: ../win32/gui/CheatDlg.c:493 ../gui/Cheat.c:578 #, c-format msgid "Founded Addresses: %d" msgstr "Endereços com o número: %d" -#: ../win32/gui/CheatDlg.c:505 -#: ../data/pcsx.glade2:2800 +#: ../win32/gui/CheatDlg.c:505 ../data/pcsx.glade2:2801 msgid "Freeze" msgstr "Parar" -#: ../win32/gui/CheatDlg.c:506 -#: ../win32/gui/CheatDlg.c:597 +#: ../win32/gui/CheatDlg.c:506 ../win32/gui/CheatDlg.c:597 msgid "Address:" msgstr "Endereço:" -#: ../win32/gui/CheatDlg.c:507 -#: ../win32/gui/CheatDlg.c:598 -#: ../win32/gui/CheatDlg.c:683 -#: ../gui/Cheat.c:644 -#: ../data/pcsx.glade2:2644 +#: ../win32/gui/CheatDlg.c:507 ../win32/gui/CheatDlg.c:598 +#: ../win32/gui/CheatDlg.c:683 ../gui/Cheat.c:648 ../data/pcsx.glade2:2645 msgid "Value:" msgstr "Valor:" @@ -270,34 +238,27 @@ msgstr "Valor:" msgid "Freeze %.8X" msgstr "Parar %.8X" -#: ../win32/gui/CheatDlg.c:596 -#: ../data/pcsx.glade2:2836 +#: ../win32/gui/CheatDlg.c:596 ../data/pcsx.glade2:2837 msgid "Modify" msgstr "Modificar" -#: ../win32/gui/CheatDlg.c:679 -#: ../gui/Cheat.c:1126 -#: ../data/pcsx.glade2:2572 +#: ../win32/gui/CheatDlg.c:679 ../gui/Cheat.c:1130 ../data/pcsx.glade2:2573 msgid "Cheat Search" msgstr "Procurar por trapaça" -#: ../win32/gui/CheatDlg.c:681 -#: ../data/pcsx.glade2:2622 +#: ../win32/gui/CheatDlg.c:681 ../data/pcsx.glade2:2623 msgid "Search For:" msgstr "Buscar por:" -#: ../win32/gui/CheatDlg.c:682 -#: ../data/pcsx.glade2:2632 +#: ../win32/gui/CheatDlg.c:682 ../data/pcsx.glade2:2633 msgid "Data Type:" msgstr "Tipo de dados:" -#: ../win32/gui/CheatDlg.c:684 -#: ../data/pcsx.glade2:2656 +#: ../win32/gui/CheatDlg.c:684 ../data/pcsx.glade2:2657 msgid "Data Base:" msgstr "Banco de dados:" -#: ../win32/gui/CheatDlg.c:685 -#: ../data/pcsx.glade2:2716 +#: ../win32/gui/CheatDlg.c:685 ../data/pcsx.glade2:2717 msgid "To:" msgstr "Para:" @@ -345,8 +306,7 @@ msgstr "Decimal" msgid "Hexadecimal" msgstr "Hexadecimal" -#: ../win32/gui/ConfigurePlugins.c:206 -#: ../gui/Gtk2Gui.c:2228 +#: ../win32/gui/ConfigurePlugins.c:206 ../gui/Gtk2Gui.c:1665 msgid "Internal HLE Bios" msgstr "BIOS HLE interna" @@ -354,10 +314,8 @@ msgstr "BIOS HLE interna" msgid "Configuration not OK!" msgstr "Não configurou corretamente!" -#: ../win32/gui/ConfigurePlugins.c:292 -#: ../gui/Cheat.c:155 -#: ../gui/Cheat.c:250 -#: ../gui/LnxMain.c:405 +#: ../win32/gui/ConfigurePlugins.c:292 ../gui/Cheat.c:156 ../gui/Cheat.c:252 +#: ../gui/LnxMain.c:407 msgid "Error" msgstr "Erro" @@ -413,30 +371,21 @@ msgstr "Escolher o diretório da BIOS" msgid "Set Plugins Directory" msgstr "Escolher o diretório das extensões" -#: ../win32/gui/ConfigurePlugins.c:480 -#: ../win32/gui/ConfigurePlugins.c:483 -#: ../win32/gui/ConfigurePlugins.c:486 -#: ../win32/gui/ConfigurePlugins.c:489 -#: ../win32/gui/ConfigurePlugins.c:492 -#: ../win32/gui/ConfigurePlugins.c:604 +#: ../win32/gui/ConfigurePlugins.c:480 ../win32/gui/ConfigurePlugins.c:483 +#: ../win32/gui/ConfigurePlugins.c:486 ../win32/gui/ConfigurePlugins.c:489 +#: ../win32/gui/ConfigurePlugins.c:492 ../win32/gui/ConfigurePlugins.c:604 msgid "Configure..." msgstr "Configurar..." -#: ../win32/gui/ConfigurePlugins.c:481 -#: ../win32/gui/ConfigurePlugins.c:484 -#: ../win32/gui/ConfigurePlugins.c:487 -#: ../win32/gui/ConfigurePlugins.c:490 -#: ../win32/gui/ConfigurePlugins.c:493 -#: ../win32/gui/ConfigurePlugins.c:605 +#: ../win32/gui/ConfigurePlugins.c:481 ../win32/gui/ConfigurePlugins.c:484 +#: ../win32/gui/ConfigurePlugins.c:487 ../win32/gui/ConfigurePlugins.c:490 +#: ../win32/gui/ConfigurePlugins.c:493 ../win32/gui/ConfigurePlugins.c:605 msgid "Test..." msgstr "Testar..." -#: ../win32/gui/ConfigurePlugins.c:482 -#: ../win32/gui/ConfigurePlugins.c:485 -#: ../win32/gui/ConfigurePlugins.c:488 -#: ../win32/gui/ConfigurePlugins.c:491 -#: ../win32/gui/ConfigurePlugins.c:494 -#: ../win32/gui/ConfigurePlugins.c:606 +#: ../win32/gui/ConfigurePlugins.c:482 ../win32/gui/ConfigurePlugins.c:485 +#: ../win32/gui/ConfigurePlugins.c:488 ../win32/gui/ConfigurePlugins.c:491 +#: ../win32/gui/ConfigurePlugins.c:494 ../win32/gui/ConfigurePlugins.c:606 msgid "About..." msgstr "Sobre..." @@ -449,29 +398,28 @@ msgid "NetPlay" msgstr "Jogo em rede" #: ../win32/gui/ConfigurePlugins.c:607 -msgid "Note: The NetPlay Plugin Directory should be the same as the other Plugins." -msgstr "Observação: o diretório da extensão de jogo em rede deve ser o mesmo que odas outras extensões." +msgid "" +"Note: The NetPlay Plugin Directory should be the same as the other Plugins." +msgstr "" +"Observação: o diretório da extensão de jogo em rede deve ser o mesmo que " +"odas outras extensões." -#: ../win32/gui/plugin.c:90 -#: ../win32/gui/WndMain.c:278 +#: ../win32/gui/plugin.c:90 ../win32/gui/WndMain.c:278 #, c-format msgid "*PCSX*: Saved State %d" msgstr "PCSX: Estado \"%d\" salvo." -#: ../win32/gui/plugin.c:91 -#: ../win32/gui/WndMain.c:279 +#: ../win32/gui/plugin.c:91 ../win32/gui/WndMain.c:279 #, c-format msgid "*PCSX*: Error Saving State %d" msgstr "PCSX: Erro ao salvar o estado \"%d\"!" -#: ../win32/gui/plugin.c:107 -#: ../win32/gui/WndMain.c:256 +#: ../win32/gui/plugin.c:107 ../win32/gui/WndMain.c:256 #, c-format msgid "*PCSX*: Loaded State %d" msgstr "PCSX: Estado \"%d\" carregado." -#: ../win32/gui/plugin.c:108 -#: ../win32/gui/WndMain.c:257 +#: ../win32/gui/plugin.c:108 ../win32/gui/WndMain.c:257 #, c-format msgid "*PCSX*: Error Loading State %d" msgstr "PCSX: Erro ao carregar o estado \"%d\"!" @@ -518,8 +466,7 @@ msgstr "PCSX: Bandeja do CDROM fechada." msgid "Connecting..." msgstr "Conectando..." -#: ../win32/gui/plugin.c:179 -#: ../win32/gui/plugin.c:186 +#: ../win32/gui/plugin.c:179 ../win32/gui/plugin.c:186 #, c-format msgid "Please wait while connecting... %c\n" msgstr "Por favor, espere enquanto o emulador se conecta... %c\n" @@ -614,8 +561,7 @@ msgstr "Alemão" msgid "Greek" msgstr "Grego" -#: ../win32/gui/WndMain.c:80 -#: ../win32/gui/WndMain.c:1556 +#: ../win32/gui/WndMain.c:80 ../win32/gui/WndMain.c:1556 #: ../win32/gui/WndMain.c:1558 msgid "English" msgstr "Inglês" @@ -660,8 +606,7 @@ msgstr "Japonês" msgid "Korean" msgstr "Coreano" -#: ../win32/gui/WndMain.c:297 -#: ../win32/gui/WndMain.c:349 +#: ../win32/gui/WndMain.c:297 ../win32/gui/WndMain.c:349 msgid "PCSX State Format" msgstr "Formato dos estados salvos do PCSX" @@ -685,17 +630,13 @@ msgstr "PCSX: Arquivo de estado \"%s\" salvo." msgid "*PCSX*: Error Saving State %s" msgstr "PCSX: Erro ao salvar o arquivo de estado \"%s\"!" -#: ../win32/gui/WndMain.c:426 -#: ../win32/gui/WndMain.c:475 -#: ../gui/Gtk2Gui.c:575 -#: ../gui/Gtk2Gui.c:700 +#: ../win32/gui/WndMain.c:426 ../win32/gui/WndMain.c:475 ../gui/Gtk2Gui.c:573 +#: ../gui/Gtk2Gui.c:698 msgid "The CD does not appear to be a valid Playstation CD" msgstr "Esse CD não parece ser um CD de PlayStation!" -#: ../win32/gui/WndMain.c:432 -#: ../win32/gui/WndMain.c:481 -#: ../gui/Gtk2Gui.c:583 -#: ../gui/Gtk2Gui.c:708 +#: ../win32/gui/WndMain.c:432 ../win32/gui/WndMain.c:481 ../gui/Gtk2Gui.c:581 +#: ../gui/Gtk2Gui.c:706 msgid "Could not load CD-ROM!" msgstr "Não pôde carregar o CDROM!" @@ -703,13 +644,11 @@ msgstr "Não pôde carregar o CDROM!" msgid "Running BIOS is not supported with Internal HLE Bios." msgstr "Iniciar pela BIOS não é suportado com a BIOS HLE interna." -#: ../win32/gui/WndMain.c:661 -#: ../gui/Gtk2Gui.c:1068 +#: ../win32/gui/WndMain.c:661 ../gui/MemcardDlg.c:59 msgid "Title" msgstr "Título" -#: ../win32/gui/WndMain.c:667 -#: ../gui/Gtk2Gui.c:1074 +#: ../win32/gui/WndMain.c:667 ../gui/MemcardDlg.c:65 msgid "Status" msgstr "Estado" @@ -729,20 +668,17 @@ msgstr "bloco de ligação intermediário" msgid "terminiting link block" msgstr "bloco final da ligação" -#: ../win32/gui/WndMain.c:864 -#: ../gui/Gtk2Gui.c:1148 +#: ../win32/gui/WndMain.c:864 ../gui/MemcardDlg.c:173 ../gui/MemcardDlg.c:243 msgid "Deleted" msgstr "Apagado" -#: ../win32/gui/WndMain.c:865 -#: ../win32/gui/WndMain.c:868 -#: ../gui/Gtk2Gui.c:1150 -#: ../gui/Gtk2Gui.c:1154 +#: ../win32/gui/WndMain.c:865 ../win32/gui/WndMain.c:868 +#: ../gui/MemcardDlg.c:175 ../gui/MemcardDlg.c:179 ../gui/MemcardDlg.c:245 +#: ../gui/MemcardDlg.c:249 msgid "Free" msgstr "Liberado" -#: ../win32/gui/WndMain.c:867 -#: ../gui/Gtk2Gui.c:1152 +#: ../win32/gui/WndMain.c:867 ../gui/MemcardDlg.c:177 ../gui/MemcardDlg.c:247 msgid "Used" msgstr "Usado" @@ -750,18 +686,15 @@ msgstr "Usado" msgid "Memcard Manager" msgstr "Gerenciador de cartões de memória" -#: ../win32/gui/WndMain.c:965 -#: ../win32/gui/WndMain.c:968 +#: ../win32/gui/WndMain.c:965 ../win32/gui/WndMain.c:968 msgid "Select Mcd" msgstr "Selecionar cartão" -#: ../win32/gui/WndMain.c:966 -#: ../win32/gui/WndMain.c:969 +#: ../win32/gui/WndMain.c:966 ../win32/gui/WndMain.c:969 msgid "Format Mcd" msgstr "Formatar cartão" -#: ../win32/gui/WndMain.c:967 -#: ../win32/gui/WndMain.c:970 +#: ../win32/gui/WndMain.c:967 ../win32/gui/WndMain.c:970 msgid "Reload Mcd" msgstr "Reiniciar cartão" @@ -797,14 +730,12 @@ msgstr "Cartão de memória 2" msgid "Are you sure you want to paste this selection?" msgstr "Você tem certeza que quer colar o selecionado?" -#: ../win32/gui/WndMain.c:1033 -#: ../win32/gui/WndMain.c:1144 +#: ../win32/gui/WndMain.c:1033 ../win32/gui/WndMain.c:1144 #: ../win32/gui/WndMain.c:1151 msgid "Confirmation" msgstr "Confirmação" -#: ../win32/gui/WndMain.c:1144 -#: ../win32/gui/WndMain.c:1151 +#: ../win32/gui/WndMain.c:1144 ../win32/gui/WndMain.c:1151 msgid "Are you sure you want to format this Memory Card?" msgstr "Você tem certeza que quer formatar esse Cartão de Memória?" @@ -828,8 +759,7 @@ msgstr "Filmes em preto e branco" msgid "Disable Cd audio" msgstr "Desativar áudio de CD" -#: ../win32/gui/WndMain.c:1206 -#: ../data/pcsx.glade2:1444 +#: ../win32/gui/WndMain.c:1206 ../data/pcsx.glade2:1444 msgid "Autodetect" msgstr "Detectar Automaticamente" @@ -837,13 +767,11 @@ msgstr "Detectar Automaticamente" msgid "Enable Interpreter Cpu" msgstr "Ativar interpretador da CPU" -#: ../win32/gui/WndMain.c:1208 -#: ../data/pcsx.glade2:1300 +#: ../win32/gui/WndMain.c:1208 ../data/pcsx.glade2:1300 msgid "Enable Console Output" msgstr "Ativar saída no terminal" -#: ../win32/gui/WndMain.c:1209 -#: ../data/pcsx.glade2:1250 +#: ../win32/gui/WndMain.c:1209 ../data/pcsx.glade2:1250 msgid "Enable Debugger" msgstr "Ligar debugger" @@ -851,13 +779,11 @@ msgstr "Ligar debugger" msgid "Spu Irq Always Enabled" msgstr "IRQ da SPU sempre ligada" -#: ../win32/gui/WndMain.c:1211 -#: ../data/pcsx.glade2:1387 +#: ../win32/gui/WndMain.c:1211 ../data/pcsx.glade2:1387 msgid "Parasite Eve 2, Vandal Hearts 1/2 Fix" msgstr "Correção para Parasite Eve 2, Vandal Hearts..." -#: ../win32/gui/WndMain.c:1212 -#: ../data/pcsx.glade2:1402 +#: ../win32/gui/WndMain.c:1212 ../data/pcsx.glade2:1402 msgid "InuYasha Sengoku Battle Fix" msgstr "Correção para InuYasha, Sengoku Battle..." @@ -895,11 +821,8 @@ msgstr "Cartão de memória do DexDrive (*.gme)" msgid "DataDeck Memory Card (*.ddf)" msgstr "Cartão de memória do DataDeck (*.ddf)" -#: ../win32/gui/WndMain.c:1350 -#: ../win32/gui/WndMain.c:1431 -#: ../gui/Cheat.c:319 -#: ../gui/Gtk2Gui.c:512 -#: ../gui/Gtk2Gui.c:651 +#: ../win32/gui/WndMain.c:1350 ../win32/gui/WndMain.c:1431 ../gui/Cheat.c:322 +#: ../gui/Gtk2Gui.c:510 ../gui/Gtk2Gui.c:649 msgid "All Files" msgstr "Todos os arquivos" @@ -963,33 +886,27 @@ msgstr "&Salvar" msgid "&Load" msgstr "&Carregar" -#: ../win32/gui/WndMain.c:1519 -#: ../win32/gui/WndMain.c:1525 +#: ../win32/gui/WndMain.c:1519 ../win32/gui/WndMain.c:1525 msgid "&Other..." msgstr "&Outros..." -#: ../win32/gui/WndMain.c:1520 -#: ../win32/gui/WndMain.c:1526 +#: ../win32/gui/WndMain.c:1520 ../win32/gui/WndMain.c:1526 msgid "Slot &5" msgstr "Unidade &5" -#: ../win32/gui/WndMain.c:1521 -#: ../win32/gui/WndMain.c:1527 +#: ../win32/gui/WndMain.c:1521 ../win32/gui/WndMain.c:1527 msgid "Slot &4" msgstr "Unidade &4" -#: ../win32/gui/WndMain.c:1522 -#: ../win32/gui/WndMain.c:1528 +#: ../win32/gui/WndMain.c:1522 ../win32/gui/WndMain.c:1528 msgid "Slot &3" msgstr "Unidade &3" -#: ../win32/gui/WndMain.c:1523 -#: ../win32/gui/WndMain.c:1529 +#: ../win32/gui/WndMain.c:1523 ../win32/gui/WndMain.c:1529 msgid "Slot &2" msgstr "Unidade &2" -#: ../win32/gui/WndMain.c:1524 -#: ../win32/gui/WndMain.c:1530 +#: ../win32/gui/WndMain.c:1524 ../win32/gui/WndMain.c:1530 msgid "Slot &1" msgstr "Unidade &1" @@ -1057,200 +974,153 @@ msgstr "Mensagens do PCSX" msgid "Error Loading Symbol" msgstr "Erro ao carregar símbolo" -#: ../gui/Cheat.c:117 -#: ../gui/Cheat.c:201 +#: ../gui/Cheat.c:118 ../gui/Cheat.c:203 msgid "Cheat Description:" msgstr "Descrição da trapaça:" -#: ../gui/Cheat.c:304 +#: ../gui/Cheat.c:307 msgid "Open Cheat File" msgstr "Abrir arquivo de trapaça" -#: ../gui/Cheat.c:314 -#: ../gui/Cheat.c:354 +#: ../gui/Cheat.c:317 ../gui/Cheat.c:357 msgid "PCSX Cheat Code Files (*.cht)" msgstr "Arquivos de trapaça do PCSX (*.cht)" -#: ../gui/Cheat.c:344 +#: ../gui/Cheat.c:347 msgid "Save Cheat File" msgstr "Salvar um arquivo de trapaça" -#: ../gui/Cheat.c:359 +#: ../gui/Cheat.c:362 msgid "All Files (*.*)" msgstr "Todos os arquivos (*.*)" -#: ../gui/Cheat.c:392 -#: ../gui/Cheat.c:1121 -#: ../gui/Gtk2Gui.c:400 -#: ../gui/Gtk2Gui.c:1020 +#: ../gui/Cheat.c:395 ../gui/Cheat.c:1125 ../gui/Gtk2Gui.c:398 +#: ../gui/Gtk2Gui.c:1018 msgid "Error: Glade interface could not be loaded!" msgstr "Erro: o ambiente Glade não pôde ser carregado!" -#: ../gui/Cheat.c:397 +#: ../gui/Cheat.c:400 msgid "Cheat Codes" msgstr "Códigos de trapaça" -#: ../gui/Cheat.c:403 +#: ../gui/Cheat.c:406 msgid "Enable" msgstr "Ligar" -#: ../gui/Cheat.c:627 +#: ../gui/Cheat.c:631 msgid "Freeze value" msgstr "Congelar valor" -#: ../gui/Cheat.c:726 +#: ../gui/Cheat.c:730 msgid "Modify value" msgstr "Modificar valor" -#: ../gui/Cheat.c:734 +#: ../gui/Cheat.c:738 msgid "New value:" msgstr "Novo valor:" -#: ../gui/Cheat.c:1131 +#: ../gui/Cheat.c:1135 msgid "Search Results" msgstr "Resultados da busca" -#: ../gui/Gtk2Gui.c:408 -#: ../data/pcsx.glade2:605 +#: ../gui/Gtk2Gui.c:406 ../data/pcsx.glade2:605 msgid "Configure PCSX" msgstr "Configurar PCSX" -#: ../gui/Gtk2Gui.c:494 +#: ../gui/Gtk2Gui.c:492 msgid "Select PSX EXE File" msgstr "Selecione o arquivo executável de PSX" -#: ../gui/Gtk2Gui.c:508 +#: ../gui/Gtk2Gui.c:506 msgid "PlayStation Executable Files" msgstr "Arquivos executáveis do PlayStation" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "Not a valid PSX file" msgstr "Não é um arquivo válido de PSX" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "The file does not appear to be a valid Playstation executable" msgstr "Esse arquivo não parece ser um executável válido de PlayStation!" -#: ../gui/Gtk2Gui.c:575 -#: ../gui/Gtk2Gui.c:700 +#: ../gui/Gtk2Gui.c:573 ../gui/Gtk2Gui.c:698 msgid "CD ROM failed" msgstr "CDROM falhou" -#: ../gui/Gtk2Gui.c:583 +#: ../gui/Gtk2Gui.c:581 msgid "The CD ROM could not be loaded" msgstr "O CDROM não pôde ser carregado!" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Could not run BIOS" msgstr "Não conseguiu iniciar a BIOS" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Running BIOS is not supported with Internal HLE BIOS." msgstr "Iniciar pela BIOS não é suportado com a BIOS HLE interno." -#: ../gui/Gtk2Gui.c:626 +#: ../gui/Gtk2Gui.c:624 msgid "Open PSX Disc Image File" msgstr "Abrir arquivo de imagem de CD de PSX" -#: ../gui/Gtk2Gui.c:646 +#: ../gui/Gtk2Gui.c:644 msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)" msgstr "Arquivo de imagens de CD de PSX (*.bin, *.img, *.mdf, *.iso)" -#: ../gui/Gtk2Gui.c:880 +#: ../gui/Gtk2Gui.c:878 #, c-format msgid "Loaded state %s." msgstr "Arquivo de estado \"%s\" carregado." -#: ../gui/Gtk2Gui.c:884 +#: ../gui/Gtk2Gui.c:882 #, c-format msgid "Error loading state %s!" msgstr "Erro ao carregar o arquivo de estado \"%s\"!" -#: ../gui/Gtk2Gui.c:895 +#: ../gui/Gtk2Gui.c:893 #, c-format msgid "Saved state %s." msgstr "Arquivo de estado \"%s\" salvo." -#: ../gui/Gtk2Gui.c:897 +#: ../gui/Gtk2Gui.c:895 #, c-format msgid "Error saving state %s!" msgstr "Erro ao salvar o arquivo de estado \"%s\"!" -#: ../gui/Gtk2Gui.c:931 -#: ../gui/Gtk2Gui.c:958 +#: ../gui/Gtk2Gui.c:929 ../gui/Gtk2Gui.c:956 msgid "Select State File" msgstr "Selecione o arquivo de estado" -#: ../gui/Gtk2Gui.c:1062 -msgid "Icon" -msgstr "Ícone" - -#: ../gui/Gtk2Gui.c:1080 -msgid "ID" -msgstr "ID" - -#: ../gui/Gtk2Gui.c:1086 -msgid "Name" -msgstr "Nome" - -#: ../gui/Gtk2Gui.c:1246 -msgid "Format this Memory Card?" -msgstr "Formatar esse cartão de memória?" - -#: ../gui/Gtk2Gui.c:1248 -msgid "If you format the memory card, the card will be empty, and any existing data overwritten." -msgstr "Ao formatar o cartão de memória, todo o conteúdo será zerado." - -#: ../gui/Gtk2Gui.c:1251 -msgid "Format card" -msgstr "Formatar cartão" - -#: ../gui/Gtk2Gui.c:1366 -msgid "No space available in the target memory card!" -msgstr "Não há espaço suficiente no cartão de memória selecionado!" - -#: ../gui/Gtk2Gui.c:1508 -#: ../gui/Gtk2Gui.c:1529 -#: ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 -#: ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 ../gui/Gtk2Gui.c:1076 ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 ../gui/Gtk2Gui.c:1317 msgid "No configuration required" msgstr "Não necessita de configuração" -#: ../gui/Gtk2Gui.c:1508 -#: ../gui/Gtk2Gui.c:1529 -#: ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 -#: ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 ../gui/Gtk2Gui.c:1076 ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 ../gui/Gtk2Gui.c:1317 msgid "This plugin doesn't need to be configured." msgstr "Esta extensão não pode ser configurada." -#: ../gui/Gtk2Gui.c:1608 -msgid "Memory Card Manager" -msgstr "Gerenciador de cartões de memória" - -#: ../gui/Gtk2Gui.c:2134 +#: ../gui/Gtk2Gui.c:1571 #, c-format msgid "Could not open BIOS directory: '%s'\n" msgstr "Não conseguiu abrir o diretório \"%s\", da BIOS!\n" -#: ../gui/Gtk2Gui.c:2164 -#: ../gui/Gtk2Gui.c:2257 -#: ../gui/LnxMain.c:170 +#: ../gui/Gtk2Gui.c:1601 ../gui/Gtk2Gui.c:1694 ../gui/LnxMain.c:172 #, c-format msgid "Could not open directory: '%s'\n" msgstr "Não conseguiu abrir o diretório \"%s\"!\n" -#: ../gui/Gtk2Gui.c:2318 +#: ../gui/Gtk2Gui.c:1755 msgid "Notice" msgstr "Aviso" -#: ../gui/LnxMain.c:65 +#: ../gui/LnxMain.c:67 #, c-format msgid "Creating memory card: %s\n" msgstr "Criando cartão de memória \"%s\"\n" -#: ../gui/LnxMain.c:312 +#: ../gui/LnxMain.c:314 msgid "" " pcsx [options] [file]\n" "\toptions:\n" @@ -1268,33 +1138,77 @@ msgstr "" "\t-runcd\t\tExecuta direto pelo CD-ROM\n" "\t-cdfile ARQUIVO\tRoda um arquivo de imagem de CD\n" "\t-nogui\t\tNão abre o GUI da GTK\n" -"\t-cfg ARQUIVO\tCarrega uma configuração alternativa (padrão: ~/.pcsx/pcsx.cfg)\n" +"\t-cfg ARQUIVO\tCarrega uma configuração alternativa (padrão: ~/.pcsx/pcsx." +"cfg)\n" "\t-psxout\t\tAtiva a saída do PSX no console\n" "\t-load NÚMERO_ESTADO\tCarrega um estado entre 1-5\n" "\t-h -help\tMostra essa mensagem\n" "\t[arquivo]\t\tCarrega um arquivo.\n" -#: ../gui/LnxMain.c:350 +#: ../gui/LnxMain.c:352 #, c-format -msgid "PCSX cannot be configured without using the GUI -- you should restart without -nogui.\n" -msgstr "PCSX não pode ser configurado sem o GUI -- reinicie sem a opção -nogui.\n" +msgid "" +"PCSX cannot be configured without using the GUI -- you should restart " +"without -nogui.\n" +msgstr "" +"PCSX não pode ser configurado sem o GUI -- reinicie sem a opção -nogui.\n" -#: ../gui/LnxMain.c:405 +#: ../gui/LnxMain.c:407 msgid "Failed loading plugins!" msgstr "Não conseguiu carregar as extensões!" -#: ../gui/LnxMain.c:422 +#: ../gui/LnxMain.c:424 #, c-format msgid "Could not load CD-ROM!\n" msgstr "Não pôde carregar o CD-ROM!\n" -#: ../gui/LnxMain.c:461 +#: ../gui/LnxMain.c:463 #, c-format msgid "PSX emulator couldn't be initialized.\n" msgstr "O emulador não pôde ser inicializado.\n" -#: ../gui/Plugin.c:204 -#: ../data/pcsx.glade2:1336 +#: ../gui/MemcardDlg.c:53 +msgid "Icon" +msgstr "Ícone" + +#: ../gui/MemcardDlg.c:71 +msgid "ID" +msgstr "ID" + +#: ../gui/MemcardDlg.c:77 +msgid "Name" +msgstr "Nome" + +#: ../gui/MemcardDlg.c:333 +msgid "Format this Memory Card?" +msgstr "Formatar esse cartão de memória?" + +#: ../gui/MemcardDlg.c:335 +msgid "" +"If you format the memory card, the card will be empty, and any existing data " +"overwritten." +msgstr "Ao formatar o cartão de memória, todo o conteúdo será zerado." + +#: ../gui/MemcardDlg.c:338 +msgid "Format card" +msgstr "Formatar cartão" + +#: ../gui/MemcardDlg.c:441 +#, fuzzy +msgid "No free space on memory card" +msgstr "Criando cartão de memória \"%s\"\n" + +#: ../gui/MemcardDlg.c:442 +msgid "" +"There are no free slots available on the target memory card. Please delete a " +"slot first." +msgstr "" + +#: ../gui/MemcardDlg.c:597 +msgid "Memory Card Manager" +msgstr "Gerenciador de cartões de memória" + +#: ../gui/Plugin.c:204 ../data/pcsx.glade2:1336 #, c-format msgid "SIO IRQ Always Enabled" msgstr "IRQ SIO sempre ativada" @@ -1379,8 +1293,7 @@ msgstr "Trapaças de \"%s\" carregadas.\n" msgid "Cheats saved to: %s\n" msgstr "Trapaças salvas para \"%s\".\n" -#: ../libpcsxcore/cheat.c:323 -#: ../libpcsxcore/cheat.c:444 +#: ../libpcsxcore/cheat.c:323 ../libpcsxcore/cheat.c:444 msgid "(Untitled)" msgstr "(Sem título)" @@ -1807,33 +1720,27 @@ msgstr "_Trocar de imagem de CD..." msgid "_Save State" msgstr "_Salvar estado" -#: ../data/pcsx.glade2:200 -#: ../data/pcsx.glade2:281 +#: ../data/pcsx.glade2:200 ../data/pcsx.glade2:281 msgid "Slot _1" msgstr "Unidade _1" -#: ../data/pcsx.glade2:209 -#: ../data/pcsx.glade2:290 +#: ../data/pcsx.glade2:209 ../data/pcsx.glade2:290 msgid "Slot _2" msgstr "Unidade _2" -#: ../data/pcsx.glade2:218 -#: ../data/pcsx.glade2:299 +#: ../data/pcsx.glade2:218 ../data/pcsx.glade2:299 msgid "Slot _3" msgstr "Unidade _3" -#: ../data/pcsx.glade2:227 -#: ../data/pcsx.glade2:308 +#: ../data/pcsx.glade2:227 ../data/pcsx.glade2:308 msgid "Slot _4" msgstr "Unidade _4" -#: ../data/pcsx.glade2:236 -#: ../data/pcsx.glade2:317 +#: ../data/pcsx.glade2:236 ../data/pcsx.glade2:317 msgid "Slot _5" msgstr "Unidade _5" -#: ../data/pcsx.glade2:244 -#: ../data/pcsx.glade2:325 +#: ../data/pcsx.glade2:244 ../data/pcsx.glade2:325 msgid "_Other..." msgstr "_Outros..." @@ -1985,36 +1892,31 @@ msgstr "<b>Jogo em rede</b>" msgid "Configure Memory Cards" msgstr "Configurar cartões de memória" -#: ../data/pcsx.glade2:1773 -#: ../data/pcsx.glade2:2171 +#: ../data/pcsx.glade2:1773 ../data/pcsx.glade2:2122 +msgid "New" +msgstr "" + +#: ../data/pcsx.glade2:1823 ../data/pcsx.glade2:2172 msgid "Format" msgstr "Formatar" -#: ../data/pcsx.glade2:1823 -#: ../data/pcsx.glade2:2221 -msgid "Reload" -msgstr "Recarregar" +#: ../data/pcsx.glade2:1873 ../data/pcsx.glade2:2222 +msgid "Un/Delete" +msgstr "Apagar/Desfazer" -#: ../data/pcsx.glade2:1867 +#: ../data/pcsx.glade2:1917 msgid "<b>Memory Card 1</b>" msgstr "<b>Cartão de memória 1</b>" -#: ../data/pcsx.glade2:1927 -#: ../data/pcsx.glade2:1977 -#: ../data/pcsx.glade2:2872 +#: ../data/pcsx.glade2:1978 ../data/pcsx.glade2:2028 ../data/pcsx.glade2:2873 msgid "Copy" msgstr "Copiar" -#: ../data/pcsx.glade2:2027 -#: ../data/pcsx.glade2:2077 -msgid "Un/Delete" -msgstr "Apagar/Desfazer" - -#: ../data/pcsx.glade2:2265 +#: ../data/pcsx.glade2:2266 msgid "<b>Memory Card 2</b>" msgstr "<b>Cartão de memória 2</b>" -#: ../data/pcsx.glade2:2343 +#: ../data/pcsx.glade2:2344 msgid "" "(C) 1999-2003 PCSX Team\n" "(C) 2005-2006 Ryan Schultz\n" @@ -2026,11 +1928,11 @@ msgstr "" "(C) 2005-2006 Andrew Burton\n" "(C) 2008-2009 Wei Mingzhi" -#: ../data/pcsx.glade2:2347 +#: ../data/pcsx.glade2:2348 msgid "A PlayStation emulator." msgstr "Um emulador de PlayStation." -#: ../data/pcsx.glade2:2350 +#: ../data/pcsx.glade2:2351 msgid "" "This program is free software; you can redistribute it\n" "and/or modify it under the terms of the GNU General\n" @@ -2064,15 +1966,16 @@ msgstr "" "Public License along with this program; if not, write to\n" "the Free Software Foundation, Inc." -#: ../data/pcsx.glade2:2379 +#: ../data/pcsx.glade2:2380 msgid "translator-credits" -msgstr "Tradução para português brasileiro por Tibério Vítor (tvtoon@gmail.com)" +msgstr "" +"Tradução para português brasileiro por Tibério Vítor (tvtoon@gmail.com)" -#: ../data/pcsx.glade2:2441 +#: ../data/pcsx.glade2:2442 msgid "<b>Cheat Codes</b>" msgstr "<b>Códigos de trapaça</b>" -#: ../data/pcsx.glade2:2607 +#: ../data/pcsx.glade2:2608 msgid "" "8-bit\n" "16-bit\n" @@ -2082,7 +1985,7 @@ msgstr "" "16-bit\n" "32-bit" -#: ../data/pcsx.glade2:2670 +#: ../data/pcsx.glade2:2671 msgid "" "Equal Value\n" "Not Equal Value\n" @@ -2104,7 +2007,7 @@ msgstr "" "Diferente\n" "Sem mudanças" -#: ../data/pcsx.glade2:2702 +#: ../data/pcsx.glade2:2703 msgid "" "Decimal\n" "Hexadecimal" @@ -2112,19 +2015,19 @@ msgstr "" "Decimal\n" "Hexadecimal" -#: ../data/pcsx.glade2:2905 +#: ../data/pcsx.glade2:2906 msgid "label_resultsfound" msgstr "Resultados encontrados:" -#: ../data/pcsx.glade2:2940 +#: ../data/pcsx.glade2:2941 msgid "Search" msgstr "Buscar" -#: ../data/pcsx.glade2:2976 +#: ../data/pcsx.glade2:2977 msgid "Restart" msgstr "Reiniciar" -#: ../data/pcsx.glade2:3005 +#: ../data/pcsx.glade2:3006 msgid "<b>Cheat Search</b>" msgstr "<b>Busca de trapaças</b>" @@ -2242,7 +2145,7 @@ msgstr "Som em canal único" msgid "Play only one channel for a performance boost." msgstr "Tocar apenas um canal para melhorar o desempenho." -#: ../plugins/dfcdrom/cdr-linux.c:48 +#: ../plugins/dfcdrom/cdr-linux.c:60 msgid "CD-ROM Drive Reader" msgstr "Leitor de unidade de CDROM" @@ -2250,14 +2153,15 @@ msgstr "Leitor de unidade de CDROM" msgid "CDR NULL Plugin" msgstr "Sem unidade de CDROM" -#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:166 +#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:175 #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2:8 msgid "CDR configuration" msgstr "Configuração do CDROM" #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2:33 msgid "Choose your CD-ROM device or type its path if it's not listed" -msgstr "Escolha sua unidade de CDROM ou digite o dispositivo caso não esteja listado." +msgstr "" +"Escolha sua unidade de CDROM ou digite o dispositivo caso não esteja listado." #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2:44 msgid "Select CD-ROM device" @@ -2806,8 +2710,7 @@ msgstr "" msgid "Keyboard:" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:132 -#: ../plugins/dfinput/cfg-gtk2.c:140 +#: ../plugins/dfinput/cfg-gtk2.c:132 ../plugins/dfinput/cfg-gtk2.c:140 #, c-format msgid "(Not Set)" msgstr "" @@ -2845,13 +2748,11 @@ msgstr "" msgid "Gamepad/Keyboard Input Configuration" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:530 -#: ../plugins/dfinput/cfg-gtk2.c:550 +#: ../plugins/dfinput/cfg-gtk2.c:530 ../plugins/dfinput/cfg-gtk2.c:550 msgid "Key" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:536 -#: ../plugins/dfinput/cfg-gtk2.c:556 +#: ../plugins/dfinput/cfg-gtk2.c:536 ../plugins/dfinput/cfg-gtk2.c:556 msgid "Button" msgstr "" @@ -2863,30 +2764,25 @@ msgstr "" msgid "Gamepad/Keyboard Input" msgstr "Entrada do gamepad ou teclado" -#: ../plugins/dfinput/dfinput.glade2:35 -#: ../plugins/dfinput/dfinput.glade2:232 +#: ../plugins/dfinput/dfinput.glade2:35 ../plugins/dfinput/dfinput.glade2:232 msgid "Device:" msgstr "" -#: ../plugins/dfinput/dfinput.glade2:66 -#: ../plugins/dfinput/dfinput.glade2:263 +#: ../plugins/dfinput/dfinput.glade2:66 ../plugins/dfinput/dfinput.glade2:263 msgid "Type:" msgstr "" -#: ../plugins/dfinput/dfinput.glade2:78 -#: ../plugins/dfinput/dfinput.glade2:275 +#: ../plugins/dfinput/dfinput.glade2:78 ../plugins/dfinput/dfinput.glade2:275 msgid "" "Digital Pad\n" "Analog Pad" msgstr "" -#: ../plugins/dfinput/dfinput.glade2:149 -#: ../plugins/dfinput/dfinput.glade2:346 +#: ../plugins/dfinput/dfinput.glade2:149 ../plugins/dfinput/dfinput.glade2:346 msgid "Change" msgstr "" -#: ../plugins/dfinput/dfinput.glade2:185 -#: ../plugins/dfinput/dfinput.glade2:382 +#: ../plugins/dfinput/dfinput.glade2:185 ../plugins/dfinput/dfinput.glade2:382 msgid "Reset" msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index 29388b5a..2104991a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pcsxr 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-26 23:05+0800\n" -"PO-Revision-Date: 2009-11-26 23:08+0700\n" +"POT-Creation-Date: 2009-11-28 18:23+0800\n" +"PO-Revision-Date: 2009-11-28 18:25+0700\n" "Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n" "Language-Team: Simplified Chinese <whistler@openoffice.org>\n" "MIME-Version: 1.0\n" @@ -88,20 +88,20 @@ msgid "No" msgstr "否" #: ../win32/gui/CheatDlg.c:67 -#: ../gui/Cheat.c:193 +#: ../gui/Cheat.c:195 msgid "Edit Cheat" msgstr "编辑作弊码" #: ../win32/gui/CheatDlg.c:68 #: ../win32/gui/CheatDlg.c:118 -#: ../gui/Cheat.c:633 +#: ../gui/Cheat.c:637 msgid "Description:" msgstr "描述:" #: ../win32/gui/CheatDlg.c:69 #: ../win32/gui/CheatDlg.c:119 -#: ../gui/Cheat.c:125 -#: ../gui/Cheat.c:210 +#: ../gui/Cheat.c:126 +#: ../gui/Cheat.c:212 msgid "Cheat Code:" msgstr "作弊码:" @@ -117,18 +117,18 @@ msgstr "取消" #: ../win32/gui/CheatDlg.c:92 #: ../win32/gui/CheatDlg.c:133 -#: ../gui/Cheat.c:155 -#: ../gui/Cheat.c:250 +#: ../gui/Cheat.c:156 +#: ../gui/Cheat.c:252 msgid "Invalid cheat code!" msgstr "非法作弊码!" #: ../win32/gui/CheatDlg.c:117 -#: ../gui/Cheat.c:109 +#: ../gui/Cheat.c:110 msgid "Add New Cheat" msgstr "添加新作弊码" #: ../win32/gui/CheatDlg.c:167 -#: ../data/pcsx.glade2:2401 +#: ../data/pcsx.glade2:2402 msgid "Edit Cheat Codes" msgstr "编辑作弊码" @@ -161,7 +161,7 @@ msgid "&Close" msgstr "关闭(&C)" #: ../win32/gui/CheatDlg.c:186 -#: ../gui/Cheat.c:411 +#: ../gui/Cheat.c:414 msgid "Description" msgstr "描述" @@ -211,7 +211,7 @@ msgid "No Change" msgstr "无改变" #: ../win32/gui/CheatDlg.c:449 -#: ../gui/Cheat.c:583 +#: ../gui/Cheat.c:586 msgid "Enter the values and start your search." msgstr "输入数值并开始查找。" @@ -220,36 +220,36 @@ msgid "No addresses found." msgstr "未找到地址。" #: ../win32/gui/CheatDlg.c:458 -#: ../gui/Cheat.c:541 +#: ../gui/Cheat.c:544 msgid "Too many addresses found." msgstr "找到过多的地址。" #: ../win32/gui/CheatDlg.c:467 -#: ../gui/Cheat.c:550 +#: ../gui/Cheat.c:553 #, c-format msgid "%.8X Current: %u (%.2X), Previous: %u (%.2X)" msgstr "%.8X 当前值: %u (%.2X), 前次值: %u (%.2X)" #: ../win32/gui/CheatDlg.c:472 -#: ../gui/Cheat.c:555 +#: ../gui/Cheat.c:558 #, c-format msgid "%.8X Current: %u (%.4X), Previous: %u (%.4X)" msgstr "%.8X 当前值: %u (%.4X), 前次值: %u (%.4X)" #: ../win32/gui/CheatDlg.c:477 -#: ../gui/Cheat.c:560 +#: ../gui/Cheat.c:563 #, c-format msgid "%.8X Current: %u (%.8X), Previous: %u (%.8X)" msgstr "%.8X 当前值: %u (%.8X), 前次值: %u (%.8X)" #: ../win32/gui/CheatDlg.c:493 -#: ../gui/Cheat.c:575 +#: ../gui/Cheat.c:578 #, c-format msgid "Founded Addresses: %d" msgstr "找到地址个数: %d" #: ../win32/gui/CheatDlg.c:505 -#: ../data/pcsx.glade2:2800 +#: ../data/pcsx.glade2:2801 msgid "Freeze" msgstr "固定" @@ -261,8 +261,8 @@ msgstr "地址:" #: ../win32/gui/CheatDlg.c:507 #: ../win32/gui/CheatDlg.c:598 #: ../win32/gui/CheatDlg.c:683 -#: ../gui/Cheat.c:644 -#: ../data/pcsx.glade2:2644 +#: ../gui/Cheat.c:648 +#: ../data/pcsx.glade2:2645 msgid "Value:" msgstr "值:" @@ -272,33 +272,33 @@ msgid "Freeze %.8X" msgstr "固定 %.8X" #: ../win32/gui/CheatDlg.c:596 -#: ../data/pcsx.glade2:2836 +#: ../data/pcsx.glade2:2837 msgid "Modify" msgstr "修改" #: ../win32/gui/CheatDlg.c:679 -#: ../gui/Cheat.c:1126 -#: ../data/pcsx.glade2:2572 +#: ../gui/Cheat.c:1130 +#: ../data/pcsx.glade2:2573 msgid "Cheat Search" msgstr "查找作弊码" #: ../win32/gui/CheatDlg.c:681 -#: ../data/pcsx.glade2:2622 +#: ../data/pcsx.glade2:2623 msgid "Search For:" msgstr "查找:" #: ../win32/gui/CheatDlg.c:682 -#: ../data/pcsx.glade2:2632 +#: ../data/pcsx.glade2:2633 msgid "Data Type:" msgstr "数据类型:" #: ../win32/gui/CheatDlg.c:684 -#: ../data/pcsx.glade2:2656 +#: ../data/pcsx.glade2:2657 msgid "Data Base:" msgstr "数据基:" #: ../win32/gui/CheatDlg.c:685 -#: ../data/pcsx.glade2:2716 +#: ../data/pcsx.glade2:2717 msgid "To:" msgstr "到:" @@ -347,7 +347,7 @@ msgid "Hexadecimal" msgstr "十六进制" #: ../win32/gui/ConfigurePlugins.c:206 -#: ../gui/Gtk2Gui.c:2228 +#: ../gui/Gtk2Gui.c:1665 msgid "Internal HLE Bios" msgstr "内部 HLE-Bios" @@ -356,9 +356,9 @@ msgid "Configuration not OK!" msgstr "配置不正确!" #: ../win32/gui/ConfigurePlugins.c:292 -#: ../gui/Cheat.c:155 -#: ../gui/Cheat.c:250 -#: ../gui/LnxMain.c:405 +#: ../gui/Cheat.c:156 +#: ../gui/Cheat.c:252 +#: ../gui/LnxMain.c:407 msgid "Error" msgstr "错误" @@ -688,15 +688,15 @@ msgstr "*PCSX*: Error Saving State %s" #: ../win32/gui/WndMain.c:426 #: ../win32/gui/WndMain.c:475 -#: ../gui/Gtk2Gui.c:575 -#: ../gui/Gtk2Gui.c:700 +#: ../gui/Gtk2Gui.c:573 +#: ../gui/Gtk2Gui.c:698 msgid "The CD does not appear to be a valid Playstation CD" msgstr "此光盘不是一张合法的 PlayStation 光盘。" #: ../win32/gui/WndMain.c:432 #: ../win32/gui/WndMain.c:481 -#: ../gui/Gtk2Gui.c:583 -#: ../gui/Gtk2Gui.c:708 +#: ../gui/Gtk2Gui.c:581 +#: ../gui/Gtk2Gui.c:706 msgid "Could not load CD-ROM!" msgstr "无法加载光盘!" @@ -705,12 +705,12 @@ msgid "Running BIOS is not supported with Internal HLE Bios." msgstr "内部 HLE BIOS 不支持直接运行。" #: ../win32/gui/WndMain.c:661 -#: ../gui/Gtk2Gui.c:1068 +#: ../gui/MemcardDlg.c:59 msgid "Title" msgstr "标题" #: ../win32/gui/WndMain.c:667 -#: ../gui/Gtk2Gui.c:1074 +#: ../gui/MemcardDlg.c:65 msgid "Status" msgstr "状态" @@ -731,19 +731,23 @@ msgid "terminiting link block" msgstr "terminiting link block" #: ../win32/gui/WndMain.c:864 -#: ../gui/Gtk2Gui.c:1148 +#: ../gui/MemcardDlg.c:173 +#: ../gui/MemcardDlg.c:243 msgid "Deleted" msgstr "已删除" #: ../win32/gui/WndMain.c:865 #: ../win32/gui/WndMain.c:868 -#: ../gui/Gtk2Gui.c:1150 -#: ../gui/Gtk2Gui.c:1154 +#: ../gui/MemcardDlg.c:175 +#: ../gui/MemcardDlg.c:179 +#: ../gui/MemcardDlg.c:245 +#: ../gui/MemcardDlg.c:249 msgid "Free" msgstr "空闲" #: ../win32/gui/WndMain.c:867 -#: ../gui/Gtk2Gui.c:1152 +#: ../gui/MemcardDlg.c:177 +#: ../gui/MemcardDlg.c:247 msgid "Used" msgstr "已使用" @@ -898,9 +902,9 @@ msgstr "DataDeck 记忆卡 (*.ddl)" #: ../win32/gui/WndMain.c:1350 #: ../win32/gui/WndMain.c:1431 -#: ../gui/Cheat.c:319 -#: ../gui/Gtk2Gui.c:512 -#: ../gui/Gtk2Gui.c:651 +#: ../gui/Cheat.c:322 +#: ../gui/Gtk2Gui.c:510 +#: ../gui/Gtk2Gui.c:649 msgid "All Files" msgstr "所有文件" @@ -1058,200 +1062,168 @@ msgstr "PCSX 消息" msgid "Error Loading Symbol" msgstr "无法加载符号" -#: ../gui/Cheat.c:117 -#: ../gui/Cheat.c:201 +#: ../gui/Cheat.c:118 +#: ../gui/Cheat.c:203 msgid "Cheat Description:" msgstr "作弊码描述:" -#: ../gui/Cheat.c:304 +#: ../gui/Cheat.c:307 msgid "Open Cheat File" msgstr "打开作弊码文件" -#: ../gui/Cheat.c:314 -#: ../gui/Cheat.c:354 +#: ../gui/Cheat.c:317 +#: ../gui/Cheat.c:357 msgid "PCSX Cheat Code Files (*.cht)" msgstr "PCSX 作弊码文件 (*.cht)" -#: ../gui/Cheat.c:344 +#: ../gui/Cheat.c:347 msgid "Save Cheat File" msgstr "保存作弊码文件" -#: ../gui/Cheat.c:359 +#: ../gui/Cheat.c:362 msgid "All Files (*.*)" msgstr "所有文件 (*.*)" -#: ../gui/Cheat.c:392 -#: ../gui/Cheat.c:1121 -#: ../gui/Gtk2Gui.c:400 -#: ../gui/Gtk2Gui.c:1020 +#: ../gui/Cheat.c:395 +#: ../gui/Cheat.c:1125 +#: ../gui/Gtk2Gui.c:398 +#: ../gui/Gtk2Gui.c:1018 msgid "Error: Glade interface could not be loaded!" msgstr "错误:无法加载 Glade 界面!" -#: ../gui/Cheat.c:397 +#: ../gui/Cheat.c:400 msgid "Cheat Codes" msgstr "作弊码" -#: ../gui/Cheat.c:403 +#: ../gui/Cheat.c:406 msgid "Enable" msgstr "启用" -#: ../gui/Cheat.c:627 +#: ../gui/Cheat.c:631 msgid "Freeze value" msgstr "固定数值" -#: ../gui/Cheat.c:726 +#: ../gui/Cheat.c:730 msgid "Modify value" msgstr "修改数值" -#: ../gui/Cheat.c:734 +#: ../gui/Cheat.c:738 msgid "New value:" msgstr "新值:" -#: ../gui/Cheat.c:1131 +#: ../gui/Cheat.c:1135 msgid "Search Results" msgstr "查找结果" -#: ../gui/Gtk2Gui.c:408 +#: ../gui/Gtk2Gui.c:406 #: ../data/pcsx.glade2:605 msgid "Configure PCSX" msgstr "配置 PCSX" -#: ../gui/Gtk2Gui.c:494 +#: ../gui/Gtk2Gui.c:492 msgid "Select PSX EXE File" msgstr "选择 PSX EXE 文件" -#: ../gui/Gtk2Gui.c:508 +#: ../gui/Gtk2Gui.c:506 msgid "PlayStation Executable Files" msgstr "PlayStation 可执行文件" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "Not a valid PSX file" msgstr "不是一个合法的 PSX 文件" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "The file does not appear to be a valid Playstation executable" msgstr "此文件不是一个合法的 PlayStation 可执行文件" -#: ../gui/Gtk2Gui.c:575 -#: ../gui/Gtk2Gui.c:700 +#: ../gui/Gtk2Gui.c:573 +#: ../gui/Gtk2Gui.c:698 msgid "CD ROM failed" msgstr "CD-ROM 失败" -#: ../gui/Gtk2Gui.c:583 +#: ../gui/Gtk2Gui.c:581 msgid "The CD ROM could not be loaded" msgstr "无法加载 CD-ROM" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Could not run BIOS" msgstr "无法运行 BIOS" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Running BIOS is not supported with Internal HLE BIOS." msgstr "内部 HLE BIOS 不支持直接运行。" -#: ../gui/Gtk2Gui.c:626 +#: ../gui/Gtk2Gui.c:624 msgid "Open PSX Disc Image File" msgstr "打开 PSX 光盘镜像文件" -#: ../gui/Gtk2Gui.c:646 +#: ../gui/Gtk2Gui.c:644 msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)" msgstr "PS 镜像文件 (*.bin, *.img, *.mdf, *.iso)" -#: ../gui/Gtk2Gui.c:880 +#: ../gui/Gtk2Gui.c:878 #, c-format msgid "Loaded state %s." msgstr "已读取存档 %s。" -#: ../gui/Gtk2Gui.c:884 +#: ../gui/Gtk2Gui.c:882 #, c-format msgid "Error loading state %s!" msgstr "读取存档 %s 时出错。" -#: ../gui/Gtk2Gui.c:895 +#: ../gui/Gtk2Gui.c:893 #, c-format msgid "Saved state %s." msgstr "已保存存档 %s" -#: ../gui/Gtk2Gui.c:897 +#: ../gui/Gtk2Gui.c:895 #, c-format msgid "Error saving state %s!" msgstr "保存存档 %s 时出错。" -#: ../gui/Gtk2Gui.c:931 -#: ../gui/Gtk2Gui.c:958 +#: ../gui/Gtk2Gui.c:929 +#: ../gui/Gtk2Gui.c:956 msgid "Select State File" msgstr "选择存档文件" -#: ../gui/Gtk2Gui.c:1062 -msgid "Icon" -msgstr "图标" - -#: ../gui/Gtk2Gui.c:1080 -msgid "ID" -msgstr "ID" - -#: ../gui/Gtk2Gui.c:1086 -msgid "Name" -msgstr "名称" - -#: ../gui/Gtk2Gui.c:1246 -msgid "Format this Memory Card?" -msgstr "格式化此记忆卡?" - -#: ../gui/Gtk2Gui.c:1248 -msgid "If you format the memory card, the card will be empty, and any existing data overwritten." -msgstr "如果您选择格式化记忆卡,记忆卡将被清空,并且任何现有数据都将被覆盖。" - -#: ../gui/Gtk2Gui.c:1251 -msgid "Format card" -msgstr "格式化记忆卡" - -#: ../gui/Gtk2Gui.c:1366 -msgid "No space available in the target memory card!" -msgstr "目标记忆卡没有空余位置!" - -#: ../gui/Gtk2Gui.c:1508 -#: ../gui/Gtk2Gui.c:1529 -#: ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 -#: ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 +#: ../gui/Gtk2Gui.c:1076 +#: ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 +#: ../gui/Gtk2Gui.c:1317 msgid "No configuration required" msgstr "不需要配置" -#: ../gui/Gtk2Gui.c:1508 -#: ../gui/Gtk2Gui.c:1529 -#: ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 -#: ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 +#: ../gui/Gtk2Gui.c:1076 +#: ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 +#: ../gui/Gtk2Gui.c:1317 msgid "This plugin doesn't need to be configured." msgstr "此插件需要被配置。" -#: ../gui/Gtk2Gui.c:1608 -msgid "Memory Card Manager" -msgstr "记忆卡管理器" - -#: ../gui/Gtk2Gui.c:2134 +#: ../gui/Gtk2Gui.c:1571 #, c-format msgid "Could not open BIOS directory: '%s'\n" msgstr "无法打开 BIOS 目录: \"%s\"\n" -#: ../gui/Gtk2Gui.c:2164 -#: ../gui/Gtk2Gui.c:2257 -#: ../gui/LnxMain.c:170 +#: ../gui/Gtk2Gui.c:1601 +#: ../gui/Gtk2Gui.c:1694 +#: ../gui/LnxMain.c:172 #, c-format msgid "Could not open directory: '%s'\n" msgstr "无法打开目录: \"%s\"\n" -#: ../gui/Gtk2Gui.c:2318 +#: ../gui/Gtk2Gui.c:1755 msgid "Notice" msgstr "警告" -#: ../gui/LnxMain.c:65 +#: ../gui/LnxMain.c:67 #, c-format msgid "Creating memory card: %s\n" msgstr "建立记忆卡: %s\n" -#: ../gui/LnxMain.c:312 +#: ../gui/LnxMain.c:314 msgid "" " pcsx [options] [file]\n" "\toptions:\n" @@ -1275,25 +1247,61 @@ msgstr "" "\t-h -help\t显示此信息\n" "\t文件\t\t加载文件\n" -#: ../gui/LnxMain.c:350 +#: ../gui/LnxMain.c:352 #, c-format msgid "PCSX cannot be configured without using the GUI -- you should restart without -nogui.\n" msgstr "PCSX 不能在字符界面下配置 -- 请不使用 -nogui 参数重新启动程序\n" -#: ../gui/LnxMain.c:405 +#: ../gui/LnxMain.c:407 msgid "Failed loading plugins!" msgstr "加载插件失败!" -#: ../gui/LnxMain.c:422 +#: ../gui/LnxMain.c:424 #, c-format msgid "Could not load CD-ROM!\n" msgstr "无法加载光盘。\n" -#: ../gui/LnxMain.c:461 +#: ../gui/LnxMain.c:463 #, c-format msgid "PSX emulator couldn't be initialized.\n" msgstr "无法初始化 PSX 模拟器。\n" +#: ../gui/MemcardDlg.c:53 +msgid "Icon" +msgstr "图标" + +#: ../gui/MemcardDlg.c:71 +msgid "ID" +msgstr "ID" + +#: ../gui/MemcardDlg.c:77 +msgid "Name" +msgstr "名称" + +#: ../gui/MemcardDlg.c:333 +msgid "Format this Memory Card?" +msgstr "格式化此记忆卡?" + +#: ../gui/MemcardDlg.c:335 +msgid "If you format the memory card, the card will be empty, and any existing data overwritten." +msgstr "如果您选择格式化记忆卡,记忆卡将被清空,并且任何现有数据都将被覆盖。" + +#: ../gui/MemcardDlg.c:338 +msgid "Format card" +msgstr "格式化记忆卡" + +#: ../gui/MemcardDlg.c:441 +msgid "No free space on memory card" +msgstr "记忆卡无空余位置" + +#: ../gui/MemcardDlg.c:442 +msgid "There are no free slots available on the target memory card. Please delete a slot first." +msgstr "目标记忆卡上无空余位置。请先删除一个存档。" + +#: ../gui/MemcardDlg.c:597 +msgid "Memory Card Manager" +msgstr "记忆卡管理器" + #: ../gui/Plugin.c:204 #: ../data/pcsx.glade2:1336 #, c-format @@ -1989,35 +1997,35 @@ msgid "Configure Memory Cards" msgstr "配置记忆卡" #: ../data/pcsx.glade2:1773 -#: ../data/pcsx.glade2:2171 +#: ../data/pcsx.glade2:2122 +msgid "New" +msgstr "新建" + +#: ../data/pcsx.glade2:1823 +#: ../data/pcsx.glade2:2172 msgid "Format" msgstr "格式化" -#: ../data/pcsx.glade2:1823 -#: ../data/pcsx.glade2:2221 -msgid "Reload" -msgstr "重新加载" +#: ../data/pcsx.glade2:1873 +#: ../data/pcsx.glade2:2222 +msgid "Un/Delete" +msgstr "删除/恢复" -#: ../data/pcsx.glade2:1867 +#: ../data/pcsx.glade2:1917 msgid "<b>Memory Card 1</b>" msgstr "<b>记忆卡 1</b>" -#: ../data/pcsx.glade2:1927 -#: ../data/pcsx.glade2:1977 -#: ../data/pcsx.glade2:2872 +#: ../data/pcsx.glade2:1978 +#: ../data/pcsx.glade2:2028 +#: ../data/pcsx.glade2:2873 msgid "Copy" msgstr "复制" -#: ../data/pcsx.glade2:2027 -#: ../data/pcsx.glade2:2077 -msgid "Un/Delete" -msgstr "删除/恢复" - -#: ../data/pcsx.glade2:2265 +#: ../data/pcsx.glade2:2266 msgid "<b>Memory Card 2</b>" msgstr "<b>记忆卡 2</b>" -#: ../data/pcsx.glade2:2343 +#: ../data/pcsx.glade2:2344 msgid "" "(C) 1999-2003 PCSX Team\n" "(C) 2005-2006 Ryan Schultz\n" @@ -2029,11 +2037,11 @@ msgstr "" "(C) 2005-2006 Andrew Burton\n" "(C) 2008-2009 Wei Mingzhi" -#: ../data/pcsx.glade2:2347 +#: ../data/pcsx.glade2:2348 msgid "A PlayStation emulator." msgstr "一个 PlayStation 模拟器。" -#: ../data/pcsx.glade2:2350 +#: ../data/pcsx.glade2:2351 msgid "" "This program is free software; you can redistribute it\n" "and/or modify it under the terms of the GNU General\n" @@ -2067,15 +2075,15 @@ msgstr "" "Public License along with this program; if not, write to\n" "the Free Software Foundation, Inc." -#: ../data/pcsx.glade2:2379 +#: ../data/pcsx.glade2:2380 msgid "translator-credits" msgstr "Wei Mingzhi <whistler@openoffice.org>" -#: ../data/pcsx.glade2:2441 +#: ../data/pcsx.glade2:2442 msgid "<b>Cheat Codes</b>" msgstr "<b>作弊码</b>" -#: ../data/pcsx.glade2:2607 +#: ../data/pcsx.glade2:2608 msgid "" "8-bit\n" "16-bit\n" @@ -2085,7 +2093,7 @@ msgstr "" "16 位\n" "32 位" -#: ../data/pcsx.glade2:2670 +#: ../data/pcsx.glade2:2671 msgid "" "Equal Value\n" "Not Equal Value\n" @@ -2107,7 +2115,7 @@ msgstr "" "改变\n" "无改变" -#: ../data/pcsx.glade2:2702 +#: ../data/pcsx.glade2:2703 msgid "" "Decimal\n" "Hexadecimal" @@ -2115,19 +2123,19 @@ msgstr "" "十进制\n" "十六进制" -#: ../data/pcsx.glade2:2905 +#: ../data/pcsx.glade2:2906 msgid "label_resultsfound" msgstr "label_resultsfound" -#: ../data/pcsx.glade2:2940 +#: ../data/pcsx.glade2:2941 msgid "Search" msgstr "查找" -#: ../data/pcsx.glade2:2976 +#: ../data/pcsx.glade2:2977 msgid "Restart" msgstr "复位" -#: ../data/pcsx.glade2:3005 +#: ../data/pcsx.glade2:3006 msgid "<b>Cheat Search</b>" msgstr "<b>作弊码查找</b>" @@ -2245,7 +2253,7 @@ msgstr "单声道" msgid "Play only one channel for a performance boost." msgstr "仅播放一个声道以提升性能。" -#: ../plugins/dfcdrom/cdr-linux.c:48 +#: ../plugins/dfcdrom/cdr-linux.c:60 msgid "CD-ROM Drive Reader" msgstr "CD-ROM 设备读取插件" @@ -2253,7 +2261,7 @@ msgstr "CD-ROM 设备读取插件" msgid "CDR NULL Plugin" msgstr "CDR 空插件" -#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:166 +#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:175 #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2:8 msgid "CDR configuration" msgstr "CDR 配置" diff --git a/po/zh_TW.po b/po/zh_TW.po index 79ea8246..1e7675c7 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pcsxr 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-26 23:05+0800\n" -"PO-Revision-Date: 2009-11-26 23:11+0700\n" +"POT-Creation-Date: 2009-11-28 18:23+0800\n" +"PO-Revision-Date: 2009-11-28 18:26+0700\n" "Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n" "Language-Team: Traditional Chinese <whistler@openoffice.org>\n" "MIME-Version: 1.0\n" @@ -88,20 +88,20 @@ msgid "No" msgstr "否" #: ../win32/gui/CheatDlg.c:67 -#: ../gui/Cheat.c:193 +#: ../gui/Cheat.c:195 msgid "Edit Cheat" msgstr "編輯金手指" #: ../win32/gui/CheatDlg.c:68 #: ../win32/gui/CheatDlg.c:118 -#: ../gui/Cheat.c:633 +#: ../gui/Cheat.c:637 msgid "Description:" msgstr "描述:" #: ../win32/gui/CheatDlg.c:69 #: ../win32/gui/CheatDlg.c:119 -#: ../gui/Cheat.c:125 -#: ../gui/Cheat.c:210 +#: ../gui/Cheat.c:126 +#: ../gui/Cheat.c:212 msgid "Cheat Code:" msgstr "金手指碼:" @@ -117,18 +117,18 @@ msgstr "取消" #: ../win32/gui/CheatDlg.c:92 #: ../win32/gui/CheatDlg.c:133 -#: ../gui/Cheat.c:155 -#: ../gui/Cheat.c:250 +#: ../gui/Cheat.c:156 +#: ../gui/Cheat.c:252 msgid "Invalid cheat code!" msgstr "非法金手指碼!" #: ../win32/gui/CheatDlg.c:117 -#: ../gui/Cheat.c:109 +#: ../gui/Cheat.c:110 msgid "Add New Cheat" msgstr "添加新金手指" #: ../win32/gui/CheatDlg.c:167 -#: ../data/pcsx.glade2:2401 +#: ../data/pcsx.glade2:2402 msgid "Edit Cheat Codes" msgstr "編輯金手指" @@ -161,7 +161,7 @@ msgid "&Close" msgstr "關閉(&C)" #: ../win32/gui/CheatDlg.c:186 -#: ../gui/Cheat.c:411 +#: ../gui/Cheat.c:414 msgid "Description" msgstr "描述" @@ -211,7 +211,7 @@ msgid "No Change" msgstr "無改變" #: ../win32/gui/CheatDlg.c:449 -#: ../gui/Cheat.c:583 +#: ../gui/Cheat.c:586 msgid "Enter the values and start your search." msgstr "輸入數值並開始搜索。" @@ -220,36 +220,36 @@ msgid "No addresses found." msgstr "未找到位址。" #: ../win32/gui/CheatDlg.c:458 -#: ../gui/Cheat.c:541 +#: ../gui/Cheat.c:544 msgid "Too many addresses found." msgstr "找到過多位址。" #: ../win32/gui/CheatDlg.c:467 -#: ../gui/Cheat.c:550 +#: ../gui/Cheat.c:553 #, c-format msgid "%.8X Current: %u (%.2X), Previous: %u (%.2X)" msgstr "%.8X 當前值: %u (%.2X), 前次值: %u (%.2X)" #: ../win32/gui/CheatDlg.c:472 -#: ../gui/Cheat.c:555 +#: ../gui/Cheat.c:558 #, c-format msgid "%.8X Current: %u (%.4X), Previous: %u (%.4X)" msgstr "%.8X 當前值: %u (%.4X), 前次值: %u (%.4X)" #: ../win32/gui/CheatDlg.c:477 -#: ../gui/Cheat.c:560 +#: ../gui/Cheat.c:563 #, c-format msgid "%.8X Current: %u (%.8X), Previous: %u (%.8X)" msgstr "%.8X 當前值: %u (%.8X), 前次值: %u (%.8X)" #: ../win32/gui/CheatDlg.c:493 -#: ../gui/Cheat.c:575 +#: ../gui/Cheat.c:578 #, c-format msgid "Founded Addresses: %d" msgstr "找到位址: %d" #: ../win32/gui/CheatDlg.c:505 -#: ../data/pcsx.glade2:2800 +#: ../data/pcsx.glade2:2801 msgid "Freeze" msgstr "固定" @@ -261,8 +261,8 @@ msgstr "位址:" #: ../win32/gui/CheatDlg.c:507 #: ../win32/gui/CheatDlg.c:598 #: ../win32/gui/CheatDlg.c:683 -#: ../gui/Cheat.c:644 -#: ../data/pcsx.glade2:2644 +#: ../gui/Cheat.c:648 +#: ../data/pcsx.glade2:2645 msgid "Value:" msgstr "值:" @@ -272,33 +272,33 @@ msgid "Freeze %.8X" msgstr "固定 %.8X" #: ../win32/gui/CheatDlg.c:596 -#: ../data/pcsx.glade2:2836 +#: ../data/pcsx.glade2:2837 msgid "Modify" msgstr "更改" #: ../win32/gui/CheatDlg.c:679 -#: ../gui/Cheat.c:1126 -#: ../data/pcsx.glade2:2572 +#: ../gui/Cheat.c:1130 +#: ../data/pcsx.glade2:2573 msgid "Cheat Search" msgstr "搜尋金手指碼" #: ../win32/gui/CheatDlg.c:681 -#: ../data/pcsx.glade2:2622 +#: ../data/pcsx.glade2:2623 msgid "Search For:" msgstr "搜尋:" #: ../win32/gui/CheatDlg.c:682 -#: ../data/pcsx.glade2:2632 +#: ../data/pcsx.glade2:2633 msgid "Data Type:" msgstr "數值類型:" #: ../win32/gui/CheatDlg.c:684 -#: ../data/pcsx.glade2:2656 +#: ../data/pcsx.glade2:2657 msgid "Data Base:" msgstr "數值基:" #: ../win32/gui/CheatDlg.c:685 -#: ../data/pcsx.glade2:2716 +#: ../data/pcsx.glade2:2717 msgid "To:" msgstr "至:" @@ -347,7 +347,7 @@ msgid "Hexadecimal" msgstr "十六進制" #: ../win32/gui/ConfigurePlugins.c:206 -#: ../gui/Gtk2Gui.c:2228 +#: ../gui/Gtk2Gui.c:1665 msgid "Internal HLE Bios" msgstr "內部 HLE-Bios" @@ -356,9 +356,9 @@ msgid "Configuration not OK!" msgstr "配置不正確!" #: ../win32/gui/ConfigurePlugins.c:292 -#: ../gui/Cheat.c:155 -#: ../gui/Cheat.c:250 -#: ../gui/LnxMain.c:405 +#: ../gui/Cheat.c:156 +#: ../gui/Cheat.c:252 +#: ../gui/LnxMain.c:407 msgid "Error" msgstr "錯誤" @@ -688,15 +688,15 @@ msgstr "*PCSX*: Error Saving State %s" #: ../win32/gui/WndMain.c:426 #: ../win32/gui/WndMain.c:475 -#: ../gui/Gtk2Gui.c:575 -#: ../gui/Gtk2Gui.c:700 +#: ../gui/Gtk2Gui.c:573 +#: ../gui/Gtk2Gui.c:698 msgid "The CD does not appear to be a valid Playstation CD" msgstr "此光碟不是一張合法的 PlayStation 光碟。" #: ../win32/gui/WndMain.c:432 #: ../win32/gui/WndMain.c:481 -#: ../gui/Gtk2Gui.c:583 -#: ../gui/Gtk2Gui.c:708 +#: ../gui/Gtk2Gui.c:581 +#: ../gui/Gtk2Gui.c:706 msgid "Could not load CD-ROM!" msgstr "無法加載光碟!" @@ -705,12 +705,12 @@ msgid "Running BIOS is not supported with Internal HLE Bios." msgstr "內部 HLE BIOS 不支援直接執行。" #: ../win32/gui/WndMain.c:661 -#: ../gui/Gtk2Gui.c:1068 +#: ../gui/MemcardDlg.c:59 msgid "Title" msgstr "標題" #: ../win32/gui/WndMain.c:667 -#: ../gui/Gtk2Gui.c:1074 +#: ../gui/MemcardDlg.c:65 msgid "Status" msgstr "狀態" @@ -731,19 +731,23 @@ msgid "terminiting link block" msgstr "terminiting link block" #: ../win32/gui/WndMain.c:864 -#: ../gui/Gtk2Gui.c:1148 +#: ../gui/MemcardDlg.c:173 +#: ../gui/MemcardDlg.c:243 msgid "Deleted" msgstr "已刪除" #: ../win32/gui/WndMain.c:865 #: ../win32/gui/WndMain.c:868 -#: ../gui/Gtk2Gui.c:1150 -#: ../gui/Gtk2Gui.c:1154 +#: ../gui/MemcardDlg.c:175 +#: ../gui/MemcardDlg.c:179 +#: ../gui/MemcardDlg.c:245 +#: ../gui/MemcardDlg.c:249 msgid "Free" msgstr "空閑" #: ../win32/gui/WndMain.c:867 -#: ../gui/Gtk2Gui.c:1152 +#: ../gui/MemcardDlg.c:177 +#: ../gui/MemcardDlg.c:247 msgid "Used" msgstr "已使用" @@ -898,9 +902,9 @@ msgstr "DataDeck 記憶卡 (*.ddl)" #: ../win32/gui/WndMain.c:1350 #: ../win32/gui/WndMain.c:1431 -#: ../gui/Cheat.c:319 -#: ../gui/Gtk2Gui.c:512 -#: ../gui/Gtk2Gui.c:651 +#: ../gui/Cheat.c:322 +#: ../gui/Gtk2Gui.c:510 +#: ../gui/Gtk2Gui.c:649 msgid "All Files" msgstr "所有檔案" @@ -1058,200 +1062,168 @@ msgstr "Pcsx 消息" msgid "Error Loading Symbol" msgstr "無法加載符號" -#: ../gui/Cheat.c:117 -#: ../gui/Cheat.c:201 +#: ../gui/Cheat.c:118 +#: ../gui/Cheat.c:203 msgid "Cheat Description:" msgstr "金手指描述:" -#: ../gui/Cheat.c:304 +#: ../gui/Cheat.c:307 msgid "Open Cheat File" msgstr "打開金手指檔" -#: ../gui/Cheat.c:314 -#: ../gui/Cheat.c:354 +#: ../gui/Cheat.c:317 +#: ../gui/Cheat.c:357 msgid "PCSX Cheat Code Files (*.cht)" msgstr "PCSX 金手指檔 (*.cht)" -#: ../gui/Cheat.c:344 +#: ../gui/Cheat.c:347 msgid "Save Cheat File" msgstr "儲存金手指檔" -#: ../gui/Cheat.c:359 +#: ../gui/Cheat.c:362 msgid "All Files (*.*)" msgstr "所有檔案 (*.*)" -#: ../gui/Cheat.c:392 -#: ../gui/Cheat.c:1121 -#: ../gui/Gtk2Gui.c:400 -#: ../gui/Gtk2Gui.c:1020 +#: ../gui/Cheat.c:395 +#: ../gui/Cheat.c:1125 +#: ../gui/Gtk2Gui.c:398 +#: ../gui/Gtk2Gui.c:1018 msgid "Error: Glade interface could not be loaded!" msgstr "錯誤:無法加載 Glade 界面!" -#: ../gui/Cheat.c:397 +#: ../gui/Cheat.c:400 msgid "Cheat Codes" msgstr "金手指碼" -#: ../gui/Cheat.c:403 +#: ../gui/Cheat.c:406 msgid "Enable" msgstr "開啟" -#: ../gui/Cheat.c:627 +#: ../gui/Cheat.c:631 msgid "Freeze value" msgstr "固定數值" -#: ../gui/Cheat.c:726 +#: ../gui/Cheat.c:730 msgid "Modify value" msgstr "更改數值" -#: ../gui/Cheat.c:734 +#: ../gui/Cheat.c:738 msgid "New value:" msgstr "新值:" -#: ../gui/Cheat.c:1131 +#: ../gui/Cheat.c:1135 msgid "Search Results" msgstr "搜尋結果" -#: ../gui/Gtk2Gui.c:408 +#: ../gui/Gtk2Gui.c:406 #: ../data/pcsx.glade2:605 msgid "Configure PCSX" msgstr "配置 PCSX" -#: ../gui/Gtk2Gui.c:494 +#: ../gui/Gtk2Gui.c:492 msgid "Select PSX EXE File" msgstr "選擇 PS EXE 檔案" -#: ../gui/Gtk2Gui.c:508 +#: ../gui/Gtk2Gui.c:506 msgid "PlayStation Executable Files" msgstr "PlayStation 執行檔" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "Not a valid PSX file" msgstr "不是一個合法的 PSX 檔" -#: ../gui/Gtk2Gui.c:544 +#: ../gui/Gtk2Gui.c:542 msgid "The file does not appear to be a valid Playstation executable" msgstr "此文件不是一個合法的 PlayStation 執行檔" -#: ../gui/Gtk2Gui.c:575 -#: ../gui/Gtk2Gui.c:700 +#: ../gui/Gtk2Gui.c:573 +#: ../gui/Gtk2Gui.c:698 msgid "CD ROM failed" msgstr "CD-ROM 失敗" -#: ../gui/Gtk2Gui.c:583 +#: ../gui/Gtk2Gui.c:581 msgid "The CD ROM could not be loaded" msgstr "無法加載 CD-ROM" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Could not run BIOS" msgstr "無法執行 BIOS" -#: ../gui/Gtk2Gui.c:597 +#: ../gui/Gtk2Gui.c:595 msgid "Running BIOS is not supported with Internal HLE BIOS." msgstr "內部 HLE BIOS 不支援直接執行。" -#: ../gui/Gtk2Gui.c:626 +#: ../gui/Gtk2Gui.c:624 msgid "Open PSX Disc Image File" msgstr "打開 PSX 光碟映像檔" -#: ../gui/Gtk2Gui.c:646 +#: ../gui/Gtk2Gui.c:644 msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)" msgstr "PSX 鏡像檔 (*.bin, *.img, *.mdf, *.iso)" -#: ../gui/Gtk2Gui.c:880 +#: ../gui/Gtk2Gui.c:878 #, c-format msgid "Loaded state %s." msgstr "已讀取記錄 %s。" -#: ../gui/Gtk2Gui.c:884 +#: ../gui/Gtk2Gui.c:882 #, c-format msgid "Error loading state %s!" msgstr "讀取記錄 %s 時出錯。" -#: ../gui/Gtk2Gui.c:895 +#: ../gui/Gtk2Gui.c:893 #, c-format msgid "Saved state %s." msgstr "已存儲記錄 %s" -#: ../gui/Gtk2Gui.c:897 +#: ../gui/Gtk2Gui.c:895 #, c-format msgid "Error saving state %s!" msgstr "存儲記錄 %s 時出錯。" -#: ../gui/Gtk2Gui.c:931 -#: ../gui/Gtk2Gui.c:958 +#: ../gui/Gtk2Gui.c:929 +#: ../gui/Gtk2Gui.c:956 msgid "Select State File" msgstr "選擇記錄檔案" -#: ../gui/Gtk2Gui.c:1062 -msgid "Icon" -msgstr "圖符" - -#: ../gui/Gtk2Gui.c:1080 -msgid "ID" -msgstr "ID" - -#: ../gui/Gtk2Gui.c:1086 -msgid "Name" -msgstr "名稱" - -#: ../gui/Gtk2Gui.c:1246 -msgid "Format this Memory Card?" -msgstr "格式化此記憶卡?" - -#: ../gui/Gtk2Gui.c:1248 -msgid "If you format the memory card, the card will be empty, and any existing data overwritten." -msgstr "如果您選擇格式化記憶卡,記憶卡將被清空,並且任何現有資料都將被覆蓋。" - -#: ../gui/Gtk2Gui.c:1251 -msgid "Format card" -msgstr "格式化記憶卡" - -#: ../gui/Gtk2Gui.c:1366 -msgid "No space available in the target memory card!" -msgstr "目標記憶卡沒有空餘位置!" - -#: ../gui/Gtk2Gui.c:1508 -#: ../gui/Gtk2Gui.c:1529 -#: ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 -#: ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 +#: ../gui/Gtk2Gui.c:1076 +#: ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 +#: ../gui/Gtk2Gui.c:1317 msgid "No configuration required" msgstr "不需要配置" -#: ../gui/Gtk2Gui.c:1508 -#: ../gui/Gtk2Gui.c:1529 -#: ../gui/Gtk2Gui.c:1550 -#: ../gui/Gtk2Gui.c:1571 -#: ../gui/Gtk2Gui.c:1880 +#: ../gui/Gtk2Gui.c:1055 +#: ../gui/Gtk2Gui.c:1076 +#: ../gui/Gtk2Gui.c:1097 +#: ../gui/Gtk2Gui.c:1118 +#: ../gui/Gtk2Gui.c:1317 msgid "This plugin doesn't need to be configured." msgstr "此外掛不需要被配置。" -#: ../gui/Gtk2Gui.c:1608 -msgid "Memory Card Manager" -msgstr "記憶卡管理器" - -#: ../gui/Gtk2Gui.c:2134 +#: ../gui/Gtk2Gui.c:1571 #, c-format msgid "Could not open BIOS directory: '%s'\n" msgstr "無法開啟 BIOS 目錄: \"%s\"\n" -#: ../gui/Gtk2Gui.c:2164 -#: ../gui/Gtk2Gui.c:2257 -#: ../gui/LnxMain.c:170 +#: ../gui/Gtk2Gui.c:1601 +#: ../gui/Gtk2Gui.c:1694 +#: ../gui/LnxMain.c:172 #, c-format msgid "Could not open directory: '%s'\n" msgstr "無法開啟目錄: \"%s\"\n" -#: ../gui/Gtk2Gui.c:2318 +#: ../gui/Gtk2Gui.c:1755 msgid "Notice" msgstr "警告" -#: ../gui/LnxMain.c:65 +#: ../gui/LnxMain.c:67 #, c-format msgid "Creating memory card: %s\n" msgstr "創建記憶卡: %s\n" -#: ../gui/LnxMain.c:312 +#: ../gui/LnxMain.c:314 msgid "" " pcsx [options] [file]\n" "\toptions:\n" @@ -1275,25 +1247,61 @@ msgstr "" "\t-h -help\t顯示此說明\n" "\t檔案\t\t加載檔案\n" -#: ../gui/LnxMain.c:350 +#: ../gui/LnxMain.c:352 #, c-format msgid "PCSX cannot be configured without using the GUI -- you should restart without -nogui.\n" msgstr "PCSX 不能在字符界面下配置 -- 請不使用 -nogui 參數重新啟動程式\n" -#: ../gui/LnxMain.c:405 +#: ../gui/LnxMain.c:407 msgid "Failed loading plugins!" msgstr "外掛加載失敗" -#: ../gui/LnxMain.c:422 +#: ../gui/LnxMain.c:424 #, c-format msgid "Could not load CD-ROM!\n" msgstr "無法加載光碟。\n" -#: ../gui/LnxMain.c:461 +#: ../gui/LnxMain.c:463 #, c-format msgid "PSX emulator couldn't be initialized.\n" msgstr "PSX 模擬器無法初期化。\n" +#: ../gui/MemcardDlg.c:53 +msgid "Icon" +msgstr "圖符" + +#: ../gui/MemcardDlg.c:71 +msgid "ID" +msgstr "ID" + +#: ../gui/MemcardDlg.c:77 +msgid "Name" +msgstr "名稱" + +#: ../gui/MemcardDlg.c:333 +msgid "Format this Memory Card?" +msgstr "格式化此記憶卡?" + +#: ../gui/MemcardDlg.c:335 +msgid "If you format the memory card, the card will be empty, and any existing data overwritten." +msgstr "如果您選擇格式化記憶卡,記憶卡將被清空,並且任何現有資料都將被覆蓋。" + +#: ../gui/MemcardDlg.c:338 +msgid "Format card" +msgstr "格式化記憶卡" + +#: ../gui/MemcardDlg.c:441 +msgid "No free space on memory card" +msgstr "記憶卡無空餘位置" + +#: ../gui/MemcardDlg.c:442 +msgid "There are no free slots available on the target memory card. Please delete a slot first." +msgstr "目的記憶卡無空餘位置。請先刪除一個檔案。" + +#: ../gui/MemcardDlg.c:597 +msgid "Memory Card Manager" +msgstr "記憶卡管理器" + #: ../gui/Plugin.c:204 #: ../data/pcsx.glade2:1336 #, c-format @@ -1989,35 +1997,35 @@ msgid "Configure Memory Cards" msgstr "配置記憶卡" #: ../data/pcsx.glade2:1773 -#: ../data/pcsx.glade2:2171 +#: ../data/pcsx.glade2:2122 +msgid "New" +msgstr "新增" + +#: ../data/pcsx.glade2:1823 +#: ../data/pcsx.glade2:2172 msgid "Format" msgstr "格式化" -#: ../data/pcsx.glade2:1823 -#: ../data/pcsx.glade2:2221 -msgid "Reload" -msgstr "重新加載" +#: ../data/pcsx.glade2:1873 +#: ../data/pcsx.glade2:2222 +msgid "Un/Delete" +msgstr "刪除/恢複" -#: ../data/pcsx.glade2:1867 +#: ../data/pcsx.glade2:1917 msgid "<b>Memory Card 1</b>" msgstr "<b>記憶卡 1</b>" -#: ../data/pcsx.glade2:1927 -#: ../data/pcsx.glade2:1977 -#: ../data/pcsx.glade2:2872 +#: ../data/pcsx.glade2:1978 +#: ../data/pcsx.glade2:2028 +#: ../data/pcsx.glade2:2873 msgid "Copy" msgstr "複制" -#: ../data/pcsx.glade2:2027 -#: ../data/pcsx.glade2:2077 -msgid "Un/Delete" -msgstr "刪除/恢複" - -#: ../data/pcsx.glade2:2265 +#: ../data/pcsx.glade2:2266 msgid "<b>Memory Card 2</b>" msgstr "<b>記憶卡 2</b>" -#: ../data/pcsx.glade2:2343 +#: ../data/pcsx.glade2:2344 msgid "" "(C) 1999-2003 PCSX Team\n" "(C) 2005-2006 Ryan Schultz\n" @@ -2029,11 +2037,11 @@ msgstr "" "(C) 2005-2006 Andrew Burton\n" "(C) 2008-2009 Wei Mingzhi" -#: ../data/pcsx.glade2:2347 +#: ../data/pcsx.glade2:2348 msgid "A PlayStation emulator." msgstr "一個 PlayStation 模擬器。" -#: ../data/pcsx.glade2:2350 +#: ../data/pcsx.glade2:2351 msgid "" "This program is free software; you can redistribute it\n" "and/or modify it under the terms of the GNU General\n" @@ -2067,15 +2075,15 @@ msgstr "" "Public License along with this program; if not, write to\n" "the Free Software Foundation, Inc." -#: ../data/pcsx.glade2:2379 +#: ../data/pcsx.glade2:2380 msgid "translator-credits" msgstr "Wei Mingzhi <whistler@openoffice.org>" -#: ../data/pcsx.glade2:2441 +#: ../data/pcsx.glade2:2442 msgid "<b>Cheat Codes</b>" msgstr "<b>金手指碼</b>" -#: ../data/pcsx.glade2:2607 +#: ../data/pcsx.glade2:2608 msgid "" "8-bit\n" "16-bit\n" @@ -2085,7 +2093,7 @@ msgstr "" "16 位元\n" "32 位元" -#: ../data/pcsx.glade2:2670 +#: ../data/pcsx.glade2:2671 msgid "" "Equal Value\n" "Not Equal Value\n" @@ -2107,7 +2115,7 @@ msgstr "" "不同\n" "無變動" -#: ../data/pcsx.glade2:2702 +#: ../data/pcsx.glade2:2703 msgid "" "Decimal\n" "Hexadecimal" @@ -2115,19 +2123,19 @@ msgstr "" "十進制\n" "十六進制" -#: ../data/pcsx.glade2:2905 +#: ../data/pcsx.glade2:2906 msgid "label_resultsfound" msgstr "label_resultsfound" -#: ../data/pcsx.glade2:2940 +#: ../data/pcsx.glade2:2941 msgid "Search" msgstr "搜尋" -#: ../data/pcsx.glade2:2976 +#: ../data/pcsx.glade2:2977 msgid "Restart" msgstr "重新開始" -#: ../data/pcsx.glade2:3005 +#: ../data/pcsx.glade2:3006 msgid "<b>Cheat Search</b>" msgstr "<b>金手指碼搜尋</b>" @@ -2245,7 +2253,7 @@ msgstr "單聲道聲音" msgid "Play only one channel for a performance boost." msgstr "僅播放一個聲道以提高性能。" -#: ../plugins/dfcdrom/cdr-linux.c:48 +#: ../plugins/dfcdrom/cdr-linux.c:60 msgid "CD-ROM Drive Reader" msgstr "CD-ROM 裝置讀取外掛" @@ -2253,7 +2261,7 @@ msgstr "CD-ROM 裝置讀取外掛" msgid "CDR NULL Plugin" msgstr "CDR NULL 外掛" -#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:166 +#: ../plugins/dfcdrom/cdrcfg-0.1df/main.c:175 #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2:8 msgid "CDR configuration" msgstr "CDR 設定" |
