/**************************************************************************** * * * Project64 - A Nintendo 64 emulator. * * http://www.pj64-emu.com/ * * Copyright (C) 2012 Project64. All rights reserved. * * * * License: * * GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * * * ****************************************************************************/ #pragma once #include class CDebugSettings { public: CDebugSettings(); virtual ~CDebugSettings(); static inline bool HaveDebugger(void) { return m_HaveDebugger; } static inline bool isDebugging(void) { return m_Debugging; } static inline bool isStepping(void) { return m_Stepping; } static inline bool SkipOp(void) { return m_SkipOp; } static inline bool WaitingForStep(void) { return m_WaitingForStep; } static inline bool bRecordRecompilerAsm(void) { return m_bRecordRecompilerAsm; } static inline bool bShowTLBMisses(void) { return m_bShowTLBMisses; } static inline bool bShowDivByZero(void) { return m_bShowDivByZero; } static inline bool bRecordExecutionTimes(void) { return m_RecordExecutionTimes; } static inline bool HaveExecutionBP(void) { return m_HaveExecutionBP; } static inline bool HaveWriteBP(void) { return m_HaveWriteBP; } static inline bool HaveReadBP(void) { return m_HaveReadBP; } static inline bool bShowPifRamErrors(void) { return m_bShowPifRamErrors; } static inline bool bCPULoggingEnabled(void) { return m_bCPULoggingEnabled; } static inline uint32_t ExceptionBreakpoints(void) { return m_ExceptionBreakpoints; } static inline uint32_t FpExceptionBreakpoints(void) { return m_FpExceptionBreakpoints; } static inline uint32_t IntrBreakpoints(void) { return m_IntrBreakpoints; } static inline uint32_t RcpIntrBreakpoints(void) { return m_RcpIntrBreakpoints; } static inline bool ShowUnhandledMemory(void) { return m_ShowUnhandledMemory; } private: static void StaticRefreshSettings(CDebugSettings * _this) { _this->RefreshSettings(); } void RefreshSettings(void); static bool m_HaveDebugger; static bool m_Debugging; static bool m_Stepping; static bool m_SkipOp; static bool m_WaitingForStep; static bool m_bRecordRecompilerAsm; static bool m_bShowTLBMisses; static bool m_bShowDivByZero; static bool m_RecordExecutionTimes; static bool m_HaveExecutionBP; static bool m_HaveWriteBP; static bool m_HaveReadBP; static bool m_bShowPifRamErrors; static bool m_bCPULoggingEnabled; static uint32_t m_ExceptionBreakpoints; static uint32_t m_FpExceptionBreakpoints; static uint32_t m_IntrBreakpoints; static uint32_t m_RcpIntrBreakpoints; static bool m_ShowUnhandledMemory; static int32_t m_RefCount; static bool m_Registered; };