Merge pull request #142 from Tilka/clang-modernize

Run clang-modernize and manually fix the result
This commit is contained in:
Matthew Parlane 2014-03-10 09:24:09 +13:00
commit 633dc75e85
355 changed files with 2257 additions and 2211 deletions

View File

@ -22,7 +22,7 @@ void AOSound::SoundLoop()
format.rate = m_mixer->GetSampleRate(); format.rate = m_mixer->GetSampleRate();
format.byte_format = AO_FMT_LITTLE; format.byte_format = AO_FMT_LITTLE;
device = ao_open_live(default_driver, &format, NULL /* no options */); device = ao_open_live(default_driver, &format, nullptr /* no options */);
if (!device) if (!device)
{ {
PanicAlertT("AudioCommon: Error opening AO device.\n"); PanicAlertT("AudioCommon: Error opening AO device.\n");
@ -73,7 +73,7 @@ void AOSound::Stop()
ao_shutdown(); ao_shutdown();
device = NULL; device = nullptr;
} }
} }

View File

@ -31,11 +31,11 @@ public:
virtual ~AOSound(); virtual ~AOSound();
virtual bool Start(); virtual bool Start() override;
virtual void SoundLoop(); virtual void SoundLoop() override;
virtual void Stop(); virtual void Stop() override;
static bool isValid() { static bool isValid() {
return true; return true;
@ -45,7 +45,7 @@ public:
return true; return true;
} }
virtual void Update(); virtual void Update() override;
#else #else
public: public:

View File

@ -12,7 +12,7 @@
#define BUFFER_SIZE_MAX 8192 #define BUFFER_SIZE_MAX 8192
#define BUFFER_SIZE_BYTES (BUFFER_SIZE_MAX*2*2) #define BUFFER_SIZE_BYTES (BUFFER_SIZE_MAX*2*2)
AlsaSound::AlsaSound(CMixer *mixer) : SoundStream(mixer), thread_data(0), handle(NULL), frames_to_deliver(FRAME_COUNT_MIN) AlsaSound::AlsaSound(CMixer *mixer) : SoundStream(mixer), thread_data(0), handle(nullptr), frames_to_deliver(FRAME_COUNT_MIN)
{ {
mix_buffer = new u8[BUFFER_SIZE_BYTES]; mix_buffer = new u8[BUFFER_SIZE_BYTES];
} }
@ -204,11 +204,11 @@ bool AlsaSound::AlsaInit()
void AlsaSound::AlsaShutdown() void AlsaSound::AlsaShutdown()
{ {
if (handle != NULL) if (handle != nullptr)
{ {
snd_pcm_drop(handle); snd_pcm_drop(handle);
snd_pcm_close(handle); snd_pcm_close(handle);
handle = NULL; handle = nullptr;
} }
} }

View File

@ -19,9 +19,9 @@ public:
AlsaSound(CMixer *mixer); AlsaSound(CMixer *mixer);
virtual ~AlsaSound(); virtual ~AlsaSound();
virtual bool Start(); virtual bool Start() override;
virtual void SoundLoop(); virtual void SoundLoop() override;
virtual void Stop(); virtual void Stop() override;
static bool isValid() { static bool isValid() {
return true; return true;
@ -30,7 +30,7 @@ public:
return true; return true;
} }
virtual void Update(); virtual void Update() override;
private: private:
bool AlsaInit(); bool AlsaInit();

View File

@ -40,8 +40,8 @@ bool CoreAudioSound::Start()
desc.componentFlags = 0; desc.componentFlags = 0;
desc.componentFlagsMask = 0; desc.componentFlagsMask = 0;
desc.componentManufacturer = kAudioUnitManufacturer_Apple; desc.componentManufacturer = kAudioUnitManufacturer_Apple;
component = FindNextComponent(NULL, &desc); component = FindNextComponent(nullptr, &desc);
if (component == NULL) { if (component == nullptr) {
ERROR_LOG(AUDIO, "error finding audio component"); ERROR_LOG(AUDIO, "error finding audio component");
return false; return false;
} }

View File

@ -123,7 +123,7 @@ float* design_fir(unsigned int *n, float* fc, float opt)
float fc1; // Cutoff frequencies float fc1; // Cutoff frequencies
// Sanity check // Sanity check
if(*n==0) return NULL; if(*n==0) return nullptr;
MathUtil::Clamp(&fc[0],float(0.001),float(1)); MathUtil::Clamp(&fc[0],float(0.001),float(1));
float *w=(float*)calloc(sizeof(float),*n); float *w=(float*)calloc(sizeof(float),*n);
@ -188,7 +188,7 @@ void done(void)
{ {
free(filter_coefs_lfe); free(filter_coefs_lfe);
} }
filter_coefs_lfe = NULL; filter_coefs_lfe = nullptr;
} }
float* calc_coefficients_125Hz_lowpass(int rate) float* calc_coefficients_125Hz_lowpass(int rate)
@ -378,5 +378,5 @@ void dpl2reset()
{ {
olddelay = -1; olddelay = -1;
oldfreq = 0; oldfreq = 0;
filter_coefs_lfe = NULL; filter_coefs_lfe = nullptr;
} }

View File

