diff --git a/Source/Project64/UserInterface/Debugger/Debugger-DMALogView.cpp b/Source/Project64/UserInterface/Debugger/Debugger-DMALogView.cpp index 7584ad027..fcda8abdd 100644 --- a/Source/Project64/UserInterface/Debugger/Debugger-DMALogView.cpp +++ b/Source/Project64/UserInterface/Debugger/Debugger-DMALogView.cpp @@ -193,7 +193,7 @@ void CDebugDMALogView::RefreshDMALogWindow(bool bReset) LRESULT CDebugDMALogView::OnRefresh(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/) { - bool bReset = (bool)wParam; + bool bReset = (wParam != 0); if (bReset) { diff --git a/Source/Project64/UserInterface/Debugger/Debugger-ExceptionBreakpoints.cpp b/Source/Project64/UserInterface/Debugger/Debugger-ExceptionBreakpoints.cpp index 49744e230..4203f56c9 100644 --- a/Source/Project64/UserInterface/Debugger/Debugger-ExceptionBreakpoints.cpp +++ b/Source/Project64/UserInterface/Debugger/Debugger-ExceptionBreakpoints.cpp @@ -84,9 +84,12 @@ LRESULT CDebugExcBreakpoints::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPA InitCheckboxes(IntrCheckboxMap, Debugger_IntrBreakpoints); InitCheckboxes(RcpIntrCheckboxMap, Debugger_RcpIntrBreakpoints); - bool intrEnabled = g_Settings->LoadDword(Debugger_ExceptionBreakpoints) & 0x01; - bool rcpIntrEnabled = g_Settings->LoadDword(Debugger_IntrBreakpoints) & 0x04; - bool fpExcEnabled = g_Settings->LoadDword(Debugger_ExceptionBreakpoints) & (1 << 15); + uint32_t excBreakpoints = g_Settings->LoadDword(Debugger_ExceptionBreakpoints); + uint32_t intrBreakpoints = g_Settings->LoadDword(Debugger_IntrBreakpoints); + + bool intrEnabled = (excBreakpoints & 0x01) != 0; + bool rcpIntrEnabled = (intrBreakpoints & 0x04) != 0; + bool fpExcEnabled = (excBreakpoints & (1 << 15)) != 0; EnableCheckboxes(IntrCheckboxMap, intrEnabled); EnableCheckboxes(RcpIntrCheckboxMap, intrEnabled && rcpIntrEnabled); diff --git a/Source/Project64/UserInterface/Debugger/Debugger-MemorySearch.cpp b/Source/Project64/UserInterface/Debugger/Debugger-MemorySearch.cpp index 982e8bb08..9e3f9f882 100644 --- a/Source/Project64/UserInterface/Debugger/Debugger-MemorySearch.cpp +++ b/Source/Project64/UserInterface/Debugger/Debugger-MemorySearch.cpp @@ -1108,7 +1108,7 @@ LRESULT CDebugMemorySearch::OnWatchListPopupCopyGamesharkCode(WORD /*wNotifyCode int length = presult->GetStrLength(); char str[1024]; - presult->GetMemoryValueString(str, 1024); + presult->GetMemoryValueString(str, 1024, true); bool haveOddLength = (length & 1) != 0; int evenLength = length & ~1; @@ -1168,8 +1168,7 @@ LRESULT CDebugMemorySearch::OnWatchListPopupCopyGamesharkCode(WORD /*wNotifyCode } HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, strGSCode.length()); - - strGSCode.copy((char*)GlobalLock(hMem), strGSCode.length() - 1); + strncpy((char*)GlobalLock(hMem), strGSCode.c_str(), strGSCode.length() - 1); GlobalUnlock(hMem); OpenClipboard(); EmptyClipboard(); @@ -1205,7 +1204,7 @@ LRESULT CDebugMemorySearch::OnWatchListPopupCopyAddressAndDescription(WORD /*wNo HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, str.length()); - str.copy((char*)GlobalLock(hMem), str.length() - 1); + strncpy((char*)GlobalLock(hMem), str.c_str(), str.length() - 1); GlobalUnlock(hMem); OpenClipboard(); EmptyClipboard(); diff --git a/Source/Project64/UserInterface/Debugger/Debugger-TLB.cpp b/Source/Project64/UserInterface/Debugger/Debugger-TLB.cpp index 1f811752a..d2bf61ea2 100644 --- a/Source/Project64/UserInterface/Debugger/Debugger-TLB.cpp +++ b/Source/Project64/UserInterface/Debugger/Debugger-TLB.cpp @@ -32,47 +32,47 @@ LRESULT CDebugTlb::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lPara col.fmt = LVCFMT_LEFT; col.pszText = "Index"; - col.cx = 40 * DPIScale; + col.cx = (int)(40 * DPIScale); col.iSubItem = 0; ListView_InsertColumn(GetDlgItem(IDC_LIST), 0, &col); col.pszText = "Page Mask"; - col.cx = 90 * DPIScale; + col.cx = (int)(90 * DPIScale); col.iSubItem = 1; ListView_InsertColumn(GetDlgItem(IDC_LIST), 1, &col); col.pszText = "Entry Hi"; - col.cx = 90 * DPIScale; + col.cx = (int)(90 * DPIScale); col.iSubItem = 2; ListView_InsertColumn(GetDlgItem(IDC_LIST), 2, &col); col.pszText = "Entry Lo0"; - col.cx = 90 * DPIScale; + col.cx = (int)(90 * DPIScale); col.iSubItem = 3; ListView_InsertColumn(GetDlgItem(IDC_LIST), 3, &col); col.pszText = "Entry Lo1"; - col.cx = 90 * DPIScale; + col.cx = (int)(90 * DPIScale); col.iSubItem = 4; ListView_InsertColumn(GetDlgItem(IDC_LIST), 4, &col); col.pszText = "Index"; - col.cx = 40 * DPIScale; + col.cx = (int)(40 * DPIScale); col.iSubItem = 0; ListView_InsertColumn(GetDlgItem(IDC_LIST2), 0, &col); col.pszText = "Valid"; - col.cx = 40 * DPIScale; + col.cx = (int)(40 * DPIScale); col.iSubItem = 1; ListView_InsertColumn(GetDlgItem(IDC_LIST2), 1, &col); col.pszText = "Dirty"; - col.cx = 40 * DPIScale; + col.cx = (int)(40 * DPIScale); col.iSubItem = 2; ListView_InsertColumn(GetDlgItem(IDC_LIST2), 2, &col); col.pszText = "Rule"; - col.cx = 270 * DPIScale; + col.cx = (int)(270 * DPIScale); col.iSubItem = 3; ListView_InsertColumn(GetDlgItem(IDC_LIST2), 3, &col); diff --git a/Source/Project64/UserInterface/Debugger/MemoryScanner.cpp b/Source/Project64/UserInterface/Debugger/MemoryScanner.cpp index f7d82e77b..200115eae 100644 --- a/Source/Project64/UserInterface/Debugger/MemoryScanner.cpp +++ b/Source/Project64/UserInterface/Debugger/MemoryScanner.cpp @@ -238,7 +238,7 @@ bool CScanResult::GetMemoryValue(CMixed* v) return true; } -int CScanResult::GetMemoryValueString(char* buffer, size_t size) +int CScanResult::GetMemoryValueString(char* buffer, size_t size, bool bIgnoreHex) { if (g_MMU == NULL) { @@ -246,7 +246,7 @@ int CScanResult::GetMemoryValueString(char* buffer, size_t size) return 1; } - bool bHex = (m_DisplayFormat == DisplayHex); + bool bHex = (m_DisplayFormat == DisplayHex) && !bIgnoreHex; uint32_t paddr = m_Address & 0x1FFFFFFF; @@ -737,7 +737,7 @@ void CMemoryScanner::FirstScanLoopString(DisplayFormat resultDisplayFormat) for (int i = 0; i < length; i++) { uint32_t leAddr = (addr + i) ^ 3; - if (m_Value._string[i] != m_Memory[leAddr]) + if ((uint8_t)m_Value._string[i] != m_Memory[leAddr]) { goto next_addr; } @@ -766,7 +766,7 @@ void CMemoryScanner::FirstScanLoopIString(DisplayFormat resultDisplayFormat) for (int i = 0; i < length; i++) { uint32_t leAddr = (addr + i) ^ 3; - if (toupper(m_Value._string[i]) != toupper(m_Memory[leAddr])) + if (toupper((uint8_t)m_Value._string[i]) != toupper(m_Memory[leAddr])) { goto next_addr; } @@ -782,7 +782,7 @@ void CMemoryScanner::FirstScanLoopIString(DisplayFormat resultDisplayFormat) // scan for text of unknown single-byte encoding void CMemoryScanner::FirstScanLoopUnkString(void) { - const char *str = m_Value._string; + const uint8_t* str = (const uint8_t*)m_Value._string; int length = m_StringValueLength; uint32_t startAddr = m_RangeStartAddress; diff --git a/Source/Project64/UserInterface/Debugger/MemoryScanner.h b/Source/Project64/UserInterface/Debugger/MemoryScanner.h index 1f7a7a85e..016c5b0bb 100644 --- a/Source/Project64/UserInterface/Debugger/MemoryScanner.h +++ b/Source/Project64/UserInterface/Debugger/MemoryScanner.h @@ -151,7 +151,7 @@ public: public: int GetValueString(char* buffer, size_t size); - int GetMemoryValueString(char* buffer, size_t size); + int GetMemoryValueString(char* buffer, size_t size, bool bIgnoreHex = false); int GetAddressString(char *buffer); uint32_t GetVirtualAddress(void); bool SetMemoryValueFromString(char* str); diff --git a/Source/Project64/UserInterface/WTLControls/HexEditCtrl.cpp b/Source/Project64/UserInterface/WTLControls/HexEditCtrl.cpp index e1497bb0d..2c256406c 100644 --- a/Source/Project64/UserInterface/WTLControls/HexEditCtrl.cpp +++ b/Source/Project64/UserInterface/WTLControls/HexEditCtrl.cpp @@ -54,7 +54,7 @@ CHexEditCtrl::~CHexEditCtrl(void) { } -int CALLBACK CHexEditCtrl::HaveFontCb(CONST LOGFONTA *lplf, CONST TEXTMETRICA *lptm, DWORD FontType, LPARAM lParam) +int CALLBACK CHexEditCtrl::HaveFontCb(CONST LOGFONTA* lplf, CONST TEXTMETRICA* /*lptm*/, DWORD /*FontType*/, LPARAM lParam) { const char* name = (const char*)lParam; if (strcmp(lplf->lfFaceName, name) == 0)