[Project64] change AsciiToHex to std::strtoul in rom browser

This commit is contained in:
zilmar 2015-11-07 12:45:59 +11:00
parent a1d9af57a6
commit 6a2e88a25c
2 changed files with 697 additions and 748 deletions

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,7 @@ class ROMBROWSER_FIELDS {
bool m_PosChanged; bool m_PosChanged;
public: public:
ROMBROWSER_FIELDS (const char * Name, int Pos, int ID, int ColWidth, LanguageStringID LangID, bool UseDefault) : ROMBROWSER_FIELDS(const char * Name, int Pos, int ID, int ColWidth, LanguageStringID LangID, bool UseDefault) :
m_Name(Name), m_Name(Name),
m_Pos(Pos), m_Pos(Pos),
m_DefaultPos(Pos), m_DefaultPos(Pos),
@ -32,36 +32,36 @@ public:
m_ColWidth(ColWidth), m_ColWidth(ColWidth),
m_LangID(LangID), m_LangID(LangID),
m_PosChanged(false) m_PosChanged(false)
{ {
if (!UseDefault) if (!UseDefault)
{ {
m_PosChanged = g_Settings->LoadDwordIndex(RomBrowser_PosIndex,m_ID,(uint32_t &)m_Pos ); m_PosChanged = g_Settings->LoadDwordIndex(RomBrowser_PosIndex, m_ID, (uint32_t &)m_Pos);
g_Settings->LoadDwordIndex(RomBrowser_WidthIndex,m_ID,m_ColWidth); g_Settings->LoadDwordIndex(RomBrowser_WidthIndex, m_ID, m_ColWidth);
} }
} }
inline LPCSTR Name ( void ) const { return m_Name.c_str(); } inline LPCSTR Name(void) const { return m_Name.c_str(); }
inline size_t Pos ( void ) const { return m_Pos; } inline size_t Pos(void) const { return m_Pos; }
inline bool PosChanged ( void ) const { return m_PosChanged; } inline bool PosChanged(void) const { return m_PosChanged; }
inline int ID ( void ) const { return m_ID; } inline int ID(void) const { return m_ID; }
inline int ColWidth ( void ) const { return m_ColWidth; } inline int ColWidth(void) const { return m_ColWidth; }
inline LanguageStringID LangID ( void ) const { return m_LangID; } inline LanguageStringID LangID(void) const { return m_LangID; }
void SetColWidth ( int ColWidth ) void SetColWidth(int ColWidth)
{ {
m_ColWidth = ColWidth; m_ColWidth = ColWidth;
g_Settings->SaveDwordIndex(RomBrowser_WidthIndex,m_ID,m_ColWidth); g_Settings->SaveDwordIndex(RomBrowser_WidthIndex, m_ID, m_ColWidth);
} }
void SetColPos ( int Pos) void SetColPos(int Pos)
{ {
m_Pos = Pos; m_Pos = Pos;
g_Settings->SaveDwordIndex(RomBrowser_PosIndex,m_ID,m_Pos); g_Settings->SaveDwordIndex(RomBrowser_PosIndex, m_ID, m_Pos);
m_PosChanged = true; m_PosChanged = true;
} }
void ResetPos ( void ) void ResetPos(void)
{ {
m_Pos = m_DefaultPos; m_Pos = m_DefaultPos;
g_Settings->DeleteSettingIndex(RomBrowser_PosIndex,m_ID); g_Settings->DeleteSettingIndex(RomBrowser_PosIndex, m_ID);
m_PosChanged = false; m_PosChanged = false;
} }
}; };
@ -77,24 +77,26 @@ struct SORT_FIELD {
}; };
class C7zip; class C7zip;
class CRomBrowser class CRomBrowser
{ {
enum { IDC_ROMLIST = 223 }; enum { IDC_ROMLIST = 223 };
enum { RB_FileName = 0, RB_InternalName = 1, RB_GoodName = 2, enum {
RB_Status = 3, RB_RomSize = 4, RB_CoreNotes = 5, RB_FileName = 0, RB_InternalName = 1, RB_GoodName = 2,
RB_PluginNotes = 6, RB_UserNotes = 7, RB_CartridgeID = 8, RB_Status = 3, RB_RomSize = 4, RB_CoreNotes = 5,
RB_Manufacturer = 9, RB_Country = 10, RB_Developer = 11, RB_PluginNotes = 6, RB_UserNotes = 7, RB_CartridgeID = 8,
RB_Crc1 = 12, RB_Crc2 = 13, RB_CICChip = 14, RB_Manufacturer = 9, RB_Country = 10, RB_Developer = 11,
RB_ReleaseDate = 15, RB_Genre = 16, RB_Players = 17, RB_Crc1 = 12, RB_Crc2 = 13, RB_CICChip = 14,
RB_ForceFeedback = 18, RB_FileFormat = 19 }; RB_ReleaseDate = 15, RB_Genre = 16, RB_Players = 17,
RB_ForceFeedback = 18, RB_FileFormat = 19
};
enum FILE_FORMAT { enum FILE_FORMAT {
Format_Uncompressed, Format_Uncompressed,
Format_Zip, Format_Zip,
Format_7zip, Format_7zip,
} ; };
enum enum
{ {
NoOfSortKeys = 3 NoOfSortKeys = 3
}; };
@ -146,67 +148,66 @@ class CRomBrowser
CIniFile * m_ZipIniFile; CIniFile * m_ZipIniFile;
bool m_AllowSelectionLastRom; bool m_AllowSelectionLastRom;
void AddFileNameToList ( strlist & FileList, const stdstr & Directory, CPath & File ); void AddFileNameToList(strlist & FileList, const stdstr & Directory, CPath & File);
void AddRomToList ( const char * RomLocation, const char * lpLastRom ); void AddRomToList(const char * RomLocation, const char * lpLastRom);
void AddRomInfoToList ( ROM_INFO &RomInfo, const char * lpLastRom ); void AddRomInfoToList(ROM_INFO &RomInfo, const char * lpLastRom);
void AllocateBrushs ( void ); void AllocateBrushs(void);
DWORD AsciiToHex ( char * HexValue ); static void ByteSwapRomData(BYTE * Data, int DataLen);
static void ByteSwapRomData ( BYTE * Data, int DataLen ); int CalcSortPosition(DWORD lParam);
int CalcSortPosition ( DWORD lParam ); void CreateRomListControl(void);
void CreateRomListControl ( void ); void DeallocateBrushs(void);
void DeallocateBrushs ( void ); void FillRomExtensionInfo(ROM_INFO * pRomInfo);
void FillRomExtensionInfo ( ROM_INFO * pRomInfo ); bool FillRomInfo(ROM_INFO * pRomInfo);
bool FillRomInfo ( ROM_INFO * pRomInfo ); void FillRomList(strlist & FileList, const CPath & BaseDirectory, const stdstr & Directory, const char * lpLastRom);
void FillRomList ( strlist & FileList, const CPath & BaseDirectory, const stdstr & Directory, const char * lpLastRom ); void FixRomListWindow(void);
void FixRomListWindow ( void ); static int GetCicChipID(BYTE * RomData);
static int GetCicChipID ( BYTE * RomData ); bool LoadDataFromRomFile(char * FileName, BYTE * Data, int DataLen, int * RomSize, FILE_FORMAT & FileFormat);
bool LoadDataFromRomFile ( char * FileName, BYTE * Data,int DataLen, int * RomSize, FILE_FORMAT & FileFormat ); void LoadRomList(void);
void LoadRomList ( void ); void MenuSetText(HMENU hMenu, int MenuPos, const wchar_t * Title, char * ShortCut);
void MenuSetText ( HMENU hMenu, int MenuPos, const wchar_t * Title, char * ShortCut); void SaveRomList(strlist & FileList);
void SaveRomList ( strlist & FileList ); void RomList_ColoumnSortList(DWORD pnmh);
void RomList_ColoumnSortList ( DWORD pnmh ); void RomList_GetDispInfo(DWORD pnmh);
void RomList_GetDispInfo ( DWORD pnmh ); void RomList_OpenRom(DWORD pnmh);
void RomList_OpenRom ( DWORD pnmh ); void RomList_PopupMenu(DWORD pnmh);
void RomList_PopupMenu ( DWORD pnmh ); void RomList_SortList(void);
void RomList_SortList ( void ); bool GetRomFileNames(strlist & FileList, const CPath & BaseDirectory, const stdstr & Directory, bool InWatchThread);
bool GetRomFileNames ( strlist & FileList, const CPath & BaseDirectory, const stdstr & Directory, bool InWatchThread ); MD5 RomListHash(strlist & FileList);
MD5 RomListHash ( strlist & FileList );
static void __stdcall NotificationCB ( LPCWSTR Status, CRomBrowser * _this ); static void __stdcall NotificationCB(LPCWSTR Status, CRomBrowser * _this);
//Watch Directory Changed function //Watch Directory Changed function
HANDLE m_WatchThread, m_WatchStopEvent; HANDLE m_WatchThread, m_WatchStopEvent;
DWORD m_WatchThreadID; DWORD m_WatchThreadID;
stdstr m_WatchRomDir; stdstr m_WatchRomDir;
void WatchThreadStart (void); void WatchThreadStart(void);
void WatchThreadStop (void); void WatchThreadStop(void);
bool RomDirNeedsRefresh ( void ); // Called from watch thread bool RomDirNeedsRefresh(void); // Called from watch thread
static void WatchRomDirChanged ( CRomBrowser * _this ); static void WatchRomDirChanged(CRomBrowser * _this);
static void RefreshRomBrowserStatic ( CRomBrowser * _this ); static void RefreshRomBrowserStatic(CRomBrowser * _this);
static void AddField (ROMBROWSER_FIELDS_LIST & Fields, LPCSTR Name, int Pos,int ID,int Width,LanguageStringID LangID, bool UseDefault); static void AddField(ROMBROWSER_FIELDS_LIST & Fields, LPCSTR Name, int Pos, int ID, int Width, LanguageStringID LangID, bool UseDefault);
//Callback //Callback
static int CALLBACK SelectRomDirCallBack ( HWND hwnd,DWORD uMsg,DWORD lp, DWORD lpData ); static int CALLBACK SelectRomDirCallBack(HWND hwnd, DWORD uMsg, DWORD lp, DWORD lpData);
static int CALLBACK RomList_CompareItems ( DWORD lParam1, DWORD lParam2, DWORD lParamSort ); static int CALLBACK RomList_CompareItems(DWORD lParam1, DWORD lParam2, DWORD lParamSort);
public: public:
CRomBrowser ( HWND & hMainWindow, HWND & StatusWindow ); CRomBrowser(HWND & hMainWindow, HWND & StatusWindow);
~CRomBrowser ( void ); ~CRomBrowser(void);
void HighLightLastRom ( void ); void HighLightLastRom(void);
void HideRomList ( void ); void HideRomList(void);
void RefreshRomBrowser ( void ); void RefreshRomBrowser(void);
void ResetRomBrowserColomuns ( void ); void ResetRomBrowserColomuns(void);
void ResizeRomList ( WORD nWidth, WORD nHeight ); void ResizeRomList(WORD nWidth, WORD nHeight);
void RomBrowserToTop ( void ); void RomBrowserToTop(void);
void RomBrowserMaximize ( bool Mazimize ) ; void RomBrowserMaximize(bool Mazimize);
bool RomBrowserVisible ( void ); bool RomBrowserVisible(void);
bool RomListDrawItem ( int idCtrl, DWORD lParam ); bool RomListDrawItem(int idCtrl, DWORD lParam);
bool RomListNotify ( int idCtrl, DWORD pnmh ); bool RomListNotify(int idCtrl, DWORD pnmh);
void SaveRomListColoumnInfo ( void ); void SaveRomListColoumnInfo(void);
void SelectRomDir ( void ); void SelectRomDir(void);
void ShowRomList ( void ); void ShowRomList(void);
bool ShowingRomBrowser ( void ) { return m_ShowingRomBrowser; } bool ShowingRomBrowser(void) { return m_ShowingRomBrowser; }
LPCSTR CurrentedSelectedRom ( void ) { return m_SelectedRom.c_str(); } LPCSTR CurrentedSelectedRom(void) { return m_SelectedRom.c_str(); }
static void GetFieldInfo ( ROMBROWSER_FIELDS_LIST & Fields, bool UseDefault = false ); static void GetFieldInfo(ROMBROWSER_FIELDS_LIST & Fields, bool UseDefault = false);
}; };