diff --git a/pcsx2/CDVD/IsoFileTools.cpp b/pcsx2/CDVD/IsoFileTools.cpp index 234ecd601b..538b180d33 100644 --- a/pcsx2/CDVD/IsoFileTools.cpp +++ b/pcsx2/CDVD/IsoFileTools.cpp @@ -1,17 +1,17 @@ -/* PCSX2 - PS2 Emulator for PCs - * Copyright (C) 2002-2009 PCSX2 Dev Team - * - * PCSX2 is free software: you can redistribute it and/or modify it under the terms - * of the GNU Lesser General Public License as published by the Free Software Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * PCSX2 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 PCSX2. - * If not, see . - */ +/* PCSX2 - PS2 Emulator for PCs + * Copyright (C) 2002-2009 PCSX2 Dev Team + * + * PCSX2 is free software: you can redistribute it and/or modify it under the terms + * of the GNU Lesser General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * PCSX2 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 PCSX2. + * If not, see . + */ #include "PrecompiledHeader.h" #include "IsoFileTools.h" diff --git a/pcsx2/CDVD/IsoFileTools.h b/pcsx2/CDVD/IsoFileTools.h index 183f06cecf..8865294386 100644 --- a/pcsx2/CDVD/IsoFileTools.h +++ b/pcsx2/CDVD/IsoFileTools.h @@ -1,48 +1,48 @@ -/* PCSX2 - PS2 Emulator for PCs - * Copyright (C) 2002-2009 PCSX2 Dev Team - * - * PCSX2 is free software: you can redistribute it and/or modify it under the terms - * of the GNU Lesser General Public License as published by the Free Software Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * PCSX2 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 PCSX2. - * If not, see . - */ - -#pragma once - -#ifndef _LARGEFILE_SOURCE -#define _LARGEFILE_SOURCE -#endif - -#ifndef _LARGEFILE64_SOURCE -#define _LARGEFILE64_SOURCE -#endif - -#ifndef __USE_FILE_OFFSET64 -#define __USE_FILE_OFFSET64 -#endif - -#define _FILE_OFFSET_BITS 64 - -#ifdef _MSC_VER -# pragma warning(disable:4018) // disable signed/unsigned mismatch error -#endif - -#include "IopCommon.h" - -#include -#include -#include - -extern void *_openfile(const char *filename, int flags); -extern u64 _tellfile(void *handle); -extern int _seekfile(void *handle, u64 offset, int whence); -extern int _readfile(void *handle, void *dst, int size); -extern int _writefile(void *handle, const void *src, int size); -extern void _closefile(void *handle); - +/* PCSX2 - PS2 Emulator for PCs + * Copyright (C) 2002-2009 PCSX2 Dev Team + * + * PCSX2 is free software: you can redistribute it and/or modify it under the terms + * of the GNU Lesser General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * PCSX2 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 PCSX2. + * If not, see . + */ + +#pragma once + +#ifndef _LARGEFILE_SOURCE +#define _LARGEFILE_SOURCE +#endif + +#ifndef _LARGEFILE64_SOURCE +#define _LARGEFILE64_SOURCE +#endif + +#ifndef __USE_FILE_OFFSET64 +#define __USE_FILE_OFFSET64 +#endif + +#define _FILE_OFFSET_BITS 64 + +#ifdef _MSC_VER +# pragma warning(disable:4018) // disable signed/unsigned mismatch error +#endif + +#include "IopCommon.h" + +#include +#include +#include + +extern void *_openfile(const char *filename, int flags); +extern u64 _tellfile(void *handle); +extern int _seekfile(void *handle, u64 offset, int whence); +extern int _readfile(void *handle, void *dst, int size); +extern int _writefile(void *handle, const void *src, int size); +extern void _closefile(void *handle); + diff --git a/pcsx2/Dump.h b/pcsx2/Dump.h index cdca84088f..1cee08096c 100644 --- a/pcsx2/Dump.h +++ b/pcsx2/Dump.h @@ -1,17 +1,17 @@ -/* PCSX2 - PS2 Emulator for PCs - * Copyright (C) 2002-2009 PCSX2 Dev Team - * - * PCSX2 is free software: you can redistribute it and/or modify it under the terms - * of the GNU Lesser General Public License as published by the Free Software Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * PCSX2 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 PCSX2. - * If not, see . - */ +/* PCSX2 - PS2 Emulator for PCs + * Copyright (C) 2002-2009 PCSX2 Dev Team + * + * PCSX2 is free software: you can redistribute it and/or modify it under the terms + * of the GNU Lesser General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * PCSX2 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 PCSX2. + * If not, see . + */ #pragma once diff --git a/pcsx2/Linux/LnxHostSys.cpp b/pcsx2/Linux/LnxHostSys.cpp index e2473f46e2..c915ecb0b8 100644 --- a/pcsx2/Linux/LnxHostSys.cpp +++ b/pcsx2/Linux/LnxHostSys.cpp @@ -1,17 +1,17 @@ -/* PCSX2 - PS2 Emulator for PCs - * Copyright (C) 2002-2009 PCSX2 Dev Team - * - * PCSX2 is free software: you can redistribute it and/or modify it under the terms - * of the GNU Lesser General Public License as published by the Free Software Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * PCSX2 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 PCSX2. - * If not, see . - */ +/* PCSX2 - PS2 Emulator for PCs + * Copyright (C) 2002-2009 PCSX2 Dev Team + * + * PCSX2 is free software: you can redistribute it and/or modify it under the terms + * of the GNU Lesser General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * PCSX2 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 PCSX2. + * If not, see . + */ #include "PrecompiledHeader.h" diff --git a/pcsx2/gui/MainFrame.cpp b/pcsx2/gui/MainFrame.cpp index f62c780706..416a79b3df 100644 --- a/pcsx2/gui/MainFrame.cpp +++ b/pcsx2/gui/MainFrame.cpp @@ -17,10 +17,14 @@ #include "MainFrame.h" #include "Resources/EmbeddedImage.h" -#include "Resources/AppIcon.h" +#include "Resources/AppIcon16.h" +#include "Resources/AppIcon32.h" +#include "Resources/AppIcon64.h" + +#include #ifdef _WIN32 -#include "svnrev.h" +# include "svnrev.h" #endif // ------------------------------------------------------------------------ @@ -299,10 +303,16 @@ MainEmuFrame::MainEmuFrame(wxWindow* parent, const wxString& title): SetTitle( wintitle ); - wxIcon myIcon; - myIcon.CopyFromBitmap( wxBitmap( EmbeddedImage().Rescale( 32, 32 ) ) ); - SetIcon( myIcon ); - + // Ideally the __WXMSW__ port should use the embedded IDI_ICON2 icon, because wxWidgets sucks and + // loses the transparency information when loading bitmaps into icons. But for some reason + // I cannot get it to work despite following various examples to the letter. + + wxIconBundle bundle; + bundle.AddIcon( EmbeddedImage().GetIcon() ); + bundle.AddIcon( EmbeddedImage().GetIcon() ); + bundle.AddIcon( EmbeddedImage().GetIcon() ); + SetIcons( bundle ); + int m_statusbar_widths[] = { (int)(backsize.GetWidth()*0.73), (int)(backsize.GetWidth()*0.25) }; m_statusbar.SetStatusWidths(2, m_statusbar_widths); m_statusbar.SetStatusText( L"The Status is Good!", 0); diff --git a/pcsx2/gui/Panels/ConfigurationPanels.h b/pcsx2/gui/Panels/ConfigurationPanels.h index bab60b7865..f923f72c78 100644 --- a/pcsx2/gui/Panels/ConfigurationPanels.h +++ b/pcsx2/gui/Panels/ConfigurationPanels.h @@ -262,6 +262,9 @@ namespace Panels // class GameFixesPanel: public BaseApplicableConfigPanel { + protected: + wxCheckBox* m_checkbox[NUM_OF_GAME_FIXES]; + public: GameFixesPanel( wxWindow& parent, int idealWidth ); void Apply( AppConfig& conf ); diff --git a/pcsx2/gui/Panels/GameFixesPanel.cpp b/pcsx2/gui/Panels/GameFixesPanel.cpp index ba5b9e2439..3cdbb8086b 100644 --- a/pcsx2/gui/Panels/GameFixesPanel.cpp +++ b/pcsx2/gui/Panels/GameFixesPanel.cpp @@ -17,7 +17,6 @@ #include "ConfigurationPanels.h" using namespace wxHelpers; -static wxCheckBox* game_fix_checkbox[NUM_OF_GAME_FIXES]; Panels::GameFixesPanel::GameFixesPanel( wxWindow& parent, int idealWidth ) : BaseApplicableConfigPanel( &parent, idealWidth) @@ -26,28 +25,53 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow& parent, int idealWidth ) : AddStaticText( mainSizer, _("Some games need special settings.\nEnable them here.") ); wxStaticBoxSizer& groupSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("PCSX2 Gamefixes") ); - game_fix_checkbox[0] = &AddCheckBox( groupSizer, _("VU Add Hack - for Tri-Ace games!"), wxEmptyString, _("Star Ocean 3, Radiata Stories and Valkyrie Profile 2 need this.") ); - game_fix_checkbox[0]->SetValue(EmuConfig.Gamefixes.VuAddSubHack); + + // NOTE: Oder of checkboxes must match the order of the bits in the GamefixOptions structure! + // NOTE2: Don't make this static, because translations can change at run-time :) - game_fix_checkbox[1] = &AddCheckBox( groupSizer, _( "VU Clip Flag Hack - Persona games. Only for SuperVU recompiler!") ); - game_fix_checkbox[1]->SetValue(EmuConfig.Gamefixes.VuClipFlagHack); - game_fix_checkbox[2] = &AddCheckBox( groupSizer, _("FPU Compare Hack - for Digimon Rumble Arena 2.") ); - game_fix_checkbox[2]->SetValue(EmuConfig.Gamefixes.FpuCompareHack); + struct CheckTextMess + { + wxString label, tooltip; + }; + const CheckTextMess check_text[NUM_OF_GAME_FIXES] = + { + { + _("VU Add Hack - for Tri-Ace games!"), + _("Games that need this hack to boot:\n * Star Ocean 3\n * Radiata Stories\n * Valkyrie Profile 2") + }, + { + _("VU Clip Flag Hack - for Persona games (SuperVU recompiler only!)"), + wxEmptyString + }, + { + _("FPU Compare Hack - for Digimon Rumble Arena 2."), + wxEmptyString + }, + { + _("FPU Multiply Hack - for Tales of Destiny."), + wxEmptyString + }, + { + _("DMA Execution Hack - for Fatal Frame."), + wxEmptyString + }, + { + _("VU XGkick Hack - for Erementar Gerad."), + wxEmptyString + }, + { + _("MPEG Hack - for Mana Khemia 1."), + wxEmptyString + } + }; - game_fix_checkbox[3] = &AddCheckBox( groupSizer, _("FPU Multiply Hack - for Tales of Destiny.") ); - game_fix_checkbox[3]->SetValue(EmuConfig.Gamefixes.FpuMulHack); - - game_fix_checkbox[4] = &AddCheckBox( groupSizer, _("DMA Execution Hack - for Fatal Frame.") ); - game_fix_checkbox[4]->SetValue(EmuConfig.Gamefixes.DMAExeHack); - - game_fix_checkbox[5] = &AddCheckBox( groupSizer, _("VU XGkick Hack - for Erementar Gerad.") ); - game_fix_checkbox[5]->SetValue(EmuConfig.Gamefixes.XgKickHack); - - // I may as well add this, since these aren't hooked in yet. If the consensus is against it, - // I'll remove it. - game_fix_checkbox[6] = &AddCheckBox( groupSizer, _("MPEG Hack - for Mana Khemia 1. Not working yet!") ); - game_fix_checkbox[6]->SetValue(EmuConfig.Gamefixes.MpegHack); + const Pcsx2Config::GamefixOptions& opts( g_Conf->EmuOptions.Gamefixes ); + for( int i=0; iSetValue( !!(opts.bitset & (1 << i)) ); + } mainSizer.Add( &groupSizer, wxSizerFlags().Centre() ); @@ -63,11 +87,12 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow& parent, int idealWidth ) : // I could still probably get rid of the for loop, but I think this is clearer. void Panels::GameFixesPanel::Apply( AppConfig& conf ) { + Pcsx2Config::GamefixOptions& opts( conf.EmuOptions.Gamefixes ); for (int i = 0; i < NUM_OF_GAME_FIXES; i++) { - if (game_fix_checkbox[i]->GetValue()) - EmuConfig.Gamefixes.bitset |= ( 1 << i); + if (m_checkbox[i]->GetValue()) + opts.bitset |= (1 << i); else - EmuConfig.Gamefixes.bitset &= ~( 1 << i); + opts.bitset &= ~(1 << i); } } diff --git a/pcsx2/gui/Resources/AppIcon.png b/pcsx2/gui/Resources/AppIcon.png deleted file mode 100644 index 8f78aa24a7..0000000000 Binary files a/pcsx2/gui/Resources/AppIcon.png and /dev/null differ diff --git a/pcsx2/gui/Resources/AppIcon16.png b/pcsx2/gui/Resources/AppIcon16.png new file mode 100644 index 0000000000..5cf490bd2f Binary files /dev/null and b/pcsx2/gui/Resources/AppIcon16.png differ diff --git a/pcsx2/gui/Resources/AppIcon32.png b/pcsx2/gui/Resources/AppIcon32.png new file mode 100644 index 0000000000..f1565dbf31 Binary files /dev/null and b/pcsx2/gui/Resources/AppIcon32.png differ diff --git a/pcsx2/gui/Resources/AppIcon64.png b/pcsx2/gui/Resources/AppIcon64.png new file mode 100644 index 0000000000..e56da2d6c0 Binary files /dev/null and b/pcsx2/gui/Resources/AppIcon64.png differ diff --git a/pcsx2/gui/Resources/EmbeddedImage.h b/pcsx2/gui/Resources/EmbeddedImage.h index b789c226d5..6163efe573 100644 --- a/pcsx2/gui/Resources/EmbeddedImage.h +++ b/pcsx2/gui/Resources/EmbeddedImage.h @@ -98,6 +98,13 @@ public: return m_Image; } + wxIcon GetIcon() + { + wxIcon retval; + retval.CopyFromBitmap( Get() ); + return retval; + } + // ------------------------------------------------------------------------ // Performs a pixel resize of the loaded image and returns a new image handle (EmbeddedImage // is left unmodified). Useful for creating ugly versions of otherwise nice graphics. Do diff --git a/pcsx2/windows/AppIcon.ico b/pcsx2/windows/AppIcon.ico index 693c4f2e61..653ed3b85b 100644 Binary files a/pcsx2/windows/AppIcon.ico and b/pcsx2/windows/AppIcon.ico differ diff --git a/pcsx2/windows/VCprojects/pcsx2_2008.vcproj b/pcsx2/windows/VCprojects/pcsx2_2008.vcproj index f2a84c0048..c49fd81294 100644 --- a/pcsx2/windows/VCprojects/pcsx2_2008.vcproj +++ b/pcsx2/windows/VCprojects/pcsx2_2008.vcproj @@ -2106,11 +2106,7 @@ Name="Resources" > - - @@ -2137,7 +2133,75 @@ > + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/CDVDnull/CDVD.cpp b/plugins/CDVDnull/CDVD.cpp index 746bb818db..2e10927ac0 100644 --- a/plugins/CDVDnull/CDVD.cpp +++ b/plugins/CDVDnull/CDVD.cpp @@ -1,17 +1,17 @@ /* CDVDnull - * Copyright (C) 2002-2009 PCSX2 Dev Team - * - * PCSX2 is free software: you can redistribute it and/or modify it under the terms - * of the GNU Lesser General Public License as published by the Free Software Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * PCSX2 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 PCSX2. - * If not, see . - */ + * Copyright (C) 2002-2009 PCSX2 Dev Team + * + * PCSX2 is free software: you can redistribute it and/or modify it under the terms + * of the GNU Lesser General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * PCSX2 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 PCSX2. + * If not, see . + */ #include diff --git a/plugins/CDVDnull/CDVD.h b/plugins/CDVDnull/CDVD.h index 73f5e7839e..00e44b5486 100644 --- a/plugins/CDVDnull/CDVD.h +++ b/plugins/CDVDnull/CDVD.h @@ -1,17 +1,17 @@ /* CDVDnull - * Copyright (C) 2002-2009 PCSX2 Dev Team - * - * PCSX2 is free software: you can redistribute it and/or modify it under the terms - * of the GNU Lesser General Public License as published by the Free Software Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * PCSX2 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 PCSX2. - * If not, see . - */ + * Copyright (C) 2002-2009 PCSX2 Dev Team + * + * PCSX2 is free software: you can redistribute it and/or modify it under the terms + * of the GNU Lesser General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * PCSX2 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 PCSX2. + * If not, see . + */ #ifndef __CDVD_H__ diff --git a/plugins/dev9null/DEV9.cpp b/plugins/dev9null/DEV9.cpp index 298f002f7d..dc57b0b8c7 100644 --- a/plugins/dev9null/DEV9.cpp +++ b/plugins/dev9null/DEV9.cpp @@ -1,17 +1,17 @@ /* DEV9null - * Copyright (C) 2002-2009 PCSX2 Dev Team - * - * PCSX2 is free software: you can redistribute it and/or modify it under the terms - * of the GNU Lesser General Public License as published by the Free Software Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * PCSX2 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 PCSX2. - * If not, see . - */ + * Copyright (C) 2002-2009 PCSX2 Dev Team + * + * PCSX2 is free software: you can redistribute it and/or modify it under the terms + * of the GNU Lesser General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * PCSX2 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 PCSX2. + * If not, see . + */ #include #include