@ -32,7 +32,7 @@ bool DSound::CreateBuffer()
dsbdesc.lpwfxFormat = (WAVEFORMATEX *)&pcmwf; dsbdesc.lpwfxFormat = (WAVEFORMATEX *)&pcmwf;
dsbdesc.guid3DAlgorithm = DS3DALG_DEFAULT; dsbdesc.guid3DAlgorithm = DS3DALG_DEFAULT;
HRESULT res = ds->CreateSoundBuffer(&dsbdesc, &dsBuffer, NULL); HRESULT res = ds->CreateSoundBuffer(&dsbdesc, &dsBuffer, nullptr);
if (SUCCEEDED(res)) if (SUCCEEDED(res))
{ {
dsBuffer->SetCurrentPosition(0); dsBuffer->SetCurrentPosition(0);
@ -43,7 +43,7 @@ bool DSound::CreateBuffer()
{ {
// Failed. // Failed.
PanicAlertT("Sound buffer creation failed: %08x", res); PanicAlertT("Sound buffer creation failed: %08x", res);
dsBuffer = NULL; dsBuffer = nullptr;
return false; return false;
} }
} }
@ -130,7 +130,7 @@ void DSound::SetVolume(int volume)
// This is in "dBA attenuation" from 0 to -10000, logarithmic // This is in "dBA attenuation" from 0 to -10000, logarithmic
m_volume = (int)floor(log10((float)volume) * 5000.0f) - 10000; m_volume = (int)floor(log10((float)volume) * 5000.0f) - 10000;
if (dsBuffer != NULL) if (dsBuffer != nullptr)
dsBuffer->SetVolume(m_volume); dsBuffer->SetVolume(m_volume);
} }
@ -143,7 +143,7 @@ void DSound::Clear(bool mute)
{ {
m_muted = mute; m_muted = mute;
if (dsBuffer != NULL) if (dsBuffer != nullptr)
{ {
if (m_muted) if (m_muted)
{ {

View File

@ -21,12 +21,12 @@ public:
virtual ~NullSound() {} virtual ~NullSound() {}
virtual bool Start(); virtual bool Start() override;
virtual void SoundLoop(); virtual void SoundLoop() override;
virtual void SetVolume(int volume); virtual void SetVolume(int volume) override;
virtual void Stop(); virtual void Stop() override;
virtual void Clear(bool mute); virtual void Clear(bool mute) override;
static bool isValid() { return true; } static bool isValid() { return true; }
virtual bool usesMixer() const { return true; } virtual bool usesMixer() const { return true; }
virtual void Update(); virtual void Update() override;
}; };

View File

@ -17,17 +17,17 @@ bool OpenALStream::Start()
{ {
bool bReturn = false; bool bReturn = false;
ALDeviceList *pDeviceList = new ALDeviceList(); ALDeviceList pDeviceList;
if ((pDeviceList) && (pDeviceList->GetNumDevices())) if (pDeviceList.GetNumDevices())
{ {
char *defDevName = pDeviceList->GetDeviceName(pDeviceList->GetDefaultDevice()); char *defDevName = pDeviceList.GetDeviceName(pDeviceList.GetDefaultDevice());
WARN_LOG(AUDIO, "Found OpenAL device %s", defDevName); WARN_LOG(AUDIO, "Found OpenAL device %s", defDevName);
ALCdevice *pDevice = alcOpenDevice(defDevName); ALCdevice *pDevice = alcOpenDevice(defDevName);
if (pDevice) if (pDevice)
{ {
ALCcontext *pContext = alcCreateContext(pDevice, NULL); ALCcontext *pContext = alcCreateContext(pDevice, nullptr);
if (pContext) if (pContext)
{ {
// Used to determine an appropriate period size (2x period = total buffer size) // Used to determine an appropriate period size (2x period = total buffer size)
@ -49,7 +49,6 @@ bool OpenALStream::Start()
{ {
PanicAlertT("OpenAL: can't open device %s", defDevName); PanicAlertT("OpenAL: can't open device %s", defDevName);
} }
delete pDeviceList;
} }
else else
{ {
@ -84,7 +83,7 @@ void OpenALStream::Stop()
ALCcontext *pContext = alcGetCurrentContext(); ALCcontext *pContext = alcGetCurrentContext();
ALCdevice *pDevice = alcGetContextsDevice(pContext); ALCdevice *pDevice = alcGetContextsDevice(pContext);
alcMakeContextCurrent(NULL); alcMakeContextCurrent(nullptr);
alcDestroyContext(pContext); alcDestroyContext(pContext);
alcCloseDevice(pDevice); alcCloseDevice(pDevice);
} }

View File

@ -44,21 +44,21 @@ class OpenALStream: public SoundStream
{ {
#if defined HAVE_OPENAL && HAVE_OPENAL #if defined HAVE_OPENAL && HAVE_OPENAL
public: public:
OpenALStream(CMixer *mixer, void *hWnd = NULL) OpenALStream(CMixer *mixer, void *hWnd = nullptr)
: SoundStream(mixer) : SoundStream(mixer)
, uiSource(0) , uiSource(0)
{} {}
virtual ~OpenALStream() {} virtual ~OpenALStream() {}
virtual bool Start(); virtual bool Start() override;
virtual void SoundLoop(); virtual void SoundLoop() override;
virtual void SetVolume(int volume); virtual void SetVolume(int volume) override;
virtual void Stop(); virtual void Stop() override;
virtual void Clear(bool mute); virtual void Clear(bool mute) override;
static bool isValid() { return true; } static bool isValid() { return true; }
virtual bool usesMixer() const { return true; } virtual bool usesMixer() const { return true; }
virtual void Update(); virtual void Update() override;
private: private:
std::thread thread; std::thread thread;

View File

@ -17,7 +17,7 @@ static SLEngineItf engineEngine;
static SLObjectItf outputMixObject; static SLObjectItf outputMixObject;
// buffer queue player interfaces // buffer queue player interfaces
static SLObjectItf bqPlayerObject = NULL; static SLObjectItf bqPlayerObject = nullptr;
static SLPlayItf bqPlayerPlay; static SLPlayItf bqPlayerPlay;
static SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue; static SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue;
static SLMuteSoloItf bqPlayerMuteSolo; static SLMuteSoloItf bqPlayerMuteSolo;
@ -32,7 +32,7 @@ static int curBuffer = 0;
static void bqPlayerCallback(SLAndroidSimpleBufferQueueItf bq, void *context) { static void bqPlayerCallback(SLAndroidSimpleBufferQueueItf bq, void *context) {
assert(bq == bqPlayerBufferQueue); assert(bq == bqPlayerBufferQueue);
assert(NULL == context); assert(nullptr == context);
short *nextBuffer = buffer[curBuffer]; short *nextBuffer = buffer[curBuffer];
int nextSize = sizeof(buffer[0]); int nextSize = sizeof(buffer[0]);
@ -53,7 +53,7 @@ bool OpenSLESStream::Start()
{ {
SLresult result; SLresult result;
// create engine // create engine
result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL); result = slCreateEngine(&engineObject, 0, nullptr, 0, nullptr, nullptr);
assert(SL_RESULT_SUCCESS == result); assert(SL_RESULT_SUCCESS == result);
result = (*engineObject)->Realize(engineObject, SL_BOOLEAN_FALSE); result = (*engineObject)->Realize(engineObject, SL_BOOLEAN_FALSE);
assert(SL_RESULT_SUCCESS == result); assert(SL_RESULT_SUCCESS == result);
@ -79,7 +79,7 @@ bool OpenSLESStream::Start()
// configure audio sink // configure audio sink
SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, outputMixObject}; SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, outputMixObject};
SLDataSink audioSnk = {&loc_outmix, NULL}; SLDataSink audioSnk = {&loc_outmix, nullptr};
// create audio player // create audio player
const SLInterfaceID ids[2] = {SL_IID_BUFFERQUEUE, SL_IID_VOLUME}; const SLInterfaceID ids[2] = {SL_IID_BUFFERQUEUE, SL_IID_VOLUME};
@ -94,7 +94,7 @@ bool OpenSLESStream::Start()
result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_BUFFERQUEUE, result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_BUFFERQUEUE,
&bqPlayerBufferQueue); &bqPlayerBufferQueue);
assert(SL_RESULT_SUCCESS == result); assert(SL_RESULT_SUCCESS == result);
result = (*bqPlayerBufferQueue)->RegisterCallback(bqPlayerBufferQueue, bqPlayerCallback, NULL); result = (*bqPlayerBufferQueue)->RegisterCallback(bqPlayerBufferQueue, bqPlayerCallback, nullptr);
assert(SL_RESULT_SUCCESS == result); assert(SL_RESULT_SUCCESS == result);
result = (*bqPlayerPlay)->SetPlayState(bqPlayerPlay, SL_PLAYSTATE_PLAYING); result = (*bqPlayerPlay)->SetPlayState(bqPlayerPlay, SL_PLAYSTATE_PLAYING);
assert(SL_RESULT_SUCCESS == result); assert(SL_RESULT_SUCCESS == result);
@ -113,22 +113,22 @@ bool OpenSLESStream::Start()
void OpenSLESStream::Stop() void OpenSLESStream::Stop()
{ {
if (bqPlayerObject != NULL) { if (bqPlayerObject != nullptr) {
(*bqPlayerObject)->Destroy(bqPlayerObject); (*bqPlayerObject)->Destroy(bqPlayerObject);
bqPlayerObject = NULL; bqPlayerObject = nullptr;
bqPlayerPlay = NULL; bqPlayerPlay = nullptr;
bqPlayerBufferQueue = NULL; bqPlayerBufferQueue = nullptr;
bqPlayerMuteSolo = NULL; bqPlayerMuteSolo = nullptr;
bqPlayerVolume = NULL; bqPlayerVolume = nullptr;
} }
if (outputMixObject != NULL) { if (outputMixObject != nullptr) {
(*outputMixObject)->Destroy(outputMixObject); (*outputMixObject)->Destroy(outputMixObject);
outputMixObject = NULL; outputMixObject = nullptr;
} }
if (engineObject != NULL) { if (engineObject != nullptr) {
(*engineObject)->Destroy(engineObject); (*engineObject)->Destroy(engineObject);
engineObject = NULL; engineObject = nullptr;
engineEngine = NULL; engineEngine = nullptr;
} }
} }
#endif #endif

View File

@ -11,7 +11,7 @@ class OpenSLESStream : public SoundStream
{ {
#ifdef ANDROID #ifdef ANDROID
public: public:
OpenSLESStream(CMixer *mixer, void *hWnd = NULL) OpenSLESStream(CMixer *mixer, void *hWnd = nullptr)
: SoundStream(mixer) : SoundStream(mixer)
{}; {};
@ -27,6 +27,6 @@ private:
Common::Event soundSyncEvent; Common::Event soundSyncEvent;
#else #else
public: public:
OpenSLESStream(CMixer *mixer, void *hWnd = NULL): SoundStream(mixer) {} OpenSLESStream(CMixer *mixer, void *hWnd = nullptr): SoundStream(mixer) {}
#endif // HAVE_OPENSL #endif // HAVE_OPENSL
}; };

View File

@ -47,7 +47,7 @@ void PulseAudio::SoundLoop()
if (PulseInit()) if (PulseInit())
{ {
while (m_run_thread.load() && m_pa_connected == 1 && m_pa_error >= 0) while (m_run_thread.load() && m_pa_connected == 1 && m_pa_error >= 0)
m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, NULL); m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, nullptr);
if(m_pa_error < 0) if(m_pa_error < 0)
ERROR_LOG(AUDIO, "PulseAudio error: %s", pa_strerror(m_pa_error)); ERROR_LOG(AUDIO, "PulseAudio error: %s", pa_strerror(m_pa_error));
@ -66,12 +66,12 @@ bool PulseAudio::PulseInit()
m_pa_ml = pa_mainloop_new(); m_pa_ml = pa_mainloop_new();
m_pa_mlapi = pa_mainloop_get_api(m_pa_ml); m_pa_mlapi = pa_mainloop_get_api(m_pa_ml);
m_pa_ctx = pa_context_new(m_pa_mlapi, "dolphin-emu"); m_pa_ctx = pa_context_new(m_pa_mlapi, "dolphin-emu");
m_pa_error = pa_context_connect(m_pa_ctx, NULL, PA_CONTEXT_NOFLAGS, NULL); m_pa_error = pa_context_connect(m_pa_ctx, nullptr, PA_CONTEXT_NOFLAGS, nullptr);
pa_context_set_state_callback(m_pa_ctx, StateCallback, this); pa_context_set_state_callback(m_pa_ctx, StateCallback, this);
// wait until we're connected to the pulseaudio server // wait until we're connected to the pulseaudio server
while (m_pa_connected == 0 && m_pa_error >= 0) while (m_pa_connected == 0 && m_pa_error >= 0)
m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, NULL); m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, nullptr);
if (m_pa_connected == 2 || m_pa_error < 0) if (m_pa_connected == 2 || m_pa_error < 0)
{ {
@ -85,7 +85,7 @@ bool PulseAudio::PulseInit()
ss.format = PA_SAMPLE_S16LE; ss.format = PA_SAMPLE_S16LE;
ss.channels = 2; ss.channels = 2;
ss.rate = m_mixer->GetSampleRate(); ss.rate = m_mixer->GetSampleRate();
m_pa_s = pa_stream_new(m_pa_ctx, "Playback", &ss, NULL); m_pa_s = pa_stream_new(m_pa_ctx, "Playback", &ss, nullptr);
pa_stream_set_write_callback(m_pa_s, WriteCallback, this); pa_stream_set_write_callback(m_pa_s, WriteCallback, this);
pa_stream_set_underflow_callback(m_pa_s, UnderflowCallback, this); pa_stream_set_underflow_callback(m_pa_s, UnderflowCallback, this);
@ -97,7 +97,7 @@ bool PulseAudio::PulseInit()
m_pa_ba.prebuf = -1; // start as early as possible m_pa_ba.prebuf = -1; // start as early as possible
m_pa_ba.tlength = BUFFER_SIZE; // designed latency, only change this flag for low latency output m_pa_ba.tlength = BUFFER_SIZE; // designed latency, only change this flag for low latency output
pa_stream_flags flags = pa_stream_flags(PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_ADJUST_LATENCY | PA_STREAM_AUTO_TIMING_UPDATE); pa_stream_flags flags = pa_stream_flags(PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_ADJUST_LATENCY | PA_STREAM_AUTO_TIMING_UPDATE);
m_pa_error = pa_stream_connect_playback(m_pa_s, NULL, &m_pa_ba, flags, NULL, NULL); m_pa_error = pa_stream_connect_playback(m_pa_s, nullptr, &m_pa_ba, flags, nullptr, nullptr);
if (m_pa_error < 0) if (m_pa_error < 0)
{ {
ERROR_LOG(AUDIO, "PulseAudio failed to initialize: %s", pa_strerror(m_pa_error)); ERROR_LOG(AUDIO, "PulseAudio failed to initialize: %s", pa_strerror(m_pa_error));
@ -135,7 +135,7 @@ void PulseAudio::StateCallback(pa_context* c)
void PulseAudio::UnderflowCallback(pa_stream* s) void PulseAudio::UnderflowCallback(pa_stream* s)
{ {
m_pa_ba.tlength += BUFFER_SIZE; m_pa_ba.tlength += BUFFER_SIZE;
pa_stream_set_buffer_attr(s, &m_pa_ba, NULL, NULL); pa_stream_set_buffer_attr(s, &m_pa_ba, nullptr, nullptr);
WARN_LOG(AUDIO, "pulseaudio underflow, new latency: %d bytes", m_pa_ba.tlength); WARN_LOG(AUDIO, "pulseaudio underflow, new latency: %d bytes", m_pa_ba.tlength);
} }
@ -150,7 +150,7 @@ void PulseAudio::WriteCallback(pa_stream* s, size_t length)
return; // error will be printed from main loop return; // error will be printed from main loop
m_mixer->Mix((s16*) buffer, length / sizeof(s16) / CHANNEL_COUNT); m_mixer->Mix((s16*) buffer, length / sizeof(s16) / CHANNEL_COUNT);
m_pa_error = pa_stream_write(s, buffer, length, NULL, 0, PA_SEEK_RELATIVE); m_pa_error = pa_stream_write(s, buffer, length, nullptr, 0, PA_SEEK_RELATIVE);
} }
// Callbacks that forward to internal methods (required because PulseAudio is a C API). // Callbacks that forward to internal methods (required because PulseAudio is a C API).

View File

@ -20,21 +20,21 @@ class PulseAudio : public SoundStream
public: public:
PulseAudio(CMixer *mixer); PulseAudio(CMixer *mixer);
virtual bool Start(); virtual bool Start() override;
virtual void Stop(); virtual void Stop() override;
static bool isValid() {return true;} static bool isValid() {return true;}
virtual bool usesMixer() const {return true;} virtual bool usesMixer() const {return true;}
virtual void Update(); virtual void Update() override;
void StateCallback(pa_context *c); void StateCallback(pa_context *c);
void WriteCallback(pa_stream *s, size_t length); void WriteCallback(pa_stream *s, size_t length);
void UnderflowCallback(pa_stream *s); void UnderflowCallback(pa_stream *s);
private: private:
virtual void SoundLoop(); virtual void SoundLoop() override;
bool PulseInit(); bool PulseInit();
void PulseShutdown(); void PulseShutdown();

View File

@ -11,7 +11,7 @@ enum {BUF_SIZE = 32*1024};
WaveFileWriter::WaveFileWriter(): WaveFileWriter::WaveFileWriter():
skip_silence(false), skip_silence(false),
audio_size(0), audio_size(0),
conv_buffer(NULL) conv_buffer(nullptr)
{ {
} }

View File

@ -158,7 +158,7 @@ XAudio2::XAudio2(CMixer *mixer)
: SoundStream(mixer) : SoundStream(mixer)
, m_mastering_voice(nullptr) , m_mastering_voice(nullptr)
, m_volume(1.0f) , m_volume(1.0f)
, m_cleanup_com(SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED))) , m_cleanup_com(SUCCEEDED(CoInitializeEx(nullptr, COINIT_MULTITHREADED)))
{ {
} }

View File

@ -159,7 +159,7 @@ XAudio2_7::XAudio2_7(CMixer *mixer)
: SoundStream(mixer) : SoundStream(mixer)
, m_mastering_voice(nullptr) , m_mastering_voice(nullptr)
, m_volume(1.0f) , m_volume(1.0f)
, m_cleanup_com(SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED))) , m_cleanup_com(SUCCEEDED(CoInitializeEx(nullptr, COINIT_MULTITHREADED)))
{ {
} }

View File

@ -50,13 +50,13 @@ ALDeviceList::ALDeviceList()
defaultDeviceIndex = 0; defaultDeviceIndex = 0;
// grab function pointers for 1.0-API functions, and if successful proceed to enumerate all devices // grab function pointers for 1.0-API functions, and if successful proceed to enumerate all devices
//if (LoadOAL10Library(NULL, &ALFunction) == TRUE) { //if (LoadOAL10Library(nullptr, &ALFunction) == TRUE) {
if (alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT")) if (alcIsExtensionPresent(nullptr, "ALC_ENUMERATION_EXT"))
{ {
const char *devices = alcGetString(NULL, ALC_DEVICE_SPECIFIER); const char *devices = alcGetString(nullptr, ALC_DEVICE_SPECIFIER);
const char *defaultDeviceName = alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER); const char *defaultDeviceName = alcGetString(nullptr, ALC_DEFAULT_DEVICE_SPECIFIER);
// go through device list (each device terminated with a single NULL, list terminated with double NULL) // go through device list (each device terminated with a single nullptr, list terminated with double nullptr)
for (s32 index = 0; devices != NULL && strlen(devices) > 0; index++, devices += strlen(devices) + 1) for (s32 index = 0; devices != nullptr && strlen(devices) > 0; index++, devices += strlen(devices) + 1)
{ {
if (strcmp(defaultDeviceName, devices) == 0) if (strcmp(defaultDeviceName, devices) == 0)
{ {
@ -65,7 +65,7 @@ ALDeviceList::ALDeviceList()
ALCdevice *device = alcOpenDevice(devices); ALCdevice *device = alcOpenDevice(devices);
if (device) if (device)
{ {
ALCcontext *context = alcCreateContext(device, NULL); ALCcontext *context = alcCreateContext(device, nullptr);
if (context) if (context)
{ {
alcMakeContextCurrent(context); alcMakeContextCurrent(context);
@ -79,7 +79,7 @@ ALDeviceList::ALDeviceList()
bNewName = false; bNewName = false;
} }
} }
if ((bNewName) && (actualDeviceName != NULL) && (strlen(actualDeviceName) > 0)) if ((bNewName) && (actualDeviceName != nullptr) && (strlen(actualDeviceName) > 0))
{ {
ALDeviceInfo.bSelected = true; ALDeviceInfo.bSelected = true;
ALDeviceInfo.strDeviceName = actualDeviceName; ALDeviceInfo.strDeviceName = actualDeviceName;
@ -120,7 +120,7 @@ ALDeviceList::ALDeviceList()
vDeviceInfo.push_back(ALDeviceInfo); vDeviceInfo.push_back(ALDeviceInfo);
} }
alcMakeContextCurrent(NULL); alcMakeContextCurrent(nullptr);
alcDestroyContext(context); alcDestroyContext(context);
} }
alcCloseDevice(device); alcCloseDevice(device);
@ -163,7 +163,7 @@ char * ALDeviceList::GetDeviceName(s32 index)
if (index < GetNumDevices()) if (index < GetNumDevices())
return (char *)vDeviceInfo[index].strDeviceName.c_str(); return (char *)vDeviceInfo[index].strDeviceName.c_str();
else else
return NULL; return nullptr;
} }
/* /*

View File

@ -14,7 +14,7 @@ const char procfile[] = "/proc/cpuinfo";
char *GetCPUString() char *GetCPUString()
{ {
const char marker[] = "Hardware\t: "; const char marker[] = "Hardware\t: ";
char *cpu_string = 0; char *cpu_string = nullptr;
// Count the number of processor lines in /proc/cpuinfo // Count the number of processor lines in /proc/cpuinfo
char buf[1024]; char buf[1024];
@ -38,7 +38,7 @@ char *GetCPUString()
unsigned char GetCPUImplementer() unsigned char GetCPUImplementer()
{ {
const char marker[] = "CPU implementer\t: "; const char marker[] = "CPU implementer\t: ";
char *implementer_string = 0; char *implementer_string = nullptr;
unsigned char implementer = 0; unsigned char implementer = 0;
char buf[1024]; char buf[1024];
@ -65,7 +65,7 @@ unsigned char GetCPUImplementer()
unsigned short GetCPUPart() unsigned short GetCPUPart()
{ {
const char marker[] = "CPU part\t: "; const char marker[] = "CPU part\t: ";
char *part_string = 0; char *part_string = nullptr;
unsigned short part = 0; unsigned short part = 0;
char buf[1024]; char buf[1024];
@ -105,11 +105,11 @@ bool CheckCPUFeature(const char *feature)
continue; continue;
char *featurestring = buf + sizeof(marker) - 1; char *featurestring = buf + sizeof(marker) - 1;
char *token = strtok(featurestring, " "); char *token = strtok(featurestring, " ");
while (token != NULL) while (token != nullptr)
{ {
if (strstr(token, feature)) if (strstr(token, feature))
return true; return true;
token = strtok(NULL, " "); token = strtok(nullptr, " ");
} }
} }

View File

@ -710,7 +710,7 @@ protected:
size_t region_size; size_t region_size;
public: public:
ARMXCodeBlock() : region(NULL), region_size(0) {} ARMXCodeBlock() : region(nullptr), region_size(0) {}
virtual ~ARMXCodeBlock() { if (region) FreeCodeSpace(); } virtual ~ARMXCodeBlock() { if (region) FreeCodeSpace(); }
// Call this before you generate any code. // Call this before you generate any code.
@ -735,7 +735,7 @@ public:
{ {
#ifndef __SYMBIAN32__ #ifndef __SYMBIAN32__
FreeMemoryPages(region, region_size); FreeMemoryPages(region, region_size);
region = NULL; region = nullptr;
#endif #endif
region_size = 0; region_size = 0;
} }

View File

@ -152,7 +152,7 @@ void MemChecks::AddFromStrings(const TMemChecksStr& mcstrs)
void MemChecks::Add(const TMemCheck& _rMemoryCheck) void MemChecks::Add(const TMemCheck& _rMemoryCheck)
{ {
if (GetMemCheck(_rMemoryCheck.StartAddress) == 0) if (GetMemCheck(_rMemoryCheck.StartAddress) == nullptr)
m_MemChecks.push_back(_rMemoryCheck); m_MemChecks.push_back(_rMemoryCheck);
} }
@ -184,7 +184,7 @@ TMemCheck *MemChecks::GetMemCheck(u32 address)
} }
// none found // none found
return 0; return nullptr;
} }
void TMemCheck::Action(DebugInterface *debug_interface, u32 iValue, u32 addr, bool write, int size, u32 pc) void TMemCheck::Action(DebugInterface *debug_interface, u32 iValue, u32 addr, bool write, int size, u32 pc)

View File

@ -41,7 +41,7 @@ std::vector<std::string> cdio_get_devices()
{ {
std::vector<std::string> drives; std::vector<std::string> drives;
const DWORD buffsize = GetLogicalDriveStrings(0, NULL); const DWORD buffsize = GetLogicalDriveStrings(0, nullptr);
std::vector<TCHAR> buff(buffsize); std::vector<TCHAR> buff(buffsize);
if (GetLogicalDriveStrings(buffsize, buff.data()) == buffsize - 1) if (GetLogicalDriveStrings(buffsize, buff.data()) == buffsize - 1)
{ {
@ -77,7 +77,7 @@ std::vector<std::string> cdio_get_devices()
return( drives ); return( drives );
classes_to_match = IOServiceMatching( kIOCDMediaClass ); classes_to_match = IOServiceMatching( kIOCDMediaClass );
if( classes_to_match == NULL ) if( classes_to_match == nullptr )
return( drives ); return( drives );
CFDictionarySetValue( classes_to_match, CFDictionarySetValue( classes_to_match,
@ -101,7 +101,7 @@ std::vector<std::string> cdio_get_devices()
IORegistryEntryCreateCFProperty( next_media, IORegistryEntryCreateCFProperty( next_media,
CFSTR( kIOBSDNameKey ), kCFAllocatorDefault, CFSTR( kIOBSDNameKey ), kCFAllocatorDefault,
0 ); 0 );
if( str_bsd_path == NULL ) if( str_bsd_path == nullptr )
{ {
IOObjectRelease( next_media ); IOObjectRelease( next_media );
continue; continue;
@ -118,7 +118,7 @@ std::vector<std::string> cdio_get_devices()
sizeof(psz_buf) - dev_path_length, sizeof(psz_buf) - dev_path_length,
kCFStringEncodingASCII)) kCFStringEncodingASCII))
{ {
if(psz_buf != NULL) if(psz_buf != nullptr)
{ {
std::string str = psz_buf; std::string str = psz_buf;
drives.push_back(str); drives.push_back(str);
@ -151,7 +151,7 @@ static struct
{ "/dev/acd%d", 0, 27 }, { "/dev/acd%d", 0, 27 },
{ "/dev/cd%d", 0, 27 }, { "/dev/cd%d", 0, 27 },
#endif #endif
{ NULL, 0, 0 } { nullptr, 0, 0 }
}; };
// Returns true if a device is a block or char device and not a symbolic link // Returns true if a device is a block or char device and not a symbolic link
@ -196,7 +196,7 @@ std::vector<std::string> cdio_get_devices ()
for (unsigned int j = checklist[i].num_min; j <= checklist[i].num_max; ++j) for (unsigned int j = checklist[i].num_min; j <= checklist[i].num_max; ++j)
{ {
std::string drive = StringFromFormat(checklist[i].format, j); std::string drive = StringFromFormat(checklist[i].format, j);
if (is_cdrom(drive, NULL)) if (is_cdrom(drive, nullptr))
{ {
drives.push_back(std::move(drive)); drives.push_back(std::move(drive));
} }

View File

@ -206,7 +206,7 @@ public:
void DoLinkedList(LinkedListItem<T>*& list_start, LinkedListItem<T>** list_end=0) void DoLinkedList(LinkedListItem<T>*& list_start, LinkedListItem<T>** list_end=0)
{ {
LinkedListItem<T>* list_cur = list_start; LinkedListItem<T>* list_cur = list_start;
LinkedListItem<T>* prev = 0; LinkedListItem<T>* prev = nullptr;
while (true) while (true)
{ {
@ -220,7 +220,7 @@ public:
{ {
if (mode == MODE_READ) if (mode == MODE_READ)
{ {
cur->next = 0; cur->next = nullptr;
list_cur = cur; list_cur = cur;
if (prev) if (prev)
prev->next = cur; prev->next = cur;
@ -239,13 +239,13 @@ public:
if (mode == MODE_READ) if (mode == MODE_READ)
{ {
if (prev) if (prev)
prev->next = 0; prev->next = nullptr;
if (list_end) if (list_end)
*list_end = prev; *list_end = prev;
if (list_cur) if (list_cur)
{ {
if (list_start == list_cur) if (list_start == list_cur)
list_start = 0; list_start = nullptr;
do do
{ {
LinkedListItem<T>* next = list_cur->next; LinkedListItem<T>* next = list_cur->next;
@ -393,7 +393,7 @@ public:
} }
// Get data // Get data
u8 *ptr = 0; u8 *ptr = nullptr;
PointerWrap p(&ptr, PointerWrap::MODE_MEASURE); PointerWrap p(&ptr, PointerWrap::MODE_MEASURE);
_class.DoState(p); _class.DoState(p);
size_t const sz = (size_t)ptr; size_t const sz = (size_t)ptr;

View File

@ -127,7 +127,7 @@ inline u64 _rotr64(u64 x, unsigned int shift){
// Restore the global locale // Restore the global locale
_configthreadlocale(_DISABLE_PER_THREAD_LOCALE); _configthreadlocale(_DISABLE_PER_THREAD_LOCALE);
} }
else if(new_locale != NULL) else if(new_locale != nullptr)
{ {
// Configure the thread to set the locale only for this thread // Configure the thread to set the locale only for this thread
_configthreadlocale(_ENABLE_PER_THREAD_LOCALE); _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);

View File

@ -18,7 +18,7 @@
ConsoleListener::ConsoleListener() ConsoleListener::ConsoleListener()
{ {
#ifdef _WIN32 #ifdef _WIN32
hConsole = NULL; hConsole = nullptr;
bUseColor = true; bUseColor = true;
#else #else
bUseColor = isatty(fileno(stdout)); bUseColor = isatty(fileno(stdout));
@ -68,19 +68,19 @@ void ConsoleListener::UpdateHandle()
void ConsoleListener::Close() void ConsoleListener::Close()
{ {
#ifdef _WIN32 #ifdef _WIN32
if (hConsole == NULL) if (hConsole == nullptr)
return; return;
FreeConsole(); FreeConsole();
hConsole = NULL; hConsole = nullptr;
#else #else
fflush(NULL); fflush(nullptr);
#endif #endif
} }
bool ConsoleListener::IsOpen() bool ConsoleListener::IsOpen()
{ {
#ifdef _WIN32 #ifdef _WIN32
return (hConsole != NULL); return (hConsole != nullptr);
#else #else
return true; return true;
#endif #endif
@ -280,11 +280,11 @@ void ConsoleListener::Log(LogTypes::LOG_LEVELS Level, const char *Text)
{ {
// First 10 chars white // First 10 chars white
SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY); SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
WriteConsole(hConsole, Text, 10, &cCharsWritten, NULL); WriteConsole(hConsole, Text, 10, &cCharsWritten, nullptr);
Text += 10; Text += 10;
} }
SetConsoleTextAttribute(hConsole, Color); SetConsoleTextAttribute(hConsole, Color);
WriteConsole(hConsole, Text, (DWORD)strlen(Text), &cCharsWritten, NULL); WriteConsole(hConsole, Text, (DWORD)strlen(Text), &cCharsWritten, nullptr);
#else #else
char ColorAttr[16] = ""; char ColorAttr[16] = "";
char ResetAttr[16] = ""; char ResetAttr[16] = "";

View File

@ -26,7 +26,7 @@ public:
#ifdef _WIN32 #ifdef _WIN32
COORD GetCoordinates(int BytesRead, int BufferWidth); COORD GetCoordinates(int BytesRead, int BufferWidth);
#endif #endif
void Log(LogTypes::LOG_LEVELS, const char *Text); void Log(LogTypes::LOG_LEVELS, const char *Text) override;
void ClearScreen(bool Cursor = true); void ClearScreen(bool Cursor = true);
private: private:

View File

@ -316,7 +316,7 @@ void point_mul(u8 *d, const u8 *a, const u8 *b) // a is bignum
static void silly_random(u8 * rndArea, u8 count) static void silly_random(u8 * rndArea, u8 count)
{ {
u16 i; u16 i;
srand((unsigned) (time(NULL))); srand((unsigned) (time(nullptr)));
for(i=0;i<count;i++) for(i=0;i<count;i++)
{ {

View File

@ -84,7 +84,7 @@ static void InitSymbolPath( PSTR lpszSymbolPath, PCSTR lpszIniPath )
} }
// Add user defined path // Add user defined path
if ( lpszIniPath != NULL ) if ( lpszIniPath != nullptr )
if ( lpszIniPath[0] != '\0' ) if ( lpszIniPath[0] != '\0' )
{ {
strcat( lpszSymbolPath, ";" ); strcat( lpszSymbolPath, ";" );
@ -140,7 +140,7 @@ static BOOL GetFunctionInfoFromAddresses( ULONG fnAddress, ULONG stackAddress, L
DWORD dwSymSize = 10000; DWORD dwSymSize = 10000;
TCHAR lpszUnDSymbol[BUFFERSIZE]=_T("?"); TCHAR lpszUnDSymbol[BUFFERSIZE]=_T("?");
CHAR lpszNonUnicodeUnDSymbol[BUFFERSIZE]="?"; CHAR lpszNonUnicodeUnDSymbol[BUFFERSIZE]="?";
LPTSTR lpszParamSep = NULL; LPTSTR lpszParamSep = nullptr;
LPTSTR lpszParsed = lpszUnDSymbol; LPTSTR lpszParsed = lpszUnDSymbol;
PIMAGEHLP_SYMBOL pSym = (PIMAGEHLP_SYMBOL)GlobalAlloc( GMEM_FIXED, dwSymSize ); PIMAGEHLP_SYMBOL pSym = (PIMAGEHLP_SYMBOL)GlobalAlloc( GMEM_FIXED, dwSymSize );
@ -193,13 +193,13 @@ static BOOL GetFunctionInfoFromAddresses( ULONG fnAddress, ULONG stackAddress, L
// Let's go through the stack, and modify the function prototype, and insert the actual // Let's go through the stack, and modify the function prototype, and insert the actual
// parameter values from the stack // parameter values from the stack
if ( _tcsstr( lpszUnDSymbol, _T("(void)") ) == NULL && _tcsstr( lpszUnDSymbol, _T("()") ) == NULL) if ( _tcsstr( lpszUnDSymbol, _T("(void)") ) == nullptr && _tcsstr( lpszUnDSymbol, _T("()") ) == nullptr)
{ {
ULONG index = 0; ULONG index = 0;
for( ; ; index++ ) for( ; ; index++ )
{ {
lpszParamSep = _tcschr( lpszParsed, _T(',') ); lpszParamSep = _tcschr( lpszParsed, _T(',') );
if ( lpszParamSep == NULL ) if ( lpszParamSep == nullptr )
break; break;
*lpszParamSep = _T('\0'); *lpszParamSep = _T('\0');
@ -211,7 +211,7 @@ static BOOL GetFunctionInfoFromAddresses( ULONG fnAddress, ULONG stackAddress, L
} }
lpszParamSep = _tcschr( lpszParsed, _T(')') ); lpszParamSep = _tcschr( lpszParsed, _T(')') );
if ( lpszParamSep != NULL ) if ( lpszParamSep != nullptr )
{ {
*lpszParamSep = _T('\0'); *lpszParamSep = _T('\0');
@ -254,7 +254,7 @@ static BOOL GetSourceInfoFromAddress( UINT address, LPTSTR lpszSourceInfo )
PCSTR2LPTSTR( lineInfo.FileName, lpszFileName ); PCSTR2LPTSTR( lineInfo.FileName, lpszFileName );
TCHAR fname[_MAX_FNAME]; TCHAR fname[_MAX_FNAME];
TCHAR ext[_MAX_EXT]; TCHAR ext[_MAX_EXT];
_tsplitpath(lpszFileName, NULL, NULL, fname, ext); _tsplitpath(lpszFileName, nullptr, nullptr, fname, ext);
_stprintf( lpszSourceInfo, _T("%s%s(%d)"), fname, ext, lineInfo.LineNumber ); _stprintf( lpszSourceInfo, _T("%s%s(%d)"), fname, ext, lineInfo.LineNumber );
ret = TRUE; ret = TRUE;
} }
@ -338,11 +338,11 @@ void StackTrace( HANDLE hThread, const char* lpszMessage, FILE *file )
hProcess, hProcess,
hThread, hThread,
&callStack, &callStack,
NULL, nullptr,
NULL, nullptr,
SymFunctionTableAccess, SymFunctionTableAccess,
SymGetModuleBase, SymGetModuleBase,
NULL); nullptr);
if ( index == 0 ) if ( index == 0 )
continue; continue;
@ -393,11 +393,11 @@ void StackTrace(HANDLE hThread, const char* lpszMessage, FILE *file, DWORD eip,
hProcess, hProcess,
hThread, hThread,
&callStack, &callStack,
NULL, nullptr,
NULL, nullptr,
SymFunctionTableAccess, SymFunctionTableAccess,
SymGetModuleBase, SymGetModuleBase,
NULL); nullptr);
if ( index == 0 ) if ( index == 0 )
continue; continue;

View File

@ -65,8 +65,8 @@ public:
ElementPtr *tmpptr = m_read_ptr; ElementPtr *tmpptr = m_read_ptr;
// advance the read pointer // advance the read pointer
m_read_ptr = AtomicLoad(tmpptr->next); m_read_ptr = AtomicLoad(tmpptr->next);
// set the next element to NULL to stop the recursive deletion // set the next element to nullptr to stop the recursive deletion
tmpptr->next = NULL; tmpptr->next = nullptr;
delete tmpptr; // this also deletes the element delete tmpptr; // this also deletes the element
} }
@ -81,7 +81,7 @@ public:
ElementPtr *tmpptr = m_read_ptr; ElementPtr *tmpptr = m_read_ptr;
m_read_ptr = AtomicLoadAcquire(tmpptr->next); m_read_ptr = AtomicLoadAcquire(tmpptr->next);
t = std::move(tmpptr->current); t = std::move(tmpptr->current);
tmpptr->next = NULL; tmpptr->next = nullptr;
delete tmpptr; delete tmpptr;
return true; return true;
} }
@ -100,7 +100,7 @@ private:
class ElementPtr class ElementPtr
{ {
public: public:
ElementPtr() : next(NULL) {} ElementPtr() : next(nullptr) {}
~ElementPtr() ~ElementPtr()
{ {

View File

@ -150,7 +150,7 @@ bool CreateDir(const std::string &path)
{ {
INFO_LOG(COMMON, "CreateDir: directory %s", path.c_str()); INFO_LOG(COMMON, "CreateDir: directory %s", path.c_str());
#ifdef _WIN32 #ifdef _WIN32
if (::CreateDirectory(UTF8ToTStr(path).c_str(), NULL)) if (::CreateDirectory(UTF8ToTStr(path).c_str(), nullptr))
return true; return true;
DWORD error = GetLastError(); DWORD error = GetLastError();
if (error == ERROR_ALREADY_EXISTS) if (error == ERROR_ALREADY_EXISTS)
@ -250,7 +250,7 @@ bool Rename(const std::string &srcFilename, const std::string &destFilename)
auto df = UTF8ToTStr(destFilename); auto df = UTF8ToTStr(destFilename);
// The Internet seems torn about whether ReplaceFile is atomic or not. // The Internet seems torn about whether ReplaceFile is atomic or not.
// Hopefully it's atomic enough... // Hopefully it's atomic enough...
if (ReplaceFile(df.c_str(), sf.c_str(), NULL, REPLACEFILE_IGNORE_MERGE_ERRORS, NULL, NULL)) if (ReplaceFile(df.c_str(), sf.c_str(), nullptr, REPLACEFILE_IGNORE_MERGE_ERRORS, nullptr, nullptr))
return true; return true;
// Might have failed because the destination doesn't exist. // Might have failed because the destination doesn't exist.
if (GetLastError() == ERROR_FILE_NOT_FOUND) if (GetLastError() == ERROR_FILE_NOT_FOUND)
@ -481,7 +481,7 @@ u32 ScanDirectoryTree(const std::string &directory, FSTEntry& parentEntry)
FSTEntry entry; FSTEntry entry;
const std::string virtualName(TStrToUTF8(ffd.cFileName)); const std::string virtualName(TStrToUTF8(ffd.cFileName));
#else #else
struct dirent dirent, *result = NULL; struct dirent dirent, *result = nullptr;
DIR *dirp = opendir(directory.c_str()); DIR *dirp = opendir(directory.c_str());
if (!dirp) if (!dirp)
@ -549,7 +549,7 @@ bool DeleteDirRecursively(const std::string &directory)
{ {
const std::string virtualName(TStrToUTF8(ffd.cFileName)); const std::string virtualName(TStrToUTF8(ffd.cFileName));
#else #else
struct dirent dirent, *result = NULL; struct dirent dirent, *result = nullptr;
DIR *dirp = opendir(directory.c_str()); DIR *dirp = opendir(directory.c_str());
if (!dirp) if (!dirp)
return false; return false;
@ -623,7 +623,7 @@ void CopyDir(const std::string &source_path, const std::string &dest_path)
{ {
const std::string virtualName(TStrToUTF8(ffd.cFileName)); const std::string virtualName(TStrToUTF8(ffd.cFileName));
#else #else
struct dirent dirent, *result = NULL; struct dirent dirent, *result = nullptr;
DIR *dirp = opendir(source_path.c_str()); DIR *dirp = opendir(source_path.c_str());
if (!dirp) return; if (!dirp) return;
@ -660,11 +660,11 @@ std::string GetCurrentDir()
{ {
char *dir; char *dir;
// Get the current working directory (getcwd uses malloc) // Get the current working directory (getcwd uses malloc)
if (!(dir = __getcwd(NULL, 0))) { if (!(dir = __getcwd(nullptr, 0))) {
ERROR_LOG(COMMON, "GetCurrentDirectory failed: %s", ERROR_LOG(COMMON, "GetCurrentDirectory failed: %s",
GetLastErrorMsg()); GetLastErrorMsg());
return NULL; return nullptr;
} }
std::string strDir = dir; std::string strDir = dir;
free(dir); free(dir);
@ -682,11 +682,11 @@ std::string GetTempFilenameForAtomicWrite(const std::string &path)
std::string abs = path; std::string abs = path;
#ifdef _WIN32 #ifdef _WIN32
TCHAR absbuf[MAX_PATH]; TCHAR absbuf[MAX_PATH];
if (_tfullpath(absbuf, UTF8ToTStr(path).c_str(), MAX_PATH) != NULL) if (_tfullpath(absbuf, UTF8ToTStr(path).c_str(), MAX_PATH) != nullptr)
abs = TStrToUTF8(absbuf); abs = TStrToUTF8(absbuf);
#else #else
char absbuf[PATH_MAX]; char absbuf[PATH_MAX];
if (realpath(path.c_str(), absbuf) != NULL) if (realpath(path.c_str(), absbuf) != nullptr)
abs = absbuf; abs = absbuf;
#endif #endif
return abs + ".xxx"; return abs + ".xxx";
@ -715,7 +715,7 @@ std::string& GetExeDirectory()
if (DolphinPath.empty()) if (DolphinPath.empty())
{ {
TCHAR Dolphin_exe_Path[2048]; TCHAR Dolphin_exe_Path[2048];
GetModuleFileName(NULL, Dolphin_exe_Path, 2048); GetModuleFileName(nullptr, Dolphin_exe_Path, 2048);
DolphinPath = TStrToUTF8(Dolphin_exe_Path); DolphinPath = TStrToUTF8(Dolphin_exe_Path);
DolphinPath = DolphinPath.substr(0, DolphinPath.find_last_of('\\')); DolphinPath = DolphinPath.substr(0, DolphinPath.find_last_of('\\'));
} }
@ -767,14 +767,14 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
HKEY hkey; HKEY hkey;
DWORD local = 0; DWORD local = 0;
TCHAR configPath[MAX_PATH] = {0}; TCHAR configPath[MAX_PATH] = {0};
if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Dolphin Emulator"), NULL, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS) if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Dolphin Emulator"), 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)
{ {
DWORD size = 4; DWORD size = 4;
if (RegQueryValueEx(hkey, TEXT("LocalUserConfig"), NULL, NULL, reinterpret_cast<LPBYTE>(&local), &size) != ERROR_SUCCESS) if (RegQueryValueEx(hkey, TEXT("LocalUserConfig"), nullptr, nullptr, reinterpret_cast<LPBYTE>(&local), &size) != ERROR_SUCCESS)
local = 0; local = 0;
size = MAX_PATH; size = MAX_PATH;
if (RegQueryValueEx(hkey, TEXT("UserConfigPath"), NULL, NULL, (LPBYTE)configPath, &size) != ERROR_SUCCESS) if (RegQueryValueEx(hkey, TEXT("UserConfigPath"), nullptr, nullptr, (LPBYTE)configPath, &size) != ERROR_SUCCESS)
configPath[0] = 0; configPath[0] = 0;
RegCloseKey(hkey); RegCloseKey(hkey);
} }
@ -783,7 +783,7 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
// Get Program Files path in case we need it. // Get Program Files path in case we need it.
TCHAR my_documents[MAX_PATH]; TCHAR my_documents[MAX_PATH];
bool my_documents_found = SUCCEEDED(SHGetFolderPath(NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, my_documents)); bool my_documents_found = SUCCEEDED(SHGetFolderPath(nullptr, CSIDL_MYDOCUMENTS, nullptr, SHGFP_TYPE_CURRENT, my_documents));
if (local) // Case 1-2 if (local) // Case 1-2
paths[D_USER_IDX] = GetExeDirectory() + DIR_SEP USERDATA_DIR DIR_SEP; paths[D_USER_IDX] = GetExeDirectory() + DIR_SEP USERDATA_DIR DIR_SEP;
@ -960,7 +960,7 @@ bool ReadFileToString(const char *filename, std::string &str)
} }
IOFile::IOFile() IOFile::IOFile()
: m_file(NULL), m_good(true) : m_file(nullptr), m_good(true)
{} {}
IOFile::IOFile(std::FILE* file) IOFile::IOFile(std::FILE* file)
@ -968,7 +968,7 @@ IOFile::IOFile(std::FILE* file)
{} {}
IOFile::IOFile(const std::string& filename, const char openmode[]) IOFile::IOFile(const std::string& filename, const char openmode[])
: m_file(NULL), m_good(true) : m_file(nullptr), m_good(true)
{ {
Open(filename, openmode); Open(filename, openmode);
} }
@ -979,7 +979,7 @@ IOFile::~IOFile()
} }
IOFile::IOFile(IOFile&& other) IOFile::IOFile(IOFile&& other)
: m_file(NULL), m_good(true) : m_file(nullptr), m_good(true)
{ {
Swap(other); Swap(other);
} }
@ -1014,14 +1014,14 @@ bool IOFile::Close()
if (!IsOpen() || 0 != std::fclose(m_file)) if (!IsOpen() || 0 != std::fclose(m_file))
m_good = false; m_good = false;
m_file = NULL; m_file = nullptr;
return m_good; return m_good;
} }
std::FILE* IOFile::ReleaseHandle() std::FILE* IOFile::ReleaseHandle()
{ {
std::FILE* const ret = m_file; std::FILE* const ret = m_file;
m_file = NULL; m_file = nullptr;
return ret; return ret;
} }

View File

@ -167,7 +167,7 @@ public:
bool Close(); bool Close();
template <typename T> template <typename T>
bool ReadArray(T* data, size_t length, size_t* pReadBytes = NULL) bool ReadArray(T* data, size_t length, size_t* pReadBytes = nullptr)
{ {
size_t read_bytes = 0; size_t read_bytes = 0;
if (!IsOpen() || length != (read_bytes = std::fread(data, sizeof(T), length, m_file))) if (!IsOpen() || length != (read_bytes = std::fread(data, sizeof(T), length, m_file)))
@ -198,11 +198,11 @@ public:
return WriteArray(reinterpret_cast<const char*>(data), length); return WriteArray(reinterpret_cast<const char*>(data), length);
} }
bool IsOpen() { return NULL != m_file; } bool IsOpen() { return nullptr != m_file; }
// m_good is set to false when a read, write or other function fails // m_good is set to false when a read, write or other function fails
bool IsGood() { return m_good; } bool IsGood() { return m_good; }
operator void*() { return m_good ? m_file : NULL; } operator void*() { return m_good ? m_file : nullptr; }
std::FILE* ReleaseHandle(); std::FILE* ReleaseHandle();

View File

@ -212,7 +212,7 @@ const IniFile::Section* IniFile::GetSection(const std::string& sectionName) cons
for (const Section& sect : sections) for (const Section& sect : sections)
if (!strcasecmp(sect.name.c_str(), sectionName.c_str())) if (!strcasecmp(sect.name.c_str(), sectionName.c_str()))
return (&(sect)); return (&(sect));
return 0; return nullptr;
} }
IniFile::Section* IniFile::GetSection(const std::string& sectionName) IniFile::Section* IniFile::GetSection(const std::string& sectionName)
@ -220,7 +220,7 @@ IniFile::Section* IniFile::GetSection(const std::string& sectionName)
for (Section& sect : sections) for (Section& sect : sections)
if (!strcasecmp(sect.name.c_str(), sectionName.c_str())) if (!strcasecmp(sect.name.c_str(), sectionName.c_str()))
return (&(sect)); return (&(sect));
return 0; return nullptr;
} }
IniFile::Section* IniFile::GetOrCreateSection(const std::string& sectionName) IniFile::Section* IniFile::GetOrCreateSection(const std::string& sectionName)
@ -335,7 +335,7 @@ bool IniFile::Load(const std::string& filename, bool keep_current_data)
if (in.fail()) return false; if (in.fail()) return false;
Section* current_section = NULL; Section* current_section = nullptr;
while (!in.eof()) while (!in.eof())
{ {
char templine[MAX_BYTES]; char templine[MAX_BYTES];

View File

@ -70,7 +70,7 @@ public:
// good header, read some key/value pairs // good header, read some key/value pairs
K key; K key;
V *value = NULL; V *value = nullptr;
u32 value_size; u32 value_size;
u32 entry_number; u32 entry_number;

View File

@ -30,7 +30,7 @@ void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
va_end(args); va_end(args);
} }
LogManager *LogManager::m_logManager = NULL; LogManager *LogManager::m_logManager = nullptr;
LogManager::LogManager() LogManager::LogManager()
{ {
@ -145,7 +145,7 @@ void LogManager::Init()
void LogManager::Shutdown() void LogManager::Shutdown()
{ {
delete m_logManager; delete m_logManager;
m_logManager = NULL; m_logManager = nullptr;
} }
LogContainer::LogContainer(const char* shortName, const char* fullName, bool enable) LogContainer::LogContainer(const char* shortName, const char* fullName, bool enable)

View File

@ -29,7 +29,7 @@ class FileLogListener : public LogListener
public: public:
FileLogListener(const char *filename); FileLogListener(const char *filename);
void Log(LogTypes::LOG_LEVELS, const char *msg); void Log(LogTypes::LOG_LEVELS, const char *msg) override;
bool IsValid() { return !m_logfile.fail(); } bool IsValid() { return !m_logfile.fail(); }
bool IsEnabled() const { return m_enable; } bool IsEnabled() const { return m_enable; }
@ -46,7 +46,7 @@ private:
class DebuggerLogListener : public LogListener class DebuggerLogListener : public LogListener
{ {
public: public:
void Log(LogTypes::LOG_LEVELS, const char *msg); void Log(LogTypes::LOG_LEVELS, const char *msg) override;
}; };
class LogContainer class LogContainer

View File

@ -52,7 +52,7 @@ int AshmemCreateFileMapping(const char *name, size_t size)
void MemArena::GrabLowMemSpace(size_t size) void MemArena::GrabLowMemSpace(size_t size)
{ {
#ifdef _WIN32 #ifdef _WIN32
hMemoryMapping = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, (DWORD)(size), NULL); hMemoryMapping = CreateFileMapping(INVALID_HANDLE_VALUE, nullptr, PAGE_READWRITE, 0, (DWORD)(size), nullptr);
#elif defined(ANDROID) #elif defined(ANDROID)
fd = AshmemCreateFileMapping("Dolphin-emu", size); fd = AshmemCreateFileMapping("Dolphin-emu", size);
if (fd < 0) if (fd < 0)
@ -190,9 +190,9 @@ static bool Memory_TryBase(u8 *base, const MemoryView *views, int num_views, u32
for (int i = 0; i < num_views; i++) for (int i = 0; i < num_views; i++)
{ {
if (views[i].out_ptr_low) if (views[i].out_ptr_low)
*views[i].out_ptr_low = 0; *views[i].out_ptr_low = nullptr;
if (views[i].out_ptr) if (views[i].out_ptr)
*views[i].out_ptr = 0; *views[i].out_ptr = nullptr;
} }
int i; int i;
@ -255,13 +255,13 @@ u8 *MemoryMap_Setup(const MemoryView *views, int num_views, u32 flags, MemArena
{ {
PanicAlert("MemoryMap_Setup: Failed finding a memory base."); PanicAlert("MemoryMap_Setup: Failed finding a memory base.");
exit(0); exit(0);
return 0; return nullptr;
} }
#else #else
#ifdef _WIN32 #ifdef _WIN32
// Try a whole range of possible bases. Return once we got a valid one. // Try a whole range of possible bases. Return once we got a valid one.
u32 max_base_addr = 0x7FFF0000 - 0x31000000; u32 max_base_addr = 0x7FFF0000 - 0x31000000;
u8 *base = NULL; u8 *base = nullptr;
for (u32 base_addr = 0x40000; base_addr < max_base_addr; base_addr += 0x40000) for (u32 base_addr = 0x40000; base_addr < max_base_addr; base_addr += 0x40000)
{ {
@ -304,7 +304,7 @@ void MemoryMap_Shutdown(const MemoryView *views, int num_views, u32 flags, MemAr
{ {
arena->ReleaseView(*outptr, view->size); arena->ReleaseView(*outptr, view->size);
freeset.insert(*outptr); freeset.insert(*outptr);
*outptr = NULL; *outptr = nullptr;
} }
} }
} }

View File

@ -31,7 +31,7 @@ void* AllocateExecutableMemory(size_t size, bool low)
#if defined(_WIN32) #if defined(_WIN32)
void* ptr = VirtualAlloc(0, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE); void* ptr = VirtualAlloc(0, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
#else #else
static char *map_hint = 0; static char *map_hint = nullptr;
#if defined(__x86_64__) && !defined(MAP_32BIT) #if defined(__x86_64__) && !defined(MAP_32BIT)
// This OS has no flag to enforce allocation below the 4 GB boundary, // This OS has no flag to enforce allocation below the 4 GB boundary,
// but if we hint that we want a low address it is very likely we will // but if we hint that we want a low address it is very likely we will
@ -56,9 +56,9 @@ void* AllocateExecutableMemory(size_t size, bool low)
#if defined(__FreeBSD__) #if defined(__FreeBSD__)
if (ptr == MAP_FAILED) if (ptr == MAP_FAILED)
{ {
ptr = NULL; ptr = nullptr;
#else #else
if (ptr == NULL) if (ptr == nullptr)
{ {
#endif #endif
PanicAlert("Failed to allocate executable memory"); PanicAlert("Failed to allocate executable memory");
@ -88,14 +88,14 @@ void* AllocateMemoryPages(size_t size)
#ifdef _WIN32 #ifdef _WIN32
void* ptr = VirtualAlloc(0, size, MEM_COMMIT, PAGE_READWRITE); void* ptr = VirtualAlloc(0, size, MEM_COMMIT, PAGE_READWRITE);
#else #else
void* ptr = mmap(0, size, PROT_READ | PROT_WRITE, void* ptr = mmap(nullptr, size, PROT_READ | PROT_WRITE,
MAP_ANON | MAP_PRIVATE, -1, 0); MAP_ANON | MAP_PRIVATE, -1, 0);
#endif #endif
// printf("Mapped memory at %p (size %ld)\n", ptr, // printf("Mapped memory at %p (size %ld)\n", ptr,
// (unsigned long)size); // (unsigned long)size);
if (ptr == NULL) if (ptr == nullptr)
PanicAlert("Failed to allocate raw memory"); PanicAlert("Failed to allocate raw memory");
return ptr; return ptr;
@ -106,7 +106,7 @@ void* AllocateAlignedMemory(size_t size,size_t alignment)
#ifdef _WIN32 #ifdef _WIN32
void* ptr = _aligned_malloc(size,alignment); void* ptr = _aligned_malloc(size,alignment);
#else #else
void* ptr = NULL; void* ptr = nullptr;
#ifdef ANDROID #ifdef ANDROID
ptr = memalign(alignment, size); ptr = memalign(alignment, size);
#else #else
@ -118,7 +118,7 @@ void* AllocateAlignedMemory(size_t size,size_t alignment)
// printf("Mapped memory at %p (size %ld)\n", ptr, // printf("Mapped memory at %p (size %ld)\n", ptr,
// (unsigned long)size); // (unsigned long)size);
if (ptr == NULL) if (ptr == nullptr)
PanicAlert("Failed to allocate aligned memory"); PanicAlert("Failed to allocate aligned memory");
return ptr; return ptr;
@ -185,7 +185,7 @@ std::string MemUsage()
// Print information about the memory usage of the process. // Print information about the memory usage of the process.
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID); hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);
if (NULL == hProcess) return "MemUsage Error"; if (nullptr == hProcess) return "MemUsage Error";
if (GetProcessMemoryInfo(hProcess, &pmc, sizeof(pmc))) if (GetProcessMemoryInfo(hProcess, &pmc, sizeof(pmc)))
Ret = StringFromFormat("%s K", ThousandSeparate(pmc.WorkingSetSize / 1024, 7).c_str()); Ret = StringFromFormat("%s K", ThousandSeparate(pmc.WorkingSetSize / 1024, 7).c_str());

View File

@ -21,9 +21,9 @@ const char* GetLastErrorMsg()
#ifdef _WIN32 #ifdef _WIN32
static __declspec(thread) char err_str[buff_size] = {}; static __declspec(thread) char err_str[buff_size] = {};
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
err_str, buff_size, NULL); err_str, buff_size, nullptr);
#else #else
static __thread char err_str[buff_size] = {}; static __thread char err_str[buff_size] = {};

View File

@ -72,9 +72,9 @@ public:
#if defined(_WIN32) && defined(USE_CONDITION_VARIABLES) #if defined(_WIN32) && defined(USE_CONDITION_VARIABLES)
InitializeConditionVariable(&m_handle); InitializeConditionVariable(&m_handle);
#elif defined(_WIN32) #elif defined(_WIN32)
m_handle = CreateEvent(NULL, false, false, NULL); m_handle = CreateEvent(nullptr, false, false, nullptr);
#else #else
pthread_cond_init(&m_handle, NULL); pthread_cond_init(&m_handle, nullptr);
#endif #endif
} }

View File

@ -143,7 +143,7 @@ public:
#ifdef _WIN32 #ifdef _WIN32
InitializeSRWLock(&m_handle); InitializeSRWLock(&m_handle);
#else #else
pthread_mutex_init(&m_handle, NULL); pthread_mutex_init(&m_handle, nullptr);
#endif #endif
} }
@ -238,7 +238,7 @@ public:
typedef Mutex mutex_type; typedef Mutex mutex_type;
unique_lock() unique_lock()
: pm(NULL), owns(false) : pm(nullptr), owns(false)
{} {}
/*explicit*/ unique_lock(mutex_type& m) /*explicit*/ unique_lock(mutex_type& m)
@ -290,11 +290,11 @@ public:
unique_lock(const unique_lock&) /*= delete*/; unique_lock(const unique_lock&) /*= delete*/;
unique_lock(unique_lock&& other) unique_lock(unique_lock&& other)
: pm(NULL), owns(false) : pm(nullptr), owns(false)
{ {
#else #else
unique_lock(const unique_lock& u) unique_lock(const unique_lock& u)
: pm(NULL), owns(false) : pm(nullptr), owns(false)
{ {
// ugly const_cast to get around lack of rvalue references // ugly const_cast to get around lack of rvalue references
unique_lock& other = const_cast<unique_lock&>(u); unique_lock& other = const_cast<unique_lock&>(u);
@ -335,7 +335,7 @@ public:
{ {
auto const ret = mutex(); auto const ret = mutex();
pm = NULL; pm = nullptr;
owns = false; owns = false;
return ret; return ret;

View File

@ -193,7 +193,7 @@ public:
WaitForSingleObject(m_handle, INFINITE); WaitForSingleObject(m_handle, INFINITE);
detach(); detach();
#else #else
pthread_join(m_id.m_thread, NULL); pthread_join(m_id.m_thread, nullptr);
m_id = id(); m_id = id();
#endif #endif
} }
@ -238,9 +238,9 @@ private:
void StartThread(F* param) void StartThread(F* param)
{ {
#ifdef USE_BEGINTHREADEX #ifdef USE_BEGINTHREADEX
m_handle = (HANDLE)_beginthreadex(NULL, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread); m_handle = (HANDLE)_beginthreadex(nullptr, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread);
#elif defined(_WIN32) #elif defined(_WIN32)
m_handle = CreateThread(NULL, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread); m_handle = CreateThread(nullptr, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread);
#else #else
pthread_attr_t attr; pthread_attr_t attr;
pthread_attr_init(&attr); pthread_attr_init(&attr);

View File

@ -28,7 +28,7 @@
// faster than sscanf // faster than sscanf
bool AsciiToHex(const char* _szValue, u32& result) bool AsciiToHex(const char* _szValue, u32& result)
{ {
char *endptr = NULL; char *endptr = nullptr;
const u32 value = strtoul(_szValue, &endptr, 16); const u32 value = strtoul(_szValue, &endptr, 16);
if (!endptr || *endptr) if (!endptr || *endptr)
@ -66,7 +66,7 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar
// will be present in the middle of a multibyte sequence. // will be present in the middle of a multibyte sequence.
// //
// This is why we lookup an ANSI (cp1252) locale here and use _vsnprintf_l. // This is why we lookup an ANSI (cp1252) locale here and use _vsnprintf_l.
static locale_t c_locale = NULL; static locale_t c_locale = nullptr;
if (!c_locale) if (!c_locale)
c_locale = _create_locale(LC_ALL, ".1252"); c_locale = _create_locale(LC_ALL, ".1252");
writtenCount = _vsnprintf_l(out, outsize, format, c_locale, args); writtenCount = _vsnprintf_l(out, outsize, format, c_locale, args);
@ -89,7 +89,7 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar
std::string StringFromFormat(const char* format, ...) std::string StringFromFormat(const char* format, ...)
{ {
va_list args; va_list args;
char *buf = NULL; char *buf = nullptr;
#ifdef _WIN32 #ifdef _WIN32
int required = 0; int required = 0;
@ -159,7 +159,7 @@ std::string StripQuotes(const std::string& s)
bool TryParse(const std::string &str, u32 *const output) bool TryParse(const std::string &str, u32 *const output)
{ {
char *endptr = NULL; char *endptr = nullptr;
// Reset errno to a value other than ERANGE // Reset errno to a value other than ERANGE
errno = 0; errno = 0;

View File

@ -12,15 +12,15 @@
void SymbolDB::List() void SymbolDB::List()
{ {
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter) for (const auto& func : functions)
{ {
DEBUG_LOG(OSHLE, "%s @ %08x: %i bytes (hash %08x) : %i calls", DEBUG_LOG(OSHLE, "%s @ %08x: %i bytes (hash %08x) : %i calls",
iter->second.name.c_str(), iter->second.address, func.second.name.c_str(), func.second.address,
iter->second.size, iter->second.hash, func.second.size, func.second.hash,
iter->second.numCalls); func.second.numCalls);
} }
INFO_LOG(OSHLE, "%lu functions known in this program above.", INFO_LOG(OSHLE, "%lu functions known in this program above.",
(unsigned long)functions.size()); (unsigned long)functions.size());
} }
void SymbolDB::Clear(const char *prefix) void SymbolDB::Clear(const char *prefix)
@ -46,7 +46,7 @@ Symbol *SymbolDB::GetSymbolFromName(const char *name)
if (!strcmp(func.second.name.c_str(), name)) if (!strcmp(func.second.name.c_str(), name))
return &func.second; return &func.second;
} }
return 0; return nullptr;
} }
void SymbolDB::AddCompleteSymbol(const Symbol &symbol) void SymbolDB::AddCompleteSymbol(const Symbol &symbol)

View File

@ -79,8 +79,8 @@ protected:
public: public:
SymbolDB() {} SymbolDB() {}
virtual ~SymbolDB() {} virtual ~SymbolDB() {}
virtual Symbol *GetSymbolFromAddr(u32 addr) { return 0; } virtual Symbol *GetSymbolFromAddr(u32 addr) { return nullptr; }
virtual Symbol *AddFunction(u32 startAddr) { return 0;} virtual Symbol *AddFunction(u32 startAddr) { return nullptr;}
void AddCompleteSymbol(const Symbol &symbol); void AddCompleteSymbol(const Symbol &symbol);
@ -90,7 +90,7 @@ public:
if (iter != checksumToFunction.end()) if (iter != checksumToFunction.end())
return iter->second; return iter->second;
else else
return 0; return nullptr;
} }
const XFuncMap &Symbols() const {return functions;} const XFuncMap &Symbols() const {return functions;}

View File

@ -27,7 +27,7 @@ u32 Timer::GetTimeMs()
return timeGetTime(); return timeGetTime();
#else #else
struct timeval t; struct timeval t;
(void)gettimeofday(&t, NULL); (void)gettimeofday(&t, nullptr);
return ((u32)(t.tv_sec * 1000 + t.tv_usec / 1000)); return ((u32)(t.tv_sec * 1000 + t.tv_usec / 1000));
#endif #endif
} }
@ -184,7 +184,7 @@ std::string Timer::GetTimeFormatted()
return StringFromFormat("%s:%03i", tmp, tp.millitm); return StringFromFormat("%s:%03i", tmp, tp.millitm);
#else #else
struct timeval t; struct timeval t;
(void)gettimeofday(&t, NULL); (void)gettimeofday(&t, nullptr);
return StringFromFormat("%s:%03d", tmp, (int)(t.tv_usec / 1000)); return StringFromFormat("%s:%03d", tmp, (int)(t.tv_usec / 1000));
#endif #endif
} }
@ -198,7 +198,7 @@ double Timer::GetDoubleTime()
(void)::ftime(&tp); (void)::ftime(&tp);
#else #else
struct timeval t; struct timeval t;
(void)gettimeofday(&t, NULL); (void)gettimeofday(&t, nullptr);
#endif #endif
// Get continuous timestamp // Get continuous timestamp
u64 TmpSeconds = Common::Timer::GetTimeSinceJan1970(); u64 TmpSeconds = Common::Timer::GetTimeSinceJan1970();

View File

@ -265,7 +265,7 @@ protected:
inline void Write64(u64 value) {*(u64*)code = (value); code += 8;} inline void Write64(u64 value) {*(u64*)code = (value); code += 8;}
public: public:
XEmitter() { code = NULL; } XEmitter() { code = nullptr; }
XEmitter(u8 *code_ptr) { code = code_ptr; } XEmitter(u8 *code_ptr) { code = code_ptr; }
virtual ~XEmitter() {} virtual ~XEmitter() {}
@ -773,7 +773,7 @@ protected:
size_t region_size; size_t region_size;
public: public:
XCodeBlock() : region(NULL), region_size(0) {} XCodeBlock() : region(nullptr), region_size(0) {}
virtual ~XCodeBlock() { if (region) FreeCodeSpace(); } virtual ~XCodeBlock() { if (region) FreeCodeSpace(); }
// Call this before you generate any code. // Call this before you generate any code.
@ -797,7 +797,7 @@ public:
void FreeCodeSpace() void FreeCodeSpace()
{ {
FreeMemoryPages(region, region_size); FreeMemoryPages(region, region_size);
region = NULL; region = nullptr;
region_size = 0; region_size = 0;
} }

View File

@ -72,7 +72,7 @@ enum
}; };
// pointer to the code currently being run, (used by log messages that include the code name) // pointer to the code currently being run, (used by log messages that include the code name)
static ARCode const* current_code = NULL; static ARCode const* current_code = nullptr;
static bool b_RanOnce = false; static bool b_RanOnce = false;
static std::vector<ARCode> arCodes; static std::vector<ARCode> arCodes;

View File

@ -81,6 +81,6 @@ void InstallExceptionHandler()
sa.sa_sigaction = &sigsegv_handler; sa.sa_sigaction = &sigsegv_handler;
sa.sa_flags = SA_SIGINFO; sa.sa_flags = SA_SIGINFO;
sigemptyset(&sa.sa_mask); sigemptyset(&sa.sa_mask);
sigaction(SIGSEGV, &sa, NULL); sigaction(SIGSEGV, &sa, nullptr);
} }
} // namespace } // namespace

View File

@ -125,7 +125,7 @@ bool CBoot::FindMapFile(std::string* existing_map_file,
bool CBoot::LoadMapFromFilename() bool CBoot::LoadMapFromFilename()
{ {
std::string strMapFilename; std::string strMapFilename;
bool found = FindMapFile(&strMapFilename, NULL); bool found = FindMapFile(&strMapFilename, nullptr);
if (found && g_symbolDB.LoadMap(strMapFilename.c_str())) if (found && g_symbolDB.LoadMap(strMapFilename.c_str()))
{ {
UpdateDebugger_MapLoaded(); UpdateDebugger_MapLoaded();
@ -201,7 +201,7 @@ bool CBoot::BootUp()
case SCoreStartupParameter::BOOT_ISO: case SCoreStartupParameter::BOOT_ISO:
{ {
DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(_StartupPara.m_strFilename); DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(_StartupPara.m_strFilename);
if (pVolume == NULL) if (pVolume == nullptr)
break; break;
bool isoWii = DiscIO::IsVolumeWiiDisc(pVolume); bool isoWii = DiscIO::IsVolumeWiiDisc(pVolume);

View File

@ -30,10 +30,10 @@ public:
// Tries to find a map file for the current game by looking first in the // Tries to find a map file for the current game by looking first in the
// local user directory, then in the shared user directory. // local user directory, then in the shared user directory.
// //
// If existing_map_file is not NULL and a map file exists, it is set to the // If existing_map_file is not nullptr and a map file exists, it is set to the
// path to the existing map file. // path to the existing map file.
// //
// If writable_map_file is not NULL, it is set to the path to where a map // If writable_map_file is not nullptr, it is set to the path to where a map
// file should be saved. // file should be saved.
// //
// Returns true if a map file exists, false if none could be found. // Returns true if a map file exists, false if none could be found.
@ -43,7 +43,7 @@ public:
private: private:
static void RunFunction(u32 _iAddr); static void RunFunction(u32 _iAddr);
static void UpdateDebugger_MapLoaded(const char* _gameID = NULL); static void UpdateDebugger_MapLoaded(const char* _gameID = nullptr);
static bool LoadMapFromFilename(); static bool LoadMapFromFilename();
static bool Boot_ELF(const char *filename); static bool Boot_ELF(const char *filename);

View File

@ -34,13 +34,13 @@ CDolLoader::~CDolLoader()
for (auto& sect : text_section) for (auto& sect : text_section)
{ {
delete [] sect; delete [] sect;
sect = NULL; sect = nullptr;
} }
for (auto& sect : data_section) for (auto& sect : data_section)
{ {
delete [] sect; delete [] sect;
sect = NULL; sect = nullptr;
} }
} }
@ -54,9 +54,9 @@ void CDolLoader::Initialize(u8* _pBuffer, u32 _Size)
p[i] = Common::swap32(p[i]); p[i] = Common::swap32(p[i]);
for (auto& sect : text_section) for (auto& sect : text_section)
sect = NULL; sect = nullptr;
for (auto& sect : data_section) for (auto& sect : data_section)
sect = NULL; sect = nullptr;
u32 HID4_pattern = 0x7c13fba6; u32 HID4_pattern = 0x7c13fba6;
u32 HID4_mask = 0xfc1fffff; u32 HID4_mask = 0xfc1fffff;

View File

@ -90,7 +90,7 @@ bool CBoot::Boot_WiiWAD(const char* _pFilename)
// DOL // DOL
const DiscIO::SNANDContent* pContent = ContentLoader.GetContentByIndex(ContentLoader.GetBootIndex()); const DiscIO::SNANDContent* pContent = ContentLoader.GetContentByIndex(ContentLoader.GetBootIndex());
if (pContent == NULL) if (pContent == nullptr)
return false; return false;
WII_IPC_HLE_Interface::SetDefaultContentFile(_pFilename); WII_IPC_HLE_Interface::SetDefaultContentFile(_pFilename);
@ -119,7 +119,7 @@ bool CBoot::Boot_WiiWAD(const char* _pFilename)
// Load patches and run startup patches // Load patches and run startup patches
const DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(_pFilename); const DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(_pFilename);
if (pVolume != NULL) if (pVolume != nullptr)
PatchEngine::LoadPatches(); PatchEngine::LoadPatches();
return true; return true;

View File

@ -82,7 +82,7 @@ ElfReader::ElfReader(void *ptr)
const char *ElfReader::GetSectionName(int section) const const char *ElfReader::GetSectionName(int section) const
{ {
if (sections[section].sh_type == SHT_NULL) if (sections[section].sh_type == SHT_NULL)
return NULL; return nullptr;
int nameOffset = sections[section].sh_name; int nameOffset = sections[section].sh_name;
char *ptr = (char*)GetSectionDataPtr(header->e_shstrndx); char *ptr = (char*)GetSectionDataPtr(header->e_shstrndx);
@ -90,7 +90,7 @@ const char *ElfReader::GetSectionName(int section) const
if (ptr) if (ptr)
return ptr + nameOffset; return ptr + nameOffset;
else else
return NULL; return nullptr;
} }
bool ElfReader::LoadInto(u32 vaddr) bool ElfReader::LoadInto(u32 vaddr)
@ -181,7 +181,7 @@ SectionID ElfReader::GetSectionByName(const char *name, int firstSection) const
{ {
const char *secname = GetSectionName(i); const char *secname = GetSectionName(i);
if (secname != NULL && strcmp(name, secname) == 0) if (secname != nullptr && strcmp(name, secname) == 0)
return i; return i;
} }
return -1; return -1;

View File

@ -51,11 +51,11 @@ public:
const u8 *GetSectionDataPtr(int section) const const u8 *GetSectionDataPtr(int section) const
{ {
if (section < 0 || section >= header->e_shnum) if (section < 0 || section >= header->e_shnum)
return 0; return nullptr;
if (sections[section].sh_type != SHT_NOBITS) if (sections[section].sh_type != SHT_NOBITS)
return GetPtr(sections[section].sh_offset); return GetPtr(sections[section].sh_offset);
else else
return 0; return nullptr;
} }
bool IsCodeSection(int section) const bool IsCodeSection(int section) const
{ {

View File

@ -125,7 +125,7 @@ void SConfig::Init()
void SConfig::Shutdown() void SConfig::Shutdown()
{ {
delete m_Instance; delete m_Instance;
m_Instance = NULL; m_Instance = nullptr;
} }
SConfig::~SConfig() SConfig::~SConfig()

View File

@ -79,7 +79,7 @@ void EmuThread();
bool g_bStopping = false; bool g_bStopping = false;
bool g_bHwInit = false; bool g_bHwInit = false;
bool g_bStarted = false; bool g_bStarted = false;
void *g_pWindowHandle = NULL; void *g_pWindowHandle = nullptr;
std::string g_stateFileName; std::string g_stateFileName;
std::thread g_EmuThread; std::thread g_EmuThread;

View File

@ -21,7 +21,7 @@
#include "DiscIO/VolumeCreator.h" #include "DiscIO/VolumeCreator.h"
SCoreStartupParameter::SCoreStartupParameter() SCoreStartupParameter::SCoreStartupParameter()
: hInstance(0), : hInstance(nullptr),
bEnableDebugging(false), bAutomaticStart(false), bBootToPause(false), bEnableDebugging(false), bAutomaticStart(false), bBootToPause(false),
bJITNoBlockCache(false), bJITBlockLinking(true), bJITNoBlockCache(false), bJITBlockLinking(true),
bJITOff(false), bJITOff(false),
@ -125,7 +125,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
} }
std::string Extension; std::string Extension;
SplitPath(m_strFilename, NULL, NULL, &Extension); SplitPath(m_strFilename, nullptr, nullptr, &Extension);
if (!strcasecmp(Extension.c_str(), ".gcm") || if (!strcasecmp(Extension.c_str(), ".gcm") ||
!strcasecmp(Extension.c_str(), ".iso") || !strcasecmp(Extension.c_str(), ".iso") ||
!strcasecmp(Extension.c_str(), ".wbfs") || !strcasecmp(Extension.c_str(), ".wbfs") ||
@ -135,7 +135,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
{ {
m_BootType = BOOT_ISO; m_BootType = BOOT_ISO;
DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(m_strFilename); DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(m_strFilename);
if (pVolume == NULL) if (pVolume == nullptr)
{ {
if (bootDrive) if (bootDrive)
PanicAlertT("Could not read \"%s\". " PanicAlertT("Could not read \"%s\". "
@ -223,7 +223,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
const DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(m_strFilename); const DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(m_strFilename);
const DiscIO::INANDContentLoader& ContentLoader = DiscIO::CNANDContentManager::Access().GetNANDLoader(m_strFilename); const DiscIO::INANDContentLoader& ContentLoader = DiscIO::CNANDContentManager::Access().GetNANDLoader(m_strFilename);
if (ContentLoader.GetContentByIndex(ContentLoader.GetBootIndex()) == NULL) if (ContentLoader.GetContentByIndex(ContentLoader.GetBootIndex()) == nullptr)
{ {
//WAD is valid yet cannot be booted. Install instead. //WAD is valid yet cannot be booted. Install instead.
u64 installed = DiscIO::CNANDContentManager::Access().Install_WiiWAD(m_strFilename); u64 installed = DiscIO::CNANDContentManager::Access().Install_WiiWAD(m_strFilename);

View File

@ -43,7 +43,7 @@ static std::mutex tsWriteLock;
Common::FifoQueue<BaseEvent, false> tsQueue; Common::FifoQueue<BaseEvent, false> tsQueue;
// event pools // event pools
Event *eventPool = 0; Event *eventPool = nullptr;
int downcount, slicelength; int downcount, slicelength;
int maxSliceLength = MAX_SLICE_LENGTH; int maxSliceLength = MAX_SLICE_LENGTH;
@ -59,7 +59,7 @@ u64 fakeTBStartTicks;
int ev_lost; int ev_lost;
void (*advanceCallback)(int cyclesExecuted) = NULL; void (*advanceCallback)(int cyclesExecuted) = nullptr;
Event* GetNewEvent() Event* GetNewEvent()
{ {
@ -236,7 +236,7 @@ void ClearPendingEvents()
void AddEventToQueue(Event* ne) void AddEventToQueue(Event* ne)
{ {
Event* prev = NULL; Event* prev = nullptr;
Event** pNext = &first; Event** pNext = &first;
for(;;) for(;;)
{ {

View File

@ -79,7 +79,7 @@ static const char *err_string[] =
}; };
DSPAssembler::DSPAssembler(const AssemblerSettings &settings) : DSPAssembler::DSPAssembler(const AssemblerSettings &settings) :
gdg_buffer(NULL), gdg_buffer(nullptr),
m_cur_addr(0), m_cur_addr(0),
m_cur_pass(0), m_cur_pass(0),
m_current_param(0), m_current_param(0),
@ -127,7 +127,7 @@ bool DSPAssembler::Assemble(const char *text, std::vector<u16> &code, std::vecto
if(gdg_buffer) { if(gdg_buffer) {
free(gdg_buffer); free(gdg_buffer);
gdg_buffer = NULL; gdg_buffer = nullptr;
} }
last_error_str = "(no errors)"; last_error_str = "(no errors)";
@ -310,7 +310,7 @@ char *DSPAssembler::FindBrackets(char *src, char *dst)
} }
if (count) if (count)
ShowError(ERR_NO_MATCHING_BRACKETS); ShowError(ERR_NO_MATCHING_BRACKETS);
return NULL; return nullptr;
} }
// Bizarre in-place expression evaluator. // Bizarre in-place expression evaluator.
@ -323,7 +323,7 @@ u32 DSPAssembler::ParseExpression(const char *ptr)
char *s_buffer = (char *)malloc(1024); char *s_buffer = (char *)malloc(1024);
strcpy(s_buffer, ptr); strcpy(s_buffer, ptr);
while ((pbuf = FindBrackets(s_buffer, d_buffer)) != NULL) while ((pbuf = FindBrackets(s_buffer, d_buffer)) != nullptr)
{ {
val = ParseExpression(d_buffer); val = ParseExpression(d_buffer);
sprintf(d_buffer, "%s%d%s", s_buffer, val, pbuf); sprintf(d_buffer, "%s%d%s", s_buffer, val, pbuf);
@ -359,14 +359,14 @@ u32 DSPAssembler::ParseExpression(const char *ptr)
d_buffer[i] = c; d_buffer[i] = c;
} }
while ((pbuf = strstr(d_buffer, "+")) != NULL) while ((pbuf = strstr(d_buffer, "+")) != nullptr)
{ {
*pbuf = 0x0; *pbuf = 0x0;
val = ParseExpression(d_buffer) + ParseExpression(pbuf+1); val = ParseExpression(d_buffer) + ParseExpression(pbuf+1);
sprintf(d_buffer, "%d", val); sprintf(d_buffer, "%d", val);
} }
while ((pbuf = strstr(d_buffer, "-")) != NULL) while ((pbuf = strstr(d_buffer, "-")) != nullptr)
{ {
*pbuf = 0x0; *pbuf = 0x0;
val = ParseExpression(d_buffer) - ParseExpression(pbuf+1); val = ParseExpression(d_buffer) - ParseExpression(pbuf+1);
@ -378,28 +378,28 @@ u32 DSPAssembler::ParseExpression(const char *ptr)
sprintf(d_buffer, "%d", val); sprintf(d_buffer, "%d", val);
} }
while ((pbuf = strstr(d_buffer, "*")) != NULL) while ((pbuf = strstr(d_buffer, "*")) != nullptr)
{ {
*pbuf = 0x0; *pbuf = 0x0;
val = ParseExpression(d_buffer) * ParseExpression(pbuf+1); val = ParseExpression(d_buffer) * ParseExpression(pbuf+1);
sprintf(d_buffer, "%d", val); sprintf(d_buffer, "%d", val);
} }
while ((pbuf = strstr(d_buffer, "/")) != NULL) while ((pbuf = strstr(d_buffer, "/")) != nullptr)
{ {
*pbuf = 0x0; *pbuf = 0x0;
val = ParseExpression(d_buffer) / ParseExpression(pbuf+1); val = ParseExpression(d_buffer) / ParseExpression(pbuf+1);
sprintf(d_buffer, "%d", val); sprintf(d_buffer, "%d", val);
} }
while ((pbuf = strstr(d_buffer, "|")) != NULL) while ((pbuf = strstr(d_buffer, "|")) != nullptr)
{ {
*pbuf = 0x0; *pbuf = 0x0;
val = ParseExpression(d_buffer) | ParseExpression(pbuf+1); val = ParseExpression(d_buffer) | ParseExpression(pbuf+1);
sprintf(d_buffer, "%d", val); sprintf(d_buffer, "%d", val);
} }
while ((pbuf = strstr(d_buffer, "&")) != NULL) while ((pbuf = strstr(d_buffer, "&")) != nullptr)
{ {
*pbuf = 0x0; *pbuf = 0x0;
val = ParseExpression(d_buffer) & ParseExpression(pbuf+1); val = ParseExpression(d_buffer) & ParseExpression(pbuf+1);
@ -420,7 +420,7 @@ u32 DSPAssembler::GetParams(char *parstr, param_t *par)
tmpstr = strtok(tmpstr, ",\x00"); tmpstr = strtok(tmpstr, ",\x00");
for (int i = 0; i < 10; i++) for (int i = 0; i < 10; i++)
{ {
if (tmpstr == NULL) if (tmpstr == nullptr)
break; break;
tmpstr = skip_spaces(tmpstr); tmpstr = skip_spaces(tmpstr);
if (strlen(tmpstr) == 0) if (strlen(tmpstr) == 0)
@ -463,7 +463,7 @@ u32 DSPAssembler::GetParams(char *parstr, param_t *par)
par[i].type = P_VAL; par[i].type = P_VAL;
break; break;
} }
tmpstr = strtok(NULL, ",\x00"); tmpstr = strtok(nullptr, ",\x00");
} }
return count; return count;
} }
@ -493,7 +493,7 @@ const opc_t *DSPAssembler::FindOpcode(const char *opcode, u32 par_count, const o
} }
} }
ShowError(ERR_UNKNOWN_OPCODE); ShowError(ERR_UNKNOWN_OPCODE);
return NULL; return nullptr;
} }
// weird... // weird...
@ -780,8 +780,8 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
//printf("A: %s\n", line); //printf("A: %s\n", line);
code_line++; code_line++;
param_t params[10] = {{0, P_NONE, NULL}}; param_t params[10] = {{0, P_NONE, nullptr}};
param_t params_ext[10] = {{0, P_NONE, NULL}}; param_t params_ext[10] = {{0, P_NONE, nullptr}};
bool upper = true; bool upper = true;
for (int i = 0; i < LINEBUF_SIZE; i++) for (int i = 0; i < LINEBUF_SIZE; i++)
@ -851,33 +851,33 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
} }
} }
char *opcode = NULL; char *opcode = nullptr;
opcode = strtok(ptr, " "); opcode = strtok(ptr, " ");
char *opcode_ext = NULL; char *opcode_ext = nullptr;
u32 params_count = 0; u32 params_count = 0;
u32 params_count_ext = 0; u32 params_count_ext = 0;
if (opcode) if (opcode)
{ {
if ((opcode_ext = strstr(opcode, "'")) != NULL) if ((opcode_ext = strstr(opcode, "'")) != nullptr)
{ {
opcode_ext[0] = '\0'; opcode_ext[0] = '\0';
opcode_ext++; opcode_ext++;
if (strlen(opcode_ext) == 0) if (strlen(opcode_ext) == 0)
opcode_ext = NULL; opcode_ext = nullptr;
} }
// now we have opcode and label // now we have opcode and label
params_count = 0; params_count = 0;
params_count_ext = 0; params_count_ext = 0;
char *paramstr = strtok(NULL, "\0"); char *paramstr = strtok(nullptr, "\0");
char *paramstr_ext = 0; char *paramstr_ext = nullptr;
// there is valid opcode so probably we have parameters // there is valid opcode so probably we have parameters
if (paramstr) if (paramstr)
{ {
if ((paramstr_ext = strstr(paramstr, ":")) != NULL) if ((paramstr_ext = strstr(paramstr, ":")) != nullptr)
{ {
paramstr_ext[0] = '\0'; paramstr_ext[0] = '\0';
paramstr_ext++; paramstr_ext++;
@ -899,14 +899,14 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
if (strcmp(opcode, "EQU") == 0) if (strcmp(opcode, "EQU") == 0)
{ {
lval = params[0].val; lval = params[0].val;
opcode = NULL; opcode = nullptr;
} }
} }
if (pass == 1) if (pass == 1)
labels.RegisterLabel(label, lval); labels.RegisterLabel(label, lval);
} }
if (opcode == NULL) if (opcode == nullptr)
continue; continue;
// check if opcode is reserved compiler word // check if opcode is reserved compiler word
@ -981,7 +981,7 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
VerifyParams(opc, params, params_count); VerifyParams(opc, params, params_count);
const opc_t *opc_ext = NULL; const opc_t *opc_ext = nullptr;
// Check for opcode extensions. // Check for opcode extensions.
if (opc->extended) if (opc->extended)
{ {

View File

@ -73,7 +73,7 @@ public:
// one for each word of code, indicating the source assembler code line number it came from. // one for each word of code, indicating the source assembler code line number it came from.
// If returns false, call GetErrorString to get some text to present to the user. // If returns false, call GetErrorString to get some text to present to the user.
bool Assemble(const char *text, std::vector<u16> &code, std::vector<int> *line_numbers = NULL); bool Assemble(const char *text, std::vector<u16> &code, std::vector<int> *line_numbers = nullptr);
std::string GetErrorString() const { return last_error_str; } std::string GetErrorString() const { return last_error_str; }
err_t GetError() const { return last_error; } err_t GetError() const { return last_error; }
@ -103,8 +103,8 @@ private:
void InitPass(int pass); void InitPass(int pass);
bool AssembleFile(const char *fname, int pass); bool AssembleFile(const char *fname, int pass);
void ShowError(err_t err_code, const char *extra_info = NULL); void ShowError(err_t err_code, const char *extra_info = nullptr);
// void ShowWarning(err_t err_code, const char *extra_info = NULL); // void ShowWarning(err_t err_code, const char *extra_info = nullptr);
char *FindBrackets(char *src, char *dst); char *FindBrackets(char *src, char *dst);
const opc_t *FindOpcode(const char *opcode, u32 par_count, const opc_t * const opcod, int opcod_size); const opc_t *FindOpcode(const char *opcode, u32 par_count, const opc_t * const opcod, int opcod_size);

View File

@ -114,7 +114,7 @@ void CodeToHeader(const std::vector<u16> &code, std::string _filename,
header.reserve(code_padded.size() * 4); header.reserve(code_padded.size() * 4);
header.append("#define NUM_UCODES 1\n\n"); header.append("#define NUM_UCODES 1\n\n");
std::string filename; std::string filename;
SplitPath(_filename, NULL, &filename, NULL); SplitPath(_filename, nullptr, &filename, nullptr);
header.append(StringFromFormat("const char* UCODE_NAMES[NUM_UCODES] = {\"%s\"};\n\n", filename.c_str())); header.append(StringFromFormat("const char* UCODE_NAMES[NUM_UCODES] = {\"%s\"};\n\n", filename.c_str()));
header.append("const unsigned short dsp_code[NUM_UCODES][0x1000] = {\n"); header.append("const unsigned short dsp_code[NUM_UCODES][0x1000] = {\n");
@ -151,7 +151,7 @@ void CodesToHeader(const std::vector<u16> *codes, const std::vector<std::string>
for (u32 i = 0; i < numCodes; i++) for (u32 i = 0; i < numCodes; i++)
{ {
std::string filename; std::string filename;
if (! SplitPath(filenames->at(i), NULL, &filename, NULL)) if (! SplitPath(filenames->at(i), nullptr, &filename, nullptr))
filename = filenames->at(i); filename = filenames->at(i);
header.append(StringFromFormat("\t\"%s\",\n", filename.c_str())); header.append(StringFromFormat("\t\"%s\",\n", filename.c_str()));
} }

View File

@ -41,7 +41,7 @@ DSPBreakpoints dsp_breakpoints;
DSPCoreState core_state = DSPCORE_STOP; DSPCoreState core_state = DSPCORE_STOP;
u16 cyclesLeft = 0; u16 cyclesLeft = 0;
bool init_hax = false; bool init_hax = false;
DSPEmitter *dspjit = NULL; DSPEmitter *dspjit = nullptr;
Common::Event step_event; Common::Event step_event;
static bool LoadRom(const char *fname, int size_in_words, u16 *rom) static bool LoadRom(const char *fname, int size_in_words, u16 *rom)
@ -133,7 +133,7 @@ static void DSPCore_FreeMemoryPages()
FreeMemoryPages(g_dsp.iram, DSP_IRAM_BYTE_SIZE); FreeMemoryPages(g_dsp.iram, DSP_IRAM_BYTE_SIZE);
FreeMemoryPages(g_dsp.dram, DSP_DRAM_BYTE_SIZE); FreeMemoryPages(g_dsp.dram, DSP_DRAM_BYTE_SIZE);
FreeMemoryPages(g_dsp.coef, DSP_COEF_BYTE_SIZE); FreeMemoryPages(g_dsp.coef, DSP_COEF_BYTE_SIZE);
g_dsp.irom = g_dsp.iram = g_dsp.dram = g_dsp.coef = NULL; g_dsp.irom = g_dsp.iram = g_dsp.dram = g_dsp.coef = nullptr;
} }
bool DSPCore_Init(const char *irom_filename, const char *coef_filename, bool DSPCore_Init(const char *irom_filename, const char *coef_filename,
@ -142,7 +142,7 @@ bool DSPCore_Init(const char *irom_filename, const char *coef_filename,
g_dsp.step_counter = 0; g_dsp.step_counter = 0;
cyclesLeft = 0; cyclesLeft = 0;
init_hax = false; init_hax = false;
dspjit = NULL; dspjit = nullptr;
g_dsp.irom = (u16*)AllocateMemoryPages(DSP_IROM_BYTE_SIZE); g_dsp.irom = (u16*)AllocateMemoryPages(DSP_IROM_BYTE_SIZE);
g_dsp.iram = (u16*)AllocateMemoryPages(DSP_IRAM_BYTE_SIZE); g_dsp.iram = (u16*)AllocateMemoryPages(DSP_IRAM_BYTE_SIZE);
@ -218,7 +218,7 @@ void DSPCore_Shutdown()
if(dspjit) { if(dspjit) {
delete dspjit; delete dspjit;
dspjit = NULL; dspjit = nullptr;
} }
DSPCore_FreeMemoryPages(); DSPCore_FreeMemoryPages();
} }

View File

@ -208,8 +208,8 @@ bool DSPDisassembler::DisOpcode(const u16 *binbuf, int base_addr, int pass, u16
const u32 op1 = binbuf[*pc & 0x0fff]; const u32 op1 = binbuf[*pc & 0x0fff];
const DSPOPCTemplate *opc = NULL; const DSPOPCTemplate *opc = nullptr;
const DSPOPCTemplate *opc_ext = NULL; const DSPOPCTemplate *opc_ext = nullptr;
// find opcode // find opcode
for (int j = 0; j < opcodes_size; j++) for (int j = 0; j < opcodes_size; j++)
@ -222,7 +222,7 @@ bool DSPDisassembler::DisOpcode(const u16 *binbuf, int base_addr, int pass, u16
break; break;
} }
} }
const DSPOPCTemplate fake_op = {"CW", 0x0000, 0x0000, nop, NULL, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false}; const DSPOPCTemplate fake_op = {"CW", 0x0000, 0x0000, nop, nullptr, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false};
if (!opc) if (!opc)
opc = &fake_op; opc = &fake_op;

View File

@ -18,7 +18,7 @@ using namespace Gen;
DSPEmitter::DSPEmitter() : gpr(*this), storeIndex(-1), storeIndex2(-1) DSPEmitter::DSPEmitter() : gpr(*this), storeIndex(-1), storeIndex2(-1)
{ {
m_compiledCode = NULL; m_compiledCode = nullptr;
AllocCodeSpace(COMPILED_CODE_SIZE); AllocCodeSpace(COMPILED_CODE_SIZE);
@ -37,7 +37,7 @@ DSPEmitter::DSPEmitter() : gpr(*this), storeIndex(-1), storeIndex2(-1)
for(int i = 0x0000; i < MAX_BLOCKS; i++) for(int i = 0x0000; i < MAX_BLOCKS; i++)
{ {
blocks[i] = (DSPCompiledCode)stubEntryPoint; blocks[i] = (DSPCompiledCode)stubEntryPoint;
blockLinks[i] = 0; blockLinks[i] = nullptr;
blockSize[i] = 0; blockSize[i] = 0;
} }
} }
@ -55,7 +55,7 @@ void DSPEmitter::ClearIRAM()
for(int i = 0x0000; i < 0x1000; i++) for(int i = 0x0000; i < 0x1000; i++)
{ {
blocks[i] = (DSPCompiledCode)stubEntryPoint; blocks[i] = (DSPCompiledCode)stubEntryPoint;
blockLinks[i] = 0; blockLinks[i] = nullptr;
blockSize[i] = 0; blockSize[i] = 0;
unresolvedJumps[i].clear(); unresolvedJumps[i].clear();
} }
@ -71,7 +71,7 @@ void DSPEmitter::ClearIRAMandDSPJITCodespaceReset()
for(int i = 0x0000; i < 0x10000; i++) for(int i = 0x0000; i < 0x10000; i++)
{ {
blocks[i] = (DSPCompiledCode)stubEntryPoint; blocks[i] = (DSPCompiledCode)stubEntryPoint;
blockLinks[i] = 0; blockLinks[i] = nullptr;
blockSize[i] = 0; blockSize[i] = 0;
unresolvedJumps[i].clear(); unresolvedJumps[i].clear();
} }
@ -345,7 +345,7 @@ void DSPEmitter::Compile(u16 start_addr)
{ {
// Mark the block to be recompiled again // Mark the block to be recompiled again
blocks[i] = (DSPCompiledCode)stubEntryPoint; blocks[i] = (DSPCompiledCode)stubEntryPoint;
blockLinks[i] = 0; blockLinks[i] = nullptr;
blockSize[i] = 0; blockSize[i] = 0;
} }
} }

View File

@ -292,7 +292,7 @@ const DSPOPCTemplate opcodes[] =
}; };
const DSPOPCTemplate cw = const DSPOPCTemplate cw =
{"CW", 0x0000, 0x0000, nop, NULL, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false}; {"CW", 0x0000, 0x0000, nop, nullptr, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false};
// extended opcodes // extended opcodes
@ -353,43 +353,43 @@ const pdlabel_t pdlabels[] =
{0xffae, "COEF_A1_7", "COEF_A1_7",}, {0xffae, "COEF_A1_7", "COEF_A1_7",},
{0xffaf, "COEF_A2_7", "COEF_A2_7",}, {0xffaf, "COEF_A2_7", "COEF_A2_7",},
{0xffb0, "0xffb0", 0,}, {0xffb0, "0xffb0", nullptr,},
{0xffb1, "0xffb1", 0,}, {0xffb1, "0xffb1", nullptr,},
{0xffb2, "0xffb2", 0,}, {0xffb2, "0xffb2", nullptr,},
{0xffb3, "0xffb3", 0,}, {0xffb3, "0xffb3", nullptr,},
{0xffb4, "0xffb4", 0,}, {0xffb4, "0xffb4", nullptr,},
{0xffb5, "0xffb5", 0,}, {0xffb5, "0xffb5", nullptr,},
{0xffb6, "0xffb6", 0,}, {0xffb6, "0xffb6", nullptr,},
{0xffb7, "0xffb7", 0,}, {0xffb7, "0xffb7", nullptr,},
{0xffb8, "0xffb8", 0,}, {0xffb8, "0xffb8", nullptr,},
{0xffb9, "0xffb9", 0,}, {0xffb9, "0xffb9", nullptr,},
{0xffba, "0xffba", 0,}, {0xffba, "0xffba", nullptr,},
{0xffbb, "0xffbb", 0,}, {0xffbb, "0xffbb", nullptr,},
{0xffbc, "0xffbc", 0,}, {0xffbc, "0xffbc", nullptr,},
{0xffbd, "0xffbd", 0,}, {0xffbd, "0xffbd", nullptr,},
{0xffbe, "0xffbe", 0,}, {0xffbe, "0xffbe", nullptr,},
{0xffbf, "0xffbf", 0,}, {0xffbf, "0xffbf", nullptr,},
{0xffc0, "0xffc0", 0,}, {0xffc0, "0xffc0", nullptr,},
{0xffc1, "0xffc1", 0,}, {0xffc1, "0xffc1", nullptr,},
{0xffc2, "0xffc2", 0,}, {0xffc2, "0xffc2", nullptr,},
{0xffc3, "0xffc3", 0,}, {0xffc3, "0xffc3", nullptr,},
{0xffc4, "0xffc4", 0,}, {0xffc4, "0xffc4", nullptr,},
{0xffc5, "0xffc5", 0,}, {0xffc5, "0xffc5", nullptr,},
{0xffc6, "0xffc6", 0,}, {0xffc6, "0xffc6", nullptr,},
{0xffc7, "0xffc7", 0,}, {0xffc7, "0xffc7", nullptr,},
{0xffc8, "0xffc8", 0,}, {0xffc8, "0xffc8", nullptr,},
{0xffc9, "DSCR", "DSP DMA Control Reg",}, {0xffc9, "DSCR", "DSP DMA Control Reg",},
{0xffca, "0xffca", 0,}, {0xffca, "0xffca", nullptr,},
{0xffcb, "DSBL", "DSP DMA Block Length",}, {0xffcb, "DSBL", "DSP DMA Block Length",},
{0xffcc, "0xffcc", 0,}, {0xffcc, "0xffcc", nullptr,},
{0xffcd, "DSPA", "DSP DMA DMEM Address",}, {0xffcd, "DSPA", "DSP DMA DMEM Address",},
{0xffce, "DSMAH", "DSP DMA Mem Address H",}, {0xffce, "DSMAH", "DSP DMA Mem Address H",},
{0xffcf, "DSMAL", "DSP DMA Mem Address L",}, {0xffcf, "DSMAL", "DSP DMA Mem Address L",},
{0xffd0, "0xffd0",0,}, {0xffd0, "0xffd0",nullptr,},
{0xffd1, "SampleFormat", "SampleFormat",}, {0xffd1, "SampleFormat", "SampleFormat",},
{0xffd2, "0xffd2",0,}, {0xffd2, "0xffd2",nullptr,},
{0xffd3, "UnkZelda", "Unk Zelda reads/writes from/to it",}, {0xffd3, "UnkZelda", "Unk Zelda reads/writes from/to it",},
{0xffd4, "ACSAH", "Accelerator start address H",}, {0xffd4, "ACSAH", "Accelerator start address H",},
{0xffd5, "ACSAL", "Accelerator start address L",}, {0xffd5, "ACSAL", "Accelerator start address L",},
@ -402,36 +402,36 @@ const pdlabel_t pdlabels[] =
{0xffdc, "yn2", "yn2",}, {0xffdc, "yn2", "yn2",},
{0xffdd, "ARAM", "Direct Read from ARAM (uses ADPCM)",}, {0xffdd, "ARAM", "Direct Read from ARAM (uses ADPCM)",},
{0xffde, "GAIN", "Gain",}, {0xffde, "GAIN", "Gain",},
{0xffdf, "0xffdf", 0,}, {0xffdf, "0xffdf", nullptr,},
{0xffe0, "0xffe0",0,}, {0xffe0, "0xffe0",nullptr,},
{0xffe1, "0xffe1",0,}, {0xffe1, "0xffe1",nullptr,},
{0xffe2, "0xffe2",0,}, {0xffe2, "0xffe2",nullptr,},
{0xffe3, "0xffe3",0,}, {0xffe3, "0xffe3",nullptr,},
{0xffe4, "0xffe4",0,}, {0xffe4, "0xffe4",nullptr,},
{0xffe5, "0xffe5",0,}, {0xffe5, "0xffe5",nullptr,},
{0xffe6, "0xffe6",0,}, {0xffe6, "0xffe6",nullptr,},
{0xffe7, "0xffe7",0,}, {0xffe7, "0xffe7",nullptr,},
{0xffe8, "0xffe8",0,}, {0xffe8, "0xffe8",nullptr,},
{0xffe9, "0xffe9",0,}, {0xffe9, "0xffe9",nullptr,},
{0xffea, "0xffea",0,}, {0xffea, "0xffea",nullptr,},
{0xffeb, "0xffeb",0,}, {0xffeb, "0xffeb",nullptr,},
{0xffec, "0xffec",0,}, {0xffec, "0xffec",nullptr,},
{0xffed, "0xffed",0,}, {0xffed, "0xffed",nullptr,},
{0xffee, "0xffee",0,}, {0xffee, "0xffee",nullptr,},
{0xffef, "AMDM", "ARAM DMA Request Mask",}, {0xffef, "AMDM", "ARAM DMA Request Mask",},
{0xfff0, "0xfff0",0,}, {0xfff0, "0xfff0",nullptr,},
{0xfff1, "0xfff1",0,}, {0xfff1, "0xfff1",nullptr,},
{0xfff2, "0xfff2",0,}, {0xfff2, "0xfff2",nullptr,},
{0xfff3, "0xfff3",0,}, {0xfff3, "0xfff3",nullptr,},
{0xfff4, "0xfff4",0,}, {0xfff4, "0xfff4",nullptr,},
{0xfff5, "0xfff5",0,}, {0xfff5, "0xfff5",nullptr,},
{0xfff6, "0xfff6",0,}, {0xfff6, "0xfff6",nullptr,},
{0xfff7, "0xfff7",0,}, {0xfff7, "0xfff7",nullptr,},
{0xfff8, "0xfff8",0,}, {0xfff8, "0xfff8",nullptr,},
{0xfff9, "0xfff9",0,}, {0xfff9, "0xfff9",nullptr,},
{0xfffa, "0xfffa",0,}, {0xfffa, "0xfffa",nullptr,},
{0xfffb, "DIRQ", "DSP IRQ Request",}, {0xfffb, "DIRQ", "DSP IRQ Request",},
{0xfffc, "DMBH", "DSP Mailbox H",}, {0xfffc, "DMBH", "DSP Mailbox H",},
{0xfffd, "DMBL", "DSP Mailbox L",}, {0xfffd, "DMBL", "DSP Mailbox L",},
@ -492,7 +492,7 @@ const char* pdname(u16 val)
{ {
static char tmpstr[12]; // nasty static char tmpstr[12]; // nasty
for (auto& pdlabel : pdlabels) for (const pdlabel_t& pdlabel : pdlabels)
{ {
if (pdlabel.addr == val) if (pdlabel.addr == val)
return pdlabel.name; return pdlabel.name;
@ -527,31 +527,37 @@ void InitInstructionTable()
{ {
extOpTable[i] = &cw; extOpTable[i] = &cw;
for (auto& ext : opcodes_ext) for (const DSPOPCTemplate& ext : opcodes_ext)
{ {
u16 mask = ext.opcode_mask; u16 mask = ext.opcode_mask;
if ((mask & i) == ext.opcode) if ((mask & i) == ext.opcode)
{ {
if (extOpTable[i] == &cw) if (extOpTable[i] == &cw)
{
extOpTable[i] = &ext; extOpTable[i] = &ext;
}
else else
{ {
//if the entry already in the table //if the entry already in the table
//is a strict subset, allow it //is a strict subset, allow it
if ((extOpTable[i]->opcode_mask | ext.opcode_mask) != extOpTable[i]->opcode_mask) if ((extOpTable[i]->opcode_mask | ext.opcode_mask) != extOpTable[i]->opcode_mask)
{
ERROR_LOG(DSPLLE, "opcode ext table place %d already in use by %s when inserting %s", i, extOpTable[i]->name, ext.name); ERROR_LOG(DSPLLE, "opcode ext table place %d already in use by %s when inserting %s", i, extOpTable[i]->name, ext.name);
}
} }
} }
} }
} }
// op table // op table
for (int i = 0; i < OPTABLE_SIZE; i++) for (const DSPOPCTemplate*& opcode : opTable)
opTable[i] = &cw; {
opcode = &cw;
}
for (int i = 0; i < OPTABLE_SIZE; i++) for (int i = 0; i < OPTABLE_SIZE; i++)
{ {
for (auto& opcode : opcodes) for (const DSPOPCTemplate& opcode : opcodes)
{ {
u16 mask = opcode.opcode_mask; u16 mask = opcode.opcode_mask;
if ((mask & i) == opcode.opcode) if ((mask & i) == opcode.opcode)
@ -564,6 +570,8 @@ void InitInstructionTable()
} }
} }
for (int i=0; i < WRITEBACKLOGSIZE; i++) for (int& elem : writeBackLogIdx)
writeBackLogIdx[i] = -1; {
elem = -1;
}
} }

View File

@ -95,7 +95,7 @@ static void WriteBlockLink(DSPEmitter& emitter, u16 dest)
// Jump directly to the called block if it has already been compiled. // Jump directly to the called block if it has already been compiled.
if (!(dest >= emitter.startAddr && dest <= emitter.compilePC)) if (!(dest >= emitter.startAddr && dest <= emitter.compilePC))
{ {
if (emitter.blockLinks[dest] != 0 ) if (emitter.blockLinks[dest] != nullptr )
{ {
emitter.gpr.flushRegs(); emitter.gpr.flushRegs();
// Check if we have enough cycles to execute the next block // Check if we have enough cycles to execute the next block

View File

@ -71,7 +71,7 @@ static void *reg_ptr(int reg)
#endif #endif
default: default:
_assert_msg_(DSPLLE, 0, "cannot happen"); _assert_msg_(DSPLLE, 0, "cannot happen");
return NULL; return nullptr;
} }
} }
@ -81,7 +81,7 @@ static void *reg_ptr(int reg)
DSPJitRegCache::DSPJitRegCache(DSPEmitter &_emitter) DSPJitRegCache::DSPJitRegCache(DSPEmitter &_emitter)
: emitter(_emitter), temporary(false), merged(false) : emitter(_emitter), temporary(false), merged(false)
{ {
for(auto& xreg : xregs) for (X64CachedReg& xreg : xregs)
{ {
xreg.guest_reg = DSP_REG_STATIC; xreg.guest_reg = DSP_REG_STATIC;
xreg.pushed = false; xreg.pushed = false;
@ -475,7 +475,7 @@ void DSPJitRegCache::pushRegs()
} }
int push_count = 0; int push_count = 0;
for(auto& xreg : xregs) for (X64CachedReg& xreg : xregs)
{ {
if (xreg.guest_reg == DSP_REG_USED) if (xreg.guest_reg == DSP_REG_USED)
push_count++; push_count++;
@ -533,7 +533,7 @@ void DSPJitRegCache::popRegs() {
emitter.MOV(32, M(&ebp_store), R(EBP)); emitter.MOV(32, M(&ebp_store), R(EBP));
#endif #endif
int push_count = 0; int push_count = 0;
for(auto& xreg : xregs) for (X64CachedReg& xreg : xregs)
{ {
if (xreg.pushed) if (xreg.pushed)
{ {
@ -1062,9 +1062,8 @@ X64Reg DSPJitRegCache::spillXReg()
{ {
int max_use_ctr_diff = 0; int max_use_ctr_diff = 0;
X64Reg least_recent_use_reg = INVALID_REG; X64Reg least_recent_use_reg = INVALID_REG;
for(size_t i = 0; i < sizeof(alloc_order)/sizeof(alloc_order[0]); i++) for (X64Reg reg : alloc_order)
{ {
X64Reg reg = alloc_order[i];
if (xregs[reg].guest_reg <= DSP_REG_MAX_MEM_BACKED && if (xregs[reg].guest_reg <= DSP_REG_MAX_MEM_BACKED &&
!regs[xregs[reg].guest_reg].used) !regs[xregs[reg].guest_reg].used)
{ {
@ -1084,9 +1083,8 @@ X64Reg DSPJitRegCache::spillXReg()
} }
//just choose one. //just choose one.
for(size_t i = 0; i < sizeof(alloc_order)/sizeof(alloc_order[0]); i++) for (X64Reg reg : alloc_order)
{ {
X64Reg reg = alloc_order[i];
if (xregs[reg].guest_reg <= DSP_REG_MAX_MEM_BACKED && if (xregs[reg].guest_reg <= DSP_REG_MAX_MEM_BACKED &&
!regs[xregs[reg].guest_reg].used) !regs[xregs[reg].guest_reg].used)
{ {
@ -1118,7 +1116,7 @@ void DSPJitRegCache::spillXReg(X64Reg reg)
X64Reg DSPJitRegCache::findFreeXReg() X64Reg DSPJitRegCache::findFreeXReg()
{ {
for(auto& x : alloc_order) for (X64Reg x : alloc_order)
{ {
if (xregs[x].guest_reg == DSP_REG_NONE) if (xregs[x].guest_reg == DSP_REG_NONE)
{ {

View File

@ -31,7 +31,7 @@ void DSPEmitter::dsp_reg_stack_push(int stack_reg)
MOVZX(32, 8, EAX, R(AL)); MOVZX(32, 8, EAX, R(AL));
#endif #endif
MOV(16, MComplex(EAX, EAX, 1, MOV(16, MComplex(EAX, EAX, 1,
PtrOffset(&g_dsp.reg_stack[stack_reg][0],0)), R(tmp1)); PtrOffset(&g_dsp.reg_stack[stack_reg][0],nullptr)), R(tmp1));
gpr.putXReg(tmp1); gpr.putXReg(tmp1);
} }
@ -50,7 +50,7 @@ void DSPEmitter::dsp_reg_stack_pop(int stack_reg)
MOVZX(32, 8, EAX, R(AL)); MOVZX(32, 8, EAX, R(AL));
#endif #endif
MOV(16, R(tmp1), MComplex(EAX, EAX, 1, MOV(16, R(tmp1), MComplex(EAX, EAX, 1,
PtrOffset(&g_dsp.reg_stack[stack_reg][0],0))); PtrOffset(&g_dsp.reg_stack[stack_reg][0],nullptr)));
MOV(16, M(&g_dsp.r.st[stack_reg]), R(tmp1)); MOV(16, M(&g_dsp.r.st[stack_reg]), R(tmp1));
gpr.putXReg(tmp1); gpr.putXReg(tmp1);

View File

@ -10,7 +10,7 @@
#include "Core/Debugger/Dump.h" #include "Core/Debugger/Dump.h"
CDump::CDump(const char* _szFilename) : CDump::CDump(const char* _szFilename) :
m_pData(NULL) m_pData(nullptr)
{ {
File::IOFile pStream(_szFilename, "rb"); File::IOFile pStream(_szFilename, "rb");
if (pStream) if (pStream)
@ -25,10 +25,10 @@ CDump::CDump(const char* _szFilename) :
CDump::~CDump(void) CDump::~CDump(void)
{ {
if (m_pData != NULL) if (m_pData != nullptr)
{ {
delete[] m_pData; delete[] m_pData;
m_pData = NULL; m_pData = nullptr;
} }
} }

View File

@ -14,32 +14,32 @@ class PPCDebugInterface : public DebugInterface
{ {
public: public:
PPCDebugInterface(){} PPCDebugInterface(){}
virtual void Disassemble(unsigned int address, char *dest, int max_size) final; virtual void Disassemble(unsigned int address, char *dest, int max_size) final override;
virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final; virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final override;
virtual int GetInstructionSize(int /*instruction*/) final {return 4;} virtual int GetInstructionSize(int /*instruction*/) final override {return 4;}
virtual bool IsAlive() final; virtual bool IsAlive() final override;
virtual bool IsBreakpoint(unsigned int address) final; virtual bool IsBreakpoint(unsigned int address) final override;
virtual void SetBreakpoint(unsigned int address) final; virtual void SetBreakpoint(unsigned int address) final override;
virtual void ClearBreakpoint(unsigned int address) final; virtual void ClearBreakpoint(unsigned int address) final override;
virtual void ClearAllBreakpoints() final; virtual void ClearAllBreakpoints() final override;
virtual void ToggleBreakpoint(unsigned int address) final; virtual void ToggleBreakpoint(unsigned int address) final override;
virtual void ClearAllMemChecks() final; virtual void ClearAllMemChecks() final override;
virtual bool IsMemCheck(unsigned int address) final; virtual bool IsMemCheck(unsigned int address) final override;
virtual void ToggleMemCheck(unsigned int address) final; virtual void ToggleMemCheck(unsigned int address) final override;
virtual unsigned int ReadMemory(unsigned int address) final; virtual unsigned int ReadMemory(unsigned int address) final override;
enum { enum {
EXTRAMEM_ARAM = 1, EXTRAMEM_ARAM = 1,
}; };
virtual unsigned int ReadExtraMemory(int memory, unsigned int address) final; virtual unsigned int ReadExtraMemory(int memory, unsigned int address) final override;
virtual unsigned int ReadInstruction(unsigned int address) final; virtual unsigned int ReadInstruction(unsigned int address) final override;
virtual unsigned int GetPC() final; virtual unsigned int GetPC() final override;
virtual void SetPC(unsigned int address) final; virtual void SetPC(unsigned int address) final override;
virtual void Step() final {} virtual void Step() final override {}
virtual void BreakNow() final; virtual void BreakNow() final override;
virtual void RunToBreakpoint() final; virtual void RunToBreakpoint() final override;
virtual void InsertBLR(unsigned int address, unsigned int value) final; virtual void InsertBLR(unsigned int address, unsigned int value) final override;
virtual int GetColor(unsigned int address) final; virtual int GetColor(unsigned int address) final override;
virtual std::string GetDescription(unsigned int address) final; virtual std::string GetDescription(unsigned int address) final override;
virtual void ShowJitResults(u32 address) final; virtual void ShowJitResults(u32 address) final override;
}; };

View File

@ -52,8 +52,7 @@ bool FifoDataFile::Save(const char *filename)
// Add space for frame list // Add space for frame list
u64 frameListOffset = file.Tell(); u64 frameListOffset = file.Tell();
for (size_t i = 0; i < m_Frames.size(); i++) PadFile(m_Frames.size() * sizeof(FileFrameInfo), file);
PadFile(sizeof(FileFrameInfo), file);
u64 bpMemOffset = file.Tell(); u64 bpMemOffset = file.Tell();
file.WriteArray(m_BPMem, BP_MEM_SIZE); file.WriteArray(m_BPMem, BP_MEM_SIZE);
@ -130,7 +129,7 @@ FifoDataFile *FifoDataFile::Load(const std::string &filename, bool flagsOnly)
File::IOFile file; File::IOFile file;
file.Open(filename, "rb"); file.Open(filename, "rb");
if (!file) if (!file)
return NULL; return nullptr;
FileHeader header; FileHeader header;
file.ReadBytes(&header, sizeof(header)); file.ReadBytes(&header, sizeof(header));
@ -138,7 +137,7 @@ FifoDataFile *FifoDataFile::Load(const std::string &filename, bool flagsOnly)
if (header.fileId != FILE_ID || header.min_loader_version > VERSION_NUMBER) if (header.fileId != FILE_ID || header.min_loader_version > VERSION_NUMBER)
{ {
file.Close(); file.Close();
return NULL; return nullptr;
} }
FifoDataFile* dataFile = new FifoDataFile; FifoDataFile* dataFile = new FifoDataFile;
@ -194,12 +193,10 @@ FifoDataFile *FifoDataFile::Load(const std::string &filename, bool flagsOnly)
return dataFile; return dataFile;
} }
void FifoDataFile::PadFile(u32 numBytes, File::IOFile &file) void FifoDataFile::PadFile(u32 numBytes, File::IOFile& file)
{ {
FILE *handle = file.GetHandle(); const u8 zero = 0;
fwrite(&zero, sizeof(zero), numBytes, file.GetHandle());
for (u32 i = 0; i < numBytes; ++i)
fputc(0, handle);
} }
void FifoDataFile::SetFlag(u32 flag, bool set) void FifoDataFile::SetFlag(u32 flag, bool set)
@ -219,8 +216,7 @@ u64 FifoDataFile::WriteMemoryUpdates(const std::vector<MemoryUpdate> &memUpdates
{ {
// Add space for memory update list // Add space for memory update list
u64 updateListOffset = file.Tell(); u64 updateListOffset = file.Tell();
for (size_t i = 0; i < memUpdates.size(); i++) PadFile(memUpdates.size() * sizeof(FileMemoryUpdate), file);
PadFile(sizeof(FileMemoryUpdate), file);
for (unsigned int i = 0; i < memUpdates.size(); ++i) for (unsigned int i = 0; i < memUpdates.size(); ++i)
{ {

View File

@ -39,13 +39,13 @@ bool FifoPlayer::Open(const std::string& filename)
if (m_FileLoadedCb) if (m_FileLoadedCb)
m_FileLoadedCb(); m_FileLoadedCb();
return (m_File != NULL); return (m_File != nullptr);
} }
void FifoPlayer::Close() void FifoPlayer::Close()
{ {
delete m_File; delete m_File;
m_File = NULL; m_File = nullptr;
m_FrameRangeStart = 0; m_FrameRangeStart = 0;
m_FrameRangeEnd = 0; m_FrameRangeEnd = 0;
@ -158,9 +158,9 @@ FifoPlayer::FifoPlayer() :
m_ObjectRangeStart(0), m_ObjectRangeStart(0),
m_ObjectRangeEnd(10000), m_ObjectRangeEnd(10000),
m_EarlyMemoryUpdates(false), m_EarlyMemoryUpdates(false),
m_FileLoadedCb(NULL), m_FileLoadedCb(nullptr),
m_FrameWrittenCb(NULL), m_FrameWrittenCb(nullptr),
m_File(NULL) m_File(nullptr)
{ {
m_Loop = SConfig::GetInstance().m_LocalCoreStartupParameter.bLoopFifoReplay; m_Loop = SConfig::GetInstance().m_LocalCoreStartupParameter.bLoopFifoReplay;
} }
@ -271,7 +271,7 @@ void FifoPlayer::WriteAllMemoryUpdates()
void FifoPlayer::WriteMemory(const MemoryUpdate& memUpdate) void FifoPlayer::WriteMemory(const MemoryUpdate& memUpdate)
{ {
u8 *mem = NULL; u8 *mem = nullptr;
if (memUpdate.address & 0x10000000) if (memUpdate.address & 0x10000000)
mem = &Memory::m_pEXRAM[memUpdate.address & Memory::EXRAM_MASK]; mem = &Memory::m_pEXRAM[memUpdate.address & Memory::EXRAM_MASK];

View File

@ -16,7 +16,7 @@ using namespace FifoAnalyzer;
FifoRecordAnalyzer::FifoRecordAnalyzer() : FifoRecordAnalyzer::FifoRecordAnalyzer() :
m_DrawingObject(false), m_DrawingObject(false),
m_BpMem(NULL) m_BpMem(nullptr)
{ {
} }

View File

@ -19,13 +19,13 @@ FifoRecorder::FifoRecorder() :
m_WasRecording(false), m_WasRecording(false),
m_RequestedRecordingEnd(false), m_RequestedRecordingEnd(false),
m_RecordFramesRemaining(0), m_RecordFramesRemaining(0),
m_FinishedCb(NULL), m_FinishedCb(nullptr),
m_File(NULL), m_File(nullptr),
m_SkipNextData(true), m_SkipNextData(true),
m_SkipFutureData(true), m_SkipFutureData(true),
m_FrameEnded(false), m_FrameEnded(false),
m_Ram(NULL), m_Ram(nullptr),
m_ExRam(NULL) m_ExRam(nullptr)
{ {
} }

View File

@ -88,7 +88,7 @@ void PatchFunctions()
for (u32 i = 0; i < sizeof(OSPatches) / sizeof(SPatch); i++) for (u32 i = 0; i < sizeof(OSPatches) / sizeof(SPatch); i++)
{ {
Symbol *symbol = g_symbolDB.GetSymbolFromName(OSPatches[i].m_szPatchName); Symbol *symbol = g_symbolDB.GetSymbolFromName(OSPatches[i].m_szPatchName);
if (symbol > 0) if (symbol)
{ {
for (u32 addr = symbol->address; addr < symbol->address + symbol->size; addr += 4) for (u32 addr = symbol->address; addr < symbol->address + symbol->size; addr += 4)
{ {
@ -103,7 +103,7 @@ void PatchFunctions()
for (size_t i = 1; i < sizeof(OSBreakPoints) / sizeof(SPatch); i++) for (size_t i = 1; i < sizeof(OSBreakPoints) / sizeof(SPatch); i++)
{ {
Symbol *symbol = g_symbolDB.GetSymbolFromName(OSPatches[i].m_szPatchName); Symbol *symbol = g_symbolDB.GetSymbolFromName(OSPatches[i].m_szPatchName);
if (symbol > 0) if (symbol)
{ {
PowerPC::breakpoints.Add(symbol->address, false); PowerPC::breakpoints.Add(symbol->address, false);
INFO_LOG(OSHLE, "Adding BP to %s %08x", OSBreakPoints[i].m_szPatchName, symbol->address); INFO_LOG(OSHLE, "Adding BP to %s %08x", OSBreakPoints[i].m_szPatchName, symbol->address);
@ -159,7 +159,7 @@ bool IsEnabled(int flags)
u32 UnPatch(std::string patchName) u32 UnPatch(std::string patchName)
{ {
Symbol *symbol = g_symbolDB.GetSymbolFromName(patchName.c_str()); Symbol *symbol = g_symbolDB.GetSymbolFromName(patchName.c_str());
if (symbol > 0) if (symbol)
{ {
for (u32 addr = symbol->address; addr < symbol->address + symbol->size; addr += 4) for (u32 addr = symbol->address; addr < symbol->address + symbol->size; addr += 4)
{ {

View File

@ -120,7 +120,7 @@ void ReadThreadHandler(CEXIETHERNET* self)
struct timeval timeout; struct timeval timeout;
timeout.tv_sec = 0; timeout.tv_sec = 0;
timeout.tv_usec = 50000; timeout.tv_usec = 50000;
if (select(self->fd + 1, &rfds, NULL, NULL, &timeout) <= 0) if (select(self->fd + 1, &rfds, nullptr, nullptr, &timeout) <= 0)
continue; continue;
int readBytes = read(self->fd, self->mRecvBuffer, BBA_RECV_SIZE); int readBytes = read(self->fd, self->mRecvBuffer, BBA_RECV_SIZE);

View File

@ -35,7 +35,7 @@ bool IsTAPDevice(const TCHAR *guid)
DWORD data_type; DWORD data_type;
len = sizeof(enum_name); len = sizeof(enum_name);
status = RegEnumKeyEx(netcard_key, i, enum_name, &len, NULL, NULL, NULL, NULL); status = RegEnumKeyEx(netcard_key, i, enum_name, &len, nullptr, nullptr, nullptr, nullptr);
if (status == ERROR_NO_MORE_ITEMS) if (status == ERROR_NO_MORE_ITEMS)
break; break;
@ -53,13 +53,13 @@ bool IsTAPDevice(const TCHAR *guid)
else else
{ {
len = sizeof(component_id); len = sizeof(component_id);
status = RegQueryValueEx(unit_key, component_id_string, NULL, status = RegQueryValueEx(unit_key, component_id_string, nullptr,
&data_type, (LPBYTE)component_id, &len); &data_type, (LPBYTE)component_id, &len);
if (!(status != ERROR_SUCCESS || data_type != REG_SZ)) if (!(status != ERROR_SUCCESS || data_type != REG_SZ))
{ {
len = sizeof(net_cfg_instance_id); len = sizeof(net_cfg_instance_id);
status = RegQueryValueEx(unit_key, net_cfg_instance_id_string, NULL, status = RegQueryValueEx(unit_key, net_cfg_instance_id_string, nullptr,
&data_type, (LPBYTE)net_cfg_instance_id, &len); &data_type, (LPBYTE)net_cfg_instance_id, &len);
if (status == ERROR_SUCCESS && data_type == REG_SZ) if (status == ERROR_SUCCESS && data_type == REG_SZ)
@ -106,7 +106,7 @@ bool GetGUIDs(std::vector<std::basic_string<TCHAR>>& guids)
len = sizeof(enum_name); len = sizeof(enum_name);
status = RegEnumKeyEx(control_net_key, i, enum_name, status = RegEnumKeyEx(control_net_key, i, enum_name,
&len, NULL, NULL, NULL, NULL); &len, nullptr, nullptr, nullptr, nullptr);
if (status == ERROR_NO_MORE_ITEMS) if (status == ERROR_NO_MORE_ITEMS)
break; break;
@ -122,7 +122,7 @@ bool GetGUIDs(std::vector<std::basic_string<TCHAR>>& guids)
if (status == ERROR_SUCCESS) if (status == ERROR_SUCCESS)
{ {
len = sizeof(name_data); len = sizeof(name_data);
status = RegQueryValueEx(connection_key, name_string, NULL, status = RegQueryValueEx(connection_key, name_string, nullptr,
&name_type, (LPBYTE)name_data, &len); &name_type, (LPBYTE)name_data, &len);
if (status != ERROR_SUCCESS || name_type != REG_SZ) if (status != ERROR_SUCCESS || name_type != REG_SZ)
@ -199,7 +199,7 @@ bool CEXIETHERNET::Activate()
/* get driver version info */ /* get driver version info */
ULONG info[3]; ULONG info[3];
if (DeviceIoControl(mHAdapter, TAP_IOCTL_GET_VERSION, if (DeviceIoControl(mHAdapter, TAP_IOCTL_GET_VERSION,
&info, sizeof(info), &info, sizeof(info), &len, NULL)) &info, sizeof(info), &info, sizeof(info), &len, nullptr))
{ {
INFO_LOG(SP1, "TAP-Win32 Driver Version %d.%d %s", INFO_LOG(SP1, "TAP-Win32 Driver Version %d.%d %s",
info[0], info[1], info[2] ? "(DEBUG)" : ""); info[0], info[1], info[2] ? "(DEBUG)" : "");
@ -217,7 +217,7 @@ bool CEXIETHERNET::Activate()
/* set driver media status to 'connected' */ /* set driver media status to 'connected' */
ULONG status = TRUE; ULONG status = TRUE;
if (!DeviceIoControl(mHAdapter, TAP_IOCTL_SET_MEDIA_STATUS, if (!DeviceIoControl(mHAdapter, TAP_IOCTL_SET_MEDIA_STATUS,
&status, sizeof(status), &status, sizeof(status), &len, NULL)) &status, sizeof(status), &status, sizeof(status), &len, nullptr))
{ {
ERROR_LOG(SP1, "WARNING: The TAP-Win32 driver rejected a" ERROR_LOG(SP1, "WARNING: The TAP-Win32 driver rejected a"
"TAP_IOCTL_SET_MEDIA_STATUS DeviceIoControl call."); "TAP_IOCTL_SET_MEDIA_STATUS DeviceIoControl call.");
@ -283,7 +283,7 @@ bool CEXIETHERNET::RecvInit()
{ {
// Set up recv event // Set up recv event
if ((mHRecvEvent = CreateEvent(NULL, false, false, NULL)) == NULL) if ((mHRecvEvent = CreateEvent(nullptr, false, false, nullptr)) == nullptr)
{ {
ERROR_LOG(SP1, "Failed to create recv event:%x", GetLastError()); ERROR_LOG(SP1, "Failed to create recv event:%x", GetLastError());
return false; return false;

View File

@ -18,20 +18,20 @@
namespace namespace
{ {
static Common::Event m_StepEvent; static Common::Event m_StepEvent;
static Common::Event *m_SyncEvent = NULL; static Common::Event *m_SyncEvent = nullptr;
static std::mutex m_csCpuOccupied; static std::mutex m_csCpuOccupied;
} }
void CCPU::Init(int cpu_core) void CCPU::Init(int cpu_core)
{ {
PowerPC::Init(cpu_core); PowerPC::Init(cpu_core);
m_SyncEvent = NULL; m_SyncEvent = nullptr;
} }
void CCPU::Shutdown() void CCPU::Shutdown()
{ {
PowerPC::Shutdown(); PowerPC::Shutdown();
m_SyncEvent = NULL; m_SyncEvent = nullptr;
} }
void CCPU::Run() void CCPU::Run()
@ -68,7 +68,7 @@ reswitch:
if (m_SyncEvent) if (m_SyncEvent)
{ {
m_SyncEvent->Set(); m_SyncEvent->Set();
m_SyncEvent = NULL; m_SyncEvent = nullptr;
} }
Host_UpdateDisasmDialog(); Host_UpdateDisasmDialog();
break; break;

View File

@ -28,7 +28,7 @@ public:
static void Reset(); static void Reset();
// StepOpcode (Steps one Opcode) // StepOpcode (Steps one Opcode)
static void StepOpcode(Common::Event *event = 0); static void StepOpcode(Common::Event *event = nullptr);
// one step only // one step only
static void SingleStep(); static void SingleStep();

View File

@ -174,7 +174,7 @@ struct ARAMInfo
wii_mode = false; wii_mode = false;
size = ARAM_SIZE; size = ARAM_SIZE;
mask = ARAM_MASK; mask = ARAM_MASK;
ptr = NULL; ptr = nullptr;
} }
}; };
@ -282,12 +282,12 @@ void Shutdown()
if (!g_ARAM.wii_mode) if (!g_ARAM.wii_mode)
{ {
FreeMemoryPages(g_ARAM.ptr, g_ARAM.size); FreeMemoryPages(g_ARAM.ptr, g_ARAM.size);
g_ARAM.ptr = NULL; g_ARAM.ptr = nullptr;
} }
dsp_emulator->Shutdown(); dsp_emulator->Shutdown();
delete dsp_emulator; delete dsp_emulator;
dsp_emulator = NULL; dsp_emulator = nullptr;
} }
void RegisterMMIO(MMIO::Mapping* mmio, u32 base) void RegisterMMIO(MMIO::Mapping* mmio, u32 base)

View File

@ -21,7 +21,7 @@
DSPHLE::DSPHLE() DSPHLE::DSPHLE()
{ {
m_InitMixer = false; m_InitMixer = false;
soundStream = NULL; soundStream = nullptr;
} }
// Mailbox utility // Mailbox utility
@ -46,8 +46,8 @@ bool DSPHLE::Initialize(void *hWnd, bool bWii, bool bDSPThread)
{ {
m_hWnd = hWnd; m_hWnd = hWnd;
m_bWii = bWii; m_bWii = bWii;
m_pUCode = NULL; m_pUCode = nullptr;
m_lastUCode = NULL; m_lastUCode = nullptr;
m_bHalt = false; m_bHalt = false;
m_bAssertInt = false; m_bAssertInt = false;
@ -74,7 +74,7 @@ void DSPHLE::DSP_Update(int cycles)
{ {
// This is called OFTEN - better not do anything expensive! // This is called OFTEN - better not do anything expensive!
// ~1/6th as many cycles as the period PPC-side. // ~1/6th as many cycles as the period PPC-side.
if (m_pUCode != NULL) if (m_pUCode != nullptr)
m_pUCode->Update(cycles / 6); m_pUCode->Update(cycles / 6);
} }
@ -82,7 +82,7 @@ u32 DSPHLE::DSP_UpdateRate()
{ {
// AX HLE uses 3ms (Wii) or 5ms (GC) timing period // AX HLE uses 3ms (Wii) or 5ms (GC) timing period
int fields = VideoInterface::GetNumFields(); int fields = VideoInterface::GetNumFields();
if (m_pUCode != NULL) if (m_pUCode != nullptr)
return (SystemTimers::GetTicksPerSecond() / 1000) * m_pUCode->GetUpdateMs() / fields; return (SystemTimers::GetTicksPerSecond() / 1000) * m_pUCode->GetUpdateMs() / fields;
else else
return SystemTimers::GetTicksPerSecond() / 1000; return SystemTimers::GetTicksPerSecond() / 1000;
@ -90,7 +90,7 @@ u32 DSPHLE::DSP_UpdateRate()
void DSPHLE::SendMailToDSP(u32 _uMail) void DSPHLE::SendMailToDSP(u32 _uMail)
{ {
if (m_pUCode != NULL) { if (m_pUCode != nullptr) {
DEBUG_LOG(DSP_MAIL, "CPU writes 0x%08x", _uMail); DEBUG_LOG(DSP_MAIL, "CPU writes 0x%08x", _uMail);
m_pUCode->HandleMail(_uMail); m_pUCode->HandleMail(_uMail);
} }
@ -105,7 +105,7 @@ void DSPHLE::SetUCode(u32 _crc)
{ {
delete m_pUCode; delete m_pUCode;
m_pUCode = NULL; m_pUCode = nullptr;
m_MailHandler.Clear(); m_MailHandler.Clear();
m_pUCode = UCodeFactory(_crc, this, m_bWii); m_pUCode = UCodeFactory(_crc, this, m_bWii);
} }
@ -117,7 +117,7 @@ void DSPHLE::SwapUCode(u32 _crc)
{ {
m_MailHandler.Clear(); m_MailHandler.Clear();
if (m_lastUCode == NULL) if (m_lastUCode == nullptr)
{ {
m_lastUCode = m_pUCode; m_lastUCode = m_pUCode;
m_pUCode = UCodeFactory(_crc, this, m_bWii); m_pUCode = UCodeFactory(_crc, this, m_bWii);
@ -126,7 +126,7 @@ void DSPHLE::SwapUCode(u32 _crc)
{ {
delete m_pUCode; delete m_pUCode;
m_pUCode = m_lastUCode; m_pUCode = m_lastUCode;
m_lastUCode = NULL; m_lastUCode = nullptr;
} }
} }
@ -154,7 +154,7 @@ void DSPHLE::DoState(PointerWrap &p)
AudioCommon::PauseAndLock(false); AudioCommon::PauseAndLock(false);
soundStream->Stop(); soundStream->Stop();
delete soundStream; delete soundStream;
soundStream = NULL; soundStream = nullptr;
} }
} }

View File

@ -468,7 +468,7 @@ void CUCode_AX::ProcessPBList(u32 pb_addr)
ApplyUpdatesForMs(curr_ms, (u16*)&pb, pb.updates.num_updates, updates); ApplyUpdatesForMs(curr_ms, (u16*)&pb, pb.updates.num_updates, updates);
ProcessVoice(pb, buffers, spms, ConvertMixerControl(pb.mixer_control), ProcessVoice(pb, buffers, spms, ConvertMixerControl(pb.mixer_control),
m_coeffs_available ? m_coeffs : NULL); m_coeffs_available ? m_coeffs : nullptr);
// Forward the buffers // Forward the buffers
for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i) for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i)
@ -482,7 +482,7 @@ void CUCode_AX::ProcessPBList(u32 pb_addr)
void CUCode_AX::MixAUXSamples(int aux_id, u32 write_addr, u32 read_addr) void CUCode_AX::MixAUXSamples(int aux_id, u32 write_addr, u32 read_addr)
{ {
int* buffers[3] = { 0 }; int* buffers[3] = { nullptr };
switch (aux_id) switch (aux_id)
{ {

View File

@ -20,8 +20,8 @@ CUCode_AXWii::CUCode_AXWii(DSPHLE *dsp_hle, u32 l_CRC)
: CUCode_AX(dsp_hle, l_CRC), : CUCode_AX(dsp_hle, l_CRC),
m_last_main_volume(0x8000) m_last_main_volume(0x8000)
{ {
for (int i = 0; i < 3; ++i) for (u16& volume : m_last_aux_volumes)
m_last_aux_volumes[i] = 0x8000; volume = 0x8000;
WARN_LOG(DSPHLE, "Instantiating CUCode_AXWii"); WARN_LOG(DSPHLE, "Instantiating CUCode_AXWii");
@ -467,7 +467,7 @@ void CUCode_AXWii::ProcessPBList(u32 pb_addr)
ApplyUpdatesForMs(curr_ms, (u16*)&pb, num_updates, updates); ApplyUpdatesForMs(curr_ms, (u16*)&pb, num_updates, updates);
ProcessVoice(pb, buffers, 32, ProcessVoice(pb, buffers, 32,
ConvertMixerControl(HILO_TO_32(pb.mixer_control)), ConvertMixerControl(HILO_TO_32(pb.mixer_control)),
m_coeffs_available ? m_coeffs : NULL); m_coeffs_available ? m_coeffs : nullptr);
// Forward the buffers // Forward the buffers
for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i) for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i)
@ -479,7 +479,7 @@ void CUCode_AXWii::ProcessPBList(u32 pb_addr)
{ {
ProcessVoice(pb, buffers, 96, ProcessVoice(pb, buffers, 96,
ConvertMixerControl(HILO_TO_32(pb.mixer_control)), ConvertMixerControl(HILO_TO_32(pb.mixer_control)),
m_coeffs_available ? m_coeffs : NULL); m_coeffs_available ? m_coeffs : nullptr);
} }
WritePB(pb_addr, pb); WritePB(pb_addr, pb);
@ -493,7 +493,7 @@ void CUCode_AXWii::MixAUXSamples(int aux_id, u32 write_addr, u32 read_addr, u16
GenerateVolumeRamp(volume_ramp, m_last_aux_volumes[aux_id], volume, 96); GenerateVolumeRamp(volume_ramp, m_last_aux_volumes[aux_id], volume, 96);
m_last_aux_volumes[aux_id] = volume; m_last_aux_volumes[aux_id] = volume;
int* buffers[3] = { 0 }; int* buffers[3] = { nullptr };
int* main_buffers[3] = { int* main_buffers[3] = {
m_samples_left, m_samples_left,
m_samples_right, m_samples_right,

View File

@ -99,7 +99,7 @@ IUCode* UCodeFactory(u32 _CRC, DSPHLE *dsp_hle, bool bWii)
break; break;
} }
return NULL; return nullptr;
} }
bool IUCode::NeedsResumeMail() bool IUCode::NeedsResumeMail()

View File

@ -14,25 +14,25 @@ class DSPDebugInterface : public DebugInterface
{ {
public: public:
DSPDebugInterface(){} DSPDebugInterface(){}
virtual void Disassemble(unsigned int address, char *dest, int max_size) final; virtual void Disassemble(unsigned int address, char *dest, int max_size) final override;
virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final; virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final override;
virtual int GetInstructionSize(int instruction) final {return 1;} virtual int GetInstructionSize(int instruction) final override {return 1;}
virtual bool IsAlive() final; virtual bool IsAlive() final override;
virtual bool IsBreakpoint(unsigned int address) final; virtual bool IsBreakpoint(unsigned int address) final override;
virtual void SetBreakpoint(unsigned int address) final; virtual void SetBreakpoint(unsigned int address) final override;
virtual void ClearBreakpoint(unsigned int address) final; virtual void ClearBreakpoint(unsigned int address) final override;
virtual void ClearAllBreakpoints() final; virtual void ClearAllBreakpoints() final override;
virtual void ToggleBreakpoint(unsigned int address) final; virtual void ToggleBreakpoint(unsigned int address) final override;
virtual void ClearAllMemChecks() final; virtual void ClearAllMemChecks() final override;
virtual bool IsMemCheck(unsigned int address) final; virtual bool IsMemCheck(unsigned int address) final override;
virtual void ToggleMemCheck(unsigned int address) final; virtual void ToggleMemCheck(unsigned int address) final override;
virtual unsigned int ReadMemory(unsigned int address) final; virtual unsigned int ReadMemory(unsigned int address) final override;
virtual unsigned int ReadInstruction(unsigned int address) final; virtual unsigned int ReadInstruction(unsigned int address) final override;
virtual unsigned int GetPC() final; virtual unsigned int GetPC() final override;
virtual void SetPC(unsigned int address) final; virtual void SetPC(unsigned int address) final override;
virtual void Step() final {} virtual void Step() final override {}
virtual void RunToBreakpoint() final; virtual void RunToBreakpoint() final override;
virtual void InsertBLR(unsigned int address, unsigned int value) final; virtual void InsertBLR(unsigned int address, unsigned int value) final override;
virtual int GetColor(unsigned int address) final; virtual int GetColor(unsigned int address) final override;
virtual std::string GetDescription(unsigned int address) final; virtual std::string GetDescription(unsigned int address) final override;
}; };

View File

@ -33,7 +33,7 @@
DSPLLE::DSPLLE() DSPLLE::DSPLLE()
{ {
soundStream = NULL; soundStream = nullptr;
m_InitMixer = false; m_InitMixer = false;
m_bIsRunning = false; m_bIsRunning = false;
m_cycle_count = 0; m_cycle_count = 0;
@ -95,7 +95,7 @@ void DSPLLE::DoState(PointerWrap &p)
AudioCommon::PauseAndLock(false); AudioCommon::PauseAndLock(false);
soundStream->Stop(); soundStream->Stop();
delete soundStream; delete soundStream;
soundStream = NULL; soundStream = nullptr;
} }
} }
} }

View File

@ -15,24 +15,24 @@ class DSPLLE : public DSPEmulator
public: public:
DSPLLE(); DSPLLE();
virtual bool Initialize(void *hWnd, bool bWii, bool bDSPThread); virtual bool Initialize(void *hWnd, bool bWii, bool bDSPThread) override;
virtual void Shutdown(); virtual void Shutdown() override;
virtual bool IsLLE() { return true; } virtual bool IsLLE() override { return true; }
virtual void DoState(PointerWrap &p); virtual void DoState(PointerWrap &p) override;
virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true); virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true) override;
virtual void DSP_WriteMailBoxHigh(bool _CPUMailbox, unsigned short); virtual void DSP_WriteMailBoxHigh(bool _CPUMailbox, unsigned short) override;
virtual void DSP_WriteMailBoxLow(bool _CPUMailbox, unsigned short); virtual void DSP_WriteMailBoxLow(bool _CPUMailbox, unsigned short) override;
virtual unsigned short DSP_ReadMailBoxHigh(bool _CPUMailbox); virtual unsigned short DSP_ReadMailBoxHigh(bool _CPUMailbox) override;
virtual unsigned short DSP_ReadMailBoxLow(bool _CPUMailbox); virtual unsigned short DSP_ReadMailBoxLow(bool _CPUMailbox) override;
virtual unsigned short DSP_ReadControlRegister(); virtual unsigned short DSP_ReadControlRegister() override;
virtual unsigned short DSP_WriteControlRegister(unsigned short); virtual unsigned short DSP_WriteControlRegister(unsigned short) override;
virtual void DSP_SendAIBuffer(unsigned int address, unsigned int num_samples); virtual void DSP_SendAIBuffer(unsigned int address, unsigned int num_samples) override;
virtual void DSP_Update(int cycles); virtual void DSP_Update(int cycles) override;
virtual void DSP_StopSoundStream(); virtual void DSP_StopSoundStream() override;
virtual void DSP_ClearAudioBuffer(bool mute); virtual void DSP_ClearAudioBuffer(bool mute) override;
virtual u32 DSP_UpdateRate(); virtual u32 DSP_UpdateRate() override;
private: private:
static void dsp_thread(DSPLLE* lpParameter); static void dsp_thread(DSPLLE* lpParameter);

View File

@ -70,7 +70,7 @@ Symbol *DSPSymbolDB::GetSymbolFromAddr(u32 addr)
return &func.second; return &func.second;
} }
} }
return 0; return nullptr;
} }
// lower case only // lower case only

View File

@ -47,7 +47,7 @@ void Shutdown()
for (auto& channel : g_Channels) for (auto& channel : g_Channels)
{ {
delete channel; delete channel;
channel = NULL; channel = nullptr;
} }
} }
@ -102,7 +102,7 @@ IEXIDevice* FindDevice(TEXIDevices device_type, int customIndex)
if (device) if (device)
return device; return device;
} }
return NULL; return nullptr;
} }
// Unused (?!) // Unused (?!)

View File

@ -87,7 +87,7 @@ void CEXIChannel::RegisterMMIO(MMIO::Mapping* mmio, u32 base)
IEXIDevice* pDevice = GetDevice(m_Status.CHIP_SELECT ^ newStatus.CHIP_SELECT); IEXIDevice* pDevice = GetDevice(m_Status.CHIP_SELECT ^ newStatus.CHIP_SELECT);
m_Status.CHIP_SELECT = newStatus.CHIP_SELECT; m_Status.CHIP_SELECT = newStatus.CHIP_SELECT;
if (pDevice != NULL) if (pDevice != nullptr)
pDevice->SetCS(m_Status.CHIP_SELECT); pDevice->SetCS(m_Status.CHIP_SELECT);
CoreTiming::ScheduleEvent_Threadsafe_Immediate(updateInterrupts, 0); CoreTiming::ScheduleEvent_Threadsafe_Immediate(updateInterrupts, 0);
@ -110,7 +110,7 @@ void CEXIChannel::RegisterMMIO(MMIO::Mapping* mmio, u32 base)
if (m_Control.TSTART) if (m_Control.TSTART)
{ {
IEXIDevice* pDevice = GetDevice(m_Status.CHIP_SELECT); IEXIDevice* pDevice = GetDevice(m_Status.CHIP_SELECT);
if (pDevice == NULL) if (pDevice == nullptr)
return; return;
if (m_Control.DMA == 0) if (m_Control.DMA == 0)
@ -216,7 +216,7 @@ IEXIDevice* CEXIChannel::GetDevice(const u8 chip_select)
case 2: return m_pDevices[1].get(); case 2: return m_pDevices[1].get();
case 4: return m_pDevices[2].get(); case 4: return m_pDevices[2].get();
} }
return NULL; return nullptr;
} }
void CEXIChannel::Update() void CEXIChannel::Update()
@ -273,5 +273,5 @@ IEXIDevice* CEXIChannel::FindDevice(TEXIDevices device_type, int customIndex)
if (device) if (device)
return device; return device;
} }
return NULL; return nullptr;
} }

View File

@ -90,7 +90,7 @@ public:
// F A C T O R Y // F A C T O R Y
IEXIDevice* EXIDevice_Create(TEXIDevices device_type, const int channel_num) IEXIDevice* EXIDevice_Create(TEXIDevices device_type, const int channel_num)
{ {
IEXIDevice* result = NULL; IEXIDevice* result = nullptr;
switch (device_type) switch (device_type)
{ {
@ -132,7 +132,7 @@ IEXIDevice* EXIDevice_Create(TEXIDevices device_type, const int channel_num)
break; break;
} }
if (result != NULL) if (result != nullptr)
result->m_deviceType = device_type; result->m_deviceType = device_type;
return result; return result;

View File

@ -40,7 +40,7 @@ public:
virtual void SetCS(int) {} virtual void SetCS(int) {}
virtual void DoState(PointerWrap&) {} virtual void DoState(PointerWrap&) {}
virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true) {} virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true) {}
virtual IEXIDevice* FindDevice(TEXIDevices device_type, int customIndex=-1) { return (device_type == m_deviceType) ? this : NULL; } virtual IEXIDevice* FindDevice(TEXIDevices device_type, int customIndex=-1) { return (device_type == m_deviceType) ? this : nullptr; }
// Update // Update
virtual void Update() {} virtual void Update() {}

View File

@ -130,7 +130,7 @@ CEXIIPL::~CEXIIPL()
} }
FreeMemoryPages(m_pIPL, ROM_SIZE); FreeMemoryPages(m_pIPL, ROM_SIZE);
m_pIPL = NULL; m_pIPL = nullptr;
// SRAM // SRAM
File::IOFile file(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strSRAM, "wb"); File::IOFile file(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strSRAM, "wb");

View File

@ -13,9 +13,9 @@ public:
CEXIIPL(); CEXIIPL();
virtual ~CEXIIPL(); virtual ~CEXIIPL();
virtual void SetCS(int _iCS); virtual void SetCS(int _iCS) override;
bool IsPresent(); bool IsPresent() override;
void DoState(PointerWrap &p); void DoState(PointerWrap &p) override;
static u32 GetGCTime(); static u32 GetGCTime();
static u32 NetPlay_GetGCTime(); static u32 NetPlay_GetGCTime();
@ -62,7 +62,7 @@ private:
int m_count; int m_count;
bool m_FontsLoaded; bool m_FontsLoaded;
virtual void TransferByte(u8 &_uByte); virtual void TransferByte(u8 &_uByte) override;
bool IsWriteCommand() const { return !!(m_uAddress & (1 << 31)); } bool IsWriteCommand() const { return !!(m_uAddress & (1 << 31)); }
u32 CommandRegion() const { return (m_uAddress & ~(1 << 31)) >> 8; } u32 CommandRegion() const { return (m_uAddress & ~(1 << 31)) >> 8; }

View File

@ -108,7 +108,7 @@ void innerFlush(FlushData* data)
if (!pFile) if (!pFile)
{ {
std::string dir; std::string dir;
SplitPath(data->filename, &dir, 0, 0); SplitPath(data->filename, &dir, nullptr, nullptr);
if (!File::IsDirectory(dir)) if (!File::IsDirectory(dir))
File::CreateFullPath(dir); File::CreateFullPath(dir);
pFile.Open(data->filename, "wb"); pFile.Open(data->filename, "wb");
@ -166,7 +166,7 @@ CEXIMemoryCard::~CEXIMemoryCard()
CoreTiming::RemoveEvent(et_this_card); CoreTiming::RemoveEvent(et_this_card);
Flush(true); Flush(true);
delete[] memory_card_content; delete[] memory_card_content;
memory_card_content = NULL; memory_card_content = nullptr;
if (flushThread.joinable()) if (flushThread.joinable())
{ {
@ -482,8 +482,8 @@ void CEXIMemoryCard::DoState(PointerWrap &p)
IEXIDevice* CEXIMemoryCard::FindDevice(TEXIDevices device_type, int customIndex) IEXIDevice* CEXIMemoryCard::FindDevice(TEXIDevices device_type, int customIndex)
{ {
if (device_type != m_deviceType) if (device_type != m_deviceType)
return NULL; return nullptr;
if (customIndex != card_index) if (customIndex != card_index)
return NULL; return nullptr;
return this; return this;
} }

View File

@ -13,9 +13,9 @@ class CEXIMic : public IEXIDevice
public: public:
CEXIMic(const int index); CEXIMic(const int index);
virtual ~CEXIMic(); virtual ~CEXIMic();
void SetCS(int cs); void SetCS(int cs) override;
bool IsInterruptSet(); bool IsInterruptSet() override;
bool IsPresent(); bool IsPresent() override;
private: private:
static u8 const exi_id[]; static u8 const exi_id[];
@ -93,7 +93,7 @@ public:
int samples_avail; int samples_avail;
protected: protected:
virtual void TransferByte(u8 &byte); virtual void TransferByte(u8 &byte) override;
}; };
#else // HAVE_PORTAUDIO #else // HAVE_PORTAUDIO

View File

@ -34,7 +34,7 @@ GCMemcard::GCMemcard(const char *filename, bool forceCreation, bool sjis)
{ {
//This function can be removed once more about hdr is known and we can check for a valid header //This function can be removed once more about hdr is known and we can check for a valid header
std::string fileType; std::string fileType;
SplitPath(filename, NULL, NULL, &fileType); SplitPath(filename, nullptr, nullptr, &fileType);
if (strcasecmp(fileType.c_str(), ".raw") && strcasecmp(fileType.c_str(), ".gcp")) if (strcasecmp(fileType.c_str(), ".raw") && strcasecmp(fileType.c_str(), ".gcp"))
{ {
PanicAlertT("File has the extension \"%s\"\nvalid extensions are (.raw/.gcp)", fileType.c_str()); PanicAlertT("File has the extension \"%s\"\nvalid extensions are (.raw/.gcp)", fileType.c_str());
@ -814,7 +814,7 @@ u32 GCMemcard::ImportGciInternal(FILE* gcih, const char *inputFile, const std::s
File::IOFile gci(gcih); File::IOFile gci(gcih);
unsigned int offset; unsigned int offset;
std::string fileType; std::string fileType;
SplitPath(inputFile, NULL, NULL, &fileType); SplitPath(inputFile, nullptr, nullptr, &fileType);
if (!strcasecmp(fileType.c_str(), ".gci")) if (!strcasecmp(fileType.c_str(), ".gci"))
offset = GCI; offset = GCI;
@ -913,7 +913,7 @@ u32 GCMemcard::ExportGci(u8 index, const char *fileName, const std::string &dire
gci.Open(fileName, "wb"); gci.Open(fileName, "wb");
std::string fileType; std::string fileType;
SplitPath(fileName, NULL, NULL, &fileType); SplitPath(fileName, nullptr, nullptr, &fileType);
if (!strcasecmp(fileType.c_str(), ".gcs")) if (!strcasecmp(fileType.c_str(), ".gcs"))
{ {
offset = GCS; offset = GCS;

View File

@ -53,7 +53,7 @@ bool bMMU = false;
// Init() declarations // Init() declarations
// ---------------- // ----------------
// Store the MemArena here // Store the MemArena here
u8* base = NULL; u8* base = nullptr;
// The MemArena class // The MemArena class
MemArena g_arena; MemArena g_arena;
@ -121,8 +121,8 @@ bool IsInitialized()
static const MemoryView views[] = static const MemoryView views[] =
{ {
{&m_pRAM, &m_pPhysicalRAM, 0x00000000, RAM_SIZE, 0}, {&m_pRAM, &m_pPhysicalRAM, 0x00000000, RAM_SIZE, 0},
{NULL, &m_pVirtualCachedRAM, 0x80000000, RAM_SIZE, MV_MIRROR_PREVIOUS}, {nullptr, &m_pVirtualCachedRAM, 0x80000000, RAM_SIZE, MV_MIRROR_PREVIOUS},
{NULL, &m_pVirtualUncachedRAM, 0xC0000000, RAM_SIZE, MV_MIRROR_PREVIOUS}, {nullptr, &m_pVirtualUncachedRAM, 0xC0000000, RAM_SIZE, MV_MIRROR_PREVIOUS},
// Don't map any memory for the EFB. We want all access to this area to go // Don't map any memory for the EFB. We want all access to this area to go
// through the hardware access handlers. // through the hardware access handlers.
@ -134,8 +134,8 @@ static const MemoryView views[] =
{&m_pFakeVMEM, &m_pVirtualFakeVMEM, 0x7E000000, FAKEVMEM_SIZE, MV_FAKE_VMEM}, {&m_pFakeVMEM, &m_pVirtualFakeVMEM, 0x7E000000, FAKEVMEM_SIZE, MV_FAKE_VMEM},
{&m_pEXRAM, &m_pPhysicalEXRAM, 0x10000000, EXRAM_SIZE, MV_WII_ONLY}, {&m_pEXRAM, &m_pPhysicalEXRAM, 0x10000000, EXRAM_SIZE, MV_WII_ONLY},
{NULL, &m_pVirtualCachedEXRAM, 0x90000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS}, {nullptr, &m_pVirtualCachedEXRAM, 0x90000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS},
{NULL, &m_pVirtualUncachedEXRAM, 0xD0000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS}, {nullptr, &m_pVirtualUncachedEXRAM, 0xD0000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS},
}; };
static const int num_views = sizeof(views) / sizeof(MemoryView); static const int num_views = sizeof(views) / sizeof(MemoryView);
@ -185,7 +185,7 @@ void Shutdown()
if (bFakeVMEM) flags |= MV_FAKE_VMEM; if (bFakeVMEM) flags |= MV_FAKE_VMEM;
MemoryMap_Shutdown(views, num_views, flags, &g_arena); MemoryMap_Shutdown(views, num_views, flags, &g_arena);
g_arena.ReleaseSpace(); g_arena.ReleaseSpace();
base = NULL; base = nullptr;
delete mmio_mapping; delete mmio_mapping;
INFO_LOG(MEMMAP, "Memory system shut down."); INFO_LOG(MEMMAP, "Memory system shut down.");
} }
@ -223,7 +223,7 @@ void WriteBigEData(const u8 *_pData, const u32 _Address, const size_t _iSize)
void Memset(const u32 _Address, const u8 _iValue, const u32 _iLength) void Memset(const u32 _Address, const u8 _iValue, const u32 _iLength)
{ {
u8 *ptr = GetPointer(_Address); u8 *ptr = GetPointer(_Address);
if (ptr != NULL) if (ptr != nullptr)
{ {
memset(ptr,_iValue,_iLength); memset(ptr,_iValue,_iLength);
} }
@ -239,7 +239,7 @@ void DMA_LCToMemory(const u32 _MemAddr, const u32 _CacheAddr, const u32 _iNumBlo
const u8 *src = GetCachePtr() + (_CacheAddr & 0x3FFFF); const u8 *src = GetCachePtr() + (_CacheAddr & 0x3FFFF);
u8 *dst = GetPointer(_MemAddr); u8 *dst = GetPointer(_MemAddr);
if ((dst != NULL) && (src != NULL) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0) if ((dst != nullptr) && (src != nullptr) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0)
{ {
memcpy(dst, src, 32 * _iNumBlocks); memcpy(dst, src, 32 * _iNumBlocks);
} }
@ -258,7 +258,7 @@ void DMA_MemoryToLC(const u32 _CacheAddr, const u32 _MemAddr, const u32 _iNumBlo
const u8 *src = GetPointer(_MemAddr); const u8 *src = GetPointer(_MemAddr);
u8 *dst = GetCachePtr() + (_CacheAddr & 0x3FFFF); u8 *dst = GetCachePtr() + (_CacheAddr & 0x3FFFF);
if ((dst != NULL) && (src != NULL) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0) if ((dst != nullptr) && (src != nullptr) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0)
{ {
memcpy(dst, src, 32 * _iNumBlocks); memcpy(dst, src, 32 * _iNumBlocks);
} }
@ -343,7 +343,7 @@ u8 *GetPointer(const u32 _Address)
ERROR_LOG(MEMMAP, "Unknown Pointer %#8x PC %#8x LR %#8x", _Address, PC, LR); ERROR_LOG(MEMMAP, "Unknown Pointer %#8x PC %#8x LR %#8x", _Address, PC, LR);
return NULL; return nullptr;
} }

View File

@ -434,7 +434,7 @@ void GenerateSIInterrupt(SIInterruptType _SIInterrupt)
void RemoveDevice(int _iDeviceNumber) void RemoveDevice(int _iDeviceNumber)
{ {
delete g_Channel[_iDeviceNumber].m_pDevice; delete g_Channel[_iDeviceNumber].m_pDevice;
g_Channel[_iDeviceNumber].m_pDevice = NULL; g_Channel[_iDeviceNumber].m_pDevice = nullptr;
} }
void AddDevice(ISIDevice* pDevice) void AddDevice(ISIDevice* pDevice)

View File

@ -85,20 +85,20 @@ public:
CSIDevice_GCController(SIDevices device, int _iDeviceNumber); CSIDevice_GCController(SIDevices device, int _iDeviceNumber);
// Run the SI Buffer // Run the SI Buffer
virtual int RunBuffer(u8* _pBuffer, int _iLength); virtual int RunBuffer(u8* _pBuffer, int _iLength) override;
// Send and Receive pad input from network // Send and Receive pad input from network
static bool NetPlay_GetInput(u8 numPAD, SPADStatus status, u32 *PADStatus); static bool NetPlay_GetInput(u8 numPAD, SPADStatus status, u32 *PADStatus);
static u8 NetPlay_InGamePadToLocalPad(u8 numPAD); static u8 NetPlay_InGamePadToLocalPad(u8 numPAD);
// Return true on new data // Return true on new data
virtual bool GetData(u32& _Hi, u32& _Low); virtual bool GetData(u32& _Hi, u32& _Low) override;
// Send a command directly // Send a command directly
virtual void SendCommand(u32 _Cmd, u8 _Poll); virtual void SendCommand(u32 _Cmd, u8 _Poll) override;
// Savestate support // Savestate support
virtual void DoState(PointerWrap& p); virtual void DoState(PointerWrap& p) override;
}; };
@ -108,7 +108,7 @@ class CSIDevice_TaruKonga : public CSIDevice_GCController
public: public:
CSIDevice_TaruKonga(SIDevices device, int _iDeviceNumber) : CSIDevice_GCController(device, _iDeviceNumber) { } CSIDevice_TaruKonga(SIDevices device, int _iDeviceNumber) : CSIDevice_GCController(device, _iDeviceNumber) { }
virtual bool GetData(u32& _Hi, u32& _Low) virtual bool GetData(u32& _Hi, u32& _Low) override
{ {
CSIDevice_GCController::GetData(_Hi, _Low); CSIDevice_GCController::GetData(_Hi, _Low);
_Hi &= ~PAD_USE_ORIGIN << 16; _Hi &= ~PAD_USE_ORIGIN << 16;

Some files were not shown because too many files have changed in this diff Show More