set svn:eol-style=native for **.h

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1438 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
bushing
2008-12-08 04:46:09 +00:00
parent e6fe5ec42f
commit 30c883bcfc
334 changed files with 30407 additions and 30407 deletions

View File

@ -1,62 +1,62 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _ABOUTDOLPHIN_H_
#define _ABOUTDOLPHIN_H_
#include <wx/wx.h>
#include <wx/dialog.h>
#include <wx/button.h>
#include <wx/stattext.h>
#include <wx/statbox.h>
#include <wx/mstream.h>
#include <wx/statbmp.h>
#undef ABOUTDOLPHIN_STYLE
#define ABOUTDOLPHIN_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX
class AboutDolphin : public wxDialog
{
public:
AboutDolphin(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("About Dolphin"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = ABOUTDOLPHIN_STYLE);
virtual ~AboutDolphin();
void CloseClick(wxCommandEvent& event);
private:
DECLARE_EVENT_TABLE();
wxBoxSizer *sMain;
wxBoxSizer *sButtons;
wxBoxSizer *sMainHor;
wxBoxSizer *sInfo;
wxButton *m_Close;
wxStaticText *Message;
wxBitmap *DolphinLogo;
wxStaticBitmap *sbDolphinLogo;
enum
{
ID_CLOSE = 1000,
ID_LOGO,
ID_MESSAGE
};
void OnClose(wxCloseEvent& event);
void CreateGUIControls();
};
#endif //_ABOUTDOLPHIN_H_
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _ABOUTDOLPHIN_H_
#define _ABOUTDOLPHIN_H_
#include <wx/wx.h>
#include <wx/dialog.h>
#include <wx/button.h>
#include <wx/stattext.h>
#include <wx/statbox.h>
#include <wx/mstream.h>
#include <wx/statbmp.h>
#undef ABOUTDOLPHIN_STYLE
#define ABOUTDOLPHIN_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX
class AboutDolphin : public wxDialog
{
public:
AboutDolphin(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("About Dolphin"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = ABOUTDOLPHIN_STYLE);
virtual ~AboutDolphin();
void CloseClick(wxCommandEvent& event);
private:
DECLARE_EVENT_TABLE();
wxBoxSizer *sMain;
wxBoxSizer *sButtons;
wxBoxSizer *sMainHor;
wxBoxSizer *sInfo;
wxButton *m_Close;
wxStaticText *Message;
wxBitmap *DolphinLogo;
wxStaticBitmap *sbDolphinLogo;
enum
{
ID_CLOSE = 1000,
ID_LOGO,
ID_MESSAGE
};
void OnClose(wxCloseEvent& event);
void CreateGUIControls();
};
#endif //_ABOUTDOLPHIN_H_

View File

@ -1,32 +1,32 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _BOOTMANAGER_H
#define _BOOTMANAGER_H
#include <string>
class GameListItem;
namespace BootManager
{
bool BootCore(const std::string& _rFilename);
void Stop();
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _BOOTMANAGER_H
#define _BOOTMANAGER_H
#include <string>
class GameListItem;
namespace BootManager
{
bool BootCore(const std::string& _rFilename);
void Stop();
};
#endif

View File

@ -1,119 +1,119 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __CHEATSWINDOW_H__
#define __CHEATSWINDOW_H__
#include <wx/wx.h>
#include <wx/sizer.h>
#include <wx/filepicker.h>
#include <wx/statbmp.h>
#include <wx/imaglist.h>
#include <wx/treectrl.h>
#include <wx/gbsizer.h>
#include <wx/notebook.h>
#include <wx/mimetype.h>
#include <wx/colour.h>
#include <wx/listbox.h>
#include <string>
#include "ActionReplay.h"
#include "Filesystem.h"
#include "IniFile.h"
#undef wxCHEATSWINDOW_STYLE
#define wxCHEATSWINDOW_STYLE wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX | wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE
class wxCheatsWindow : public wxFrame
{
public:
wxCheatsWindow(wxFrame* parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
virtual ~wxCheatsWindow();
protected:
struct ARCodeIndex {
u32 uiIndex;
size_t index;
};
// Event Table
DECLARE_EVENT_TABLE();
// --- GUI Controls ---
wxGridBagSizer* m_Sizer_TabCheats;
wxNotebook *m_Notebook_Main;
wxPanel *m_Tab_Cheats;
wxPanel *m_Tab_Log;
wxButton *m_Button_Close;
wxButton *m_Button_ApplyCodes;
wxStaticText *m_Label_Codename;
wxStaticText *m_Label_NumCodes;
wxCheckListBox *m_CheckListBox_CheatsList;
wxListBox *m_ListBox_CodesList;
wxStaticBox *m_GroupBox_Info;
wxArrayString m_CheatStringList;
std::vector<ARCodeIndex> indexList;
// GUI IDs
enum
{
ID_NOTEBOOK_MAIN,
ID_TAB_CHEATS,
ID_TAB_LOG,
ID_BUTTON_CLOSE,
ID_CHECKLISTBOX_CHEATSLIST,
ID_LABEL_CODENAME,
ID_GROUPBOX_INFO,
ID_BUTTON_APPLYCODES,
ID_LABEL_NUMCODES,
ID_LISTBOX_CODESLIST
};
void Init_ChildControls();
void Load_ARCodes();
// --- Wx Events Handlers ---
// $ Window
void OnEvent_Window_Resize(wxSizeEvent& event);
void OnEvent_Window_Close(wxCloseEvent& event);
// $ Close Button
void OnEvent_ButtonClose_Press(wxCommandEvent& event);
// $ Cheats List
void OnEvent_CheatsList_ItemSelected(wxCommandEvent& event);
void OnEvent_CheatsList_ItemToggled(wxCommandEvent& event);
// $ Update Active Codes Button
void OnEvent_ButtonUpdateCodes_Press(wxCommandEvent& event);
};
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __CHEATSWINDOW_H__
#define __CHEATSWINDOW_H__
#include <wx/wx.h>
#include <wx/sizer.h>
#include <wx/filepicker.h>
#include <wx/statbmp.h>
#include <wx/imaglist.h>
#include <wx/treectrl.h>
#include <wx/gbsizer.h>
#include <wx/notebook.h>
#include <wx/mimetype.h>
#include <wx/colour.h>
#include <wx/listbox.h>
#include <string>
#include "ActionReplay.h"
#include "Filesystem.h"
#include "IniFile.h"
#undef wxCHEATSWINDOW_STYLE
#define wxCHEATSWINDOW_STYLE wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX | wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE
class wxCheatsWindow : public wxFrame
{
public:
wxCheatsWindow(wxFrame* parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
virtual ~wxCheatsWindow();
protected:
struct ARCodeIndex {
u32 uiIndex;
size_t index;
};
// Event Table
DECLARE_EVENT_TABLE();
// --- GUI Controls ---
wxGridBagSizer* m_Sizer_TabCheats;
wxNotebook *m_Notebook_Main;
wxPanel *m_Tab_Cheats;
wxPanel *m_Tab_Log;
wxButton *m_Button_Close;
wxButton *m_Button_ApplyCodes;
wxStaticText *m_Label_Codename;
wxStaticText *m_Label_NumCodes;
wxCheckListBox *m_CheckListBox_CheatsList;
wxListBox *m_ListBox_CodesList;
wxStaticBox *m_GroupBox_Info;
wxArrayString m_CheatStringList;
std::vector<ARCodeIndex> indexList;
// GUI IDs
enum
{
ID_NOTEBOOK_MAIN,
ID_TAB_CHEATS,
ID_TAB_LOG,
ID_BUTTON_CLOSE,
ID_CHECKLISTBOX_CHEATSLIST,
ID_LABEL_CODENAME,
ID_GROUPBOX_INFO,
ID_BUTTON_APPLYCODES,
ID_LABEL_NUMCODES,
ID_LISTBOX_CODESLIST
};
void Init_ChildControls();
void Load_ARCodes();
// --- Wx Events Handlers ---
// $ Window
void OnEvent_Window_Resize(wxSizeEvent& event);
void OnEvent_Window_Close(wxCloseEvent& event);
// $ Close Button
void OnEvent_ButtonClose_Press(wxCommandEvent& event);
// $ Cheats List
void OnEvent_CheatsList_ItemSelected(wxCommandEvent& event);
void OnEvent_CheatsList_ItemToggled(wxCommandEvent& event);
// $ Update Active Codes Button
void OnEvent_ButtonUpdateCodes_Press(wxCommandEvent& event);
};
#endif

View File

@ -1,64 +1,64 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _CONFIG_H
#define _CONFIG_H
#include <string>
#include <vector>
#include "Boot/Boot.h"
struct SConfig
{
// hard coded default plugins ...
std::string m_DefaultGFXPlugin;
std::string m_DefaultDSPPlugin;
std::string m_DefaultPADPlugin;
std::string m_DefaultWiiMotePlugin;
// name of the last used filename
std::string m_LastFilename;
// gcm folder
std::vector<std::string>m_ISOFolder;
SCoreStartupParameter m_LocalCoreStartupParameter;
// save settings
void SaveSettings();
// load settings
void LoadSettings();
static SConfig& GetInstance() {return(m_Instance);}
private:
// constructor
SConfig();
// destructor
~SConfig();
static SConfig m_Instance;
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _CONFIG_H
#define _CONFIG_H
#include <string>
#include <vector>
#include "Boot/Boot.h"
struct SConfig
{
// hard coded default plugins ...
std::string m_DefaultGFXPlugin;
std::string m_DefaultDSPPlugin;
std::string m_DefaultPADPlugin;
std::string m_DefaultWiiMotePlugin;
// name of the last used filename
std::string m_LastFilename;
// gcm folder
std::vector<std::string>m_ISOFolder;
SCoreStartupParameter m_LocalCoreStartupParameter;
// save settings
void SaveSettings();
// load settings
void LoadSettings();
static SConfig& GetInstance() {return(m_Instance);}
private:
// constructor
SConfig();
// destructor
~SConfig();
static SConfig m_Instance;
};
#endif

View File

@ -1,256 +1,256 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __CONFIG_MAIN_h__
#define __CONFIG_MAIN_h__
#include <wx/wx.h>
#include <wx/gbsizer.h>
#include <wx/notebook.h>
#include <wx/filepicker.h>
//#include <wx/listbox.h>
#include "Config.h"
#undef CONFIG_MAIN_STYLE
#define CONFIG_MAIN_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX
class CConfigMain
: public wxDialog
{
public:
CConfigMain(wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Dolphin Configuration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = CONFIG_MAIN_STYLE);
virtual ~CConfigMain();
void CloseClick(wxCommandEvent& event);
void OnSelectionChanged(wxCommandEvent& event);
void OnConfig(wxCommandEvent& event);
bool bRefreshList;
private:
DECLARE_EVENT_TABLE();
wxBoxSizer* sGeneral;
wxStaticBoxSizer* sbBasic;
wxStaticBoxSizer* sbAdvanced;
wxBoxSizer* sGamecube;
wxStaticBoxSizer* sbGamecubeIPLSettings;
wxGridBagSizer* sGamecubeIPLSettings;
wxBoxSizer* sWii;
wxStaticBoxSizer* sbWiimoteSettings;
wxGridBagSizer* sWiimoteSettings;
wxStaticBoxSizer* sbWiiIPLSettings;
wxGridBagSizer* sWiiIPLSettings;
wxBoxSizer* sPaths;
wxStaticBoxSizer* sbISOPaths;
wxBoxSizer* sISOButtons;
wxGridBagSizer* sOtherPaths;
wxBoxSizer* sPlugins;
wxStaticBoxSizer* sbGraphicsPlugin;
wxStaticBoxSizer* sbDSPPlugin;
wxStaticBoxSizer* sbPadPlugin;
wxStaticBoxSizer* sbWiimotePlugin;
wxNotebook *Notebook;
wxPanel *GeneralPage;
wxPanel *GamecubePage;
wxPanel *WiiPage;
wxPanel *PathsPage;
wxPanel *PluginPage;
wxButton* m_Close;
wxCheckBox* AllwaysHLEBIOS;
wxCheckBox* UseDynaRec;
wxCheckBox* UseDualCore;
wxCheckBox* LockThreads;
wxCheckBox* OptimizeQuantizers;
wxCheckBox* SkipIdle;
wxCheckBox* EnableCheats;
wxArrayString arrayStringFor_GCSystemLang;
wxStaticText* GCSystemLangText;
wxChoice* GCSystemLang;
FILE* pStream;
u8 m_SYSCONF[0x4000];
bool m_bSysconfOK;
std::string FullSYSCONFPath;
enum
{
BT_DINF = 0x0044,
BT_SENS = 0x04AF,
BT_BAR = 0x04E1,
BT_SPKV = 0x151A,
BT_MOT = 0x1807
};
enum
{
IPL_AR = 0x04D9,
IPL_SSV = 0x04EA,
IPL_LNG = 0x04F3,
IPL_PGS = 0x17CC,
IPL_E60 = 0x17D5
};
/* Some offsets in SYSCONF: (taken from ector's SYSCONF)
Note: offset is where the actual data starts, not where the type or name begins
offset length name comment
0x0044 0x460 BT.DINF List of Wiimotes "synced" to the system
0x158B ? BT.CDIF ? -- Starts with 0x0204 followed by 0x210 of 0x00
0x04AF 4 BT.SENS Wiimote sensitivity setting
0x04E1 1 BT.BAR Sensor bar position (0:bottom)
0x151A 1 BT.SPKV Wiimote speaker volume
0x1807 1 BT.MOT Wiimote motor on/off
0x17F3 2 IPL.IDL Shutdown mode and idle LED mode
0x17C3 1 IPL.UPT Update Type
0x04BB 0x16 IPL.NIK Console Nickname
0x04D9 1 IPL.AR Aspect ratio setting. 0: 4:3 1: 16:9
0x04EA 1 IPL.SSV Screen Saver off/on (burn-in reduction)
0x04F3 1 IPL.LNG System Language, see conf.c for some values
0x04FD 0x1007 IPL.SADR "Simple Address" Contains some region info
0x150E 4 IPL.CB Counter Bias -- difference between RTC and local time, in seconds
0x1522 0x50 IPL.PC Parental Control password/setting
0x17B1 1 IPL.CD Config Done flag -- has initial setup been performed?
0x17BA 1 IPL.CD2 Config2 Done flag -- has network setup been performed?
0x17FF 1 IPL.EULA EULA Done flag -- has EULA been acknowledged?
0x17CC 1 IPL.PGS Use Progressive Scan
0x17D5 1 IPL.E60 Use EuRGB60 (PAL6)
? 1 IPL.SND Sound setting
0x17DD 1 IPL.DH Display Offset (Horiz)
0x179A 4 IPL.INC "Installed Channel App Count"
? ? IPL.ARN ?
0x17A7 4 IPL.FRC "Free Channel App Count"
? ? DEV.BTM ?
? ? DEV.VIM ?
? ? DEV.CTC ?
? ? DEV.DSM ?
? ? DVD.CNF ?
0x1582 ? WWW.RST WWW Restriction
? ? NET.CNF ?
? ? NET.CFG ?
0x1576 4 NET.CTPC Net Content Restrictions ("Content Parental Control"?)
0x17E7 4 NET.WCFG WC24 Configuration flags
*/
wxArrayString arrayStringFor_WiiSensBarPos;
wxStaticText* WiiSensBarPosText;
wxChoice* WiiSensBarPos;
wxCheckBox* WiiScreenSaver;
wxCheckBox* WiiProgressiveScan;
wxCheckBox* WiiEuRGB60;
wxArrayString arrayStringFor_WiiAspectRatio;
wxStaticText* WiiAspectRatioText;
wxChoice* WiiAspectRatio;
wxArrayString arrayStringFor_WiiSystemLang;
wxStaticText* WiiSystemLangText;
wxChoice* WiiSystemLang;
wxArrayString arrayStringFor_ISOPaths;
wxListBox* ISOPaths;
wxButton* AddISOPath;
wxButton* RemoveISOPath;
wxStaticText* DefaultISOText;
wxFilePickerCtrl* DefaultISO;
wxStaticText* DVDRootText;
wxDirPickerCtrl* DVDRoot;
wxStaticText* PADText;
wxButton* PADConfig;
wxChoice* PADSelection;
wxButton* DSPConfig;
wxStaticText* DSPText;
wxChoice* DSPSelection;
wxButton* GraphicConfig;
wxStaticText* GraphicText;
wxChoice* GraphicSelection;
wxButton* WiimoteConfig;
wxStaticText* WiimoteText;
wxChoice* WiimoteSelection;
enum
{
ID_NOTEBOOK = 1000,
ID_GENERALPAGE,
ID_GAMECUBEPAGE,
ID_WIIPAGE,
ID_PATHSPAGE,
ID_PLUGINPAGE,
ID_CLOSE,
ID_ALLWAYS_HLEBIOS,
ID_USEDYNAREC,
ID_USEDUALCORE,
ID_LOCKTHREADS,
ID_OPTIMIZEQUANTIZERS,
ID_IDLESKIP,
ID_ENABLECHEATS,
ID_ENABLEISOCACHE,
ID_GC_SRAM_LNG_TEXT,
ID_GC_SRAM_LNG,
ID_WII_BT_BAR_TEXT,
ID_WII_BT_BAR,
ID_WII_IPL_SSV,
ID_WII_IPL_PGS,
ID_WII_IPL_E60,
ID_WII_IPL_AR_TEXT,
ID_WII_IPL_AR,
ID_WII_IPL_LNG_TEXT,
ID_WII_IPL_LNG,
ID_ISOPATHS,
ID_ADDISOPATH,
ID_REMOVEISOPATH,
ID_DEFAULTISO_TEXT,
ID_DEFAULTISO,
ID_DVDROOT_TEXT,
ID_DVDROOT,
ID_WIIMOTE_ABOUT,
ID_WIIMOTE_CONFIG,
ID_WIIMOTE_TEXT,
ID_WIIMOTE_CB,
ID_PAD_TEXT,
ID_PAD_ABOUT ,
ID_PAD_CONFIG,
ID_PAD_CB,
ID_DSP_ABOUT,
ID_DSP_CONFIG,
ID_DSP_TEXT,
ID_DSP_CB,
ID_GRAPHIC_ABOUT,
ID_GRAPHIC_CONFIG,
ID_GRAPHIC_TEXT,
ID_GRAPHIC_CB
};
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void CoreSettingsChanged(wxCommandEvent& event);
void GCSettingsChanged(wxCommandEvent& event);
void WiiSettingsChanged(wxCommandEvent& event);
void ISOPathsSelectionChanged(wxCommandEvent& event);
void AddRemoveISOPaths(wxCommandEvent& event);
void DefaultISOChanged(wxFileDirPickerEvent& event);
void DVDRootChanged(wxFileDirPickerEvent& event);
void FillChoiceBox(wxChoice* _pChoice, int _PluginType, const std::string& _SelectFilename);
void CallConfig(wxChoice* _pChoice);
bool GetFilename(wxChoice* _pChoice, std::string& _rFilename);
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __CONFIG_MAIN_h__
#define __CONFIG_MAIN_h__
#include <wx/wx.h>
#include <wx/gbsizer.h>
#include <wx/notebook.h>
#include <wx/filepicker.h>
//#include <wx/listbox.h>
#include "Config.h"
#undef CONFIG_MAIN_STYLE
#define CONFIG_MAIN_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX
class CConfigMain
: public wxDialog
{
public:
CConfigMain(wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Dolphin Configuration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = CONFIG_MAIN_STYLE);
virtual ~CConfigMain();
void CloseClick(wxCommandEvent& event);
void OnSelectionChanged(wxCommandEvent& event);
void OnConfig(wxCommandEvent& event);
bool bRefreshList;
private:
DECLARE_EVENT_TABLE();
wxBoxSizer* sGeneral;
wxStaticBoxSizer* sbBasic;
wxStaticBoxSizer* sbAdvanced;
wxBoxSizer* sGamecube;
wxStaticBoxSizer* sbGamecubeIPLSettings;
wxGridBagSizer* sGamecubeIPLSettings;
wxBoxSizer* sWii;
wxStaticBoxSizer* sbWiimoteSettings;
wxGridBagSizer* sWiimoteSettings;
wxStaticBoxSizer* sbWiiIPLSettings;
wxGridBagSizer* sWiiIPLSettings;
wxBoxSizer* sPaths;
wxStaticBoxSizer* sbISOPaths;
wxBoxSizer* sISOButtons;
wxGridBagSizer* sOtherPaths;
wxBoxSizer* sPlugins;
wxStaticBoxSizer* sbGraphicsPlugin;
wxStaticBoxSizer* sbDSPPlugin;
wxStaticBoxSizer* sbPadPlugin;
wxStaticBoxSizer* sbWiimotePlugin;
wxNotebook *Notebook;
wxPanel *GeneralPage;
wxPanel *GamecubePage;
wxPanel *WiiPage;
wxPanel *PathsPage;
wxPanel *PluginPage;
wxButton* m_Close;
wxCheckBox* AllwaysHLEBIOS;
wxCheckBox* UseDynaRec;
wxCheckBox* UseDualCore;
wxCheckBox* LockThreads;
wxCheckBox* OptimizeQuantizers;
wxCheckBox* SkipIdle;
wxCheckBox* EnableCheats;
wxArrayString arrayStringFor_GCSystemLang;
wxStaticText* GCSystemLangText;
wxChoice* GCSystemLang;
FILE* pStream;
u8 m_SYSCONF[0x4000];
bool m_bSysconfOK;
std::string FullSYSCONFPath;
enum
{
BT_DINF = 0x0044,
BT_SENS = 0x04AF,
BT_BAR = 0x04E1,
BT_SPKV = 0x151A,
BT_MOT = 0x1807
};
enum
{
IPL_AR = 0x04D9,
IPL_SSV = 0x04EA,
IPL_LNG = 0x04F3,
IPL_PGS = 0x17CC,
IPL_E60 = 0x17D5
};
/* Some offsets in SYSCONF: (taken from ector's SYSCONF)
Note: offset is where the actual data starts, not where the type or name begins
offset length name comment
0x0044 0x460 BT.DINF List of Wiimotes "synced" to the system
0x158B ? BT.CDIF ? -- Starts with 0x0204 followed by 0x210 of 0x00
0x04AF 4 BT.SENS Wiimote sensitivity setting
0x04E1 1 BT.BAR Sensor bar position (0:bottom)
0x151A 1 BT.SPKV Wiimote speaker volume
0x1807 1 BT.MOT Wiimote motor on/off
0x17F3 2 IPL.IDL Shutdown mode and idle LED mode
0x17C3 1 IPL.UPT Update Type
0x04BB 0x16 IPL.NIK Console Nickname
0x04D9 1 IPL.AR Aspect ratio setting. 0: 4:3 1: 16:9
0x04EA 1 IPL.SSV Screen Saver off/on (burn-in reduction)
0x04F3 1 IPL.LNG System Language, see conf.c for some values
0x04FD 0x1007 IPL.SADR "Simple Address" Contains some region info
0x150E 4 IPL.CB Counter Bias -- difference between RTC and local time, in seconds
0x1522 0x50 IPL.PC Parental Control password/setting
0x17B1 1 IPL.CD Config Done flag -- has initial setup been performed?
0x17BA 1 IPL.CD2 Config2 Done flag -- has network setup been performed?
0x17FF 1 IPL.EULA EULA Done flag -- has EULA been acknowledged?
0x17CC 1 IPL.PGS Use Progressive Scan
0x17D5 1 IPL.E60 Use EuRGB60 (PAL6)
? 1 IPL.SND Sound setting
0x17DD 1 IPL.DH Display Offset (Horiz)
0x179A 4 IPL.INC "Installed Channel App Count"
? ? IPL.ARN ?
0x17A7 4 IPL.FRC "Free Channel App Count"
? ? DEV.BTM ?
? ? DEV.VIM ?
? ? DEV.CTC ?
? ? DEV.DSM ?
? ? DVD.CNF ?
0x1582 ? WWW.RST WWW Restriction
? ? NET.CNF ?
? ? NET.CFG ?
0x1576 4 NET.CTPC Net Content Restrictions ("Content Parental Control"?)
0x17E7 4 NET.WCFG WC24 Configuration flags
*/
wxArrayString arrayStringFor_WiiSensBarPos;
wxStaticText* WiiSensBarPosText;
wxChoice* WiiSensBarPos;
wxCheckBox* WiiScreenSaver;
wxCheckBox* WiiProgressiveScan;
wxCheckBox* WiiEuRGB60;
wxArrayString arrayStringFor_WiiAspectRatio;
wxStaticText* WiiAspectRatioText;
wxChoice* WiiAspectRatio;
wxArrayString arrayStringFor_WiiSystemLang;
wxStaticText* WiiSystemLangText;
wxChoice* WiiSystemLang;
wxArrayString arrayStringFor_ISOPaths;
wxListBox* ISOPaths;
wxButton* AddISOPath;
wxButton* RemoveISOPath;
wxStaticText* DefaultISOText;
wxFilePickerCtrl* DefaultISO;
wxStaticText* DVDRootText;
wxDirPickerCtrl* DVDRoot;
wxStaticText* PADText;
wxButton* PADConfig;
wxChoice* PADSelection;
wxButton* DSPConfig;
wxStaticText* DSPText;
wxChoice* DSPSelection;
wxButton* GraphicConfig;
wxStaticText* GraphicText;
wxChoice* GraphicSelection;
wxButton* WiimoteConfig;
wxStaticText* WiimoteText;
wxChoice* WiimoteSelection;
enum
{
ID_NOTEBOOK = 1000,
ID_GENERALPAGE,
ID_GAMECUBEPAGE,
ID_WIIPAGE,
ID_PATHSPAGE,
ID_PLUGINPAGE,
ID_CLOSE,
ID_ALLWAYS_HLEBIOS,
ID_USEDYNAREC,
ID_USEDUALCORE,
ID_LOCKTHREADS,
ID_OPTIMIZEQUANTIZERS,
ID_IDLESKIP,
ID_ENABLECHEATS,
ID_ENABLEISOCACHE,
ID_GC_SRAM_LNG_TEXT,
ID_GC_SRAM_LNG,
ID_WII_BT_BAR_TEXT,
ID_WII_BT_BAR,
ID_WII_IPL_SSV,
ID_WII_IPL_PGS,
ID_WII_IPL_E60,
ID_WII_IPL_AR_TEXT,
ID_WII_IPL_AR,
ID_WII_IPL_LNG_TEXT,
ID_WII_IPL_LNG,
ID_ISOPATHS,
ID_ADDISOPATH,
ID_REMOVEISOPATH,
ID_DEFAULTISO_TEXT,
ID_DEFAULTISO,
ID_DVDROOT_TEXT,
ID_DVDROOT,
ID_WIIMOTE_ABOUT,
ID_WIIMOTE_CONFIG,
ID_WIIMOTE_TEXT,
ID_WIIMOTE_CB,
ID_PAD_TEXT,
ID_PAD_ABOUT ,
ID_PAD_CONFIG,
ID_PAD_CB,
ID_DSP_ABOUT,
ID_DSP_CONFIG,
ID_DSP_TEXT,
ID_DSP_CB,
ID_GRAPHIC_ABOUT,
ID_GRAPHIC_CONFIG,
ID_GRAPHIC_TEXT,
ID_GRAPHIC_CB
};
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void CoreSettingsChanged(wxCommandEvent& event);
void GCSettingsChanged(wxCommandEvent& event);
void WiiSettingsChanged(wxCommandEvent& event);
void ISOPathsSelectionChanged(wxCommandEvent& event);
void AddRemoveISOPaths(wxCommandEvent& event);
void DefaultISOChanged(wxFileDirPickerEvent& event);
void DVDRootChanged(wxFileDirPickerEvent& event);
void FillChoiceBox(wxChoice* _pChoice, int _PluginType, const std::string& _SelectFilename);
void CallConfig(wxChoice* _pChoice);
bool GetFilename(wxChoice* _pChoice, std::string& _rFilename);
};
#endif

View File

@ -1,109 +1,109 @@
#ifndef __FRAME_H_
#define __FRAME_H_
#include <wx/wx.h>
#include <wx/busyinfo.h>
class CGameListCtrl;
class CFrame : public wxFrame
{
public:
CFrame(wxFrame* parent,
wxWindowID id = wxID_ANY,
const wxString& title = _T("Dolphin"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE);
void* GetRenderHandle() {return(m_Panel->GetHandle());}
private:
wxBoxSizer* sizerPanel;
CGameListCtrl* m_GameListCtrl;
wxPanel* m_Panel;
enum EBitmaps
{
Toolbar_FileOpen,
Toolbar_Refresh,
Toolbar_Browse,
Toolbar_Play,
Toolbar_Play_Dis,
Toolbar_Stop,
Toolbar_Stop_Dis,
Toolbar_Pause,
Toolbar_PluginOptions,
Toolbar_PluginOptions_Dis,
Toolbar_PluginGFX,
Toolbar_PluginDSP,
Toolbar_PluginPAD,
Toolbar_FullScreen,
Toolbar_Help,
Bitmaps_Max
};
wxBitmap m_Bitmaps[Bitmaps_Max];
wxBitmap m_BitmapsMenu[Bitmaps_Max];
void InitBitmaps();
void PopulateToolbar(wxToolBar* toolBar);
void RecreateToolbar();
void CreateMenu();
#ifdef _WIN32
// Override window proc for tricks like screensaver disabling
WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
#endif
// event handler
void OnQuit(wxCommandEvent& event);
void OnHelp(wxCommandEvent& event);
void OnRefresh(wxCommandEvent& event);
void OnConfigMain(wxCommandEvent& event);
void OnPluginGFX(wxCommandEvent& event);
void OnPluginDSP(wxCommandEvent& event);
void OnPluginPAD(wxCommandEvent& event);
void OnPluginWiimote(wxCommandEvent& event);
void OnOpen(wxCommandEvent& event);
void OnPlay(wxCommandEvent& event);
void OnStop(wxCommandEvent& event);
void OnBrowse(wxCommandEvent& event);
void OnMemcard(wxCommandEvent& event);
void OnShow_CheatsWindow(wxCommandEvent& event);
void OnToggleFullscreen(wxCommandEvent& event);
void OnToggleDualCore(wxCommandEvent& event);
void OnToggleSkipIdle(wxCommandEvent& event);
void OnToggleThrottle(wxCommandEvent& event);
void OnToggleToolbar(wxCommandEvent& event);
void OnToggleStatusbar(wxCommandEvent& event);
void OnKeyDown(wxKeyEvent& event);
void OnHostMessage(wxCommandEvent& event);
void OnLoadState(wxCommandEvent& event);
void OnSaveState(wxCommandEvent& event);
void OnClose(wxCloseEvent &event);
wxStatusBar* m_pStatusBar;
wxMenuBar* m_pMenuBar;
wxMenuItem* m_pMenuItemPlay;
wxMenuItem* m_pMenuItemStop;
wxMenuItem* m_pPluginOptions;
wxMenuItem* m_pMenuItemLoad;
wxMenuItem* m_pMenuItemSave;
wxToolBarToolBase* m_pToolPlay;
wxBusyInfo* m_pBootProcessDialog;
void UpdateGUI();
// old function that could be cool
DECLARE_EVENT_TABLE();
};
#endif // __FRAME_H_
#ifndef __FRAME_H_
#define __FRAME_H_
#include <wx/wx.h>
#include <wx/busyinfo.h>
class CGameListCtrl;
class CFrame : public wxFrame
{
public:
CFrame(wxFrame* parent,
wxWindowID id = wxID_ANY,
const wxString& title = _T("Dolphin"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE);
void* GetRenderHandle() {return(m_Panel->GetHandle());}
private:
wxBoxSizer* sizerPanel;
CGameListCtrl* m_GameListCtrl;
wxPanel* m_Panel;
enum EBitmaps
{
Toolbar_FileOpen,
Toolbar_Refresh,
Toolbar_Browse,
Toolbar_Play,
Toolbar_Play_Dis,
Toolbar_Stop,
Toolbar_Stop_Dis,
Toolbar_Pause,
Toolbar_PluginOptions,
Toolbar_PluginOptions_Dis,
Toolbar_PluginGFX,
Toolbar_PluginDSP,
Toolbar_PluginPAD,
Toolbar_FullScreen,
Toolbar_Help,
Bitmaps_Max
};
wxBitmap m_Bitmaps[Bitmaps_Max];
wxBitmap m_BitmapsMenu[Bitmaps_Max];
void InitBitmaps();
void PopulateToolbar(wxToolBar* toolBar);
void RecreateToolbar();
void CreateMenu();
#ifdef _WIN32
// Override window proc for tricks like screensaver disabling
WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
#endif
// event handler
void OnQuit(wxCommandEvent& event);
void OnHelp(wxCommandEvent& event);
void OnRefresh(wxCommandEvent& event);
void OnConfigMain(wxCommandEvent& event);
void OnPluginGFX(wxCommandEvent& event);
void OnPluginDSP(wxCommandEvent& event);
void OnPluginPAD(wxCommandEvent& event);
void OnPluginWiimote(wxCommandEvent& event);
void OnOpen(wxCommandEvent& event);
void OnPlay(wxCommandEvent& event);
void OnStop(wxCommandEvent& event);
void OnBrowse(wxCommandEvent& event);
void OnMemcard(wxCommandEvent& event);
void OnShow_CheatsWindow(wxCommandEvent& event);
void OnToggleFullscreen(wxCommandEvent& event);
void OnToggleDualCore(wxCommandEvent& event);
void OnToggleSkipIdle(wxCommandEvent& event);
void OnToggleThrottle(wxCommandEvent& event);
void OnToggleToolbar(wxCommandEvent& event);
void OnToggleStatusbar(wxCommandEvent& event);
void OnKeyDown(wxKeyEvent& event);
void OnHostMessage(wxCommandEvent& event);
void OnLoadState(wxCommandEvent& event);
void OnSaveState(wxCommandEvent& event);
void OnClose(wxCloseEvent &event);
wxStatusBar* m_pStatusBar;
wxMenuBar* m_pMenuBar;
wxMenuItem* m_pMenuItemPlay;
wxMenuItem* m_pMenuItemStop;
wxMenuItem* m_pPluginOptions;
wxMenuItem* m_pMenuItemLoad;
wxMenuItem* m_pMenuItemSave;
wxToolBarToolBase* m_pToolPlay;
wxBusyInfo* m_pBootProcessDialog;
void UpdateGUI();
// old function that could be cool
DECLARE_EVENT_TABLE();
};
#endif // __FRAME_H_

View File

@ -1,97 +1,97 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __GAMELIST_CTRL_H_
#define __GAMELIST_CTRL_H_
#include <vector>
#include <wx/listctrl.h>
#include "ISOFile.h"
class CGameListCtrl : public wxListCtrl
{
public:
CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style);
~CGameListCtrl();
void Update();
void BrowseForDirectory();
const GameListItem *GetSelectedISO();
const GameListItem *GetISO(int index) const;
enum
{
COLUMN_BANNER = 0,
COLUMN_TITLE,
COLUMN_COMPANY,
COLUMN_NOTES,
COLUMN_COUNTRY,
COLUMN_SIZE,
COLUMN_EMULATION_STATE,
NUMBER_OF_COLUMN
};
private:
std::vector<int> m_FlagImageIndex;
std::vector<GameListItem> m_ISOFiles;
int last_column;
int last_sort;
void InitBitmaps();
void InsertItemInReportView(long _Index);
void SetBackgroundColor();
void ScanForISOs();
DECLARE_EVENT_TABLE()
// events
void OnRightClick(wxMouseEvent& event);
void OnColumnClick(wxListEvent& event);
void OnColBeginDrag(wxListEvent& event);
void OnActivated(wxListEvent& event);
void OnSize(wxSizeEvent& event);
void OnProperties(wxCommandEvent& event);
void OnOpenContainingFolder(wxCommandEvent& event);
void OnSetDefaultGCM(wxCommandEvent& event);
void OnDeleteGCM(wxCommandEvent& event);
void OnCompressGCM(wxCommandEvent& event);
void OnMultiCompressGCM(wxCommandEvent& event);
void OnMultiDecompressGCM(wxCommandEvent& event);
#ifdef _WIN32
virtual bool MSWDrawSubItem(wxPaintDC& rPaintDC, int item, int subitem);
#endif
void CompressSelection(bool _compress);
void AutomaticColumnWidth();
void UnselectAll();
static size_t m_currentItem;
static std::string m_currentFilename;
static size_t m_numberItem;
static void CompressCB(const char* text, float percent, void* arg);
static void MultiCompressCB(const char* text, float percent, void* arg);
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __GAMELIST_CTRL_H_
#define __GAMELIST_CTRL_H_
#include <vector>
#include <wx/listctrl.h>
#include "ISOFile.h"
class CGameListCtrl : public wxListCtrl
{
public:
CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style);
~CGameListCtrl();
void Update();
void BrowseForDirectory();
const GameListItem *GetSelectedISO();
const GameListItem *GetISO(int index) const;
enum
{
COLUMN_BANNER = 0,
COLUMN_TITLE,
COLUMN_COMPANY,
COLUMN_NOTES,
COLUMN_COUNTRY,
COLUMN_SIZE,
COLUMN_EMULATION_STATE,
NUMBER_OF_COLUMN
};
private:
std::vector<int> m_FlagImageIndex;
std::vector<GameListItem> m_ISOFiles;
int last_column;
int last_sort;
void InitBitmaps();
void InsertItemInReportView(long _Index);
void SetBackgroundColor();
void ScanForISOs();
DECLARE_EVENT_TABLE()
// events
void OnRightClick(wxMouseEvent& event);
void OnColumnClick(wxListEvent& event);
void OnColBeginDrag(wxListEvent& event);
void OnActivated(wxListEvent& event);
void OnSize(wxSizeEvent& event);
void OnProperties(wxCommandEvent& event);
void OnOpenContainingFolder(wxCommandEvent& event);
void OnSetDefaultGCM(wxCommandEvent& event);
void OnDeleteGCM(wxCommandEvent& event);
void OnCompressGCM(wxCommandEvent& event);
void OnMultiCompressGCM(wxCommandEvent& event);
void OnMultiDecompressGCM(wxCommandEvent& event);
#ifdef _WIN32
virtual bool MSWDrawSubItem(wxPaintDC& rPaintDC, int item, int subitem);
#endif
void CompressSelection(bool _compress);
void AutomaticColumnWidth();
void UnselectAll();
static size_t m_currentItem;
static std::string m_currentFilename;
static size_t m_numberItem;
static void CompressCB(const char* text, float percent, void* arg);
static void MultiCompressCB(const char* text, float percent, void* arg);
};
#endif

View File

@ -1,132 +1,132 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _GLOBALS_H
#define _GLOBALS_H
#include "Common.h"
enum
{
IDM_LOADSTATE = 200,
IDM_SAVESTATE,
IDM_SAVESLOT1,
IDM_SAVESLOT2,
IDM_SAVESLOT3,
IDM_SAVESLOT4,
IDM_SAVESLOT5,
IDM_SAVESLOT6,
IDM_SAVESLOT7,
IDM_SAVESLOT8,
IDM_SAVESLOT9,
IDM_SAVESLOT10,
IDM_LOADSLOT1,
IDM_LOADSLOT2,
IDM_LOADSLOT3,
IDM_LOADSLOT4,
IDM_LOADSLOT5,
IDM_LOADSLOT6,
IDM_LOADSLOT7,
IDM_LOADSLOT8,
IDM_LOADSLOT9,
IDM_LOADSLOT10,
IDM_PLAY,
IDM_STOP,
IDM_BROWSE,
IDM_MEMCARD,
IDM_CHEATS,
IDM_PROPERTIES,
IDM_OPENCONTAININGFOLDER,
IDM_SETDEFAULTGCM,
IDM_DELETEGCM,
IDM_COMPRESSGCM,
IDM_MULTICOMPRESSGCM,
IDM_MULTIDECOMPRESSGCM,
IDM_CONFIG_MAIN,
IDM_CONFIG_GFX_PLUGIN,
IDM_CONFIG_DSP_PLUGIN,
IDM_CONFIG_PAD_PLUGIN,
IDM_CONFIG_WIIMOTE_PLUGIN,
IDM_TOGGLE_FULLSCREEN,
IDM_TOGGLE_DUALCORE,
IDM_TOGGLE_SKIPIDLE,
IDM_TOGGLE_TOOLBAR,
IDM_TOGGLE_STATUSBAR,
IDM_NOTIFYMAPLOADED,
IDM_UPDATELOGDISPLAY,
IDM_UPDATEDISASMDIALOG,
IDM_UPDATEGUI,
IDM_UPDATESTATUSBAR,
IDM_UPDATEBREAKPOINTS,
IDM_HOST_MESSAGE,
IDM_BOOTING_STARTED,
IDM_BOOTING_ENDED,
IDM_HELPABOUT,
IDM_HELPWEBSITE,
IDM_HELPGOOGLECODE,
ID_TOOLBAR = 500,
LIST_CTRL = 1000
};
#define wxUSE_XPM_IN_MSW 1
#define USE_XPM_BITMAPS 1
// For compilers that support precompilation, includes <wx/wx.h>.
//#include <wx/wxprec.h>
//#ifndef WX_PRECOMP
#if defined(HAVE_WX) && HAVE_WX
#include <wx/wx.h>
//#endif
#include <wx/toolbar.h>
#include <wx/log.h>
#include <wx/image.h>
#include <wx/aboutdlg.h>
#include <wx/filedlg.h>
#include <wx/spinctrl.h>
#include <wx/srchctrl.h>
#include <wx/listctrl.h>
#include <wx/progdlg.h>
#include <wx/imagpng.h>
#include <wx/button.h>
#include <wx/stattext.h>
#include <wx/choice.h>
#include <wx/cmdline.h>
#include <wx/busyinfo.h>
// define this to use XPMs everywhere (by default, BMPs are used under Win)
// BMPs use less space, but aren't compiled into the executable on other platforms
#if USE_XPM_BITMAPS && defined (__WXMSW__) && !wxUSE_XPM_IN_MSW
#error You need to enable XPM support to use XPM bitmaps with toolbar!
#endif // USE_XPM_BITMAPS
//
// custom message macro
//
#define EVT_HOST_COMMAND(id, fn) \
DECLARE_EVENT_TABLE_ENTRY(\
wxEVT_HOST_COMMAND, id, wxID_ANY, \
(wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent(wxCommandEventFunction, &fn), \
(wxObject*) NULL \
),
extern const wxEventType wxEVT_HOST_COMMAND;
#endif
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _GLOBALS_H
#define _GLOBALS_H
#include "Common.h"
enum
{
IDM_LOADSTATE = 200,
IDM_SAVESTATE,
IDM_SAVESLOT1,
IDM_SAVESLOT2,
IDM_SAVESLOT3,
IDM_SAVESLOT4,
IDM_SAVESLOT5,
IDM_SAVESLOT6,
IDM_SAVESLOT7,
IDM_SAVESLOT8,
IDM_SAVESLOT9,
IDM_SAVESLOT10,
IDM_LOADSLOT1,
IDM_LOADSLOT2,
IDM_LOADSLOT3,
IDM_LOADSLOT4,
IDM_LOADSLOT5,
IDM_LOADSLOT6,
IDM_LOADSLOT7,
IDM_LOADSLOT8,
IDM_LOADSLOT9,
IDM_LOADSLOT10,
IDM_PLAY,
IDM_STOP,
IDM_BROWSE,
IDM_MEMCARD,
IDM_CHEATS,
IDM_PROPERTIES,
IDM_OPENCONTAININGFOLDER,
IDM_SETDEFAULTGCM,
IDM_DELETEGCM,
IDM_COMPRESSGCM,
IDM_MULTICOMPRESSGCM,
IDM_MULTIDECOMPRESSGCM,
IDM_CONFIG_MAIN,
IDM_CONFIG_GFX_PLUGIN,
IDM_CONFIG_DSP_PLUGIN,
IDM_CONFIG_PAD_PLUGIN,
IDM_CONFIG_WIIMOTE_PLUGIN,
IDM_TOGGLE_FULLSCREEN,
IDM_TOGGLE_DUALCORE,
IDM_TOGGLE_SKIPIDLE,
IDM_TOGGLE_TOOLBAR,
IDM_TOGGLE_STATUSBAR,
IDM_NOTIFYMAPLOADED,
IDM_UPDATELOGDISPLAY,
IDM_UPDATEDISASMDIALOG,
IDM_UPDATEGUI,
IDM_UPDATESTATUSBAR,
IDM_UPDATEBREAKPOINTS,
IDM_HOST_MESSAGE,
IDM_BOOTING_STARTED,
IDM_BOOTING_ENDED,
IDM_HELPABOUT,
IDM_HELPWEBSITE,
IDM_HELPGOOGLECODE,
ID_TOOLBAR = 500,
LIST_CTRL = 1000
};
#define wxUSE_XPM_IN_MSW 1
#define USE_XPM_BITMAPS 1
// For compilers that support precompilation, includes <wx/wx.h>.
//#include <wx/wxprec.h>
//#ifndef WX_PRECOMP
#if defined(HAVE_WX) && HAVE_WX
#include <wx/wx.h>
//#endif
#include <wx/toolbar.h>
#include <wx/log.h>
#include <wx/image.h>
#include <wx/aboutdlg.h>
#include <wx/filedlg.h>
#include <wx/spinctrl.h>
#include <wx/srchctrl.h>
#include <wx/listctrl.h>
#include <wx/progdlg.h>
#include <wx/imagpng.h>
#include <wx/button.h>
#include <wx/stattext.h>
#include <wx/choice.h>
#include <wx/cmdline.h>
#include <wx/busyinfo.h>
// define this to use XPMs everywhere (by default, BMPs are used under Win)
// BMPs use less space, but aren't compiled into the executable on other platforms
#if USE_XPM_BITMAPS && defined (__WXMSW__) && !wxUSE_XPM_IN_MSW
#error You need to enable XPM support to use XPM bitmaps with toolbar!
#endif // USE_XPM_BITMAPS
//
// custom message macro
//
#define EVT_HOST_COMMAND(id, fn) \
DECLARE_EVENT_TABLE_ENTRY(\
wxEVT_HOST_COMMAND, id, wxID_ANY, \
(wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent(wxCommandEventFunction, &fn), \
(wxObject*) NULL \
),
extern const wxEventType wxEVT_HOST_COMMAND;
#endif
#endif

View File

@ -1,74 +1,74 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __ISOFILE_H_
#define __ISOFILE_H_
#include "Volume.h"
class PointerWrap;
class GameListItem
{
public:
GameListItem(const std::string& _rFileName);
~GameListItem();
bool IsValid() const {return m_Valid;}
const std::string& GetFileName() const {return m_FileName;}
const std::string& GetName() const {return m_Name;}
const std::string& GetCompany() const {return m_Company;}
const std::string& GetDescription() const {return m_Description;}
const std::string& GetUniqueID() const {return m_UniqueID;}
DiscIO::IVolume::ECountry GetCountry() const {return m_Country;}
bool IsCompressed() const {return m_BlobCompressed;}
u64 GetFileSize() const {return m_FileSize;}
u64 GetVolumeSize() const {return m_VolumeSize;}
#if defined(HAVE_WX) && HAVE_WX
const wxImage& GetImage() const {return m_Image;}
#endif
void DoState(PointerWrap &p);
private:
std::string m_FileName;
std::string m_Name;
std::string m_Company;
std::string m_Description;
std::string m_UniqueID;
u64 m_FileSize;
u64 m_VolumeSize;
DiscIO::IVolume::ECountry m_Country;
#if defined(HAVE_WX) && HAVE_WX
wxImage m_Image;
#endif
bool m_Valid;
bool m_BlobCompressed;
u8* m_pImage;
u32 m_ImageSize;
bool LoadFromCache();
void SaveToCache();
std::string CreateCacheFilename();
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __ISOFILE_H_
#define __ISOFILE_H_
#include "Volume.h"
class PointerWrap;
class GameListItem
{
public:
GameListItem(const std::string& _rFileName);
~GameListItem();
bool IsValid() const {return m_Valid;}
const std::string& GetFileName() const {return m_FileName;}
const std::string& GetName() const {return m_Name;}
const std::string& GetCompany() const {return m_Company;}
const std::string& GetDescription() const {return m_Description;}
const std::string& GetUniqueID() const {return m_UniqueID;}
DiscIO::IVolume::ECountry GetCountry() const {return m_Country;}
bool IsCompressed() const {return m_BlobCompressed;}
u64 GetFileSize() const {return m_FileSize;}
u64 GetVolumeSize() const {return m_VolumeSize;}
#if defined(HAVE_WX) && HAVE_WX
const wxImage& GetImage() const {return m_Image;}
#endif
void DoState(PointerWrap &p);
private:
std::string m_FileName;
std::string m_Name;
std::string m_Company;
std::string m_Description;
std::string m_UniqueID;
u64 m_FileSize;
u64 m_VolumeSize;
DiscIO::IVolume::ECountry m_Country;
#if defined(HAVE_WX) && HAVE_WX
wxImage m_Image;
#endif
bool m_Valid;
bool m_BlobCompressed;
u8* m_pImage;
u32 m_ImageSize;
bool LoadFromCache();
void SaveToCache();
std::string CreateCacheFilename();
};
#endif

View File

@ -1,229 +1,229 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __ISOPROPERTIES_h__
#define __ISOPROPERTIES_h__
#include <wx/wx.h>
#include <wx/sizer.h>
#include <wx/filepicker.h>
#include <wx/statbmp.h>
#include <wx/imaglist.h>
#include <wx/treectrl.h>
#include <wx/gbsizer.h>
#include <wx/notebook.h>
#include <wx/mimetype.h>
#include <string>
#include "Filesystem.h"
#include "IniFile.h"
#include "PatchEngine.h"
#undef ISOPROPERTIES_STYLE
#define ISOPROPERTIES_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX
class CISOProperties : public wxDialog
{
public:
CISOProperties(const std::string fileName, wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = ISOPROPERTIES_STYLE);
virtual ~CISOProperties();
bool bRefreshList;
private:
DECLARE_EVENT_TABLE();
wxStaticBoxSizer *sbCoreOverrides;
wxBoxSizer *sCoreOverrides;
wxBoxSizer *sEmuState;
wxStaticBoxSizer *sbPatches;
wxBoxSizer *sPatches;
wxBoxSizer *sPatchButtons;
wxStaticBoxSizer *sbCheats;
wxBoxSizer *sCheats;
wxBoxSizer *sCheatButtons;
wxStaticBoxSizer *sbISODetails;
wxGridBagSizer *sISODetails;
wxStaticBoxSizer *sbBannerDetails;
wxGridBagSizer *sBannerDetails;
wxStaticBoxSizer *sbTreectrl;
wxButton *m_Close;
wxNotebook *m_Notebook;
wxPanel *m_GameConfig;
wxNotebook *m_GameConfig_Notebook;
wxPanel *m_PatchPage;
wxPanel *m_CheatPage;
wxPanel *m_Information;
wxPanel *m_Filesystem;
wxStaticText *OverrideText;
wxCheckBox *UseDualCore;
wxCheckBox *SkipIdle;
wxCheckBox *OptimizeQuantizers;
wxCheckBox *EnableProgressiveScan, *EnableWideScreen; // Wii
wxButton *EditConfig;
wxStaticText *EmuStateText;
wxArrayString arrayStringFor_EmuState;
wxChoice *EmuState;
wxArrayString arrayStringFor_Patches;
wxCheckListBox *Patches;
wxButton *EditPatch;
wxButton *AddPatch;
wxButton *RemovePatch;
wxArrayString arrayStringFor_Cheats;
wxCheckListBox *Cheats;
wxButton *EditCheat;
wxButton *AddCheat;
wxButton *RemoveCheat;
wxArrayString arrayStringFor_Speedhacks;
wxCheckListBox *Speedhacks;
wxButton *EditSpeedhack;
wxButton *AddSpeedhack;
wxButton *RemoveSpeedhack;
wxStaticText *m_NameText;
wxStaticText *m_GameIDText;
wxStaticText *m_CountryText;
wxStaticText *m_MakerIDText;
wxStaticText *m_DateText;
wxStaticText *m_FSTText;
wxStaticText *m_VersionText;
wxStaticText *m_LangText;
wxStaticText *m_ShortText;
wxStaticText *m_LongText;
wxStaticText *m_MakerText;
wxStaticText *m_CommentText;
wxStaticText *m_BannerText;
wxTextCtrl *m_Name;
wxTextCtrl *m_GameID;
wxTextCtrl *m_Country;
wxTextCtrl *m_MakerID;
wxTextCtrl *m_Date;
wxTextCtrl *m_FST;
wxTextCtrl *m_Version;
wxArrayString arrayStringFor_Lang;
wxChoice *m_Lang;
wxTextCtrl *m_ShortName;
wxTextCtrl *m_LongName;
wxTextCtrl *m_Maker;
wxTextCtrl *m_Comment;
wxStaticBitmap *m_Banner;
wxTreeCtrl *m_Treectrl;
wxTreeItemId RootId;
enum
{
ID_CLOSE = 1000,
ID_TREECTRL,
ID_NOTEBOOK,
ID_GAMECONFIG,
ID_GAMECONFIG_NOTEBOOK,
ID_PATCH_PAGE,
ID_ARCODE_PAGE,
ID_SPEEDHACK_PAGE,
ID_INFORMATION,
ID_FILESYSTEM,
ID_OVERRIDE_TEXT,
ID_USEDUALCORE,
ID_IDLESKIP,
ID_ENABLEPROGRESSIVESCAN,
ID_ENABLEWIDESCREEN,
ID_OPTIMIZEQUANTIZERS,
ID_EDITCONFIG,
ID_EMUSTATE_TEXT,
ID_EMUSTATE,
ID_PATCHES_LIST,
ID_EDITPATCH,
ID_ADDPATCH,
ID_REMOVEPATCH,
ID_CHEATS_LIST,
ID_EDITCHEAT,
ID_ADDCHEAT,
ID_REMOVECHEAT,
ID_NAME_TEXT,
ID_GAMEID_TEXT,
ID_COUNTRY_TEXT,
ID_MAKERID_TEXT,
ID_DATE_TEXT,
ID_FST_TEXT,
ID_VERSION_TEXT,
ID_LANG_TEXT,
ID_SHORTNAME_TEXT,
ID_LONGNAME_TEXT,
ID_MAKER_TEXT,
ID_COMMENT_TEXT,
ID_BANNER_TEXT,
ID_NAME,
ID_GAMEID,
ID_COUNTRY,
ID_MAKERID,
ID_DATE,
ID_FST,
ID_VERSION,
ID_LANG,
ID_SHORTNAME,
ID_LONGNAME,
ID_MAKER,
ID_COMMENT,
ID_BANNER,
IDM_EXTRACTDIR,
IDM_EXTRACTFILE,
IDM_BNRSAVEAS
};
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void OnCloseClick(wxCommandEvent& event);
void OnEditConfig(wxCommandEvent& event);
void ListSelectionChanged(wxCommandEvent& event);
void PatchButtonClicked(wxCommandEvent& event);
void ActionReplayButtonClicked(wxCommandEvent& event);
void RightClickOnBanner(wxMouseEvent& event);
void OnBannerImageSave(wxCommandEvent& event);
void OnRightClickOnTree(wxTreeEvent& event);
void OnExtractFile(wxCommandEvent& event);
void OnExtractDir(wxCommandEvent& event);
void SetRefresh(wxCommandEvent& event);
std::vector<const DiscIO::SFileInfo *> Our_Files;
typedef std::vector<const DiscIO::SFileInfo *>::iterator fileIter;
void CreateDirectoryTree(wxTreeItemId& parent,fileIter& begin,
fileIter& end,
fileIter& iterPos, char *directory);
IniFile GameIni;
std::string GameIniFile;
void LoadGameConfig();
bool SaveGameConfig();
void PatchList_Load();
void PatchList_Save();
void ActionReplayList_Load();
void ActionReplayList_Save();
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __ISOPROPERTIES_h__
#define __ISOPROPERTIES_h__
#include <wx/wx.h>
#include <wx/sizer.h>
#include <wx/filepicker.h>
#include <wx/statbmp.h>
#include <wx/imaglist.h>
#include <wx/treectrl.h>
#include <wx/gbsizer.h>
#include <wx/notebook.h>
#include <wx/mimetype.h>
#include <string>
#include "Filesystem.h"
#include "IniFile.h"
#include "PatchEngine.h"
#undef ISOPROPERTIES_STYLE
#define ISOPROPERTIES_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX
class CISOProperties : public wxDialog
{
public:
CISOProperties(const std::string fileName, wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = ISOPROPERTIES_STYLE);
virtual ~CISOProperties();
bool bRefreshList;
private:
DECLARE_EVENT_TABLE();
wxStaticBoxSizer *sbCoreOverrides;
wxBoxSizer *sCoreOverrides;
wxBoxSizer *sEmuState;
wxStaticBoxSizer *sbPatches;
wxBoxSizer *sPatches;
wxBoxSizer *sPatchButtons;
wxStaticBoxSizer *sbCheats;
wxBoxSizer *sCheats;
wxBoxSizer *sCheatButtons;
wxStaticBoxSizer *sbISODetails;
wxGridBagSizer *sISODetails;
wxStaticBoxSizer *sbBannerDetails;
wxGridBagSizer *sBannerDetails;
wxStaticBoxSizer *sbTreectrl;
wxButton *m_Close;
wxNotebook *m_Notebook;
wxPanel *m_GameConfig;
wxNotebook *m_GameConfig_Notebook;
wxPanel *m_PatchPage;
wxPanel *m_CheatPage;
wxPanel *m_Information;
wxPanel *m_Filesystem;
wxStaticText *OverrideText;
wxCheckBox *UseDualCore;
wxCheckBox *SkipIdle;
wxCheckBox *OptimizeQuantizers;
wxCheckBox *EnableProgressiveScan, *EnableWideScreen; // Wii
wxButton *EditConfig;
wxStaticText *EmuStateText;
wxArrayString arrayStringFor_EmuState;
wxChoice *EmuState;
wxArrayString arrayStringFor_Patches;
wxCheckListBox *Patches;
wxButton *EditPatch;
wxButton *AddPatch;
wxButton *RemovePatch;
wxArrayString arrayStringFor_Cheats;
wxCheckListBox *Cheats;
wxButton *EditCheat;
wxButton *AddCheat;
wxButton *RemoveCheat;
wxArrayString arrayStringFor_Speedhacks;
wxCheckListBox *Speedhacks;
wxButton *EditSpeedhack;
wxButton *AddSpeedhack;
wxButton *RemoveSpeedhack;
wxStaticText *m_NameText;
wxStaticText *m_GameIDText;
wxStaticText *m_CountryText;
wxStaticText *m_MakerIDText;
wxStaticText *m_DateText;
wxStaticText *m_FSTText;
wxStaticText *m_VersionText;
wxStaticText *m_LangText;
wxStaticText *m_ShortText;
wxStaticText *m_LongText;
wxStaticText *m_MakerText;
wxStaticText *m_CommentText;
wxStaticText *m_BannerText;
wxTextCtrl *m_Name;
wxTextCtrl *m_GameID;
wxTextCtrl *m_Country;
wxTextCtrl *m_MakerID;
wxTextCtrl *m_Date;
wxTextCtrl *m_FST;
wxTextCtrl *m_Version;
wxArrayString arrayStringFor_Lang;
wxChoice *m_Lang;
wxTextCtrl *m_ShortName;
wxTextCtrl *m_LongName;
wxTextCtrl *m_Maker;
wxTextCtrl *m_Comment;
wxStaticBitmap *m_Banner;
wxTreeCtrl *m_Treectrl;
wxTreeItemId RootId;
enum
{
ID_CLOSE = 1000,
ID_TREECTRL,
ID_NOTEBOOK,
ID_GAMECONFIG,
ID_GAMECONFIG_NOTEBOOK,
ID_PATCH_PAGE,
ID_ARCODE_PAGE,
ID_SPEEDHACK_PAGE,
ID_INFORMATION,
ID_FILESYSTEM,
ID_OVERRIDE_TEXT,
ID_USEDUALCORE,
ID_IDLESKIP,
ID_ENABLEPROGRESSIVESCAN,
ID_ENABLEWIDESCREEN,
ID_OPTIMIZEQUANTIZERS,
ID_EDITCONFIG,
ID_EMUSTATE_TEXT,
ID_EMUSTATE,
ID_PATCHES_LIST,
ID_EDITPATCH,
ID_ADDPATCH,
ID_REMOVEPATCH,
ID_CHEATS_LIST,
ID_EDITCHEAT,
ID_ADDCHEAT,
ID_REMOVECHEAT,
ID_NAME_TEXT,
ID_GAMEID_TEXT,
ID_COUNTRY_TEXT,
ID_MAKERID_TEXT,
ID_DATE_TEXT,
ID_FST_TEXT,
ID_VERSION_TEXT,
ID_LANG_TEXT,
ID_SHORTNAME_TEXT,
ID_LONGNAME_TEXT,
ID_MAKER_TEXT,
ID_COMMENT_TEXT,
ID_BANNER_TEXT,
ID_NAME,
ID_GAMEID,
ID_COUNTRY,
ID_MAKERID,
ID_DATE,
ID_FST,
ID_VERSION,
ID_LANG,
ID_SHORTNAME,
ID_LONGNAME,
ID_MAKER,
ID_COMMENT,
ID_BANNER,
IDM_EXTRACTDIR,
IDM_EXTRACTFILE,
IDM_BNRSAVEAS
};
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void OnCloseClick(wxCommandEvent& event);
void OnEditConfig(wxCommandEvent& event);
void ListSelectionChanged(wxCommandEvent& event);
void PatchButtonClicked(wxCommandEvent& event);
void ActionReplayButtonClicked(wxCommandEvent& event);
void RightClickOnBanner(wxMouseEvent& event);
void OnBannerImageSave(wxCommandEvent& event);
void OnRightClickOnTree(wxTreeEvent& event);
void OnExtractFile(wxCommandEvent& event);
void OnExtractDir(wxCommandEvent& event);
void SetRefresh(wxCommandEvent& event);
std::vector<const DiscIO::SFileInfo *> Our_Files;
typedef std::vector<const DiscIO::SFileInfo *>::iterator fileIter;
void CreateDirectoryTree(wxTreeItemId& parent,fileIter& begin,
fileIter& end,
fileIter& iterPos, char *directory);
IniFile GameIni;
std::string GameIniFile;
void LoadGameConfig();
bool SaveGameConfig();
void PatchList_Load();
void PatchList_Save();
void ActionReplayList_Load();
void ActionReplayList_Save();
};
#endif

View File

@ -1,32 +1,32 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __MAIN_H_
#define __MAIN_H_
// Define a new application
class DolphinApp
: public wxApp
{
public:
bool OnInit();
void OnEndSession();
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __MAIN_H_
#define __MAIN_H_
// Define a new application
class DolphinApp
: public wxApp
{
public:
bool OnInit();
void OnEndSession();
};
#endif

View File

@ -1,122 +1,122 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __MEMCARD_MANAGER_h__
#define __MEMCARD_MANAGER_h__
#include <wx/sizer.h>
#include <wx/filepicker.h>
#include <wx/statbmp.h>
#include <wx/stattext.h>
#include <wx/listctrl.h>
#include <wx/imaglist.h>
#include "MemoryCards/GCMemcard.h"
#undef MEMCARD_MANAGER_STYLE
#define MEMCARD_MANAGER_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX | wxRESIZE_BORDER | wxMAXIMIZE_BOX
#define ITEMSPERPAGE 16
#define MAXPAGES (128 / ITEMSPERPAGE) - 1
class CMemcardManager
: public wxDialog
{
public:
CMemcardManager(wxWindow *parent, wxWindowID id = 1, const wxString& title = wxT("Memory Card Manager WARNING-Make backups before using, should be fixed but could mangle stuff!"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = MEMCARD_MANAGER_STYLE);
virtual ~CMemcardManager();
private:
DECLARE_EVENT_TABLE();
int page0,
page1;
wxBoxSizer *sMain;
wxBoxSizer *sPagesLeft;
wxBoxSizer *sPagesRight;
wxStaticText *t_StatusLeft;
wxStaticText *t_StatusRight;
wxButton *m_CopyToLeft;
wxButton *m_CopyToRight;
wxButton *m_FixChecksumLeft;
wxButton *m_FixChecksumRight;
wxButton *m_SaveImportLeft;
wxButton *m_SaveExportLeft;
wxButton *m_SaveImportRight;
wxButton *m_SaveExportRight;
wxButton *m_ConvertToGci;
wxButton *m_DeleteLeft;
wxButton *m_DeleteRight;
wxButton *m_Memcard1PrevPage;
wxButton *m_Memcard1NextPage;
wxButton *m_Memcard2PrevPage;
wxButton *m_Memcard2NextPage;
wxStaticBoxSizer *sMemcard1;
wxStaticBoxSizer *sMemcard2;
wxFilePickerCtrl *m_Memcard1Path;
wxFilePickerCtrl *m_Memcard2Path;
wxListCtrl *m_MemcardList[2];
enum
{
ID_COPYTORIGHT = 1000,
ID_COPYTOLEFT,
ID_FIXCHECKSUMRIGHT,
ID_FIXCHECKSUMLEFT,
ID_DELETERIGHT,
ID_DELETELEFT,
ID_MEMCARD1PATH,
ID_MEMCARD2PATH,
ID_MEMCARD1NEXTPAGE,
ID_MEMCARD1PREVPAGE,
ID_MEMCARD2NEXTPAGE,
ID_MEMCARD2PREVPAGE,
ID_SAVEEXPORTRIGHT,
ID_SAVEEXPORTLEFT,
ID_SAVEIMPORTRIGHT,
ID_SAVEIMPORTLEFT,
ID_CONVERTTOGCI,
ID_MEMCARD1LIST,
ID_MEMCARD2LIST,
ID_DUMMY_VALUE_ //don't remove this value unless you have other enum values
};
enum
{
COLUMN_BANNER = 0,
COLUMN_TITLE,
COLUMN_COMMENT,
COLUMN_ICON,
COLUMN_BLOCKS,
COLUMN_FIRSTBLOCK,
NUMBER_OF_COLUMN
};
GCMemcard *memoryCard[2];
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void CopyDeleteClick(wxCommandEvent& event);
bool ReloadMemcard(const char *fileName, int card, int page);
void OnPageChange(wxCommandEvent& event);
void OnPathChange(wxFileDirPickerEvent& event);
bool ReadError(GCMemcard *memcard);
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __MEMCARD_MANAGER_h__
#define __MEMCARD_MANAGER_h__
#include <wx/sizer.h>
#include <wx/filepicker.h>
#include <wx/statbmp.h>
#include <wx/stattext.h>
#include <wx/listctrl.h>
#include <wx/imaglist.h>
#include "MemoryCards/GCMemcard.h"
#undef MEMCARD_MANAGER_STYLE
#define MEMCARD_MANAGER_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX | wxRESIZE_BORDER | wxMAXIMIZE_BOX
#define ITEMSPERPAGE 16
#define MAXPAGES (128 / ITEMSPERPAGE) - 1
class CMemcardManager
: public wxDialog
{
public:
CMemcardManager(wxWindow *parent, wxWindowID id = 1, const wxString& title = wxT("Memory Card Manager WARNING-Make backups before using, should be fixed but could mangle stuff!"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = MEMCARD_MANAGER_STYLE);
virtual ~CMemcardManager();
private:
DECLARE_EVENT_TABLE();
int page0,
page1;
wxBoxSizer *sMain;
wxBoxSizer *sPagesLeft;
wxBoxSizer *sPagesRight;
wxStaticText *t_StatusLeft;
wxStaticText *t_StatusRight;
wxButton *m_CopyToLeft;
wxButton *m_CopyToRight;
wxButton *m_FixChecksumLeft;
wxButton *m_FixChecksumRight;
wxButton *m_SaveImportLeft;
wxButton *m_SaveExportLeft;
wxButton *m_SaveImportRight;
wxButton *m_SaveExportRight;
wxButton *m_ConvertToGci;
wxButton *m_DeleteLeft;
wxButton *m_DeleteRight;
wxButton *m_Memcard1PrevPage;
wxButton *m_Memcard1NextPage;
wxButton *m_Memcard2PrevPage;
wxButton *m_Memcard2NextPage;
wxStaticBoxSizer *sMemcard1;
wxStaticBoxSizer *sMemcard2;
wxFilePickerCtrl *m_Memcard1Path;
wxFilePickerCtrl *m_Memcard2Path;
wxListCtrl *m_MemcardList[2];
enum
{
ID_COPYTORIGHT = 1000,
ID_COPYTOLEFT,
ID_FIXCHECKSUMRIGHT,
ID_FIXCHECKSUMLEFT,
ID_DELETERIGHT,
ID_DELETELEFT,
ID_MEMCARD1PATH,
ID_MEMCARD2PATH,
ID_MEMCARD1NEXTPAGE,
ID_MEMCARD1PREVPAGE,
ID_MEMCARD2NEXTPAGE,
ID_MEMCARD2PREVPAGE,
ID_SAVEEXPORTRIGHT,
ID_SAVEEXPORTLEFT,
ID_SAVEIMPORTRIGHT,
ID_SAVEIMPORTLEFT,
ID_CONVERTTOGCI,
ID_MEMCARD1LIST,
ID_MEMCARD2LIST,
ID_DUMMY_VALUE_ //don't remove this value unless you have other enum values
};
enum
{
COLUMN_BANNER = 0,
COLUMN_TITLE,
COLUMN_COMMENT,
COLUMN_ICON,
COLUMN_BLOCKS,
COLUMN_FIRSTBLOCK,
NUMBER_OF_COLUMN
};
GCMemcard *memoryCard[2];
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void CopyDeleteClick(wxCommandEvent& event);
bool ReloadMemcard(const char *fileName, int card, int page);
void OnPageChange(wxCommandEvent& event);
void OnPathChange(wxFileDirPickerEvent& event);
bool ReadError(GCMemcard *memcard);
};
#endif

View File

@ -1,218 +1,218 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#pragma once
#include "Common.h"
#include "StringUtil.h"
enum
{
LENGTHFAIL = -4,
GCSFAIL,
SAVFAIL,
OPENFAIL,
GCI,
HDR_READ_ERROR,
DIR_READ_ERROR,
DIR_BAK_READ_ERROR,
BAT_READ_ERROR,
BAT_BAK_READ_ERROR,
HDR_CSUM_FAIL,
DIR_CSUM_FAIL,
BAT_CSUM_FAIL,
DATA_READ_FAIL,
HDR_SIZE_FFFF,
NOTRAWORGCP,
SAV = 0x80,
GCS = 0x110,
OUTOFBLOCKS,
OUTOFDIRENTRIES,
NOMEMCARD,
NOFILE,
TITLEPRESENT,
SUCCESS = 0x2000,
FAIL,
MAXBLOCK = 0x2049
};
class GCMemcard
{
private:
void* mcdFile;
u32 mc_data_size;
u8* mc_data;
void calc_checksumsBE(u16 *buf, u32 num, u16 *c1, u16 *c2);
#pragma pack(push,1)
struct OSTime {
u32 low;
u32 high;
};
struct Header { //Offset Size Description
u8 Unk1[12]; //0x0000 12 ?
OSTime fmtTime; //0x000c 8 time of format (OSTime value)
u8 SramBias[4]; //0x0014 4 sram bias at time of format
u8 Unk2[8]; //0x0018 8 ? almost always 0 or 1
u8 Pad1[2]; //0x0020 2 padding zeroes
u8 Size[2]; //0x0022 2 size of memcard in Mbits
u8 Encoding[2]; //0x0024 2 encoding (ASCII or japanese)
u8 Unused1[468]; //0x0026 468 unused (0xff)
u8 UpdateCounter[2];//0x01fa 2 update Counter (?, probably unused)
u8 CheckSum1[2]; //0x01fc 2 Checksum 1 (?)
u8 CheckSum2[2]; //0x01fe 2 Checksum 2 (?)
u8 Unused2[7680]; //0x0200 0x1e00 unused (0xff)
} hdr;
struct DEntry {
u8 Gamecode[4]; //0x00 0x04 Gamecode
u8 Markercode[2]; //0x04 0x02 Makercode
u8 Unused1; //0x06 0x01 reserved/unused (always 0xff, has no effect)
u8 BIFlags; //0x07 0x01 banner gfx format and icon animation (Image Key)
// bit(s) description
// 2 Icon Animation 0: forward 1: ping-pong
// 1 [--0: No Banner 1: Banner present--] WRONG! YAGCD LIES!
// 0 [--Banner Color 0: RGB5A3 1: CI8--] WRONG! YAGCD LIES!
// bits 0 and 1: image format
// 00 no banner
// 01 CI8 banner
// 01 RGB5A3 banner
// 11 ? maybe ==01? haven't seen it
//
u8 Filename[32]; //0x08 0x20 filename
u8 ModTime[4]; //0x28 0x04 Time of file's last modification in seconds since 12am, January 1st, 2000
u8 ImageOffset[4]; //0x2c 0x04 image data offset
u8 IconFmt[2]; //0x30 0x02 icon gfx format (2bits per icon)
// bits Description
// 00 no icon
// 01 CI8 with a shared color palette after the last frame
// 10 RGB5A3
// 11 CI8 with a unique color palette after itself
//
u8 AnimSpeed[2]; //0x32 0x02 animation speed (2bits per icon) (*1)
// bits Description
// 00 no icon
// 01 Icon lasts for 4 frames
// 10 Icon lasts for 8 frames
// 11 Icon lasts for 12 frames
//
u8 Permissions; //0x34 0x01 file-permissions
// bit permission Description
// 4 no move File cannot be moved by the IPL
// 3 no copy File cannot be copied by the IPL
// 2 public Can be read by any game
//
u8 CopyCounter; //0x35 0x01 copy counter (*2)
u8 FirstBlock[2]; //0x36 0x02 block no of first block of file (0 == offset 0)
u8 BlockCount[2]; //0x38 0x02 file-length (number of blocks in file)
u8 Unused2[2]; //0x3a 0x02 reserved/unused (always 0xffff, has no effect)
u8 CommentsAddr[4]; //0x3c 0x04 Address of the two comments within the file data (*3)
};
struct Directory {
DEntry Dir[127]; //0x0000 Directory Entries (max 127)
u8 Padding[0x3a];
u8 UpdateCounter[2];//0x1ffa 2 update Counter
u8 CheckSum1[2]; //0x1ffc 2 Checksum 1
u8 CheckSum2[2]; //0x1ffe 2 Checksum 2
} dir, dir_backup;
struct BlockAlloc {
u8 CheckSum1[2]; //0x0000 2 Checksum 1
u8 CheckSum2[2]; //0x0002 2 Checksum 2
u8 UpdateCounter[2];//0x0004 2 update Counter
u8 FreeBlocks[2]; //0x0006 2 free Blocks
u8 LastAllocated[2];//0x0008 2 last allocated Block
u16 Map[0xFFB]; //0x000a 0x1ff8 Map of allocated Blocks
} bat,bat_backup;
#pragma pack(pop)
public:
bool fail[12];
// constructor
GCMemcard(const char* fileName);
// destructor
~GCMemcard();
bool IsOpen();
u32 TestChecksums();
bool FixChecksums();
// get number of file entries in the directory
u32 GetNumFiles();
// Returns true if title already on memcard
bool TitlePresent(DEntry d);
// read directory entry
bool GetFileInfo(u32 index, DEntry& data);
// buffer needs to be a char[32] or bigger
bool GetFileName(u32 index, char* buffer);
// get file length in blocks
u16 GetFileSize(u32 index);
// get first block for file
u16 GetFirstBlock(u32 index);
// get the free blocks from bat
u16 GetFreeBlocks(void);
// buffer needs to be a char[32] or bigger
bool GetComment1(u32 index, char* buffer);
// buffer needs to be a char[32] or bigger
bool GetComment2(u32 index, char* buffer);
// assumes there's enough space in buffer
// old determines if function uses old or new method of copying data
// some functions only work with old way, some only work with new way
// TODO: find a function that works for all calls or split into 2 functions
u32 GetFileData(u32 index, u8* buffer, bool old);
// delete a file from the directory
u32 RemoveFile(u32 index);
// adds the file to the directory and copies its contents
// if remove > 0 it will pad bat.map with 0's sifeof remove
u32 ImportFile(DEntry& direntry, u8* contents, int remove);
// reads a save from another memcard, and imports the data into this memcard
u32 CopyFrom(GCMemcard& source, u32 index);
// writes a .gci file to disk containing index
u32 ExportGci(u32 index, const char* fileName);
// reads a .gci/.gcs/.sav file and calls ImportFile or saves out a gci file
s32 ImportGci(const char* fileName, std::string fileName2);
// reads the banner image
bool ReadBannerRGBA8(u32 index, u32* buffer);
// reads the animation frames
u32 ReadAnimRGBA8(u32 index, u32* buffer, u8 *delays);
bool Save();
};
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#pragma once
#include "Common.h"
#include "StringUtil.h"
enum
{
LENGTHFAIL = -4,
GCSFAIL,
SAVFAIL,
OPENFAIL,
GCI,
HDR_READ_ERROR,
DIR_READ_ERROR,
DIR_BAK_READ_ERROR,
BAT_READ_ERROR,
BAT_BAK_READ_ERROR,
HDR_CSUM_FAIL,
DIR_CSUM_FAIL,
BAT_CSUM_FAIL,
DATA_READ_FAIL,
HDR_SIZE_FFFF,
NOTRAWORGCP,
SAV = 0x80,
GCS = 0x110,
OUTOFBLOCKS,
OUTOFDIRENTRIES,
NOMEMCARD,
NOFILE,
TITLEPRESENT,
SUCCESS = 0x2000,
FAIL,
MAXBLOCK = 0x2049
};
class GCMemcard
{
private:
void* mcdFile;
u32 mc_data_size;
u8* mc_data;
void calc_checksumsBE(u16 *buf, u32 num, u16 *c1, u16 *c2);
#pragma pack(push,1)
struct OSTime {
u32 low;
u32 high;
};
struct Header { //Offset Size Description
u8 Unk1[12]; //0x0000 12 ?
OSTime fmtTime; //0x000c 8 time of format (OSTime value)
u8 SramBias[4]; //0x0014 4 sram bias at time of format
u8 Unk2[8]; //0x0018 8 ? almost always 0 or 1
u8 Pad1[2]; //0x0020 2 padding zeroes
u8 Size[2]; //0x0022 2 size of memcard in Mbits
u8 Encoding[2]; //0x0024 2 encoding (ASCII or japanese)
u8 Unused1[468]; //0x0026 468 unused (0xff)
u8 UpdateCounter[2];//0x01fa 2 update Counter (?, probably unused)
u8 CheckSum1[2]; //0x01fc 2 Checksum 1 (?)
u8 CheckSum2[2]; //0x01fe 2 Checksum 2 (?)
u8 Unused2[7680]; //0x0200 0x1e00 unused (0xff)
} hdr;
struct DEntry {
u8 Gamecode[4]; //0x00 0x04 Gamecode
u8 Markercode[2]; //0x04 0x02 Makercode
u8 Unused1; //0x06 0x01 reserved/unused (always 0xff, has no effect)
u8 BIFlags; //0x07 0x01 banner gfx format and icon animation (Image Key)
// bit(s) description
// 2 Icon Animation 0: forward 1: ping-pong
// 1 [--0: No Banner 1: Banner present--] WRONG! YAGCD LIES!
// 0 [--Banner Color 0: RGB5A3 1: CI8--] WRONG! YAGCD LIES!
// bits 0 and 1: image format
// 00 no banner
// 01 CI8 banner
// 01 RGB5A3 banner
// 11 ? maybe ==01? haven't seen it
//
u8 Filename[32]; //0x08 0x20 filename
u8 ModTime[4]; //0x28 0x04 Time of file's last modification in seconds since 12am, January 1st, 2000
u8 ImageOffset[4]; //0x2c 0x04 image data offset
u8 IconFmt[2]; //0x30 0x02 icon gfx format (2bits per icon)
// bits Description
// 00 no icon
// 01 CI8 with a shared color palette after the last frame
// 10 RGB5A3
// 11 CI8 with a unique color palette after itself
//
u8 AnimSpeed[2]; //0x32 0x02 animation speed (2bits per icon) (*1)
// bits Description
// 00 no icon
// 01 Icon lasts for 4 frames
// 10 Icon lasts for 8 frames
// 11 Icon lasts for 12 frames
//
u8 Permissions; //0x34 0x01 file-permissions
// bit permission Description
// 4 no move File cannot be moved by the IPL
// 3 no copy File cannot be copied by the IPL
// 2 public Can be read by any game
//
u8 CopyCounter; //0x35 0x01 copy counter (*2)
u8 FirstBlock[2]; //0x36 0x02 block no of first block of file (0 == offset 0)
u8 BlockCount[2]; //0x38 0x02 file-length (number of blocks in file)
u8 Unused2[2]; //0x3a 0x02 reserved/unused (always 0xffff, has no effect)
u8 CommentsAddr[4]; //0x3c 0x04 Address of the two comments within the file data (*3)
};
struct Directory {
DEntry Dir[127]; //0x0000 Directory Entries (max 127)
u8 Padding[0x3a];
u8 UpdateCounter[2];//0x1ffa 2 update Counter
u8 CheckSum1[2]; //0x1ffc 2 Checksum 1
u8 CheckSum2[2]; //0x1ffe 2 Checksum 2
} dir, dir_backup;
struct BlockAlloc {
u8 CheckSum1[2]; //0x0000 2 Checksum 1
u8 CheckSum2[2]; //0x0002 2 Checksum 2
u8 UpdateCounter[2];//0x0004 2 update Counter
u8 FreeBlocks[2]; //0x0006 2 free Blocks
u8 LastAllocated[2];//0x0008 2 last allocated Block
u16 Map[0xFFB]; //0x000a 0x1ff8 Map of allocated Blocks
} bat,bat_backup;
#pragma pack(pop)
public:
bool fail[12];
// constructor
GCMemcard(const char* fileName);
// destructor
~GCMemcard();
bool IsOpen();
u32 TestChecksums();
bool FixChecksums();
// get number of file entries in the directory
u32 GetNumFiles();
// Returns true if title already on memcard
bool TitlePresent(DEntry d);
// read directory entry
bool GetFileInfo(u32 index, DEntry& data);
// buffer needs to be a char[32] or bigger
bool GetFileName(u32 index, char* buffer);
// get file length in blocks
u16 GetFileSize(u32 index);
// get first block for file
u16 GetFirstBlock(u32 index);
// get the free blocks from bat
u16 GetFreeBlocks(void);
// buffer needs to be a char[32] or bigger
bool GetComment1(u32 index, char* buffer);
// buffer needs to be a char[32] or bigger
bool GetComment2(u32 index, char* buffer);
// assumes there's enough space in buffer
// old determines if function uses old or new method of copying data
// some functions only work with old way, some only work with new way
// TODO: find a function that works for all calls or split into 2 functions
u32 GetFileData(u32 index, u8* buffer, bool old);
// delete a file from the directory
u32 RemoveFile(u32 index);
// adds the file to the directory and copies its contents
// if remove > 0 it will pad bat.map with 0's sifeof remove
u32 ImportFile(DEntry& direntry, u8* contents, int remove);
// reads a save from another memcard, and imports the data into this memcard
u32 CopyFrom(GCMemcard& source, u32 index);
// writes a .gci file to disk containing index
u32 ExportGci(u32 index, const char* fileName);
// reads a .gci/.gcs/.sav file and calls ImportFile or saves out a gci file
s32 ImportGci(const char* fileName, std::string fileName2);
// reads the banner image
bool ReadBannerRGBA8(u32 index, u32* buffer);
// reads the animation frames
u32 ReadAnimRGBA8(u32 index, u32* buffer, u8 *delays);
bool Save();
};

View File

@ -1,58 +1,58 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __PATCH_ADDEDIT_h__
#define __PATCH_ADDEDIT_h__
#include <wx/wx.h>
#include <wx/spinctrl.h>
#include "ISOProperties.h"
class CPatchAddEdit : public wxDialog
{
public:
CPatchAddEdit(int _selection, wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Edit Patch"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(300, -1), long style = wxDEFAULT_DIALOG_STYLE);
virtual ~CPatchAddEdit();
private:
DECLARE_EVENT_TABLE();
wxTextCtrl *EditPatchName;
wxTextCtrl *EditPatchOffset;
wxRadioBox *EditPatchType;
wxTextCtrl *EditPatchValue;
wxSpinButton *EntrySelection;
enum {
ID_EDITPATCH_NAME_TEXT = 4500,
ID_EDITPATCH_NAME,
ID_EDITPATCH_OFFSET_TEXT,
ID_EDITPATCH_OFFSET,
ID_ENTRY_SELECT,
ID_EDITPATCH_TYPE,
ID_EDITPATCH_VALUE_TEXT,
ID_EDITPATCH_VALUE
};
void CreateGUIControls(int selection);
void OnClose(wxCloseEvent& event);
void ChangeEntry(wxSpinEvent& event);
int selection;
};
#endif // __PATCH_ADDEDIT_h__
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __PATCH_ADDEDIT_h__
#define __PATCH_ADDEDIT_h__
#include <wx/wx.h>
#include <wx/spinctrl.h>
#include "ISOProperties.h"
class CPatchAddEdit : public wxDialog
{
public:
CPatchAddEdit(int _selection, wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Edit Patch"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(300, -1), long style = wxDEFAULT_DIALOG_STYLE);
virtual ~CPatchAddEdit();
private:
DECLARE_EVENT_TABLE();
wxTextCtrl *EditPatchName;
wxTextCtrl *EditPatchOffset;
wxRadioBox *EditPatchType;
wxTextCtrl *EditPatchValue;
wxSpinButton *EntrySelection;
enum {
ID_EDITPATCH_NAME_TEXT = 4500,
ID_EDITPATCH_NAME,
ID_EDITPATCH_OFFSET_TEXT,
ID_EDITPATCH_OFFSET,
ID_ENTRY_SELECT,
ID_EDITPATCH_TYPE,
ID_EDITPATCH_VALUE_TEXT,
ID_EDITPATCH_VALUE
};
void CreateGUIControls(int selection);
void OnClose(wxCloseEvent& event);
void ChangeEntry(wxSpinEvent& event);
int selection;
};
#endif // __PATCH_ADDEDIT_h__

View File

@ -1,59 +1,59 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __PLUGIN_MANAGER_H_
#define __PLUGIN_MANAGER_H_
#include "Plugin.h"
class CPluginInfo
{
public:
CPluginInfo(const char *_rFileName);
bool IsValid() const {return(m_Valid);}
const PLUGIN_INFO& GetPluginInfo() const {return(m_PluginInfo);}
const std::string& GetFileName() const {return(m_FileName);}
private:
PLUGIN_INFO m_PluginInfo;
std::string m_FileName;
bool m_Valid;
};
typedef std::vector<CPluginInfo>CPluginInfos;
class CPluginManager
{
public:
static CPluginManager& GetInstance() {return(m_Instance);}
void ScanForPlugins(wxWindow* _wxWindow);
void OpenConfig(void* _Parent, const char *_rFilename);
void OpenDebug(void* _Parent, const char *_rFilename, bool Type, bool Show);
const CPluginInfos& GetPluginInfos() {return(m_PluginInfos);}
private:
static CPluginManager m_Instance;
bool m_Initialized;
CPluginInfos m_PluginInfos;
CPluginManager();
~CPluginManager();
};
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __PLUGIN_MANAGER_H_
#define __PLUGIN_MANAGER_H_
#include "Plugin.h"
class CPluginInfo
{
public:
CPluginInfo(const char *_rFileName);
bool IsValid() const {return(m_Valid);}
const PLUGIN_INFO& GetPluginInfo() const {return(m_PluginInfo);}
const std::string& GetFileName() const {return(m_FileName);}
private:
PLUGIN_INFO m_PluginInfo;
std::string m_FileName;
bool m_Valid;
};
typedef std::vector<CPluginInfo>CPluginInfos;
class CPluginManager
{
public:
static CPluginManager& GetInstance() {return(m_Instance);}
void ScanForPlugins(wxWindow* _wxWindow);
void OpenConfig(void* _Parent, const char *_rFilename);
void OpenDebug(void* _Parent, const char *_rFilename, bool Type, bool Show);
const CPluginInfos& GetPluginInfos() {return(m_PluginInfos);}
private:
static CPluginManager m_Instance;
bool m_Initialized;
CPluginInfos m_PluginInfos;
CPluginManager();
~CPluginManager();
};
#endif

View File

@ -1,50 +1,50 @@
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __STDAFX_H_
#define __STDAFX_H_
#ifdef _WIN32
// Change these values to use different versions
#define WINVER 0x0400
#define _WIN32_WINNT 0x0501
#define _WIN32_IE 0x0500
#define _RICHEDIT_VER 0x0100
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif
#endif
// Copyright (C) 2003-2008 Dolphin Project.
// 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, version 2.0.
// 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 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __STDAFX_H_
#define __STDAFX_H_
#ifdef _WIN32
// Change these values to use different versions
#define WINVER 0x0400
#define _WIN32_WINNT 0x0501
#define _WIN32_IE 0x0500
#define _RICHEDIT_VER 0x0100
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif
#endif

View File

@ -1,16 +1,16 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by DolphinWX.rc
//
#define IDI_ICON1 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by DolphinWX.rc
//
#define IDI_ICON1 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif