From 3ff019fde36071817b7a02e955e3fa4b5a0a9bf1 Mon Sep 17 00:00:00 2001 From: arcum42 Date: Thu, 13 Nov 2008 03:31:24 +0000 Subject: [PATCH] Bring the Linux Cpu dialog in line with the main project; Remove broken Linux vmbuild code. git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@321 a6443dda-0b58-4228-96e9-037be469359c --- pcsx2/Linux/ConfigDlg.cpp | 6 +- pcsx2/Linux/GtkGui.cpp | 22 +- pcsx2/Linux/GtkGui.h | 1 + pcsx2/Linux/Linux.h | 3 +- pcsx2/Linux/LnxMain.c | 123 +-- pcsx2/Linux/Pref.cpp | 10 + pcsx2/Linux/callbacks.h | 8 +- pcsx2/Linux/interface.c | 585 +++++++++------ pcsx2/Linux/interface.h | 2 +- pcsx2/Linux/pcsx2.glade | 1477 +++++++++++++++++++++++-------------- pcsx2/configure.ac | 21 +- 11 files changed, 1305 insertions(+), 953 deletions(-) diff --git a/pcsx2/Linux/ConfigDlg.cpp b/pcsx2/Linux/ConfigDlg.cpp index 1e53916506..216722065b 100644 --- a/pcsx2/Linux/ConfigDlg.cpp +++ b/pcsx2/Linux/ConfigDlg.cpp @@ -214,7 +214,7 @@ void OnConfConf_Ok(GtkButton *button, gpointer user_data) { if (configuringplug == FALSE) { ReleasePlugins(); LoadPlugins(); - } + } needReset = TRUE; gtk_widget_destroy(ConfDlg); @@ -467,8 +467,8 @@ void FindPlugins() { PS2EgetLibType = (_PS2EgetLibType) dlsym(Handle, "PS2EgetLibType"); PS2EgetLibName = (_PS2EgetLibName) dlsym(Handle, "PS2EgetLibName"); PS2EgetLibVersion2 = (_PS2EgetLibVersion2) dlsym(Handle, "PS2EgetLibVersion2"); - if (PS2EgetLibType == NULL || PS2EgetLibName == NULL || PS2EgetLibVersion2 == NULL) - continue; + if ((PS2EgetLibType == NULL) || (PS2EgetLibName == NULL) || (PS2EgetLibVersion2 == NULL)) + continue; type = PS2EgetLibType(); if (type & PS2E_LT_GS) { diff --git a/pcsx2/Linux/GtkGui.cpp b/pcsx2/Linux/GtkGui.cpp index 9876f0f718..fb334aafd9 100644 --- a/pcsx2/Linux/GtkGui.cpp +++ b/pcsx2/Linux/GtkGui.cpp @@ -32,17 +32,10 @@ void StartGui() { add_pixmap_directory(".pixmaps"); MainWindow = create_MainWindow(); -#ifdef PCSX2_VIRTUAL_MEM - if (SVN_REV != 0) - gtk_window_set_title(GTK_WINDOW(MainWindow), "PCSX2 "PCSX2_VERSION" "SVN_REV" Watermoose VM"); - else - gtk_window_set_title(GTK_WINDOW(MainWindow), "PCSX2 "PCSX2_VERSION" Watermoose VM"); -#else if (SVN_REV != 0) gtk_window_set_title(GTK_WINDOW(MainWindow), "PCSX2 "PCSX2_VERSION" "SVN_REV" Watermoose"); else gtk_window_set_title(GTK_WINDOW(MainWindow), "PCSX2 "PCSX2_VERSION" Watermoose"); -#endif // status bar pStatusBar = gtk_statusbar_new (); @@ -150,7 +143,7 @@ void RunExecute(int run) needReset = FALSE; } - // this needs to be called for every new game! (note: sometimes launching games through bios will give a crc of 0) + // this needs to be called for every new game! (note: sometimes launching games through bios will give a crc of 0) if( GSsetGameCRC != NULL ) GSsetGameCRC(ElfCRC, g_ZeroGSOptions); @@ -407,7 +400,6 @@ void OnEmu_Arguments(GtkMenuItem *menuitem, gpointer user_data) { widgetCmdLine = lookup_widget(CmdLine, "GtkEntry_dCMDLINE"); gtk_entry_set_text(GTK_ENTRY(widgetCmdLine), args); - //args exported by ElfHeader.h gtk_widget_show_all(CmdLine); gtk_widget_set_sensitive(MainWindow, FALSE); gtk_main(); @@ -438,7 +430,12 @@ void OnCpu_Ok(GtkButton *button, gpointer user_data) { newopts |= PCSX2_FRAMELIMIT_SKIP; else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkRadioButton_VUSkip")))) newopts |= PCSX2_FRAMELIMIT_VUSKIP; - + + Config.CustomFps = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "CustomFPSLimit"))); + Config.CustomFrameSkip = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "FrameThreshold"))); + Config.CustomConsecutiveFrames = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "FramesBeforeSkipping"))); + Config.CustomConsecutiveSkip = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "FramesToSkip"))); + if ((Config.Options&PCSX2_GSMULTITHREAD) ^ (newopts&PCSX2_GSMULTITHREAD)) { Config.Options = newopts; SaveConfig(); @@ -491,6 +488,11 @@ void OnConf_Cpu(GtkMenuItem *menuitem, gpointer user_data) if(cpucaps.hasStreamingSIMD3Extensions) strcat(str,",SSE3"); if(cpucaps.hasAMD64BitArchitecture) strcat(str,",x86-64"); gtk_label_set_text(GTK_LABEL(lookup_widget(CpuDlg, "GtkLabel_Features")), str); + + gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "CustomFPSLimit")), (gdouble)Config.CustomFps); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "FrameThreshold")), (gdouble)Config.CustomFrameSkip); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "FramesBeforeSkipping")), (gdouble)Config.CustomConsecutiveFrames); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "FramesToSkip")), (gdouble)Config.CustomConsecutiveSkip); gtk_widget_show_all(CpuDlg); if (MainWindow) gtk_widget_set_sensitive(MainWindow, FALSE); diff --git a/pcsx2/Linux/GtkGui.h b/pcsx2/Linux/GtkGui.h index f034577eb1..bd158b1555 100644 --- a/pcsx2/Linux/GtkGui.h +++ b/pcsx2/Linux/GtkGui.h @@ -58,6 +58,7 @@ void OnLanguage(GtkMenuItem *menuitem, gpointer user_data); void OnHelp_Help(); void OnHelp_About(GtkMenuItem *menuitem, gpointer user_data); +void StartGui(); GtkWidget *MainWindow; GtkWidget *pStatusBar = NULL, *Status_Box; GtkWidget *CmdLine; //2002-09-28 (Florin) diff --git a/pcsx2/Linux/Linux.h b/pcsx2/Linux/Linux.h index e2783be92c..e1336fda0c 100644 --- a/pcsx2/Linux/Linux.h +++ b/pcsx2/Linux/Linux.h @@ -42,6 +42,7 @@ #include #include #include +#include #ifdef __cplusplus extern "C" { @@ -59,7 +60,7 @@ extern bool UseGui; extern bool needReset; extern bool RunExe; - +extern int efile; extern int g_SaveGSStream; extern int g_ZeroGSOptions; diff --git a/pcsx2/Linux/LnxMain.c b/pcsx2/Linux/LnxMain.c index f83a280880..46a5ccb7c1 100644 --- a/pcsx2/Linux/LnxMain.c +++ b/pcsx2/Linux/LnxMain.c @@ -29,30 +29,14 @@ DIR *dir; TESTRUNARGS g_TestRun; #endif -#ifdef PCSX2_VIRTUAL_MEM - -static int s_nPageSize = 0; -static int s_nShmCounter = 0; -#endif - GtkWidget *MsgDlg; int main(int argc, char *argv[]) { char *file = NULL; char elfname[g_MaxPath]; - int efile = 0; int i = 1; -#ifdef PCSX2_VIRTUAL_MEM - void* pmem = mmap(PS2MEM_BASE, 0x40000000, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); - - if( pmem != PS2MEM_BASE ) { - SysMessage("Failed to allocate virtual memory %x-%x. Use TLB build", - PS2MEM_BASE, PS2MEM_BASE+0x40000000); - return -1; - } -#endif - + efile = 0; #ifdef ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, "Langs"); @@ -390,7 +374,7 @@ void SysMessage(const char *fmt, ...) { gtk_container_add(GTK_CONTAINER(Box1), Ok); GTK_WIDGET_SET_FLAGS(Ok, GTK_CAN_DEFAULT); gtk_widget_show(Ok); - gtk_widget_grab_focus(Ok); + gtk_widget_grab_focus(Ok); gtk_widget_show(MsgDlg); @@ -517,105 +501,4 @@ void *SysMmap(uptr base, u32 size) { void SysMunmap(uptr base, u32 size) { munmap((uptr*)base, size); -} - -#ifdef PCSX2_VIRTUAL_MEM - -int SysPhysicalAlloc(u32 size, PSMEMORYBLOCK* pblock) -{ - assert( pblock != NULL ); - - if( s_nPageSize == 0 ) { - s_nPageSize = getpagesize(); - - // has to be 4k - if( s_nPageSize != 0x1000 ) { - perror("page size failed"); - SysMessage("Error! OS page size must be 4Kb!\n" - "If for some reason the OS cannot have 4Kb pages, then run the TLB build."); - return -1; - } - } - - pblock->pname = (char*)malloc(20); - sprintf(pblock->pname, "/pcsx2_shm%d", s_nShmCounter++); - shm_unlink(pblock->pname); // unlink to make sure one can be created - pblock->fd = shm_open(pblock->pname, O_RDWR|O_CREAT, 0); - - if( pblock->fd < 0 ) { - perror("shm_open failed"); - SysMessage("Failed to create shared memory object %s\n", pblock->pname); - return -1; - } - - if( ftruncate(fd, size) < 0 ) { - perror("ftruncate failed"); - SysMessage("Failed to allocate 0x%x bytes to shm\n", size); - } - - pblock->size = size; - - return 0; -} - -void SysPhysicalFree(PSMEMORYBLOCK* pblock) -{ - assert( pblock != NULL ); - if( pblock->fd ) - close(pblock->fd); - if( pblock->pname ) { - shm_unlink(pblock->pname); - free(pblock->pname); - } - memset(pblock, 0, sizeof(PSMEMORYBLOCK)); -} - -int SysVirtualPhyAlloc(void* base, u32 size, PSMEMORYBLOCK* pblock) -{ - void* pmem; - assert(pblock != NULL && pblock->fd >= 0 && pblock->size >= size ); - pmem = mmap(base, size, PROT_READ|PROT_WRITE, MAP_SHARED, pblock->fd, 0); - - if( pmem != base ) { - - if( pmem == (void*)-1 ) { - munmap(base, size); - } - - SysPrintf("Failed to map memory at 0x%x of size 0x%x with shm %s\n", (uptr)base, (uptr)size, pblock->pname); - return -1; - } - - return 0; -} - -void SysVirtualFree(void* lpMemReserved, u32 size) -{ - if( munmap(lpMemReserved, size) < 0 ) - SysPrintf("Failed to unmap %x\n", lpMemReserved); -} - - -int SysMapUserPhysicalPages(void* Addr, uptr NumPages, PSMEMORYBLOCK* pblock, int pageoffset) -{ - void* pmem; - if( pblock == NULL ) { - // unmap - if( munmap(base, size) < 0 ) { - SysPrintf("SysMapUserPhysicalPages: Failed to unmap %x\n", Addr); - return 0; - } - } - else { - // map - pmem = mmap(Addr, NumPages*s_nPageSize, PROT_READ|PROT_WRITE, MAP_SHARED, pblock->fd, pageoffset*s_nPageSize); - if( pmem != base ) { - SysPrintf("SysMapUserPhysicalPages: Failed to map 0x%x, size=0x%x, offset=0x%x\n", - Addr, NumPages*s_nPageSize, pageoffset*s_nPageSize); - return 0; - } - } - - return 1; -} -#endif +} \ No newline at end of file diff --git a/pcsx2/Linux/Pref.cpp b/pcsx2/Linux/Pref.cpp index 90b7b22565..54591af14c 100644 --- a/pcsx2/Linux/Pref.cpp +++ b/pcsx2/Linux/Pref.cpp @@ -109,6 +109,11 @@ int LoadConfig() { GetValuel("sseVUMXCSR", Config.sseVUMXCSR); GetValuel("Patch", Config.Patch); + + GetValuel("CustomFps", Config.CustomFps); + GetValuel("CustomFrameskip", Config.CustomFrameSkip); + GetValuel("CustomConsecutiveFrames", Config.CustomConsecutiveFrames); + GetValuel("CustomConsecutiveSkip", Config.CustomConsecutiveSkip); #ifdef PCSX2_DEVBUILD GetValuel("varLog", varLog); @@ -166,6 +171,11 @@ void SaveConfig() { SetValuel("Patch", Config.Patch); + SetValuel("CustomFps", Config.CustomFps); + SetValuel("CustomFrameskip", Config.CustomFrameSkip); + SetValuel("CustomConsecutiveFrames", Config.CustomConsecutiveFrames); + SetValuel("CustomConsecutiveSkip", Config.CustomConsecutiveSkip); + #ifdef PCSX2_DEVBUILD SetValuel("varLog", varLog); #endif diff --git a/pcsx2/Linux/callbacks.h b/pcsx2/Linux/callbacks.h index 5d44c235b1..b4ca629c18 100644 --- a/pcsx2/Linux/callbacks.h +++ b/pcsx2/Linux/callbacks.h @@ -121,10 +121,6 @@ void OnDebug_memWrite32 (GtkButton *button, gpointer user_data); -void -OnCpu_Ok (GtkButton *button, - gpointer user_data); - void OnConfConf_FWConf (GtkButton *button, gpointer user_data); @@ -388,3 +384,7 @@ OnDebug_Logging (GtkMenuItem *menuitem, void OnHelp_About (GtkMenuItem *menuitem, gpointer user_data); + +void +OnCpu_Ok (GtkButton *button, + gpointer user_data); diff --git a/pcsx2/Linux/interface.c b/pcsx2/Linux/interface.c index 9c53a4af4f..cf806aa140 100644 --- a/pcsx2/Linux/interface.c +++ b/pcsx2/Linux/interface.c @@ -1882,238 +1882,6 @@ create_DebugWnd (void) return DebugWnd; } -GtkWidget* -create_CpuDlg (void) -{ - GtkWidget *CpuDlg; - GtkWidget *vbox8; - GtkWidget *hbox20; - GtkWidget *alignment1; - GtkWidget *vbox27; - GtkWidget *alignment3; - GtkWidget *frame8; - GtkWidget *alignment2; - GtkWidget *vbox28; - GtkWidget *GtkLabel_CpuVendor; - GtkWidget *GtkLabel_Family; - GtkWidget *GtkLabel_CpuSpeed; - GtkWidget *GtkLabel_Features; - GtkWidget *label35; - GtkWidget *GtkCheckButton_EERec; - GtkWidget *frame6; - GtkWidget *vbox26; - GtkWidget *GtkCheckButton_VU0rec; - GtkWidget *GtkCheckButton_VU1rec; - GtkWidget *label32; - GtkWidget *GtkCheckButton_MTGS; - GtkWidget *GtkCheckButton_CpuDC; - GtkWidget *frame9; - GtkWidget *alignment4; - GtkWidget *vbox29; - GtkWidget *GtkRadioButton_LimitNormal; - GSList *GtkRadioButton_LimitNormal_group = NULL; - GtkWidget *GtkRadioButton_LimitLimit; - GtkWidget *GtkRadioButton_LimitFS; - GtkWidget *GtkRadioButton_VUSkip; - GtkWidget *label41; - GtkWidget *hbuttonbox3; - GtkWidget *GtkButton_Ok2; - GtkWidget *GtkButton_Cancel1; - - CpuDlg = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_container_set_border_width (GTK_CONTAINER (CpuDlg), 5); - gtk_window_set_title (GTK_WINDOW (CpuDlg), _("Cpu")); - - vbox8 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox8); - gtk_container_add (GTK_CONTAINER (CpuDlg), vbox8); - - hbox20 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox20); - gtk_box_pack_start (GTK_BOX (vbox8), hbox20, TRUE, TRUE, 0); - - alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment1); - gtk_box_pack_start (GTK_BOX (hbox20), alignment1, TRUE, TRUE, 0); - - vbox27 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox27); - gtk_container_add (GTK_CONTAINER (alignment1), vbox27); - - alignment3 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment3); - gtk_box_pack_start (GTK_BOX (vbox27), alignment3, TRUE, TRUE, 0); - - frame8 = gtk_frame_new (NULL); - gtk_widget_show (frame8); - gtk_container_add (GTK_CONTAINER (alignment3), frame8); - - alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment2); - gtk_container_add (GTK_CONTAINER (frame8), alignment2); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 0, 0, 12, 0); - - vbox28 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox28); - gtk_container_add (GTK_CONTAINER (alignment2), vbox28); - - GtkLabel_CpuVendor = gtk_label_new (_("CPU vendor")); - gtk_widget_show (GtkLabel_CpuVendor); - gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_CpuVendor, FALSE, FALSE, 0); - - GtkLabel_Family = gtk_label_new (_("Family")); - gtk_widget_show (GtkLabel_Family); - gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_Family, FALSE, FALSE, 0); - - GtkLabel_CpuSpeed = gtk_label_new (_("Cpu Speed")); - gtk_widget_show (GtkLabel_CpuSpeed); - gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_CpuSpeed, FALSE, FALSE, 0); - - GtkLabel_Features = gtk_label_new (_("Features")); - gtk_widget_show (GtkLabel_Features); - gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_Features, FALSE, FALSE, 0); - - label35 = gtk_label_new (""); - gtk_widget_show (label35); - gtk_frame_set_label_widget (GTK_FRAME (frame8), label35); - gtk_label_set_use_markup (GTK_LABEL (label35), TRUE); - - GtkCheckButton_EERec = gtk_check_button_new_with_mnemonic (_("EERec - EE/IOP recompiler")); - gtk_widget_show (GtkCheckButton_EERec); - gtk_box_pack_start (GTK_BOX (vbox8), GtkCheckButton_EERec, FALSE, FALSE, 0); - - frame6 = gtk_frame_new (NULL); - gtk_widget_show (frame6); - gtk_box_pack_start (GTK_BOX (vbox8), frame6, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (frame6), 5); - - vbox26 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox26); - gtk_container_add (GTK_CONTAINER (frame6), vbox26); - gtk_container_set_border_width (GTK_CONTAINER (vbox26), 5); - - GtkCheckButton_VU0rec = gtk_check_button_new_with_mnemonic (_("VU0rec - enable recompiler for VU0 unit")); - gtk_widget_show (GtkCheckButton_VU0rec); - gtk_box_pack_start (GTK_BOX (vbox26), GtkCheckButton_VU0rec, FALSE, FALSE, 0); - - GtkCheckButton_VU1rec = gtk_check_button_new_with_mnemonic (_("VU1rec - enable recompiler for VU1 unit")); - gtk_widget_show (GtkCheckButton_VU1rec); - gtk_box_pack_start (GTK_BOX (vbox26), GtkCheckButton_VU1rec, FALSE, FALSE, 0); - - label32 = gtk_label_new (_("VU Recompilers - All options are set by default")); - gtk_widget_show (label32); - gtk_frame_set_label_widget (GTK_FRAME (frame6), label32); - - GtkCheckButton_MTGS = gtk_check_button_new_with_mnemonic (_("Multi threaded GS mode (MTGS)\n (faster on dual core/HT CPUs, requires pcsx2 restart)")); - gtk_widget_show (GtkCheckButton_MTGS); - gtk_box_pack_start (GTK_BOX (vbox8), GtkCheckButton_MTGS, FALSE, FALSE, 0); - - GtkCheckButton_CpuDC = gtk_check_button_new_with_mnemonic (_("Dual Core Mode (DC) - Much faster, but only valid with MTGS")); - gtk_widget_show (GtkCheckButton_CpuDC); - gtk_box_pack_start (GTK_BOX (vbox8), GtkCheckButton_CpuDC, FALSE, FALSE, 0); - - frame9 = gtk_frame_new (NULL); - gtk_widget_show (frame9); - gtk_box_pack_start (GTK_BOX (vbox8), frame9, TRUE, TRUE, 0); - - alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment4); - gtk_container_add (GTK_CONTAINER (frame9), alignment4); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 0, 0, 12, 0); - - vbox29 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox29); - gtk_container_add (GTK_CONTAINER (alignment4), vbox29); - - GtkRadioButton_LimitNormal = gtk_radio_button_new_with_mnemonic (NULL, _("Normal - All frames are rendered as fast as possible")); - gtk_widget_show (GtkRadioButton_LimitNormal); - gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_LimitNormal, FALSE, FALSE, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitNormal), GtkRadioButton_LimitNormal_group); - GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitNormal)); - - GtkRadioButton_LimitLimit = gtk_radio_button_new_with_mnemonic (NULL, _("Limit - Force frames to normal speeds if too fast")); - gtk_widget_show (GtkRadioButton_LimitLimit); - gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_LimitLimit, FALSE, FALSE, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitLimit), GtkRadioButton_LimitNormal_group); - GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitLimit)); - - GtkRadioButton_LimitFS = gtk_radio_button_new_with_mnemonic (NULL, _("Frame Skip - In order to achieve normal speeds, \n some frames are skipped (faster).\n Fps displayed counts skipped frames too")); - gtk_widget_show (GtkRadioButton_LimitFS); - gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_LimitFS, FALSE, FALSE, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitFS), GtkRadioButton_LimitNormal_group); - GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitFS)); - - GtkRadioButton_VUSkip = gtk_radio_button_new_with_mnemonic (NULL, _("VU Skip - Same as Frame Skip, but tried to skip more. \n Artifacts might be present, but will be faster")); - gtk_widget_show (GtkRadioButton_VUSkip); - gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_VUSkip, FALSE, FALSE, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_VUSkip), GtkRadioButton_LimitNormal_group); - GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_VUSkip)); - - label41 = gtk_label_new (_("Frame Limiting")); - gtk_widget_show (label41); - gtk_frame_set_label_widget (GTK_FRAME (frame9), label41); - gtk_label_set_use_markup (GTK_LABEL (label41), TRUE); - - hbuttonbox3 = gtk_hbutton_box_new (); - gtk_widget_show (hbuttonbox3); - gtk_box_pack_start (GTK_BOX (vbox8), hbuttonbox3, TRUE, TRUE, 0); - gtk_box_set_spacing (GTK_BOX (hbuttonbox3), 30); - - GtkButton_Ok2 = gtk_button_new_from_stock ("gtk-ok"); - gtk_widget_show (GtkButton_Ok2); - gtk_container_add (GTK_CONTAINER (hbuttonbox3), GtkButton_Ok2); - GTK_WIDGET_SET_FLAGS (GtkButton_Ok2, GTK_CAN_DEFAULT); - - GtkButton_Cancel1 = gtk_button_new_from_stock ("gtk-cancel"); - gtk_widget_show (GtkButton_Cancel1); - gtk_container_add (GTK_CONTAINER (hbuttonbox3), GtkButton_Cancel1); - GTK_WIDGET_SET_FLAGS (GtkButton_Cancel1, GTK_CAN_DEFAULT); - - g_signal_connect ((gpointer) GtkButton_Ok2, "clicked", - G_CALLBACK (OnCpu_Ok), - NULL); - g_signal_connect ((gpointer) GtkButton_Cancel1, "clicked", - G_CALLBACK (On_Dialog_Cancelled), - NULL); - - /* Store pointers to all widgets, for use by lookup_widget(). */ - GLADE_HOOKUP_OBJECT_NO_REF (CpuDlg, CpuDlg, "CpuDlg"); - GLADE_HOOKUP_OBJECT (CpuDlg, vbox8, "vbox8"); - GLADE_HOOKUP_OBJECT (CpuDlg, hbox20, "hbox20"); - GLADE_HOOKUP_OBJECT (CpuDlg, alignment1, "alignment1"); - GLADE_HOOKUP_OBJECT (CpuDlg, vbox27, "vbox27"); - GLADE_HOOKUP_OBJECT (CpuDlg, alignment3, "alignment3"); - GLADE_HOOKUP_OBJECT (CpuDlg, frame8, "frame8"); - GLADE_HOOKUP_OBJECT (CpuDlg, alignment2, "alignment2"); - GLADE_HOOKUP_OBJECT (CpuDlg, vbox28, "vbox28"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_CpuVendor, "GtkLabel_CpuVendor"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_Family, "GtkLabel_Family"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_CpuSpeed, "GtkLabel_CpuSpeed"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_Features, "GtkLabel_Features"); - GLADE_HOOKUP_OBJECT (CpuDlg, label35, "label35"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_EERec, "GtkCheckButton_EERec"); - GLADE_HOOKUP_OBJECT (CpuDlg, frame6, "frame6"); - GLADE_HOOKUP_OBJECT (CpuDlg, vbox26, "vbox26"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_VU0rec, "GtkCheckButton_VU0rec"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_VU1rec, "GtkCheckButton_VU1rec"); - GLADE_HOOKUP_OBJECT (CpuDlg, label32, "label32"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_MTGS, "GtkCheckButton_MTGS"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_CpuDC, "GtkCheckButton_CpuDC"); - GLADE_HOOKUP_OBJECT (CpuDlg, frame9, "frame9"); - GLADE_HOOKUP_OBJECT (CpuDlg, alignment4, "alignment4"); - GLADE_HOOKUP_OBJECT (CpuDlg, vbox29, "vbox29"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_LimitNormal, "GtkRadioButton_LimitNormal"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_LimitLimit, "GtkRadioButton_LimitLimit"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_LimitFS, "GtkRadioButton_LimitFS"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_VUSkip, "GtkRadioButton_VUSkip"); - GLADE_HOOKUP_OBJECT (CpuDlg, label41, "label41"); - GLADE_HOOKUP_OBJECT (CpuDlg, hbuttonbox3, "hbuttonbox3"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkButton_Ok2, "GtkButton_Ok2"); - GLADE_HOOKUP_OBJECT (CpuDlg, GtkButton_Cancel1, "GtkButton_Cancel1"); - - return CpuDlg; -} - GtkWidget* create_ConfDlg (void) { @@ -3738,3 +3506,356 @@ create_PatchFinderWindow (void) return PatchFinderWindow; } +GtkWidget* +create_CpuDlg (void) +{ + GtkWidget *CpuDlg; + GtkWidget *dialog_vbox5; + GtkWidget *hbox27; + GtkWidget *vbox47; + GtkWidget *frame8; + GtkWidget *alignment2; + GtkWidget *vbox28; + GtkWidget *GtkLabel_CpuVendor; + GtkWidget *GtkLabel_Family; + GtkWidget *GtkLabel_CpuSpeed; + GtkWidget *GtkLabel_Features; + GtkWidget *label35; + GtkWidget *GtkCheckButton_EERec; + GtkWidget *frame6; + GtkWidget *vbox26; + GtkWidget *GtkCheckButton_VU0rec; + GtkWidget *GtkCheckButton_VU1rec; + GtkWidget *label32; + GtkWidget *GtkCheckButton_MTGS; + GtkWidget *GtkCheckButton_CpuDC; + GtkWidget *vbox48; + GtkWidget *frame9; + GtkWidget *alignment4; + GtkWidget *vbox29; + GtkWidget *GtkRadioButton_LimitNormal; + GSList *GtkRadioButton_LimitNormal_group = NULL; + GtkWidget *GtkRadioButton_LimitLimit; + GtkWidget *GtkRadioButton_LimitFS; + GtkWidget *GtkRadioButton_VUSkip; + GtkWidget *label41; + GtkWidget *frame23; + GtkWidget *alignment18; + GtkWidget *vbox49; + GtkWidget *hbox29; + GtkWidget *label66; + GtkObject *CustomFPSLimit_adj; + GtkWidget *CustomFPSLimit; + GtkWidget *hbox30; + GtkWidget *label67; + GtkObject *FrameThreshold_adj; + GtkWidget *FrameThreshold; + GtkWidget *hbox31; + GtkWidget *label68; + GtkObject *FramesBeforeSkipping_adj; + GtkWidget *FramesBeforeSkipping; + GtkWidget *hbox32; + GtkWidget *label69; + GtkObject *FramesToSkip_adj; + GtkWidget *FramesToSkip; + GtkWidget *label63; + GtkWidget *label64; + GtkWidget *label65; + GtkWidget *label62; + GtkWidget *dialog_action_area5; + GtkWidget *button96; + GtkWidget *button97; + + CpuDlg = gtk_dialog_new (); + gtk_window_set_title (GTK_WINDOW (CpuDlg), _("dialog1")); + gtk_window_set_type_hint (GTK_WINDOW (CpuDlg), GDK_WINDOW_TYPE_HINT_DIALOG); + + dialog_vbox5 = GTK_DIALOG (CpuDlg)->vbox; + gtk_widget_show (dialog_vbox5); + + hbox27 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox27); + gtk_box_pack_start (GTK_BOX (dialog_vbox5), hbox27, TRUE, TRUE, 0); + + vbox47 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox47); + gtk_box_pack_start (GTK_BOX (hbox27), vbox47, TRUE, TRUE, 0); + + frame8 = gtk_frame_new (NULL); + gtk_widget_show (frame8); + gtk_box_pack_start (GTK_BOX (vbox47), frame8, TRUE, TRUE, 0); + + alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment2); + gtk_container_add (GTK_CONTAINER (frame8), alignment2); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 0, 0, 12, 0); + + vbox28 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox28); + gtk_container_add (GTK_CONTAINER (alignment2), vbox28); + + GtkLabel_CpuVendor = gtk_label_new (_("CPU vendor")); + gtk_widget_show (GtkLabel_CpuVendor); + gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_CpuVendor, FALSE, FALSE, 0); + + GtkLabel_Family = gtk_label_new (_("Family")); + gtk_widget_show (GtkLabel_Family); + gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_Family, FALSE, FALSE, 0); + + GtkLabel_CpuSpeed = gtk_label_new (_("Cpu Speed")); + gtk_widget_show (GtkLabel_CpuSpeed); + gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_CpuSpeed, FALSE, FALSE, 0); + + GtkLabel_Features = gtk_label_new (_("Features")); + gtk_widget_show (GtkLabel_Features); + gtk_box_pack_start (GTK_BOX (vbox28), GtkLabel_Features, FALSE, FALSE, 0); + + label35 = gtk_label_new (""); + gtk_widget_show (label35); + gtk_frame_set_label_widget (GTK_FRAME (frame8), label35); + gtk_label_set_use_markup (GTK_LABEL (label35), TRUE); + + GtkCheckButton_EERec = gtk_check_button_new_with_mnemonic (_("EERec - EE/IOP recompiler")); + gtk_widget_show (GtkCheckButton_EERec); + gtk_box_pack_start (GTK_BOX (vbox47), GtkCheckButton_EERec, FALSE, FALSE, 0); + + frame6 = gtk_frame_new (NULL); + gtk_widget_show (frame6); + gtk_box_pack_start (GTK_BOX (vbox47), frame6, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame6), 5); + + vbox26 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox26); + gtk_container_add (GTK_CONTAINER (frame6), vbox26); + gtk_container_set_border_width (GTK_CONTAINER (vbox26), 5); + + GtkCheckButton_VU0rec = gtk_check_button_new_with_mnemonic (_("VU0rec - enable recompiler for VU0 unit")); + gtk_widget_show (GtkCheckButton_VU0rec); + gtk_box_pack_start (GTK_BOX (vbox26), GtkCheckButton_VU0rec, FALSE, FALSE, 0); + + GtkCheckButton_VU1rec = gtk_check_button_new_with_mnemonic (_("VU1rec - enable recompiler for VU1 unit")); + gtk_widget_show (GtkCheckButton_VU1rec); + gtk_box_pack_start (GTK_BOX (vbox26), GtkCheckButton_VU1rec, FALSE, FALSE, 0); + + label32 = gtk_label_new (_("VU Recompilers - All options are set by default")); + gtk_widget_show (label32); + gtk_frame_set_label_widget (GTK_FRAME (frame6), label32); + + GtkCheckButton_MTGS = gtk_check_button_new_with_mnemonic (_("Multi threaded GS mode (MTGS)\n (faster on dual core/HT CPUs, requires pcsx2 restart)")); + gtk_widget_show (GtkCheckButton_MTGS); + gtk_box_pack_start (GTK_BOX (vbox47), GtkCheckButton_MTGS, FALSE, FALSE, 0); + + GtkCheckButton_CpuDC = gtk_check_button_new_with_mnemonic (_("Dual Core Mode (DC) - Much faster, but only valid with MTGS")); + gtk_widget_show (GtkCheckButton_CpuDC); + gtk_box_pack_start (GTK_BOX (vbox47), GtkCheckButton_CpuDC, FALSE, FALSE, 0); + + vbox48 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox48); + gtk_box_pack_start (GTK_BOX (hbox27), vbox48, TRUE, TRUE, 0); + + frame9 = gtk_frame_new (NULL); + gtk_widget_show (frame9); + gtk_box_pack_start (GTK_BOX (vbox48), frame9, TRUE, TRUE, 0); + + alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment4); + gtk_container_add (GTK_CONTAINER (frame9), alignment4); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 0, 0, 12, 0); + + vbox29 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox29); + gtk_container_add (GTK_CONTAINER (alignment4), vbox29); + + GtkRadioButton_LimitNormal = gtk_radio_button_new_with_mnemonic (NULL, _("Normal - All frames are rendered as fast as possible")); + gtk_widget_show (GtkRadioButton_LimitNormal); + gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_LimitNormal, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitNormal), GtkRadioButton_LimitNormal_group); + GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitNormal)); + + GtkRadioButton_LimitLimit = gtk_radio_button_new_with_mnemonic (NULL, _("Limit - Force frames to normal speeds if too fast")); + gtk_widget_show (GtkRadioButton_LimitLimit); + gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_LimitLimit, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitLimit), GtkRadioButton_LimitNormal_group); + GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitLimit)); + + GtkRadioButton_LimitFS = gtk_radio_button_new_with_mnemonic (NULL, _("Frame Skip - In order to achieve normal speeds, \n some frames are skipped (faster).\n Fps displayed counts skipped frames too")); + gtk_widget_show (GtkRadioButton_LimitFS); + gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_LimitFS, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitFS), GtkRadioButton_LimitNormal_group); + GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_LimitFS)); + + GtkRadioButton_VUSkip = gtk_radio_button_new_with_mnemonic (NULL, _("VU Skip - Same as Frame Skip, but tried to skip more. \n Artifacts might be present, but will be faster")); + gtk_widget_show (GtkRadioButton_VUSkip); + gtk_box_pack_start (GTK_BOX (vbox29), GtkRadioButton_VUSkip, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (GtkRadioButton_VUSkip), GtkRadioButton_LimitNormal_group); + GtkRadioButton_LimitNormal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (GtkRadioButton_VUSkip)); + + label41 = gtk_label_new (_("Frame Limiting (F4 switches in-game)")); + gtk_widget_show (label41); + gtk_frame_set_label_widget (GTK_FRAME (frame9), label41); + gtk_label_set_use_markup (GTK_LABEL (label41), TRUE); + + frame23 = gtk_frame_new (NULL); + gtk_widget_show (frame23); + gtk_box_pack_start (GTK_BOX (vbox48), frame23, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame23), GTK_SHADOW_NONE); + + alignment18 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment18); + gtk_container_add (GTK_CONTAINER (frame23), alignment18); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment18), 0, 0, 12, 0); + + vbox49 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox49); + gtk_container_add (GTK_CONTAINER (alignment18), vbox49); + + hbox29 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox29); + gtk_box_pack_start (GTK_BOX (vbox49), hbox29, TRUE, TRUE, 0); + + label66 = gtk_label_new (_("Custom FPS Limit (0=auto):")); + gtk_widget_show (label66); + gtk_box_pack_start (GTK_BOX (hbox29), label66, TRUE, TRUE, 0); + + CustomFPSLimit_adj = gtk_adjustment_new (0, 0, 9999, 1, 10, 10); + CustomFPSLimit = gtk_spin_button_new (GTK_ADJUSTMENT (CustomFPSLimit_adj), 1, 0); + gtk_widget_show (CustomFPSLimit); + gtk_box_pack_end (GTK_BOX (hbox29), CustomFPSLimit, FALSE, TRUE, 0); + gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (CustomFPSLimit), TRUE); + + hbox30 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox30); + gtk_box_pack_start (GTK_BOX (vbox49), hbox30, TRUE, TRUE, 0); + + label67 = gtk_label_new (_("Skip Frames when slower than[1]:")); + gtk_widget_show (label67); + gtk_box_pack_start (GTK_BOX (hbox30), label67, TRUE, TRUE, 0); + + FrameThreshold_adj = gtk_adjustment_new (0, 0, 9999, 1, 10, 10); + FrameThreshold = gtk_spin_button_new (GTK_ADJUSTMENT (FrameThreshold_adj), 1, 0); + gtk_widget_show (FrameThreshold); + gtk_box_pack_end (GTK_BOX (hbox30), FrameThreshold, FALSE, TRUE, 0); + + hbox31 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox31); + gtk_box_pack_start (GTK_BOX (vbox49), hbox31, TRUE, TRUE, 0); + + label68 = gtk_label_new (_("Consecutive Frames before skipping[2]:")); + gtk_widget_show (label68); + gtk_box_pack_start (GTK_BOX (hbox31), label68, TRUE, TRUE, 0); + + FramesBeforeSkipping_adj = gtk_adjustment_new (0, 0, 9999, 1, 10, 10); + FramesBeforeSkipping = gtk_spin_button_new (GTK_ADJUSTMENT (FramesBeforeSkipping_adj), 1, 0); + gtk_widget_show (FramesBeforeSkipping); + gtk_box_pack_end (GTK_BOX (hbox31), FramesBeforeSkipping, FALSE, TRUE, 0); + + hbox32 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox32); + gtk_box_pack_start (GTK_BOX (vbox49), hbox32, TRUE, TRUE, 0); + + label69 = gtk_label_new (_("Consecutive Frames to skip[3]:")); + gtk_widget_show (label69); + gtk_box_pack_start (GTK_BOX (hbox32), label69, TRUE, TRUE, 0); + + FramesToSkip_adj = gtk_adjustment_new (0, 0, 9999, 1, 10, 10); + FramesToSkip = gtk_spin_button_new (GTK_ADJUSTMENT (FramesToSkip_adj), 1, 0); + gtk_widget_show (FramesToSkip); + gtk_box_pack_end (GTK_BOX (hbox32), FramesToSkip, FALSE, TRUE, 0); + + label63 = gtk_label_new (_("[1] Only skips when slower then this number(0 is auto; 9999 always skips).")); + gtk_widget_show (label63); + gtk_box_pack_start (GTK_BOX (vbox49), label63, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (label63), TRUE); + + label64 = gtk_label_new (_("[2] Renders this many frames before skipping (0 is default).")); + gtk_widget_show (label64); + gtk_box_pack_start (GTK_BOX (vbox49), label64, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (label64), TRUE); + + label65 = gtk_label_new (_("[3] Skips this many frames before continuing (0 is default).")); + gtk_widget_show (label65); + gtk_box_pack_start (GTK_BOX (vbox49), label65, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (label65), TRUE); + + label62 = gtk_label_new (_("Detailed Settings")); + gtk_widget_show (label62); + gtk_frame_set_label_widget (GTK_FRAME (frame23), label62); + gtk_label_set_use_markup (GTK_LABEL (label62), TRUE); + + dialog_action_area5 = GTK_DIALOG (CpuDlg)->action_area; + gtk_widget_show (dialog_action_area5); + gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END); + + button96 = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (button96); + gtk_dialog_add_action_widget (GTK_DIALOG (CpuDlg), button96, 0); + GTK_WIDGET_SET_FLAGS (button96, GTK_CAN_DEFAULT); + + button97 = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (button97); + gtk_dialog_add_action_widget (GTK_DIALOG (CpuDlg), button97, 0); + GTK_WIDGET_SET_FLAGS (button97, GTK_CAN_DEFAULT); + + g_signal_connect ((gpointer) button96, "clicked", + G_CALLBACK (OnCpu_Ok), + NULL); + g_signal_connect ((gpointer) button97, "clicked", + G_CALLBACK (On_Dialog_Cancelled), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (CpuDlg, CpuDlg, "CpuDlg"); + GLADE_HOOKUP_OBJECT_NO_REF (CpuDlg, dialog_vbox5, "dialog_vbox5"); + GLADE_HOOKUP_OBJECT (CpuDlg, hbox27, "hbox27"); + GLADE_HOOKUP_OBJECT (CpuDlg, vbox47, "vbox47"); + GLADE_HOOKUP_OBJECT (CpuDlg, frame8, "frame8"); + GLADE_HOOKUP_OBJECT (CpuDlg, alignment2, "alignment2"); + GLADE_HOOKUP_OBJECT (CpuDlg, vbox28, "vbox28"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_CpuVendor, "GtkLabel_CpuVendor"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_Family, "GtkLabel_Family"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_CpuSpeed, "GtkLabel_CpuSpeed"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkLabel_Features, "GtkLabel_Features"); + GLADE_HOOKUP_OBJECT (CpuDlg, label35, "label35"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_EERec, "GtkCheckButton_EERec"); + GLADE_HOOKUP_OBJECT (CpuDlg, frame6, "frame6"); + GLADE_HOOKUP_OBJECT (CpuDlg, vbox26, "vbox26"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_VU0rec, "GtkCheckButton_VU0rec"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_VU1rec, "GtkCheckButton_VU1rec"); + GLADE_HOOKUP_OBJECT (CpuDlg, label32, "label32"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_MTGS, "GtkCheckButton_MTGS"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkCheckButton_CpuDC, "GtkCheckButton_CpuDC"); + GLADE_HOOKUP_OBJECT (CpuDlg, vbox48, "vbox48"); + GLADE_HOOKUP_OBJECT (CpuDlg, frame9, "frame9"); + GLADE_HOOKUP_OBJECT (CpuDlg, alignment4, "alignment4"); + GLADE_HOOKUP_OBJECT (CpuDlg, vbox29, "vbox29"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_LimitNormal, "GtkRadioButton_LimitNormal"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_LimitLimit, "GtkRadioButton_LimitLimit"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_LimitFS, "GtkRadioButton_LimitFS"); + GLADE_HOOKUP_OBJECT (CpuDlg, GtkRadioButton_VUSkip, "GtkRadioButton_VUSkip"); + GLADE_HOOKUP_OBJECT (CpuDlg, label41, "label41"); + GLADE_HOOKUP_OBJECT (CpuDlg, frame23, "frame23"); + GLADE_HOOKUP_OBJECT (CpuDlg, alignment18, "alignment18"); + GLADE_HOOKUP_OBJECT (CpuDlg, vbox49, "vbox49"); + GLADE_HOOKUP_OBJECT (CpuDlg, hbox29, "hbox29"); + GLADE_HOOKUP_OBJECT (CpuDlg, label66, "label66"); + GLADE_HOOKUP_OBJECT (CpuDlg, CustomFPSLimit, "CustomFPSLimit"); + GLADE_HOOKUP_OBJECT (CpuDlg, hbox30, "hbox30"); + GLADE_HOOKUP_OBJECT (CpuDlg, label67, "label67"); + GLADE_HOOKUP_OBJECT (CpuDlg, FrameThreshold, "FrameThreshold"); + GLADE_HOOKUP_OBJECT (CpuDlg, hbox31, "hbox31"); + GLADE_HOOKUP_OBJECT (CpuDlg, label68, "label68"); + GLADE_HOOKUP_OBJECT (CpuDlg, FramesBeforeSkipping, "FramesBeforeSkipping"); + GLADE_HOOKUP_OBJECT (CpuDlg, hbox32, "hbox32"); + GLADE_HOOKUP_OBJECT (CpuDlg, label69, "label69"); + GLADE_HOOKUP_OBJECT (CpuDlg, FramesToSkip, "FramesToSkip"); + GLADE_HOOKUP_OBJECT (CpuDlg, label63, "label63"); + GLADE_HOOKUP_OBJECT (CpuDlg, label64, "label64"); + GLADE_HOOKUP_OBJECT (CpuDlg, label65, "label65"); + GLADE_HOOKUP_OBJECT (CpuDlg, label62, "label62"); + GLADE_HOOKUP_OBJECT_NO_REF (CpuDlg, dialog_action_area5, "dialog_action_area5"); + GLADE_HOOKUP_OBJECT (CpuDlg, button96, "button96"); + GLADE_HOOKUP_OBJECT (CpuDlg, button97, "button97"); + + return CpuDlg; +} + diff --git a/pcsx2/Linux/interface.h b/pcsx2/Linux/interface.h index 0e43662022..2b6e55b992 100644 --- a/pcsx2/Linux/interface.h +++ b/pcsx2/Linux/interface.h @@ -14,9 +14,9 @@ GtkWidget* create_SetBPCDlg (void); GtkWidget* create_SetBPADlg (void); GtkWidget* create_SetPCDlg (void); GtkWidget* create_DebugWnd (void); -GtkWidget* create_CpuDlg (void); GtkWidget* create_ConfDlg (void); GtkWidget* create_AboutDlg (void); GtkWidget* create_MainWindow (void); GtkWidget* create_PatchBrowserWindow (void); GtkWidget* create_PatchFinderWindow (void); +GtkWidget* create_CpuDlg (void); diff --git a/pcsx2/Linux/pcsx2.glade b/pcsx2/Linux/pcsx2.glade index 593ccad0f1..efd4c165f8 100644 --- a/pcsx2/Linux/pcsx2.glade +++ b/pcsx2/Linux/pcsx2.glade @@ -3893,568 +3893,6 @@ Configure them here.</b> - - 5 - True - Cpu - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - CPU vendor - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - Family - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - Cpu Speed - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - Features - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - True - - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - - - 0 - True - True - - - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - True - True - EERec - EE/IOP recompiler - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - 5 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - 5 - True - False - 0 - - - - True - True - VU0rec - enable recompiler for VU0 unit - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - True - VU1rec - enable recompiler for VU1 unit - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - - - True - VU Recompilers - All options are set by default - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - True - True - - - - - - True - True - Multi threaded GS mode (MTGS) - (faster on dual core/HT CPUs, requires pcsx2 restart) - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - True - Dual Core Mode (DC) - Much faster, but only valid with MTGS - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - True - Normal - All frames are rendered as fast as possible - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - True - Limit - Force frames to normal speeds if too fast - True - GTK_RELIEF_NORMAL - True - False - False - True - GtkRadioButton_LimitNormal - - - 0 - False - False - - - - - - True - True - Frame Skip - In order to achieve normal speeds, - some frames are skipped (faster). - Fps displayed counts skipped frames too - True - GTK_RELIEF_NORMAL - True - False - False - True - GtkRadioButton_LimitNormal - - - 0 - False - False - - - - - - True - True - VU Skip - Same as Frame Skip, but tried to skip more. - Artifacts might be present, but will be faster - True - GTK_RELIEF_NORMAL - True - False - False - True - GtkRadioButton_LimitNormal - - - 0 - False - False - - - - - - - - - - True - Frame Limiting - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_DEFAULT_STYLE - 30 - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - True - True - - - - - - 10 True @@ -7228,4 +6666,919 @@ Version x.x + + True + dialog1 + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + 0 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + 0 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + False + 0 + + + + True + CPU vendor + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + Family + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + Cpu Speed + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + Features + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + + + + True + + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + True + EERec - EE/IOP recompiler + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + 5 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 5 + True + False + 0 + + + + True + True + VU0rec - enable recompiler for VU0 unit + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + VU1rec - enable recompiler for VU1 unit + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + + + True + VU Recompilers - All options are set by default + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + True + Multi threaded GS mode (MTGS) + (faster on dual core/HT CPUs, requires pcsx2 restart) + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Dual Core Mode (DC) - Much faster, but only valid with MTGS + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + False + 0 + + + + True + True + Normal - All frames are rendered as fast as possible + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Limit - Force frames to normal speeds if too fast + True + GTK_RELIEF_NORMAL + True + False + False + True + GtkRadioButton_LimitNormal + + + 0 + False + False + + + + + + True + True + Frame Skip - In order to achieve normal speeds, + some frames are skipped (faster). + Fps displayed counts skipped frames too + True + GTK_RELIEF_NORMAL + True + False + False + True + GtkRadioButton_LimitNormal + + + 0 + False + False + + + + + + True + True + VU Skip - Same as Frame Skip, but tried to skip more. + Artifacts might be present, but will be faster + True + GTK_RELIEF_NORMAL + True + False + False + True + GtkRadioButton_LimitNormal + + + 0 + False + False + + + + + + + + + + True + Frame Limiting (F4 switches in-game) + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + True + Custom FPS Limit (0=auto): + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + True + + + + + + True + True + 1 + 0 + True + GTK_UPDATE_ALWAYS + False + False + 0 0 9999 1 10 10 + + + 0 + False + True + GTK_PACK_END + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + Skip Frames when slower than[1]: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + True + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 0 0 9999 1 10 10 + + + 0 + False + True + GTK_PACK_END + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + Consecutive Frames before skipping[2]: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + True + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 0 0 9999 1 10 10 + + + 0 + False + True + GTK_PACK_END + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + Consecutive Frames to skip[3]: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + True + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 0 0 9999 1 10 10 + + + 0 + False + True + GTK_PACK_END + + + + + 0 + True + True + + + + + + True + [1] Only skips when slower then this number(0 is auto; 9999 always skips). + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + [2] Renders this many frames before skipping (0 is default). + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + [3] Skips this many frames before continuing (0 is default). + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + + + + True + Detailed Settings + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + diff --git a/pcsx2/configure.ac b/pcsx2/configure.ac index 4c49fbe955..d75c0cb5c8 100644 --- a/pcsx2/configure.ac +++ b/pcsx2/configure.ac @@ -39,14 +39,12 @@ if test "x$debug" == xyes then AC_DEFINE(_DEBUG,1,[_DEBUG]) CFLAGS+=" ${DEBUG_FLAGS}" - dnl CPPFLAGS+=" ${DEBUG_FLAGS}" CXXFLAGS+=" ${DEBUG_FLAGS} -fpermissive -Xlinker -zmuldefs " CCASFLAGS+="-D_DEBUG ${DEBUG_FLAGS}" MYOBJDIR="Debug" else AC_DEFINE(NDEBUG,1,[NDEBUG]) CFLAGS+=" ${NORMAL_FLAGS}" - dnl CPPFLAGS+=" ${NORMAL_FLAGS}" CXXFLAGS+=" ${NORMAL_FLAGS} -fpermissive -Xlinker -zmuldefs " MYOBJDIR="Release" fi @@ -83,18 +81,6 @@ then fi AC_MSG_RESULT(sse4) -dnl Check for virtual memory build -dnl The virtual memory build hasn't worked in Linux for a long time, if ever. -dnl AC_MSG_CHECKING(for virtual memory build) -dnl AC_ARG_ENABLE(vmbuild, AC_HELP_STRING([--enable-vmbuild], [Adds low level virtual memory support to run pcsx2 faster]), -dnl vmbuild=$enableval,vmbuild=no) -dnl if test "x$vmbuild" == xyes -dnl then -dnl AC_DEFINE(PCSX2_VIRTUAL_MEM,1,[PCSX2_VIRTUAL_MEM]) -dnl MYOBJDIR=$MYOBJDIR"VM" -dnl fi -dnl AC_MSG_RESULT($vmbuild) - dnl Check for recompilation AC_MSG_CHECKING(for using platform dependent recompilers) AC_ARG_ENABLE(recbuild, AC_HELP_STRING([--disable-recbuild], [Disable all architecture dependent recompilers]), @@ -108,8 +94,6 @@ AM_CONDITIONAL(RECBUILD, test x$recbuild = xyes) dnl Check for 64bit CPU AC_MSG_CHECKING(for a x86-64 CPU) -dnl if test "$build_os" == "target_os" -dnl then AC_TRY_RUN([ int main() { @@ -123,9 +107,7 @@ asm(".intel_syntax\n" return 0; } ],cpu64=yes,cpu64=no,) -dnl else -dnl cpu64=no -dnl fi + if test "x$cpu64" == xyes then AC_DEFINE(__x86_64__,1,[__x86_64__]) @@ -167,4 +149,3 @@ echo " Debug build? $debug" echo " Dev build? $devbuild" echo " Force sse3? $sse3" echo " Recompilers enabled? $recbuild" -dnl echo " Virtual memory build? $vmbuild"