diff --git a/Android/jni/Common/common.mk b/Android/jni/Common/common.mk index 5c14725b2..ef9424e6e 100644 --- a/Android/jni/Common/common.mk +++ b/Android/jni/Common/common.mk @@ -21,6 +21,7 @@ LOCAL_SRC_FILES := \ $(SRCDIR)/MemoryManagement.cpp \ $(SRCDIR)/path.cpp \ $(SRCDIR)/Platform.cpp \ + $(SRCDIR)/Random.cpp \ $(SRCDIR)/StdString.cpp \ $(SRCDIR)/SyncEvent.cpp \ $(SRCDIR)/Thread.cpp \ @@ -30,4 +31,4 @@ LOCAL_SRC_FILES := \ LOCAL_CFLAGS := $(COMMON_CFLAGS) LOCAL_CPPFLAGS := $(COMMON_CPPFLAGS) -include $(BUILD_STATIC_LIBRARY) \ No newline at end of file +include $(BUILD_STATIC_LIBRARY) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index c3140380c..37f75c2bb 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -2478,6 +2478,7 @@ Status=Compatible Good Name=Ide Yousuke no Mahjong Juku (J) Internal Name=²ÃÞÖ³½¹ÉÏ°¼Þ¬Ý¼Þ­¸ Status=Compatible +Save Type=16kbit Eeprom [D692CC5E-EC58D072-C:50] Good Name=Iggy's Reckin' Balls (E) @@ -3134,7 +3135,6 @@ Internal Name=Madden NFL 2002 Status=Compatible Counter Factor=1 RDRAM Size=8 -Save Type=16kbit Eeprom [3925D625-8C83C75E-C:50] Good Name=Madden NFL 99 (E) @@ -4311,6 +4311,7 @@ Good Name=Pokemon Snap (A) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1382D1C 802C,80382D0F 0000 //Pass 1st Level and Controller Fix Cheat1=D11E3C44 2881,811E3C44 2001,D11E3C46 0098,811E3C46 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4321,6 +4322,7 @@ Good Name=Pokemon Snap (E) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1381BFC 802C,80381BEF 0000 //Pass 1st Level and Controller Fix Cheat1=D11E3824 2881,811E3824 2001,D11E3826 0098,811E3826 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4331,6 +4333,7 @@ Good Name=Pokemon Snap (F) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1381BFC 802C,80381BEF 0000 //Pass 1st Level and Controller Fix Cheat1=D11E3744 2881,811E3744 2001,D11E3746 0098,811E3746 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4341,6 +4344,7 @@ Good Name=Pokemon Snap (G) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1381BDC 802C,80381BCF 0000 //Pass 1st Level and Controller Fix Cheat1=D11E3744 2881,811E3744 2001,D11E3746 0098,811E3746 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4351,6 +4355,7 @@ Good Name=Pokemon Snap (I) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1381BFC 802C,80381BEF 0000 //Pass 1st Level and Controller Fix Cheat1=D11E3994 2881,811E3994 2001,D11E3996 0098,811E3996 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4361,6 +4366,7 @@ Good Name=Pokemon Snap (J) (V1.0) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D136D22C 802A,8036D21F 0000 //Pass 1st Level and Controller Fix Cheat1=D11E1EC4 2881,811E1EC4 2001,D11E1EC6 0098,811E1EC6 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4371,6 +4377,7 @@ Good Name=Pokemon Snap (J) (V1.1) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D136D22C 802A,8036D21F 0000 //Pass 1st Level and Controller Fix Cheat1=D11E1EC4 2881,811E1EC4 2001,D11E1EC6 0098,811E1EC6 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4381,6 +4388,7 @@ Good Name=Pokemon Snap (S) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1381BFC 802C,80381BEF 0000 //Pass 1st Level and Controller Fix Cheat1=D11E38C4 2881,811E38C4 2001,D11E38C6 0098,811E38C6 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4391,6 +4399,7 @@ Good Name=Pokemon Snap (U) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1382D1C 802C,80382D0F 0000 //Pass 1st Level and Controller Fix Cheat1=D11E3184 2881,811E3184 2001,D11E3186 0098,811E3186 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 @@ -4401,6 +4410,7 @@ Good Name=Pokemon Snap Station (U) Internal Name=POKEMON SNAP Status=Issues (plugin) Plugin Note= broken; needs accurate FB emu +Counter Factor=1 Cheat0=D1382D1C 802C,80382D0F 0000 //Pass 1st Level and Controller Fix Cheat1=D11E30F4 2881,811E30F4 2001,D11E30F6 0098,811E30F6 0001 //Make Picture selectable CheatPlugin0=Jabo's Direct3D8,Glide64 For PJ64 diff --git a/Source/Common/Common.vcxproj b/Source/Common/Common.vcxproj index 4ce014430..e8ba6cbe8 100644 --- a/Source/Common/Common.vcxproj +++ b/Source/Common/Common.vcxproj @@ -43,6 +43,7 @@ + Create @@ -64,6 +65,7 @@ + diff --git a/Source/Common/Common.vcxproj.filters b/Source/Common/Common.vcxproj.filters index 437d0328f..69caab164 100644 --- a/Source/Common/Common.vcxproj.filters +++ b/Source/Common/Common.vcxproj.filters @@ -62,6 +62,9 @@ Source Files + + Source Files + @@ -124,5 +127,8 @@ Header Files + + Header Files + \ No newline at end of file diff --git a/Source/Common/Random.cpp b/Source/Common/Random.cpp new file mode 100644 index 000000000..54bc07126 --- /dev/null +++ b/Source/Common/Random.cpp @@ -0,0 +1,54 @@ +/**************************************************************************** +* * +* Project64 - A Nintendo 64 emulator. * +* http://www.pj64-emu.com/ * +* Copyright (C) 2017 Project64. All rights reserved. * +* * +* License: * +* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * +* * +****************************************************************************/ +/* + * Implements the CRandom class. + * + * This class implements the Lehmer Random Number Generator. + * + */ + +#include "stdafx.h" +#include "Random.h" +#include + +CRandom::CRandom() +{ + m_state = (uint32_t)time(NULL); +} + +CRandom::CRandom(uint32_t state_value) +{ + m_state = state_value; +} + +uint32_t CRandom::randomizer(uint32_t val) +{ + return ((uint64_t)val * 279470273UL) % 4294967291UL; +} + +uint32_t CRandom::next() +{ + m_state = randomizer(m_state); + return m_state; +} + +void CRandom::set_state(uint32_t state_value) +{ + if (state_value == 0) + m_state = 1; + else + m_state = state_value; +} + +uint32_t CRandom::get_state() +{ + return m_state; +} diff --git a/Source/Common/Random.h b/Source/Common/Random.h new file mode 100644 index 000000000..aeb33536a --- /dev/null +++ b/Source/Common/Random.h @@ -0,0 +1,32 @@ +/**************************************************************************** +* * +* Project64 - A Nintendo 64 emulator. * +* http://www.pj64-emu.com/ * +* Copyright (C) 2017 Project64. All rights reserved. * +* * +* License: * +* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * +* * +****************************************************************************/ +/* + * Defines the CRandom class. + * + * This class implements the Lehmer Random Number Generator. + * + */ +#pragma once +#include + +class CRandom +{ +public: + CRandom(); + CRandom(uint32_t seed_value); + uint32_t next(); + uint32_t get_state(); + void set_state(uint32_t state_value); + +protected: + uint32_t randomizer(uint32_t val); + uint32_t m_state; +}; diff --git a/Source/Project64-core/N64System/CheatClass.cpp b/Source/Project64-core/N64System/CheatClass.cpp index 7d4e5d933..61d433a9f 100644 --- a/Source/Project64-core/N64System/CheatClass.cpp +++ b/Source/Project64-core/N64System/CheatClass.cpp @@ -354,7 +354,7 @@ void CCheats::ModifyMemory8(uint32_t Address, uint8_t Value) m_MMU.SB_VAddr(Address, OriginalValue.Changed); if (g_Recompiler) { - g_Recompiler->ClearRecompCode_Virt(Address, 1, CRecompiler::Remove_Cheats); + g_Recompiler->ClearRecompCode_Virt(Address & ~0xFFF, 0x1000, CRecompiler::Remove_Cheats); } } @@ -374,7 +374,7 @@ void CCheats::ModifyMemory16(uint32_t Address, uint16_t Value) m_MMU.SH_VAddr(Address, OriginalValue.Changed); if (g_Recompiler) { - g_Recompiler->ClearRecompCode_Virt(Address, 2, CRecompiler::Remove_Cheats); + g_Recompiler->ClearRecompCode_Virt(Address & ~0xFFF, 0x1000, CRecompiler::Remove_Cheats); } } diff --git a/Source/Project64-core/N64System/Mips/Dma.cpp b/Source/Project64-core/N64System/Mips/Dma.cpp index abfa03ab3..b5eb0ad54 100644 --- a/Source/Project64-core/N64System/Mips/Dma.cpp +++ b/Source/Project64-core/N64System/Mips/Dma.cpp @@ -458,9 +458,11 @@ void CDMA::PI_DMA_WRITE() { g_Recompiler->ClearRecompCode_Phys(g_Reg->PI_DRAM_ADDR_REG, g_Reg->PI_WR_LEN_REG, CRecompiler::Remove_DMA); } - g_Reg->PI_STATUS_REG &= ~PI_STATUS_DMA_BUSY; - g_Reg->MI_INTR_REG |= MI_INTR_PI; - g_Reg->CheckInterrupts(); + g_SystemTimer->SetTimer(g_SystemTimer->PiTimer, PI_WR_LEN_REG/8 + (g_Random->next() % 0x40), false); + + //g_Reg->PI_STATUS_REG &= ~PI_STATUS_DMA_BUSY; + //g_Reg->MI_INTR_REG |= MI_INTR_PI; + //g_Reg->CheckInterrupts(); //ChangeTimer(PiTimer,(int32_t)(PI_WR_LEN_REG * 8.9) + 50); //ChangeTimer(PiTimer,(int32_t)(PI_WR_LEN_REG * 8.9)); return; diff --git a/Source/Project64-core/N64System/Mips/PifRam.cpp b/Source/Project64-core/N64System/Mips/PifRam.cpp index 8b4ba49d7..9583070f4 100644 --- a/Source/Project64-core/N64System/Mips/PifRam.cpp +++ b/Source/Project64-core/N64System/Mips/PifRam.cpp @@ -358,13 +358,14 @@ void CPifRam::SI_DMA_READ() if (g_System->bDelaySI()) { - g_SystemTimer->SetTimer(CSystemTimer::SiTimer, 0x900, false); + g_SystemTimer->SetTimer(CSystemTimer::SiTimer, 0x900 + (g_Random->next() % 0x40), false); } else { - g_Reg->MI_INTR_REG |= MI_INTR_SI; - g_Reg->SI_STATUS_REG |= SI_STATUS_INTERRUPT; - g_Reg->CheckInterrupts(); + g_SystemTimer->SetTimer(CSystemTimer::SiTimer, g_Random->next() % 0x40, false); + //g_Reg->MI_INTR_REG |= MI_INTR_SI; + //g_Reg->SI_STATUS_REG |= SI_STATUS_INTERRUPT; + //g_Reg->CheckInterrupts(); } } diff --git a/Source/Project64-core/N64System/N64Class.cpp b/Source/Project64-core/N64System/N64Class.cpp index 709bb43d3..25cde87a3 100644 --- a/Source/Project64-core/N64System/N64Class.cpp +++ b/Source/Project64-core/N64System/N64Class.cpp @@ -30,7 +30,7 @@ #pragma warning(disable:4355) // Disable 'this' : used in base member initializer list -CN64System::CN64System(CPlugins * Plugins, bool SavesReadOnly, bool SyncSystem) : +CN64System::CN64System(CPlugins * Plugins, uint32_t randomizer_seed, bool SavesReadOnly, bool SyncSystem) : CSystemEvents(this, Plugins), m_EndEmulation(false), m_SaveUsing((SAVE_CHIP_TYPE)g_Settings->LoadDword(Game_SaveChip)), @@ -57,7 +57,8 @@ CN64System::CN64System(CPlugins * Plugins, bool SavesReadOnly, bool SyncSystem) m_thread(NULL), m_hPauseEvent(true), m_CheatsSlectionChanged(false), - m_SyncCpu(SyncSystem) + m_SyncCpu(SyncSystem), + m_Random(randomizer_seed) { WriteTrace(TraceN64System, TraceDebug, "Start"); memset(m_LastSuccessSyncPC, 0, sizeof(m_LastSuccessSyncPC)); @@ -110,7 +111,7 @@ CN64System::CN64System(CPlugins * Plugins, bool SavesReadOnly, bool SyncSystem) g_Plugins->CopyPlugins(g_Settings->LoadStringVal(Directory_PluginSync)); m_SyncPlugins = new CPlugins(Directory_PluginSync, true); m_SyncPlugins->SetRenderWindows(g_Plugins->SyncWindow(), NULL); - m_SyncCPU = new CN64System(m_SyncPlugins, true, true); + m_SyncCPU = new CN64System(m_SyncPlugins, randomizer_seed, true, true); } Reset(true, true); @@ -359,7 +360,7 @@ bool CN64System::RunFileImage(const char * FileLoc) void CN64System::RunLoadedImage(void) { WriteTrace(TraceN64System, TraceDebug, "Start"); - g_BaseSystem = new CN64System(g_Plugins, false, false); + g_BaseSystem = new CN64System(g_Plugins, (uint32_t)time(NULL), false, false); if (g_BaseSystem) { g_BaseSystem->StartEmulation(true); @@ -717,6 +718,7 @@ void CN64System::Reset(bool bInitReg, bool ClearMenory) m_SyncCPU->Reset(bInitReg, ClearMenory); } g_Settings->SaveBool(GameRunning_InReset, true); + WriteTrace(TraceN64System, TraceDebug, "Done"); } @@ -764,6 +766,7 @@ bool CN64System::SetActiveSystem(bool bActive) R4300iOp::m_TestTimer = m_TestTimer; R4300iOp::m_NextInstruction = m_NextInstruction; R4300iOp::m_JumpToLocation = m_JumpToLocation; + g_Random = &m_Random; } else { @@ -783,6 +786,7 @@ bool CN64System::SetActiveSystem(bool bActive) g_Plugins = m_Plugins; g_TLBLoadAddress = NULL; g_TLBStoreAddress = NULL; + g_Random = NULL; } } diff --git a/Source/Project64-core/N64System/N64Class.h b/Source/Project64-core/N64System/N64Class.h index 25204fb9c..962fc376c 100644 --- a/Source/Project64-core/N64System/N64Class.h +++ b/Source/Project64-core/N64System/N64Class.h @@ -10,6 +10,7 @@ ****************************************************************************/ #pragma once +#include #include #include #include @@ -48,7 +49,7 @@ class CN64System : protected CDebugSettings { public: - CN64System(CPlugins * Plugins, bool SavesReadOnly, bool SyncSystem); + CN64System(CPlugins * Plugins, uint32_t randomizer_seed, bool SavesReadOnly, bool SyncSystem); virtual ~CN64System(void); CCheats m_Cheats; @@ -163,6 +164,7 @@ private: uint32_t m_SyncCount; bool m_SyncCpu; bool m_CheatsSlectionChanged; + CRandom m_Random; //When Syncing cores this is the PC where it last Sync'ed correctly uint32_t m_LastSuccessSyncPC[10]; diff --git a/Source/Project64-core/N64System/SystemGlobals.cpp b/Source/Project64-core/N64System/SystemGlobals.cpp index d6e058b1c..84552337b 100644 --- a/Source/Project64-core/N64System/SystemGlobals.cpp +++ b/Source/Project64-core/N64System/SystemGlobals.cpp @@ -32,5 +32,6 @@ uint32_t * g_TLBStoreAddress = NULL; CDebugger * g_Debugger = NULL; uint8_t ** g_RecompPos = NULL; CMempak * g_Mempak = NULL; +CRandom * g_Random = NULL; int * g_NextTimer; \ No newline at end of file diff --git a/Source/Project64-core/N64System/SystemGlobals.h b/Source/Project64-core/N64System/SystemGlobals.h index 3ebbff683..b1bfd0521 100644 --- a/Source/Project64-core/N64System/SystemGlobals.h +++ b/Source/Project64-core/N64System/SystemGlobals.h @@ -62,4 +62,7 @@ extern CDebugger * g_Debugger; extern uint8_t ** g_RecompPos; class CMempak; -extern CMempak * g_Mempak; \ No newline at end of file +extern CMempak * g_Mempak; + +class CRandom; +extern CRandom * g_Random; diff --git a/Source/Project64/N64System/Debugger/Debugger-Commands.cpp b/Source/Project64/N64System/Debugger/Debugger-Commands.cpp index 31631422c..afd781213 100644 --- a/Source/Project64/N64System/Debugger/Debugger-Commands.cpp +++ b/Source/Project64/N64System/Debugger/Debugger-Commands.cpp @@ -31,6 +31,8 @@ CToolTipDialog() m_StartAddress = 0x80000000; m_Breakpoints = m_Debugger->Breakpoints(); m_bEditing = false; + m_CommandListRows = 39; + m_RowHeight = 13; } CDebugCommandsView::~CDebugCommandsView(void) @@ -57,8 +59,6 @@ LRESULT CDebugCommandsView::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARA DlgResize_Init(false, true); DlgToolTip_Init(); - m_CommandListRows = 39; - CheckCPUType(); GetWindowRect(&m_DefaultWindowRect); @@ -871,7 +871,19 @@ LRESULT CDebugCommandsView::OnMeasureItem(UINT uMsg, WPARAM wParam, LPARAM lPara if (wParam == IDC_CMD_LIST) { MEASUREITEMSTRUCT* lpMeasureItem = (MEASUREITEMSTRUCT*)lParam; - lpMeasureItem->itemHeight = CCommandList::ROW_HEIGHT; + HWND hCmdList = GetDlgItem(IDC_CMD_LIST); + HWND hHeader = ListView_GetHeader(hCmdList); + RECT header_rc = { 0 }, control_rc = { 0 }; + if (::GetClientRect(hHeader, &header_rc) && GetClientRect(&control_rc)) + { + int height = (control_rc.bottom - control_rc.top) - (header_rc.bottom - header_rc.top); + m_RowHeight = height / m_CommandListRows; + } + else + { + m_RowHeight = 13; + } + lpMeasureItem->itemHeight = m_RowHeight; } return FALSE; } @@ -928,8 +940,8 @@ void CDebugCommandsView::DrawBranchArrows(HDC listDC) int begX = baseX - arrow.startMargin * 3; int endX = baseX - arrow.endMargin * 3; - int begY = baseY + arrow.startPos * CCommandList::ROW_HEIGHT; - int endY = baseY + arrow.endPos * CCommandList::ROW_HEIGHT; + int begY = baseY + arrow.startPos * m_RowHeight; + int endY = baseY + arrow.endPos * m_RowHeight; bool bEndVisible = true; @@ -1405,7 +1417,7 @@ LRESULT CDebugCommandsView::OnSizing(UINT uMsg, WPARAM wParam, LPARAM lParam, BO int rowsHeight = listRect.Height() - headRect.Height(); - int nRows = (rowsHeight / CCommandList::ROW_HEIGHT); + int nRows = (rowsHeight / m_RowHeight); if (m_CommandListRows != nRows) { diff --git a/Source/Project64/N64System/Debugger/Debugger-Commands.h b/Source/Project64/N64System/Debugger/Debugger-Commands.h index fc8b4112f..d90473285 100644 --- a/Source/Project64/N64System/Debugger/Debugger-Commands.h +++ b/Source/Project64/N64System/Debugger/Debugger-Commands.h @@ -29,10 +29,6 @@ public: COL_SYMBOL }; - enum { - ROW_HEIGHT = 13, - }; - void Attach(HWND hWndNew) { CListViewCtrl::Attach(hWndNew); @@ -143,6 +139,7 @@ private: OPCODE& m_SelectedOpCode = m_SelectedOpInfo.m_OpCode; uint32_t m_FollowAddress; + uint32_t m_RowHeight; typedef struct { uint32_t address; diff --git a/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.cpp b/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.cpp index 61bf302e5..59b673b92 100644 --- a/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.cpp +++ b/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.cpp @@ -19,14 +19,6 @@ bool CRegisterTabs::m_bColorsEnabled = false; void CRegisterTabs::Attach(HWND hWndNew) { CTabCtrl::Attach(hWndNew); - LOGFONT lf; - GetObject((HFONT)GetCurrentObject(GetDC(), OBJ_FONT), sizeof(LOGFONT), &lf); - - HFONT monoFont = CreateFont(lf.lfHeight * -1, 0, 0, 0, - FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, - OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, - CLEARTYPE_QUALITY, FF_DONTCARE, "Consolas" - ); m_GPRTab = AddTab("GPR", IDD_Debugger_RegGPR, TabProcGPR); m_FPRTab = AddTab("FPR", IDD_Debugger_RegFPR, TabProcFPR); @@ -42,36 +34,36 @@ void CRegisterTabs::Attach(HWND hWndNew) m_SITab = AddTab("SI", IDD_Debugger_RegSI, TabProcDefault); m_DDTab = AddTab("DD", IDD_Debugger_RegDD, TabProcDefault); - InitRegisterEdits64(m_GPRTab, m_GPREdits, GPREditIds, monoFont); - InitRegisterEdit64(m_GPRTab, m_HIEdit, IDC_HI_EDIT, monoFont); - InitRegisterEdit64(m_GPRTab, m_LOEdit, IDC_LO_EDIT, monoFont); + InitRegisterEdits64(m_GPRTab, m_GPREdits, GPREditIds); + InitRegisterEdit64(m_GPRTab, m_HIEdit, IDC_HI_EDIT); + InitRegisterEdit64(m_GPRTab, m_LOEdit, IDC_LO_EDIT); - InitRegisterEdits(m_FPRTab, m_FPREdits, FPREditIds, monoFont); - InitRegisterEdit(m_FPRTab, m_FCSREdit, IDC_FCSR_EDIT, monoFont); + InitRegisterEdits(m_FPRTab, m_FPREdits, FPREditIds); + InitRegisterEdit(m_FPRTab, m_FCSREdit, IDC_FCSR_EDIT); - InitRegisterEdits(m_COP0Tab, m_COP0Edits, COP0EditIds, monoFont); + InitRegisterEdits(m_COP0Tab, m_COP0Edits, COP0EditIds); m_CauseTip.Attach(m_COP0Tab.GetDlgItem(IDC_CAUSE_TIP)); - InitRegisterEdits(m_RDRAMTab, m_RDRAMEdits, RDRAMEditIds, monoFont); + InitRegisterEdits(m_RDRAMTab, m_RDRAMEdits, RDRAMEditIds); - InitRegisterEdits(m_SPTab, m_SPEdits, SPEditIds, monoFont); - InitRegisterEdit(m_SPTab, m_SPPCEdit, IDC_SP_PC_EDIT, monoFont); + InitRegisterEdits(m_SPTab, m_SPEdits, SPEditIds); + InitRegisterEdit(m_SPTab, m_SPPCEdit, IDC_SP_PC_EDIT); - InitRegisterEdits(m_DPCTab, m_DPCEdits, DPCEditIds, monoFont); + InitRegisterEdits(m_DPCTab, m_DPCEdits, DPCEditIds); - InitRegisterEdits(m_MITab, m_MIEdits, MIEditIds, monoFont); + InitRegisterEdits(m_MITab, m_MIEdits, MIEditIds); - InitRegisterEdits(m_VITab, m_VIEdits, VIEditIds, monoFont); + InitRegisterEdits(m_VITab, m_VIEdits, VIEditIds); - InitRegisterEdits(m_AITab, m_AIEdits, AIEditIds, monoFont); + InitRegisterEdits(m_AITab, m_AIEdits, AIEditIds); - InitRegisterEdits(m_PITab, m_PIEdits, PIEditIds, monoFont); + InitRegisterEdits(m_PITab, m_PIEdits, PIEditIds); - InitRegisterEdits(m_RITab, m_RIEdits, RIEditIds, monoFont); + InitRegisterEdits(m_RITab, m_RIEdits, RIEditIds); - InitRegisterEdits(m_SITab, m_SIEdits, SIEditIds, monoFont); + InitRegisterEdits(m_SITab, m_SIEdits, SIEditIds); - InitRegisterEdits(m_DDTab, m_DDEdits, DDEditIds, monoFont); + InitRegisterEdits(m_DDTab, m_DDEdits, DDEditIds); SetColorsEnabled(false); RefreshEdits(); @@ -668,32 +660,30 @@ void CRegisterTabs::SetColorsEnabled(bool bColorsEnabled) m_bColorsEnabled = bColorsEnabled; } -void CRegisterTabs::InitRegisterEdit(CWindow& tab, CEditNumber& edit, WORD ctrlId, HFONT font) +void CRegisterTabs::InitRegisterEdit(CWindow& tab, CEditNumber& edit, WORD ctrlId) { edit.Attach(tab.GetDlgItem(ctrlId)); edit.SetDisplayType(CEditNumber::DisplayHex); - edit.SetFont(font); } -void CRegisterTabs::InitRegisterEdits(CWindow& tab, CEditNumber* edits, const DWORD* ctrlIds, HFONT font) +void CRegisterTabs::InitRegisterEdits(CWindow& tab, CEditNumber* edits, const DWORD* ctrlIds) { for (int i = 0; i < ctrlIds[i] != 0; i++) { - InitRegisterEdit(tab, edits[i], ctrlIds[i], font); + InitRegisterEdit(tab, edits[i], ctrlIds[i]); } } -void CRegisterTabs::InitRegisterEdit64(CWindow& tab, CEditReg64& edit, WORD ctrlId, HFONT font) +void CRegisterTabs::InitRegisterEdit64(CWindow& tab, CEditReg64& edit, WORD ctrlId) { edit.Attach(tab.GetDlgItem(ctrlId)); - edit.SetFont(font); } -void CRegisterTabs::InitRegisterEdits64(CWindow& tab, CEditReg64* edits, const DWORD* ctrlIds, HFONT font) +void CRegisterTabs::InitRegisterEdits64(CWindow& tab, CEditReg64* edits, const DWORD* ctrlIds) { for (int i = 0; i < ctrlIds[i] != 0; i++) { - InitRegisterEdit64(tab, edits[i], ctrlIds[i], font); + InitRegisterEdit64(tab, edits[i], ctrlIds[i]); } } diff --git a/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.h b/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.h index cf8e48c7a..f9cd5a68c 100644 --- a/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.h +++ b/Source/Project64/N64System/Debugger/Debugger-RegisterTabs.h @@ -261,10 +261,10 @@ private: static INT_PTR CALLBACK TabProcGPR(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); static INT_PTR CALLBACK TabProcFPR(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static void InitRegisterEdit(CWindow& tab, CEditNumber& edit, WORD ctrlId, HFONT font); - static void InitRegisterEdits(CWindow& tab, CEditNumber* edits, const DWORD* ctrlIds, HFONT font); - static void InitRegisterEdit64(CWindow& tab, CEditReg64& edit, WORD ctrlId, HFONT font); - static void InitRegisterEdits64(CWindow& tab, CEditReg64* edits, const DWORD* ctrlIds, HFONT font); + static void InitRegisterEdit(CWindow& tab, CEditNumber& edit, WORD ctrlId); + static void InitRegisterEdits(CWindow& tab, CEditNumber* edits, const DWORD* ctrlIds); + static void InitRegisterEdit64(CWindow& tab, CEditReg64& edit, WORD ctrlId); + static void InitRegisterEdits64(CWindow& tab, CEditReg64* edits, const DWORD* ctrlIds); static void ZeroRegisterEdit(CEditNumber& edit); static void ZeroRegisterEdits(CEditNumber* edits, const DWORD* ctrlIds); static void ZeroRegisterEdit64(CEditReg64& edit);