Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Merge pull request #142 from Tilka/clang-modernize

Run clang-modernize and manually fix the result
commit 633dc75e857d649ffab7c4398e92536bccc9e1de 2 parents f401263 + d802d39
Matthew Parlane authored

Showing 355 changed files with 2,264 additions and 2,218 deletions. Show Diff Stats Hide Diff Stats

  1. 4  Source/Core/AudioCommon/AOSoundStream.cpp
  2. 8  Source/Core/AudioCommon/AOSoundStream.h
  3. 6  Source/Core/AudioCommon/AlsaSoundStream.cpp
  4. 8  Source/Core/AudioCommon/AlsaSoundStream.h
  5. 4  Source/Core/AudioCommon/CoreAudioSoundStream.cpp
  6. 6  Source/Core/AudioCommon/DPL2Decoder.cpp
  7. 8  Source/Core/AudioCommon/DSoundStream.cpp
  8. 12  Source/Core/AudioCommon/NullSoundStream.h
  9. 11  Source/Core/AudioCommon/OpenALStream.cpp
  10. 14  Source/Core/AudioCommon/OpenALStream.h
  11. 32  Source/Core/AudioCommon/OpenSLESStream.cpp
  12. 4  Source/Core/AudioCommon/OpenSLESStream.h
  13. 14  Source/Core/AudioCommon/PulseAudioStream.cpp
  14. 8  Source/Core/AudioCommon/PulseAudioStream.h
  15. 2  Source/Core/AudioCommon/WaveFile.cpp
  16. 2  Source/Core/AudioCommon/XAudio2Stream.cpp
  17. 2  Source/Core/AudioCommon/XAudio2_7Stream.cpp
  18. 20  Source/Core/AudioCommon/aldlist.cpp
  19. 10  Source/Core/Common/ArmCPUDetect.cpp
  20. 4  Source/Core/Common/ArmEmitter.h
  21. 4  Source/Core/Common/BreakPoints.cpp
  22. 12  Source/Core/Common/CDUtils.cpp
  23. 10  Source/Core/Common/ChunkFile.h
  24. 2  Source/Core/Common/CommonFuncs.h
  25. 14  Source/Core/Common/ConsoleListener.cpp
  26. 2  Source/Core/Common/ConsoleListener.h
  27. 2  Source/Core/Common/Crypto/ec.cpp
  28. 24  Source/Core/Common/ExtendedTrace.cpp
  29. 8  Source/Core/Common/FifoQueue.h
  30. 38  Source/Core/Common/FileUtil.cpp
  31. 6  Source/Core/Common/FileUtil.h
  32. 6  Source/Core/Common/IniFile.cpp
  33. 2  Source/Core/Common/LinearDiskCache.h
  34. 4  Source/Core/Common/LogManager.cpp
  35. 4  Source/Core/Common/LogManager.h
  36. 12  Source/Core/Common/MemArena.cpp
  37. 16  Source/Core/Common/MemoryUtil.cpp
  38. 4  Source/Core/Common/Misc.cpp
  39. 4  Source/Core/Common/StdConditionVariable.h
  40. 10  Source/Core/Common/StdMutex.h
  41. 6  Source/Core/Common/StdThread.h
  42. 8  Source/Core/Common/StringUtil.cpp
  43. 12  Source/Core/Common/SymbolDB.cpp
  44. 6  Source/Core/Common/SymbolDB.h
  45. 6  Source/Core/Common/Timer.cpp
  46. 6  Source/Core/Common/x64Emitter.h
  47. 2  Source/Core/Core/ActionReplay.cpp
  48. 2  Source/Core/Core/ArmMemTools.cpp
  49. 4  Source/Core/Core/Boot/Boot.cpp
  50. 6  Source/Core/Core/Boot/Boot.h
  51. 8  Source/Core/Core/Boot/Boot_DOL.cpp
  52. 4  Source/Core/Core/Boot/Boot_WiiWAD.cpp
  53. 6  Source/Core/Core/Boot/ElfReader.cpp
  54. 4  Source/Core/Core/Boot/ElfReader.h
  55. 2  Source/Core/Core/ConfigManager.cpp
  56. 2  Source/Core/Core/Core.cpp
  57. 8  Source/Core/Core/CoreParameter.cpp
  58. 6  Source/Core/Core/CoreTiming.cpp
  59. 50  Source/Core/Core/DSP/DSPAssembler.cpp
  60. 6  Source/Core/Core/DSP/DSPAssembler.h
  61. 4  Source/Core/Core/DSP/DSPCodeUtil.cpp
  62. 8  Source/Core/Core/DSP/DSPCore.cpp
  63. 6  Source/Core/Core/DSP/DSPDisassembler.cpp
  64. 10  Source/Core/Core/DSP/DSPEmitter.cpp
  65. 140  Source/Core/Core/DSP/DSPTables.cpp
  66. 2  Source/Core/Core/DSP/Jit/DSPJitBranch.cpp
  67. 16  Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp
  68. 4  Source/Core/Core/DSP/Jit/DSPJitUtil.cpp
  69. 6  Source/Core/Core/Debugger/Dump.cpp
  70. 48  Source/Core/Core/Debugger/PPCDebugInterface.h
  71. 18  Source/Core/Core/FifoPlayer/FifoDataFile.cpp
  72. 12  Source/Core/Core/FifoPlayer/FifoPlayer.cpp
  73. 2  Source/Core/Core/FifoPlayer/FifoRecordAnalyzer.cpp
  74. 8  Source/Core/Core/FifoPlayer/FifoRecorder.cpp
  75. 6  Source/Core/Core/HLE/HLE.cpp
  76. 2  Source/Core/Core/HW/BBA-TAP/TAP_Unix.cpp
  77. 16  Source/Core/Core/HW/BBA-TAP/TAP_Win32.cpp
  78. 8  Source/Core/Core/HW/CPU.cpp
  79. 2  Source/Core/Core/HW/CPU.h
  80. 6  Source/Core/Core/HW/DSP.cpp
  81. 20  Source/Core/Core/HW/DSPHLE/DSPHLE.cpp
  82. 4  Source/Core/Core/HW/DSPHLE/UCodes/UCode_AX.cpp
  83. 10  Source/Core/Core/HW/DSPHLE/UCodes/UCode_AXWii.cpp
  84. 2  Source/Core/Core/HW/DSPHLE/UCodes/UCodes.cpp
  85. 42  Source/Core/Core/HW/DSPLLE/DSPDebugInterface.h
  86. 4  Source/Core/Core/HW/DSPLLE/DSPLLE.cpp
  87. 36  Source/Core/Core/HW/DSPLLE/DSPLLE.h
  88. 2  Source/Core/Core/HW/DSPLLE/DSPSymbols.cpp
  89. 4  Source/Core/Core/HW/EXI.cpp
  90. 8  Source/Core/Core/HW/EXI_Channel.cpp
  91. 4  Source/Core/Core/HW/EXI_Device.cpp
  92. 2  Source/Core/Core/HW/EXI_Device.h
  93. 2  Source/Core/Core/HW/EXI_DeviceIPL.cpp
  94. 8  Source/Core/Core/HW/EXI_DeviceIPL.h
  95. 8  Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp
  96. 8  Source/Core/Core/HW/EXI_DeviceMic.h
  97. 6  Source/Core/Core/HW/GCMemcard.cpp
  98. 20  Source/Core/Core/HW/Memmap.cpp
  99. 2  Source/Core/Core/HW/SI.cpp
  100. 10  Source/Core/Core/HW/SI_DeviceGCController.h
  101. 8  Source/Core/Core/HW/SI_DeviceGCSteeringWheel.h
  102. 26  Source/Core/Core/HW/VideoInterface.cpp
  103. 8  Source/Core/Core/HW/WiimoteEmu/EmuSubroutines.cpp
  104. 2  Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp
  105. 6  Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h
  106. 2  Source/Core/Core/HW/WiimoteReal/IODummy.cpp
  107. 8  Source/Core/Core/HW/WiimoteReal/IONix.cpp
  108. 74  Source/Core/Core/HW/WiimoteReal/IOWin.cpp
  109. 18  Source/Core/Core/HW/WiimoteReal/IOdarwin.mm
  110. 14  Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp
  111. 2  Source/Core/Core/IPC_HLE/ICMPWin.cpp
  112. 56  Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp
  113. 8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
  114. 16  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.cpp
  115. 10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.h
  116. 14  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_FileIO.h
  117. 10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.cpp
  118. 8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.h
  119. 2  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.cpp
  120. 12  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.h
  121. 28  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.cpp
  122. 10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.h
  123. 38  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp
  124. 34  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.h
  125. 139  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
  126. 8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h
  127. 2  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp
  128. 10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.h
  129. 12  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.h
  130. 34  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.cpp
  131. 12  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.h
  132. 8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp
  133. 10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h
  134. 4  Source/Core/Core/IPC_HLE/WII_IPC_HLE_WiiMote.cpp
  135. 12  Source/Core/Core/IPC_HLE/WII_Socket.cpp
  136. 2  Source/Core/Core/IPC_HLE/WiiMote_HID_Attr.cpp
  137. 12  Source/Core/Core/IPC_HLE/fakepoll.h
  138. 28  Source/Core/Core/Movie.cpp
  139. 30  Source/Core/Core/NetPlayClient.cpp
  140. 64  Source/Core/Core/NetPlayServer.cpp
  141. 24  Source/Core/Core/PowerPC/GDBStub.cpp
  142. 2  Source/Core/Core/PowerPC/Interpreter/Interpreter_SystemRegisters.cpp
  143. 10  Source/Core/Core/PowerPC/Interpreter/Interpreter_Tables.cpp
  144. 2  Source/Core/Core/PowerPC/Jit64/JitRegCache.cpp
  145. 26  Source/Core/Core/PowerPC/Jit64IL/IR_X86.cpp
  146. 4  Source/Core/Core/PowerPC/Jit64IL/JitIL.cpp
  147. 2  Source/Core/Core/PowerPC/Jit64IL/JitIL.h
  148. 2  Source/Core/Core/PowerPC/JitArmIL/JitIL.h
  149. 8  Source/Core/Core/PowerPC/JitCommon/JitBackpatch.cpp
  150. 22  Source/Core/Core/PowerPC/JitCommon/JitCache.cpp
  151. 4  Source/Core/Core/PowerPC/JitCommon/JitCache.h
  152. 32  Source/Core/Core/PowerPC/JitILCommon/IR.cpp
  153. 20  Source/Core/Core/PowerPC/JitILCommon/IR.h
  154. 2  Source/Core/Core/PowerPC/JitILCommon/JitILBase_Branch.cpp
  155. 2  Source/Core/Core/PowerPC/JitILCommon/JitILBase_Integer.cpp
  156. 2  Source/Core/Core/PowerPC/JitILCommon/JitILBase_LoadStore.cpp
  157. 8  Source/Core/Core/PowerPC/JitInterface.cpp
  158. 12  Source/Core/Core/PowerPC/PPCSymbolDB.cpp
  159. 12  Source/Core/Core/PowerPC/PPCTables.cpp
  160. 2  Source/Core/Core/PowerPC/PowerPC.cpp
  161. 8  Source/Core/Core/State.cpp
  162. 18  Source/Core/Core/VolumeHandler.cpp
  163. 12  Source/Core/Core/ec_wii.cpp
  164. 6  Source/Core/Core/x64MemTools.cpp
  165. 2  Source/Core/DiscIO/BannerLoader.cpp
  166. 4  Source/Core/DiscIO/BannerLoaderGC.cpp
  167. 10  Source/Core/DiscIO/BannerLoaderGC.h
  168. 6  Source/Core/DiscIO/BannerLoaderWii.cpp
  169. 10  Source/Core/DiscIO/BannerLoaderWii.h
  170. 8  Source/Core/DiscIO/Blob.cpp
  171. 6  Source/Core/DiscIO/Blob.h
  172. 2  Source/Core/DiscIO/CISOBlob.cpp
  173. 6  Source/Core/DiscIO/CISOBlob.h
  174. 2  Source/Core/DiscIO/CompressedBlob.cpp
  175. 6  Source/Core/DiscIO/CompressedBlob.h
  176. 8  Source/Core/DiscIO/DiscScrubber.cpp
  177. 18  Source/Core/DiscIO/DriveBlob.cpp
  178. 10  Source/Core/DiscIO/DriveBlob.h
  179. 2  Source/Core/DiscIO/FileBlob.cpp
  180. 6  Source/Core/DiscIO/FileBlob.h
  181. 24  Source/Core/DiscIO/FileHandlerARC.cpp
  182. 22  Source/Core/DiscIO/FileMonitor.cpp
  183. 14  Source/Core/DiscIO/FileSystemGCWii.cpp
  184. 20  Source/Core/DiscIO/FileSystemGCWii.h
  185. 4  Source/Core/DiscIO/Filesystem.cpp
  186. 18  Source/Core/DiscIO/NANDContentLoader.cpp
  187. 22  Source/Core/DiscIO/VolumeCreator.cpp
  188. 18  Source/Core/DiscIO/VolumeDirectory.cpp
  189. 20  Source/Core/DiscIO/VolumeDirectory.h
  190. 14  Source/Core/DiscIO/VolumeGC.cpp
  191. 26  Source/Core/DiscIO/VolumeGC.h
  192. 2  Source/Core/DiscIO/VolumeWad.cpp
  193. 22  Source/Core/DiscIO/VolumeWad.h
  194. 20  Source/Core/DiscIO/VolumeWiiCrypted.cpp
  195. 30  Source/Core/DiscIO/VolumeWiiCrypted.h
  196. 4  Source/Core/DiscIO/WbfsBlob.cpp
  197. 6  Source/Core/DiscIO/WbfsBlob.h
  198. 8  Source/Core/DiscIO/WiiWad.cpp
  199. 4  Source/Core/DolphinWX/ARCodeAddEdit.cpp
  200. 49  Source/Core/DolphinWX/CheatsWindow.cpp
  201. 2  Source/Core/DolphinWX/ConfigMain.cpp
  202. 2  Source/Core/DolphinWX/Debugger/BreakpointView.h
  203. 4  Source/Core/DolphinWX/Debugger/CodeView.cpp
  204. 20  Source/Core/DolphinWX/Debugger/CodeWindow.cpp
  205. 2  Source/Core/DolphinWX/Debugger/CodeWindow.h
  206. 20  Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp
  207. 10  Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp
  208. 2  Source/Core/DolphinWX/Debugger/DSPDebugWindow.h
  209. 14  Source/Core/DolphinWX/Debugger/DSPRegisterView.h
  210. 6  Source/Core/DolphinWX/Debugger/DebuggerPanel.cpp
  211. 4  Source/Core/DolphinWX/Debugger/DebuggerPanel.h
  212. 4  Source/Core/DolphinWX/Debugger/JitWindow.h
  213. 4  Source/Core/DolphinWX/Debugger/MemoryView.cpp
  214. 10  Source/Core/DolphinWX/Debugger/MemoryWindow.cpp
  215. 2  Source/Core/DolphinWX/Debugger/MemoryWindow.h
  216. 14  Source/Core/DolphinWX/Debugger/RegisterView.h
  217. 4  Source/Core/DolphinWX/Debugger/RegisterWindow.cpp
  218. 8  Source/Core/DolphinWX/FifoPlayerDlg.cpp
  219. 26  Source/Core/DolphinWX/Frame.cpp
  220. 4  Source/Core/DolphinWX/Frame.h
  221. 8  Source/Core/DolphinWX/FrameAui.cpp
  222. 16  Source/Core/DolphinWX/FrameTools.cpp
  223. 8  Source/Core/DolphinWX/GLInterface/EGL.cpp
  224. 18  Source/Core/DolphinWX/GLInterface/GLX.cpp
  225. 16  Source/Core/DolphinWX/GLInterface/GLX.h
  226. 2  Source/Core/DolphinWX/GLInterface/InterfaceBase.h
  227. 4  Source/Core/DolphinWX/GLInterface/Platform.cpp
  228. 22  Source/Core/DolphinWX/GLInterface/WGL.cpp
  229. 32  Source/Core/DolphinWX/GLInterface/Wayland_Util.cpp
  230. 8  Source/Core/DolphinWX/GLInterface/X11_Util.cpp
  231. 22  Source/Core/DolphinWX/GameListCtrl.cpp
  232. 2  Source/Core/DolphinWX/GameListCtrl.h
  233. 2  Source/Core/DolphinWX/Globals.h
  234. 6  Source/Core/DolphinWX/HotkeyDlg.cpp
  235. 10  Source/Core/DolphinWX/ISOFile.cpp
  236. 24  Source/Core/DolphinWX/ISOProperties.cpp
  237. 10  Source/Core/DolphinWX/InputConfigDiag.cpp
  238. 18  Source/Core/DolphinWX/InputConfigDiag.h
  239. 133  Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp
  240. 2  Source/Core/DolphinWX/LogConfigWindow.cpp
  241. 2  Source/Core/DolphinWX/LogWindow.cpp
  242. 2  Source/Core/DolphinWX/LogWindow.h
  243. 16  Source/Core/DolphinWX/Main.cpp
  244. 8  Source/Core/DolphinWX/Main.h
  245. 36  Source/Core/DolphinWX/MainAndroid.cpp
  246. 14  Source/Core/DolphinWX/MainNoGUI.cpp
  247. 14  Source/Core/DolphinWX/MemcardManager.cpp
  248. 18  Source/Core/DolphinWX/NetWindow.cpp
  249. 16  Source/Core/DolphinWX/NetWindow.h
  250. 2  Source/Core/DolphinWX/TASInputDlg.cpp
  251. 4  Source/Core/DolphinWX/VideoConfigDiag.cpp
  252. 4  Source/Core/DolphinWX/VideoConfigDiag.h
  253. 12  Source/Core/DolphinWX/X11Utils.cpp
  254. 10  Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
  255. 12  Source/Core/InputCommon/ControllerInterface/ControllerInterface.h
  256. 2  Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp
  257. 46  Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp
  258. 12  Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp
  259. 8  Source/Core/InputCommon/ControllerInterface/Device.cpp
  260. 12  Source/Core/InputCommon/ControllerInterface/Device.h
  261. 6  Source/Core/InputCommon/ControllerInterface/ExpressionParser.cpp
  262. 2  Source/Core/InputCommon/ControllerInterface/ExpressionParser.h
  263. 4  Source/Core/InputCommon/ControllerInterface/ForceFeedback/ForceFeedbackDevice.cpp
  264. 2  Source/Core/InputCommon/ControllerInterface/ForceFeedback/ForceFeedbackDevice.h
  265. 4  Source/Core/InputCommon/ControllerInterface/ForceFeedback/OSX/DirectInputAdapter.h
  266. 12  Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm
  267. 4  Source/Core/InputCommon/ControllerInterface/OSX/OSXJoystick.mm
  268. 6  Source/Core/InputCommon/ControllerInterface/OSX/OSXKeyboard.mm
  269. 16  Source/Core/InputCommon/ControllerInterface/SDL/SDL.h
  270. 6  Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
  271. 30  Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.h
  272. 4  Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
  273. 24  Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.h
  274. 8  Source/Core/InputCommon/UDPWiimote.cpp
  275. 6  Source/Core/InputCommon/UDPWrapper.cpp
  276. 4  Source/Core/InputCommon/UDPWrapper.h
  277. 74  Source/Core/VideoBackends/D3D/D3DBase.cpp
  278. 6  Source/Core/VideoBackends/D3D/D3DBase.h
  279. 2  Source/Core/VideoBackends/D3D/D3DBlob.cpp
  280. 2  Source/Core/VideoBackends/D3D/D3DBlob.h
  281. 48  Source/Core/VideoBackends/D3D/D3DShader.cpp
  282. 8  Source/Core/VideoBackends/D3D/D3DShader.h
  283. 8  Source/Core/VideoBackends/D3D/D3DTexture.cpp
  284. 64  Source/Core/VideoBackends/D3D/D3DUtil.cpp
  285. 28  Source/Core/VideoBackends/D3D/FramebufferManager.cpp
  286. 6  Source/Core/VideoBackends/D3D/GfxState.cpp
  287. 10  Source/Core/VideoBackends/D3D/LineGeometryShader.cpp
  288. 2  Source/Core/VideoBackends/D3D/NativeVertexFormat.cpp
  289. 80  Source/Core/VideoBackends/D3D/PSTextureEncoder.cpp
  290. 42  Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
  291. 2  Source/Core/VideoBackends/D3D/PixelShaderCache.h
  292. 10  Source/Core/VideoBackends/D3D/PointGeometryShader.cpp
  293. 36  Source/Core/VideoBackends/D3D/Render.cpp
  294. 4  Source/Core/VideoBackends/D3D/Television.cpp
  295. 14  Source/Core/VideoBackends/D3D/TextureCache.cpp
  296. 12  Source/Core/VideoBackends/D3D/VertexManager.cpp
  297. 30  Source/Core/VideoBackends/D3D/VertexShaderCache.cpp
  298. 2  Source/Core/VideoBackends/D3D/VertexShaderCache.h
  299. 34  Source/Core/VideoBackends/D3D/XFBEncoder.cpp
  300. 6  Source/Core/VideoBackends/D3D/main.cpp
  301. 12  Source/Core/VideoBackends/OGL/FramebufferManager.cpp
  302. 14  Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.cpp
  303. 4  Source/Core/VideoBackends/OGL/GLUtil.cpp
  304. 4  Source/Core/VideoBackends/OGL/NativeVertexFormat.cpp
  305. 2  Source/Core/VideoBackends/OGL/PerfQuery.h
  306. 4  Source/Core/VideoBackends/OGL/PostProcessing.cpp
  307. 34  Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
  308. 4  Source/Core/VideoBackends/OGL/RasterFont.cpp
  309. 20  Source/Core/VideoBackends/OGL/Render.cpp
  310. 2  Source/Core/VideoBackends/OGL/Render.h
  311. 36  Source/Core/VideoBackends/OGL/StreamBuffer.cpp
  312. 2  Source/Core/VideoBackends/OGL/TextureCache.cpp
  313. 2  Source/Core/VideoBackends/OGL/TextureCache.h
  314. 6  Source/Core/VideoBackends/OGL/TextureConverter.cpp
  315. 6  Source/Core/VideoBackends/OGL/VertexManager.cpp
  316. 2  Source/Core/VideoBackends/OGL/VertexManager.h
  317. 10  Source/Core/VideoBackends/OGL/main.cpp
  318. 2  Source/Core/VideoBackends/Software/BPMemLoader.cpp
  319. 2  Source/Core/VideoBackends/Software/DebugUtil.cpp
  320. 2  Source/Core/VideoBackends/Software/OpcodeDecoder.cpp
  321. 12  Source/Core/VideoBackends/Software/Rasterizer.cpp
  322. 2  Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
  323. 4  Source/Core/VideoBackends/Software/SWRenderer.cpp
  324. 10  Source/Core/VideoBackends/Software/SWVertexLoader.cpp
  325. 2  Source/Core/VideoBackends/Software/SWmain.cpp
  326. 24  Source/Core/VideoBackends/Software/Tev.cpp
  327. 2  Source/Core/VideoBackends/Software/TextureSampler.cpp
  328. 46  Source/Core/VideoCommon/AVIDump.cpp
  329. 2  Source/Core/VideoCommon/BPStructs.cpp
  330. 12  Source/Core/VideoCommon/Debugger.cpp
  331. 18  Source/Core/VideoCommon/EmuWindow.cpp
  332. 2  Source/Core/VideoCommon/Fifo.cpp
  333. 18  Source/Core/VideoCommon/FramebufferManagerBase.cpp
  334. 2  Source/Core/VideoCommon/FramebufferManagerBase.h
  335. 4  Source/Core/VideoCommon/HiresTextures.cpp
  336. 16  Source/Core/VideoCommon/ImageWrite.cpp
  337. 2  Source/Core/VideoCommon/IndexGenerator.cpp
  338. 4  Source/Core/VideoCommon/OpcodeDecoding.cpp
  339. 2  Source/Core/VideoCommon/PerfQueryBase.cpp
  340. 8  Source/Core/VideoCommon/PixelShaderGen.cpp
  341. 2  Source/Core/VideoCommon/RenderBase.cpp
  342. 8  Source/Core/VideoCommon/ShaderGenCommon.h
  343. 30  Source/Core/VideoCommon/TextureCacheBase.cpp
  344. 2  Source/Core/VideoCommon/TextureConversionShader.cpp
  345. 8  Source/Core/VideoCommon/VertexLoader.cpp
  346. 2  Source/Core/VideoCommon/VertexLoaderManager.cpp
  347. 10  Source/Core/VideoCommon/VertexLoader_Position.cpp
  348. 10  Source/Core/VideoCommon/VertexLoader_TextCoord.cpp
  349. 6  Source/Core/VideoCommon/VertexShaderGen.cpp
  350. 8  Source/Core/VideoCommon/VideoBackendBase.cpp
  351. 40  Source/Core/VideoCommon/VideoBackendBase.h
  352. 4  Source/DSPSpy/main_spy.cpp
  353. 2  Source/DSPSpy/real_dsp.cpp
  354. 4  Source/UnitTests/Core/MMIOTest.cpp
  355. 2  docs/DSP/DSP_InterC/DSP_InterC/DSP_InterC.cpp
4  Source/Core/AudioCommon/AOSoundStream.cpp
@@ -22,7 +22,7 @@ void AOSound::SoundLoop()
22 22
 	format.rate = m_mixer->GetSampleRate();
23 23
 	format.byte_format = AO_FMT_LITTLE;
24 24
 
25  
-	device = ao_open_live(default_driver, &format, NULL /* no options */);
  25
+	device = ao_open_live(default_driver, &format, nullptr /* no options */);
26 26
 	if (!device)
27 27
 	{
28 28
 		PanicAlertT("AudioCommon: Error opening AO device.\n");
@@ -73,7 +73,7 @@ void AOSound::Stop()
73 73
 
74 74
 	ao_shutdown();
75 75
 
76  
-	device = NULL;
  76
+	device = nullptr;
77 77
 	}
78 78
 }
79 79
 
8  Source/Core/AudioCommon/AOSoundStream.h
@@ -31,11 +31,11 @@ class AOSound : public SoundStream
31 31
 
32 32
 	virtual ~AOSound();
33 33
 
34  
-	virtual bool Start();
  34
+	virtual bool Start() override;
35 35
 
36  
-	virtual void SoundLoop();
  36
+	virtual void SoundLoop() override;
37 37
 
38  
-	virtual void Stop();
  38
+	virtual void Stop() override;
39 39
 
40 40
 	static bool isValid() {
41 41
 		return true;
@@ -45,7 +45,7 @@ class AOSound : public SoundStream
45 45
 		return true;
46 46
 	}
47 47
 
48  
-	virtual void Update();
  48
+	virtual void Update() override;
49 49
 
50 50
 #else
51 51
 public:
6  Source/Core/AudioCommon/AlsaSoundStream.cpp
@@ -12,7 +12,7 @@
12 12
 #define BUFFER_SIZE_MAX 8192
13 13
 #define BUFFER_SIZE_BYTES (BUFFER_SIZE_MAX*2*2)
14 14
 
15  
-AlsaSound::AlsaSound(CMixer *mixer) : SoundStream(mixer), thread_data(0), handle(NULL), frames_to_deliver(FRAME_COUNT_MIN)
  15
+AlsaSound::AlsaSound(CMixer *mixer) : SoundStream(mixer), thread_data(0), handle(nullptr), frames_to_deliver(FRAME_COUNT_MIN)
16 16
 {
17 17
 	mix_buffer = new u8[BUFFER_SIZE_BYTES];
18 18
 }
@@ -204,11 +204,11 @@ bool AlsaSound::AlsaInit()
204 204
 
205 205
 void AlsaSound::AlsaShutdown()
206 206
 {
207  
-	if (handle != NULL)
  207
+	if (handle != nullptr)
208 208
 	{
209 209
 		snd_pcm_drop(handle);
210 210
 		snd_pcm_close(handle);
211  
-		handle = NULL;
  211
+		handle = nullptr;
212 212
 	}
213 213
 }
214 214
 
8  Source/Core/AudioCommon/AlsaSoundStream.h
@@ -19,9 +19,9 @@ class AlsaSound : public SoundStream
19 19
 	AlsaSound(CMixer *mixer);
20 20
 	virtual ~AlsaSound();
21 21
 
22  
-	virtual bool Start();
23  
-	virtual void SoundLoop();
24  
-	virtual void Stop();
  22
+	virtual bool Start() override;
  23
+	virtual void SoundLoop() override;
  24
+	virtual void Stop() override;
25 25
 
26 26
 	static bool isValid() {
27 27
 		return true;
@@ -30,7 +30,7 @@ class AlsaSound : public SoundStream
30 30
 		return true;
31 31
 	}
32 32
 
33  
-	virtual void Update();
  33
+	virtual void Update() override;
34 34
 
35 35
 private:
36 36
 	bool AlsaInit();
4  Source/Core/AudioCommon/CoreAudioSoundStream.cpp
@@ -40,8 +40,8 @@ bool CoreAudioSound::Start()
40 40
 	desc.componentFlags = 0;
41 41
 	desc.componentFlagsMask = 0;
42 42
 	desc.componentManufacturer = kAudioUnitManufacturer_Apple;
43  
-	component = FindNextComponent(NULL, &desc);
44  
-	if (component == NULL) {
  43
+	component = FindNextComponent(nullptr, &desc);
  44
+	if (component == nullptr) {
45 45
 		ERROR_LOG(AUDIO, "error finding audio component");
46 46
 		return false;
47 47
 	}
6  Source/Core/AudioCommon/DPL2Decoder.cpp
@@ -123,7 +123,7 @@ float* design_fir(unsigned int *n, float* fc, float opt)
123 123
 	float fc1;                               // Cutoff frequencies
124 124
 
125 125
 	// Sanity check
126  
-	if(*n==0) return NULL;
  126
+	if(*n==0) return nullptr;
127 127
 	MathUtil::Clamp(&fc[0],float(0.001),float(1));
128 128
 
129 129
 	float *w=(float*)calloc(sizeof(float),*n);
@@ -188,7 +188,7 @@ void done(void)
188 188
 	{
189 189
 		free(filter_coefs_lfe);
190 190
 	}
191  
-	filter_coefs_lfe = NULL;
  191
+	filter_coefs_lfe = nullptr;
192 192
 }
193 193
 
194 194
 float* calc_coefficients_125Hz_lowpass(int rate)
@@ -378,5 +378,5 @@ void dpl2reset()
378 378
 {
379 379
 	olddelay = -1;
380 380
 	oldfreq = 0;
381  
-	filter_coefs_lfe = NULL;
  381
+	filter_coefs_lfe = nullptr;
382 382
 }
8  Source/Core/AudioCommon/DSoundStream.cpp
@@ -32,7 +32,7 @@ bool DSound::CreateBuffer()
32 32
 	dsbdesc.lpwfxFormat = (WAVEFORMATEX *)&pcmwf;
33 33
 	dsbdesc.guid3DAlgorithm = DS3DALG_DEFAULT;
34 34
 
35  
-	HRESULT res = ds->CreateSoundBuffer(&dsbdesc, &dsBuffer, NULL);
  35
+	HRESULT res = ds->CreateSoundBuffer(&dsbdesc, &dsBuffer, nullptr);
36 36
 	if (SUCCEEDED(res))
37 37
 	{
38 38
 		dsBuffer->SetCurrentPosition(0);
@@ -43,7 +43,7 @@ bool DSound::CreateBuffer()
43 43
 	{
44 44
 		// Failed.
45 45
 		PanicAlertT("Sound buffer creation failed: %08x", res);
46  
-		dsBuffer = NULL;
  46
+		dsBuffer = nullptr;
47 47
 		return false;
48 48
 	}
49 49
 }
@@ -130,7 +130,7 @@ void DSound::SetVolume(int volume)
130 130
 	// This is in "dBA attenuation" from 0 to -10000, logarithmic
131 131
 	m_volume = (int)floor(log10((float)volume) * 5000.0f) - 10000;
132 132
 
133  
-	if (dsBuffer != NULL)
  133
+	if (dsBuffer != nullptr)
134 134
 		dsBuffer->SetVolume(m_volume);
135 135
 }
136 136
 
@@ -143,7 +143,7 @@ void DSound::Clear(bool mute)
143 143
 {
144 144
 	m_muted = mute;
145 145
 
146  
-	if (dsBuffer != NULL)
  146
+	if (dsBuffer != nullptr)
147 147
 	{
148 148
 		if (m_muted)
149 149
 		{
12  Source/Core/AudioCommon/NullSoundStream.h
@@ -21,12 +21,12 @@ class NullSound : public SoundStream
21 21
 
22 22
 	virtual ~NullSound() {}
23 23
 
24  
-	virtual bool Start();
25  
-	virtual void SoundLoop();
26  
-	virtual void SetVolume(int volume);
27  
-	virtual void Stop();
28  
-	virtual void Clear(bool mute);
  24
+	virtual bool Start() override;
  25
+	virtual void SoundLoop() override;
  26
+	virtual void SetVolume(int volume) override;
  27
+	virtual void Stop() override;
  28
+	virtual void Clear(bool mute) override;
29 29
 	static bool isValid() { return true; }
30 30
 	virtual bool usesMixer() const { return true; }
31  
-	virtual void Update();
  31
+	virtual void Update() override;
32 32
 };
11  Source/Core/AudioCommon/OpenALStream.cpp
@@ -17,17 +17,17 @@ bool OpenALStream::Start()
17 17
 {
18 18
 	bool bReturn = false;
19 19
 
20  
-	ALDeviceList *pDeviceList = new ALDeviceList();
21  
-	if ((pDeviceList) && (pDeviceList->GetNumDevices()))
  20
+	ALDeviceList pDeviceList;
  21
+	if (pDeviceList.GetNumDevices())
22 22
 	{
23  
-		char *defDevName = pDeviceList->GetDeviceName(pDeviceList->GetDefaultDevice());
  23
+		char *defDevName = pDeviceList.GetDeviceName(pDeviceList.GetDefaultDevice());
24 24
 
25 25
 		WARN_LOG(AUDIO, "Found OpenAL device %s", defDevName);
26 26
 
27 27
 		ALCdevice *pDevice = alcOpenDevice(defDevName);
28 28
 		if (pDevice)
29 29
 		{
30  
-			ALCcontext *pContext = alcCreateContext(pDevice, NULL);
  30
+			ALCcontext *pContext = alcCreateContext(pDevice, nullptr);
31 31
 			if (pContext)
32 32
 			{
33 33
 				// Used to determine an appropriate period size (2x period = total buffer size)
@@ -49,7 +49,6 @@ bool OpenALStream::Start()
49 49
 		{
50 50
 			PanicAlertT("OpenAL: can't open device %s", defDevName);
51 51
 		}
52  
-		delete pDeviceList;
53 52
 	}
54 53
 	else
55 54
 	{
@@ -84,7 +83,7 @@ void OpenALStream::Stop()
84 83
 	ALCcontext *pContext = alcGetCurrentContext();
85 84
 	ALCdevice *pDevice = alcGetContextsDevice(pContext);
86 85
 
87  
-	alcMakeContextCurrent(NULL);
  86
+	alcMakeContextCurrent(nullptr);
88 87
 	alcDestroyContext(pContext);
89 88
 	alcCloseDevice(pDevice);
90 89
 }
14  Source/Core/AudioCommon/OpenALStream.h
@@ -44,21 +44,21 @@ class OpenALStream: public SoundStream
44 44
 {
45 45
 #if defined HAVE_OPENAL && HAVE_OPENAL
46 46
 public:
47  
-	OpenALStream(CMixer *mixer, void *hWnd = NULL)
  47
+	OpenALStream(CMixer *mixer, void *hWnd = nullptr)
48 48
 		: SoundStream(mixer)
49 49
 		, uiSource(0)
50 50
 	{}
51 51
 
52 52
 	virtual ~OpenALStream() {}
53 53
 
54  
-	virtual bool Start();
55  
-	virtual void SoundLoop();
56  
-	virtual void SetVolume(int volume);
57  
-	virtual void Stop();
58  
-	virtual void Clear(bool mute);
  54
+	virtual bool Start() override;
  55
+	virtual void SoundLoop() override;
  56
+	virtual void SetVolume(int volume) override;
  57
+	virtual void Stop() override;
  58
+	virtual void Clear(bool mute) override;
59 59
 	static bool isValid() { return true; }
60 60
 	virtual bool usesMixer() const { return true; }
61  
-	virtual void Update();
  61
+	virtual void Update() override;
62 62
 
63 63
 private:
64 64
 	std::thread thread;
32  Source/Core/AudioCommon/OpenSLESStream.cpp
@@ -17,7 +17,7 @@
17 17
 static SLObjectItf outputMixObject;
18 18
 
19 19
 // buffer queue player interfaces
20  
-static SLObjectItf bqPlayerObject = NULL;
  20
+static SLObjectItf bqPlayerObject = nullptr;
21 21
 static SLPlayItf bqPlayerPlay;
22 22
 static SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue;
23 23
 static SLMuteSoloItf bqPlayerMuteSolo;
@@ -32,7 +32,7 @@
32 32
 
33 33
 static void bqPlayerCallback(SLAndroidSimpleBufferQueueItf bq, void *context) {
34 34
 	assert(bq == bqPlayerBufferQueue);
35  
-	assert(NULL == context);
  35
+	assert(nullptr == context);
36 36
 
37 37
 	short *nextBuffer = buffer[curBuffer];
38 38
 	int nextSize = sizeof(buffer[0]);
@@ -53,7 +53,7 @@ bool OpenSLESStream::Start()
53 53
 {
54 54
 	SLresult result;
55 55
 	// create engine
56  
-	result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);
  56
+	result = slCreateEngine(&engineObject, 0, nullptr, 0, nullptr, nullptr);
57 57
 	assert(SL_RESULT_SUCCESS == result);
58 58
 	result = (*engineObject)->Realize(engineObject, SL_BOOLEAN_FALSE);
59 59
 	assert(SL_RESULT_SUCCESS == result);
@@ -79,7 +79,7 @@ bool OpenSLESStream::Start()
79 79
 
80 80
 	// configure audio sink
81 81
 	SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, outputMixObject};
82  
-	SLDataSink audioSnk = {&loc_outmix, NULL};
  82
+	SLDataSink audioSnk = {&loc_outmix, nullptr};
83 83
 
84 84
 	// create audio player
85 85
 	const SLInterfaceID ids[2] = {SL_IID_BUFFERQUEUE, SL_IID_VOLUME};
@@ -94,7 +94,7 @@ bool OpenSLESStream::Start()
94 94
 	result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_BUFFERQUEUE,
95 95
 		&bqPlayerBufferQueue);
96 96
 	assert(SL_RESULT_SUCCESS == result);
97  
-	result = (*bqPlayerBufferQueue)->RegisterCallback(bqPlayerBufferQueue, bqPlayerCallback, NULL);
  97
+	result = (*bqPlayerBufferQueue)->RegisterCallback(bqPlayerBufferQueue, bqPlayerCallback, nullptr);
98 98
 	assert(SL_RESULT_SUCCESS == result);
99 99
 	result = (*bqPlayerPlay)->SetPlayState(bqPlayerPlay, SL_PLAYSTATE_PLAYING);
100 100
 	assert(SL_RESULT_SUCCESS == result);
@@ -113,22 +113,22 @@ bool OpenSLESStream::Start()
113 113
 
114 114
 void OpenSLESStream::Stop()
115 115
 {
116  
-	if (bqPlayerObject != NULL) {
  116
+	if (bqPlayerObject != nullptr) {
117 117
 		(*bqPlayerObject)->Destroy(bqPlayerObject);
118  
-		bqPlayerObject = NULL;
119  
-		bqPlayerPlay = NULL;
120  
-		bqPlayerBufferQueue = NULL;
121  
-		bqPlayerMuteSolo = NULL;
122  
-		bqPlayerVolume = NULL;
  118
+		bqPlayerObject = nullptr;
  119
+		bqPlayerPlay = nullptr;
  120
+		bqPlayerBufferQueue = nullptr;
  121
+		bqPlayerMuteSolo = nullptr;
  122
+		bqPlayerVolume = nullptr;
123 123
 	}
124  
-	if (outputMixObject != NULL) {
  124
+	if (outputMixObject != nullptr) {
125 125
 		(*outputMixObject)->Destroy(outputMixObject);
126  
-		outputMixObject = NULL;
  126
+		outputMixObject = nullptr;
127 127
 	}
128  
-	if (engineObject != NULL) {
  128
+	if (engineObject != nullptr) {
129 129
 		(*engineObject)->Destroy(engineObject);
130  
-		engineObject = NULL;
131  
-		engineEngine = NULL;
  130
+		engineObject = nullptr;
  131
+		engineEngine = nullptr;
132 132
 	}
133 133
 }
134 134
 #endif
4  Source/Core/AudioCommon/OpenSLESStream.h
@@ -11,7 +11,7 @@ class OpenSLESStream : public SoundStream
11 11
 {
12 12
 #ifdef ANDROID
13 13
 public:
14  
-	OpenSLESStream(CMixer *mixer, void *hWnd = NULL)
  14
+	OpenSLESStream(CMixer *mixer, void *hWnd = nullptr)
15 15
 		: SoundStream(mixer)
16 16
 	{};
17 17
 
@@ -27,6 +27,6 @@ class OpenSLESStream : public SoundStream
27 27
 	Common::Event soundSyncEvent;
28 28
 #else
29 29
 public:
30  
-	OpenSLESStream(CMixer *mixer, void *hWnd = NULL): SoundStream(mixer) {}
  30
+	OpenSLESStream(CMixer *mixer, void *hWnd = nullptr): SoundStream(mixer) {}
31 31
 #endif // HAVE_OPENSL
32 32
 };
14  Source/Core/AudioCommon/PulseAudioStream.cpp
@@ -47,7 +47,7 @@ void PulseAudio::SoundLoop()
47 47
 	if (PulseInit())
48 48
 	{
49 49
 		while (m_run_thread.load() && m_pa_connected == 1 && m_pa_error >= 0)
50  
-			m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, NULL);
  50
+			m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, nullptr);
51 51
 
52 52
 		if(m_pa_error < 0)
53 53
 			ERROR_LOG(AUDIO, "PulseAudio error: %s", pa_strerror(m_pa_error));
@@ -66,12 +66,12 @@ bool PulseAudio::PulseInit()
66 66
 	m_pa_ml = pa_mainloop_new();
67 67
 	m_pa_mlapi = pa_mainloop_get_api(m_pa_ml);
68 68
 	m_pa_ctx = pa_context_new(m_pa_mlapi, "dolphin-emu");
69  
-	m_pa_error = pa_context_connect(m_pa_ctx, NULL, PA_CONTEXT_NOFLAGS, NULL);
  69
+	m_pa_error = pa_context_connect(m_pa_ctx, nullptr, PA_CONTEXT_NOFLAGS, nullptr);
70 70
 	pa_context_set_state_callback(m_pa_ctx, StateCallback, this);
71 71
 
72 72
 	// wait until we're connected to the pulseaudio server
73 73
 	while (m_pa_connected == 0 && m_pa_error >= 0)
74  
-		m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, NULL);
  74
+		m_pa_error = pa_mainloop_iterate(m_pa_ml, 1, nullptr);
75 75
 
76 76
 	if (m_pa_connected == 2 || m_pa_error < 0)
77 77
 	{
@@ -85,7 +85,7 @@ bool PulseAudio::PulseInit()
85 85
 	ss.format = PA_SAMPLE_S16LE;
86 86
 	ss.channels = 2;
87 87
 	ss.rate = m_mixer->GetSampleRate();
88  
-	m_pa_s = pa_stream_new(m_pa_ctx, "Playback", &ss, NULL);
  88
+	m_pa_s = pa_stream_new(m_pa_ctx, "Playback", &ss, nullptr);
89 89
 	pa_stream_set_write_callback(m_pa_s, WriteCallback, this);
90 90
 	pa_stream_set_underflow_callback(m_pa_s, UnderflowCallback, this);
91 91
 
@@ -97,7 +97,7 @@ bool PulseAudio::PulseInit()
97 97
 	m_pa_ba.prebuf = -1;             // start as early as possible
98 98
 	m_pa_ba.tlength = BUFFER_SIZE;   // designed latency, only change this flag for low latency output
99 99
 	pa_stream_flags flags = pa_stream_flags(PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_ADJUST_LATENCY | PA_STREAM_AUTO_TIMING_UPDATE);
100  
-	m_pa_error = pa_stream_connect_playback(m_pa_s, NULL, &m_pa_ba, flags, NULL, NULL);
  100
+	m_pa_error = pa_stream_connect_playback(m_pa_s, nullptr, &m_pa_ba, flags, nullptr, nullptr);
101 101
 	if (m_pa_error < 0)
102 102
 	{
103 103
 		ERROR_LOG(AUDIO, "PulseAudio failed to initialize: %s", pa_strerror(m_pa_error));
@@ -135,7 +135,7 @@ void PulseAudio::StateCallback(pa_context* c)
135 135
 void PulseAudio::UnderflowCallback(pa_stream* s)
136 136
 {
137 137
 	m_pa_ba.tlength += BUFFER_SIZE;
138  
-	pa_stream_set_buffer_attr(s, &m_pa_ba, NULL, NULL);
  138
+	pa_stream_set_buffer_attr(s, &m_pa_ba, nullptr, nullptr);
139 139
 
140 140
 	WARN_LOG(AUDIO, "pulseaudio underflow, new latency: %d bytes", m_pa_ba.tlength);
141 141
 }
@@ -150,7 +150,7 @@ void PulseAudio::WriteCallback(pa_stream* s, size_t length)
150 150
 		return; // error will be printed from main loop
151 151
 
152 152
 	m_mixer->Mix((s16*) buffer, length / sizeof(s16) / CHANNEL_COUNT);
153  
-	m_pa_error = pa_stream_write(s, buffer, length, NULL, 0, PA_SEEK_RELATIVE);
  153
+	m_pa_error = pa_stream_write(s, buffer, length, nullptr, 0, PA_SEEK_RELATIVE);
154 154
 }
155 155
 
156 156
 // Callbacks that forward to internal methods (required because PulseAudio is a C API).
8  Source/Core/AudioCommon/PulseAudioStream.h
@@ -20,21 +20,21 @@ class PulseAudio : public SoundStream
20 20
 public:
21 21
 	PulseAudio(CMixer *mixer);
22 22
 
23  
-	virtual bool Start();
24  
-	virtual void Stop();
  23
+	virtual bool Start() override;
  24
+	virtual void Stop() override;
25 25
 
26 26
 	static bool isValid() {return true;}
27 27
 
28 28
 	virtual bool usesMixer() const {return true;}
29 29
 
30  
-	virtual void Update();
  30
+	virtual void Update() override;
31 31
 
32 32
 	void StateCallback(pa_context *c);
33 33
 	void WriteCallback(pa_stream *s, size_t length);
34 34
 	void UnderflowCallback(pa_stream *s);
35 35
 
36 36
 private:
37  
-	virtual void SoundLoop();
  37
+	virtual void SoundLoop() override;
38 38
 
39 39
 	bool PulseInit();
40 40
 	void PulseShutdown();
2  Source/Core/AudioCommon/WaveFile.cpp
@@ -11,7 +11,7 @@
11 11
 WaveFileWriter::WaveFileWriter():
12 12
 	skip_silence(false),
13 13
 	audio_size(0),
14  
-	conv_buffer(NULL)
  14
+	conv_buffer(nullptr)
15 15
 {
16 16
 }
17 17
 
2  Source/Core/AudioCommon/XAudio2Stream.cpp
@@ -158,7 +158,7 @@ bool XAudio2::InitLibrary()
158 158
 	: SoundStream(mixer)
159 159
 	, m_mastering_voice(nullptr)
160 160
 	, m_volume(1.0f)
161  
-	, m_cleanup_com(SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))
  161
+	, m_cleanup_com(SUCCEEDED(CoInitializeEx(nullptr, COINIT_MULTITHREADED)))
162 162
 {
163 163
 }
164 164
 
2  Source/Core/AudioCommon/XAudio2_7Stream.cpp
@@ -159,7 +159,7 @@ bool XAudio2_7::InitLibrary()
159 159
 	: SoundStream(mixer)
160 160
 	, m_mastering_voice(nullptr)
161 161
 	, m_volume(1.0f)
162  
-	, m_cleanup_com(SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))
  162
+	, m_cleanup_com(SUCCEEDED(CoInitializeEx(nullptr, COINIT_MULTITHREADED)))
163 163
 {
164 164
 }
165 165
 
20  Source/Core/AudioCommon/aldlist.cpp
@@ -50,13 +50,13 @@
50 50
 	defaultDeviceIndex = 0;
51 51
 
52 52
 	// grab function pointers for 1.0-API functions, and if successful proceed to enumerate all devices
53  
-	//if (LoadOAL10Library(NULL, &ALFunction) == TRUE) {
54  
-		if (alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT"))
  53
+	//if (LoadOAL10Library(nullptr, &ALFunction) == TRUE) {
  54
+		if (alcIsExtensionPresent(nullptr, "ALC_ENUMERATION_EXT"))
55 55
 		{
56  
-			const char *devices = alcGetString(NULL, ALC_DEVICE_SPECIFIER);
57  
-			const char *defaultDeviceName = alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
58  
-			// go through device list (each device terminated with a single NULL, list terminated with double NULL)
59  
-			for (s32 index = 0; devices != NULL && strlen(devices) > 0; index++, devices += strlen(devices) + 1)
  56
+			const char *devices = alcGetString(nullptr, ALC_DEVICE_SPECIFIER);
  57
+			const char *defaultDeviceName = alcGetString(nullptr, ALC_DEFAULT_DEVICE_SPECIFIER);
  58
+			// go through device list (each device terminated with a single nullptr, list terminated with double nullptr)
  59
+			for (s32 index = 0; devices != nullptr && strlen(devices) > 0; index++, devices += strlen(devices) + 1)
60 60
 			{
61 61
 				if (strcmp(defaultDeviceName, devices) == 0)
62 62
 				{
@@ -65,7 +65,7 @@
65 65
 				ALCdevice *device = alcOpenDevice(devices);
66 66
 				if (device)
67 67
 				{
68  
-					ALCcontext *context = alcCreateContext(device, NULL);
  68
+					ALCcontext *context = alcCreateContext(device, nullptr);
69 69
 					if (context)
70 70
 					{
71 71
 						alcMakeContextCurrent(context);
@@ -79,7 +79,7 @@
79 79
 								bNewName = false;
80 80
 							}
81 81
 						}
82  
-						if ((bNewName) && (actualDeviceName != NULL) && (strlen(actualDeviceName) > 0))
  82
+						if ((bNewName) && (actualDeviceName != nullptr) && (strlen(actualDeviceName) > 0))
83 83
 						{
84 84
 							ALDeviceInfo.bSelected = true;
85 85
 							ALDeviceInfo.strDeviceName = actualDeviceName;
@@ -120,7 +120,7 @@
120 120
 
121 121
 							vDeviceInfo.push_back(ALDeviceInfo);
122 122
 						}
123  
-						alcMakeContextCurrent(NULL);
  123
+						alcMakeContextCurrent(nullptr);
124 124
 						alcDestroyContext(context);
125 125
 					}
126 126
 					alcCloseDevice(device);
@@ -163,7 +163,7 @@ char * ALDeviceList::GetDeviceName(s32 index)
163 163
 	if (index < GetNumDevices())
164 164
 		return (char *)vDeviceInfo[index].strDeviceName.c_str();
165 165
 	else
166  
-		return NULL;
  166
+		return nullptr;
167 167
 }
168 168
 
169 169
 /*
10  Source/Core/Common/ArmCPUDetect.cpp
@@ -14,7 +14,7 @@
14 14
 char *GetCPUString()
15 15
 {
16 16
 	const char marker[] = "Hardware\t: ";
17  
-	char *cpu_string = 0;
  17
+	char *cpu_string = nullptr;
18 18
 	// Count the number of processor lines in /proc/cpuinfo
19 19
 	char buf[1024];
20 20
 
@@ -38,7 +38,7 @@ char *GetCPUString()
38 38
 unsigned char GetCPUImplementer()
39 39
 {
40 40
 	const char marker[] = "CPU implementer\t: ";
41  
-	char *implementer_string = 0;
  41
+	char *implementer_string = nullptr;
42 42
 	unsigned char implementer = 0;
43 43
 	char buf[1024];
44 44
 
@@ -65,7 +65,7 @@ unsigned char GetCPUImplementer()
65 65
 unsigned short GetCPUPart()
66 66
 {
67 67
 	const char marker[] = "CPU part\t: ";
68  
-	char *part_string = 0;
  68
+	char *part_string = nullptr;
69 69
 	unsigned short part = 0;
70 70
 	char buf[1024];
71 71
 
@@ -105,11 +105,11 @@ bool CheckCPUFeature(const char *feature)
105 105
 			continue;
106 106
 		char *featurestring = buf + sizeof(marker) - 1;
107 107
 		char *token = strtok(featurestring, " ");
108  
-		while (token != NULL)
  108
+		while (token != nullptr)
109 109
 		{
110 110
 			if (strstr(token, feature))
111 111
 				return true;
112  
-			token = strtok(NULL, " ");
  112
+			token = strtok(nullptr, " ");
113 113
 		}
114 114
 	}
115 115
 
4  Source/Core/Common/ArmEmitter.h
@@ -710,7 +710,7 @@ class ARMXCodeBlock : public ARMXEmitter
710 710
 	size_t region_size;
711 711
 
712 712
 public:
713  
-	ARMXCodeBlock() : region(NULL), region_size(0) {}
  713
+	ARMXCodeBlock() : region(nullptr), region_size(0) {}
714 714
 	virtual ~ARMXCodeBlock() { if (region) FreeCodeSpace(); }
715 715
 
716 716
 	// Call this before you generate any code.
@@ -735,7 +735,7 @@ class ARMXCodeBlock : public ARMXEmitter
735 735
 	{
736 736
 #ifndef __SYMBIAN32__
737 737
 		FreeMemoryPages(region, region_size);
738  
-		region = NULL;
  738
+		region = nullptr;
739 739
 #endif
740 740
 		region_size = 0;
741 741
 	}
4  Source/Core/Common/BreakPoints.cpp
@@ -152,7 +152,7 @@ void MemChecks::AddFromStrings(const TMemChecksStr& mcstrs)
152 152
 
153 153
 void MemChecks::Add(const TMemCheck& _rMemoryCheck)
154 154
 {
155  
-	if (GetMemCheck(_rMemoryCheck.StartAddress) == 0)
  155
+	if (GetMemCheck(_rMemoryCheck.StartAddress) == nullptr)
156 156
 		m_MemChecks.push_back(_rMemoryCheck);
157 157
 }
158 158
 
@@ -184,7 +184,7 @@ TMemCheck *MemChecks::GetMemCheck(u32 address)
184 184
 	}
185 185
 
186 186
 	// none found
187  
-	return 0;
  187
+	return nullptr;
188 188
 }
189 189
 
190 190
 void TMemCheck::Action(DebugInterface *debug_interface, u32 iValue, u32 addr, bool write, int size, u32 pc)
12  Source/Core/Common/CDUtils.cpp
@@ -41,7 +41,7 @@ bool is_cdrom(const TCHAR* drive)
41 41
 {
42 42
 	std::vector<std::string> drives;
43 43
 
44  
-	const DWORD buffsize = GetLogicalDriveStrings(0, NULL);
  44
+	const DWORD buffsize = GetLogicalDriveStrings(0, nullptr);
45 45
 	std::vector<TCHAR> buff(buffsize);
46 46
 	if (GetLogicalDriveStrings(buffsize, buff.data()) == buffsize - 1)
47 47
 	{
@@ -77,7 +77,7 @@ bool is_cdrom(const TCHAR* drive)
77 77
 		return( drives );
78 78
 
79 79
 	classes_to_match = IOServiceMatching( kIOCDMediaClass );
80  
-	if( classes_to_match == NULL )
  80
+	if( classes_to_match == nullptr )
81 81
 		return( drives );
82 82
 
83 83
 	CFDictionarySetValue( classes_to_match,
@@ -101,7 +101,7 @@ bool is_cdrom(const TCHAR* drive)
101 101
 				IORegistryEntryCreateCFProperty( next_media,
102 102
 					CFSTR( kIOBSDNameKey ), kCFAllocatorDefault,
103 103
 					0 );
104  
-			if( str_bsd_path == NULL )
  104
+			if( str_bsd_path == nullptr )
105 105
 			{
106 106
 				IOObjectRelease( next_media );
107 107
 				continue;
@@ -118,7 +118,7 @@ bool is_cdrom(const TCHAR* drive)
118 118
 				sizeof(psz_buf) - dev_path_length,
119 119
 				kCFStringEncodingASCII))
120 120
 			{
121  
-				if(psz_buf != NULL)
  121
+				if(psz_buf != nullptr)
122 122
 				{
123 123
 					std::string str = psz_buf;
124 124
 					drives.push_back(str);
@@ -151,7 +151,7 @@ bool is_cdrom(const TCHAR* drive)
151 151
 		{ "/dev/acd%d", 0, 27 },
152 152
 		{ "/dev/cd%d", 0, 27 },
153 153
 #endif
154  
-		{ NULL, 0, 0 }
  154
+		{ nullptr, 0, 0 }
155 155
 	};
156 156
 
157 157
 // Returns true if a device is a block or char device and not a symbolic link
@@ -196,7 +196,7 @@ static bool is_cdrom(const std::string& drive, char *mnttype)
196 196
 		for (unsigned int j = checklist[i].num_min; j <= checklist[i].num_max; ++j)
197 197
 		{
198 198
 			std::string drive = StringFromFormat(checklist[i].format, j);
199  
-			if (is_cdrom(drive, NULL))
  199
+			if (is_cdrom(drive, nullptr))
200 200
 			{
201 201
 				drives.push_back(std::move(drive));
202 202
 			}
10  Source/Core/Common/ChunkFile.h
@@ -206,7 +206,7 @@ class PointerWrap
206 206
 	void DoLinkedList(LinkedListItem<T>*& list_start, LinkedListItem<T>** list_end=0)
207 207
 	{
208 208
 		LinkedListItem<T>* list_cur = list_start;
209  
-		LinkedListItem<T>* prev = 0;
  209
+		LinkedListItem<T>* prev = nullptr;
210 210
 
211 211
 		while (true)
212 212
 		{
@@ -220,7 +220,7 @@ class PointerWrap
220 220
 				{
221 221
 					if (mode == MODE_READ)
222 222
 					{
223  
-						cur->next = 0;
  223
+						cur->next = nullptr;
224 224
 						list_cur = cur;
225 225
 						if (prev)
226 226
 							prev->next = cur;
@@ -239,13 +239,13 @@ class PointerWrap
239 239
 				if (mode == MODE_READ)
240 240
 				{
241 241
 					if (prev)
242  
-						prev->next = 0;
  242
+						prev->next = nullptr;
243 243
 					if (list_end)
244 244
 						*list_end = prev;
245 245
 					if (list_cur)
246 246
 					{
247 247
 						if (list_start == list_cur)
248  
-							list_start = 0;
  248
+							list_start = nullptr;
249 249
 						do
250 250
 						{
251 251
 							LinkedListItem<T>* next = list_cur->next;
@@ -393,7 +393,7 @@ class CChunkFileReader
393 393
 		}
394 394
 
395 395
 		// Get data
396  
-		u8 *ptr = 0;
  396
+		u8 *ptr = nullptr;
397 397
 		PointerWrap p(&ptr, PointerWrap::MODE_MEASURE);
398 398
 		_class.DoState(p);
399 399
 		size_t const sz = (size_t)ptr;
2  Source/Core/Common/CommonFuncs.h
@@ -127,7 +127,7 @@ inline u64 _rotr64(u64 x, unsigned int shift){
127 127
 			// Restore the global locale
128 128
 			_configthreadlocale(_DISABLE_PER_THREAD_LOCALE);
129 129
 		}
130  
-		else if(new_locale != NULL)
  130
+		else if(new_locale != nullptr)
131 131
 		{
132 132
 			// Configure the thread to set the locale only for this thread
133 133
 			_configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
14  Source/Core/Common/ConsoleListener.cpp
@@ -18,7 +18,7 @@
18 18
 ConsoleListener::ConsoleListener()
19 19
 {
20 20
 #ifdef _WIN32
21  
-	hConsole = NULL;
  21
+	hConsole = nullptr;
22 22
 	bUseColor = true;
23 23
 #else
24 24
 	bUseColor = isatty(fileno(stdout));
@@ -68,19 +68,19 @@ void ConsoleListener::UpdateHandle()
68 68
 void ConsoleListener::Close()
69 69
 {
70 70
 #ifdef _WIN32
71  
-	if (hConsole == NULL)
  71
+	if (hConsole == nullptr)
72 72
 		return;
73 73
 	FreeConsole();
74  
-	hConsole = NULL;
  74
+	hConsole = nullptr;
75 75
 #else
76  
-	fflush(NULL);
  76
+	fflush(nullptr);
77 77
 #endif
78 78
 }
79 79
 
80 80
 bool ConsoleListener::IsOpen()
81 81
 {
82 82
 #ifdef _WIN32
83  
-	return (hConsole != NULL);
  83
+	return (hConsole != nullptr);
84 84
 #else
85 85
 	return true;
86 86
 #endif
@@ -280,11 +280,11 @@ void ConsoleListener::Log(LogTypes::LOG_LEVELS Level, const char *Text)
280 280
 	{
281 281
 		// First 10 chars white
282 282
 		SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
283  
-		WriteConsole(hConsole, Text, 10, &cCharsWritten, NULL);
  283
+		WriteConsole(hConsole, Text, 10, &cCharsWritten, nullptr);
284 284
 		Text += 10;
285 285
 	}
286 286
 	SetConsoleTextAttribute(hConsole, Color);
287  
-	WriteConsole(hConsole, Text, (DWORD)strlen(Text), &cCharsWritten, NULL);
  287
+	WriteConsole(hConsole, Text, (DWORD)strlen(Text), &cCharsWritten, nullptr);
288 288
 #else
289 289
 	char ColorAttr[16] = "";
290 290
 	char ResetAttr[16] = "";
2  Source/Core/Common/ConsoleListener.h
@@ -26,7 +26,7 @@ class ConsoleListener : public LogListener
26 26
 #ifdef _WIN32
27 27
 	COORD GetCoordinates(int BytesRead, int BufferWidth);
28 28
 #endif
29  
-	void Log(LogTypes::LOG_LEVELS, const char *Text);
  29
+	void Log(LogTypes::LOG_LEVELS, const char *Text) override;
30 30
 	void ClearScreen(bool Cursor = true);
31 31
 
32 32
 private:
2  Source/Core/Common/Crypto/ec.cpp
@@ -316,7 +316,7 @@ void point_mul(u8 *d, const u8 *a, const u8 *b) // a is bignum
316 316
 static void silly_random(u8 * rndArea, u8 count)
317 317
 {
318 318
 	u16 i;
319  
-	srand((unsigned) (time(NULL)));
  319
+	srand((unsigned) (time(nullptr)));
320 320
 
321 321
 	for(i=0;i<count;i++)
322 322
 	{
24  Source/Core/Common/ExtendedTrace.cpp
@@ -84,7 +84,7 @@ static void InitSymbolPath( PSTR lpszSymbolPath, PCSTR lpszIniPath )
84 84
 	}
85 85
 
86 86
 	// Add user defined path
87  
-	if ( lpszIniPath != NULL )
  87
+	if ( lpszIniPath != nullptr )
88 88
 		if ( lpszIniPath[0] != '\0' )
89 89
 		{
90 90
 			strcat( lpszSymbolPath, ";" );
@@ -140,7 +140,7 @@ static BOOL GetFunctionInfoFromAddresses( ULONG fnAddress, ULONG stackAddress, L
140 140
 	DWORD             dwSymSize = 10000;
141 141
 	TCHAR             lpszUnDSymbol[BUFFERSIZE]=_T("?");
142 142
 	CHAR              lpszNonUnicodeUnDSymbol[BUFFERSIZE]="?";
143  
-	LPTSTR            lpszParamSep = NULL;
  143
+	LPTSTR            lpszParamSep = nullptr;
144 144
 	LPTSTR            lpszParsed = lpszUnDSymbol;
145 145
 	PIMAGEHLP_SYMBOL  pSym = (PIMAGEHLP_SYMBOL)GlobalAlloc( GMEM_FIXED, dwSymSize );
146 146
 
@@ -193,13 +193,13 @@ static BOOL GetFunctionInfoFromAddresses( ULONG fnAddress, ULONG stackAddress, L
193 193
 
194 194
 		// Let's go through the stack, and modify the function prototype, and insert the actual
195 195
 		// parameter values from the stack
196  
-		if ( _tcsstr( lpszUnDSymbol, _T("(void)") ) == NULL && _tcsstr( lpszUnDSymbol, _T("()") ) == NULL)
  196
+		if ( _tcsstr( lpszUnDSymbol, _T("(void)") ) == nullptr && _tcsstr( lpszUnDSymbol, _T("()") ) == nullptr)
197 197
 		{
198 198
 			ULONG index = 0;
199 199
 			for( ; ; index++ )
200 200
 			{
201 201
 				lpszParamSep = _tcschr( lpszParsed, _T(',') );
202  
-				if ( lpszParamSep == NULL )
  202
+				if ( lpszParamSep == nullptr )
203 203
 					break;
204 204
 
205 205
 				*lpszParamSep = _T('\0');
@@ -211,7 +211,7 @@ static BOOL GetFunctionInfoFromAddresses( ULONG fnAddress, ULONG stackAddress, L
211 211
 			}
212 212
 
213 213
 			lpszParamSep = _tcschr( lpszParsed, _T(')') );
214  
-			if ( lpszParamSep != NULL )
  214
+			if ( lpszParamSep != nullptr )
215 215
 			{
216 216
 				*lpszParamSep = _T('\0');
217 217
 
@@ -254,7 +254,7 @@ static BOOL GetSourceInfoFromAddress( UINT address, LPTSTR lpszSourceInfo )
254 254
 		PCSTR2LPTSTR( lineInfo.FileName, lpszFileName );
255 255
 		TCHAR fname[_MAX_FNAME];
256 256
 		TCHAR ext[_MAX_EXT];
257  
-		_tsplitpath(lpszFileName, NULL, NULL, fname, ext);
  257
+		_tsplitpath(lpszFileName, nullptr, nullptr, fname, ext);
258 258
 		_stprintf( lpszSourceInfo, _T("%s%s(%d)"), fname, ext, lineInfo.LineNumber );
259 259
 		ret = TRUE;
260 260
 	}
@@ -338,11 +338,11 @@ void StackTrace( HANDLE hThread, const char* lpszMessage, FILE *file )
338 338
 				hProcess,
339 339
 				hThread,
340 340
 				&callStack,
341  
-				NULL,
342  
-				NULL,
  341
+				nullptr,
  342
+				nullptr,
343 343
 				SymFunctionTableAccess,
344 344
 				SymGetModuleBase,
345  
-				NULL);
  345
+				nullptr);
346 346
 
347 347
 			if ( index == 0 )
348 348
 				continue;
@@ -393,11 +393,11 @@ void StackTrace(HANDLE hThread, const char* lpszMessage, FILE *file, DWORD eip,
393 393
 				hProcess,
394 394
 				hThread,
395 395
 				&callStack,
396  
-				NULL,
397  
-				NULL,
  396
+				nullptr,
  397
+				nullptr,
398 398
 				SymFunctionTableAccess,
399 399
 				SymGetModuleBase,
400  
-				NULL);
  400
+				nullptr);
401 401
 
402 402
 			if ( index == 0 )
403 403
 				continue;
8  Source/Core/Common/FifoQueue.h
@@ -65,8 +65,8 @@ class FifoQueue
65 65
 		ElementPtr *tmpptr = m_read_ptr;
66 66
 		// advance the read pointer
67 67
 		m_read_ptr = AtomicLoad(tmpptr->next);
68  
-		// set the next element to NULL to stop the recursive deletion
69  
-		tmpptr->next = NULL;
  68
+		// set the next element to nullptr to stop the recursive deletion
  69
+		tmpptr->next = nullptr;
70 70
 		delete tmpptr; // this also deletes the element
71 71
 	}
72 72
 
@@ -81,7 +81,7 @@ class FifoQueue
81 81
 		ElementPtr *tmpptr = m_read_ptr;
82 82
 		m_read_ptr = AtomicLoadAcquire(tmpptr->next);
83 83
 		t = std::move(tmpptr->current);
84  
-		tmpptr->next = NULL;
  84
+		tmpptr->next = nullptr;
85 85
 		delete tmpptr;
86 86
 		return true;
87 87
 	}
@@ -100,7 +100,7 @@ class FifoQueue
100 100
 	class ElementPtr
101 101
 	{
102 102
 	public:
103  
-		ElementPtr() : next(NULL) {}
  103
+		ElementPtr() : next(nullptr) {}
104 104
 
105 105
 		~ElementPtr()
106 106
 		{
38  Source/Core/Common/FileUtil.cpp
@@ -150,7 +150,7 @@ bool CreateDir(const std::string &path)
150 150
 {
151 151
 	INFO_LOG(COMMON, "CreateDir: directory %s", path.c_str());
152 152
 #ifdef _WIN32
153  
-	if (::CreateDirectory(UTF8ToTStr(path).c_str(), NULL))
  153
+	if (::CreateDirectory(UTF8ToTStr(path).c_str(), nullptr))
154 154
 		return true;
155 155
 	DWORD error = GetLastError();
156 156
 	if (error == ERROR_ALREADY_EXISTS)
@@ -250,7 +250,7 @@ bool Rename(const std::string &srcFilename, const std::string &destFilename)
250 250
 	auto df = UTF8ToTStr(destFilename);
251 251
 	// The Internet seems torn about whether ReplaceFile is atomic or not.
252 252
 	// Hopefully it's atomic enough...
253  
-	if (ReplaceFile(df.c_str(), sf.c_str(), NULL, REPLACEFILE_IGNORE_MERGE_ERRORS, NULL, NULL))
  253
+	if (ReplaceFile(df.c_str(), sf.c_str(), nullptr, REPLACEFILE_IGNORE_MERGE_ERRORS, nullptr, nullptr))
254 254
 		return true;
255 255
 	// Might have failed because the destination doesn't exist.
256 256
 	if (GetLastError() == ERROR_FILE_NOT_FOUND)
@@ -481,7 +481,7 @@ u32 ScanDirectoryTree(const std::string &directory, FSTEntry& parentEntry)
481 481
 		FSTEntry entry;
482 482
 		const std::string virtualName(TStrToUTF8(ffd.cFileName));
483 483
 #else
484  
-	struct dirent dirent, *result = NULL;
  484
+	struct dirent dirent, *result = nullptr;
485 485
 
486 486
 	DIR *dirp = opendir(directory.c_str());
487 487
 	if (!dirp)
@@ -549,7 +549,7 @@ bool DeleteDirRecursively(const std::string &directory)
549 549
 	{
550 550
 		const std::string virtualName(TStrToUTF8(ffd.cFileName));
551 551
 #else
552  
-	struct dirent dirent, *result = NULL;
  552
+	struct dirent dirent, *result = nullptr;
553 553
 	DIR *dirp = opendir(directory.c_str());
554 554
 	if (!dirp)
555 555
 		return false;
@@ -623,7 +623,7 @@ void CopyDir(const std::string &source_path, const std::string &dest_path)
623 623
 	{
624 624
 		const std::string virtualName(TStrToUTF8(ffd.cFileName));
625 625
 #else
626  
-	struct dirent dirent, *result = NULL;
  626
+	struct dirent dirent, *result = nullptr;
627 627
 	DIR *dirp = opendir(source_path.c_str());
628 628
 	if (!dirp) return;
629 629
 
@@ -660,11 +660,11 @@ void CopyDir(const std::string &source_path, const std::string &dest_path)
660 660
 {
661 661
 	char *dir;
662 662
 	// Get the current working directory (getcwd uses malloc)
663  
-	if (!(dir = __getcwd(NULL, 0))) {
  663
+	if (!(dir = __getcwd(nullptr, 0))) {
664 664
 
665 665
 		ERROR_LOG(COMMON, "GetCurrentDirectory failed: %s",
666 666
 				GetLastErrorMsg());
667  
-		return NULL;
  667
+		return nullptr;
668 668
 	}
669 669
 	std::string strDir = dir;
670 670
 	free(dir);
@@ -682,11 +682,11 @@ bool SetCurrentDir(const std::string &directory)
682 682
 	std::string abs = path;
683 683
 #ifdef _WIN32
684 684
 	TCHAR absbuf[MAX_PATH];
685  
-	if (_tfullpath(absbuf, UTF8ToTStr(path).c_str(), MAX_PATH) != NULL)
  685
+	if (_tfullpath(absbuf, UTF8ToTStr(path).c_str(), MAX_PATH) != nullptr)
686 686
 		abs = TStrToUTF8(absbuf);
687 687
 #else
688 688
 	char absbuf[PATH_MAX];
689  
-	if (realpath(path.c_str(), absbuf) != NULL)
  689
+	if (realpath(path.c_str(), absbuf) != nullptr)
690 690
 		abs = absbuf;
691 691
 #endif
692 692
 	return abs + ".xxx";
@@ -715,7 +715,7 @@ bool SetCurrentDir(const std::string &directory)
715 715
 	if (DolphinPath.empty())
716 716
 	{
717 717
 		TCHAR Dolphin_exe_Path[2048];
718  
-		GetModuleFileName(NULL, Dolphin_exe_Path, 2048);
  718
+		GetModuleFileName(nullptr, Dolphin_exe_Path, 2048);
719 719
 		DolphinPath = TStrToUTF8(Dolphin_exe_Path);
720 720
 		DolphinPath = DolphinPath.substr(0, DolphinPath.find_last_of('\\'));
721 721
 	}
@@ -767,14 +767,14 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
767 767
 		HKEY hkey;
768 768
 		DWORD local = 0;
769 769
 		TCHAR configPath[MAX_PATH] = {0};
770  
-		if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Dolphin Emulator"), NULL, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)
  770
+		if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Dolphin Emulator"), 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)
771 771
 		{
772 772
 			DWORD size = 4;
773  
-			if (RegQueryValueEx(hkey, TEXT("LocalUserConfig"), NULL, NULL, reinterpret_cast<LPBYTE>(&local), &size) != ERROR_SUCCESS)
  773
+			if (RegQueryValueEx(hkey, TEXT("LocalUserConfig"), nullptr, nullptr, reinterpret_cast<LPBYTE>(&local), &size) != ERROR_SUCCESS)
774 774
 				local = 0;
775 775
 
776 776
 			size = MAX_PATH;
777  
-			if (RegQueryValueEx(hkey, TEXT("UserConfigPath"), NULL, NULL, (LPBYTE)configPath, &size) != ERROR_SUCCESS)
  777
+			if (RegQueryValueEx(hkey, TEXT("UserConfigPath"), nullptr, nullptr, (LPBYTE)configPath, &size) != ERROR_SUCCESS)
778 778
 				configPath[0] = 0;
779 779
 			RegCloseKey(hkey);
780 780
 		}
@@ -783,7 +783,7 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
783 783
 
784 784
 		// Get Program Files path in case we need it.
785 785
 		TCHAR my_documents[MAX_PATH];
786  
-		bool my_documents_found = SUCCEEDED(SHGetFolderPath(NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, my_documents));
  786
+		bool my_documents_found = SUCCEEDED(SHGetFolderPath(nullptr, CSIDL_MYDOCUMENTS, nullptr, SHGFP_TYPE_CURRENT, my_documents));
787 787
 
788 788
 		if (local) // Case 1-2
789 789
 			paths[D_USER_IDX] = GetExeDirectory() + DIR_SEP USERDATA_DIR DIR_SEP;
@@ -960,7 +960,7 @@ bool ReadFileToString(const char *filename, std::string &str)
960 960
 }
961 961
 
962 962
 IOFile::IOFile()
963  
-	: m_file(NULL), m_good(true)
  963
+	: m_file(nullptr), m_good(true)
964 964
 {}
965 965
 
966 966
 IOFile::IOFile(std::FILE* file)
@@ -968,7 +968,7 @@ bool ReadFileToString(const char *filename, std::string &str)
968 968
 {}
969 969
 
970 970
 IOFile::IOFile(const std::string& filename, const char openmode[])
971  
-	: m_file(NULL), m_good(true)
  971
+	: m_file(nullptr), m_good(true)
972 972
 {
973 973
 	Open(filename, openmode);
974 974
 }
@@ -979,7 +979,7 @@ bool ReadFileToString(const char *filename, std::string &str)
979 979
 }
980 980
 
981 981
 IOFile::IOFile(IOFile&& other)
982  
-	: m_file(NULL), m_good(true)
  982
+	: m_file(nullptr), m_good(true)
983 983
 {
984 984
 	Swap(other);
985 985
 }
@@ -1014,14 +1014,14 @@ bool IOFile::Close()
1014 1014
 	if (!IsOpen() || 0 != std::fclose(m_file))
1015 1015
 		m_good = false;
1016 1016
 
1017  
-	m_file = NULL;
  1017
+	m_file = nullptr;
1018 1018
 	return m_good;
1019 1019
 }
1020 1020
 
1021 1021
 std::FILE* IOFile::ReleaseHandle()
1022 1022
 {
1023 1023
 	std::FILE* const ret = m_file;
1024  
-	m_file = NULL;
  1024
+	m_file = nullptr;
1025 1025
 	return ret;
1026 1026
 }
1027 1027
 
6  Source/Core/Common/FileUtil.h
@@ -167,7 +167,7 @@ class IOFile : public NonCopyable
167 167
 	bool Close();
168 168
 
169 169
 	template <typename T>
170  
-	bool ReadArray(T* data, size_t length, size_t* pReadBytes = NULL)
  170
+	bool ReadArray(T* data, size_t length, size_t* pReadBytes = nullptr)
171 171
 	{
172 172
 		size_t read_bytes = 0;
173 173
 		if (!IsOpen() || length != (read_bytes = std::fread(data, sizeof(T), length, m_file)))
@@ -198,11 +198,11 @@ class IOFile : public NonCopyable
198 198
 		return WriteArray(reinterpret_cast<const char*>(data), length);
199 199
 	}
200 200
 
201  
-	bool IsOpen() { return NULL != m_file; }
  201
+	bool IsOpen() { return nullptr != m_file; }
202 202
 
203 203
 	// m_good is set to false when a read, write or other function fails
204 204
 	bool IsGood() { return m_good; }
205  
-	operator void*() { return m_good ? m_file : NULL; }
  205
+	operator void*() { return m_good ? m_file : nullptr; }
206 206
 
207 207
 	std::FILE* ReleaseHandle();
208 208
 
6  Source/Core/Common/IniFile.cpp
@@ -212,7 +212,7 @@ const IniFile::Section* IniFile::GetSection(const std::string& sectionName) cons
212 212
 	for (const Section& sect : sections)
213 213
 		if (!strcasecmp(sect.name.c_str(), sectionName.c_str()))
214 214
 			return (&(sect));
215  
-	return 0;
  215
+	return nullptr;
216 216
 }
217 217
 
218 218
 IniFile::Section* IniFile::GetSection(const std::string& sectionName)
@@ -220,7 +220,7 @@ const IniFile::Section* IniFile::GetSection(const std::string& sectionName) cons
220 220
 	for (Section& sect : sections)
221 221
 		if (!strcasecmp(sect.name.c_str(), sectionName.c_str()))
222 222
 			return (&(sect));
223  
-	return 0;
  223
+	return nullptr;
224 224
 }
225 225
 
226 226
 IniFile::Section* IniFile::GetOrCreateSection(const std::string& sectionName)
@@ -335,7 +335,7 @@ bool IniFile::Load(const std::string& filename, bool keep_current_data)
335 335
 
336 336
 	if (in.fail()) return false;
337 337
 
338  
-	Section* current_section = NULL;
  338
+	Section* current_section = nullptr;
339 339
 	while (!in.eof())
340 340
 	{
341 341
 		char templine[MAX_BYTES];
2  Source/Core/Common/LinearDiskCache.h
@@ -70,7 +70,7 @@ class LinearDiskCache
70 70
 			// good header, read some key/value pairs
71 71
 			K key;
72 72
 
73  
-			V *value = NULL;
  73
+			V *value = nullptr;
74 74
 			u32 value_size;
75 75
 			u32 entry_number;
76 76
 
4  Source/Core/Common/LogManager.cpp
@@ -30,7 +30,7 @@ void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
30 30
 	va_end(args);
31 31
 }
32 32
 
33  
-LogManager *LogManager::m_logManager = NULL;
  33
+LogManager *LogManager::m_logManager = nullptr;
34 34
 
35 35
 LogManager::LogManager()
36 36
 {
@@ -145,7 +145,7 @@ void LogManager::Init()
145 145
 void LogManager::Shutdown()
146 146
 {
147 147
 	delete m_logManager;
148  
-	m_logManager = NULL;
  148
+	m_logManager = nullptr;
149 149
 }
150 150
 
151 151
 LogContainer::LogContainer(const char* shortName, const char* fullName, bool enable)
4  Source/Core/Common/LogManager.h
@@ -29,7 +29,7 @@ class FileLogListener : public LogListener
29 29
 public:
30 30
 	FileLogListener(const char *filename);
31 31
 
32  
-	void Log(LogTypes::LOG_LEVELS, const char *msg);
  32
+	void Log(LogTypes::LOG_LEVELS, const char *msg) override;
33 33
 
34 34
 	bool IsValid() { return !m_logfile.fail(); }
35 35
 	bool IsEnabled() const { return m_enable; }
@@ -46,7 +46,7 @@ class FileLogListener : public LogListener
46 46
 class DebuggerLogListener : public LogListener
47 47
 {
48 48
 public:
49  
-	void Log(LogTypes::LOG_LEVELS, const char *msg);
  49
+	void Log(LogTypes::LOG_LEVELS, const char *msg) override;
50 50
 };
51 51
 
52 52
 class LogContainer
12  Source/Core/Common/MemArena.cpp
@@ -52,7 +52,7 @@ int AshmemCreateFileMapping(const char *name, size_t size)
52 52
 void MemArena::GrabLowMemSpace(size_t size)
53 53
 {
54 54
 #ifdef _WIN32
55  
-	hMemoryMapping = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, (DWORD)(size), NULL);
  55
+	hMemoryMapping = CreateFileMapping(INVALID_HANDLE_VALUE, nullptr, PAGE_READWRITE, 0, (DWORD)(size), nullptr);
56 56
 #elif defined(ANDROID)
57 57
 	fd = AshmemCreateFileMapping("Dolphin-emu", size);
58 58
 	if (fd < 0)
@@ -190,9 +190,9 @@ static bool Memory_TryBase(u8 *base, const MemoryView *views, int num_views, u32
190 190
 	for (int i = 0; i < num_views; i++)
191 191
 	{
192 192
 		if (views[i].out_ptr_low)
193  
-			*views[i].out_ptr_low = 0;
  193
+			*views[i].out_ptr_low = nullptr;
194 194
 		if (views[i].out_ptr)
195  
-			*views[i].out_ptr = 0;
  195
+			*views[i].out_ptr = nullptr;
196 196
 	}
197 197
 
198 198
 	int i;
@@ -255,13 +255,13 @@ u8 *MemoryMap_Setup(const MemoryView *views, int num_views, u32 flags, MemArena
255 255
 	{
256 256
 		PanicAlert("MemoryMap_Setup: Failed finding a memory base.");
257 257
 		exit(0);
258  
-		return 0;
  258
+		return nullptr;
259 259
 	}
260 260
 #else
261 261
 #ifdef _WIN32
262 262
 	// Try a whole range of possible bases. Return once we got a valid one.
263 263
 	u32 max_base_addr = 0x7FFF0000 - 0x31000000;
264  
-	u8 *base = NULL;
  264
+	u8 *base = nullptr;
265 265
 
266 266
 	for (u32 base_addr = 0x40000; base_addr < max_base_addr; base_addr += 0x40000)
267 267
 	{
@@ -304,7 +304,7 @@ void MemoryMap_Shutdown(const MemoryView *views, int num_views, u32 flags, MemAr
304 304
 			{
305 305
 				arena->ReleaseView(*outptr, view->size);
306 306
 				freeset.insert(*outptr);
307  
-				*outptr = NULL;
  307
+				*outptr = nullptr;
308 308
 			}
309 309
 		}
310 310
 	}
16  Source/Core/Common/MemoryUtil.cpp
@@ -31,7 +31,7 @@ void* AllocateExecutableMemory(size_t size, bool low)
31 31
 #if defined(_WIN32)
32 32
 	void* ptr = VirtualAlloc(0, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
33 33
 #else
34  
-	static char *map_hint = 0;
  34
+	static char *map_hint = nullptr;
35 35
 #if defined(__x86_64__) && !defined(MAP_32BIT)
36 36
 	// This OS has no flag to enforce allocation below the 4 GB boundary,
37 37
 	// 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)
56 56
 #if defined(__FreeBSD__)
57 57
 	if (ptr == MAP_FAILED)
58 58
 	{
59  
-		ptr = NULL;
  59
+		ptr = nullptr;
60 60
 #else
61  
-	if (ptr == NULL)
  61
+	if (ptr == nullptr)
62 62
 	{
63 63
 #endif
64 64
 		PanicAlert("Failed to allocate executable memory");
@@ -88,14 +88,14 @@ void* AllocateMemoryPages(size_t size)
88 88
 #ifdef _WIN32
89 89
 	void* ptr = VirtualAlloc(0, size, MEM_COMMIT, PAGE_READWRITE);
90 90
 #else
91  
-	void* ptr = mmap(0, size, PROT_READ | PROT_WRITE,
  91
+	void* ptr = mmap(nullptr, size, PROT_READ | PROT_WRITE,
92 92
 			MAP_ANON | MAP_PRIVATE, -1, 0);
93 93
 #endif
94 94
 
95 95
 	// printf("Mapped memory at %p (size %ld)\n", ptr,
96 96
 	//	(unsigned long)size);
97 97
 
98  
-	if (ptr == NULL)
  98
+	if (ptr == nullptr)
99 99
 		PanicAlert("Failed to allocate raw memory");
100 100
 
101 101
 	return ptr;
@@ -106,7 +106,7 @@ void* AllocateAlignedMemory(size_t size,size_t alignment)
106 106
 #ifdef _WIN32
107 107
 	void* ptr =  _aligned_malloc(size,alignment);
108 108
 #else
109  
-	void* ptr = NULL;
  109
+	void* ptr = nullptr;
110 110
 #ifdef ANDROID
111 111
 	ptr = memalign(alignment, size);
112 112
 #else
@@ -118,7 +118,7 @@ void* AllocateAlignedMemory(size_t size,size_t alignment)
118 118
 	// printf("Mapped memory at %p (size %ld)\n", ptr,
119 119
 	//	(unsigned long)size);
120 120
 
121  
-	if (ptr == NULL)
  121
+	if (ptr == nullptr)
122 122
 		PanicAlert("Failed to allocate aligned memory");
123 123
 
124 124
 	return ptr;
@@ -185,7 +185,7 @@ void UnWriteProtectMemory(void* ptr, size_t size, bool allowExecute)
185 185
 	// Print information about the memory usage of the process.
186 186
 
187 187
 	hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);
188  
-	if (NULL == hProcess) return "MemUsage Error";
  188
+	if (nullptr == hProcess) return "MemUsage Error";
189 189
 
190 190
 	if (GetProcessMemoryInfo(hProcess, &pmc, sizeof(pmc)))
191 191
 		Ret = StringFromFormat("%s K", ThousandSeparate(pmc.WorkingSetSize / 1024, 7).c_str());
4  Source/Core/Common/Misc.cpp
@@ -21,9 +21,9 @@ const char* GetLastErrorMsg()
21 21
 #ifdef _WIN32
22 22
 	static __declspec(thread) char err_str[buff_size] = {};
23 23
 
24  
-	FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(),
  24
+	FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, GetLastError(),
25 25
 		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
26  
-		err_str, buff_size, NULL);
  26
+		err_str, buff_size, nullptr);
27 27
 #else
28 28
 	static __thread char err_str[buff_size] = {};
29 29
 
4  Source/Core/Common/StdConditionVariable.h
@@ -72,9 +72,9 @@ class condition_variable
72 72
 #if defined(_WIN32) && defined(USE_CONDITION_VARIABLES)
73 73
 		InitializeConditionVariable(&m_handle);
74 74
 #elif defined(_WIN32)
75  
-		m_handle = CreateEvent(NULL, false, false, NULL);
  75
+		m_handle = CreateEvent(nullptr, false, false, nullptr);
76 76
 #else
77  
-		pthread_cond_init(&m_handle, NULL);
  77
+		pthread_cond_init(&m_handle, nullptr);
78 78
 #endif
79 79
 	}
80 80
 
10  Source/Core/Common/StdMutex.h
@@ -143,7 +143,7 @@ class mutex
143 143
 #ifdef _WIN32
144 144
 		InitializeSRWLock(&m_handle);
145 145
 #else
146  
-		pthread_mutex_init(&m_handle, NULL);
  146
+		pthread_mutex_init(&m_handle, nullptr);
147 147
 #endif
148 148
 	}
149 149
 
@@ -238,7 +238,7 @@ class unique_lock
238 238
 	typedef Mutex mutex_type;
239 239
 
240 240
 	unique_lock()
241  
-		: pm(NULL), owns(false)
  241
+		: pm(nullptr), owns(false)
242 242
 	{}
243 243
 
244 244
 	/*explicit*/ unique_lock(mutex_type& m)
@@ -290,11 +290,11 @@ class unique_lock
290 290
 	unique_lock(const unique_lock&) /*= delete*/;
291 291
 
292 292
 	unique_lock(unique_lock&& other)
293  
-		: pm(NULL), owns(false)
  293
+		: pm(nullptr), owns(false)
294 294
 	{
295 295
 #else
296 296
 	unique_lock(const unique_lock& u)
297  
-		: pm(NULL), owns(false)
  297
+		: pm(nullptr), owns(false)
298 298
 	{
299 299
 		// ugly const_cast to get around lack of rvalue references
300 300
 		unique_lock& other = const_cast<unique_lock&>(u);
@@ -335,7 +335,7 @@ class unique_lock
335 335
 	{
336 336
 		auto const ret = mutex();
337 337
 
338  
-		pm = NULL;
  338
+		pm = nullptr;
339 339
 		owns = false;
340 340
 
341 341
 		return ret;
6  Source/Core/Common/StdThread.h
@@ -193,7 +193,7 @@ class thread
193 193
 		WaitForSingleObject(m_handle, INFINITE);
194 194
 		detach();
195 195
 #else
196  
-		pthread_join(m_id.m_thread, NULL);
  196
+		pthread_join(m_id.m_thread, nullptr);
197 197
 		m_id = id();
198 198
 #endif
199 199
 	}
@@ -238,9 +238,9 @@ class thread
238 238
 	void StartThread(F* param)
239 239
 	{
240 240
 #ifdef USE_BEGINTHREADEX
241  
-		m_handle = (HANDLE)_beginthreadex(NULL, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread);
  241
+		m_handle = (HANDLE)_beginthreadex(nullptr, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread);
242 242
 #elif defined(_WIN32)
243  
-		m_handle = CreateThread(NULL, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread);
  243
+		m_handle = CreateThread(nullptr, 0, &RunAndDelete<F>, param, 0, &m_id.m_thread);
244 244
 #else
245 245
 		pthread_attr_t attr;
246 246
 		pthread_attr_init(&attr);
8  Source/Core/Common/StringUtil.cpp
@@ -28,7 +28,7 @@
28 28
 // faster than sscanf
29 29
 bool AsciiToHex(const char* _szValue, u32& result)
30 30
 {
31  
-	char *endptr = NULL;
  31
+	char *endptr = nullptr;
32 32
 	const u32 value = strtoul(_szValue, &endptr, 16);
33 33
 
34 34
 	if (!endptr || *endptr)
@@ -66,7 +66,7 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar
66 66
 	// will be present in the middle of a multibyte sequence.
67 67
 	//
68 68
 	// This is why we lookup an ANSI (cp1252) locale here and use _vsnprintf_l.
69  
-	static locale_t c_locale = NULL;
  69
+	static locale_t c_locale = nullptr;
70 70
 	if (!c_locale)
71 71
 		c_locale = _create_locale(LC_ALL, ".1252");
72 72
 	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
89 89
 std::string StringFromFormat(const char* format, ...)
90 90
 {
91 91
 	va_list args;
92  
-	char *buf = NULL;
  92
+	char *buf = nullptr;
93 93
 #ifdef _WIN32
94 94
 	int required = 0;
95 95
 
@@ -159,7 +159,7 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar
159 159
 
160 160
 bool TryParse(const std::string &str, u32 *const output)
161 161
 {
162  
-	char *endptr = NULL;
  162
+	char *endptr = nullptr;
163 163
 
164 164
 	// Reset errno to a value other than ERANGE
165 165
 	errno = 0;
12  Source/Core/Common/SymbolDB.cpp
@@ -12,15 +12,15 @@
12 12
 
13 13
 void SymbolDB::List()
14 14
 {
15  
-	for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
  15
+	for (const auto& func : functions)
16 16
 	{
17 17
 		DEBUG_LOG(OSHLE, "%s @ %08x: %i bytes (hash %08x) : %i calls",
18  
-			iter->second.name.c_str(), iter->second.address,
19  
-			iter->second.size, iter->second.hash,
20  
-			iter->second.numCalls);
  18
+		          func.second.name.c_str(), func.second.address,
  19
+		          func.second.size, func.second.hash,
  20
+		          func.second.numCalls);
21 21
 	}
22 22
 	INFO_LOG(OSHLE, "%lu functions known in this program above.",
23  
-		(unsigned long)functions.size());
  23
+	         (unsigned long)functions.size());
24 24
 }
25 25
 
26 26
 void SymbolDB::Clear(const char *prefix)
@@ -46,7 +46,7 @@ Symbol *SymbolDB::GetSymbolFromName(const char *name)
46 46
 		if (!strcmp(func.second.name.c_str(), name))
47 47
 			return &func.second;
48 48
 	}
49  
-	return 0;
  49
+	return nullptr;
50 50
 }
51 51
 
52 52
 void SymbolDB::AddCompleteSymbol(const Symbol &symbol)
6  Source/Core/Common/SymbolDB.h
@@ -79,8 +79,8 @@ class SymbolDB
79 79
 public:
80 80
 	SymbolDB() {}
81 81
 	virtual ~SymbolDB() {}
82  
-	virtual Symbol *GetSymbolFromAddr(u32 addr) { return 0; }
83  
-	virtual Symbol *AddFunction(u32 startAddr) { return 0;}
  82
+	virtual Symbol *GetSymbolFromAddr(u32 addr) { return nullptr; }
  83
+	virtual Symbol *AddFunction(u32 startAddr) { return nullptr;}
84 84
 
85 85
 	void AddCompleteSymbol(const Symbol &symbol);
86 86
 
@@ -90,7 +90,7 @@ class SymbolDB
90 90
 		if (iter != checksumToFunction.end())
91 91
 			return iter->second;
92 92
 		else
93  
-			return 0;
  93
+			return nullptr;
94 94
 	}
95 95
 
96 96
 	const XFuncMap &Symbols() const {return functions;}
6  Source/Core/Common/Timer.cpp
@@ -27,7 +27,7 @@ u32 Timer::GetTimeMs()
27 27
 	return timeGetTime();
28 28
 #else
29 29
 	struct timeval t;
30  
-	(void)gettimeofday(&t, NULL);
  30
+	(void)gettimeofday(&t, nullptr);
31 31
 	return ((u32)(t.tv_sec * 1000 + t.tv_usec / 1000));
32 32
 #endif
33 33
 }
@@ -184,7 +184,7 @@ u64 Timer::GetLocalTimeSinceJan1970()
184 184
 	return StringFromFormat("%s:%03i", tmp, tp.millitm);
185 185
 #else
186 186
 	struct timeval t;
187  
-	(void)gettimeofday(&t, NULL);
  187
+	(void)gettimeofday(&t, nullptr);
188 188
 	return StringFromFormat("%s:%03d", tmp, (int)(t.tv_usec / 1000));
189 189
 #endif
190 190
 }
@@ -198,7 +198,7 @@ double Timer::GetDoubleTime()
198 198
 	(void)::ftime(&tp);
199 199
 #else
200 200
 	struct timeval t;
201  
-	(void)gettimeofday(&t, NULL);
  201
+	(void)gettimeofday(&t, nullptr);
202 202
 #endif
203 203
 	// Get continuous timestamp
204 204
 	u64 TmpSeconds = Common::Timer::GetTimeSinceJan1970();
6  Source/Core/Common/x64Emitter.h
@@ -265,7 +265,7 @@ class XEmitter
265 265
 	inline void Write64(u64 value) {*(u64*)code = (value); code += 8;}
266 266
 
267 267
 public:
268  
-	XEmitter() { code = NULL; }
  268
+	XEmitter() { code = nullptr; }
269 269
 	XEmitter(u8 *code_ptr) { code = code_ptr; }
270 270
 	virtual ~XEmitter() {}
271 271
 
@@ -773,7 +773,7 @@ class XCodeBlock : public XEmitter
773 773
 	size_t region_size;
774 774
 
775 775
 public:
776  
-	XCodeBlock() : region(NULL), region_size(0) {}
  776
+	XCodeBlock() : region(nullptr), region_size(0) {}
777 777
 	virtual ~XCodeBlock() { if (region) FreeCodeSpace(); }
778 778
 
779 779
 	// Call this before you generate any code.
@@ -797,7 +797,7 @@ class XCodeBlock : public XEmitter
797 797
 	void FreeCodeSpace()
798 798
 	{
799 799
 		FreeMemoryPages(region, region_size);
800  
-		region = NULL;
  800
+		region = nullptr;
801 801
 		region_size = 0;
802 802
 	}
803 803
 
2  Source/Core/Core/ActionReplay.cpp
@@ -72,7 +72,7 @@ enum
72 72
 };
73 73
 
74 74
 // pointer to the code currently being run, (used by log messages that include the code name)
75  
-static ARCode const* current_code = NULL;
  75
+static ARCode const* current_code = nullptr;
76 76
 
77 77
 static bool b_RanOnce = false;
78 78
 static std::vector<ARCode> arCodes;
2  Source/Core/Core/ArmMemTools.cpp
@@ -81,6 +81,6 @@ void InstallExceptionHandler()
81 81
 	sa.sa_sigaction = &sigsegv_handler;
82 82
 	sa.sa_flags = SA_SIGINFO;
83 83
 	sigemptyset(&sa.sa_mask);
84  
-	sigaction(SIGSEGV, &sa, NULL);
  84
+	sigaction(SIGSEGV, &sa, nullptr);
85 85
 }
86 86
 }  // namespace
4  Source/Core/Core/Boot/Boot.cpp
@@ -125,7 +125,7 @@ bool CBoot::FindMapFile(std::string* existing_map_file,
125 125
 bool CBoot::LoadMapFromFilename()
126 126
 {
127 127
 	std::string strMapFilename;
128  
-	bool found = FindMapFile(&strMapFilename, NULL);
  128
+	bool found = FindMapFile(&strMapFilename, nullptr);
129 129
 	if (found && g_symbolDB.LoadMap(strMapFilename.c_str()))
130 130
 	{
131 131
 		UpdateDebugger_MapLoaded();
@@ -201,7 +201,7 @@ bool CBoot::BootUp()
201 201
 	case SCoreStartupParameter::BOOT_ISO:
202 202
 	{
203 203
 		DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(_StartupPara.m_strFilename);
204  
-		if (pVolume == NULL)
  204
+		if (pVolume == nullptr)
205 205
 			break;
206 206
 
207 207
 		bool isoWii = DiscIO::IsVolumeWiiDisc(pVolume);
6  Source/Core/Core/Boot/Boot.h
@@ -30,10 +30,10 @@ class CBoot
30 30
 	// Tries to find a map file for the current game by looking first in the
31 31
 	// local user directory, then in the shared user directory.
32 32
 	//
33  
-	// If existing_map_file is not NULL and a map file exists, it is set to the
  33
+	// If existing_map_file is not nullptr and a map file exists, it is set to the
34 34
 	// path to the existing map file.
35 35
 	//
36  
-	// If writable_map_file is not NULL, it is set to the path to where a map
  36
+	// If writable_map_file is not nullptr, it is set to the path to where a map
37 37
 	// file should be saved.
38 38
 	//
39 39
 	// Returns true if a map file exists, false if none could be found.
@@ -43,7 +43,7 @@ class CBoot
43 43
 private:
44 44
 	static void RunFunction(u32 _iAddr);
45 45
 
46  
-	static void UpdateDebugger_MapLoaded(const char* _gameID = NULL);
  46
+	static void UpdateDebugger_MapLoaded(const char* _gameID = nullptr);
47 47
 
48 48
 	static bool LoadMapFromFilename();
49 49
 	static bool Boot_ELF(const char *filename);
8  Source/Core/Core/Boot/Boot_DOL.cpp
@@ -34,13 +34,13 @@
34 34
 	for (auto& sect : text_section)
35 35
 	{
36 36
 		delete [] sect;
37  
-		sect = NULL;
  37
+		sect = nullptr;
38 38
 	}
39 39
 
40 40
 	for (auto& sect : data_section)
41 41
 	{
42 42
 		delete [] sect;
43  
-		sect = NULL;
  43
+		sect = nullptr;
44 44
 	}
45 45
 }
46 46
 
@@ -54,9 +54,9 @@ void CDolLoader::Initialize(u8* _pBuffer, u32 _Size)
54 54
 		p[i] = Common::swap32(p[i]);
55 55
 
56 56
 	for (auto& sect : text_section)
57  
-		sect = NULL;
  57
+		sect = nullptr;
58 58
 	for (auto& sect : data_section)
59  
-		sect = NULL;
  59
+		sect = nullptr;
60 60
 
61 61
 	u32 HID4_pattern = 0x7c13fba6;
62 62
 	u32 HID4_mask = 0xfc1fffff;
4  Source/Core/Core/Boot/Boot_WiiWAD.cpp
@@ -90,7 +90,7 @@ bool CBoot::Boot_WiiWAD(const char* _pFilename)
90 90
 
91 91
 	// DOL
92 92
 	const DiscIO::SNANDContent* pContent = ContentLoader.GetContentByIndex(ContentLoader.GetBootIndex());
93  
-	if (pContent == NULL)
  93
+	if (pContent == nullptr)
94 94
 		return false;
95 95
 
96 96
 	WII_IPC_HLE_Interface::SetDefaultContentFile(_pFilename);
@@ -119,7 +119,7 @@ bool CBoot::Boot_WiiWAD(const char* _pFilename)
119 119
 
120 120
 	// Load patches and run startup patches
121 121
 	const DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(_pFilename);
122  
-	if (pVolume != NULL)
  122
+	if (pVolume != nullptr)
123 123
 		PatchEngine::LoadPatches();
124 124
 
125 125
 	return true;
6  Source/Core/Core/Boot/ElfReader.cpp
@@ -82,7 +82,7 @@ static void byteswapSection(Elf32_Shdr &sec)
82 82
 const char *ElfReader::GetSectionName(int section) const
83 83
 {
84 84
 	if (sections[section].sh_type == SHT_NULL)
85  
-		return NULL;
  85
+		return nullptr;
86 86
 
87 87
 	int nameOffset = sections[section].sh_name;
88 88
 	char *ptr = (char*)GetSectionDataPtr(header->e_shstrndx);
@@ -90,7 +90,7 @@ const char *ElfReader::GetSectionName(int section) const
90 90
 	if (ptr)
91 91
 		return ptr + nameOffset;
92 92
 	else
93  
-		return NULL;
  93
+		return nullptr;
94 94
 }
95 95
 
96 96
 bool ElfReader::LoadInto(u32 vaddr)
@@ -181,7 +181,7 @@ SectionID ElfReader::GetSectionByName(const char *name, int firstSection) const
181 181
 	{
182 182
 		const char *secname = GetSectionName(i);
183 183
 
184  
-		if (secname != NULL && strcmp(name, secname) == 0)
  184
+		if (secname != nullptr && strcmp(name, secname) == 0)
185 185
 			return i;
186 186
 	}
187 187
 	return -1;
4  Source/Core/Core/Boot/ElfReader.h
@@ -51,11 +51,11 @@ class ElfReader
51 51
 	const u8 *GetSectionDataPtr(int section) const
52 52
 	{
53 53
 		if (section < 0 || section >= header->e_shnum)
54  
-			return 0;
  54
+			return nullptr;
55 55
 		if (sections[section].sh_type != SHT_NOBITS)
56 56
 			return GetPtr(sections[section].sh_offset);
57 57
 		else
58  
-			return 0;
  58
+			return nullptr;
59 59
 	}
60 60
 	bool IsCodeSection(int section) const
61 61
 	{
2  Source/Core/Core/ConfigManager.cpp
@@ -125,7 +125,7 @@ void SConfig::Init()
125 125
 void SConfig::Shutdown()
126 126
 {
127 127
 	delete m_Instance;
128  
-	m_Instance = NULL;
  128
+	m_Instance = nullptr;
129 129
 }
130 130
 
131 131
 SConfig::~SConfig()
2  Source/Core/Core/Core.cpp
@@ -79,7 +79,7 @@
79 79
 bool g_bStopping = false;
80 80
 bool g_bHwInit = false;
81 81
 bool g_bStarted = false;
82  
-void *g_pWindowHandle = NULL;
  82
+void *g_pWindowHandle = nullptr;
83 83
 std::string g_stateFileName;
84 84
 std::thread g_EmuThread;
85 85
 
8  Source/Core/Core/CoreParameter.cpp
@@ -21,7 +21,7 @@
21 21
 #include "DiscIO/VolumeCreator.h"
22 22
 
23 23
 SCoreStartupParameter::SCoreStartupParameter()
24  
-: hInstance(0),
  24
+: hInstance(nullptr),
25 25
   bEnableDebugging(false), bAutomaticStart(false), bBootToPause(false),
26 26
   bJITNoBlockCache(false), bJITBlockLinking(true),
27 27
   bJITOff(false),
@@ -125,7 +125,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
125 125
 			}
126 126
 
127 127
 			std::string Extension;
128  
-			SplitPath(m_strFilename, NULL, NULL, &Extension);
  128
+			SplitPath(m_strFilename, nullptr, nullptr, &Extension);
129 129
 			if (!strcasecmp(Extension.c_str(), ".gcm") ||
130 130
 				!strcasecmp(Extension.c_str(), ".iso") ||
131 131
 				!strcasecmp(Extension.c_str(), ".wbfs") ||
@@ -135,7 +135,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
135 135
 			{
136 136
 				m_BootType = BOOT_ISO;
137 137
 				DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(m_strFilename);
138  
-				if (pVolume == NULL)
  138
+				if (pVolume == nullptr)
139 139
 				{
140 140
 					if (bootDrive)
141 141
 						PanicAlertT("Could not read \"%s\".  "
@@ -223,7 +223,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
223 223
 				const DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(m_strFilename);
224 224
 				const DiscIO::INANDContentLoader& ContentLoader = DiscIO::CNANDContentManager::Access().GetNANDLoader(m_strFilename);
225 225
 
226  
-				if (ContentLoader.GetContentByIndex(ContentLoader.GetBootIndex()) == NULL)
  226
+				if (ContentLoader.GetContentByIndex(ContentLoader.GetBootIndex()) == nullptr)
227 227
 				{
228 228
 					//WAD is valid yet cannot be booted. Install instead.
229 229
 					u64 installed = DiscIO::CNANDContentManager::Access().Install_WiiWAD(m_strFilename);
6  Source/Core/Core/CoreTiming.cpp
@@ -43,7 +43,7 @@ struct BaseEvent
43 43
 Common::FifoQueue<BaseEvent, false> tsQueue;
44 44
 
45 45
 // event pools
46  
-Event *eventPool = 0;
  46
+Event *eventPool = nullptr;
47 47
 
48 48
 int downcount, slicelength;
49 49
 int maxSliceLength = MAX_SLICE_LENGTH;
@@ -59,7 +59,7 @@ struct BaseEvent
59 59
 int ev_lost;
60 60
 
61 61
 
62  
-void (*advanceCallback)(int cyclesExecuted) = NULL;
  62
+void (*advanceCallback)(int cyclesExecuted) = nullptr;
63 63
 
64 64
 Event* GetNewEvent()
65 65
 {
@@ -236,7 +236,7 @@ void ClearPendingEvents()
236 236
 
237 237
 void AddEventToQueue(Event* ne)
238 238
 {
239  
-	Event* prev = NULL;
  239
+	Event* prev = nullptr;
240 240
 	Event** pNext = &first;
241 241
 	for(;;)
242 242
 	{
50  Source/Core/Core/DSP/DSPAssembler.cpp
@@ -79,7 +79,7 @@
79 79
 };
80 80
 
81 81
 DSPAssembler::DSPAssembler(const AssemblerSettings &settings) :
82  
-	gdg_buffer(NULL),
  82
+	gdg_buffer(nullptr),
83 83
 	m_cur_addr(0),
84 84
 	m_cur_pass(0),
85 85
 	m_current_param(0),
@@ -127,7 +127,7 @@ bool DSPAssembler::Assemble(const char *text, std::vector<u16> &code, std::vecto
127 127
 
128 128
 	if(gdg_buffer) {
129 129
 		free(gdg_buffer);
130  
-		gdg_buffer = NULL;
  130
+		gdg_buffer = nullptr;
131 131
 	}
132 132
 
133 133
 	last_error_str = "(no errors)";
@@ -310,7 +310,7 @@ char *DSPAssembler::FindBrackets(char *src, char *dst)
310 310
 	}
311 311
 	if (count)
312 312
 		ShowError(ERR_NO_MATCHING_BRACKETS);
313  
-	return NULL;
  313
+	return nullptr;
314 314
 }
315 315
 
316 316
 // Bizarre in-place expression evaluator.
@@ -323,7 +323,7 @@ u32 DSPAssembler::ParseExpression(const char *ptr)
323 323
 	char *s_buffer = (char *)malloc(1024);
324 324
 	strcpy(s_buffer, ptr);
325 325
 
326  
-	while ((pbuf = FindBrackets(s_buffer, d_buffer)) != NULL)
  326
+	while ((pbuf = FindBrackets(s_buffer, d_buffer)) != nullptr)
327 327
 	{
328 328
 		val = ParseExpression(d_buffer);
329 329
 		sprintf(d_buffer, "%s%d%s", s_buffer, val, pbuf);
@@ -359,14 +359,14 @@ u32 DSPAssembler::ParseExpression(const char *ptr)
359 359
 		d_buffer[i] = c;
360 360
 	}
361 361
 
362  
-	while ((pbuf = strstr(d_buffer, "+")) != NULL)
  362
+	while ((pbuf = strstr(d_buffer, "+")) != nullptr)
363 363
 	{
364 364
 		*pbuf = 0x0;
365 365
 		val = ParseExpression(d_buffer) + ParseExpression(pbuf+1);
366 366
 		sprintf(d_buffer, "%d", val);
367 367
 	}
368 368
 
369  
-	while ((pbuf = strstr(d_buffer, "-")) != NULL)
  369
+	while ((pbuf = strstr(d_buffer, "-")) != nullptr)
370 370
 	{
371 371
 		*pbuf = 0x0;
372 372
 		val = ParseExpression(d_buffer) - ParseExpression(pbuf+1);
@@ -378,28 +378,28 @@ u32 DSPAssembler::ParseExpression(const char *ptr)
378 378
 		sprintf(d_buffer, "%d", val);
379 379
 	}
380 380
 
381  
-	while ((pbuf = strstr(d_buffer, "*")) != NULL)
  381
+	while ((pbuf = strstr(d_buffer, "*")) != nullptr)
382 382
 	{
383 383
 		*pbuf = 0x0;
384 384
 		val = ParseExpression(d_buffer) * ParseExpression(pbuf+1);
385 385
 		sprintf(d_buffer, "%d", val);
386 386
 	}
387 387
 
388  
-	while ((pbuf = strstr(d_buffer, "/")) != NULL)
  388
+	while ((pbuf = strstr(d_buffer, "/")) != nullptr)
389 389
 	{
390 390
 		*pbuf = 0x0;
391 391
 		val = ParseExpression(d_buffer) / ParseExpression(pbuf+1);
392 392
 		sprintf(d_buffer, "%d", val);
393 393
 	}
394 394
 
395  
-	while ((pbuf = strstr(d_buffer, "|")) != NULL)
  395
+	while ((pbuf = strstr(d_buffer, "|")) != nullptr)
396 396
 	{
397 397
 		*pbuf = 0x0;
398 398
 		val = ParseExpression(d_buffer) | ParseExpression(pbuf+1);
399 399
 		sprintf(d_buffer, "%d", val);
400 400
 	}
401 401
 
402  
-	while ((pbuf = strstr(d_buffer, "&")) != NULL)
  402
+	while ((pbuf = strstr(d_buffer, "&")) != nullptr)
403 403
 	{
404 404
 		*pbuf = 0x0;
405 405
 		val = ParseExpression(d_buffer) & ParseExpression(pbuf+1);
@@ -420,7 +420,7 @@ u32 DSPAssembler::GetParams(char *parstr, param_t *par)
420 420
 	tmpstr = strtok(tmpstr, ",\x00");
421 421
 	for (int i = 0; i < 10; i++)
422 422
 	{
423  
-		if (tmpstr == NULL)
  423
+		if (tmpstr == nullptr)
424 424
 			break;
425 425
 		tmpstr = skip_spaces(tmpstr);
426 426
 		if (strlen(tmpstr) == 0)
@@ -463,7 +463,7 @@ u32 DSPAssembler::GetParams(char *parstr, param_t *par)
463 463
 			par[i].type = P_VAL;
464 464
 			break;
465 465
 		}
466  
-		tmpstr = strtok(NULL, ",\x00");
  466
+		tmpstr = strtok(nullptr, ",\x00");
467 467
 	}
468 468
 	return count;
469 469
 }
@@ -493,7 +493,7 @@ const opc_t *DSPAssembler::FindOpcode(const char *opcode, u32 par_count, const o
493 493
 		}
494 494
 	}
495 495
 	ShowError(ERR_UNKNOWN_OPCODE);
496  
-	return NULL;
  496
+	return nullptr;
497 497
 }
498 498
 
499 499
 // weird...
@@ -780,8 +780,8 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
780 780
 		//printf("A: %s\n", line);
781 781
 		code_line++;
782 782
 
783  
-		param_t params[10] = {{0, P_NONE, NULL}};
784  
-		param_t params_ext[10] = {{0, P_NONE, NULL}};
  783
+		param_t params[10] = {{0, P_NONE, nullptr}};
  784
+		param_t params_ext[10] = {{0, P_NONE, nullptr}};
785 785
 
786 786
 		bool upper = true;
787 787
 		for (int i = 0; i < LINEBUF_SIZE; i++)
@@ -851,33 +851,33 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
851 851
 			}
852 852
 		}
853 853
 
854  
-		char *opcode = NULL;
  854
+		char *opcode = nullptr;
855 855
 		opcode = strtok(ptr, " ");
856  
-		char *opcode_ext = NULL;
  856
+		char *opcode_ext = nullptr;
857 857
 
858 858
 		u32 params_count = 0;
859 859
 		u32 params_count_ext = 0;
860 860
 		if (opcode)
861 861
 		{
862  
-			if ((opcode_ext = strstr(opcode, "'")) != NULL)
  862
+			if ((opcode_ext = strstr(opcode, "'")) != nullptr)
863 863
 			{
864 864
 				opcode_ext[0] = '\0';
865 865
 				opcode_ext++;
866 866
 				if (strlen(opcode_ext) == 0)
867  
-					opcode_ext = NULL;
  867
+					opcode_ext = nullptr;
868 868
 			}
869 869
 			// now we have opcode and label
870 870
 
871 871
 			params_count = 0;
872 872
 			params_count_ext = 0;
873 873
 
874  
-			char *paramstr = strtok(NULL, "\0");
875  
-			char *paramstr_ext = 0;
  874
+			char *paramstr = strtok(nullptr, "\0");
  875
+			char *paramstr_ext = nullptr;
876 876
 			// there is valid opcode so probably we have parameters
877 877
 
878 878
 			if (paramstr)
879 879
 			{
880  
-				if ((paramstr_ext = strstr(paramstr, ":")) != NULL)
  880
+				if ((paramstr_ext = strstr(paramstr, ":")) != nullptr)
881 881
 				{
882 882
 					paramstr_ext[0] = '\0';
883 883
 					paramstr_ext++;
@@ -899,14 +899,14 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
899 899
 				if (strcmp(opcode, "EQU") == 0)
900 900
 				{
901 901
 					lval = params[0].val;
902  
-					opcode = NULL;
  902
+					opcode = nullptr;
903 903
 				}
904 904
 			}
905 905
 			if (pass == 1)
906 906
 				labels.RegisterLabel(label, lval);
907 907
 		}
908 908
 
909  
-		if (opcode == NULL)
  909
+		if (opcode == nullptr)
910 910
 			continue;
911 911
 
912 912
 		// check if opcode is reserved compiler word
@@ -981,7 +981,7 @@ bool DSPAssembler::AssembleFile(const char *fname, int pass)
981 981
 
982 982
 		VerifyParams(opc, params, params_count);
983 983
 
984  
-		const opc_t *opc_ext = NULL;
  984
+		const opc_t *opc_ext = nullptr;
985 985
 		// Check for opcode extensions.
986 986
 		if (opc->extended)
987 987
 		{
6  Source/Core/Core/DSP/DSPAssembler.h
@@ -73,7 +73,7 @@ class DSPAssembler
73 73
 	// one for each word of code, indicating the source assembler code line number it came from.
74 74
 
75 75
 	// If returns false, call GetErrorString to get some text to present to the user.
76  
-	bool Assemble(const char *text, std::vector<u16> &code, std::vector<int> *line_numbers = NULL);
  76
+	bool Assemble(const char *text, std::vector<u16> &code, std::vector<int> *line_numbers = nullptr);
77 77
 
78 78
 	std::string GetErrorString() const { return last_error_str; }
79 79
 	err_t GetError() const { return last_error; }
@@ -103,8 +103,8 @@ class DSPAssembler
103 103
 	void InitPass(int pass);
104 104
 	bool AssembleFile(const char *fname, int pass);
105 105
 
106  
-	void ShowError(err_t err_code, const char *extra_info = NULL);
107  
-	// void ShowWarning(err_t err_code, const char *extra_info = NULL);
  106
+	void ShowError(err_t err_code, const char *extra_info = nullptr);
  107
+	// void ShowWarning(err_t err_code, const char *extra_info = nullptr);
108 108
 
109 109
 	char *FindBrackets(char *src, char *dst);
110 110
 	const opc_t *FindOpcode(const char *opcode, u32 par_count, const opc_t * const opcod, int opcod_size);
4  Source/Core/Core/DSP/DSPCodeUtil.cpp
@@ -114,7 +114,7 @@ void CodeToHeader(const std::vector<u16> &code, std::string _filename,
114 114
 	header.reserve(code_padded.size() * 4);
115 115
 	header.append("#define NUM_UCODES 1\n\n");
116 116
 	std::string filename;
117  
-	SplitPath(_filename, NULL, &filename, NULL);
  117
+	SplitPath(_filename, nullptr, &filename, nullptr);
118 118
 	header.append(StringFromFormat("const char* UCODE_NAMES[NUM_UCODES] = {\"%s\"};\n\n", filename.c_str()));
119 119
 	header.append("const unsigned short dsp_code[NUM_UCODES][0x1000] = {\n");
120 120
 
@@ -151,7 +151,7 @@ void CodesToHeader(const std::vector<u16> *codes, const std::vector<std::string>
151 151
 	for (u32 i = 0; i < numCodes; i++)
152 152
 	{
153 153
 		std::string filename;
154  
-		if (! SplitPath(filenames->at(i), NULL, &filename, NULL))
  154
+		if (! SplitPath(filenames->at(i), nullptr, &filename, nullptr))
155 155
 			filename = filenames->at(i);
156 156
 		header.append(StringFromFormat("\t\"%s\",\n", filename.c_str()));
157 157
 	}
8  Source/Core/Core/DSP/DSPCore.cpp
@@ -41,7 +41,7 @@
41 41
 DSPCoreState core_state = DSPCORE_STOP;
42 42
 u16 cyclesLeft = 0;
43 43
 bool init_hax = false;
44  
-DSPEmitter *dspjit = NULL;
  44
+DSPEmitter *dspjit = nullptr;
45 45
 Common::Event step_event;
46 46
 
47 47
 static bool LoadRom(const char *fname, int size_in_words, u16 *rom)
@@ -133,7 +133,7 @@ static void DSPCore_FreeMemoryPages()
133 133
 	FreeMemoryPages(g_dsp.iram, DSP_IRAM_BYTE_SIZE);
134 134
 	FreeMemoryPages(g_dsp.dram, DSP_DRAM_BYTE_SIZE);
135 135
 	FreeMemoryPages(g_dsp.coef, DSP_COEF_BYTE_SIZE);
136  
-	g_dsp.irom = g_dsp.iram = g_dsp.dram = g_dsp.coef = NULL;
  136
+	g_dsp.irom = g_dsp.iram = g_dsp.dram = g_dsp.coef = nullptr;
137 137
 }
138 138
 
139 139
 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,
142 142
 	g_dsp.step_counter = 0;
143 143
 	cyclesLeft = 0;
144 144
 	init_hax = false;
145  
-	dspjit = NULL;
  145
+	dspjit = nullptr;
146 146
 
147 147
 	g_dsp.irom = (u16*)AllocateMemoryPages(DSP_IROM_BYTE_SIZE);
148 148
 	g_dsp.iram = (u16*)AllocateMemoryPages(DSP_IRAM_BYTE_SIZE);
@@ -218,7 +218,7 @@ void DSPCore_Shutdown()
218 218
 
219 219
 	if(dspjit) {
220 220
 		delete dspjit;
221  
-		dspjit = NULL;
  221
+		dspjit = nullptr;
222 222
 	}
223 223
 	DSPCore_FreeMemoryPages();
224 224
 }
6  Source/Core/Core/DSP/DSPDisassembler.cpp
@@ -208,8 +208,8 @@ bool DSPDisassembler::DisOpcode(const u16 *binbuf, int base_addr, int pass, u16
208 208
 
209 209
 	const u32 op1 = binbuf[*pc & 0x0fff];
210 210
 
211  
-	const DSPOPCTemplate *opc = NULL;
212  
-	const DSPOPCTemplate *opc_ext = NULL;
  211
+	const DSPOPCTemplate *opc = nullptr;
  212
+	const DSPOPCTemplate *opc_ext = nullptr;
213 213
 
214 214
 	// find opcode
215 215
 	for (int j = 0; j < opcodes_size; j++)
@@ -222,7 +222,7 @@ bool DSPDisassembler::DisOpcode(const u16 *binbuf, int base_addr, int pass, u16
222 222
 			break;
223 223
 		}
224 224
 	}
225  
-	const DSPOPCTemplate fake_op = {"CW", 0x0000, 0x0000, nop, NULL, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false};
  225
+	const DSPOPCTemplate fake_op = {"CW", 0x0000, 0x0000, nop, nullptr, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false};
226 226
 	if (!opc)
227 227
 		opc = &fake_op;
228 228
 
10  Source/Core/Core/DSP/DSPEmitter.cpp
@@ -18,7 +18,7 @@
18 18
 
19 19
 DSPEmitter::DSPEmitter() : gpr(*this), storeIndex(-1), storeIndex2(-1)
20 20
 {
21  
-	m_compiledCode = NULL;
  21
+	m_compiledCode = nullptr;
22 22
 
23 23
 	AllocCodeSpace(COMPILED_CODE_SIZE);
24 24
 
@@ -37,7 +37,7 @@
37 37
 	for(int i = 0x0000; i < MAX_BLOCKS; i++)
38 38
 	{
39 39
 		blocks[i] = (DSPCompiledCode)stubEntryPoint;
40  
-		blockLinks[i] = 0;
  40
+		blockLinks[i] = nullptr;
41 41
 		blockSize[i] = 0;
42 42
 	}
43 43
 }
@@ -55,7 +55,7 @@ void DSPEmitter::ClearIRAM()
55 55
 	for(int i = 0x0000; i < 0x1000; i++)
56 56
 	{
57 57
 		blocks[i] = (DSPCompiledCode)stubEntryPoint;
58  
-		blockLinks[i] = 0;
  58
+		blockLinks[i] = nullptr;
59 59
 		blockSize[i] = 0;
60 60
 		unresolvedJumps[i].clear();
61 61
 	}
@@ -71,7 +71,7 @@ void DSPEmitter::ClearIRAMandDSPJITCodespaceReset()
71 71
 	for(int i = 0x0000; i < 0x10000; i++)
72 72
 	{
73 73
 		blocks[i] = (DSPCompiledCode)stubEntryPoint;
74  
-		blockLinks[i] = 0;
  74
+		blockLinks[i] = nullptr;
75 75
 		blockSize[i] = 0;
76 76
 		unresolvedJumps[i].clear();
77 77
 	}
@@ -345,7 +345,7 @@ void DSPEmitter::Compile(u16 start_addr)
345 345
 				{
346 346
 					// Mark the block to be recompiled again
347 347
 					blocks[i] = (DSPCompiledCode)stubEntryPoint;
348  
-					blockLinks[i] = 0;
  348
+					blockLinks[i] = nullptr;
349 349
 					blockSize[i] = 0;
350 350
 				}
351 351
 			}
140  Source/Core/Core/DSP/DSPTables.cpp
@@ -292,7 +292,7 @@ void nop(const UDSPInstruction opc)
292 292
 };
293 293
 
294 294
 const DSPOPCTemplate cw =
295  
-	{"CW",     0x0000, 0x0000, nop, NULL, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false};
  295
+	{"CW",     0x0000, 0x0000, nop, nullptr, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false, false, false, false};
296 296
 
297 297
 // extended opcodes
298 298
 
@@ -353,43 +353,43 @@ void nop(const UDSPInstruction opc)
353 353
 	{0xffae, "COEF_A1_7", "COEF_A1_7",},
354 354
 	{0xffaf, "COEF_A2_7", "COEF_A2_7",},
355 355
 
356  
-	{0xffb0, "0xffb0", 0,},
357  
-	{0xffb1, "0xffb1", 0,},
358  
-	{0xffb2, "0xffb2", 0,},
359  
-	{0xffb3, "0xffb3", 0,},
360  
-	{0xffb4, "0xffb4", 0,},
361  
-	{0xffb5, "0xffb5", 0,},
362  
-	{0xffb6, "0xffb6", 0,},
363  
-	{0xffb7, "0xffb7", 0,},
364  
-	{0xffb8, "0xffb8", 0,},
365  
-	{0xffb9, "0xffb9", 0,},
366  
-	{0xffba, "0xffba", 0,},
367  
-	{0xffbb, "0xffbb", 0,},
368  
-	{0xffbc, "0xffbc", 0,},
369  
-	{0xffbd, "0xffbd", 0,},
370  
-	{0xffbe, "0xffbe", 0,},
371  
-	{0xffbf, "0xffbf", 0,},
372  
-
373  
-	{0xffc0, "0xffc0", 0,},
374  
-	{0xffc1, "0xffc1", 0,},
375  
-	{0xffc2, "0xffc2", 0,},
376  
-	{0xffc3, "0xffc3", 0,},
377  
-	{0xffc4, "0xffc4", 0,},
378  
-	{0xffc5, "0xffc5", 0,},
379  
-	{0xffc6, "0xffc6", 0,},
380  
-	{0xffc7, "0xffc7", 0,},
381  
-	{0xffc8, "0xffc8", 0,},
  356
+	{0xffb0, "0xffb0", nullptr,},
  357
+	{0xffb1, "0xffb1", nullptr,},
  358
+	{0xffb2, "0xffb2", nullptr,},
  359
+	{0xffb3, "0xffb3", nullptr,},
  360
+	{0xffb4, "0xffb4", nullptr,},
  361
+	{0xffb5, "0xffb5", nullptr,},
  362
+	{0xffb6, "0xffb6", nullptr,},
  363
+	{0xffb7, "0xffb7", nullptr,},
  364
+	{0xffb8, "0xffb8", nullptr,},
  365
+	{0xffb9, "0xffb9", nullptr,},
  366
+	{0xffba, "0xffba", nullptr,},
  367
+	{0xffbb, "0xffbb", nullptr,},
  368
+	{0xffbc, "0xffbc", nullptr,},
  369
+	{0xffbd, "0xffbd", nullptr,},
  370
+	{0xffbe, "0xffbe", nullptr,},
  371
+	{0xffbf, "0xffbf", nullptr,},
  372
+
  373
+	{0xffc0, "0xffc0", nullptr,},
  374
+	{0xffc1, "0xffc1", nullptr,},
  375
+	{0xffc2, "0xffc2", nullptr,},
  376
+	{0xffc3, "0xffc3", nullptr,},
  377
+	{0xffc4, "0xffc4", nullptr,},
  378
+	{0xffc5, "0xffc5", nullptr,},
  379
+	{0xffc6, "0xffc6", nullptr,},
  380
+	{0xffc7, "0xffc7", nullptr,},
  381
+	{0xffc8, "0xffc8", nullptr,},
382 382
 	{0xffc9, "DSCR", "DSP DMA Control Reg",},
383  
-	{0xffca, "0xffca", 0,},
  383
+	{0xffca, "0xffca", nullptr,},
384 384
 	{0xffcb, "DSBL", "DSP DMA Block Length",},
385  
-	{0xffcc, "0xffcc", 0,},
  385
+	{0xffcc, "0xffcc", nullptr,},
386 386
 	{0xffcd, "DSPA", "DSP DMA DMEM Address",},
387 387
 	{0xffce, "DSMAH", "DSP DMA Mem Address H",},
388 388
 	{0xffcf, "DSMAL", "DSP DMA Mem Address L",},
389 389
 
390  
-	{0xffd0, "0xffd0",0,},
  390
+	{0xffd0, "0xffd0",nullptr,},
391 391
 	{0xffd1, "SampleFormat", "SampleFormat",},
392  
-	{0xffd2, "0xffd2",0,},
  392
+	{0xffd2, "0xffd2",nullptr,},
393 393
 	{0xffd3, "UnkZelda", "Unk Zelda reads/writes from/to it",},
394 394
 	{0xffd4, "ACSAH", "Accelerator start address H",},
395 395
 	{0xffd5, "ACSAL", "Accelerator start address L",},
@@ -402,36 +402,36 @@ void nop(const UDSPInstruction opc)
402 402
 	{0xffdc, "yn2", "yn2",},
403 403
 	{0xffdd, "ARAM", "Direct Read from ARAM (uses ADPCM)",},
404 404
 	{0xffde, "GAIN", "Gain",},
405  
-	{0xffdf, "0xffdf", 0,},
406  
-
407  
-	{0xffe0, "0xffe0",0,},
408  
-	{0xffe1, "0xffe1",0,},
409  
-	{0xffe2, "0xffe2",0,},
410  
-	{0xffe3, "0xffe3",0,},
411  
-	{0xffe4, "0xffe4",0,},
412  
-	{0xffe5, "0xffe5",0,},
413  
-	{0xffe6, "0xffe6",0,},
414  
-	{0xffe7, "0xffe7",0,},
415  
-	{0xffe8, "0xffe8",0,},
416  
-	{0xffe9, "0xffe9",0,},
417  
-	{0xffea, "0xffea",0,},
418  
-	{0xffeb, "0xffeb",0,},
419  
-	{0xffec, "0xffec",0,},
420  
-	{0xffed, "0xffed",0,},
421  
-	{0xffee, "0xffee",0,},
  405
+	{0xffdf, "0xffdf", nullptr,},
  406
+
  407
+	{0xffe0, "0xffe0",nullptr,},
  408
+	{0xffe1, "0xffe1",nullptr,},
  409
+	{0xffe2, "0xffe2",nullptr,},
  410
+	{0xffe3, "0xffe3",nullptr,},
  411
+	{0xffe4, "0xffe4",nullptr,},
  412
+	{0xffe5, "0xffe5",nullptr,},
  413
+	{0xffe6, "0xffe6",nullptr,},
  414
+	{0xffe7, "0xffe7",nullptr,},
  415
+	{0xffe8, "0xffe8",nullptr,},
  416
+	{0xffe9, "0xffe9",nullptr,},
  417
+	{0xffea, "0xffea",nullptr,},
  418
+	{0xffeb, "0xffeb",nullptr,},
  419
+	{0xffec, "0xffec",nullptr,},
  420
+	{0xffed, "0xffed",nullptr,},
  421
+	{0xffee, "0xffee",nullptr,},
422 422
 	{0xffef, "AMDM", "ARAM DMA Request Mask",},
423 423
 
424  
-	{0xfff0, "0xfff0",0,},
425  
-	{0xfff1, "0xfff1",0,},
426  
-	{0xfff2, "0xfff2",0,},
427  
-	{0xfff3, "0xfff3",0,},
428  
-	{0xfff4, "0xfff4",0,},
429  
-	{0xfff5, "0xfff5",0,},
430  
-	{0xfff6, "0xfff6",0,},
431  
-	{0xfff7, "0xfff7",0,},
432  
-	{0xfff8, "0xfff8",0,},
433  
-	{0xfff9, "0xfff9",0,},
434  
-	{0xfffa, "0xfffa",0,},
  424
+	{0xfff0, "0xfff0",nullptr,},
  425
+	{0xfff1, "0xfff1",nullptr,},
  426
+	{0xfff2, "0xfff2",nullptr,},
  427
+	{0xfff3, "0xfff3",nullptr,},
  428
+	{0xfff4, "0xfff4",nullptr,},
  429
+	{0xfff5, "0xfff5",nullptr,},
  430
+	{0xfff6, "0xfff6",nullptr,},
  431
+	{0xfff7, "0xfff7",nullptr,},
  432
+	{0xfff8, "0xfff8",nullptr,},
  433
+	{0xfff9, "0xfff9",nullptr,},
  434
+	{0xfffa, "0xfffa",nullptr,},
435 435
 	{0xfffb, "DIRQ", "DSP IRQ Request",},
436 436
 	{0xfffc, "DMBH", "DSP Mailbox H",},
437 437
 	{0xfffd, "DMBL", "DSP Mailbox L",},
@@ -492,7 +492,7 @@ const char* pdname(u16 val)
492 492
 {
493 493
 	static char tmpstr[12]; // nasty
494 494
 
495  
-	for (auto& pdlabel : pdlabels)
  495
+	for (const pdlabel_t& pdlabel : pdlabels)
496 496
 	{
497 497
 		if (pdlabel.addr == val)
498 498
 			return pdlabel.name;
@@ -527,31 +527,37 @@ void InitInstructionTable()
527 527
 	{
528 528
 		extOpTable[i] = &cw;
529 529
 
530  
-		for (auto& ext : opcodes_ext)
  530
+		for (const DSPOPCTemplate& ext : opcodes_ext)
531 531
 		{
532 532
 			u16 mask = ext.opcode_mask;
533 533
 			if ((mask & i) == ext.opcode)
534 534
 			{
535 535
 				if (extOpTable[i] == &cw)
  536
+				{
536 537
 					extOpTable[i] = &ext;
  538
+				}
537 539
 				else
538 540
 				{
539 541
 					//if the entry already in the table
540 542
 					//is a strict subset, allow it
541 543
 					if ((extOpTable[i]->opcode_mask | ext.opcode_mask) != extOpTable[i]->opcode_mask)
  544
+					{
542 545
 						ERROR_LOG(DSPLLE, "opcode ext table place %d already in use by %s when inserting %s", i, extOpTable[i]->name, ext.name);
  546
+					}
543 547
 				}
544 548
 			}
545 549
 		}
546 550
 	}
547 551
 
548 552
 	// op table
549  
-	for (int i = 0; i < OPTABLE_SIZE; i++)
550  
-		opTable[i] = &cw;
  553
+	for (const DSPOPCTemplate*& opcode : opTable)
  554
+	{
  555
+		opcode = &cw;
  556
+	}
551 557
 
552 558
 	for (int i = 0; i < OPTABLE_SIZE; i++)
553 559
 	{
554  
-		for (auto& opcode : opcodes)
  560
+		for (const DSPOPCTemplate& opcode : opcodes)
555 561
 		{
556 562
 			u16 mask = opcode.opcode_mask;
557 563
 			if ((mask & i) == opcode.opcode)
@@ -564,6 +570,8 @@ void InitInstructionTable()
564 570
 		}
565 571
 	}
566 572
 
567  
-	for (int i=0; i < WRITEBACKLOGSIZE; i++)
568  
-		writeBackLogIdx[i] = -1;
  573
+	for (int& elem : writeBackLogIdx)
  574
+	{
  575
+		elem = -1;
  576
+	}
569 577
 }
2  Source/Core/Core/DSP/Jit/DSPJitBranch.cpp
@@ -95,7 +95,7 @@ static void WriteBlockLink(DSPEmitter& emitter, u16 dest)
95 95
 	// Jump directly to the called block if it has already been compiled.
96 96
 	if (!(dest >= emitter.startAddr && dest <= emitter.compilePC))
97 97
 	{
98  
-		if (emitter.blockLinks[dest] != 0 )
  98
+		if (emitter.blockLinks[dest] != nullptr )
99 99
 		{
100 100
 			emitter.gpr.flushRegs();
101 101
 			// Check if we have enough cycles to execute the next block
16  Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp
@@ -71,7 +71,7 @@ static void *reg_ptr(int reg)
71 71
 #endif
72 72
 	default:
73 73
 		_assert_msg_(DSPLLE, 0, "cannot happen");
74  
-		return NULL;
  74
+		return nullptr;
75 75
 	}
76 76
 }
77 77
 
@@ -81,7 +81,7 @@ static void *reg_ptr(int reg)
81 81
 DSPJitRegCache::DSPJitRegCache(DSPEmitter &_emitter)
82 82
 	: emitter(_emitter), temporary(false), merged(false)
83 83
 {
84  
-	for(auto& xreg : xregs)
  84
+	for (X64CachedReg& xreg : xregs)
85 85
 	{
86 86
 		xreg.guest_reg = DSP_REG_STATIC;
87 87
 		xreg.pushed = false;
@@ -475,7 +475,7 @@ void DSPJitRegCache::pushRegs()
475 475
 	}
476 476
 
477 477
 	int push_count = 0;
478  
-	for(auto& xreg : xregs)
  478
+	for (X64CachedReg& xreg : xregs)
479 479
 	{
480 480
 		if (xreg.guest_reg == DSP_REG_USED)
481 481
 			push_count++;
@@ -533,7 +533,7 @@ void DSPJitRegCache::popRegs() {
533 533
 	emitter.MOV(32, M(&ebp_store), R(EBP));
534 534
 #endif
535 535
 	int push_count = 0;
536  
-	for(auto& xreg : xregs)
  536
+	for (X64CachedReg& xreg : xregs)
537 537
 	{
538 538
 		if (xreg.pushed)
539 539
 		{
@@ -1062,9 +1062,8 @@ X64Reg DSPJitRegCache::spillXReg()
1062 1062
 {
1063 1063
 	int max_use_ctr_diff = 0;
1064 1064
 	X64Reg least_recent_use_reg = INVALID_REG;
1065  
-	for(size_t i = 0; i < sizeof(alloc_order)/sizeof(alloc_order[0]); i++)
  1065
+	for (X64Reg reg : alloc_order)
1066 1066
 	{
1067  
-		X64Reg reg = alloc_order[i];
1068 1067
 		if (xregs[reg].guest_reg <= DSP_REG_MAX_MEM_BACKED &&
1069 1068
 		    !regs[xregs[reg].guest_reg].used)
1070 1069
 		{
@@ -1084,9 +1083,8 @@ X64Reg DSPJitRegCache::spillXReg()
1084 1083
 	}
1085 1084
 
1086 1085
 	//just choose one.
1087  
-	for(size_t i = 0; i < sizeof(alloc_order)/sizeof(alloc_order[0]); i++)
  1086
+	for (X64Reg reg : alloc_order)
1088 1087
 	{
1089  
-		X64Reg reg = alloc_order[i];
1090 1088
 		if (xregs[reg].guest_reg <= DSP_REG_MAX_MEM_BACKED &&
1091 1089
 		    !regs[xregs[reg].guest_reg].used)
1092 1090
 		{
@@ -1118,7 +1116,7 @@ void DSPJitRegCache::spillXReg(X64Reg reg)
1118 1116
 
1119 1117
 X64Reg DSPJitRegCache::findFreeXReg()
1120 1118
 {
1121  
-	for(auto& x : alloc_order)
  1119
+	for (X64Reg x : alloc_order)
1122 1120
 	{
1123 1121
 		if (xregs[x].guest_reg == DSP_REG_NONE)
1124 1122
 		{
4  Source/Core/Core/DSP/Jit/DSPJitUtil.cpp
@@ -31,7 +31,7 @@ void DSPEmitter::dsp_reg_stack_push(int stack_reg)
31 31
 	MOVZX(32, 8, EAX, R(AL));
32 32
 #endif
33 33
 	MOV(16, MComplex(EAX, EAX, 1,
34  
-			 PtrOffset(&g_dsp.reg_stack[stack_reg][0],0)), R(tmp1));
  34
+			 PtrOffset(&g_dsp.reg_stack[stack_reg][0],nullptr)), R(tmp1));
35 35
 	gpr.putXReg(tmp1);
36 36
 }
37 37
 
@@ -50,7 +50,7 @@ void DSPEmitter::dsp_reg_stack_pop(int stack_reg)
50 50
 	MOVZX(32, 8, EAX, R(AL));
51 51
 #endif
52 52
 	MOV(16, R(tmp1), MComplex(EAX, EAX, 1,
53  
-				  PtrOffset(&g_dsp.reg_stack[stack_reg][0],0)));
  53
+				  PtrOffset(&g_dsp.reg_stack[stack_reg][0],nullptr)));
54 54
 	MOV(16, M(&g_dsp.r.st[stack_reg]), R(tmp1));
55 55
 	gpr.putXReg(tmp1);
56 56
 
6  Source/Core/Core/Debugger/Dump.cpp
@@ -10,7 +10,7 @@
10 10
 #include "Core/Debugger/Dump.h"
11 11
 
12 12
 CDump::CDump(const char* _szFilename) :
13  
-	m_pData(NULL)
  13
+	m_pData(nullptr)
14 14
 {
15 15
 	File::IOFile pStream(_szFilename, "rb");
16 16
 	if (pStream)
@@ -25,10 +25,10 @@
25 25
 
26 26
 CDump::~CDump(void)
27 27
 {
28  
-	if (m_pData != NULL)
  28
+	if (m_pData != nullptr)
29 29
 	{
30 30
 		delete[] m_pData;
31  
-		m_pData = NULL;
  31
+		m_pData = nullptr;
32 32
 	}
33 33
 }
34 34
 
48  Source/Core/Core/Debugger/PPCDebugInterface.h
@@ -14,32 +14,32 @@ class PPCDebugInterface : public DebugInterface
14 14
 {
15 15
 public:
16 16
 	PPCDebugInterface(){}
17  
-	virtual void Disassemble(unsigned int address, char *dest, int max_size) final;
18  
-	virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final;
19  
-	virtual int GetInstructionSize(int /*instruction*/) final {return 4;}
20  
-	virtual bool IsAlive() final;
21  
-	virtual bool IsBreakpoint(unsigned int address) final;
22  
-	virtual void SetBreakpoint(unsigned int address) final;
23  
-	virtual void ClearBreakpoint(unsigned int address) final;
24  
-	virtual void ClearAllBreakpoints() final;
25  
-	virtual void ToggleBreakpoint(unsigned int address) final;
26  
-	virtual void ClearAllMemChecks() final;
27  
-	virtual bool IsMemCheck(unsigned int address) final;
28  
-	virtual void ToggleMemCheck(unsigned int address) final;
29  
-	virtual unsigned int ReadMemory(unsigned int address) final;
  17
+	virtual void Disassemble(unsigned int address, char *dest, int max_size) final override;
  18
+	virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final override;
  19
+	virtual int GetInstructionSize(int /*instruction*/) final override {return 4;}
  20
+	virtual bool IsAlive() final override;
  21
+	virtual bool IsBreakpoint(unsigned int address) final override;
  22
+	virtual void SetBreakpoint(unsigned int address) final override;
  23
+	virtual void ClearBreakpoint(unsigned int address) final override;
  24
+	virtual void ClearAllBreakpoints() final override;
  25
+	virtual void ToggleBreakpoint(unsigned int address) final override;
  26
+	virtual void ClearAllMemChecks() final override;
  27
+	virtual bool IsMemCheck(unsigned int address) final override;
  28
+	virtual void ToggleMemCheck(unsigned int address) final override;
  29
+	virtual unsigned int ReadMemory(unsigned int address) final override;
30 30
 
31 31
 	enum {
32 32
 		EXTRAMEM_ARAM = 1,
33 33
 	};
34  
-	virtual unsigned int ReadExtraMemory(int memory, unsigned int address) final;
35  
-	virtual unsigned int ReadInstruction(unsigned int address) final;
36  
-	virtual unsigned int GetPC() final;
37  
-	virtual void SetPC(unsigned int address) final;
38  
-	virtual void Step() final {}
39  
-	virtual void BreakNow() final;
40  
-	virtual void RunToBreakpoint() final;
41  
-	virtual void InsertBLR(unsigned int address, unsigned int value) final;
42  
-	virtual int GetColor(unsigned int address) final;
43  
-	virtual std::string GetDescription(unsigned int address) final;
44  
-	virtual void ShowJitResults(u32 address) final;
  34
+	virtual unsigned int ReadExtraMemory(int memory, unsigned int address) final override;
  35
+	virtual unsigned int ReadInstruction(unsigned int address) final override;
  36
+	virtual unsigned int GetPC() final override;
  37
+	virtual void SetPC(unsigned int address) final override;
  38
+	virtual void Step() final override {}
  39
+	virtual void BreakNow() final override;
  40
+	virtual void RunToBreakpoint() final override;
  41
+	virtual void InsertBLR(unsigned int address, unsigned int value) final override;
  42
+	virtual int GetColor(unsigned int address) final override;
  43
+	virtual std::string GetDescription(unsigned int address) final override;
  44
+	virtual void ShowJitResults(u32 address) final override;
45 45
 };
18  Source/Core/Core/FifoPlayer/FifoDataFile.cpp
@@ -52,8 +52,7 @@ bool FifoDataFile::Save(const char *filename)
52 52
 
53 53
 	// Add space for frame list
54 54
 	u64 frameListOffset = file.Tell();
55  
-	for (size_t i = 0; i < m_Frames.size(); i++)
56  
-		PadFile(sizeof(FileFrameInfo), file);
  55
+	PadFile(m_Frames.size() * sizeof(FileFrameInfo), file);
57 56
 
58 57
 	u64 bpMemOffset = file.Tell();
59 58
 	file.WriteArray(m_BPMem, BP_MEM_SIZE);
@@ -130,7 +129,7 @@ FifoDataFile *FifoDataFile::Load(const std::string &filename, bool flagsOnly)
130 129
 	File::IOFile file;
131 130
 	file.Open(filename, "rb");
132 131
 	if (!file)
133  
-		return NULL;
  132
+		return nullptr;
134 133
 
135 134
 	FileHeader header;
136 135
 	file.ReadBytes(&header, sizeof(header));
@@ -138,7 +137,7 @@ FifoDataFile *FifoDataFile::Load(const std::string &filename, bool flagsOnly)
138 137
 	if (header.fileId != FILE_ID || header.min_loader_version > VERSION_NUMBER)
139 138
 	{
140 139
 		file.Close();
141  
-		return NULL;
  140
+		return nullptr;
142 141
 	}
143 142
 
144 143
 	FifoDataFile* dataFile = new FifoDataFile;
@@ -194,12 +193,10 @@ FifoDataFile *FifoDataFile::Load(const std::string &filename, bool flagsOnly)
194 193
 	return dataFile;
195 194
 }
196 195
 
197  
-void FifoDataFile::PadFile(u32 numBytes, File::IOFile &file)
  196
+void FifoDataFile::PadFile(u32 numBytes, File::IOFile& file)
198 197
 {
199  
-	FILE *handle = file.GetHandle();
200  
-
201  
-	for (u32 i = 0; i < numBytes; ++i)
202  
-		fputc(0, handle);
  198
+	const u8 zero = 0;
  199
+	fwrite(&zero, sizeof(zero), numBytes, file.GetHandle());
203 200
 }
204 201
 
205 202
 void FifoDataFile::SetFlag(u32 flag, bool set)
@@ -219,8 +216,7 @@ u64 FifoDataFile::WriteMemoryUpdates(const std::vector<MemoryUpdate> &memUpdates
219 216
 {
220 217
 	// Add space for memory update list
221 218
 	u64 updateListOffset = file.Tell();
222  
-	for (size_t i = 0; i < memUpdates.size(); i++)
223  
-		PadFile(sizeof(FileMemoryUpdate), file);
  219
+	PadFile(memUpdates.size() * sizeof(FileMemoryUpdate), file);
224 220
 
225 221
 	for (unsigned int i = 0; i < memUpdates.size(); ++i)
226 222
 	{
12  Source/Core/Core/FifoPlayer/FifoPlayer.cpp
@@ -39,13 +39,13 @@ bool FifoPlayer::Open(const std::string& filename)
39 39
 	if (m_FileLoadedCb)
40 40
 		m_FileLoadedCb();
41 41
 
42  
-	return (m_File != NULL);
  42
+	return (m_File != nullptr);
43 43
 }
44 44
 
45 45
 void FifoPlayer::Close()
46 46
 {
47 47
 	delete m_File;
48  
-	m_File = NULL;
  48
+	m_File = nullptr;
49 49
 
50 50
 	m_FrameRangeStart = 0;
51 51
 	m_FrameRangeEnd = 0;
@@ -158,9 +158,9 @@ void FifoPlayer::SetFrameRangeEnd(u32 end)
158 158
 	m_ObjectRangeStart(0),
159 159
 	m_ObjectRangeEnd(10000),
160 160
 	m_EarlyMemoryUpdates(false),
161  
-	m_FileLoadedCb(NULL),
162  
-	m_FrameWrittenCb(NULL),
163  
-	m_File(NULL)
  161
+	m_FileLoadedCb(nullptr),
  162
+	m_FrameWrittenCb(nullptr),
  163
+	m_File(nullptr)
164 164
 {
165 165
 	m_Loop = SConfig::GetInstance().m_LocalCoreStartupParameter.bLoopFifoReplay;
166 166
 }
@@ -271,7 +271,7 @@ void FifoPlayer::WriteAllMemoryUpdates()
271 271
 
272 272
 void FifoPlayer::WriteMemory(const MemoryUpdate& memUpdate)
273 273
 {
274  
-	u8 *mem = NULL;
  274
+	u8 *mem = nullptr;
275 275
 
276 276
 	if (memUpdate.address & 0x10000000)
277 277
 		mem = &Memory::m_pEXRAM[memUpdate.address & Memory::EXRAM_MASK];
2  Source/Core/Core/FifoPlayer/FifoRecordAnalyzer.cpp
@@ -16,7 +16,7 @@
16 16
 
17 17
 FifoRecordAnalyzer::FifoRecordAnalyzer() :
18 18
 	m_DrawingObject(false),
19  
-	m_BpMem(NULL)
  19
+	m_BpMem(nullptr)
20 20
 {
21 21
 }
22 22
 
8  Source/Core/Core/FifoPlayer/FifoRecorder.cpp
@@ -19,13 +19,13 @@
19 19
 	m_WasRecording(false),
20 20
 	m_RequestedRecordingEnd(false),
21 21
 	m_RecordFramesRemaining(0),
22  
-	m_FinishedCb(NULL),
23  
-	m_File(NULL),
  22
+	m_FinishedCb(nullptr),
  23
+	m_File(nullptr),
24 24
 	m_SkipNextData(true),
25 25
 	m_SkipFutureData(true),
26 26
 	m_FrameEnded(false),
27  
-	m_Ram(NULL),
28  
-	m_ExRam(NULL)
  27
+	m_Ram(nullptr),
  28
+	m_ExRam(nullptr)
29 29
 {
30 30
 }
31 31
 
6  Source/Core/Core/HLE/HLE.cpp
@@ -88,7 +88,7 @@ void PatchFunctions()
88 88
 	for (u32 i = 0; i < sizeof(OSPatches) / sizeof(SPatch); i++)
89 89
 	{
90 90
 		Symbol *symbol = g_symbolDB.GetSymbolFromName(OSPatches[i].m_szPatchName);
91  
-		if (symbol > 0)
  91
+		if (symbol)
92 92
 		{
93 93
 			for (u32 addr = symbol->address; addr < symbol->address + symbol->size; addr += 4)
94 94
 			{
@@ -103,7 +103,7 @@ void PatchFunctions()
103 103
 		for (size_t i = 1; i < sizeof(OSBreakPoints) / sizeof(SPatch); i++)
104 104
 		{
105 105
 			Symbol *symbol = g_symbolDB.GetSymbolFromName(OSPatches[i].m_szPatchName);
106  
-			if (symbol > 0)
  106
+			if (symbol)
107 107
 			{
108 108
 				PowerPC::breakpoints.Add(symbol->address, false);
109 109
 				INFO_LOG(OSHLE, "Adding BP to %s %08x", OSBreakPoints[i].m_szPatchName, symbol->address);
@@ -159,7 +159,7 @@ bool IsEnabled(int flags)
159 159
 u32 UnPatch(std::string patchName)
160 160
 {
161 161
 	Symbol *symbol = g_symbolDB.GetSymbolFromName(patchName.c_str());
162  
-	if (symbol > 0)
  162
+	if (symbol)
163 163
 	{
164 164
 		for (u32 addr = symbol->address; addr < symbol->address + symbol->size; addr += 4)
165 165
 		{
2  Source/Core/Core/HW/BBA-TAP/TAP_Unix.cpp
@@ -120,7 +120,7 @@ void ReadThreadHandler(CEXIETHERNET* self)
120 120
 		struct timeval timeout;
121 121
 		timeout.tv_sec = 0;
122 122
 		timeout.tv_usec = 50000;
123  
-		if (select(self->fd + 1, &rfds, NULL, NULL, &timeout) <= 0)
  123
+		if (select(self->fd + 1, &rfds, nullptr, nullptr, &timeout) <= 0)
124 124
 			continue;
125 125
 
126 126
 		int readBytes = read(self->fd, self->mRecvBuffer, BBA_RECV_SIZE);
16  Source/Core/Core/HW/BBA-TAP/TAP_Win32.cpp
@@ -35,7 +35,7 @@ bool IsTAPDevice(const TCHAR *guid)
35 35
 		DWORD data_type;
36 36
 
37 37
 		len = sizeof(enum_name);
38  
-		status = RegEnumKeyEx(netcard_key, i, enum_name, &len, NULL, NULL, NULL, NULL);
  38
+		status = RegEnumKeyEx(netcard_key, i, enum_name, &len, nullptr, nullptr, nullptr, nullptr);
39 39
 
40 40
 		if (status == ERROR_NO_MORE_ITEMS)
41 41
 			break;
@@ -53,13 +53,13 @@ bool IsTAPDevice(const TCHAR *guid)
53 53
 		else
54 54
 		{
55 55
 			len = sizeof(component_id);
56  
-			status = RegQueryValueEx(unit_key, component_id_string, NULL,
  56
+			status = RegQueryValueEx(unit_key, component_id_string, nullptr,
57 57
 				&data_type, (LPBYTE)component_id, &len);
58 58
 
59 59
 			if (!(status != ERROR_SUCCESS || data_type != REG_SZ))
60 60
 			{
61 61
 				len = sizeof(net_cfg_instance_id);
62  
-				status = RegQueryValueEx(unit_key, net_cfg_instance_id_string, NULL,
  62
+				status = RegQueryValueEx(unit_key, net_cfg_instance_id_string, nullptr,
63 63
 					&data_type, (LPBYTE)net_cfg_instance_id, &len);
64 64
 
65 65
 				if (status == ERROR_SUCCESS && data_type == REG_SZ)
@@ -106,7 +106,7 @@ bool GetGUIDs(std::vector<std::basic_string<TCHAR>>& guids)
106 106
 
107 107
 		len = sizeof(enum_name);
108 108
 		status = RegEnumKeyEx(control_net_key, i, enum_name,
109  
-			&len, NULL, NULL, NULL, NULL);
  109
+			&len, nullptr, nullptr, nullptr, nullptr);
110 110
 
111 111
 		if (status == ERROR_NO_MORE_ITEMS)
112 112
 			break;
@@ -122,7 +122,7 @@ bool GetGUIDs(std::vector<std::basic_string<TCHAR>>& guids)
122 122
 		if (status == ERROR_SUCCESS)
123 123
 		{
124 124
 			len = sizeof(name_data);
125  
-			status = RegQueryValueEx(connection_key, name_string, NULL,
  125
+			status = RegQueryValueEx(connection_key, name_string, nullptr,
126 126
 				&name_type, (LPBYTE)name_data, &len);
127 127
 
128 128
 			if (status != ERROR_SUCCESS || name_type != REG_SZ)
@@ -199,7 +199,7 @@ bool CEXIETHERNET::Activate()
199 199
 	/* get driver version info */
200 200
 	ULONG info[3];
201 201
 	if (DeviceIoControl(mHAdapter, TAP_IOCTL_GET_VERSION,
202  
-		&info, sizeof(info), &info, sizeof(info), &len, NULL))
  202
+		&info, sizeof(info), &info, sizeof(info), &len, nullptr))
203 203
 	{
204 204
 		INFO_LOG(SP1, "TAP-Win32 Driver Version %d.%d %s",
205 205
 			info[0], info[1], info[2] ? "(DEBUG)" : "");
@@ -217,7 +217,7 @@ bool CEXIETHERNET::Activate()
217 217
 	/* set driver media status to 'connected' */
218 218
 	ULONG status = TRUE;
219 219
 	if (!DeviceIoControl(mHAdapter, TAP_IOCTL_SET_MEDIA_STATUS,
220  
-		&status, sizeof(status), &status, sizeof(status), &len, NULL))
  220
+		&status, sizeof(status), &status, sizeof(status), &len, nullptr))
221 221
 	{
222 222
 		ERROR_LOG(SP1, "WARNING: The TAP-Win32 driver rejected a"
223 223
 			"TAP_IOCTL_SET_MEDIA_STATUS DeviceIoControl call.");
@@ -283,7 +283,7 @@ bool CEXIETHERNET::RecvInit()
283 283
 {
284 284
 	// Set up recv event
285 285
 
286  
-	if ((mHRecvEvent = CreateEvent(NULL, false, false, NULL)) == NULL)
  286
+	if ((mHRecvEvent = CreateEvent(nullptr, false, false, nullptr)) == nullptr)
287 287
 	{
288 288
 		ERROR_LOG(SP1, "Failed to create recv event:%x", GetLastError());
289 289
 		return false;
8  Source/Core/Core/HW/CPU.cpp
@@ -18,20 +18,20 @@
18 18
 namespace
19 19
 {
20 20
 	static Common::Event m_StepEvent;
21  
-	static Common::Event *m_SyncEvent = NULL;
  21
+	static Common::Event *m_SyncEvent = nullptr;
22 22
 	static std::mutex m_csCpuOccupied;
23 23
 }
24 24
 
25 25
 void CCPU::Init(int cpu_core)
26 26
 {
27 27
 	PowerPC::Init(cpu_core);
28  
-	m_SyncEvent = NULL;
  28
+	m_SyncEvent = nullptr;
29 29
 }
30 30
 
31 31
 void CCPU::Shutdown()
32 32
 {
33 33
 	PowerPC::Shutdown();
34  
-	m_SyncEvent = NULL;
  34
+	m_SyncEvent = nullptr;
35 35
 }
36 36
 
37 37
 void CCPU::Run()
@@ -68,7 +68,7 @@ void CCPU::Run()
68 68
 			if (m_SyncEvent)
69 69
 			{
70 70
 				m_SyncEvent->Set();
71  
-				m_SyncEvent = NULL;
  71
+				m_SyncEvent = nullptr;
72 72
 			}
73 73
 			Host_UpdateDisasmDialog();
74 74
 			break;
2  Source/Core/Core/HW/CPU.h
@@ -28,7 +28,7 @@ class CCPU
28 28
 	static void Reset();
29 29
 
30 30
 	// StepOpcode (Steps one Opcode)
31  
-	static void StepOpcode(Common::Event *event = 0);
  31
+	static void StepOpcode(Common::Event *event = nullptr);
32 32
 
33 33
 	// one step only
34 34
 	static void SingleStep();
6  Source/Core/Core/HW/DSP.cpp
@@ -174,7 +174,7 @@ struct ARAMInfo
174 174
 		wii_mode = false;
175 175
 		size = ARAM_SIZE;
176 176
 		mask = ARAM_MASK;
177  
-		ptr = NULL;
  177
+		ptr = nullptr;
178 178
 	}
179 179
 };
180 180
 
@@ -282,12 +282,12 @@ void Shutdown()
282 282
 	if (!g_ARAM.wii_mode)
283 283
 	{
284 284
 		FreeMemoryPages(g_ARAM.ptr, g_ARAM.size);
285  
-		g_ARAM.ptr = NULL;
  285
+		g_ARAM.ptr = nullptr;
286 286
 	}
287 287
 
288 288
 	dsp_emulator->Shutdown();
289 289
 	delete dsp_emulator;
290  
-	dsp_emulator = NULL;
  290
+	dsp_emulator = nullptr;
291 291
 }
292 292
 
293 293
 void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
20  Source/Core/Core/HW/DSPHLE/DSPHLE.cpp
@@ -21,7 +21,7 @@
21 21
 DSPHLE::DSPHLE()
22 22
 {
23 23
 	m_InitMixer = false;
24  
-	soundStream = NULL;
  24
+	soundStream = nullptr;
25 25
 }
26 26
 
27 27
 // Mailbox utility
@@ -46,8 +46,8 @@ bool DSPHLE::Initialize(void *hWnd, bool bWii, bool bDSPThread)
46 46
 {
47 47
 	m_hWnd = hWnd;
48 48
 	m_bWii = bWii;
49  
-	m_pUCode = NULL;
50  
-	m_lastUCode = NULL;
  49
+	m_pUCode = nullptr;
  50
+	m_lastUCode = nullptr;
51 51
 	m_bHalt = false;
52 52
 	m_bAssertInt = false;
53 53
 
@@ -74,7 +74,7 @@ void DSPHLE::DSP_Update(int cycles)
74 74
 {
75 75
 	// This is called OFTEN - better not do anything expensive!
76 76
 	// ~1/6th as many cycles as the period PPC-side.
77  
-	if (m_pUCode != NULL)
  77
+	if (m_pUCode != nullptr)
78 78
 		m_pUCode->Update(cycles / 6);
79 79
 }
80 80
 
@@ -82,7 +82,7 @@ u32 DSPHLE::DSP_UpdateRate()
82 82
 {
83 83
 	// AX HLE uses 3ms (Wii) or 5ms (GC) timing period
84 84
 	int fields = VideoInterface::GetNumFields();
85  
-	if (m_pUCode != NULL)
  85
+	if (m_pUCode != nullptr)
86 86
 		return (SystemTimers::GetTicksPerSecond() / 1000) * m_pUCode->GetUpdateMs() / fields;
87 87
 	else
88 88
 		return SystemTimers::GetTicksPerSecond() / 1000;
@@ -90,7 +90,7 @@ u32 DSPHLE::DSP_UpdateRate()
90 90
 
91 91
 void DSPHLE::SendMailToDSP(u32 _uMail)
92 92
 {
93  
-	if (m_pUCode != NULL) {
  93
+	if (m_pUCode != nullptr) {
94 94
 		DEBUG_LOG(DSP_MAIL, "CPU writes 0x%08x", _uMail);
95 95
 		m_pUCode->HandleMail(_uMail);
96 96
 	}
@@ -105,7 +105,7 @@ void DSPHLE::SetUCode(u32 _crc)
105 105
 {
106 106
 	delete m_pUCode;
107 107
 
108  
-	m_pUCode = NULL;
  108
+	m_pUCode = nullptr;
109 109
 	m_MailHandler.Clear();
110 110
 	m_pUCode = UCodeFactory(_crc, this, m_bWii);
111 111
 }
@@ -117,7 +117,7 @@ void DSPHLE::SwapUCode(u32 _crc)
117 117
 {
118 118
 	m_MailHandler.Clear();
119 119
 
120  
-	if (m_lastUCode == NULL)
  120
+	if (m_lastUCode == nullptr)
121 121
 	{
122 122
 		m_lastUCode = m_pUCode;
123 123
 		m_pUCode = UCodeFactory(_crc, this, m_bWii);
@@ -126,7 +126,7 @@ void DSPHLE::SwapUCode(u32 _crc)
126 126
 	{
127 127
 		delete m_pUCode;
128 128
 		m_pUCode = m_lastUCode;
129  
-		m_lastUCode = NULL;
  129
+		m_lastUCode = nullptr;
130 130
 	}
131 131
 }
132 132
 
@@ -154,7 +154,7 @@ void DSPHLE::DoState(PointerWrap &p)
154 154
 			AudioCommon::PauseAndLock(false);
155 155
 			soundStream->Stop();
156 156
 			delete soundStream;
157  
-			soundStream = NULL;
  157
+			soundStream = nullptr;
158 158
 		}
159 159
 	}
160 160
 
4  Source/Core/Core/HW/DSPHLE/UCodes/UCode_AX.cpp
@@ -468,7 +468,7 @@ void CUCode_AX::ProcessPBList(u32 pb_addr)
468 468
 			ApplyUpdatesForMs(curr_ms, (u16*)&pb, pb.updates.num_updates, updates);
469 469
 
470 470
 			ProcessVoice(pb, buffers, spms, ConvertMixerControl(pb.mixer_control),
471  
-			             m_coeffs_available ? m_coeffs : NULL);
  471
+			             m_coeffs_available ? m_coeffs : nullptr);
472 472
 
473 473
 			// Forward the buffers
474 474
 			for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i)
@@ -482,7 +482,7 @@ void CUCode_AX::ProcessPBList(u32 pb_addr)
482 482
 
483 483
 void CUCode_AX::MixAUXSamples(int aux_id, u32 write_addr, u32 read_addr)
484 484
 {
485  
-	int* buffers[3] = { 0 };
  485
+	int* buffers[3] = { nullptr };
486 486
 
487 487
 	switch (aux_id)
488 488
 	{
10  Source/Core/Core/HW/DSPHLE/UCodes/UCode_AXWii.cpp
@@ -20,8 +20,8 @@
20 20
 	: CUCode_AX(dsp_hle, l_CRC),
21 21
 	  m_last_main_volume(0x8000)
22 22
 {
23  
-	for (int i = 0; i < 3; ++i)
24  
-		m_last_aux_volumes[i] = 0x8000;
  23
+	for (u16& volume : m_last_aux_volumes)
  24
+		volume = 0x8000;
25 25
 
26 26
 	WARN_LOG(DSPHLE, "Instantiating CUCode_AXWii");
27 27
 
@@ -467,7 +467,7 @@ void CUCode_AXWii::ProcessPBList(u32 pb_addr)
467 467
 				ApplyUpdatesForMs(curr_ms, (u16*)&pb, num_updates, updates);
468 468
 				ProcessVoice(pb, buffers, 32,
469 469
 				             ConvertMixerControl(HILO_TO_32(pb.mixer_control)),
470  
-				             m_coeffs_available ? m_coeffs : NULL);
  470
+				             m_coeffs_available ? m_coeffs : nullptr);
471 471
 
472 472
 				// Forward the buffers
473 473
 				for (u32 i = 0; i < sizeof (buffers.ptrs) / sizeof (buffers.ptrs[0]); ++i)
@@ -479,7 +479,7 @@ void CUCode_AXWii::ProcessPBList(u32 pb_addr)
479 479
 		{
480 480
 			ProcessVoice(pb, buffers, 96,
481 481
 			             ConvertMixerControl(HILO_TO_32(pb.mixer_control)),
482  
-			             m_coeffs_available ? m_coeffs : NULL);
  482
+			             m_coeffs_available ? m_coeffs : nullptr);
483 483
 		}
484 484
 
485 485
 		WritePB(pb_addr, pb);
@@ -493,7 +493,7 @@ void CUCode_AXWii::MixAUXSamples(int aux_id, u32 write_addr, u32 read_addr, u16
493 493
 	GenerateVolumeRamp(volume_ramp, m_last_aux_volumes[aux_id], volume, 96);
494 494
 	m_last_aux_volumes[aux_id] = volume;
495 495
 
496  
-	int* buffers[3] = { 0 };
  496
+	int* buffers[3] = { nullptr };
497 497
 	int* main_buffers[3] = {
498 498
 		m_samples_left,
499 499
 		m_samples_right,
2  Source/Core/Core/HW/DSPHLE/UCodes/UCodes.cpp
@@ -99,7 +99,7 @@ IUCode* UCodeFactory(u32 _CRC, DSPHLE *dsp_hle, bool bWii)
99 99
 		break;
100 100
 	}
101 101
 
102  
-	return NULL;
  102
+	return nullptr;
103 103
 }
104 104
 
105 105
 bool IUCode::NeedsResumeMail()
42  Source/Core/Core/HW/DSPLLE/DSPDebugInterface.h
@@ -14,25 +14,25 @@ class DSPDebugInterface : public DebugInterface
14 14
 {
15 15
 public:
16 16
 	DSPDebugInterface(){}
17  
-	virtual void Disassemble(unsigned int address, char *dest, int max_size) final;
18  
-	virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final;
19  
-	virtual int GetInstructionSize(int instruction) final {return 1;}
20  
-	virtual bool IsAlive() final;
21  
-	virtual bool IsBreakpoint(unsigned int address) final;
22  
-	virtual void SetBreakpoint(unsigned int address) final;
23  
-	virtual void ClearBreakpoint(unsigned int address) final;
24  
-	virtual void ClearAllBreakpoints() final;
25  
-	virtual void ToggleBreakpoint(unsigned int address) final;
26  
-	virtual void ClearAllMemChecks() final;
27  
-	virtual bool IsMemCheck(unsigned int address) final;
28  
-	virtual void ToggleMemCheck(unsigned int address) final;
29  
-	virtual unsigned int ReadMemory(unsigned int address) final;
30  
-	virtual unsigned int ReadInstruction(unsigned int address) final;
31  
-	virtual unsigned int GetPC() final;
32  
-	virtual void SetPC(unsigned int address) final;
33  
-	virtual void Step() final {}
34  
-	virtual void RunToBreakpoint() final;
35  
-	virtual void InsertBLR(unsigned int address, unsigned int value) final;
36  
-	virtual int GetColor(unsigned int address) final;
37  
-	virtual std::string GetDescription(unsigned int address) final;
  17
+	virtual void Disassemble(unsigned int address, char *dest, int max_size) final override;
  18
+	virtual void GetRawMemoryString(int memory, unsigned int address, char *dest, int max_size) final override;
  19
+	virtual int GetInstructionSize(int instruction) final override {return 1;}
  20
+	virtual bool IsAlive() final override;
  21
+	virtual bool IsBreakpoint(unsigned int address) final override;
  22
+	virtual void SetBreakpoint(unsigned int address) final override;
  23
+	virtual void ClearBreakpoint(unsigned int address) final override;
  24
+	virtual void ClearAllBreakpoints() final override;
  25
+	virtual void ToggleBreakpoint(unsigned int address) final override;
  26
+	virtual void ClearAllMemChecks() final override;
  27
+	virtual bool IsMemCheck(unsigned int address) final override;
  28
+	virtual void ToggleMemCheck(unsigned int address) final override;
  29
+	virtual unsigned int ReadMemory(unsigned int address) final override;
  30
+	virtual unsigned int ReadInstruction(unsigned int address) final override;
  31
+	virtual unsigned int GetPC() final override;
  32
+	virtual void SetPC(unsigned int address) final override;
  33
+	virtual void Step() final override {}
  34
+	virtual void RunToBreakpoint() final override;
  35
+	virtual void InsertBLR(unsigned int address, unsigned int value) final override;
  36
+	virtual int GetColor(unsigned int address) final override;
  37
+	virtual std::string GetDescription(unsigned int address) final override;
38 38
 };
4  Source/Core/Core/HW/DSPLLE/DSPLLE.cpp
@@ -33,7 +33,7 @@
33 33
 
34 34
 DSPLLE::DSPLLE()
35 35
 {
36  
-	soundStream = NULL;
  36
+	soundStream = nullptr;
37 37
 	m_InitMixer = false;
38 38
 	m_bIsRunning = false;
39 39
 	m_cycle_count = 0;
@@ -95,7 +95,7 @@ void DSPLLE::DoState(PointerWrap &p)
95 95
 			AudioCommon::PauseAndLock(false);
96 96
 			soundStream->Stop();
97 97
 			delete soundStream;
98  
-			soundStream = NULL;
  98
+			soundStream = nullptr;
99 99
 		}
100 100
 	}
101 101
 }
36  Source/Core/Core/HW/DSPLLE/DSPLLE.h
@@ -15,24 +15,24 @@ class DSPLLE : public DSPEmulator
15 15
 public:
16 16
 	DSPLLE();
17 17
 
18  
-	virtual bool Initialize(void *hWnd, bool bWii, bool bDSPThread);
19  
-	virtual void Shutdown();
20  
-	virtual bool IsLLE() { return true; }
21  
-
22  
-	virtual void DoState(PointerWrap &p);
23  
-	virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true);
24  
-
25  
-	virtual void DSP_WriteMailBoxHigh(bool _CPUMailbox, unsigned short);
26  
-	virtual void DSP_WriteMailBoxLow(bool _CPUMailbox, unsigned short);
27  
-	virtual unsigned short DSP_ReadMailBoxHigh(bool _CPUMailbox);
28  
-	virtual unsigned short DSP_ReadMailBoxLow(bool _CPUMailbox);
29  
-	virtual unsigned short DSP_ReadControlRegister();
30  
-	virtual unsigned short DSP_WriteControlRegister(unsigned short);
31  
-	virtual void DSP_SendAIBuffer(unsigned int address, unsigned int num_samples);
32  
-	virtual void DSP_Update(int cycles);
33  
-	virtual void DSP_StopSoundStream();
34  
-	virtual void DSP_ClearAudioBuffer(bool mute);
35  
-	virtual u32 DSP_UpdateRate();
  18
+	virtual bool Initialize(void *hWnd, bool bWii, bool bDSPThread) override;
  19
+	virtual void Shutdown() override;
  20
+	virtual bool IsLLE() override { return true; }
  21
+
  22
+	virtual void DoState(PointerWrap &p) override;
  23
+	virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true) override;
  24
+
  25
+	virtual void DSP_WriteMailBoxHigh(bool _CPUMailbox, unsigned short) override;
  26
+	virtual void DSP_WriteMailBoxLow(bool _CPUMailbox, unsigned short) override;
  27
+	virtual unsigned short DSP_ReadMailBoxHigh(bool _CPUMailbox) override;
  28
+	virtual unsigned short DSP_ReadMailBoxLow(bool _CPUMailbox) override;
  29
+	virtual unsigned short DSP_ReadControlRegister() override;
  30
+	virtual unsigned short DSP_WriteControlRegister(unsigned short) override;
  31
+	virtual void DSP_SendAIBuffer(unsigned int address, unsigned int num_samples) override;
  32
+	virtual void DSP_Update(int cycles) override;
  33
+	virtual void DSP_StopSoundStream() override;
  34
+	virtual void DSP_ClearAudioBuffer(bool mute) override;
  35
+	virtual u32 DSP_UpdateRate() override;
36 36
 
37 37
 private:
38 38
 	static void dsp_thread(DSPLLE* lpParameter);
2  Source/Core/Core/HW/DSPLLE/DSPSymbols.cpp
@@ -70,7 +70,7 @@ Symbol *DSPSymbolDB::GetSymbolFromAddr(u32 addr)
70 70
 				return &func.second;
71 71
 		}
72 72
 	}
73  
-	return 0;
  73
+	return nullptr;
74 74
 }
75 75
 
76 76
 // lower case only
4  Source/Core/Core/HW/EXI.cpp
@@ -47,7 +47,7 @@ void Shutdown()
47 47
 	for (auto& channel : g_Channels)
48 48
 	{
49 49
 		delete channel;
50  
-		channel = NULL;
  50
+		channel = nullptr;
51 51
 	}
52 52
 }
53 53
 
@@ -102,7 +102,7 @@ IEXIDevice* FindDevice(TEXIDevices device_type, int customIndex)
102 102
 		if (device)
103 103
 			return device;
104 104
 	}
105  
-	return NULL;
  105
+	return nullptr;
106 106
 }
107 107
 
108 108
 // Unused (?!)
8  Source/Core/Core/HW/EXI_Channel.cpp
@@ -87,7 +87,7 @@ void CEXIChannel::RegisterMMIO(MMIO::Mapping* mmio, u32 base)
87 87
 
88 88
 			IEXIDevice* pDevice = GetDevice(m_Status.CHIP_SELECT ^ newStatus.CHIP_SELECT);
89 89
 			m_Status.CHIP_SELECT = newStatus.CHIP_SELECT;
90  
-			if (pDevice != NULL)
  90
+			if (pDevice != nullptr)
91 91
 				pDevice->SetCS(m_Status.CHIP_SELECT);
92 92
 
93 93
 			CoreTiming::ScheduleEvent_Threadsafe_Immediate(updateInterrupts, 0);
@@ -110,7 +110,7 @@ void CEXIChannel::RegisterMMIO(MMIO::Mapping* mmio, u32 base)
110 110
 			if (m_Control.TSTART)
111 111
 			{
112 112
 				IEXIDevice* pDevice = GetDevice(m_Status.CHIP_SELECT);
113  
-				if (pDevice == NULL)
  113
+				if (pDevice == nullptr)
114 114
 					return;
115 115
 
116 116
 				if (m_Control.DMA == 0)
@@ -216,7 +216,7 @@ IEXIDevice* CEXIChannel::GetDevice(const u8 chip_select)
216 216
 	case 2: return m_pDevices[1].get();
217 217
 	case 4: return m_pDevices[2].get();
218 218
 	}
219  
-	return NULL;
  219
+	return nullptr;
220 220
 }
221 221
 
222 222
 void CEXIChannel::Update()
@@ -273,5 +273,5 @@ IEXIDevice* CEXIChannel::FindDevice(TEXIDevices device_type, int customIndex)
273 273
 		if (device)
274 274
 			return device;
275 275
 	}
276  
-	return NULL;
  276
+	return nullptr;
277 277
 }
4  Source/Core/Core/HW/EXI_Device.cpp
@@ -90,7 +90,7 @@ class CEXIDummy : public IEXIDevice
90 90
 // F A C T O R Y
91 91
 IEXIDevice* EXIDevice_Create(TEXIDevices device_type, const int channel_num)
92 92
 {
93  
-	IEXIDevice* result = NULL;
  93
+	IEXIDevice* result = nullptr;
94 94
 
95 95
 	switch (device_type)
96 96
 	{
@@ -132,7 +132,7 @@ IEXIDevice* EXIDevice_Create(TEXIDevices device_type, const int channel_num)
132 132
 		break;
133 133
 	}
134 134
 
135  
-	if (result != NULL)
  135
+	if (result != nullptr)
136 136
 		result->m_deviceType = device_type;
137 137
 
138 138
 	return result;
2  Source/Core/Core/HW/EXI_Device.h
@@ -40,7 +40,7 @@ class IEXIDevice
40 40
 	virtual void SetCS(int) {}
41 41
 	virtual void DoState(PointerWrap&) {}
42 42
 	virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true) {}
43  
-	virtual IEXIDevice* FindDevice(TEXIDevices device_type, int customIndex=-1) { return (device_type == m_deviceType) ? this : NULL; }
  43
+	virtual IEXIDevice* FindDevice(TEXIDevices device_type, int customIndex=-1) { return (device_type == m_deviceType) ? this : nullptr; }
44 44
 
45 45
 	// Update
46 46
 	virtual void Update() {}
2  Source/Core/Core/HW/EXI_DeviceIPL.cpp
@@ -130,7 +130,7 @@ void CEXIIPL::Descrambler(u8* data, u32 size)
130 130
 	}
131 131
 
132 132
 	FreeMemoryPages(m_pIPL, ROM_SIZE);
133  
-	m_pIPL = NULL;
  133
+	m_pIPL = nullptr;
134 134
 
135 135
 	// SRAM
136 136
 	File::IOFile file(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strSRAM, "wb");
8  Source/Core/Core/HW/EXI_DeviceIPL.h
@@ -13,9 +13,9 @@ class CEXIIPL : public IEXIDevice
13 13
 	CEXIIPL();
14 14
 	virtual ~CEXIIPL();
15 15
 
16  
-	virtual void SetCS(int _iCS);
17  
-	bool IsPresent();
18  
-	void DoState(PointerWrap &p);
  16
+	virtual void SetCS(int _iCS) override;
  17
+	bool IsPresent() override;
  18
+	void DoState(PointerWrap &p) override;
19 19
 
20 20
 	static u32 GetGCTime();
21 21
 	static u32 NetPlay_GetGCTime();
@@ -62,7 +62,7 @@ class CEXIIPL : public IEXIDevice
62 62
 	int m_count;
63 63
 	bool m_FontsLoaded;
64 64
 
65  
-	virtual void TransferByte(u8 &_uByte);
  65
+	virtual void TransferByte(u8 &_uByte) override;
66 66
 	bool IsWriteCommand() const { return !!(m_uAddress & (1 << 31)); }
67 67
 	u32 CommandRegion() const { return (m_uAddress & ~(1 << 31)) >> 8; }
68 68
 
8  Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp
@@ -108,7 +108,7 @@ void innerFlush(FlushData* data)
108 108
 	if (!pFile)
109 109
 	{
110 110
 		std::string dir;
111  
-		SplitPath(data->filename, &dir, 0, 0);
  111
+		SplitPath(data->filename, &dir, nullptr, nullptr);
112 112
 		if (!File::IsDirectory(dir))
113 113
 			File::CreateFullPath(dir);
114 114
 		pFile.Open(data->filename, "wb");
@@ -166,7 +166,7 @@ void CEXIMemoryCard::Flush(bool exiting)
166 166
 	CoreTiming::RemoveEvent(et_this_card);
167 167
 	Flush(true);
168 168
 	delete[] memory_card_content;
169  
-	memory_card_content = NULL;
  169
+	memory_card_content = nullptr;
170 170
 
171 171
 	if (flushThread.joinable())
172 172
 	{
@@ -482,8 +482,8 @@ void CEXIMemoryCard::DoState(PointerWrap &p)
482 482
 IEXIDevice* CEXIMemoryCard::FindDevice(TEXIDevices device_type, int customIndex)
483 483
 {
484 484
 	if (device_type != m_deviceType)
485  
-		return NULL;
  485
+		return nullptr;
486 486
 	if (customIndex != card_index)
487  
-		return NULL;
  487
+		return nullptr;
488 488
 	return this;
489 489
 }
8  Source/Core/Core/HW/EXI_DeviceMic.h
@@ -13,9 +13,9 @@ class CEXIMic : public IEXIDevice
13 13
 public:
14 14
 	CEXIMic(const int index);
15 15
 	virtual ~CEXIMic();
16  
-	void SetCS(int cs);
17  
-	bool IsInterruptSet();
18  
-	bool IsPresent();
  16
+	void SetCS(int cs) override;
  17
+	bool IsInterruptSet() override;
  18
+	bool IsPresent() override;
19 19
 
20 20
 private:
21 21
 	static u8 const exi_id[];
@@ -93,7 +93,7 @@ class CEXIMic : public IEXIDevice
93 93
 	int samples_avail;
94 94
 
95 95
 protected:
96  
-	virtual void TransferByte(u8 &byte);
  96
+	virtual void TransferByte(u8 &byte) override;
97 97
 };
98 98
 
99 99
 #else // HAVE_PORTAUDIO
6  Source/Core/Core/HW/GCMemcard.cpp
@@ -34,7 +34,7 @@ static void ByteSwap(u8 *valueA, u8 *valueB)
34 34
 	{
35 35
 		//This function can be removed once more about hdr is known and we can check for a valid header
36 36
 		std::string fileType;
37  
-		SplitPath(filename, NULL, NULL, &fileType);
  37
+		SplitPath(filename, nullptr, nullptr, &fileType);
38 38
 		if (strcasecmp(fileType.c_str(), ".raw") && strcasecmp(fileType.c_str(), ".gcp"))
39 39
 		{
40 40
 			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
814 814
 	File::IOFile gci(gcih);
815 815
 	unsigned int offset;
816 816
 	std::string fileType;
817  
-	SplitPath(inputFile, NULL, NULL, &fileType);
  817
+	SplitPath(inputFile, nullptr, nullptr, &fileType);
818 818
 
819 819
 	if (!strcasecmp(fileType.c_str(), ".gci"))
820 820
 		offset = GCI;
@@ -913,7 +913,7 @@ u32 GCMemcard::ExportGci(u8 index, const char *fileName, const std::string &dire
913 913
 		gci.Open(fileName, "wb");
914 914
 
915 915
 		std::string fileType;
916  
-		SplitPath(fileName, NULL, NULL, &fileType);
  916
+		SplitPath(fileName, nullptr, nullptr, &fileType);
917 917
 		if (!strcasecmp(fileType.c_str(), ".gcs"))
918 918
 		{
919 919
 			offset = GCS;
20  Source/Core/Core/HW/Memmap.cpp
@@ -53,7 +53,7 @@
53 53
 // Init() declarations
54 54
 // ----------------
55 55
 // Store the MemArena here
56  
-u8* base = NULL;
  56
+u8* base = nullptr;
57 57
 
58 58
 // The MemArena class
59 59
 MemArena g_arena;
@@ -121,8 +121,8 @@ bool IsInitialized()
121 121
 static const MemoryView views[] =
122 122
 {
123 123
 	{&m_pRAM,      &m_pPhysicalRAM,          0x00000000, RAM_SIZE, 0},
124  
-	{NULL,         &m_pVirtualCachedRAM,     0x80000000, RAM_SIZE, MV_MIRROR_PREVIOUS},
125  
-	{NULL,         &m_pVirtualUncachedRAM,   0xC0000000, RAM_SIZE, MV_MIRROR_PREVIOUS},
  124
+	{nullptr,         &m_pVirtualCachedRAM,     0x80000000, RAM_SIZE, MV_MIRROR_PREVIOUS},
  125
+	{nullptr,         &m_pVirtualUncachedRAM,   0xC0000000, RAM_SIZE, MV_MIRROR_PREVIOUS},
126 126
 
127 127
 //  Don't map any memory for the EFB. We want all access to this area to go
128 128
 //  through the hardware access handlers.
@@ -134,8 +134,8 @@ bool IsInitialized()
134 134
 	{&m_pFakeVMEM, &m_pVirtualFakeVMEM,      0x7E000000, FAKEVMEM_SIZE, MV_FAKE_VMEM},
135 135
 
136 136
 	{&m_pEXRAM,    &m_pPhysicalEXRAM,        0x10000000, EXRAM_SIZE, MV_WII_ONLY},
137  
-	{NULL,         &m_pVirtualCachedEXRAM,   0x90000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS},
138  
-	{NULL,         &m_pVirtualUncachedEXRAM, 0xD0000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS},
  137
+	{nullptr,         &m_pVirtualCachedEXRAM,   0x90000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS},
  138
+	{nullptr,         &m_pVirtualUncachedEXRAM, 0xD0000000, EXRAM_SIZE, MV_WII_ONLY | MV_MIRROR_PREVIOUS},
139 139
 };
140 140
 static const int num_views = sizeof(views) / sizeof(MemoryView);
141 141
 
@@ -185,7 +185,7 @@ void Shutdown()
185 185
 	if (bFakeVMEM) flags |= MV_FAKE_VMEM;
186 186
 	MemoryMap_Shutdown(views, num_views, flags, &g_arena);
187 187
 	g_arena.ReleaseSpace();
188  
-	base = NULL;
  188
+	base = nullptr;
189 189
 	delete mmio_mapping;
190 190
 	INFO_LOG(MEMMAP, "Memory system shut down.");
191 191
 }
@@ -223,7 +223,7 @@ void WriteBigEData(const u8 *_pData, const u32 _Address, const size_t _iSize)
223 223
 void Memset(const u32 _Address, const u8 _iValue, const u32 _iLength)
224 224
 {
225 225
 	u8 *ptr = GetPointer(_Address);
226  
-	if (ptr != NULL)
  226
+	if (ptr != nullptr)
227 227
 	{
228 228
 		memset(ptr,_iValue,_iLength);
229 229
 	}
@@ -239,7 +239,7 @@ void DMA_LCToMemory(const u32 _MemAddr, const u32 _CacheAddr, const u32 _iNumBlo
239 239
 	const u8 *src = GetCachePtr() + (_CacheAddr & 0x3FFFF);
240 240
 	u8 *dst = GetPointer(_MemAddr);
241 241
 
242  
-	if ((dst != NULL) && (src != NULL) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0)
  242
+	if ((dst != nullptr) && (src != nullptr) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0)
243 243
 	{
244 244
 		memcpy(dst, src, 32 * _iNumBlocks);
245 245
 	}
@@ -258,7 +258,7 @@ void DMA_MemoryToLC(const u32 _CacheAddr, const u32 _MemAddr, const u32 _iNumBlo
258 258
 	const u8 *src = GetPointer(_MemAddr);
259 259
 	u8 *dst = GetCachePtr() + (_CacheAddr & 0x3FFFF);
260 260
 
261  
-	if ((dst != NULL) && (src != NULL) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0)
  261
+	if ((dst != nullptr) && (src != nullptr) && (_MemAddr & 3) == 0 && (_CacheAddr & 3) == 0)
262 262
 	{
263 263
 		memcpy(dst, src, 32 * _iNumBlocks);
264 264
 	}
@@ -343,7 +343,7 @@ u8 *GetPointer(const u32 _Address)
343 343
 
344 344
 	ERROR_LOG(MEMMAP, "Unknown Pointer %#8x PC %#8x LR %#8x", _Address, PC, LR);
345 345
 
346  
-	return NULL;
  346
+	return nullptr;
347 347
 }
348 348
 
349 349
 
2  Source/Core/Core/HW/SI.cpp
@@ -434,7 +434,7 @@ void GenerateSIInterrupt(SIInterruptType _SIInterrupt)
434 434
 void RemoveDevice(int _iDeviceNumber)
435 435
 {
436 436
 	delete g_Channel[_iDeviceNumber].m_pDevice;
437  
-	g_Channel[_iDeviceNumber].m_pDevice = NULL;
  437
+	g_Channel[_iDeviceNumber].m_pDevice = nullptr;
438 438
 }
439 439
 
440 440
 void AddDevice(ISIDevice* pDevice)
10  Source/Core/Core/HW/SI_DeviceGCController.h
@@ -85,20 +85,20 @@ class CSIDevice_GCController : public ISIDevice
85 85
 	CSIDevice_GCController(SIDevices device, int _iDeviceNumber);
86 86
 
87 87
 	// Run the SI Buffer
88  
-	virtual int RunBuffer(u8* _pBuffer, int _iLength);
  88
+	virtual int RunBuffer(u8* _pBuffer, int _iLength) override;
89 89
 
90 90
 	// Send and Receive pad input from network
91 91
 	static bool NetPlay_GetInput(u8 numPAD, SPADStatus status, u32 *PADStatus);
92 92
 	static u8 NetPlay_InGamePadToLocalPad(u8 numPAD);
93 93
 
94 94
 	// Return true on new data
95  
-	virtual bool GetData(u32& _Hi, u32& _Low);
  95
+	virtual bool GetData(u32& _Hi, u32& _Low) override;
96 96
 
97 97
 	// Send a command directly
98  
-	virtual void SendCommand(u32 _Cmd, u8 _Poll);
  98
+	virtual void SendCommand(u32 _Cmd, u8 _Poll) override;
99 99
 
100 100
 	// Savestate support
101  
-	virtual void DoState(PointerWrap& p);
  101
+	virtual void DoState(PointerWrap& p) override;
102 102
 };
103 103
 
104 104
 
@@ -108,7 +108,7 @@ class CSIDevice_TaruKonga : public CSIDevice_GCController
108 108
 public:
109 109
 	CSIDevice_TaruKonga(SIDevices device, int _iDeviceNumber) : CSIDevice_GCController(device, _iDeviceNumber) { }
110 110
 
111  
-	virtual bool GetData(u32& _Hi, u32& _Low)
  111
+	virtual bool GetData(u32& _Hi, u32& _Low) override
112 112
 	{
113 113
 		CSIDevice_GCController::GetData(_Hi, _Low);
114 114
 		_Hi &= ~PAD_USE_ORIGIN << 16;
8  Source/Core/Core/HW/SI_DeviceGCSteeringWheel.h
@@ -85,18 +85,18 @@ class CSIDevice_GCSteeringWheel : public ISIDevice
85 85
 	CSIDevice_GCSteeringWheel(SIDevices device, int _iDeviceNumber);
86 86
 
87 87
 	// Run the SI Buffer
88  
-	virtual int RunBuffer(u8* _pBuffer, int _iLength);
  88
+	virtual int RunBuffer(u8* _pBuffer, int _iLength) override;
89 89
 
90 90
 	// Send and Receive pad input from network
91 91
 	static bool NetPlay_GetInput(u8 numPAD, SPADStatus status, u32 *PADStatus);
92 92
 	static u8 NetPlay_InGamePadToLocalPad(u8 numPAD);
93 93
 
94 94
 	// Return true on new data
95  
-	virtual bool GetData(u32& _Hi, u32& _Low);
  95
+	virtual bool GetData(u32& _Hi, u32& _Low) override;
96 96
 
97 97
 	// Send a command directly
98  
-	virtual void SendCommand(u32 _Cmd, u8 _Poll);
  98
+	virtual void SendCommand(u32 _Cmd, u8 _Poll) override;
99 99
 
100 100
 	// Savestate support
101  
-	virtual void DoState(PointerWrap& p);
  101
+	virtual void DoState(PointerWrap& p) override;
102 102
 };
26  Source/Core/Core/HW/VideoInterface.cpp
@@ -173,11 +173,15 @@ void Init()
173 173
 
174 174
 	m_DTVStatus.ntsc_j = Core::g_CoreStartupParameter.bForceNTSCJ;
175 175
 
176  
-	for (int i = 0; i < 4; i++)
177  
-		m_InterruptRegister[i].Hex = 0;
  176
+	for (UVIInterruptRegister& reg : m_InterruptRegister)
  177
+	{
  178
+		reg.Hex = 0;
  179
+	}
178 180
 
179  
-	for (int i = 0; i < 2; i++)
180  
-		m_LatchRegister[i].Hex = 0;
  181
+	for (UVILatchRegister& reg : m_LatchRegister)
  182
+	{
  183
+		reg.Hex = 0;
  184
+	}
181 185
 
182 186
 	m_DisplayControlRegister.Hex = 0;
183 187
 	UpdateParameters();
@@ -359,8 +363,10 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
359 363
 			{
360 364
 				// shuffle2 clear all data, reset to default vals, and enter idle mode
361 365
 				m_DisplayControlRegister.RST = 0;
362  
-				for (int i = 0; i < 4; i++)
363  
-					m_InterruptRegister[i].Hex = 0;
  366
+				for (UVIInterruptRegister& reg : m_InterruptRegister)
  367
+				{
  368
+					reg.Hex = 0;
  369
+				}
364 370
 				UpdateInterrupts();
365 371
 			}
366 372
 
@@ -576,10 +582,12 @@ void Update()
576 582
 	if (++m_VBeamPos > s_lineCount * fields)
577 583
 		m_VBeamPos = 1;
578 584
 
579  
-	for (int i = 0; i < 4; i++)
  585
+	for (UVIInterruptRegister& reg : m_InterruptRegister)
580 586
 	{
581  
-		if (m_VBeamPos == m_InterruptRegister[i].VCT)
582  
-			m_InterruptRegister[i].IR_INT = 1;
  587
+		if (m_VBeamPos == reg.VCT)
  588
+		{
  589
+			reg.IR_INT = 1;
  590
+		}
583 591
 	}
584 592
 	UpdateInterrupts();
585 593
 }
8  Source/Core/Core/HW/WiimoteEmu/EmuSubroutines.cpp
@@ -117,7 +117,7 @@ void Spy(Wiimote* wm_, const void* data_, size_t size_)
117 117
 		case WM_SPACE_REGS2: {
118 118
 
119 119
 			const u8 region_offset = (u8)address;
120  
-			void *region_ptr = NULL;
  120
+			void *region_ptr = nullptr;
121 121
 			int region_size = 0;
122 122
 
123 123
 			switch(data[3])
@@ -200,7 +200,7 @@ void Spy(Wiimote* wm_, const void* data_, size_t size_)
200 200
 		address &= 0xFEFFFF;
201 201
 		u16 size = Common::swap16(rd->size);
202 202
 		u8 *const block = new u8[size];
203  
-		void *region_ptr = NULL;
  203
+		void *region_ptr = nullptr;
204 204
 
205 205
 		dataRep.push(((data[2]>>1)<<16) + ((data[3])<<8) + addressLO);
206 206
 
@@ -948,7 +948,7 @@ void Wiimote::WriteData(const wm_write_data* const wd)
948 948
 				address &= 0xFF00FF;
949 949
 
950 950
 			const u8 region_offset = (u8)address;
951  
-			void *region_ptr = NULL;
  951
+			void *region_ptr = nullptr;
952 952
 			int region_size = 0;
953 953
 
954 954
 			switch (address >> 16)
@@ -1093,7 +1093,7 @@ void Wiimote::ReadData(const wm_read_data* const rd)
1093 1093
 				address &= 0xFF00FF;
1094 1094
 
1095 1095
 			const u8 region_offset = (u8)address;
1096  
-			void *region_ptr = NULL;
  1096
+			void *region_ptr = nullptr;
1097 1097
 			int region_size = 0;
1098 1098
 
1099 1099
 			switch (address >> 16)
2  Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp
@@ -257,7 +257,7 @@ void Wiimote::Reset()
257 257
 	: m_index(index)
258 258
 	, ir_sin(0)
259 259
 	, ir_cos(1)
260  
-// , m_sound_stream( NULL )
  260
+// , m_sound_stream( nullptr )
261 261
 {
262 262
 	// ---- set up all the controls ----
263 263
 
6  Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h
@@ -116,7 +116,7 @@ class Wiimote : public ControllerEmu
116 116
 	};
117 117
 
118 118
 	Wiimote(const unsigned int index);
119  
-	std::string GetName() const;
  119
+	std::string GetName() const override;
120 120
 
121 121
 	void Update();
122 122
 	void InterruptChannel(const u16 _channelID, const void* _pData, u32 _Size);
@@ -125,7 +125,7 @@ class Wiimote : public ControllerEmu
125 125
 	void DoState(PointerWrap& p);
126 126
 	void RealState();
127 127
 
128  
-	void LoadDefaults(const ControllerInterface& ciface);
  128
+	void LoadDefaults(const ControllerInterface& ciface) override;
129 129
 
130 130
 protected:
131 131
 	bool Step();
@@ -153,7 +153,7 @@ class Wiimote : public ControllerEmu
153 153
 
154 154
 	void ReportMode(const wm_report_mode* const dr);
155 155
 	void SendAck(const u8 _reportID);
156  
-	void RequestStatus(const wm_request_status* const rs = NULL);
  156
+	void RequestStatus(const wm_request_status* const rs = nullptr);
157 157
 	void ReadData(const wm_read_data* const rd);
158 158
 	void WriteData(const wm_write_data* const wd);
159 159
 	void SendReadDataReply(ReadRequest& _request);
2  Source/Core/Core/HW/WiimoteReal/IODummy.cpp
@@ -22,7 +22,7 @@ void WiimoteScanner::Update()
22 22
 void WiimoteScanner::FindWiimotes(std::vector<Wiimote*> & found_wiimotes, Wiimote* & found_board)
23 23
 {
24 24
 	found_wiimotes.clear();
25  
-	found_board = NULL;
  25
+	found_board = nullptr;
26 26
 }
27 27
 
28 28
 bool WiimoteScanner::IsReady() const
8  Source/Core/Core/HW/WiimoteReal/IONix.cpp
@@ -19,7 +19,7 @@
19 19
 	, device_sock(-1)
20 20
 {
21 21
 	// Get the id of the first bluetooth device.
22  
-	device_id = hci_get_route(NULL);
  22
+	device_id = hci_get_route(nullptr);
23 23
 	if (device_id < 0)
24 24
 	{
25 25
 		NOTICE_LOG(WIIMOTE, "Bluetooth not found.");
@@ -57,10 +57,10 @@ void WiimoteScanner::FindWiimotes(std::vector<Wiimote*> & found_wiimotes, Wiimot
57 57
 	int const max_infos = 255;
58 58
 	inquiry_info scan_infos[max_infos] = {};
59 59
 	auto* scan_infos_ptr = scan_infos;
60  
-	found_board = NULL;
  60
+	found_board = nullptr;
61 61
 
62 62
 	// Scan for bluetooth devices
63  
-	int const found_devices = hci_inquiry(device_id, wait_len, max_infos, NULL, &scan_infos_ptr, IREQ_CACHE_FLUSH);
  63
+	int const found_devices = hci_inquiry(device_id, wait_len, max_infos, nullptr, &scan_infos_ptr, IREQ_CACHE_FLUSH);
64 64
 	if (found_devices < 0)
65 65
 	{
66 66
 		ERROR_LOG(WIIMOTE, "Error searching for bluetooth devices.");
@@ -211,7 +211,7 @@ int Wiimote::IORead(u8* buf)
211 211
 	FD_SET(int_sock, &fds);
212 212
 	FD_SET(wakeup_pipe_r, &fds);
213 213
 
214  
-	if (select(int_sock + 1, &fds, NULL, NULL, NULL) == -1)
  214
+	if (select(int_sock + 1, &fds, nullptr, nullptr, nullptr) == -1)
215 215
 	{
216 216
 		ERROR_LOG(WIIMOTE, "Unable to select wiimote %i input socket.", index + 1);
217 217
 		return -1;
74  Source/Core/Core/HW/WiimoteReal/IOWin.cpp
@@ -51,25 +51,25 @@
51 51
 typedef DWORD (__stdcall *PBth_BluetoothAuthenticateDevice)(HWND, HANDLE, BLUETOOTH_DEVICE_INFO*, PWCHAR, ULONG);
52 52
 typedef DWORD (__stdcall *PBth_BluetoothEnumerateInstalledServices)(HANDLE, BLUETOOTH_DEVICE_INFO*, DWORD*, GUID*);
53 53
 
54  
-PHidD_GetHidGuid HidD_GetHidGuid = NULL;
55  
-PHidD_GetAttributes HidD_GetAttributes = NULL;
56  
-PHidD_SetOutputReport HidD_SetOutputReport = NULL;
57  
-PHidD_GetProductString HidD_GetProductString = NULL;
58  
-
59  
-PBth_BluetoothFindDeviceClose Bth_BluetoothFindDeviceClose = NULL;
60  
-PBth_BluetoothFindFirstDevice Bth_BluetoothFindFirstDevice = NULL;
61  
-PBth_BluetoothFindFirstRadio Bth_BluetoothFindFirstRadio = NULL;
62  
-PBth_BluetoothFindNextDevice Bth_BluetoothFindNextDevice = NULL;
63  
-PBth_BluetoothFindNextRadio Bth_BluetoothFindNextRadio = NULL;
64  
-PBth_BluetoothFindRadioClose Bth_BluetoothFindRadioClose = NULL;
65  
-PBth_BluetoothGetRadioInfo Bth_BluetoothGetRadioInfo = NULL;
66  
-PBth_BluetoothRemoveDevice Bth_BluetoothRemoveDevice = NULL;
67  
-PBth_BluetoothSetServiceState Bth_BluetoothSetServiceState = NULL;
68  
-PBth_BluetoothAuthenticateDevice Bth_BluetoothAuthenticateDevice = NULL;
69  
-PBth_BluetoothEnumerateInstalledServices Bth_BluetoothEnumerateInstalledServices = NULL;
70  
-
71  
-HINSTANCE hid_lib = NULL;
72  
-HINSTANCE bthprops_lib = NULL;
  54
+PHidD_GetHidGuid HidD_GetHidGuid = nullptr;
  55
+PHidD_GetAttributes HidD_GetAttributes = nullptr;
  56
+PHidD_SetOutputReport HidD_SetOutputReport = nullptr;
  57
+PHidD_GetProductString HidD_GetProductString = nullptr;
  58
+
  59
+PBth_BluetoothFindDeviceClose Bth_BluetoothFindDeviceClose = nullptr;
  60
+PBth_BluetoothFindFirstDevice Bth_BluetoothFindFirstDevice = nullptr;
  61
+PBth_BluetoothFindFirstRadio Bth_BluetoothFindFirstRadio = nullptr;
  62
+PBth_BluetoothFindNextDevice Bth_BluetoothFindNextDevice = nullptr;
  63
+PBth_BluetoothFindNextRadio Bth_BluetoothFindNextRadio = nullptr;
  64
+PBth_BluetoothFindRadioClose Bth_BluetoothFindRadioClose = nullptr;
  65
+PBth_BluetoothGetRadioInfo Bth_BluetoothGetRadioInfo = nullptr;
  66
+PBth_BluetoothRemoveDevice Bth_BluetoothRemoveDevice = nullptr;
  67
+PBth_BluetoothSetServiceState Bth_BluetoothSetServiceState = nullptr;
  68
+PBth_BluetoothAuthenticateDevice Bth_BluetoothAuthenticateDevice = nullptr;
  69
+PBth_BluetoothEnumerateInstalledServices Bth_BluetoothEnumerateInstalledServices = nullptr;
  70
+
  71
+HINSTANCE hid_lib = nullptr;
  72
+HINSTANCE bthprops_lib = nullptr;
73 73
 
74 74
 static int initialized = 0;
75 75
 
@@ -201,22 +201,22 @@ void WiimoteScanner::FindWiimotes(std::vector<Wiimote*> & found_wiimotes, Wiimot
201 201
 	HidD_GetHidGuid(&device_id);
202 202
 
203 203
 	// Get all hid devices connected
204  
-	HDEVINFO const device_info = SetupDiGetClassDevs(&device_id, NULL, NULL, (DIGCF_DEVICEINTERFACE | DIGCF_PRESENT));
  204
+	HDEVINFO const device_info = SetupDiGetClassDevs(&device_id, nullptr, nullptr, (DIGCF_DEVICEINTERFACE | DIGCF_PRESENT));
205 205
 
206 206
 	SP_DEVICE_INTERFACE_DATA device_data;
207 207
 	device_data.cbSize = sizeof(device_data);
208  
-	PSP_DEVICE_INTERFACE_DETAIL_DATA detail_data = NULL;
  208
+	PSP_DEVICE_INTERFACE_DETAIL_DATA detail_data = nullptr;
209 209
 
210  
-	for (int index = 0; SetupDiEnumDeviceInterfaces(device_info, NULL, &device_id, index, &device_data); ++index)
  210
+	for (int index = 0; SetupDiEnumDeviceInterfaces(device_info, nullptr, &device_id, index, &device_data); ++index)
211 211
 	{
212 212
 		// Get the size of the data block required
213 213
 		DWORD len;
214  
-		SetupDiGetDeviceInterfaceDetail(device_info, &device_data, NULL, 0, &len, NULL);
  214
+		SetupDiGetDeviceInterfaceDetail(device_info, &device_data, nullptr, 0, &len, nullptr);
215 215
 		detail_data = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(len);
216 216
 		detail_data->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
217 217
 
218 218
 		// Query the data for this device
219  
-		if (SetupDiGetDeviceInterfaceDetail(device_info, &device_data, detail_data, len, NULL, NULL))
  219
+		if (SetupDiGetDeviceInterfaceDetail(device_info, &device_data, detail_data, len, nullptr, nullptr))
220 220
 		{
221 221
 			auto const wm = new Wiimote;
222 222
 			wm->devicepath = detail_data->DevicePath;
@@ -250,7 +250,7 @@ void WiimoteScanner::FindWiimotes(std::vector<Wiimote*> & found_wiimotes, Wiimot
250 250
 int CheckDeviceType_Write(HANDLE &dev_handle, const u8* buf, size_t size, int attempts)
251 251
 {
252 252
 	OVERLAPPED hid_overlap_write = OVERLAPPED();
253  
-	hid_overlap_write.hEvent = CreateEvent(NULL, true, false, NULL);
  253
+	hid_overlap_write.hEvent = CreateEvent(nullptr, true, false, nullptr);
254 254
 	enum win_bt_stack_t stack = MSBT_STACK_UNKNOWN;
255 255
 
256 256
 	DWORD written = 0;
@@ -287,7 +287,7 @@ int CheckDeviceType_Write(HANDLE &dev_handle, const u8* buf, size_t size, int at
287 287
 int CheckDeviceType_Read(HANDLE &dev_handle, u8* buf, int attempts)
288 288
 {
289 289
 	OVERLAPPED hid_overlap_read = OVERLAPPED();
290  
-	hid_overlap_read.hEvent = CreateEvent(NULL, true, false, NULL);
  290
+	hid_overlap_read.hEvent = CreateEvent(nullptr, true, false, nullptr);
291 291
 	int read = 0;
292 292
 	for (; attempts>0; --attempts)
293 293
 	{
@@ -318,8 +318,8 @@ void WiimoteScanner::CheckDeviceType(std::basic_string<TCHAR> &devicepath, bool
318 318
 	HANDLE dev_handle = CreateFile(devicepath.c_str(),
319 319
 	                               GENERIC_READ | GENERIC_WRITE,
320 320
 	                               FILE_SHARE_READ | FILE_SHARE_WRITE,
321  
-	                               NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED,
322  
-	                               NULL);
  321
+	                               nullptr, OPEN_EXISTING, FILE_FLAG_OVERLAPPED,
  322
+	                               nullptr);
323 323
 	if (dev_handle == INVALID_HANDLE_VALUE)
324 324
 		return;
325 325
 	// enable to only check for official nintendo wiimotes/bb's
@@ -447,7 +447,7 @@ bool WiimoteScanner::IsReady() const
447 447
 	HANDLE hRadio;
448 448
 	HBLUETOOTH_RADIO_FIND hFindRadio = Bth_BluetoothFindFirstRadio(&radioParam, &hRadio);
449 449
 
450  
-	if (NULL != hFindRadio)
  450
+	if (nullptr != hFindRadio)
451 451
 	{
452 452
 		Bth_BluetoothFindRadioClose(hFindRadio);
453 453
 		return true;
@@ -480,7 +480,7 @@ bool Wiimote::ConnectInternal()
480 480
 
481 481
 	dev_handle = CreateFile(devicepath.c_str(),
482 482
 		GENERIC_READ | GENERIC_WRITE, open_flags,
483  
-		NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
  483
+		nullptr, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, nullptr);
484 484
 
485 485
 	if (dev_handle == INVALID_HANDLE_VALUE)
486 486
 	{
@@ -549,10 +549,10 @@ void Wiimote::InitInternal()
549 549
 	stack = MSBT_STACK_UNKNOWN;
550 550
 
551 551
 	hid_overlap_read = OVERLAPPED();
552  
-	hid_overlap_read.hEvent = CreateEvent(NULL, true, false, NULL);
  552
+	hid_overlap_read.hEvent = CreateEvent(nullptr, true, false, nullptr);
553 553
 
554 554
 	hid_overlap_write = OVERLAPPED();
555  
-	hid_overlap_write.hEvent = CreateEvent(NULL, true, false, NULL);
  555
+	hid_overlap_write.hEvent = CreateEvent(nullptr, true, false, nullptr);
556 556
 }
557 557
 
558 558
 void Wiimote::TeardownInternal()
@@ -620,7 +620,7 @@ int _IORead(HANDLE &dev_handle, OVERLAPPED &hid_overlap_read, u8* buf, int index
620 620
 		}
621 621
 	}
622 622
 
623  
-	WiimoteEmu::Spy(NULL, buf, bytes + 1);
  623
+	WiimoteEmu::Spy(nullptr, buf, bytes + 1);
624 624
 
625 625
 	return bytes + 1;
626 626
 }
@@ -642,7 +642,7 @@ int Wiimote::IORead(u8* buf)
642 642
 
643 643
 int _IOWrite(HANDLE &dev_handle, OVERLAPPED &hid_overlap_write, enum win_bt_stack_t &stack, const u8* buf, size_t len)
644 644
 {
645  
-	WiimoteEmu::Spy(NULL, buf, len);
  645
+	WiimoteEmu::Spy(nullptr, buf, len);
646 646
 
647 647
 	switch (stack)
648 648
 	{
@@ -772,7 +772,7 @@ void ProcessWiimotes(bool new_scan, T& callback)
772 772
 				if (false == Bth_BluetoothFindNextDevice(hFindDevice, &btdi))
773 773
 				{
774 774
 					Bth_BluetoothFindDeviceClose(hFindDevice);
775  
-					hFindDevice = NULL;
  775
+					hFindDevice = nullptr;
776 776
 				}
777 777
 			}
778 778
 		}
@@ -780,7 +780,7 @@ void ProcessWiimotes(bool new_scan, T& callback)
780 780
 		if (false == Bth_BluetoothFindNextRadio(hFindRadio, &hRadio))
781 781
 		{
782 782
 			Bth_BluetoothFindRadioClose(hFindRadio);
783  
-			hFindRadio = NULL;
  783
+			hFindRadio = nullptr;
784 784
 		}
785 785
 	}
786 786
 }
@@ -810,7 +810,7 @@ bool AttachWiimote(HANDLE hRadio, const BLUETOOTH_RADIO_INFO& radio_info, BLUETO
810 810
 #if defined(AUTHENTICATE_WIIMOTES)
811 811
 		// Authenticate
812 812
 		auto const& radio_addr = radio_info.address.rgBytes;
813  
-		const DWORD auth_result = Bth_BluetoothAuthenticateDevice(NULL, hRadio, &btdi,
  813
+		const DWORD auth_result = Bth_BluetoothAuthenticateDevice(nullptr, hRadio, &btdi,
814 814
 		                                                          std::vector<WCHAR>(radio_addr, radio_addr + 6).data(), 6);
815 815
 
816 816
 		if (ERROR_SUCCESS != auth_result)
18  Source/Core/Core/HW/WiimoteReal/IOdarwin.mm
@@ -40,19 +40,19 @@ - (void) l2capChannelData: (IOBluetoothL2CAPChannel *) l2capChannel
40 40
 	length: (NSUInteger) length
41 41
 {
42 42
 	IOBluetoothDevice *device = [l2capChannel device];
43  
-	WiimoteReal::Wiimote *wm = NULL;
  43
+	WiimoteReal::Wiimote *wm = nullptr;
44 44
 	
45 45
 	std::lock_guard<std::recursive_mutex> lk(WiimoteReal::g_refresh_lock);
46 46
 
47 47
 	for (int i = 0; i < MAX_WIIMOTES; i++)
48 48
 	{
49  
-		if (WiimoteReal::g_wiimotes[i] == NULL)
  49
+		if (WiimoteReal::g_wiimotes[i] == nullptr)
50 50
 			continue;
51 51
 		if ([device isEqual: WiimoteReal::g_wiimotes[i]->btd] == TRUE)
52 52
 			wm = WiimoteReal::g_wiimotes[i];
53 53
 	}
54 54
 
55  
-	if (wm == NULL) {
  55
+	if (wm == nullptr) {
56 56
 		ERROR_LOG(WIIMOTE, "Received packet for unknown wiimote");
57 57
 		return;
58 58
 	}
@@ -79,19 +79,19 @@ - (void) l2capChannelData: (IOBluetoothL2CAPChannel *) l2capChannel
79 79
 - (void) l2capChannelClosed: (IOBluetoothL2CAPChannel *) l2capChannel
80 80
 {
81 81
 	IOBluetoothDevice *device = [l2capChannel device];
82  
-	WiimoteReal::Wiimote *wm = NULL;
  82
+	WiimoteReal::Wiimote *wm = nullptr;
83 83
 	
84 84
 	std::lock_guard<std::recursive_mutex> lk(WiimoteReal::g_refresh_lock);
85 85
 
86 86
 	for (int i = 0; i < MAX_WIIMOTES; i++)
87 87
 	{
88  
-		if (WiimoteReal::g_wiimotes[i] == NULL)
  88
+		if (WiimoteReal::g_wiimotes[i] == nullptr)
89 89
 			continue;
90 90
 		if ([device isEqual: WiimoteReal::g_wiimotes[i]->btd] == TRUE)
91 91
 			wm = WiimoteReal::g_wiimotes[i];
92 92
 	}
93 93
 
94  
-	if (wm == NULL) {
  94
+	if (wm == nullptr) {
95 95
 		ERROR_LOG(WIIMOTE, "Channel for unknown wiimote was closed");
96 96
 		return;
97 97
 	}
@@ -123,7 +123,7 @@ - (void) l2capChannelClosed: (IOBluetoothL2CAPChannel *) l2capChannel
123 123
 	IOBluetoothDeviceInquiry *bti;
124 124
 	SearchBT *sbt;
125 125
 	NSEnumerator *en;
126  
-	found_board = NULL;
  126
+	found_board = nullptr;
127 127
 
128 128
 	bth = [[IOBluetoothHostController alloc] init];
129 129
 	if ([bth addressAsString] == nil)
@@ -191,7 +191,7 @@ - (void) l2capChannelClosed: (IOBluetoothL2CAPChannel *) l2capChannel
191 191
 {
192 192
 	inputlen = 0;
193 193
 	m_connected = false;
194  
-	m_wiimote_thread_run_loop = NULL;
  194
+	m_wiimote_thread_run_loop = nullptr;
195 195
 	btd = nil;
196 196
 }
197 197
 
@@ -200,7 +200,7 @@ - (void) l2capChannelClosed: (IOBluetoothL2CAPChannel *) l2capChannel
200 200
 	if (m_wiimote_thread_run_loop)
201 201
 	{
202 202
 		CFRelease(m_wiimote_thread_run_loop);
203  
-		m_wiimote_thread_run_loop = NULL;
  203
+		m_wiimote_thread_run_loop = nullptr;
204 204
 	}
205 205
 	[btd release];
206 206
 	btd = nil;
14  Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp
@@ -445,7 +445,7 @@ void WiimoteScanner::ThreadFunc()
445 445
 	while (m_run_thread)
446 446
 	{
447 447
 		std::vector<Wiimote*> found_wiimotes;
448  
-		Wiimote* found_board = NULL;
  448
+		Wiimote* found_board = nullptr;
449 449
 
450 450
 		//NOTICE_LOG(WIIMOTE, "In loop");
451 451
 
@@ -592,7 +592,7 @@ void Initialize(bool wait)
592 592
 	{
593 593
 		int timeout = 100;
594 594
 		std::vector<Wiimote*> found_wiimotes;
595  
-		Wiimote* found_board = NULL;
  595
+		Wiimote* found_board = nullptr;
596 596
 		g_wiimote_scanner.FindWiimotes(found_wiimotes, found_board);
597 597
 		if (SConfig::GetInstance().m_WiimoteContinuousScanning)
598 598
 		{
@@ -694,7 +694,7 @@ void TryToConnectWiimote(Wiimote* wm)
694 694
 	{
695 695
 		if (TryToConnectWiimoteN(wm, i))
696 696
 		{
697  
-			wm = NULL;
  697
+			wm = nullptr;
698 698
 			break;
699 699
 		}
700 700
 	}
@@ -712,7 +712,7 @@ void TryToConnectBalanceBoard(Wiimote* wm)
712 712
 
713 713
 	if (TryToConnectWiimoteN(wm, WIIMOTE_BALANCE_BOARD))
714 714
 	{
715  
-		wm = NULL;
  715
+		wm = nullptr;
716 716
 	}
717 717
 
718 718
 	g_wiimote_scanner.WantBB(0 != CalculateWantedBB());
@@ -730,7 +730,7 @@ void DoneWithWiimote(int index)
730 730
 
731 731
 	if (wm)
732 732
 	{
733  
-		g_wiimotes[index] = NULL;
  733
+		g_wiimotes[index] = nullptr;
734 734
 		// First see if we can use this real Wiimote in another slot.
735 735
 		TryToConnectWiimote(wm);
736 736
 	}
@@ -741,7 +741,7 @@ void DoneWithWiimote(int index)
741 741
 
742 742
 void HandleWiimoteDisconnect(int index)
743 743
 {
744  
-	Wiimote* wm = NULL;
  744
+	Wiimote* wm = nullptr;
745 745
 
746 746
 	{
747 747
 		std::lock_guard<std::recursive_mutex> lk(g_refresh_lock);
@@ -771,7 +771,7 @@ void Refresh()
771 771
 	{
772 772
 		std::unique_lock<std::recursive_mutex> lk(g_refresh_lock);
773 773
 		std::vector<Wiimote*> found_wiimotes;
774  
-		Wiimote* found_board = NULL;
  774
+		Wiimote* found_board = nullptr;
775 775
 
776 776
 		if (0 != CalculateWantedWiimotes() || 0 != CalculateWantedBB())
777 777
 		{
2  Source/Core/Core/IPC_HLE/ICMPWin.cpp
@@ -82,7 +82,7 @@ int icmp_echo_rep(const u32 s, sockaddr_in *addr, const u32 timeout, const u32 d
82 82
 
83 83
 	timeval t;
84 84
 	t.tv_sec = timeout / 1000;
85  
-	if (select(0, &read_fds, NULL, NULL, &t) > 0)
  85
+	if (select(0, &read_fds, nullptr, nullptr, &t) > 0)
86 86
 	{
87 87
 		num_bytes = recvfrom((SOCKET)s, (LPSTR)workspace,
88 88
 			IP_HDR_LEN + ICMP_HDR_LEN + data_length,
56  Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp
@@ -92,20 +92,20 @@ void Init()
92 92
 {
93 93
 	_dbg_assert_msg_(WII_IPC_HLE, g_DeviceMap.empty(), "DeviceMap isn't empty on init");
94 94
 	CWII_IPC_HLE_Device_es::m_ContentFile = "";
95  
-	u32 i;
96  
-	for (i=0; i<IPC_MAX_FDS; i++)
  95
+
  96
+	for (IWII_IPC_HLE_Device*& dev : g_FdMap)
97 97
 	{
98  
-		g_FdMap[i] = NULL;
  98
+		dev = nullptr;
99 99
 	}
100 100
 
101  
-	i = 0;
  101
+	u32 i = 0;
102 102
 	// Build hardware devices
103 103
 	g_DeviceMap[i] = new CWII_IPC_HLE_Device_usb_oh1_57e_305(i, std::string("/dev/usb/oh1/57e/305")); i++;
104 104
 	g_DeviceMap[i] = new CWII_IPC_HLE_Device_stm_immediate(i, std::string("/dev/stm/immediate")); i++;
105 105
 	g_DeviceMap[i] = new CWII_IPC_HLE_Device_stm_eventhook(i, std::string("/dev/stm/eventhook")); i++;
106 106
 	g_DeviceMap[i] = new CWII_IPC_HLE_Device_fs(i, std::string("/dev/fs")); i++;
107 107
 
108  
-	// IOS allows two ES devices at a time<
  108
+	// IOS allows two ES devices at a time
109 109
 	for (u32 j=0; j<ES_MAX_COUNT; j++)
110 110
 	{
111 111
 		g_DeviceMap[i] = es_handles[j] = new CWII_IPC_HLE_Device_es(i, std::string("/dev/es")); i++;
@@ -137,21 +137,21 @@ void Reset(bool _bHard)
137 137
 {
138 138
 	CoreTiming::RemoveAllEvents(enque_reply);
139 139
 
140  
-	for (u32 i=0; i<IPC_MAX_FDS; i++)
  140
+	for (IWII_IPC_HLE_Device*& dev : g_FdMap)
141 141
 	{
142  
-		if (g_FdMap[i] != NULL && !g_FdMap[i]->IsHardware())
  142
+		if (dev != nullptr && !dev->IsHardware())
143 143
 		{
144 144
 			// close all files and delete their resources
145  
-			g_FdMap[i]->Close(0, true);
146  
-			delete g_FdMap[i];
  145
+			dev->Close(0, true);
  146
+			delete dev;
147 147
 		}
148 148
 
149  
-		g_FdMap[i] = NULL;
  149
+		dev = nullptr;
150 150
 	}
151 151
 
152  
-	for (u32 j=0; j<ES_MAX_COUNT; j++)
  152
+	for (bool& in_use : es_inuse)
153 153
 	{
154  
-		es_inuse[j] = false;
  154
+		in_use = false;
155 155
 	}
156 156
 
157 157
 	for (const auto& entry : g_DeviceMap)
@@ -214,7 +214,7 @@ int getFreeDeviceId()
214 214
 {
215 215
 	for (u32 i=0; i<IPC_MAX_FDS; i++)
216 216
 	{
217  
-		if (g_FdMap[i] == NULL)
  217
+		if (g_FdMap[i] == nullptr)
218 218
 		{
219 219
 			return i;
220 220
 		}
@@ -228,25 +228,29 @@ IWII_IPC_HLE_Device* GetDeviceByName(const std::string& _rDeviceName)
228 228
 	for (const auto& entry : g_DeviceMap)
229 229
 	{
230 230
 		if (entry.second && entry.second->GetDeviceName() == _rDeviceName)
  231
+		{
231 232
 			return entry.second;
  233
+		}
232 234
 	}
233 235
 
234  
-	return NULL;
  236
+	return nullptr;
235 237
 }
236 238
 
237 239
 IWII_IPC_HLE_Device* AccessDeviceByID(u32 _ID)
238 240
 {
239 241
 	if (g_DeviceMap.find(_ID) != g_DeviceMap.end())
  242
+	{
240 243
 		return g_DeviceMap[_ID];
  244
+	}
241 245
 
242  
-		return NULL;
  246
+	return nullptr;
243 247
 }
244 248
 
245 249
 // This is called from ExecuteCommand() COMMAND_OPEN_DEVICE
246 250
 IWII_IPC_HLE_Device* CreateFileIO(u32 _DeviceID, const std::string& _rDeviceName)
247 251
 {
248 252
 	// scan device name and create the right one
249  
-	IWII_IPC_HLE_Device* pDevice = NULL;
  253
+	IWII_IPC_HLE_Device* pDevice = nullptr;
250 254
 
251 255
 	INFO_LOG(WII_IPC_FILEIO, "IOP: Create FileIO %s", _rDeviceName.c_str());
252 256
 	pDevice = new CWII_IPC_HLE_Device_FileIO(_DeviceID, _rDeviceName);
@@ -295,7 +299,7 @@ void DoState(PointerWrap &p)
295 299
 			}
296 300
 			else
297 301
 			{
298  
-				g_FdMap[i] = NULL;
  302
+				g_FdMap[i] = nullptr;
299 303
 			}
300 304
 		}
301 305
 
@@ -310,22 +314,22 @@ void DoState(PointerWrap &p)
310 314
 	}
311 315
 	else
312 316
 	{
313  
-		for (u32 i=0; i<IPC_MAX_FDS; i++)
  317
+		for (IWII_IPC_HLE_Device*& dev : g_FdMap)
314 318
 		{
315  
-			u32 exists = g_FdMap[i] ? 1 : 0;
  319
+			u32 exists = dev ? 1 : 0;
316 320
 			p.Do(exists);
317 321
 			if (exists)
318 322
 			{
319  
-				u32 isHw = g_FdMap[i]->IsHardware() ? 1 : 0;
  323
+				u32 isHw = dev->IsHardware() ? 1 : 0;
320 324
 				p.Do(isHw);
321 325
 				if (isHw)
322 326
 				{
323  
-					u32 hwId = g_FdMap[i]->GetDeviceID();
  327
+					u32 hwId = dev->GetDeviceID();
324 328
 					p.Do(hwId);
325 329
 				}
326 330
 				else
327 331
 				{
328  
-					g_FdMap[i]->DoState(p);
  332
+					dev->DoState(p);
329 333
 				}
330 334
 			}
331 335
 		}
@@ -346,7 +350,7 @@ void ExecuteCommand(u32 _Address)
346 350
 	ECommandType Command = static_cast<ECommandType>(Memory::Read_U32(_Address));
347 351
 	volatile s32 DeviceID = Memory::Read_U32(_Address + 8);
348 352
 
349  
-	IWII_IPC_HLE_Device* pDevice = (DeviceID >= 0 && DeviceID < IPC_MAX_FDS) ? g_FdMap[DeviceID] : NULL;
  353
+	IWII_IPC_HLE_Device* pDevice = (DeviceID >= 0 && DeviceID < IPC_MAX_FDS) ? g_FdMap[DeviceID] : nullptr;
350 354
 
351 355
 	INFO_LOG(WII_IPC_HLE, "-->> Execute Command Address: 0x%08x (code: %x, device: %x) %p", _Address, Command, DeviceID, pDevice);
352 356
 
@@ -416,7 +420,7 @@ void ExecuteCommand(u32 _Address)
416 420
 				else
417 421
 				{
418 422
 					delete pDevice;
419  
-					pDevice = NULL;
  423
+					pDevice = nullptr;
420 424
 				}
421 425
 			}
422 426
 		}
@@ -441,13 +445,13 @@ void ExecuteCommand(u32 _Address)
441 445
 				}
442 446
 			}
443 447
 
444  
-			g_FdMap[DeviceID] = NULL;
  448
+			g_FdMap[DeviceID] = nullptr;
445 449
 
446 450
 			// Don't delete hardware
447 451
 			if (!pDevice->IsHardware())
448 452
 			{
449 453
 				delete pDevice;
450  
-				pDevice = NULL;
  454
+				pDevice = nullptr;
451 455
 			}
452 456
 		}
453 457
 		else
8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
@@ -224,7 +224,7 @@ class CWII_IPC_HLE_Device_stub : public IWII_IPC_HLE_Device
224 224
 	{
225 225
 	}
226 226
 
227  
-	bool Open(u32 CommandAddress, u32 Mode)
  227
+	bool Open(u32 CommandAddress, u32 Mode) override
228 228
 	{
229 229
 		(void)Mode;
230 230
 		WARN_LOG(WII_IPC_HLE, "%s faking Open()", m_Name.c_str());
@@ -232,7 +232,7 @@ class CWII_IPC_HLE_Device_stub : public IWII_IPC_HLE_Device
232 232
 		m_Active = true;
233 233
 		return true;
234 234
 	}
235  
-	bool Close(u32 CommandAddress, bool bForce = false)
  235
+	bool Close(u32 CommandAddress, bool bForce = false) override
236 236
 	{
237 237
 		WARN_LOG(WII_IPC_HLE, "%s faking Close()", m_Name.c_str());
238 238
 		if (!bForce)
@@ -241,13 +241,13 @@ class CWII_IPC_HLE_Device_stub : public IWII_IPC_HLE_Device
241 241
 		return true;
242 242
 	}
243 243
 
244  
-	bool IOCtl(u32 CommandAddress)
  244
+	bool IOCtl(u32 CommandAddress) override
245 245
 	{
246 246
 		WARN_LOG(WII_IPC_HLE, "%s faking IOCtl()", m_Name.c_str());
247 247
 		Memory::Write_U32(FS_SUCCESS, CommandAddress + 4);
248 248
 		return true;
249 249
 	}
250  
-	bool IOCtlV(u32 CommandAddress)
  250
+	bool IOCtlV(u32 CommandAddress) override
251 251
 	{
252 252
 		WARN_LOG(WII_IPC_HLE, "%s faking IOCtlV()", m_Name.c_str());
253 253
 		Memory::Write_U32(FS_SUCCESS, CommandAddress + 4);
16  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.cpp
@@ -29,7 +29,7 @@
29 29
 
30 30
 CWII_IPC_HLE_Device_di::CWII_IPC_HLE_Device_di(u32 _DeviceID, const std::string& _rDeviceName )
31 31
 	: IWII_IPC_HLE_Device(_DeviceID, _rDeviceName)
32  
-	, m_pFileSystem(NULL)
  32
+	, m_pFileSystem(nullptr)
33 33
 	, m_ErrorStatus(0)
34 34
 	, m_CoverStatus(DI_COVER_REG_NO_DISC)
35 35
 {}
@@ -39,7 +39,7 @@
39 39
 	if (m_pFileSystem)
40 40
 	{
41 41
 		delete m_pFileSystem;
42  
-		m_pFileSystem = NULL;
  42
+		m_pFileSystem = nullptr;
43 43
 	}
44 44
 }
45 45
 
@@ -61,7 +61,7 @@ bool CWII_IPC_HLE_Device_di::Close(u32 _CommandAddress, bool _bForce)
61 61
 	if (m_pFileSystem)
62 62
 	{
63 63
 		delete m_pFileSystem;
64  
-		m_pFileSystem = NULL;
  64
+		m_pFileSystem = nullptr;
65 65
 	}
66 66
 	m_ErrorStatus = 0;
67 67
 	if (!_bForce)
@@ -159,7 +159,7 @@ u32 CWII_IPC_HLE_Device_di::ExecuteCommand(u32 _BufferIn, u32 _BufferInSize, u32
159 159
 	if(m_pFileSystem && !VolumeHandler::IsValid())
160 160
 	{
161 161
 		delete m_pFileSystem;
162  
-		m_pFileSystem = NULL;
  162
+		m_pFileSystem = nullptr;
163 163
 		m_CoverStatus |= DI_COVER_REG_NO_DISC;
164 164
 	}
165 165
 
@@ -201,10 +201,10 @@ u32 CWII_IPC_HLE_Device_di::ExecuteCommand(u32 _BufferIn, u32 _BufferInSize, u32
201 201
 			// Don't do anything if the log is unselected
202 202
 			if (LogManager::GetInstance()->IsEnabled(LogTypes::FILEMON))
203 203
 			{
204  
-				const char *pFilename = NULL;
  204
+				const char *pFilename = nullptr;
205 205
 				if (m_pFileSystem)
206 206
 					pFilename = m_pFileSystem->GetFileName(DVDAddress);
207  
-				if (pFilename != NULL)
  207
+				if (pFilename != nullptr)
208 208
 				{
209 209
 					INFO_LOG(WII_IPC_DVD, "DVDLowRead: %s (0x%" PRIx64 ") - (DVDAddr: 0x%" PRIx64 ", Size: 0x%x)",
210 210
 						pFilename, m_pFileSystem->GetFileSize(pFilename), DVDAddress, Size);
@@ -339,10 +339,10 @@ u32 CWII_IPC_HLE_Device_di::ExecuteCommand(u32 _BufferIn, u32 _BufferInSize, u32
339 339
 	case DVDLowSeek:
340 340
 		{
341 341
 			u64 DVDAddress = Memory::Read_U32(_BufferIn + 0x4) << 2;
342  
-			const char *pFilename = NULL;
  342
+			const char *pFilename = nullptr;
343 343
 			if (m_pFileSystem)
344 344
 				pFilename = m_pFileSystem->GetFileName(DVDAddress);
345  
-			if (pFilename != NULL)
  345
+			if (pFilename != nullptr)
346 346
 			{
347 347
 				INFO_LOG(WII_IPC_DVD, "DVDLowSeek: %s (0x%" PRIx64 ") - (DVDAddr: 0x%" PRIx64 ")",
348 348
 					pFilename, m_pFileSystem->GetFileSize(pFilename), DVDAddress);
10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.h
@@ -20,13 +20,13 @@ class CWII_IPC_HLE_Device_di : public IWII_IPC_HLE_Device
20 20
 
21 21
 	virtual ~CWII_IPC_HLE_Device_di();
22 22
 
23  
-	bool Open(u32 _CommandAddress, u32 _Mode);
24  
-	bool Close(u32 _CommandAddress, bool _bForce);
  23
+	bool Open(u32 _CommandAddress, u32 _Mode) override;
  24
+	bool Close(u32 _CommandAddress, bool _bForce) override;
25 25
 
26  
-	bool IOCtl(u32 _CommandAddress);
27  
-	bool IOCtlV(u32 _CommandAddress);
  26
+	bool IOCtl(u32 _CommandAddress) override;
  27
+	bool IOCtlV(u32 _CommandAddress) override;
28 28
 
29  
-	int GetCmdDelay(u32);
  29
+	int GetCmdDelay(u32) override;
30 30
 
31 31
 private:
32 32
 
14  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_FileIO.h
@@ -17,13 +17,13 @@ class CWII_IPC_HLE_Device_FileIO : public IWII_IPC_HLE_Device
17 17
 
18 18
 	virtual ~CWII_IPC_HLE_Device_FileIO();
19 19
 
20  
-	bool Close(u32 _CommandAddress, bool _bForce);
21  
-	bool Open(u32 _CommandAddress, u32 _Mode);
22  
-	bool Seek(u32 _CommandAddress);
23  
-	bool Read(u32 _CommandAddress);
24  
-	bool Write(u32 _CommandAddress);
25  
-	bool IOCtl(u32 _CommandAddress);
26  
-	void DoState(PointerWrap &p);
  20
+	bool Close(u32 _CommandAddress, bool _bForce) override;
  21
+	bool Open(u32 _CommandAddress, u32 _Mode) override;
  22
+	bool Seek(u32 _CommandAddress) override;
  23
+	bool Read(u32 _CommandAddress) override;
  24
+	bool Write(u32 _CommandAddress) override;
  25
+	bool IOCtl(u32 _CommandAddress) override;
  26
+	void DoState(PointerWrap &p) override;
27 27
 
28 28
 	File::IOFile OpenFile();
29 29
 
10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.cpp
@@ -61,7 +61,7 @@
61 61
 
62 62
 CWII_IPC_HLE_Device_es::CWII_IPC_HLE_Device_es(u32 _DeviceID, const std::string& _rDeviceName)
63 63
 	: IWII_IPC_HLE_Device(_DeviceID, _rDeviceName)
64  
-	, m_pContentLoader(NULL)
  64
+	, m_pContentLoader(nullptr)
65 65
 	, m_TitleID(-1)
66 66
 	, m_AccessIdentID(0x6000000)
67 67
 {
@@ -190,7 +190,7 @@ bool CWII_IPC_HLE_Device_es::Close(u32 _CommandAddress, bool _bForce)
190 190
 		delete pair.second.m_pFile;
191 191
 	}
192 192
 	m_ContentAccessMap.clear();
193  
-	m_pContentLoader = NULL;
  193
+	m_pContentLoader = nullptr;
194 194
 	m_TitleIDs.clear();
195 195
 	m_TitleID = -1;
196 196
 	m_AccessIdentID = 0x6000000;
@@ -214,7 +214,7 @@ u32 CWII_IPC_HLE_Device_es::OpenTitleContent(u32 CFD, u64 TitleID, u16 Index)
214 214
 
215 215
 	const DiscIO::SNANDContent* pContent = Loader.GetContentByIndex(Index);
216 216
 
217  
-	if (pContent == NULL)
  217
+	if (pContent == nullptr)
218 218
 	{
219 219
 		return 0xffffffff; //TODO: what is the correct error value here?
220 220
 	}
@@ -223,7 +223,7 @@ u32 CWII_IPC_HLE_Device_es::OpenTitleContent(u32 CFD, u64 TitleID, u16 Index)
223 223
 	Access.m_Position = 0;
224 224
 	Access.m_pContent = pContent;
225 225
 	Access.m_TitleID = TitleID;
226  
-	Access.m_pFile = NULL;
  226
+	Access.m_pFile = nullptr;
227 227
 
228 228
 	if (!pContent->m_pData)
229 229
 	{
@@ -393,7 +393,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
393 393
 			}
394 394
 			SContentAccess& rContent = itr->second;
395 395
 
396  
-			_dbg_assert_(WII_IPC_ES, rContent.m_pContent->m_pData != NULL);
  396
+			_dbg_assert_(WII_IPC_ES, rContent.m_pContent->m_pData != nullptr);
397 397
 
398 398
 			u8* pDest = Memory::GetPointer(Addr);
399 399
 
8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.h
@@ -22,13 +22,13 @@ class CWII_IPC_HLE_Device_es : public IWII_IPC_HLE_Device
22 22
 
23 23
 	void OpenInternal();
24 24
 
25  
-	virtual void DoState(PointerWrap& p);
  25
+	virtual void DoState(PointerWrap& p) override;
26 26
 
27  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
  27
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
28 28
 
29  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
  29
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
30 30
 
31  
-	virtual bool IOCtlV(u32 _CommandAddress);
  31
+	virtual bool IOCtlV(u32 _CommandAddress) override;
32 32
 	static u32 ES_DIVerify(u8 *_pTMD, u32 _sz);
33 33
 
34 34
 	// This should only be cleared on power reset
2  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.cpp
@@ -138,7 +138,7 @@ bool CWII_IPC_HLE_Device_fs::IOCtlV(u32 _CommandAddress)
138 138
 						break;
139 139
 
140 140
 					std::string name, ext;
141  
-					SplitPath(FileSearch.GetFileNames()[i], NULL, &name, &ext);
  141
+					SplitPath(FileSearch.GetFileNames()[i], nullptr, &name, &ext);
142 142
 					std::string FileName = name + ext;
143 143
 
144 144
 					// Decode entities of invalid file system characters so that
12  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.h
@@ -36,15 +36,15 @@ class CWII_IPC_HLE_Device_fs : public IWII_IPC_HLE_Device
36 36
 	CWII_IPC_HLE_Device_fs(u32 _DeviceID, const std::string& _rDeviceName);
37 37
 	virtual ~CWII_IPC_HLE_Device_fs();
38 38
 
39  
-	virtual void DoState(PointerWrap& p);
  39
+	virtual void DoState(PointerWrap& p) override;
40 40
 
41  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
42  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
  41
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
  42
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
43 43
 
44  
-	virtual bool IOCtl(u32 _CommandAddress);
45  
-	virtual bool IOCtlV(u32 _CommandAddress);
  44
+	virtual bool IOCtl(u32 _CommandAddress) override;
  45
+	virtual bool IOCtlV(u32 _CommandAddress) override;
46 46
 
47  
-	virtual int GetCmdDelay(u32);
  47
+	virtual int GetCmdDelay(u32) override;
48 48
 
49 49
 private:
50 50
 
28  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.cpp
@@ -41,7 +41,7 @@ void CWII_IPC_HLE_Device_hid::checkUsbUpdates(CWII_IPC_HLE_Device_hid* hid)
41 41
 			}
42 42
 		}
43 43
 		timeToFill+=8;
44  
-		libusb_handle_events_timeout(NULL, &tv);
  44
+		libusb_handle_events_timeout(nullptr, &tv);
45 45
 	}
46 46
 
47 47
 	return;
@@ -73,7 +73,7 @@ void CWII_IPC_HLE_Device_hid::handleUsbUpdates(struct libusb_transfer *transfer)
73 73
 {
74 74
 	deviceCommandAddress = 0;
75 75
 	memset(hidDeviceAliases, 0, sizeof(hidDeviceAliases));
76  
-	int ret = libusb_init(NULL);
  76
+	int ret = libusb_init(nullptr);
77 77
 	if (ret)
78 78
 	{
79 79
 		ERROR_LOG(WII_IPC_HID, "libusb_init failed with error: %d", ret);
@@ -102,7 +102,7 @@ void CWII_IPC_HLE_Device_hid::handleUsbUpdates(struct libusb_transfer *transfer)
102 102
 	open_devices.clear();
103 103
 
104 104
 	if (deinit_libusb)
105  
-		libusb_exit(NULL);
  105
+		libusb_exit(nullptr);
106 106
 }
107 107
 
108 108
 bool CWII_IPC_HLE_Device_hid::Open(u32 _CommandAddress, u32 _Mode)
@@ -190,7 +190,7 @@ bool CWII_IPC_HLE_Device_hid::IOCtl(u32 _CommandAddress)
190 190
 
191 191
 		libusb_device_handle * dev_handle = GetDeviceByDevNum(dev_num);
192 192
 
193  
-		if (dev_handle == NULL)
  193
+		if (dev_handle == nullptr)
194 194
 		{
195 195
 			DEBUG_LOG(WII_IPC_HID, "Could not find handle: %X", dev_num);
196 196
 			break;
@@ -223,7 +223,7 @@ bool CWII_IPC_HLE_Device_hid::IOCtl(u32 _CommandAddress)
223 223
 
224 224
 		libusb_device_handle * dev_handle = GetDeviceByDevNum(dev_num);
225 225
 
226  
-		if (dev_handle == NULL)
  226
+		if (dev_handle == nullptr)
227 227
 		{
228 228
 			DEBUG_LOG(WII_IPC_HID, "Could not find handle: %X", dev_num);
229 229
 			break;
@@ -359,8 +359,8 @@ void CWII_IPC_HLE_Device_hid::FillOutDevices(u32 BufferOut, u32 BufferOutSize)
359 359
 	int d,c,ic,i,e; /* config, interface container, interface, endpoint  */
360 360
 
361 361
 	libusb_device **list;
362  
-	//libusb_device *found = NULL;
363  
-	ssize_t cnt = libusb_get_device_list(NULL, &list);
  362
+	//libusb_device *found = nullptr;
  363
+	ssize_t cnt = libusb_get_device_list(nullptr, &list);
364 364
 	DEBUG_LOG(WII_IPC_HID, "Found %ld viable USB devices.", cnt);
365 365
 	for (d = 0; d < cnt; d++)
366 366
 	{
@@ -387,7 +387,7 @@ void CWII_IPC_HLE_Device_hid::FillOutDevices(u32 BufferOut, u32 BufferOutSize)
387 387
 
388 388
 		for (c = 0; deviceValid && c < desc.bNumConfigurations; c++)
389 389
 		{
390  
-			struct libusb_config_descriptor *config = NULL;
  390
+			struct libusb_config_descriptor *config = nullptr;
391 391
 			int cRet = libusb_get_config_descriptor(device, c, &config);
392 392
 			// do not try to use usb devices with more than one interface, games can crash
393 393
 			if(cRet == 0 && config->bNumInterfaces <= MAX_HID_INTERFACES)
@@ -426,7 +426,7 @@ void CWII_IPC_HLE_Device_hid::FillOutDevices(u32 BufferOut, u32 BufferOutSize)
426 426
 					} // interfaces
427 427
 				} // interface containters
428 428
 				libusb_free_config_descriptor(config);
429  
-				config = NULL;
  429
+				config = nullptr;
430 430
 			}
431 431
 			else
432 432
 			{
@@ -502,11 +502,11 @@ int CWII_IPC_HLE_Device_hid::Align(int num, int alignment)
502 502
 libusb_device_handle * CWII_IPC_HLE_Device_hid::GetDeviceByDevNum(u32 devNum)
503 503
 {
504 504
 	libusb_device **list;
505  
-	libusb_device_handle *handle = NULL;
  505
+	libusb_device_handle *handle = nullptr;
506 506
 	ssize_t cnt;
507 507
 
508 508
 	if(devNum >= MAX_DEVICE_DEVNUM)
509  
-		return NULL;
  509
+		return nullptr;
510 510
 
511 511
 
512 512
 	std::lock_guard<std::mutex> lk(s_open_devices);
@@ -525,10 +525,10 @@ libusb_device_handle * CWII_IPC_HLE_Device_hid::GetDeviceByDevNum(u32 devNum)
525 525
 		}
526 526
 	}
527 527
 
528  
-	cnt = libusb_get_device_list(NULL, &list);
  528
+	cnt = libusb_get_device_list(nullptr, &list);
529 529
 
530 530
 	if (cnt < 0)
531  
-		return NULL;
  531
+		return nullptr;
532 532
 
533 533
 #ifdef _WIN32
534 534
 	static bool has_warned_about_drivers = false;
@@ -596,7 +596,7 @@ libusb_device_handle * CWII_IPC_HLE_Device_hid::GetDeviceByDevNum(u32 devNum)
596 596
 		}
597 597
 		else
598 598
 		{
599  
-			handle = NULL;
  599
+			handle = nullptr;
600 600
 		}
601 601
 	}
602 602
 
10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.h
@@ -25,12 +25,12 @@ class CWII_IPC_HLE_Device_hid : public IWII_IPC_HLE_Device
25 25
 
26 26
 	virtual ~CWII_IPC_HLE_Device_hid();
27 27
 
28  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
29  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
30  
-	virtual u32 Update();
  28
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
  29
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
  30
+	virtual u32 Update() override;
31 31
 
32  
-	virtual bool IOCtlV(u32 _CommandAddress);
33  
-	virtual bool IOCtl(u32 _CommandAddress);
  32
+	virtual bool IOCtlV(u32 _CommandAddress) override;
  33
+	virtual bool IOCtl(u32 _CommandAddress) override;
34 34
 
35 35
 private:
36 36
 	enum
38  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp
@@ -864,9 +864,9 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtl(u32 _CommandAddress)
864 864
 
865 865
 		Memory::Write_U32(Common::swap32(*(u32 *)remoteHost->h_addr_list[0]), BufferOut);
866 866
 		INFO_LOG(WII_IPC_NET, "IOCTL_SO_INETATON = %d "
867  
-			"%s, BufferIn: (%08x, %i), BufferOut: (%08x, %i), IP Found: %08X",remoteHost->h_addr_list[0] == 0 ? -1 : 0,
  867
+			"%s, BufferIn: (%08x, %i), BufferOut: (%08x, %i), IP Found: %08X",remoteHost->h_addr_list[0] == nullptr ? -1 : 0,
868 868
 			(char*)Memory::GetPointer(BufferIn), BufferIn, BufferInSize, BufferOut, BufferOutSize, Common::swap32(*(u32 *)remoteHost->h_addr_list[0]));
869  
-		ReturnValue = remoteHost->h_addr_list[0] == 0 ? 0 : 1;
  869
+		ReturnValue = remoteHost->h_addr_list[0] == nullptr ? 0 : 1;
870 870
 		break;
871 871
 	}
872 872
 
@@ -913,7 +913,7 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtl(u32 _CommandAddress)
913 913
 				ERROR_LOG(WII_IPC_NET, "Hidden POLL");
914 914
 
915 915
 			pollfd_t* ufds = (pollfd_t *)malloc(sizeof(pollfd_t) * nfds);
916  
-			if (ufds == NULL)
  916
+			if (ufds == nullptr)
917 917
 			{
918 918
 				ReturnValue = -1;
919 919
 				break;
@@ -1008,7 +1008,7 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtl(u32 _CommandAddress)
1008 1008
 				Memory::Write_U32(wii_addr, BufferOut + 4);
1009 1009
 				Memory::Write_U32(wii_addr + sizeof(u32), wii_addr);
1010 1010
 				wii_addr += sizeof(u32);
1011  
-				Memory::Write_U32((u32)NULL, wii_addr);
  1011
+				Memory::Write_U32(0, wii_addr);
1012 1012
 				wii_addr += sizeof(u32);
1013 1013
 
1014 1014
 				// hardcode to ipv4
@@ -1028,8 +1028,8 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtl(u32 _CommandAddress)
1028 1028
 					Memory::Write_U32(wii_addr + sizeof(u32) * (num_addr + 1), wii_addr);
1029 1029
 					wii_addr += sizeof(u32);
1030 1030
 				}
1031  
-				// NULL terminated list
1032  
-				Memory::Write_U32((u32)NULL, wii_addr);
  1031
+				// null-terminated list
  1032
+				Memory::Write_U32(0, wii_addr);
1033 1033
 				wii_addr += sizeof(u32);
1034 1034
 				// The actual IPs
1035 1035
 				for (int i = 0; remoteHost->h_addr_list[i]; i++)
@@ -1144,7 +1144,7 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtlV(u32 CommandAddress)
1144 1144
 		{
1145 1145
 			u32 address = 0;
1146 1146
 #ifdef _WIN32
1147  
-			PIP_ADAPTER_ADDRESSES AdapterAddresses = NULL;
  1147
+			PIP_ADAPTER_ADDRESSES AdapterAddresses = nullptr;
1148 1148
 			ULONG OutBufferLength = 0;
1149 1149
 			ULONG RetVal = 0, i;
1150 1150
 			for (i = 0; i < 5; i++)
@@ -1152,7 +1152,7 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtlV(u32 CommandAddress)
1152 1152
 				RetVal = GetAdaptersAddresses(
1153 1153
 					AF_INET,
1154 1154
 					0,
1155  
-					NULL,
  1155
+					nullptr,
1156 1156
 					AdapterAddresses,
1157 1157
 					&OutBufferLength);
1158 1158
 
@@ -1160,12 +1160,12 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtlV(u32 CommandAddress)
1160 1160
 					break;
1161 1161
 				}
1162 1162
 
1163  
-				if (AdapterAddresses != NULL) {
  1163
+				if (AdapterAddresses != nullptr) {
1164 1164
 					FREE(AdapterAddresses);
1165 1165
 				}
1166 1166
 
1167 1167
 				AdapterAddresses = (PIP_ADAPTER_ADDRESSES)MALLOC(OutBufferLength);
1168  
-				if (AdapterAddresses == NULL) {
  1168
+				if (AdapterAddresses == nullptr) {
1169 1169
 					RetVal = GetLastError();
1170 1170
 					break;
1171 1171
 				}
@@ -1197,7 +1197,7 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtlV(u32 CommandAddress)
1197 1197
 					}
1198 1198
 				}
1199 1199
 			}
1200  
-			if (AdapterAddresses != NULL) {
  1200
+			if (AdapterAddresses != nullptr) {
1201 1201
 				FREE(AdapterAddresses);
1202 1202
 			}
1203 1203
 #endif
@@ -1253,7 +1253,7 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtlV(u32 CommandAddress)
1253 1253
 	case IOCTLV_SO_GETADDRINFO:
1254 1254
 	{
1255 1255
 		struct addrinfo hints;
1256  
-		struct addrinfo *result = NULL;
  1256
+		struct addrinfo *result = nullptr;
1257 1257
 
1258 1258
 		if (BufferInSize3)
1259 1259
 		{
@@ -1262,25 +1262,25 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtlV(u32 CommandAddress)
1262 1262
 			hints.ai_socktype  = Memory::Read_U32(_BufferIn3 + 0x8);
1263 1263
 			hints.ai_protocol  = Memory::Read_U32(_BufferIn3 + 0xC);
1264 1264
 			hints.ai_addrlen   = Memory::Read_U32(_BufferIn3 + 0x10);
1265  
-			hints.ai_canonname = NULL;
1266  
-			hints.ai_addr      = NULL;
1267  
-			hints.ai_next      = NULL;
  1265
+			hints.ai_canonname = nullptr;
  1266
+			hints.ai_addr      = nullptr;
  1267
+			hints.ai_next      = nullptr;
1268 1268
 		}
1269 1269
 
1270  
-		char* pNodeName = NULL;
  1270
+		char* pNodeName = nullptr;
1271 1271
 		if (BufferInSize > 0)
1272 1272
 			pNodeName = (char*)Memory::GetPointer(_BufferIn);
1273 1273
 
1274  
-		char* pServiceName = NULL;
  1274
+		char* pServiceName = nullptr;
1275 1275
 		if (BufferInSize2 > 0)
1276 1276
 			pServiceName = (char*)Memory::GetPointer(_BufferIn2);
1277 1277
 
1278  
-		int ret = getaddrinfo(pNodeName, pServiceName, BufferInSize3 ? &hints : NULL, &result);
  1278
+		int ret = getaddrinfo(pNodeName, pServiceName, BufferInSize3 ? &hints : nullptr, &result);
1279 1279
 		u32 addr = _BufferOut;
1280 1280
 		u32 sockoffset = addr + 0x460;
1281 1281
 		if (ret == 0)
1282 1282
 		{
1283  
-			while (result != NULL)
  1283
+			while (result != nullptr)
1284 1284
 			{
1285 1285
 				Memory::Write_U32(result->ai_flags, addr);
1286 1286
 				Memory::Write_U32(result->ai_family, addr + 0x04);
34  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.h
@@ -394,9 +394,9 @@ class CWII_IPC_HLE_Device_net_kd_request : public IWII_IPC_HLE_Device
394 394
 
395 395
 	virtual ~CWII_IPC_HLE_Device_net_kd_request();
396 396
 
397  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
398  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
399  
-	virtual bool IOCtl(u32 _CommandAddress);
  397
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
  398
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
  399
+	virtual bool IOCtl(u32 _CommandAddress) override;
400 400
 
401 401
 private:
402 402
 	enum
@@ -456,14 +456,14 @@ class CWII_IPC_HLE_Device_net_kd_time : public IWII_IPC_HLE_Device
456 456
 	virtual ~CWII_IPC_HLE_Device_net_kd_time()
457 457
 	{}
458 458
 
459  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode)
  459
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override
460 460
 	{
461 461
 		INFO_LOG(WII_IPC_NET, "NET_KD_TIME: Open");
462 462
 		Memory::Write_U32(GetDeviceID(), _CommandAddress+4);
463 463
 		return true;
464 464
 	}
465 465
 
466  
-	virtual bool Close(u32 _CommandAddress, bool _bForce)
  466
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override
467 467
 	{
468 468
 		INFO_LOG(WII_IPC_NET, "NET_KD_TIME: Close");
469 469
 		if (!_bForce)
@@ -471,7 +471,7 @@ class CWII_IPC_HLE_Device_net_kd_time : public IWII_IPC_HLE_Device
471 471
 		return true;
472 472
 	}
473 473
 
474  
-	virtual bool IOCtl(u32 _CommandAddress)
  474
+	virtual bool IOCtl(u32 _CommandAddress) override
475 475
 	{
476 476
 		u32 Parameter = Memory::Read_U32(_CommandAddress + 0x0C);
477 477
 		u32 BufferIn  = Memory::Read_U32(_CommandAddress + 0x10);
@@ -596,12 +596,12 @@ class CWII_IPC_HLE_Device_net_ip_top : public IWII_IPC_HLE_Device
596 596
 
597 597
 	virtual ~CWII_IPC_HLE_Device_net_ip_top();
598 598
 
599  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
600  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
601  
-	virtual bool IOCtl(u32 _CommandAddress);
602  
-	virtual bool IOCtlV(u32 _CommandAddress);
  599
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
  600
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
  601
+	virtual bool IOCtl(u32 _CommandAddress) override;
  602
+	virtual bool IOCtlV(u32 _CommandAddress) override;
603 603
 
604  
-	virtual u32 Update();
  604
+	virtual u32 Update() override;
605 605
 
606 606
 private:
607 607
 #ifdef _WIN32
@@ -620,9 +620,9 @@ class CWII_IPC_HLE_Device_net_ncd_manage : public IWII_IPC_HLE_Device
620 620
 
621 621
 	virtual ~CWII_IPC_HLE_Device_net_ncd_manage();
622 622
 
623  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
624  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
625  
-	virtual bool IOCtlV(u32 _CommandAddress);
  623
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
  624
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
  625
+	virtual bool IOCtlV(u32 _CommandAddress) override;
626 626
 
627 627
 private:
628 628
 	enum
@@ -648,9 +648,9 @@ class CWII_IPC_HLE_Device_net_wd_command : public IWII_IPC_HLE_Device
648 648
 
649 649
 	virtual ~CWII_IPC_HLE_Device_net_wd_command();
650 650
 
651  
-	virtual bool Open(u32 CommandAddress, u32 Mode);
652  
-	virtual bool Close(u32 CommandAddress, bool Force);
653  
-	virtual bool IOCtlV(u32 CommandAddress);
  651
+	virtual bool Open(u32 CommandAddress, u32 Mode) override;
  652
+	virtual bool Close(u32 CommandAddress, bool Force) override;
  653
+	virtual bool IOCtlV(u32 CommandAddress) override;
654 654
 
655 655
 private:
656 656
 	enum
139  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
@@ -11,32 +11,32 @@
11 11
 CWII_IPC_HLE_Device_net_ssl::CWII_IPC_HLE_Device_net_ssl(u32 _DeviceID, const std::string& _rDeviceName)
12 12
 	: IWII_IPC_HLE_Device(_DeviceID, _rDeviceName)
13 13
 {
14  
-	for (int i = 0; i < NET_SSL_MAXINSTANCES; ++i)
  14
+	for (WII_SSL& ssl : _SSL)
15 15
 	{
16  
-		memset(&_SSL[i], 0, sizeof(WII_SSL));
  16
+		memset(&ssl, 0, sizeof(WII_SSL));
17 17
 	}
18 18
 }
19 19
 
20 20
 CWII_IPC_HLE_Device_net_ssl::~CWII_IPC_HLE_Device_net_ssl()
21 21
 {
22 22
 	// Cleanup sessions
23  
-	for (int i = 0; i < NET_SSL_MAXINSTANCES; i++)
  23
+	for (WII_SSL& ssl : _SSL)
24 24
 	{
25  
-		if (_SSL[i].active)
  25
+		if (ssl.active)
26 26
 		{
27  
-			ssl_close_notify(&_SSL[i].ctx);
28  
-			ssl_session_free(&_SSL[i].session);
29  
-			ssl_free(&_SSL[i].ctx);
  27
+			ssl_close_notify(&ssl.ctx);
  28
+			ssl_session_free(&ssl.session);
  29
+			ssl_free(&ssl.ctx);
30 30
 
31  
-			x509_crt_free(&_SSL[i].cacert);
32  
-			x509_crt_free(&_SSL[i].clicert);
  31
+			x509_crt_free(&ssl.cacert);
  32
+			x509_crt_free(&ssl.clicert);
33 33
 
34  
-			memset(&_SSL[i].ctx, 0, sizeof(ssl_context));
35  
-			memset(&_SSL[i].session, 0, sizeof(ssl_session));
36  
-			memset(&_SSL[i].entropy, 0, sizeof(entropy_context));
37  
-			memset(_SSL[i].hostname, 0, NET_SSL_MAX_HOSTNAME_LEN);
  34
+			memset(&ssl.ctx, 0, sizeof(ssl_context));
  35
+			memset(&ssl.session, 0, sizeof(ssl_session));
  36
+			memset(&ssl.entropy, 0, sizeof(entropy_context));
  37
+			memset(ssl.hostname, 0, NET_SSL_MAX_HOSTNAME_LEN);
38 38
 
39  
-			_SSL[i].active = false;
  39
+			ssl.active = false;
40 40
 		}
41 41
 	}
42 42
 }
@@ -79,9 +79,9 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtl(u32 _CommandAddress)
79 79
 	u32 Command       = Memory::Read_U32(_CommandAddress + 0x0C);
80 80
 
81 81
 	INFO_LOG(WII_IPC_SSL, "%s unknown %i "
82  
-	"(BufferIn: (%08x, %i), BufferOut: (%08x, %i)",
83  
-			 GetDeviceName().c_str(), Command,
84  
-			 BufferIn, BufferInSize, BufferOut, BufferOutSize);
  82
+	         "(BufferIn: (%08x, %i), BufferOut: (%08x, %i)",
  83
+	         GetDeviceName().c_str(), Command,
  84
+	         BufferIn, BufferInSize, BufferOut, BufferOutSize);
85 85
 	Memory::Write_U32(0, _CommandAddress + 0x4);
86 86
 	return true;
87 87
 }
@@ -139,45 +139,46 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
139 139
 		if (freeSSL)
140 140
 		{
141 141
 			int sslID = freeSSL - 1;
142  
-			int ret = ssl_init(&_SSL[sslID].ctx);
  142
+			WII_SSL* ssl = &_SSL[sslID];
  143
+			int ret = ssl_init(&ssl->ctx);
143 144
 			if (ret)
144 145
 			{
145 146
 				// Cleanup possibly dirty ctx
146  
-				memset(&_SSL[sslID].ctx, 0, sizeof(ssl_context));
  147
+				memset(&ssl->ctx, 0, sizeof(ssl_context));
147 148
 				goto _SSL_NEW_ERROR;
148 149
 			}
149 150
 
150  
-			entropy_init(&_SSL[sslID].entropy);
  151
+			entropy_init(&ssl->entropy);
151 152
 			const char* pers = "dolphin-emu";
152  
-			ret = ctr_drbg_init(&_SSL[sslID].ctr_drbg, entropy_func,
153  
-			                    &_SSL[sslID].entropy,
  153
+			ret = ctr_drbg_init(&ssl->ctr_drbg, entropy_func,
  154
+			                    &ssl->entropy,
154 155
 			                    (const unsigned char*)pers,
155 156
 			                    strlen(pers));
156 157
 			if (ret)
157 158
 			{
158  
-				ssl_free(&_SSL[sslID].ctx);
  159
+				ssl_free(&ssl->ctx);
159 160
 				// Cleanup possibly dirty ctx
160  
-				memset(&_SSL[sslID].ctx, 0, sizeof(ssl_context));
161  
-				entropy_free(&_SSL[sslID].entropy);
  161
+				memset(&ssl->ctx, 0, sizeof(ssl_context));
  162
+				entropy_free(&ssl->entropy);
162 163
 				goto _SSL_NEW_ERROR;
163 164
 			}
164 165
 
165  
-			ssl_set_rng(&_SSL[sslID].ctx, ctr_drbg_random, &_SSL[sslID].ctr_drbg);
  166
+			ssl_set_rng(&ssl->ctx, ctr_drbg_random, &ssl->ctr_drbg);
166 167
 
167 168
 			// For some reason we can't use TLSv1.2, v1.1 and below are fine!
168  
-			ssl_set_max_version(&_SSL[sslID].ctx, SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_2);
  169
+			ssl_set_max_version(&ssl->ctx, SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_2);
169 170
 
170  
-			ssl_set_session(&_SSL[sslID].ctx, &_SSL[sslID].session);
  171
+			ssl_set_session(&ssl->ctx, &ssl->session);
171 172
 
172  
-			ssl_set_endpoint(&_SSL[sslID].ctx, SSL_IS_CLIENT);
173  
-			ssl_set_authmode(&_SSL[sslID].ctx, SSL_VERIFY_NONE);
174  
-			ssl_set_renegotiation(&_SSL[sslID].ctx, SSL_RENEGOTIATION_ENABLED);
  173
+			ssl_set_endpoint(&ssl->ctx, SSL_IS_CLIENT);
  174
+			ssl_set_authmode(&ssl->ctx, SSL_VERIFY_NONE);
  175
+			ssl_set_renegotiation(&ssl->ctx, SSL_RENEGOTIATION_ENABLED);
175 176
 
176  
-			memcpy(_SSL[sslID].hostname, hostname, min((int)BufferOutSize2, NET_SSL_MAX_HOSTNAME_LEN));
177  
-			_SSL[sslID].hostname[NET_SSL_MAX_HOSTNAME_LEN-1] = '\0';
178  
-			ssl_set_hostname(&_SSL[sslID].ctx, _SSL[sslID].hostname);
  177
+			memcpy(ssl->hostname, hostname, min((int)BufferOutSize2, NET_SSL_MAX_HOSTNAME_LEN));
  178
+			ssl->hostname[NET_SSL_MAX_HOSTNAME_LEN-1] = '\0';
  179
+			ssl_set_hostname(&ssl->ctx, ssl->hostname);
179 180
 
180  
-			_SSL[sslID].active = true;
  181
+			ssl->active = true;
181 182
 			Memory::Write_U32(freeSSL, _BufferIn);
182 183
 		}
183 184
 		else
@@ -201,21 +202,22 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
201 202
 		int sslID = Memory::Read_U32(BufferOut) - 1;
202 203
 		if (SSLID_VALID(sslID))
203 204
 		{
204  
-			ssl_close_notify(&_SSL[sslID].ctx);
205  
-			ssl_session_free(&_SSL[sslID].session);
206  
-			ssl_free(&_SSL[sslID].ctx);
  205
+			WII_SSL* ssl = &_SSL[sslID];
  206
+			ssl_close_notify(&ssl->ctx);
  207
+			ssl_session_free(&ssl->session);
  208
+			ssl_free(&ssl->ctx);
207 209
 
208  
-			entropy_free(&_SSL[sslID].entropy);
  210
+			entropy_free(&ssl->entropy);
209 211
 			
210  
-			x509_crt_free(&_SSL[sslID].cacert);
211  
-			x509_crt_free(&_SSL[sslID].clicert);
  212
+			x509_crt_free(&ssl->cacert);
  213
+			x509_crt_free(&ssl->clicert);
212 214
 
213  
-			memset(&_SSL[sslID].ctx, 0, sizeof(ssl_context));
214  
-			memset(&_SSL[sslID].session, 0, sizeof(ssl_session));
215  
-			memset(&_SSL[sslID].entropy, 0, sizeof(entropy_context));
216  
-			memset(_SSL[sslID].hostname, 0, NET_SSL_MAX_HOSTNAME_LEN);
  215
+			memset(&ssl->ctx, 0, sizeof(ssl_context));
  216
+			memset(&ssl->session, 0, sizeof(ssl_session));
  217
+			memset(&ssl->entropy, 0, sizeof(entropy_context));
  218
+			memset(ssl->hostname, 0, NET_SSL_MAX_HOSTNAME_LEN);
217 219
 
218  
-			_SSL[sslID].active = false;
  220
+			ssl->active = false;
219 221
 
220 222
 			Memory::Write_U32(SSL_OK, _BufferIn);
221 223
 		}
@@ -246,8 +248,9 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
246 248
 		int sslID = Memory::Read_U32(BufferOut) - 1;
247 249
 		if (SSLID_VALID(sslID))
248 250
 		{
  251
+			WII_SSL* ssl = &_SSL[sslID];
249 252
 			int ret = x509_crt_parse_der(
250  
-				&_SSL[sslID].cacert,
  253
+				&ssl->cacert,
251 254
 				Memory::GetPointer(BufferOut2),
252 255
 				BufferOutSize2);
253 256
 
@@ -257,7 +260,7 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
257 260
 			}
258 261
 			else
259 262
 			{
260  
-				ssl_set_ca_chain(&_SSL[sslID].ctx, &_SSL[sslID].cacert, NULL, _SSL[sslID].hostname);
  263
+				ssl_set_ca_chain(&ssl->ctx, &ssl->cacert, nullptr, ssl->hostname);
261 264
 				Memory::Write_U32(SSL_OK, _BufferIn);
262 265
 			}
263 266
 
@@ -282,20 +285,21 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
282 285
 		int sslID = Memory::Read_U32(BufferOut) - 1;
283 286
 		if (SSLID_VALID(sslID))
284 287
 		{
  288
+			WII_SSL* ssl = &_SSL[sslID];
285 289
 			std::string cert_base_path(File::GetUserPath(D_WIIUSER_IDX));
286  
-			int ret = x509_crt_parse_file(&_SSL[sslID].clicert, (cert_base_path + "clientca.pem").c_str());
287  
-			int pk_ret = pk_parse_keyfile(&_SSL[sslID].pk, (cert_base_path + "clientcakey.pem").c_str(), NULL);
  290
+			int ret = x509_crt_parse_file(&ssl->clicert, (cert_base_path + "clientca.pem").c_str());
  291
+			int pk_ret = pk_parse_keyfile(&ssl->pk, (cert_base_path + "clientcakey.pem").c_str(), nullptr);
288 292
 			if (ret || pk_ret)
289 293
 			{
290  
-				x509_crt_free(&_SSL[sslID].clicert);
291  
-				pk_free(&_SSL[sslID].pk);
292  
-				memset(&_SSL[sslID].clicert, 0, sizeof(x509_crt));
293  
-				memset(&_SSL[sslID].pk, 0, sizeof(pk_context));
  294
+				x509_crt_free(&ssl->clicert);
  295
+				pk_free(&ssl->pk);
  296
+				memset(&ssl->clicert, 0, sizeof(x509_crt));
  297
+				memset(&ssl->pk, 0, sizeof(pk_context));
294 298
 				Memory::Write_U32(SSL_ERR_FAILED, _BufferIn);
295 299
 			}
296 300
 			else
297 301
 			{
298  
-				ssl_set_own_cert(&_SSL[sslID].ctx, &_SSL[sslID].clicert, &_SSL[sslID].pk);
  302
+				ssl_set_own_cert(&ssl->ctx, &ssl->clicert, &ssl->pk);
299 303
 				Memory::Write_U32(SSL_OK, _BufferIn);
300 304
 			}
301 305
 
@@ -321,12 +325,13 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
321 325
 		int sslID = Memory::Read_U32(BufferOut) - 1;
322 326
 		if (SSLID_VALID(sslID))
323 327
 		{
324  
-			x509_crt_free(&_SSL[sslID].clicert);
325  
-			pk_free(&_SSL[sslID].pk);
326  
-			memset(&_SSL[sslID].clicert, 0, sizeof(x509_crt));
327  
-			memset(&_SSL[sslID].pk, 0, sizeof(pk_context));
  328
+			WII_SSL* ssl = &_SSL[sslID];
  329
+			x509_crt_free(&ssl->clicert);
  330
+			pk_free(&ssl->pk);
  331
+			memset(&ssl->clicert, 0, sizeof(x509_crt));
  332
+			memset(&ssl->pk, 0, sizeof(pk_context));
328 333
 
329  
-			ssl_set_own_cert(&_SSL[sslID].ctx, NULL, NULL);
  334
+			ssl_set_own_cert(&ssl->ctx, nullptr, nullptr);
330 335
 			Memory::Write_U32(SSL_OK, _BufferIn);
331 336
 		}
332 337
 		else
@@ -341,17 +346,18 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
341 346
 		int sslID = Memory::Read_U32(BufferOut) - 1;
342 347
 		if (SSLID_VALID(sslID))
343 348
 		{
  349
+			WII_SSL* ssl = &_SSL[sslID];
344 350
 			std::string cert_base_path(File::GetUserPath(D_WIIUSER_IDX));
345 351
 
346  
-			int ret = x509_crt_parse_file(&_SSL[sslID].cacert, (cert_base_path + "rootca.pem").c_str());
  352
+			int ret = x509_crt_parse_file(&ssl->cacert, (cert_base_path + "rootca.pem").c_str());
347 353
 			if (ret)
348 354
 			{
349  
-				x509_crt_free(&_SSL[sslID].clicert);
  355
+				x509_crt_free(&ssl->clicert);
350 356
 				Memory::Write_U32(SSL_ERR_FAILED, _BufferIn);
351 357
 			}
352 358
 			else
353 359
 			{
354  
-				ssl_set_ca_chain(&_SSL[sslID].ctx, &_SSL[sslID].cacert, NULL, _SSL[sslID].hostname);
  360
+				ssl_set_ca_chain(&ssl->ctx, &ssl->cacert, nullptr, ssl->hostname);
355 361
 				Memory::Write_U32(SSL_OK, _BufferIn);
356 362
 			}
357 363
 			INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINROOTCA = %d", ret);
@@ -374,9 +380,10 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
374 380
 		int sslID = Memory::Read_U32(BufferOut) - 1;
375 381
 		if (SSLID_VALID(sslID))
376 382
 		{
377  
-			_SSL[sslID].sockfd = Memory::Read_U32(BufferOut2);
378  
-			INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_CONNECT socket = %d", _SSL[sslID].sockfd);
379  
-			ssl_set_bio(&_SSL[sslID].ctx, net_recv, &_SSL[sslID].sockfd, net_send, &_SSL[sslID].sockfd);
  383
+			WII_SSL* ssl = &_SSL[sslID];
  384
+			ssl->sockfd = Memory::Read_U32(BufferOut2);
  385
+			INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_CONNECT socket = %d", ssl->sockfd);
  386
+			ssl_set_bio(&ssl->ctx, net_recv, &ssl->sockfd, net_send, &ssl->sockfd);
380 387
 			Memory::Write_U32(SSL_OK, _BufferIn);
381 388
 		}
382 389
 		else
8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h
@@ -76,12 +76,12 @@ class CWII_IPC_HLE_Device_net_ssl : public IWII_IPC_HLE_Device
76 76
 
77 77
 	virtual ~CWII_IPC_HLE_Device_net_ssl();
78 78
 
79  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
  79
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
80 80
 
81  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
  81
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
82 82
 
83  
-	virtual bool IOCtl(u32 _CommandAddress);
84  
-	virtual bool IOCtlV(u32 _CommandAddress);
  83
+	virtual bool IOCtl(u32 _CommandAddress) override;
  84
+	virtual bool IOCtlV(u32 _CommandAddress) override;
85 85
 	int getSSLFreeID();
86 86
 
87 87
 	static WII_SSL _SSL[NET_SSL_MAXINSTANCES];
2  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp
@@ -18,7 +18,7 @@
18 18
 	, m_Status(CARD_NOT_EXIST)
19 19
 	, m_BlockLength(0)
20 20
 	, m_BusWidth(0)
21  
-	, m_Card(NULL)
  21
+	, m_Card(nullptr)
22 22
 {}
23 23
 
24 24
 void CWII_IPC_HLE_Device_sdio_slot0::DoState(PointerWrap& p)
10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.h
@@ -14,12 +14,12 @@ class CWII_IPC_HLE_Device_sdio_slot0 : public IWII_IPC_HLE_Device
14 14
 
15 15
 	CWII_IPC_HLE_Device_sdio_slot0(u32 _DeviceID, const std::string& _rDeviceName);
16 16
 
17  
-	virtual void DoState(PointerWrap& p);
  17
+	virtual void DoState(PointerWrap& p) override;
18 18
 
19  
-	bool Open(u32 _CommandAddress, u32 _Mode);
20  
-	bool Close(u32 _CommandAddress, bool _bForce);
21  
-	bool IOCtl(u32 _CommandAddress);
22  
-	bool IOCtlV(u32 _CommandAddress);
  19
+	bool Open(u32 _CommandAddress, u32 _Mode) override;
  20
+	bool Close(u32 _CommandAddress, bool _bForce) override;
  21
+	bool IOCtl(u32 _CommandAddress) override;
  22
+	bool IOCtlV(u32 _CommandAddress) override;
23 23
 
24 24
 	void EventNotify();
25 25
 
12  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.h
@@ -36,7 +36,7 @@ class CWII_IPC_HLE_Device_stm_immediate : public IWII_IPC_HLE_Device
36 36
 	virtual ~CWII_IPC_HLE_Device_stm_immediate()
37 37
 	{}
38 38
 
39  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode)
  39
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override
40 40
 	{
41 41
 		INFO_LOG(WII_IPC_STM, "STM immediate: Open");
42 42
 		Memory::Write_U32(GetDeviceID(), _CommandAddress+4);
@@ -44,7 +44,7 @@ class CWII_IPC_HLE_Device_stm_immediate : public IWII_IPC_HLE_Device
44 44
 		return true;
45 45
 	}
46 46
 
47  
-	virtual bool Close(u32 _CommandAddress, bool _bForce)
  47
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override
48 48
 	{
49 49
 		INFO_LOG(WII_IPC_STM, "STM immediate: Close");
50 50
 		if (!_bForce)
@@ -53,7 +53,7 @@ class CWII_IPC_HLE_Device_stm_immediate : public IWII_IPC_HLE_Device
53 53
 		return true;
54 54
 	}
55 55
 
56  
-	virtual bool IOCtl(u32 _CommandAddress)
  56
+	virtual bool IOCtl(u32 _CommandAddress) override
57 57
 	{
58 58
 		u32 Parameter     = Memory::Read_U32(_CommandAddress + 0x0C);
59 59
 		u32 BufferIn      = Memory::Read_U32(_CommandAddress + 0x10);
@@ -125,14 +125,14 @@ class CWII_IPC_HLE_Device_stm_eventhook : public IWII_IPC_HLE_Device
125 125
 	{
126 126
 	}
127 127
 
128  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode)
  128
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override
129 129
 	{
130 130
 		Memory::Write_U32(GetDeviceID(), _CommandAddress + 4);
131 131
 		m_Active = true;
132 132
 		return true;
133 133
 	}
134 134
 
135  
-	virtual bool Close(u32 _CommandAddress, bool _bForce)
  135
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override
136 136
 	{
137 137
 		m_EventHookAddress = 0;
138 138
 
@@ -143,7 +143,7 @@ class CWII_IPC_HLE_Device_stm_eventhook : public IWII_IPC_HLE_Device
143 143
 		return true;
144 144
 	}
145 145
 
146  
-	virtual bool IOCtl(u32 _CommandAddress)
  146
+	virtual bool IOCtl(u32 _CommandAddress) override
147 147
 	{
148 148
 		u32 Parameter     = Memory::Read_U32(_CommandAddress + 0x0C);
149 149
 		u32 BufferIn      = Memory::Read_U32(_CommandAddress + 0x10);
34  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.cpp
@@ -90,7 +90,7 @@
90 90
 CWII_IPC_HLE_Device_usb_oh1_57e_305::~CWII_IPC_HLE_Device_usb_oh1_57e_305()
91 91
 {
92 92
 	m_WiiMotes.clear();
93  
-	SetUsbPointer(NULL);
  93
+	SetUsbPointer(nullptr);
94 94
 }
95 95
 
96 96
 void CWII_IPC_HLE_Device_usb_oh1_57e_305::DoState(PointerWrap &p)
@@ -299,7 +299,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
299 299
 void CWII_IPC_HLE_Device_usb_oh1_57e_305::SendToDevice(u16 _ConnectionHandle, u8* _pData, u32 _Size)
300 300
 {
301 301
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_ConnectionHandle);
302  
-	if (pWiiMote == NULL)
  302
+	if (pWiiMote == nullptr)
303 303
 		return;
304 304
 
305 305
 	INFO_LOG(WII_IPC_WIIMOTE, "Send ACL Packet to ConnectionHandle 0x%04x", _ConnectionHandle);
@@ -584,7 +584,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventInquiryResponse()
584 584
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventConnectionComplete(const bdaddr_t& _bd)
585 585
 {
586 586
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_bd);
587  
-	if (pWiiMote == NULL)
  587
+	if (pWiiMote == nullptr)
588 588
 		return false;
589 589
 
590 590
 	SQueuedEvent Event(sizeof(SHCIEventConnectionComplete), 0);
@@ -662,7 +662,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRequestConnection(CWII_IPC_HL
662 662
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventDisconnect(u16 _connectionHandle, u8 _Reason)
663 663
 {
664 664
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_connectionHandle);
665  
-	if (pWiiMote == NULL)
  665
+	if (pWiiMote == nullptr)
666 666
 		return false;
667 667
 
668 668
 	SQueuedEvent Event(sizeof(SHCIEventDisconnectCompleted), _connectionHandle);
@@ -686,7 +686,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventDisconnect(u16 _connectionHan
686 686
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventAuthenticationCompleted(u16 _connectionHandle)
687 687
 {
688 688
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_connectionHandle);
689  
-	if (pWiiMote == NULL)
  689
+	if (pWiiMote == nullptr)
690 690
 		return false;
691 691
 
692 692
 	SQueuedEvent Event(sizeof(SHCIEventAuthenticationCompleted), _connectionHandle);
@@ -708,7 +708,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventAuthenticationCompleted(u16 _
708 708
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRemoteNameReq(const bdaddr_t& _bd)
709 709
 {
710 710
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_bd);
711  
-	if (pWiiMote == NULL)
  711
+	if (pWiiMote == nullptr)
712 712
 		return false;
713 713
 
714 714
 	SQueuedEvent Event(sizeof(SHCIEventRemoteNameReq), 0);
@@ -735,7 +735,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRemoteNameReq(const bdaddr_t&
735 735
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadRemoteFeatures(u16 _connectionHandle)
736 736
 {
737 737
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_connectionHandle);
738  
-	if (pWiiMote == NULL)
  738
+	if (pWiiMote == nullptr)
739 739
 		return false;
740 740
 
741 741
 	SQueuedEvent Event(sizeof(SHCIEventReadRemoteFeatures), _connectionHandle);
@@ -770,7 +770,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadRemoteFeatures(u16 _conne
770 770
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadRemoteVerInfo(u16 _connectionHandle)
771 771
 {
772 772
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_connectionHandle);
773  
-	if (pWiiMote == NULL)
  773
+	if (pWiiMote == nullptr)
774 774
 		return false;
775 775
 
776 776
 	SQueuedEvent Event(sizeof(SHCIEventReadRemoteVerInfo), _connectionHandle);
@@ -808,7 +808,7 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventCommandComplete(u16 _OpCode,
808 808
 	pHCIEvent->Opcode = _OpCode;
809 809
 
810 810
 	// add the payload
811  
-	if ((_pData != NULL) && (_DataSize > 0))
  811
+	if ((_pData != nullptr) && (_DataSize > 0))
812 812
 	{
813 813
 		u8* pPayload = Event.m_buffer + sizeof(SHCIEventCommand);
814 814
 		memcpy(pPayload, _pData, _DataSize);
@@ -840,7 +840,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventCommandStatus(u16 _Opcode)
840 840
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRoleChange(bdaddr_t _bd, bool _master)
841 841
 {
842 842
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_bd);
843  
-	if (pWiiMote == NULL)
  843
+	if (pWiiMote == nullptr)
844 844
 		return false;
845 845
 
846 846
 	SQueuedEvent Event(sizeof(SHCIEventRoleChange), 0);
@@ -910,7 +910,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventNumberOfCompletedPackets()
910 910
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventModeChange(u16 _connectionHandle, u8 _mode, u16 _value)
911 911
 {
912 912
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_connectionHandle);
913  
-	if (pWiiMote == NULL)
  913
+	if (pWiiMote == nullptr)
914 914
 		return false;
915 915
 
916 916
 	SQueuedEvent Event(sizeof(SHCIEventModeChange), _connectionHandle);
@@ -988,7 +988,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRequestLinkKey(const bdaddr_t
988 988
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadClockOffsetComplete(u16 _connectionHandle)
989 989
 {
990 990
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_connectionHandle);
991  
-	if (pWiiMote == NULL)
  991
+	if (pWiiMote == nullptr)
992 992
 		return false;
993 993
 
994 994
 	SQueuedEvent Event(sizeof(SHCIEventReadClockOffsetComplete), _connectionHandle);
@@ -1012,7 +1012,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadClockOffsetComplete(u16 _
1012 1012
 bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventConPacketTypeChange(u16 _connectionHandle, u16 _packetType)
1013 1013
 {
1014 1014
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(_connectionHandle);
1015  
-	if (pWiiMote == NULL)
  1015
+	if (pWiiMote == nullptr)
1016 1016
 		return false;
1017 1017
 
1018 1018
 	SQueuedEvent Event(sizeof(SHCIEventConPacketTypeChange), _connectionHandle);
@@ -1195,7 +1195,7 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::ExecuteHCICommandMessage(const SHCICom
1195 1195
 
1196 1196
 	default:
1197 1197
 		// send fake okay msg...
1198  
-		SendEventCommandComplete(pMsg->Opcode, NULL, 0);
  1198
+		SendEventCommandComplete(pMsg->Opcode, nullptr, 0);
1199 1199
 
1200 1200
 		if (ogf == HCI_OGF_VENDOR)
1201 1201
 		{
@@ -1536,7 +1536,7 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandDeleteStoredLinkKey(u8* _Input)
1536 1536
 
1537 1537
 
1538 1538
 	CWII_IPC_HLE_WiiMote* pWiiMote = AccessWiiMote(pDeleteStoredLinkKey->bdaddr);
1539  
-	if (pWiiMote == NULL)
  1539
+	if (pWiiMote == nullptr)
1540 1540
 		return;
1541 1541
 
1542 1542
 	hci_delete_stored_link_key_rp Reply;
@@ -1832,7 +1832,7 @@ CWII_IPC_HLE_WiiMote* CWII_IPC_HLE_Device_usb_oh1_57e_305::AccessWiiMote(const b
1832 1832
 
1833 1833
 	ERROR_LOG(WII_IPC_WIIMOTE,"Can't find WiiMote by bd: %02x:%02x:%02x:%02x:%02x:%02x",
1834 1834
 		_rAddr.b[0], _rAddr.b[1], _rAddr.b[2], _rAddr.b[3], _rAddr.b[4], _rAddr.b[5]);
1835  
-	return NULL;
  1835
+	return nullptr;
1836 1836
 }
1837 1837
 
1838 1838
 CWII_IPC_HLE_WiiMote* CWII_IPC_HLE_Device_usb_oh1_57e_305::AccessWiiMote(u16 _ConnectionHandle)
@@ -1845,7 +1845,7 @@ CWII_IPC_HLE_WiiMote* CWII_IPC_HLE_Device_usb_oh1_57e_305::AccessWiiMote(u16 _Co
1845 1845
 
1846 1846
 	ERROR_LOG(WII_IPC_WIIMOTE, "Can't find WiiMote by connection handle %02x", _ConnectionHandle);
1847 1847
 	PanicAlertT("Can't find WiiMote by connection handle %02x", _ConnectionHandle);
1848  
-	return NULL;
  1848
+	return nullptr;
1849 1849
 }
1850 1850
 
1851 1851
 void CWII_IPC_HLE_Device_usb_oh1_57e_305::LOG_LinkKey(const u8* _pLinkKey)
12  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.h
@@ -50,13 +50,13 @@ class CWII_IPC_HLE_Device_usb_oh1_57e_305 : public IWII_IPC_HLE_Device
50 50
 
51 51
 	virtual ~CWII_IPC_HLE_Device_usb_oh1_57e_305();
52 52
 
53  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
54  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
  53
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
  54
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
55 55
 
56  
-	virtual bool IOCtlV(u32 _CommandAddress);
57  
-	virtual bool IOCtl(u32 _CommandAddress);
  56
+	virtual bool IOCtlV(u32 _CommandAddress) override;
  57
+	virtual bool IOCtl(u32 _CommandAddress) override;
58 58
 
59  
-	virtual u32 Update();
  59
+	virtual u32 Update() override;
60 60
 
61 61
 	// Send ACL data back to bt stack
62 62
 	void SendACLPacket(u16 _ConnectionHandle, u8* _pData, u32 _Size);
@@ -69,7 +69,7 @@ class CWII_IPC_HLE_Device_usb_oh1_57e_305 : public IWII_IPC_HLE_Device
69 69
 	CWII_IPC_HLE_WiiMote* AccessWiiMote(const bdaddr_t& _rAddr);
70 70
 	CWII_IPC_HLE_WiiMote* AccessWiiMote(u16 _ConnectionHandle);
71 71
 
72  
-	void DoState(PointerWrap &p);
  72
+	void DoState(PointerWrap &p) override;
73 73
 
74 74
 	void NetPlay_WiimoteUpdate(int _number);
75 75
 
8  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp
@@ -27,12 +27,14 @@ bool CWII_IPC_HLE_Device_usb_kbd::Open(u32 _CommandAddress, u32 _Mode)
27 27
 	ini.Load(File::GetUserPath(F_DOLPHINCONFIG_IDX));
28 28
 	ini.Get("USB Keyboard", "Layout", &m_KeyboardLayout, KBD_LAYOUT_QWERTY);
29 29
 
30  
-	for(int i = 0; i < 256; i++)
31  
-		m_OldKeyBuffer[i] = false;
  30
+	for (bool& pressed : m_OldKeyBuffer)
  31
+	{
  32
+		pressed = false;
  33
+	}
32 34
 
33 35
 	m_OldModifiers = 0x00;
34 36
 
35  
-	//m_MessageQueue.push(SMessageData(MSG_KBD_CONNECT, 0, NULL));
  37
+	//m_MessageQueue.push(SMessageData(MSG_KBD_CONNECT, 0, nullptr));
36 38
 	Memory::Write_U32(m_DeviceID, _CommandAddress+4);
37 39
 	m_Active = true;
38 40
 	return true;
10  Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h
@@ -10,11 +10,11 @@ class CWII_IPC_HLE_Device_usb_kbd : public IWII_IPC_HLE_Device
10 10
 	CWII_IPC_HLE_Device_usb_kbd(u32 _DeviceID, const std::string& _rDeviceName);
11 11
 	virtual ~CWII_IPC_HLE_Device_usb_kbd();
12 12
 
13  
-	virtual bool Open(u32 _CommandAddress, u32 _Mode);
14  
-	virtual bool Close(u32 _CommandAddress, bool _bForce);
15  
-	virtual bool Write(u32 _CommandAddress);
16  
-	virtual bool IOCtl(u32 _CommandAddress);
17  
-	virtual u32 Update();
  13
+	virtual bool Open(u32 _CommandAddress, u32 _Mode) override;
  14
+	virtual bool Close(u32 _CommandAddress, bool _bForce) override;
  15
+	virtual bool Write(u32 _CommandAddress) override;
  16
+	virtual bool IOCtl(u32 _CommandAddress) override;
  17
+	virtual u32 Update() override;
18 18
 
19 19
 private:
20 20
 	enum
4  Source/Core/Core/IPC_HLE/WII_IPC_HLE_WiiMote.cpp
@@ -14,7 +14,7 @@
14 14
 #include "Core/IPC_HLE/WII_IPC_HLE_WiiMote.h"
15 15
 #include "Core/IPC_HLE/WiiMote_HID_Attr.h"
16 16
 
17  
-static CWII_IPC_HLE_Device_usb_oh1_57e_305* s_Usb = NULL;
  17
+static CWII_IPC_HLE_Device_usb_oh1_57e_305* s_Usb = nullptr;
18 18
 
19 19
 CWII_IPC_HLE_Device_usb_oh1_57e_305* GetUsbPointer()
20 20
 {
@@ -198,7 +198,7 @@ void CWII_IPC_HLE_WiiMote::EventConnectionAccepted()
198 198
 void CWII_IPC_HLE_WiiMote::EventDisconnect()
199 199
 {
200 200
 	// Send disconnect message to plugin
201  
-	Wiimote::ControlChannel(m_ConnectionHandle & 0xFF, 99, NULL, 0);
  201
+	Wiimote::ControlChannel(m_ConnectionHandle & 0xFF, 99, nullptr, 0);
202 202
 
203 203
 	m_ConnectionState = CONN_INACTIVE;
204 204
 	// Clear channel flags
12  Source/Core/Core/IPC_HLE/WII_Socket.cpp
@@ -29,8 +29,8 @@ char* WiiSockMan::DecodeError(s32 ErrorCode)
29 29
 	// instead of a static buffer here.
30 30
 	// (And of course, free the buffer when we were done with it)
31 31
 	FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS |
32  
-		FORMAT_MESSAGE_MAX_WIDTH_MASK, NULL, ErrorCode,
33  
-		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)Message, 1024, NULL);
  32
+		FORMAT_MESSAGE_MAX_WIDTH_MASK, nullptr, ErrorCode,
  33
+		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)Message, 1024, nullptr);
34 34
 	return Message;
35 35
 #else
36 36
 	return strerror(ErrorCode);
@@ -242,7 +242,7 @@ void WiiSocket::update(bool read, bool write, bool except)
242 242
 				}
243 243
 				else
244 244
 				{
245  
-					int ret = (s32)accept(fd, NULL, 0);
  245
+					int ret = (s32)accept(fd, nullptr, 0);
246 246
 					ReturnValue = WiiSockMan::getNetErrorCode(ret, "SO_ACCEPT", true);
247 247
 				}
248 248
 
@@ -440,7 +440,7 @@ void WiiSocket::update(bool read, bool write, bool except)
440 440
 					}
441 441
 
442 442
 					int ret = sendto(fd, data, BufferInSize, flags,
443  
-						has_destaddr ? (struct sockaddr*)&local_name : NULL,
  443
+						has_destaddr ? (struct sockaddr*)&local_name : nullptr,
444 444
 						has_destaddr ? sizeof(sockaddr) :  0);
445 445
 					ReturnValue = WiiSockMan::getNetErrorCode(ret, "SO_SENDTO", true);
446 446
 
@@ -486,8 +486,8 @@ void WiiSocket::update(bool read, bool write, bool except)
486 486
 #endif
487 487
 					socklen_t addrlen = sizeof(sockaddr_in);
488 488
 					int ret = recvfrom(fd, data, data_len, flags,
489  
-									BufferOutSize2 ? (struct sockaddr*) &local_name : NULL,
490  
-									BufferOutSize2 ? &addrlen : 0);
  489
+									BufferOutSize2 ? (struct sockaddr*) &local_name : nullptr,
  490
+									BufferOutSize2 ? &addrlen : nullptr);
491 491
 					ReturnValue = WiiSockMan::getNetErrorCode(ret, BufferOutSize2 ? "SO_RECVFROM" : "SO_RECV", true);
492 492
 
493 493
 					INFO_LOG(WII_IPC_NET, "%s(%d, %p) Socket: %08X, Flags: %08X, "
2  Source/Core/Core/IPC_HLE/WiiMote_HID_Attr.cpp
@@ -234,7 +234,7 @@ const u8* GetAttribPacket(u32 serviceHandle, u32 cont, u32& _size)
234 234
 		return packet4_0x10001;
235 235
 	}
236 236
 
237  
-	return 0;
  237
+	return nullptr;
238 238
 }
239 239
 
240 240
 // XXX keep these?
12  Source/Core/Core/IPC_HLE/fakepoll.h
@@ -60,10 +60,10 @@ inline int poll(struct pollfd *pollSet, int pollCount, int pollTimeout)
60 60
 	int maxFD;
61 61
 
62 62
 	if (!pollSet) {
63  
-		pollEnd = NULL;
64  
-		readp = NULL;
65  
-		writep = NULL;
66  
-		exceptp = NULL;
  63
+		pollEnd = nullptr;
  64
+		readp = nullptr;
  65
+		writep = nullptr;
  66
+		exceptp = nullptr;
67 67
 		maxFD = 0;
68 68
 	}
69 69
 	else {
@@ -97,14 +97,14 @@ inline int poll(struct pollfd *pollSet, int pollCount, int pollTimeout)
97 97
 	}
98 98
 
99 99
 	// poll timeout is in milliseconds. Convert to struct timeval.
100  
-	// poll timeout == -1 : wait forever : select timeout of NULL
  100
+	// poll timeout == -1 : wait forever : select timeout of nullptr
101 101
 	// poll timeout == 0  : return immediately : select timeout of zero
102 102
 	if (pollTimeout >= 0) {
103 103
 		tv.tv_sec = pollTimeout / 1000;
104 104
 		tv.tv_usec = (pollTimeout % 1000) * 1000;
105 105
 		tvp = &tv;
106 106
 	} else {
107  
-		tvp = NULL;
  107
+		tvp = nullptr;
108 108
 	}
109 109
 
110 110
 
28  Source/Core/Core/Movie.cpp
@@ -45,7 +45,7 @@
45 45
 u8 g_numPads = 0;
46 46
 ControllerState g_padState;
47 47
 DTMHeader tmpHeader;
48  
-u8* tmpInput = NULL;
  48
+u8* tmpInput = nullptr;
49 49
 size_t tmpInputAllocated = 0;
50 50
 u64 g_currentByte = 0, g_totalBytes = 0;
51 51
 u64 g_currentFrame = 0, g_totalFrames = 0; // VI
@@ -72,7 +72,7 @@
72 72
 
73 73
 std::string g_InputDisplay[8];
74 74
 
75  
-ManipFunction mfunc = NULL;
  75
+ManipFunction mfunc = nullptr;
76 76
 
77 77
 void EnsureTmpInputSize(size_t bound)
78 78
 {
@@ -86,7 +86,7 @@ void EnsureTmpInputSize(size_t bound)
86 86
 
87 87
 	u8* newTmpInput = new u8[newAlloc];
88 88
 	tmpInputAllocated = newAlloc;
89  
-	if (tmpInput != NULL)
  89
+	if (tmpInput != nullptr)
90 90
 	{
91 91
 		if (g_totalBytes > 0)
92 92
 			memcpy(newTmpInput, tmpInput, (size_t)g_totalBytes);
@@ -654,9 +654,9 @@ void RecordInput(SPADStatus *PadStatus, int controllerID)
654 654
 
655 655
 void CheckWiimoteStatus(int wiimote, u8 *data, const WiimoteEmu::ReportFeatures& rptf, int irMode)
656 656
 {
657  
-	u8* const coreData = rptf.core?(data+rptf.core):NULL;
658  
-	u8* const accelData = rptf.accel?(data+rptf.accel):NULL;
659  
-	u8* const irData = rptf.ir?(data+rptf.ir):NULL;
  657
+	u8* const coreData = rptf.core?(data+rptf.core):nullptr;
  658
+	u8* const accelData = rptf.accel?(data+rptf.accel):nullptr;
  659
+	u8* const irData = rptf.ir?(data+rptf.ir):nullptr;
660 660
 	u8 size = rptf.size;
661 661
 	SetWiiInputDisplayString(wiimote, coreData, accelData, irData);
662 662
 
@@ -819,7 +819,7 @@ void LoadInput(const char *filename)
819 819
 		afterEnd = true;
820 820
 	}
821 821
 
822  
-	if (!g_bReadOnly || tmpInput == NULL)
  822
+	if (!g_bReadOnly || tmpInput == nullptr)
823 823
 	{
824 824
 		g_totalFrames = tmpHeader.frameCount;
825 825
 		g_totalLagCount = tmpHeader.lagCount;
@@ -926,7 +926,7 @@ void PlayController(SPADStatus *PadStatus, int controllerID)
926 926
 {
927 927
 	// Correct playback is entirely dependent on the emulator polling the controllers
928 928
 	// in the same order done during recording
929  
-	if (!IsPlayingInput() || !IsUsingPad(controllerID) || tmpInput == NULL)
  929
+	if (!IsPlayingInput() || !IsUsingPad(controllerID) || tmpInput == nullptr)
930 930
 		return;
931 931
 
932 932
 	if (g_currentByte + 8 > g_totalBytes)
@@ -1022,7 +1022,7 @@ void PlayController(SPADStatus *PadStatus, int controllerID)
1022 1022
 
1023 1023
 bool PlayWiimote(int wiimote, u8 *data, const WiimoteEmu::ReportFeatures& rptf, int irMode)
1024 1024
 {
1025  
-	if(!IsPlayingInput() || !IsUsingWiimote(wiimote) || tmpInput == NULL)
  1025
+	if(!IsPlayingInput() || !IsUsingWiimote(wiimote) || tmpInput == nullptr)
1026 1026
 		return false;
1027 1027
 
1028 1028
 	if (g_currentByte > g_totalBytes)
@@ -1032,9 +1032,9 @@ bool PlayWiimote(int wiimote, u8 *data, const WiimoteEmu::ReportFeatures& rptf,
1032 1032
 		return false;
1033 1033
 	}
1034 1034
 
1035  
-	u8* const coreData = rptf.core?(data+rptf.core):NULL;
1036  
-	u8* const accelData = rptf.accel?(data+rptf.accel):NULL;
1037  
-	u8* const irData = rptf.ir?(data+rptf.ir):NULL;
  1035
+	u8* const coreData = rptf.core?(data+rptf.core):nullptr;
  1036
+	u8* const accelData = rptf.accel?(data+rptf.accel):nullptr;
  1037
+	u8* const irData = rptf.ir?(data+rptf.ir):nullptr;
1038 1038
 	u8 size = rptf.size;
1039 1039
 
1040 1040
 	u8 sizeInMovie = tmpInput[g_currentByte];
@@ -1084,7 +1084,7 @@ void EndPlayInput(bool cont)
1084 1084
 		// we don't clear these things because otherwise we can't resume playback if we load a movie state later
1085 1085
 		//g_totalFrames = g_totalBytes = 0;
1086 1086
 		//delete tmpInput;
1087  
-		//tmpInput = NULL;
  1087
+		//tmpInput = nullptr;
1088 1088
 	}
1089 1089
 }
1090 1090
 
@@ -1235,7 +1235,7 @@ void Shutdown()
1235 1235
 {
1236 1236
 	g_currentInputCount = g_totalInputCount = g_totalFrames = g_totalBytes = 0;
1237 1237
 	delete [] tmpInput;
1238  
-	tmpInput = NULL;
  1238
+	tmpInput = nullptr;
1239 1239
 	tmpInputAllocated = 0;
1240 1240
 }
1241 1241
 };
30  Source/Core/Core/NetPlayClient.cpp
@@ -18,7 +18,7 @@
18 18
 
19 19
 
20 20
 std::mutex crit_netplay_client;
21  
-static NetPlayClient * netplay_client = NULL;
  21
+static NetPlayClient * netplay_client = nullptr;
22 22
 NetSettings g_NetPlaySettings;
23 23
 
24 24
 #define RPT_SIZE_HACK  (1 << 16)
@@ -184,8 +184,10 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet)
184 184
 
185 185
 	case NP_MSG_PAD_MAPPING :
186 186
 		{
187  
-			for (PadMapping i = 0; i < 4; i++)
188  
-				packet >> m_pad_map[i];
  187
+			for (PadMapping& mapping : m_pad_map)
  188
+			{
  189
+				packet >> mapping;
  190
+			}
189 191
 
190 192
 			UpdateDevices();
191 193
 
@@ -195,8 +197,10 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet)
195 197
 
196 198
 	case NP_MSG_WIIMOTE_MAPPING :
197 199
 		{
198  
-			for (PadMapping i = 0; i < 4; i++)
199  
-				packet >> m_wiimote_map[i];
  200
+			for (PadMapping& mapping : m_wiimote_map)
  201
+			{
  202
+				packet >> mapping;
  203
+			}
200 204
 
201 205
 			m_dialog->Update();
202 206
 		}
@@ -759,15 +763,19 @@ void NetPlayClient::Stop()
759 763
 	if (m_is_running == false)
760 764
 		return;
761 765
 	bool isPadMapped = false;
762  
-	for (unsigned int i = 0; i < 4; ++i)
  766
+	for (PadMapping mapping : m_pad_map)
763 767
 	{
764  
-		if (m_pad_map[i] == m_local_player->pid)
  768
+		if (mapping == m_local_player->pid)
  769
+		{
765 770
 			isPadMapped = true;
  771
+		}
766 772
 	}
767  
-	for (unsigned int i = 0; i < 4; ++i)
  773
+	for (PadMapping mapping : m_wiimote_map)
768 774
 	{
769  
-		if (m_wiimote_map[i] == m_local_player->pid)
  775
+		if (mapping == m_local_player->pid)
  776
+		{
770 777
 			isPadMapped = true;
  778
+		}
771 779
 	}
772 780
 	// tell the server to stop if we have a pad mapped in game.
773 781
 	if (isPadMapped)
@@ -904,7 +912,7 @@ u8 CSIDevice_DanceMat::NetPlay_InGamePadToLocalPad(u8 numPAD)
904 912
 
905 913
 bool NetPlay::IsNetPlayRunning()
906 914
 {
907  
-	return netplay_client != NULL;
  915
+	return netplay_client != nullptr;
908 916
 }
909 917
 
910 918
 void NetPlay_Enable(NetPlayClient* const np)
@@ -916,5 +924,5 @@ void NetPlay_Enable(NetPlayClient* const np)
916 924
 void NetPlay_Disable()
917 925
 {
918 926
 	std::lock_guard<std::mutex> lk(crit_netplay_client);
919  
-	netplay_client = NULL;
  927
+	netplay_client = nullptr;
920 928
 }
64  Source/Core/Core/NetPlayServer.cpp
@@ -156,11 +156,11 @@ unsigned int NetPlayServer::OnConnect(sf::SocketTCP& socket)
156 156
 	player.pid = (PlayerId)(m_players.size() + 1);
157 157
 
158 158
 	// try to automatically assign new user a pad
159  
-	for (unsigned int m = 0; m < 4; ++m)
  159
+	for (PadMapping& mapping : m_pad_map)
160 160
 	{
161  
-		if (m_pad_map[m] == -1)
  161
+		if (mapping == -1)
162 162
 		{
163  
-			m_pad_map[m] = player.pid;
  163
+			mapping = player.pid;
164 164
 			break;
165 165
 		}
166 166
 	}
@@ -229,9 +229,9 @@ unsigned int NetPlayServer::OnDisconnect(sf::SocketTCP& socket)
229 229
 
230 230
 	if (m_is_running)
231 231
 	{
232  
-		for (int i = 0; i < 4; i++)
  232
+		for (PadMapping mapping : m_pad_map)
233 233
 		{
234  
-			if (m_pad_map[i] == pid)
  234
+			if (mapping == pid)
235 235
 			{
236 236
 				PanicAlertT("Client disconnect while game is running!! NetPlay is disabled. You must manually stop the game.");
237 237
 				std::lock_guard<std::recursive_mutex> lkg(m_crit.game);
@@ -260,14 +260,22 @@ unsigned int NetPlayServer::OnDisconnect(sf::SocketTCP& socket)
260 260
 	std::lock_guard<std::recursive_mutex> lks(m_crit.send);
261 261
 	SendToClients(spac);
262 262
 
263  
-	for (int i = 0; i < 4; i++)
264  
-		if (m_pad_map[i] == pid)
265  
-			m_pad_map[i] = -1;
  263
+	for (PadMapping& mapping : m_pad_map)
  264
+	{
  265
+		if (mapping == pid)
  266
+		{
  267
+			mapping = -1;
  268
+		}
  269
+	}
266 270
 	UpdatePadMapping();
267 271
 
268  
-	for (int i = 0; i < 4; i++)
269  
-		if (m_wiimote_map[i] == pid)
270  
-			m_wiimote_map[i] = -1;
  272
+	for (PadMapping& mapping : m_wiimote_map)
  273
+	{
  274
+		if (mapping == pid)
  275
+		{
  276
+			mapping = -1;
  277
+		}
  278
+	}
271 279
 	UpdateWiimoteMapping();
272 280
 
273 281
 	return 0;
@@ -307,8 +315,10 @@ void NetPlayServer::UpdatePadMapping()
307 315
 {
308 316
 	sf::Packet spac;
309 317
 	spac << (MessageId)NP_MSG_PAD_MAPPING;
310  
-	for (int i = 0; i < 4; i++)
311  
-		spac << m_pad_map[i];
  318
+	for (PadMapping mapping : m_pad_map)
  319
+	{
  320
+		spac << mapping;
  321
+	}
312 322
 	SendToClients(spac);
313 323
 }
314 324
 
@@ -317,8 +327,10 @@ void NetPlayServer::UpdateWiimoteMapping()
317 327
 {
318 328
 	sf::Packet spac;
319 329
 	spac << (MessageId)NP_MSG_WIIMOTE_MAPPING;
320  
-	for (int i = 0; i < 4; i++)
321  
-		spac << m_wiimote_map[i];
  330
+	for (PadMapping mapping : m_wiimote_map)
  331
+	{
  332
+		spac << mapping;
  333
+	}
322 334
 	SendToClients(spac);
323 335
 }
324 336
 
@@ -552,12 +564,14 @@ bool NetPlayServer::StartGame(const std::string &path)
552 564
 // called from multiple threads
553 565
 void NetPlayServer::SendToClients(sf::Packet& packet, const PlayerId skip_pid)
554 566
 {
555  
-	std::map<sf::SocketTCP, Client>::iterator
556  
-		i = m_players.begin(),
557  
-		e = m_players.end();
558  
-	for ( ; i!=e; ++i)
559  
-		if (i->second.pid && (i->second.pid != skip_pid))
560  
-			i->second.socket.Send(packet);
  567
+	for (std::pair<const sf::SocketTCP, Client>& p : m_players)
  568
+	{
  569
+		if (p.second.pid &&
  570
+		    p.second.pid != skip_pid)
  571
+		{
  572
+			p.second.socket.Send(packet);
  573
+		}
  574
+	}
561 575
 }
562 576
 
563 577
 #ifdef USE_UPNP
@@ -625,7 +639,7 @@ bool NetPlayServer::initUPnP()
625 639
 	memset(&m_upnp_data, 0, sizeof(IGDdatas));
626 640
 
627 641
 	// Find all UPnP devices
628  
-	UPNPDev *devlist = upnpDiscover(2000, NULL, NULL, 0, 0, &upnperror);
  642
+	UPNPDev *devlist = upnpDiscover(2000, nullptr, nullptr, 0, 0, &upnperror);
629 643
 	if (!devlist)
630 644
 	{
631 645
 		WARN_LOG(NETPLAY, "An error occured trying to discover UPnP devices.");
@@ -650,7 +664,7 @@ bool NetPlayServer::initUPnP()
650 664
 		{
651 665
 			parserootdesc(descXML, descXMLsize, &m_upnp_data);
652 666
 			free(descXML);
653  
-			descXML = 0;
  667
+			descXML = nullptr;
654 668
 			GetUPNPUrls(&m_upnp_urls, &m_upnp_data, dev->descURL, 0);
655 669
 
656 670
 			NOTICE_LOG(NETPLAY, "Got info from IGD at %s.", dev->descURL);
@@ -681,7 +695,7 @@ bool NetPlayServer::UPnPMapPort(const std::string& addr, const u16 port)
681 695
 	result = UPNP_AddPortMapping(m_upnp_urls.controlURL, m_upnp_data.first.servicetype,
682 696
 	                             port_str, port_str, addr.c_str(),
683 697
 	                             (std::string("dolphin-emu TCP on ") + addr).c_str(),
684  
-	                             "TCP", NULL, NULL);
  698
+	                             "TCP", nullptr, nullptr);
685 699
 
686 700
 	if(result != 0)
687 701
 		return false;
@@ -705,7 +719,7 @@ bool NetPlayServer::UPnPUnmapPort(const u16 port)
705 719
 
706 720
 	sprintf(port_str, "%d", port);
707 721
 	UPNP_DeletePortMapping(m_upnp_urls.controlURL, m_upnp_data.first.servicetype,
708  
-	                       port_str, "TCP", NULL);
  722
+	                       port_str, "TCP", nullptr);
709 723
 
710 724
 	return true;
711 725
 }
24  Source/Core/Core/PowerPC/GDBStub.cpp
@@ -134,7 +134,7 @@ static gdb_bp_t *gdb_bp_ptr(u32 type)
134 134
 		case GDB_BP_TYPE_A:
135 135
 			return bp_x;
136 136
 		default:
137  
-			return NULL;
  137
+			return nullptr;
138 138
 	}
139 139
 }
140 140
 
@@ -144,15 +144,15 @@ static gdb_bp_t *gdb_bp_empty_slot(u32 type)
144 144
 	u32 i;
145 145
 
146 146
 	p = gdb_bp_ptr(type);
147  
-	if (p == NULL)
148  
-		return NULL;
  147
+	if (p == nullptr)
  148
+		return nullptr;
149 149
 
150 150
 	for (i = 0; i < GDB_MAX_BP; i++) {
151 151
 		if (p[i].active == 0)
152 152
 			return &p[i];
153 153
 	}
154 154
 
155  
-	return NULL;
  155
+	return nullptr;
156 156
 }
157 157
 
158 158
 static gdb_bp_t *gdb_bp_find(u32 type, u32 addr, u32 len)
@@ -161,8 +161,8 @@ static gdb_bp_t *gdb_bp_find(u32 type, u32 addr, u32 len)
161 161
 	u32 i;
162 162
 
163 163
 	p = gdb_bp_ptr(type);
164  
-	if (p == NULL)
165  
-		return NULL;
  164
+	if (p == nullptr)
  165
+		return nullptr;
166 166
 
167 167
 	for (i = 0; i < GDB_MAX_BP; i++) {
168 168
 		if (p[i].active == 1 &&
@@ -171,7 +171,7 @@ static gdb_bp_t *gdb_bp_find(u32 type, u32 addr, u32 len)
171 171
 			return &p[i];
172 172
 	}
173 173
 
174  
-	return NULL;
  174
+	return nullptr;
175 175
 }
176 176
 
177 177
 static void gdb_bp_remove(u32 type, u32 addr, u32 len)
@@ -180,12 +180,12 @@ static void gdb_bp_remove(u32 type, u32 addr, u32 len)
180 180
 
181 181
 	do {
182 182
 		p = gdb_bp_find(type, addr, len);
183  
-		if (p != NULL) {
  183
+		if (p != nullptr) {
184 184
 			DEBUG_LOG(GDB_STUB, "gdb: removed a breakpoint: %08x bytes at %08x\n", len, addr);
185 185
 			p->active = 0;
186 186
 			memset(p, 0, sizeof(gdb_bp_t));
187 187
 		}
188  
-	} while (p != NULL);
  188
+	} while (p != nullptr);
189 189
 }
190 190
 
191 191
 static int gdb_bp_check(u32 addr, u32 type)
@@ -194,7 +194,7 @@ static int gdb_bp_check(u32 addr, u32 type)
194 194
 	u32 i;
195 195
 
196 196
 	p = gdb_bp_ptr(type);
197  
-	if (p == NULL)
  197
+	if (p == nullptr)
198 198
 		return 0;
199 199
 
200 200
 	for (i = 0; i < GDB_MAX_BP; i++) {
@@ -288,7 +288,7 @@ static int gdb_data_available() {
288 288
 	t.tv_sec = 0;
289 289
 	t.tv_usec = 20;
290 290
 
291  
-	if (select(sock + 1, fds, NULL, NULL, &t) < 0)
  291
+	if (select(sock + 1, fds, nullptr, nullptr, &t) < 0)
292 292
 	{
293 293
 		ERROR_LOG(GDB_STUB, "select failed");
294 294
 		return 0;
@@ -631,7 +631,7 @@ bool gdb_add_bp(u32 type, u32 addr, u32 len)
631 631
 {
632 632
 	gdb_bp_t *bp;
633 633
 	bp = gdb_bp_empty_slot(type);
634  
-	if (bp == NULL)
  634
+	if (bp == nullptr)
635 635
 		return false;
636 636
 
637 637
 	bp->active = 1;
2  Source/Core/Core/PowerPC/Interpreter/Interpreter_SystemRegisters.cpp
@@ -313,7 +313,7 @@ void Interpreter::mtspr(UGeckoInstruction _inst)
313 313
 
314 314
 			//_assert_msg_(POWERPC, WriteGatherPipeEnable, "Write gather pipe not enabled!");
315 315
 			//if ((HID2.PSE == 0))
316  
-			//	MessageBox(NULL, "PSE in HID2 is set", "Warning", MB_OK);
  316
+			//	MessageBox(nullptr, "PSE in HID2 is set", "Warning", MB_OK);
317 317
 		}
318 318
 		break;
319 319
 
10  Source/Core/Core/PowerPC/Interpreter/Interpreter_Tables.cpp
@@ -367,7 +367,7 @@ void InitTables()
367 367
 	for (int i = 0; i < 32; i++)
368 368
 	{
369 369
 		Interpreter::m_opTable59[i] = Interpreter::unknown_instruction;
370  
-		m_infoTable59[i] = 0;
  370
+		m_infoTable59[i] = nullptr;
371 371
 	}
372 372
 
373 373
 	for (int i = 0; i < 1024; i++)
@@ -376,10 +376,10 @@ void InitTables()
376 376
 		Interpreter::m_opTable19[i] = Interpreter::unknown_instruction;
377 377
 		Interpreter::m_opTable31[i] = Interpreter::unknown_instruction;
378 378
 		Interpreter::m_opTable63[i] = Interpreter::unknown_instruction;
379  
-		m_infoTable4[i] = 0;
380  
-		m_infoTable19[i] = 0;
381  
-		m_infoTable31[i] = 0;
382  
-		m_infoTable63[i] = 0;
  379
+		m_infoTable4[i] = nullptr;
  380
+		m_infoTable19[i] = nullptr;
  381
+		m_infoTable31[i] = nullptr;
  382
+		m_infoTable63[i] = nullptr;
383 383
 	}
384 384
 
385 385
 	for (auto& tpl : primarytable)
2  Source/Core/Core/PowerPC/Jit64/JitRegCache.cpp
@@ -9,7 +9,7 @@
9 9
 using namespace Gen;
10 10
 using namespace PowerPC;
11 11
 
12  
-RegCache::RegCache() : emit(0)
  12
+RegCache::RegCache() : emit(nullptr)
13 13
 {
14 14
 	memset(locks, 0, sizeof(locks));
15 15
 	memset(xlocks, 0, sizeof(xlocks));
26  Source/Core/Core/PowerPC/Jit64IL/IR_X86.cpp
@@ -48,8 +48,8 @@ struct RegInfo {
48 48
 
49 49
 	RegInfo(JitIL* j, InstLoc f, unsigned insts) : Jit(j), FirstI(f), IInfo(insts), lastUsed(insts) {
50 50
 		for (unsigned i = 0; i < MAX_NUMBER_OF_REGS; i++) {
51  
-			regs[i] = 0;
52  
-			fregs[i] = 0;
  51
+			regs[i] = nullptr;
  52
+			fregs[i] = nullptr;
53 53
 		}
54 54
 		numSpills = 0;
55 55
 		numFSpills = 0;
@@ -65,9 +65,9 @@ static u32 regsInUse(RegInfo& R) {
65 65
 	u32 result = 0;
66 66
 	for (unsigned i = 0; i < MAX_NUMBER_OF_REGS; i++)
67 67
 	{
68  
-		if (R.regs[i] != 0)
  68
+		if (R.regs[i] != nullptr)
69 69
 			result |= (1 << i);
70  
-		if (R.fregs[i] != 0)
  70
+		if (R.fregs[i] != nullptr)
71 71
 			result |= (1 << (16 + i));
72 72
 	}
73 73
 	return result;
@@ -112,7 +112,7 @@ static void regSpill(RegInfo& RI, X64Reg reg) {
112 112
 		slot = regCreateSpill(RI, RI.regs[reg]);
113 113
 		RI.Jit->MOV(32, regLocForSlot(RI, slot), R(reg));
114 114
 	}
115  
-	RI.regs[reg] = 0;
  115
+	RI.regs[reg] = nullptr;
116 116
 }
117 117
 
118 118
 static OpArg fregLocForSlot(RegInfo& RI, unsigned slot) {
@@ -136,7 +136,7 @@ static void fregSpill(RegInfo& RI, X64Reg reg) {
136 136
 		slot = fregCreateSpill(RI, RI.fregs[reg]);
137 137
 		RI.Jit->MOVAPD(fregLocForSlot(RI, slot), reg);
138 138
 	}
139  
-	RI.fregs[reg] = 0;
  139
+	RI.fregs[reg] = nullptr;
140 140
 }
141 141
 
142 142
 // ECX is scratch, so we don't allocate it
@@ -164,11 +164,11 @@ static void fregSpill(RegInfo& RI, X64Reg reg) {
164 164
 
165 165
 static X64Reg regFindFreeReg(RegInfo& RI) {
166 166
 	for (auto& reg : RegAllocOrder)
167  
-		if (RI.regs[reg] == 0)
  167
+		if (RI.regs[reg] == nullptr)
168 168
 			return reg;
169 169
 
170 170
 	int bestIndex = -1;
171  
-	InstLoc bestEnd = 0;
  171
+	InstLoc bestEnd = nullptr;
172 172
 	for (int i = 0; i < RegAllocSize; ++i) {
173 173
 		const InstLoc start = RI.regs[RegAllocOrder[i]];
174 174
 		const InstLoc end = RI.lastUsed[start - RI.FirstI];
@@ -185,11 +185,11 @@ static X64Reg regFindFreeReg(RegInfo& RI) {
185 185
 
186 186
 static X64Reg fregFindFreeReg(RegInfo& RI) {
187 187
 	for (auto& reg : FRegAllocOrder)
188  
-		if (RI.fregs[reg] == 0)
  188
+		if (RI.fregs[reg] == nullptr)
189 189
 			return reg;
190 190
 
191 191
 	int bestIndex = -1;
192  
-	InstLoc bestEnd = 0;
  192
+	InstLoc bestEnd = nullptr;
193 193
 	for (int i = 0; i < FRegAllocSize; ++i) {
194 194
 		const InstLoc start = RI.fregs[FRegAllocOrder[i]];
195 195
 		const InstLoc end = RI.lastUsed[start - RI.FirstI];
@@ -229,13 +229,13 @@ static OpArg fregLocForInst(RegInfo& RI, InstLoc I) {
229 229
 static void regClearInst(RegInfo& RI, InstLoc I) {
230 230
 	for (auto& reg : RegAllocOrder)
231 231
 		if (RI.regs[reg] == I)
232  
-			RI.regs[reg] = 0;
  232
+			RI.regs[reg] = nullptr;
233 233
 }
234 234
 
235 235
 static void fregClearInst(RegInfo& RI, InstLoc I) {
236 236
 	for (auto& reg : FRegAllocOrder)
237 237
 		if (RI.fregs[reg] == I)
238  
-			RI.fregs[reg] = 0;
  238
+			RI.fregs[reg] = nullptr;
239 239
 }
240 240
 
241 241
 static X64Reg regEnsureInReg(RegInfo& RI, InstLoc I) {
@@ -490,7 +490,7 @@ static OpArg regImmForConst(RegInfo& RI, InstLoc I, unsigned Size) {
490 490
 }
491 491
 
492 492
 static void regEmitMemStore(RegInfo& RI, InstLoc I, unsigned Size) {
493  
-	auto info = regBuildMemAddress(RI, I, getOp2(I), 2, Size, 0);
  493
+	auto info = regBuildMemAddress(RI, I, getOp2(I), 2, Size, nullptr);
494 494
 	if (info.first.IsImm())
495 495
 		RI.Jit->MOV(32, R(ECX), info.first);
496 496
 	else
4  Source/Core/Core/PowerPC/Jit64IL/JitIL.cpp
@@ -206,9 +206,9 @@ static inline uint64_t __rdtsc()
206 206
 		virtual ~JitILProfilerFinalizer()
207 207
 		{
208 208
 			char buffer[1024];
209  
-			sprintf(buffer, "JitIL_profiling_%d.csv", (int)time(NULL));
  209
+			sprintf(buffer, "JitIL_profiling_%d.csv", (int)time(nullptr));
210 210
 			File::IOFile file(buffer, "w");
211  
-			setvbuf(file.GetHandle(), NULL, _IOFBF, 1024 * 1024);
  211
+			setvbuf(file.GetHandle(), nullptr, _IOFBF, 1024 * 1024);
212 212
 			fprintf(file.GetHandle(), "code hash,total elapsed,number of calls,elapsed per call\n");
213 213
 			for (auto& block : blocks)
214 214
 			{
2  Source/Core/Core/PowerPC/Jit64IL/JitIL.h
@@ -69,7 +69,7 @@ class JitIL : public JitILBase, public EmuCodeBlock
69 69
 
70 70
 	JitBlockCache *GetBlockCache() override { return &blocks; }
71 71
 
72  
-	const u8 *BackPatch(u8 *codePtr, u32 em_address, void *ctx) override { return NULL; };
  72
+	const u8 *BackPatch(u8 *codePtr, u32 em_address, void *ctx) override { return nullptr; };
73 73
 
74 74
 	bool IsInCodeSpace(u8 *ptr) override { return IsInSpace(ptr); }
75 75
 
2  Source/Core/Core/PowerPC/JitArmIL/JitIL.h
@@ -37,7 +37,7 @@ class JitArmIL : public JitILBase, public ArmGen::ARMXCodeBlock
37 37
 
38 38
 	JitBaseBlockCache *GetBlockCache() { return &blocks; }
39 39
 
40  
-	const u8 *BackPatch(u8 *codePtr, u32 em_address, void *ctx) { return NULL; }
  40
+	const u8 *BackPatch(u8 *codePtr, u32 em_address, void *ctx) { return nullptr; }
41 41
 
42 42
 	bool IsInCodeSpace(u8 *ptr) { return IsInSpace(ptr); }
43 43
 
8  Source/Core/Core/PowerPC/JitCommon/JitBackpatch.cpp
@@ -171,27 +171,27 @@ const u8 *Jitx86Base::BackPatch(u8 *codePtr, u32 emAddress, void *ctx_void)
171 171
 	SContext *ctx = (SContext *)ctx_void;
172 172
 
173 173
 	if (!jit->IsInCodeSpace(codePtr))
174  
-		return 0;  // this will become a regular crash real soon after this
  174
+		return nullptr;  // this will become a regular crash real soon after this
175 175
 
176 176
 	InstructionInfo info = {};
177 177
 
178 178
 	if (!DisassembleMov(codePtr, &info)) {
179 179
 		BackPatchError("BackPatch - failed to disassemble MOV instruction", codePtr, emAddress);
180  
-		return 0;
  180
+		return nullptr;
181 181
 	}
182 182
 
183 183
 	if (info.otherReg != RBX)
184 184
 	{
185 185
 		PanicAlert("BackPatch : Base reg not RBX."
186 186
 		           "\n\nAttempted to access %08x.", emAddress);
187  
-		return 0;
  187
+		return nullptr;
188 188
 	}
189 189
 
190 190
 	auto it = registersInUseAtLoc.find(codePtr);
191 191
 	if (it == registersInUseAtLoc.end())
192 192
 	{
193 193
 		PanicAlert("BackPatch: no register use entry for address %p", codePtr);
194  
-		return 0;
  194
+		return nullptr;
195 195
 	}
196 196
 
197 197
 	u32 registersInUse = it->second;
22  Source/Core/Core/PowerPC/JitCommon/JitCache.cpp
@@ -46,7 +46,7 @@
46 46
 #endif
47 47
 		blocks = new JitBlock[MAX_NUM_BLOCKS];
48 48
 		blockCodePointers = new const u8*[MAX_NUM_BLOCKS];
49  
-		if (iCache == 0 && iCacheEx == 0 && iCacheVMEM == 0)
  49
+		if (iCache == nullptr && iCacheEx == nullptr && iCacheVMEM == nullptr)
50 50
 		{
51 51
 			iCache = new u8[JIT_ICACHE_SIZE];
52 52
 			iCacheEx = new u8[JIT_ICACHEEX_SIZE];
@@ -56,7 +56,7 @@
56 56
 		{
57 57
 			PanicAlert("JitBaseBlockCache::Init() - iCache is already initialized");
58 58
 		}
59  
-		if (iCache == 0 || iCacheEx == 0 || iCacheVMEM == 0)
  59
+		if (iCache == nullptr || iCacheEx == nullptr || iCacheVMEM == nullptr)
60 60
 		{
61 61
 			PanicAlert("JitBaseBlockCache::Init() - unable to allocate iCache");
62 62
 		}
@@ -70,24 +70,24 @@
70 70
 	{
71 71
 		delete[] blocks;
72 72
 		delete[] blockCodePointers;
73  
-		if (iCache != 0)
  73
+		if (iCache != nullptr)
74 74
 			delete[] iCache;
75  
-		iCache = 0;
76  
-		if (iCacheEx != 0)
  75
+		iCache = nullptr;
  76
+		if (iCacheEx != nullptr)
77 77
 			delete[] iCacheEx;
78  
-		iCacheEx = 0;
79  
-		if (iCacheVMEM != 0)
  78
+		iCacheEx = nullptr;
  79
+		if (iCacheVMEM != nullptr)
80 80
 			delete[] iCacheVMEM;
81  
-		iCacheVMEM = 0;
82  
-		blocks = 0;
83  
-		blockCodePointers = 0;
  81
+		iCacheVMEM = nullptr;
  82
+		blocks = nullptr;
  83
+		blockCodePointers = nullptr;
84 84
 		num_blocks = 0;
85 85
 #if defined USE_OPROFILE && USE_OPROFILE
86 86
 		op_close_agent(agent);
87 87
 #endif
88 88
 
89 89
 #ifdef USE_VTUNE
90  
-		iJIT_NotifyEvent(iJVM_EVENT_TYPE_SHUTDOWN, NULL);
  90
+		iJIT_NotifyEvent(iJVM_EVENT_TYPE_SHUTDOWN, nullptr);
91 91
 #endif
92 92
 	}
93 93
 
4  Source/Core/Core/PowerPC/JitCommon/JitCache.h
@@ -89,8 +89,8 @@ class JitBaseBlockCache
89 89
 
90 90
 public:
91 91
 	JitBaseBlockCache() :
92  
-		blockCodePointers(0), blocks(0), num_blocks(0),
93  
-		iCache(0), iCacheEx(0), iCacheVMEM(0) {}
  92
+		blockCodePointers(nullptr), blocks(nullptr), num_blocks(0),
  93
+		iCache(nullptr), iCacheEx(nullptr), iCacheVMEM(nullptr) {}
94 94
 	int AllocateBlock(u32 em_address);
95 95
 	void FinalizeBlock(int block_num, bool block_link, const u8 *code_ptr);
96 96
 
32  Source/Core/Core/PowerPC/JitILCommon/IR.cpp
@@ -261,7 +261,7 @@ InstLoc IRBuilder::FoldZeroOp(unsigned Opcode, unsigned extra) {
261 261
 		return FRegCache[extra];
262 262
 	}
263 263
 	if (Opcode == LoadFRegDENToZero) {
264  
-		FRegCacheStore[extra] = 0; // prevent previous store operation from zapping
  264
+		FRegCacheStore[extra] = nullptr; // prevent previous store operation from zapping
265 265
 		FRegCache[extra] = EmitZeroOp(LoadFRegDENToZero, extra);
266 266
 		return FRegCache[extra];
267 267
 	}
@@ -844,7 +844,7 @@ InstLoc IRBuilder::FoldBranchCond(InstLoc Op1, InstLoc Op2) {
844 844
 	if (isImm(*Op1)) {
845 845
 		if (GetImmValue(Op1))
846 846
 			return EmitBranchUncond(Op2);
847  
-		return 0;
  847
+		return nullptr;
848 848
 	}
849 849
 	if (getOpcode(*Op1) == And &&
850 850
 	    isImm(*getOp2(Op1)) &&
@@ -999,19 +999,19 @@ InstLoc IRBuilder::FoldICmpCRUnsigned(InstLoc Op1, InstLoc Op2) {
999 999
 
1000 1000
 InstLoc IRBuilder::FoldFallBackToInterpreter(InstLoc Op1, InstLoc Op2) {
1001 1001
 	for (unsigned i = 0; i < 32; i++) {
1002  
-		GRegCache[i] = 0;
1003  
-		GRegCacheStore[i] = 0;
1004  
-		FRegCache[i] = 0;
1005  
-		FRegCacheStore[i] = 0;
  1002
+		GRegCache[i] = nullptr;
  1003
+		GRegCacheStore[i] = nullptr;
  1004
+		FRegCache[i] = nullptr;
  1005
+		FRegCacheStore[i] = nullptr;
1006 1006
 	}
1007  
-	CarryCache = 0;
1008  
-	CarryCacheStore = 0;
  1007
+	CarryCache = nullptr;
  1008
+	CarryCacheStore = nullptr;
1009 1009
 	for (unsigned i = 0; i < 8; i++) {
1010  
-		CRCache[i] = 0;
1011  
-		CRCacheStore[i] = 0;
  1010
+		CRCache[i] = nullptr;
  1011
+		CRCacheStore[i] = nullptr;
1012 1012
 	}
1013  
-	CTRCache = 0;
1014  
-	CTRCacheStore = 0;
  1013
+	CTRCache = nullptr;
  1014
+	CTRCacheStore = nullptr;
1015 1015
 	return EmitBiOp(FallBackToInterpreter, Op1, Op2);
1016 1016
 }
1017 1017
 
@@ -1210,19 +1210,19 @@ InstLoc IRBuilder::isNeg(InstLoc I) const {
1210 1210
 		return getOp2(I);
1211 1211
 	}
1212 1212
 
1213  
-	return NULL;
  1213
+	return nullptr;
1214 1214
 }
1215 1215
 
1216 1216
 // TODO: Move the following code to a separated file.
1217 1217
 struct Writer
1218 1218
 {
1219 1219
 	File::IOFile file;
1220  
-	Writer() : file(NULL)
  1220
+	Writer() : file(nullptr)
1221 1221
 	{
1222 1222
 		char buffer[1024];
1223  
-		sprintf(buffer, "JitIL_IR_%d.txt", (int)time(NULL));
  1223
+		sprintf(buffer, "JitIL_IR_%d.txt", (int)time(nullptr));
1224 1224
 		file.Open(buffer, "w");
1225  
-		setvbuf(file.GetHandle(), NULL, _IOFBF, 1024 * 1024);
  1225
+		setvbuf(file.GetHandle(), nullptr, _IOFBF, 1024 * 1024);
1226 1226
 	}
1227 1227
 
1228 1228
 	virtual ~Writer() {}
20  Source/Core/Core/PowerPC/JitILCommon/IR.h
@@ -547,19 +547,19 @@ class IRBuilder {
547 547
 		MarkUsed.clear();
548 548
 		MarkUsed.reserve(100000);
549 549
 		for (unsigned i = 0; i < 32; i++) {
550  
-			GRegCache[i] = 0;
551  
-			GRegCacheStore[i] = 0;
552  
-			FRegCache[i] = 0;
553  
-			FRegCacheStore[i] = 0;
  550
+			GRegCache[i] = nullptr;
  551
+			GRegCacheStore[i] = nullptr;
  552
+			FRegCache[i] = nullptr;
  553
+			FRegCacheStore[i] = nullptr;
554 554
 		}
555  
-		CarryCache = 0;
556  
-		CarryCacheStore = 0;
  555
+		CarryCache = nullptr;
  556
+		CarryCacheStore = nullptr;
557 557
 		for (unsigned i = 0; i < 8; i++) {
558  
-			CRCache[i] = 0;
559  
-			CRCacheStore[i] = 0;
  558
+			CRCache[i] = nullptr;
  559
+			CRCacheStore[i] = nullptr;
560 560
 		}
561  
-		CTRCache = 0;
562  
-		CTRCacheStore = 0;
  561
+		CTRCache = nullptr;
  562
+		CTRCacheStore = nullptr;
563 563
 	}
564 564
 
565 565
 	IRBuilder() { Reset(); }
2  Source/Core/Core/PowerPC/JitILCommon/JitILBase_Branch.cpp
@@ -62,7 +62,7 @@ void JitILBase::bx(UGeckoInstruction inst)
62 62
 }
63 63
 
64 64
 static IREmitter::InstLoc TestBranch(IREmitter::IRBuilder& ibuild, UGeckoInstruction inst) {
65  
-	IREmitter::InstLoc CRTest = 0, CTRTest = 0;
  65
+	IREmitter::InstLoc CRTest = nullptr, CTRTest = nullptr;
66 66
 	if ((inst.BO & 16) == 0)  // Test a CR bit
67 67
 	{
68 68
 		IREmitter::InstLoc CRReg = ibuild.EmitLoadCR(inst.BI >> 2);
2  Source/Core/Core/PowerPC/JitILCommon/JitILBase_Integer.cpp
@@ -123,7 +123,7 @@ void JitILBase::boolX(UGeckoInstruction inst)
123 123
 	INSTRUCTION_START
124 124
 	JITDISABLE(bJITIntegerOff)
125 125
 
126  
-	IREmitter::InstLoc a = NULL;
  126
+	IREmitter::InstLoc a = nullptr;
127 127
 	IREmitter::InstLoc s = ibuild.EmitLoadGReg(inst.RS);
128 128
 	IREmitter::InstLoc b = ibuild.EmitLoadGReg(inst.RB);
129 129
 
2  Source/Core/Core/PowerPC/JitILCommon/JitILBase_LoadStore.cpp
@@ -48,7 +48,7 @@ void JitILBase::lXz(UGeckoInstruction inst)
48 48
 	case 32: val = ibuild.EmitLoad32(addr); break; //lwz
49 49
 	case 40: val = ibuild.EmitLoad16(addr); break; //lhz
50 50
 	case 34: val = ibuild.EmitLoad8(addr);  break; //lbz
51  
-	default: PanicAlert("lXz: invalid access size"); val = 0; break;
  51
+	default: PanicAlert("lXz: invalid access size"); val = nullptr; break;
52 52
 	}
53 53
 	ibuild.EmitStoreGReg(val, inst.RD);
54 54
 }
8  Source/Core/Core/PowerPC/JitInterface.cpp
@@ -45,7 +45,7 @@
45 45
 		bFakeVMEM = SConfig::GetInstance().m_LocalCoreStartupParameter.bTLBHack == true;
46 46
 		bMMU = SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU;
47 47
 
48  
-		CPUCoreBase *ptr = NULL;
  48
+		CPUCoreBase *ptr = nullptr;
49 49
 		switch(core)
50 50
 		{
51 51
 			#if _M_X86
@@ -75,8 +75,8 @@
75 75
 			default:
76 76
 			{
77 77
 				PanicAlert("Unrecognizable cpu_core: %d", core);
78  
-				jit = NULL;
79  
-				return NULL;
  78
+				jit = nullptr;
  79
+				return nullptr;
80 80
 			}
81 81
 		}
82 82
 		jit = static_cast<JitBase*>(ptr);
@@ -239,7 +239,7 @@
239 239
 		{
240 240
 			jit->Shutdown();
241 241
 			delete jit;
242  
-			jit = NULL;
  242
+			jit = nullptr;
243 243
 		}
244 244
 	}
245 245
 }
12  Source/Core/Core/PowerPC/PPCSymbolDB.cpp
@@ -34,19 +34,19 @@
34 34
 Symbol *PPCSymbolDB::AddFunction(u32 startAddr)
35 35
 {
36 36
 	if (startAddr < 0x80000010)
37  
-		return 0;
  37
+		return nullptr;
38 38
 	XFuncMap::iterator iter = functions.find(startAddr);
39 39
 	if (iter != functions.end())
40 40
 	{
41 41
 		// it's already in the list
42  
-		return 0;
  42
+		return nullptr;
43 43
 	}
44 44
 	else
45 45
 	{
46 46
 		Symbol tempFunc; //the current one we're working on
47 47
 		u32 targetEnd = PPCAnalyst::AnalyzeFunction(startAddr, tempFunc);
48 48
 		if (targetEnd == 0)
49  
-			return 0;  //found a dud :(
  49
+			return nullptr;  //found a dud :(
50 50
 		//LOG(OSHLE, "Symbol found at %08x", startAddr);
51 51
 		functions[startAddr] = tempFunc;
52 52
 		tempFunc.type = Symbol::SYMBOL_FUNCTION;
@@ -86,7 +86,7 @@ void PPCSymbolDB::AddKnownSymbol(u32 startAddr, u32 size, const char *name, int
86 86
 Symbol *PPCSymbolDB::GetSymbolFromAddr(u32 addr)
87 87
 {
88 88
 	if (!Memory::IsRAMAddress(addr))
89  
-		return 0;
  89
+		return nullptr;
90 90
 
91 91
 	XFuncMap::iterator it = functions.find(addr);
92 92
 	if (it != functions.end())
@@ -101,7 +101,7 @@ Symbol *PPCSymbolDB::GetSymbolFromAddr(u32 addr)
101 101
 				return &p.second;
102 102
 		}
103 103
 	}
104  
-	return 0;
  104
+	return nullptr;
105 105
 }
106 106
 
107 107
 const std::string PPCSymbolDB::GetDescription(u32 addr)
@@ -237,7 +237,7 @@ bool PPCSymbolDB::LoadMap(const char *filename)
237 237
 		sscanf(line, "%08x %08x %08x %i %511s", &address, &size, &vaddress, &unknown, name);
238 238
 
239 239
 		const char *namepos = strstr(line, name);
240  
-		if (namepos != 0) //would be odd if not :P
  240
+		if (namepos != nullptr) //would be odd if not :P
241 241
 			strcpy(name, namepos);
242 242
 		name[strlen(name) - 1] = 0;
243 243
 
12  Source/Core/Core/PowerPC/PPCTables.cpp
@@ -40,7 +40,7 @@ GekkoOPInfo *GetOpInfo(UGeckoInstruction _inst)
40 40
 		case 63: return m_infoTable63[_inst.SUBOP10];
41 41
 		default:
42 42
 			_assert_msg_(POWERPC,0,"GetOpInfo - invalid subtable op %08x @ %08x", _inst.hex, PC);
43  
-			return 0;
  43
+			return nullptr;
44 44
 		}
45 45
 	}
46 46
 	else
@@ -48,7 +48,7 @@ GekkoOPInfo *GetOpInfo(UGeckoInstruction _inst)
48 48
 		if ((info->type & 0xFFFFFF) == OPTYPE_INVALID)
49 49
 		{
50 50
 			_assert_msg_(POWERPC,0,"GetOpInfo - invalid op %08x @ %08x", _inst.hex, PC);
51  
-			return 0;
  51
+			return nullptr;
52 52
 		}
53 53
 		return m_infoTable[_inst.OPCD];
54 54
 	}
@@ -69,7 +69,7 @@ GekkoOPInfo *GetOpInfo(UGeckoInstruction _inst)
69 69
 		case 63: return Interpreter::m_opTable63[_inst.SUBOP10];
70 70
 		default:
71 71
 			_assert_msg_(POWERPC,0,"GetInterpreterOp - invalid subtable op %08x @ %08x", _inst.hex, PC);
72  
-			return 0;
  72
+			return nullptr;
73 73
 		}
74 74
 	}
75 75
 	else
@@ -77,7 +77,7 @@ GekkoOPInfo *GetOpInfo(UGeckoInstruction _inst)
77 77
 		if ((info->type & 0xFFFFFF) == OPTYPE_INVALID)
78 78
 		{
79 79
 			_assert_msg_(POWERPC,0,"GetInterpreterOp - invalid op %08x @ %08x", _inst.hex, PC);
80  
-			return 0;
  80
+			return nullptr;
81 81
 		}
82 82
 		return Interpreter::m_opTable[_inst.OPCD];
83 83
 	}
@@ -161,13 +161,13 @@ void InitTables(int cpu_core)
161 161
 const char *GetInstructionName(UGeckoInstruction _inst)
162 162
 {
163 163
 	const GekkoOPInfo *info = GetOpInfo(_inst);
164  
-	return info ? info->opname : 0;
  164
+	return info ? info->opname : nullptr;
165 165
 }
166 166
 
167 167
 bool IsValidInstruction(UGeckoInstruction _inst)
168 168
 {
169 169
 	const GekkoOPInfo *info = GetOpInfo(_inst);
170  
-	return info != 0;
  170
+	return info != nullptr;
171 171
 }
172 172
 
173 173
 void CountInstruction(UGeckoInstruction _inst)
2  Source/Core/Core/PowerPC/PowerPC.cpp
@@ -169,7 +169,7 @@ void Shutdown()
169 169
 {
170 170
 	JitInterface::Shutdown();
171 171
 	interpreter->Shutdown();
172  
-	cpu_core_base = NULL;
  172
+	cpu_core_base = nullptr;
173 173
 	state = CPU_POWERDOWN;
174 174
 }
175 175
 
8  Source/Core/Core/State.cpp
@@ -47,7 +47,7 @@
47 47
 
48 48
 static std::string g_last_filename;
49 49
 
50  
-static CallbackFunc g_onAfterLoadCb = NULL;
  50
+static CallbackFunc g_onAfterLoadCb = nullptr;
51 51
 
52 52
 // Temporary undo state buffer
53 53
 static std::vector<u8> g_undo_load_buffer;
@@ -131,7 +131,7 @@ void SaveToBuffer(std::vector<u8>& buffer)
131 131
 {
132 132
 	bool wasUnpaused = Core::PauseAndLock(true);
133 133
 
134  
-	u8* ptr = NULL;
  134
+	u8* ptr = nullptr;
135 135
 	PointerWrap p(&ptr, PointerWrap::MODE_MEASURE);
136 136
 
137 137
 	DoState(p);
@@ -301,7 +301,7 @@ void SaveAs(const std::string& filename, bool wait)
301 301
 	bool wasUnpaused = Core::PauseAndLock(true);
302 302
 
303 303
 	// Measure the size of the buffer.
304  
-	u8 *ptr = NULL;
  304
+	u8 *ptr = nullptr;
305 305
 	PointerWrap p(&ptr, PointerWrap::MODE_MEASURE);
306 306
 	DoState(p);
307 307
 	const size_t buffer_size = reinterpret_cast<size_t>(ptr);
@@ -393,7 +393,7 @@ void LoadFileStateData(const std::string& filename, std::vector<u8>& ret_data)
393 393
 				break;
394 394
 
395 395
 			f.ReadBytes(out, cur_len);
396  
-			const int res = lzo1x_decompress(out, cur_len, &buffer[i], &new_len, NULL);
  396
+			const int res = lzo1x_decompress(out, cur_len, &buffer[i], &new_len, nullptr);
397 397
 			if (res != LZO_E_OK)
398 398
 			{
399 399
 				// This doesn't seem to happen anymore.
18  Source/Core/Core/VolumeHandler.cpp
@@ -8,7 +8,7 @@
8 8
 namespace VolumeHandler
9 9
 {
10 10
 
11  
-DiscIO::IVolume* g_pVolume = NULL;
  11
+DiscIO::IVolume* g_pVolume = nullptr;
12 12
 
13 13
 DiscIO::IVolume *GetVolume()
14 14
 {
@@ -24,7 +24,7 @@ void EjectVolume()
24 24
 		// reading location ..." after you have started and stopped two
25 25
 		// or three games
26 26
 		delete g_pVolume;
27  
-		g_pVolume = NULL;
  27
+		g_pVolume = nullptr;
28 28
 	}
29 29
 }
30 30
 
@@ -33,12 +33,12 @@ bool SetVolumeName(const std::string& _rFullPath)
33 33
 	if (g_pVolume)
34 34
 	{
35 35
 		delete g_pVolume;
36  
-		g_pVolume = NULL;
  36
+		g_pVolume = nullptr;
37 37
 	}
38 38
 
39 39
 	g_pVolume = DiscIO::CreateVolumeFromFilename(_rFullPath);
40 40
 
41  
-	return (g_pVolume != NULL);
  41
+	return (g_pVolume != nullptr);
42 42
 }
43 43
 
44 44
 void SetVolumeDirectory(const std::string& _rFullPath, bool _bIsWii, const std::string& _rApploader, const std::string& _rDOL)
@@ -46,7 +46,7 @@ void SetVolumeDirectory(const std::string& _rFullPath, bool _bIsWii, const std::
46 46
 	if (g_pVolume)
47 47
 	{
48 48
 		delete g_pVolume;
49  
-		g_pVolume = NULL;
  49
+		g_pVolume = nullptr;
50 50
 	}
51 51
 
52 52
 	g_pVolume = DiscIO::CreateVolumeFromDirectory(_rFullPath, _bIsWii, _rApploader, _rDOL);
@@ -54,7 +54,7 @@ void SetVolumeDirectory(const std::string& _rFullPath, bool _bIsWii, const std::
54 54
 
55 55
 u32 Read32(u64 _Offset)
56 56
 {
57  
-	if (g_pVolume != NULL)
  57
+	if (g_pVolume != nullptr)
58 58
 	{
59 59
 		u32 Temp;
60 60
 		g_pVolume->Read(_Offset, 4, (u8*)&Temp);
@@ -65,7 +65,7 @@ u32 Read32(u64 _Offset)
65 65
 
66 66
 bool ReadToPtr(u8* ptr, u64 _dwOffset, u64 _dwLength)
67 67
 {
68  
-	if (g_pVolume != NULL && ptr)
  68
+	if (g_pVolume != nullptr && ptr)
69 69
 	{
70 70
 		g_pVolume->Read(_dwOffset, _dwLength, ptr);
71 71
 		return true;
@@ -75,7 +75,7 @@ bool ReadToPtr(u8* ptr, u64 _dwOffset, u64 _dwLength)
75 75
 
76 76
 bool RAWReadToPtr( u8* ptr, u64 _dwOffset, u64 _dwLength )
77 77
 {
78  
-	if (g_pVolume != NULL && ptr)
  78
+	if (g_pVolume != nullptr && ptr)
79 79
 	{
80 80
 		g_pVolume->RAWRead(_dwOffset, _dwLength, ptr);
81 81
 		return true;
@@ -85,7 +85,7 @@ bool RAWReadToPtr( u8* ptr, u64 _dwOffset, u64 _dwLength )
85 85
 
86 86
 bool IsValid()
87 87
 {
88  
-	return (g_pVolume != NULL);
  88
+	return (g_pVolume != nullptr);
89 89
 }
90 90
 
91 91
 bool IsWii()
12  Source/Core/Core/ec_wii.cpp
@@ -42,12 +42,12 @@
42 42
 // NG_key_id is the device-unique key_id to use
43 43
 // NG_priv is the device-unique private key to use
44 44
 // NG_sig is the device-unique signature blob (from issuer) to use
45  
-// if NG_priv iis NULL or NG_sig is NULL or NG_id is 0 or NG_key_id is 0, default values
  45
+// if NG_priv iis nullptr or NG_sig is nullptr or NG_id is 0 or NG_key_id is 0, default values
46 46
 // will be used for all of them
47 47
 void get_ng_cert(u8* ng_cert_out, u32 NG_id, u32 NG_key_id, const u8* NG_priv, const u8* NG_sig)
48 48
 {
49 49
 	char name[64];
50  
-	if ((NG_id==0)||(NG_key_id==0)||(NG_priv==NULL)||(NG_sig==NULL))
  50
+	if ((NG_id==0)||(NG_key_id==0)||(NG_priv==nullptr)||(NG_sig==nullptr))
51 51
 	{
52 52
 		NG_id = default_NG_id;
53 53
 		NG_key_id = default_NG_key_id;
@@ -70,7 +70,7 @@ void get_ng_cert(u8* ng_cert_out, u32 NG_id, u32 NG_key_id, const u8* NG_priv, c
70 70
 // data_size is the length of the buffer
71 71
 // NG_priv is the device-unique private key to use
72 72
 // NG_id is the device-unique id to use
73  
-// if NG_priv is NULL or NG_id is 0, it will use builtin defaults
  73
+// if NG_priv is nullptr or NG_id is 0, it will use builtin defaults
74 74
 void get_ap_sig_and_cert(u8 *sig_out, u8 *ap_cert_out, u64 title_id, u8 *data, u32 data_size, const u8 *NG_priv, u32 NG_id)
75 75
 {
76 76
 	u8 hash[20];
@@ -78,7 +78,7 @@ void get_ap_sig_and_cert(u8 *sig_out, u8 *ap_cert_out, u64 title_id, u8 *data, u
78 78
 	char signer[64];
79 79
 	char name[64];
80 80
 
81  
-	if ((NG_id==0)||(NG_priv == NULL))
  81
+	if ((NG_id==0)||(NG_priv == nullptr))
82 82
 	{
83 83
 		NG_priv = default_NG_priv;
84 84
 		NG_id = default_NG_id;
@@ -122,10 +122,10 @@ void make_blanksig_ec_cert(u8 *cert_out, const char *signer, const char *name, c
122 122
 // shared_secret_out is a pointer to 0x3c long buffer
123 123
 // remote_public_key is a pointer to the remote party's public key (0x3c bytes)
124 124
 // NG_priv is the device-unique private key to use
125  
-// if NG_priv is NULL, default builtin will be used
  125
+// if NG_priv is nullptr, default builtin will be used
126 126
 void get_shared_secret(u8* shared_secret_out, u8* remote_public_key, u8* NG_priv)
127 127
 {
128  
-	if (NG_priv==NULL)
  128
+	if (NG_priv==nullptr)
129 129
 	{
130 130
 		NG_priv = default_NG_priv;
131 131
 	}
6  Source/Core/Core/x64MemTools.cpp
@@ -183,7 +183,7 @@ void ExceptionThread(mach_port_t port)
183 183
 	#pragma pack()
184 184
 	memset(&msg_in, 0xee, sizeof(msg_in));
185 185
 	memset(&msg_out, 0xee, sizeof(msg_out));
186  
-	mach_msg_header_t *send_msg = NULL;
  186
+	mach_msg_header_t *send_msg = nullptr;
187 187
 	mach_msg_size_t send_size = 0;
188 188
 	mach_msg_option_t option = MACH_RCV_MSG;
189 189
 	while (1)
@@ -303,11 +303,11 @@ void InstallExceptionHandler()
303 303
 	PanicAlertT("InstallExceptionHandler called, but this platform does not yet support it.");
304 304
 #else
305 305
 	struct sigaction sa;
306  
-	sa.sa_handler = 0;
  306
+	sa.sa_handler = nullptr;
307 307
 	sa.sa_sigaction = &sigsegv_handler;
308 308
 	sa.sa_flags = SA_SIGINFO;
309 309
 	sigemptyset(&sa.sa_mask);
310  
-	sigaction(SIGSEGV, &sa, NULL);
  310
+	sigaction(SIGSEGV, &sa, nullptr);
311 311
 #endif
312 312
 }
313 313
 
2  Source/Core/DiscIO/BannerLoader.cpp
@@ -27,7 +27,7 @@ IBannerLoader* CreateBannerLoader(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVo
27 27
 		return new CBannerLoaderGC(_rFileSystem, pVolume);
28 28
 	}
29 29
 
30  
-	return NULL;
  30
+	return nullptr;
31 31
 }
32 32
 
33 33
 } // namespace
4  Source/Core/DiscIO/BannerLoaderGC.cpp
@@ -16,7 +16,7 @@
16 16
 namespace DiscIO
17 17
 {
18 18
 CBannerLoaderGC::CBannerLoaderGC(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVolume* volume)
19  
-	: m_pBannerFile(NULL)
  19
+	: m_pBannerFile(nullptr)
20 20
 	, m_IsValid(false)
21 21
 	, m_country(volume->GetCountry())
22 22
 {
@@ -45,7 +45,7 @@
45 45
 	if (m_pBannerFile)
46 46
 	{
47 47
 		delete [] m_pBannerFile;
48  
-		m_pBannerFile = NULL;
  48
+		m_pBannerFile = nullptr;
49 49
 	}
50 50
 }
51 51
 
10  Source/Core/DiscIO/BannerLoaderGC.h
@@ -26,13 +26,13 @@ class CBannerLoaderGC
26 26
 		CBannerLoaderGC(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVolume* volume);
27 27
 		virtual ~CBannerLoaderGC();
28 28
 
29  
-		virtual bool IsValid();
  29
+		virtual bool IsValid() override;
30 30
 
31  
-		virtual std::vector<u32> GetBanner(int* pWidth, int* pHeight);
  31
+		virtual std::vector<u32> GetBanner(int* pWidth, int* pHeight) override;
32 32
 
33  
-		virtual std::vector<std::string> GetNames();
34  
-		virtual std::string GetCompany();
35  
-		virtual std::vector<std::string> GetDescriptions();
  33
+		virtual std::vector<std::string> GetNames() override;
  34
+		virtual std::string GetCompany() override;
  35
+		virtual std::vector<std::string> GetDescriptions() override;
36 36
 
37 37
 	private:
38 38
 		enum
6  Source/Core/DiscIO/BannerLoaderWii.cpp
@@ -21,7 +21,7 @@
21 21
 {
22 22
 
23 23
 CBannerLoaderWii::CBannerLoaderWii(DiscIO::IVolume *pVolume)
24  
-	: m_pBannerFile(NULL)
  24
+	: m_pBannerFile(nullptr)
25 25
 	, m_IsValid(false)
26 26
 {
27 27
 	char Filename[260];
@@ -94,7 +94,7 @@
94 94
 	if (m_pBannerFile)
95 95
 	{
96 96
 		delete [] m_pBannerFile;
97  
-		m_pBannerFile = NULL;
  97
+		m_pBannerFile = nullptr;
98 98
 	}
99 99
 }
100 100
 
@@ -121,7 +121,7 @@ bool CBannerLoaderWii::GetStringFromComments(const CommentIndex index, std::stri
121 121
 		auto const banner = reinterpret_cast<const SWiiBanner*>(m_pBannerFile);
122 122
 		auto const src_ptr = banner->m_Comment[index];
123 123
 
124  
-		// Trim at first NULL
  124
+		// Trim at first nullptr
125 125
 		auto const length = std::find(src_ptr, src_ptr + COMMENT_SIZE, 0x0) - src_ptr;
126 126
 
127 127
 		std::wstring src;
10  Source/Core/DiscIO/BannerLoaderWii.h
@@ -24,13 +24,13 @@ class CBannerLoaderWii
24 24
 
25 25
 		virtual ~CBannerLoaderWii();
26 26
 
27  
-		virtual bool IsValid();
  27
+		virtual bool IsValid() override;
28 28
 
29  
-		virtual std::vector<u32> GetBanner(int* pWidth, int* pHeight);
  29
+		virtual std::vector<u32> GetBanner(int* pWidth, int* pHeight) override;
30 30
 
31  
-		virtual std::vector<std::string> GetNames();
32  
-		virtual std::string GetCompany();
33  
-		virtual std::vector<std::string> GetDescriptions();
  31
+		virtual std::vector<std::string> GetNames() override;
  32
+		virtual std::string GetCompany() override;
  33
+		virtual std::vector<std::string> GetDescriptions() override;
34 34
 
35 35
 	private:
36 36
 
8  Source/Core/DiscIO/Blob.cpp
@@ -34,8 +34,10 @@ void SectorReader::SetSectorSize(int blocksize)
34 34
 }
35 35
 
36 36
 SectorReader::~SectorReader() {
37  
-	for (int i = 0; i < CACHE_SIZE; i++)
38  
-		delete [] cache[i];
  37
+	for (u8*& block : cache)
  38
+	{
  39
+		delete [] block;
  40
+	}
39 41
 }
40 42
 
41 43
 const u8 *SectorReader::GetBlockData(u64 block_num)
@@ -119,7 +121,7 @@ IBlobReader* CreateBlobReader(const char* filename)
119 121
 		return DriveReader::Create(filename);
120 122
 
121 123
 	if (!File::Exists(filename))
122  
-		return 0;
  124
+		return nullptr;
123 125
 
124 126
 	if (IsWbfsBlob(filename))
125 127
 		return WbfsFileReader::Create(filename);
6  Source/Core/DiscIO/Blob.h
@@ -58,7 +58,7 @@ class SectorReader : public IBlobReader
58 58
 
59 59
 	// A pointer returned by GetBlockData is invalidated as soon as GetBlockData, Read, or ReadMultipleAlignedBlocks is called again.
60 60
 	const u8 *GetBlockData(u64 block_num);
61  
-	virtual bool Read(u64 offset, u64 size, u8 *out_ptr);
  61
+	virtual bool Read(u64 offset, u64 size, u8 *out_ptr) override;
62 62
 	friend class DriveReader;
63 63
 };
64 64
 
@@ -68,8 +68,8 @@ class SectorReader : public IBlobReader
68 68
 typedef void (*CompressCB)(const char *text, float percent, void* arg);
69 69
 
70 70
 bool CompressFileToBlob(const char *infile, const char *outfile, u32 sub_type = 0, int sector_size = 16384,
71  
-		CompressCB callback = 0, void *arg = 0);
  71
+		CompressCB callback = nullptr, void *arg = nullptr);
72 72
 bool DecompressBlobToFile(const char *infile, const char *outfile,
73  
-		CompressCB callback = 0, void *arg = 0);
  73
+		CompressCB callback = nullptr, void *arg = nullptr);
74 74
 
75 75
 }  // namespace
2  Source/Core/DiscIO/CISOBlob.cpp
@@ -37,7 +37,7 @@ CISOFileReader* CISOFileReader::Create(const char* filename)
37 37
 		return new CISOFileReader(f.ReleaseHandle());
38 38
 	}
39 39
 	else
40  
-		return NULL;
  40
+		return nullptr;
41 41
 }
42 42
 
43 43
 u64 CISOFileReader::GetDataSize() const
6  Source/Core/DiscIO/CISOBlob.h
@@ -35,9 +35,9 @@ class CISOFileReader : public IBlobReader
35 35
 public:
36 36
 	static CISOFileReader* Create(const char* filename);
37 37
 
38  
-	u64 GetDataSize() const;
39  
-	u64 GetRawSize() const;
40  
-	bool Read(u64 offset, u64 nbytes, u8* out_ptr);
  38
+	u64 GetDataSize() const override;
  39
+	u64 GetRawSize() const override;
  40
+	bool Read(u64 offset, u64 nbytes, u8* out_ptr) override;
41 41
 
42 42
 private:
43 43
 	CISOFileReader(std::FILE* file);
2  Source/Core/DiscIO/CompressedBlob.cpp
@@ -55,7 +55,7 @@ CompressedBlobReader* CompressedBlobReader::Create(const char* filename)
55 55
 	if (IsCompressedBlob(filename))
56 56
 		return new CompressedBlobReader(filename);
57 57
 	else
58  
-		return 0;
  58
+		return nullptr;
59 59
 }
60 60
 
61 61
 CompressedBlobReader::~CompressedBlobReader()
6  Source/Core/DiscIO/CompressedBlob.h
@@ -49,10 +49,10 @@ class CompressedBlobReader : public SectorReader
49 49
 	static CompressedBlobReader* Create(const char *filename);
50 50
 	~CompressedBlobReader();
51 51
 	const CompressedBlobHeader &GetHeader() const { return header; }
52  
-	u64 GetDataSize() const { return header.data_size; }
53  
-	u64 GetRawSize() const { return file_size; }
  52
+	u64 GetDataSize() const override { return header.data_size; }
  53
+	u64 GetRawSize() const override { return file_size; }
54 54
 	u64 GetBlockCompressedSize(u64 block_num) const;
55  
-	void GetBlock(u64 block_num, u8 *out_ptr);
  55
+	void GetBlock(u64 block_num, u8 *out_ptr) override;
56 56
 private:
57 57
 	CompressedBlobReader(const char *filename);
58 58
 
8  Source/Core/DiscIO/DiscScrubber.cpp
@@ -24,7 +24,7 @@
24 24
 
25 25
 #define CLUSTER_SIZE 0x8000
26 26
 
27  
-u8* m_FreeTable = NULL;
  27
+u8* m_FreeTable = nullptr;
28 28
 u64 m_FileSize;
29 29
 u64 m_BlockCount;
30 30
 u32 m_BlockSize;
@@ -32,7 +32,7 @@
32 32
 bool m_isScrubbing = false;
33 33
 
34 34
 std::string m_Filename;
35  
-IVolume* m_Disc = NULL;
  35
+IVolume* m_Disc = nullptr;
36 36
 
37 37
 struct SPartitionHeader
38 38
 {
@@ -112,7 +112,7 @@ bool SetupScrub(const char* filename, int block_size)
112 112
 	success = ParseDisc();
113 113
 	// Done with it; need it closed for the next part
114 114
 	delete m_Disc;
115  
-	m_Disc = NULL;
  115
+	m_Disc = nullptr;
116 116
 	m_BlockCount = 0;
117 117
 
118 118
 	// Let's not touch the file if we've failed up to here :p
@@ -146,7 +146,7 @@ void GetNextBlock(File::IOFile& in, u8* buffer)
146 146
 void Cleanup()
147 147
 {
148 148
 	if (m_FreeTable) delete[] m_FreeTable;
149  
-	m_FreeTable = NULL;
  149
+	m_FreeTable = nullptr;
150 150
 	m_FileSize = 0;
151 151
 	m_BlockCount = 0;
152 152
 	m_BlockSize = 0;
18  Source/Core/DiscIO/DriveBlob.cpp
@@ -23,14 +23,14 @@
23 23
 	SectorReader::SetSectorSize(2048);
24 24
 	auto const path = UTF8ToTStr(std::string("\\\\.\\") + drive);
25 25
 	hDisc = CreateFile(path.c_str(), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
26  
-						NULL, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, NULL);
  26
+						nullptr, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, nullptr);
27 27
 	if (hDisc != INVALID_HANDLE_VALUE)
28 28
 	{
29 29
 		// Do a test read to make sure everything is OK, since it seems you can get
30 30
 		// handles to empty drives.
31 31
 		DWORD not_used;
32 32
 		u8 *buffer = new u8[m_blocksize];
33  
-		if (!ReadFile(hDisc, buffer, m_blocksize, (LPDWORD)&not_used, NULL))
  33
+		if (!ReadFile(hDisc, buffer, m_blocksize, (LPDWORD)&not_used, nullptr))
34 34
 		{
35 35
 			delete [] buffer;
36 36
 			// OK, something is wrong.
@@ -45,8 +45,8 @@
45 45
 		// removal while reading from it.
46 46
 		pmrLockCDROM.PreventMediaRemoval = TRUE;
47 47
 		DeviceIoControl(hDisc, IOCTL_CDROM_MEDIA_REMOVAL,
48  
-					&pmrLockCDROM, sizeof(pmrLockCDROM), NULL,
49  
-					0, &dwNotUsed, NULL);
  48
+					&pmrLockCDROM, sizeof(pmrLockCDROM), nullptr,
  49
+					0, &dwNotUsed, nullptr);
50 50
 	#endif
51 51
 #else
52 52
 	SectorReader::SetSectorSize(2048);
@@ -66,8 +66,8 @@
66 66
 	// Unlock the disc in the CD-ROM drive.
67 67
 	pmrLockCDROM.PreventMediaRemoval = FALSE;
68 68
 	DeviceIoControl (hDisc, IOCTL_CDROM_MEDIA_REMOVAL,
69  
-		&pmrLockCDROM, sizeof(pmrLockCDROM), NULL,
70  
-		0, &dwNotUsed, NULL);
  69
+		&pmrLockCDROM, sizeof(pmrLockCDROM), nullptr,
  70
+		0, &dwNotUsed, nullptr);
71 71
 #endif
72 72
 	if (hDisc != INVALID_HANDLE_VALUE)
73 73
 	{
@@ -85,7 +85,7 @@ DriveReader *DriveReader::Create(const char *drive)
85 85
 	if (!reader->IsOK())
86 86
 	{
87 87
 		delete reader;
88  
-		return 0;
  88
+		return nullptr;
89 89
 	}
90 90
 	return reader;
91 91
 }
@@ -99,7 +99,7 @@ void DriveReader::GetBlock(u64 block_num, u8 *out_ptr)
99 99
 	LONG off_low = (LONG)offset & 0xFFFFFFFF;
100 100
 	LONG off_high = (LONG)(offset >> 32);
101 101
 	SetFilePointer(hDisc, off_low, &off_high, FILE_BEGIN);
102  
-	if (!ReadFile(hDisc, lpSector, m_blocksize, (LPDWORD)&NotUsed, NULL))
  102
+	if (!ReadFile(hDisc, lpSector, m_blocksize, (LPDWORD)&NotUsed, nullptr))
103 103
 		PanicAlertT("Disc Read Error");
104 104
 #else
105 105
 	file_.Seek(m_blocksize * block_num, SEEK_SET);
@@ -117,7 +117,7 @@ bool DriveReader::ReadMultipleAlignedBlocks(u64 block_num, u64 num_blocks, u8 *o
117 117
 	LONG off_low = (LONG)offset & 0xFFFFFFFF;
118 118
 	LONG off_high = (LONG)(offset >> 32);
119 119
 	SetFilePointer(hDisc, off_low, &off_high, FILE_BEGIN);
120  
-	if (!ReadFile(hDisc, out_ptr, (DWORD)(m_blocksize * num_blocks), (LPDWORD)&NotUsed, NULL))
  120
+	if (!ReadFile(hDisc, out_ptr, (DWORD)(m_blocksize * num_blocks), (LPDWORD)&NotUsed, nullptr))
121 121
 	{
122 122
 		PanicAlertT("Disc Read Error");
123 123
 		return false;
10  Source/Core/DiscIO/DriveBlob.h
@@ -20,7 +20,7 @@ class DriveReader : public SectorReader
20 20
 {
21 21
 private:
22 22
 	DriveReader(const char *drive);
23  
-	void GetBlock(u64 block_num, u8 *out_ptr);
  23
+	void GetBlock(u64 block_num, u8 *out_ptr) override;
24 24
 
25 25
 #ifdef _WIN32
26 26
 	HANDLE hDisc;
@@ -28,17 +28,17 @@ class DriveReader : public SectorReader
28 28
 	bool IsOK() {return hDisc != INVALID_HANDLE_VALUE;}
29 29
 #else
30 30
 	File::IOFile file_;
31  
-	bool IsOK() {return file_ != 0;}
  31
+	bool IsOK() {return file_ != nullptr;}
32 32
 #endif
33 33
 	s64 size;
34 34
 
35 35
 public:
36 36
 	static DriveReader *Create(const char *drive);
37 37
 	~DriveReader();
38  
-	u64 GetDataSize() const { return size; }
39  
-	u64 GetRawSize() const { return size; }
  38
+	u64 GetDataSize() const override { return size; }
  39
+	u64 GetRawSize() const override { return size; }
40 40
 
41  
-	virtual bool ReadMultipleAlignedBlocks(u64 block_num, u64 num_blocks, u8 *out_ptr);
  41
+	virtual bool ReadMultipleAlignedBlocks(u64 block_num, u64 num_blocks, u8 *out_ptr) override;
42 42
 };
43 43
 
44 44
 }  // namespace
2  Source/Core/DiscIO/FileBlob.cpp
@@ -19,7 +19,7 @@ PlainFileReader* PlainFileReader::Create(const char* filename)
19 19
 	if (f)
20 20
 		return new PlainFileReader(f.ReleaseHandle());
21 21
 	else
22  
-		return NULL;
  22
+		return nullptr;
23 23
 }
24 24
 
25 25
 bool PlainFileReader::Read(u64 offset, u64 nbytes, u8* out_ptr)
6  Source/Core/DiscIO/FileBlob.h
@@ -23,9 +23,9 @@ class PlainFileReader : public IBlobReader
23 23
 public:
24 24
 	static PlainFileReader* Create(const char* filename);
25 25
 
26  
-	u64 GetDataSize() const { return m_size; }
27  
-	u64 GetRawSize() const { return m_size; }
28  
-	bool Read(u64 offset, u64 nbytes, u8* out_ptr);
  26
+	u64 GetDataSize() const override { return m_size; }
  27
+	u64 GetRawSize() const override { return m_size; }
  28
+	bool Read(u64 offset, u64 nbytes, u8* out_ptr) override;
29 29
 };
30 30
 
31 31
 }  // namespace
24  Source/Core/DiscIO/FileHandlerARC.cpp
@@ -18,11 +18,11 @@
18 18
 namespace DiscIO
19 19
 {
20 20
 CARCFile::CARCFile(const std::string& _rFilename)
21  
-	: m_pBuffer(NULL)
  21
+	: m_pBuffer(nullptr)
22 22
 	, m_Initialized(false)
23 23
 {
24 24
 	DiscIO::IBlobReader* pReader = DiscIO::CreateBlobReader(_rFilename.c_str());
25  
-	if (pReader != NULL)
  25
+	if (pReader != nullptr)
26 26
 	{
27 27
 		u64 FileSize = pReader->GetDataSize();
28 28
 		m_pBuffer = new u8[(u32)FileSize];
@@ -34,11 +34,11 @@
34 34
 }
35 35
 
36 36
 CARCFile::CARCFile(const std::string& _rFilename, u32 offset)
37  
-	: m_pBuffer(NULL)
  37
+	: m_pBuffer(nullptr)
38 38
 	, m_Initialized(false)
39 39
 {
40 40
 	DiscIO::IBlobReader* pReader = DiscIO::CreateBlobReader(_rFilename.c_str());
41  
-	if (pReader != NULL)
  41
+	if (pReader != nullptr)
42 42
 	{
43 43
 		u64 FileSize = pReader->GetDataSize() - offset;
44 44
 		m_pBuffer = new u8[(u32)FileSize];
@@ -50,7 +50,7 @@
50 50
 }
51 51
 
52 52
 CARCFile::CARCFile(const u8* _pBuffer, size_t _BufferSize)
53  
-	: m_pBuffer(NULL)
  53
+	: m_pBuffer(nullptr)
54 54
 	, m_Initialized(false)
55 55
 {
56 56
 	m_pBuffer = new u8[_BufferSize];
@@ -86,7 +86,7 @@
86 86
 
87 87
 	const SFileInfo* pFileInfo = FindFileInfo(_rFullPath);
88 88
 
89  
-	if (pFileInfo != NULL)
  89
+	if (pFileInfo != nullptr)
90 90
 	{
91 91
 		return((size_t) pFileInfo->m_FileSize);
92 92
 	}
@@ -105,7 +105,7 @@
105 105
 
106 106
 	const SFileInfo* pFileInfo = FindFileInfo(_rFullPath);
107 107
 
108  
-	if (pFileInfo == NULL)
  108
+	if (pFileInfo == nullptr)
109 109
 	{
110 110
 		return(0);
111 111
 	}
@@ -130,7 +130,7 @@
130 130
 
131 131
 	const SFileInfo* pFileInfo = FindFileInfo(_rFullPath);
132 132
 
133  
-	if (pFileInfo == NULL)
  133
+	if (pFileInfo == nullptr)
134 134
 	{
135 135
 		return(false);
136 136
 	}
@@ -183,7 +183,7 @@
183 183
 			szNameTable += 0xC;
184 184
 		}
185 185
 
186  
-		BuildFilenames(1, m_FileInfoVector.size(), NULL, szNameTable);
  186
+		BuildFilenames(1, m_FileInfoVector.size(), nullptr, szNameTable);
187 187
 	}
188 188
 
189 189
 	return(true);
@@ -204,7 +204,7 @@
204 204
 		if (rFileInfo.IsDirectory())
205 205
 		{
206 206
 			// this is a directory, build up the new szDirectory
207  
-			if (_szDirectory != NULL)
  207
+			if (_szDirectory != nullptr)
208 208
 			{
209 209
 				sprintf(rFileInfo.m_FullPath, "%s%s/", _szDirectory, &_szNameTable[uOffset]);
210 210
 			}
@@ -218,7 +218,7 @@
218 218
 		else
219 219
 		{
220 220
 			// this is a filename
221  
-			if (_szDirectory != NULL)
  221
+			if (_szDirectory != nullptr)
222 222
 			{
223 223
 				sprintf(rFileInfo.m_FullPath, "%s%s", _szDirectory, &_szNameTable[uOffset]);
224 224
 			}
@@ -246,6 +246,6 @@
246 246
 		}
247 247
 	}
248 248
 
249  
-	return(NULL);
  249
+	return(nullptr);
250 250
 }
251 251
 } // namespace
22  Source/Core/DiscIO/FileMonitor.cpp
@@ -24,8 +24,8 @@
24 24
 namespace FileMon
25 25
 {
26 26
 
27  
-DiscIO::IVolume *OpenISO = NULL;
28  
-DiscIO::IFileSystem *pFileSystem = NULL;
  27
+DiscIO::IVolume *OpenISO = nullptr;
  28
+DiscIO::IFileSystem *pFileSystem = nullptr;
29 29
 std::vector<const DiscIO::SFileInfo *> GCFiles;
30 30
 std::string ISOFile = "", CurrentFile = "";
31 31
 bool FileAccess = true;
@@ -34,7 +34,7 @@
34 34
 bool IsSoundFile(const std::string& filename)
35 35
 {
36 36
 	std::string extension;
37  
-	SplitPath(filename, NULL, NULL, &extension);
  37
+	SplitPath(filename, nullptr, nullptr, &extension);
38 38
 	std::transform(extension.begin(), extension.end(), extension.begin(), ::tolower);
39 39
 
40 40
 	std::unordered_set<std::string> extensions = {
@@ -57,15 +57,15 @@ bool IsSoundFile(const std::string& filename)
57 57
 void ReadGC(const std::string& filename)
58 58
 {
59 59
 	// Should have an actual Shutdown procedure or something
60  
-	if (OpenISO != NULL)
  60
+	if (OpenISO != nullptr)
61 61
 	{
62 62
 		delete OpenISO;
63  
-		OpenISO = NULL;
  63
+		OpenISO = nullptr;
64 64
 	}
65  
-	if (pFileSystem != NULL)
  65
+	if (pFileSystem != nullptr)
66 66
 	{
67 67
 		delete pFileSystem;
68  
-		pFileSystem = NULL;
  68
+		pFileSystem = nullptr;
69 69
 	}
70 70
 
71 71
 	// GCFiles' pointers are no longer valid after pFileSystem is cleared
@@ -149,16 +149,16 @@ void FindFilename(u64 offset)
149 149
 
150 150
 void Close()
151 151
 {
152  
-	if (OpenISO != NULL)
  152
+	if (OpenISO != nullptr)
153 153
 	{
154 154
 		delete OpenISO;
155  
-		OpenISO = NULL;
  155
+		OpenISO = nullptr;
156 156
 	}
157 157
 
158  
-	if (pFileSystem != NULL)
  158
+	if (pFileSystem != nullptr)
159 159
 	{
160 160
 		delete pFileSystem;
161  
-		pFileSystem = NULL;
  161
+		pFileSystem = nullptr;
162 162
 	}
163 163
 
164 164
 	// GCFiles' pointers are no longer valid after pFileSystem is cleared
14  Source/Core/DiscIO/FileSystemGCWii.cpp
@@ -40,7 +40,7 @@ u64 CFileSystemGCWii::GetFileSize(const char* _rFullPath)
40 40
 
41 41
 	const SFileInfo* pFileInfo = FindFileInfo(_rFullPath);
42 42
 
43  
-	if (pFileInfo != NULL && !pFileInfo->IsDirectory())
  43
+	if (pFileInfo != nullptr && !pFileInfo->IsDirectory())
44 44
 		return pFileInfo->m_FileSize;
45 45
 
46 46
 	return 0;
@@ -60,7 +60,7 @@ const char* CFileSystemGCWii::GetFileName(u64 _Address)
60 60
 		}
61 61
 	}
62 62
 
63  
-	return 0;
  63
+	return nullptr;
64 64
 }
65 65
 
66 66
 u64 CFileSystemGCWii::ReadFile(const char* _rFullPath, u8* _pBuffer, size_t _MaxBufferSize)
@@ -69,7 +69,7 @@ u64 CFileSystemGCWii::ReadFile(const char* _rFullPath, u8* _pBuffer, size_t _Max
69 69
 		InitFileSystem();
70 70
 
71 71
 	const SFileInfo* pFileInfo = FindFileInfo(_rFullPath);
72  
-	if (pFileInfo == NULL)
  72
+	if (pFileInfo == nullptr)
73 73
 		return 0;
74 74
 
75 75
 	if (pFileInfo->m_FileSize > _MaxBufferSize)
@@ -243,7 +243,7 @@ const SFileInfo* CFileSystemGCWii::FindFileInfo(const char* _rFullPath)
243 243
 			return &fileInfo;
244 244
 	}
245 245
 
246  
-	return NULL;
  246
+	return nullptr;
247 247
 }
248 248
 
249 249
 bool CFileSystemGCWii::DetectFileSystem()
@@ -297,7 +297,7 @@ void CFileSystemGCWii::InitFileSystem()
297 297
 			NameTableOffset += 0xC;
298 298
 		}
299 299
 
300  
-		BuildFilenames(1, m_FileInfoVector.size(), NULL, NameTableOffset);
  300
+		BuildFilenames(1, m_FileInfoVector.size(), nullptr, NameTableOffset);
301 301
 	}
302 302
 }
303 303
 
@@ -317,7 +317,7 @@ size_t CFileSystemGCWii::BuildFilenames(const size_t _FirstIndex, const size_t _
317 317
 		if (rFileInfo->IsDirectory())
318 318
 		{
319 319
 			// this is a directory, build up the new szDirectory
320  
-			if (_szDirectory != NULL)
  320
+			if (_szDirectory != nullptr)
321 321
 				CharArrayFromFormat(rFileInfo->m_FullPath, "%s%s/", _szDirectory, filename.c_str());
322 322
 			else
323 323
 				CharArrayFromFormat(rFileInfo->m_FullPath, "%s/", filename.c_str());
@@ -327,7 +327,7 @@ size_t CFileSystemGCWii::BuildFilenames(const size_t _FirstIndex, const size_t _
327 327
 		else
328 328
 		{
329 329
 			// this is a filename
330  
-			if (_szDirectory != NULL)
  330
+			if (_szDirectory != nullptr)
331 331
 				CharArrayFromFormat(rFileInfo->m_FullPath, "%s%s", _szDirectory, filename.c_str());
332 332
 			else
333 333
 				CharArrayFromFormat(rFileInfo->m_FullPath, "%s", filename.c_str());
20  Source/Core/DiscIO/FileSystemGCWii.h
@@ -21,16 +21,16 @@ class CFileSystemGCWii : public IFileSystem
21 21
 public:
22 22
 	CFileSystemGCWii(const IVolume* _rVolume);
23 23
 	virtual ~CFileSystemGCWii();
24  
-	virtual bool IsValid() const { return m_Valid; }
25  
-	virtual u64 GetFileSize(const char* _rFullPath);
26  
-	virtual size_t GetFileList(std::vector<const SFileInfo *> &_rFilenames);
27  
-	virtual const char* GetFileName(u64 _Address);
28  
-	virtual u64 ReadFile(const char* _rFullPath, u8* _pBuffer, size_t _MaxBufferSize);
29  
-	virtual bool ExportFile(const char* _rFullPath, const char* _rExportFilename);
30  
-	virtual bool ExportApploader(const char* _rExportFolder) const;
31  
-	virtual bool ExportDOL(const char* _rExportFolder) const;
32  
-	virtual bool GetBootDOL(u8* &buffer, u32 DolSize) const;
33  
-	virtual u32 GetBootDOLSize() const;
  24
+	virtual bool IsValid() const override { return m_Valid; }
  25
+	virtual u64 GetFileSize(const char* _rFullPath) override;
  26
+	virtual size_t GetFileList(std::vector<const SFileInfo *> &_rFilenames) override;
  27
+	virtual const char* GetFileName(u64 _Address) override;
  28
+	virtual u64 ReadFile(const char* _rFullPath, u8* _pBuffer, size_t _MaxBufferSize) override;
  29
+	virtual bool ExportFile(const char* _rFullPath, const char* _rExportFilename) override;
  30
+	virtual bool ExportApploader(const char* _rExportFolder) const override;
  31
+	virtual bool ExportDOL(const char* _rExportFolder) const override;
  32
+	virtual bool GetBootDOL(u8* &buffer, u32 DolSize) const override;
  33
+	virtual u32 GetBootDOLSize() const override;
34 34
 
35 35
 private:
36 36
 	bool m_Initialized;
4  Source/Core/DiscIO/Filesystem.cpp
@@ -22,12 +22,12 @@ IFileSystem* CreateFileSystem(const IVolume* _rVolume)
22 22
 	IFileSystem* pFileSystem = new CFileSystemGCWii(_rVolume);
23 23
 
24 24
 	if (!pFileSystem)
25  
-		return 0;
  25
+		return nullptr;
26 26
 
27 27
 	if (!pFileSystem->IsValid())
28 28
 	{
29 29
 		delete pFileSystem;
30  
-		pFileSystem = NULL;
  30
+		pFileSystem = nullptr;
31 31
 	}
32 32
 
33 33
 	return pFileSystem;
18  Source/Core/DiscIO/NANDContentLoader.cpp
@@ -157,7 +157,7 @@ class CNANDContentLoader : public INANDContentLoader
157 157
 	, m_IosVersion(0x09)
158 158
 	, m_BootIndex(-1)
159 159
 	, m_TIKSize(0)
160  
-	, m_TIK(NULL)
  160
+	, m_TIK(nullptr)
161 161
 {
162 162
 	m_Valid = Initialize(_rName);
163 163
 }
@@ -172,7 +172,7 @@ class CNANDContentLoader : public INANDContentLoader
172 172
 	if (m_TIK)
173 173
 	{
174 174
 		delete []m_TIK;
175  
-		m_TIK = NULL;
  175
+		m_TIK = nullptr;
176 176
 	}
177 177
 }
178 178
 
@@ -185,7 +185,7 @@ const SNANDContent* CNANDContentLoader::GetContentByIndex(int _Index) const
185 185
 			return &Content;
186 186
 		}
187 187
 	}
188  
-	return NULL;
  188
+	return nullptr;
189 189
 }
190 190
 
191 191
 bool CNANDContentLoader::Initialize(const std::string& _rName)
@@ -194,8 +194,8 @@ bool CNANDContentLoader::Initialize(const std::string& _rName)
194 194
 		return false;
195 195
 	m_Path = _rName;
196 196
 	WiiWAD Wad(_rName);
197  
-	u8* pDataApp = NULL;
198  
-	u8* pTMD = NULL;
  197
+	u8* pDataApp = nullptr;
  198
+	u8* pTMD = nullptr;
199 199
 	u8 DecryptTitleKey[16];
200 200
 	u8 IV[16];
201 201
 	if (Wad.IsValid())
@@ -272,7 +272,7 @@ bool CNANDContentLoader::Initialize(const std::string& _rName)
272 272
 			continue;
273 273
 		}
274 274
 
275  
-		rContent.m_pData = NULL;
  275
+		rContent.m_pData = nullptr;
276 276
 
277 277
 		if (rContent.m_Type & 0x8000)  // shared app
278 278
 		{
@@ -325,11 +325,9 @@ void CNANDContentLoader::GetKeyFromTicket(u8* pTicket, u8* pTicketKey)
325 325
 
326 326
 CNANDContentManager::~CNANDContentManager()
327 327
 {
328  
-	CNANDContentMap::iterator itr = m_Map.begin();
329  
-	while (itr != m_Map.end())
  328
+	for (auto& entry : m_Map)
330 329
 	{
331  
-		delete itr->second;
332  
-		++itr;
  330
+		delete entry.second;
333 331
 	}
334 332
 	m_Map.clear();
335 333
 }
22  Source/Core/DiscIO/VolumeCreator.cpp
@@ -75,8 +75,8 @@ class CBlobBigEndianReader
75 75
 IVolume* CreateVolumeFromFilename(const std::string& _rFilename, u32 _PartitionGroup, u32 _VolumeNum)
76 76
 {
77 77
 	IBlobReader* pReader = CreateBlobReader(_rFilename.c_str());
78  
-	if (pReader == NULL)
79  
-		return NULL;
  78
+	if (pReader == nullptr)
  79
+		return nullptr;
80 80
 
81 81
 	switch (GetDiscType(*pReader))
82 82
 	{
@@ -94,7 +94,7 @@ IVolume* CreateVolumeFromFilename(const std::string& _rFilename, u32 _PartitionG
94 94
 
95 95
 			IVolume* pVolume = CreateVolumeFromCryptedWiiImage(*pReader, _PartitionGroup, 0, _VolumeNum, region == 'K');
96 96
 
97  
-			if (pVolume == NULL)
  97
+			if (pVolume == nullptr)
98 98
 			{
99 99
 				delete pReader;
100 100
 			}
@@ -106,16 +106,16 @@ IVolume* CreateVolumeFromFilename(const std::string& _rFilename, u32 _PartitionG
106 106
 		case DISC_TYPE_UNK:
107 107
 		default:
108 108
 			std::string Filename, ext;
109  
-			SplitPath(_rFilename, NULL, &Filename, &ext);
  109
+			SplitPath(_rFilename, nullptr, &Filename, &ext);
110 110
 			Filename += ext;
111 111
 			NOTICE_LOG(DISCIO, "%s does not have the Magic word for a gcm, wiidisc or wad file\n"
112 112
 						"Set Log Verbosity to Warning and attempt to load the game again to view the values", Filename.c_str());
113 113
 			delete pReader;
114  
-			return NULL;
  114
+			return nullptr;
115 115
 	}
116 116
 
117 117
 	// unreachable code
118  
-	return NULL;
  118
+	return nullptr;
119 119
 }
120 120
 
121 121
 IVolume* CreateVolumeFromDirectory(const std::string& _rDirectory, bool _bIsWii, const std::string& _rApploader, const std::string& _rDOL)
@@ -123,7 +123,7 @@ IVolume* CreateVolumeFromDirectory(const std::string& _rDirectory, bool _bIsWii,
123 123
 	if (CVolumeDirectory::IsValidDirectory(_rDirectory))
124 124
 		return new CVolumeDirectory(_rDirectory, _bIsWii, _rApploader, _rDOL);
125 125
 
126  
-	return NULL;
  126
+	return nullptr;
127 127
 }
128 128
 
129 129
 bool IsVolumeWiiDisc(const IVolume *_rVolume)
@@ -152,7 +152,7 @@ static IVolume* CreateVolumeFromCryptedWiiImage(IBlobReader& _rReader, u32 _Part
152 152
 
153 153
 	// Check if we're looking for a valid partition
154 154
 	if ((int)_VolumeNum != -1 && _VolumeNum > numPartitions)
155  
-		return NULL;
  155
+		return nullptr;
156 156
 
157 157
 	#ifdef _WIN32
158 158
 	struct SPartition
@@ -170,14 +170,14 @@ static IVolume* CreateVolumeFromCryptedWiiImage(IBlobReader& _rReader, u32 _Part
170 170
 	SPartitionGroup PartitionGroup[4];
171 171
 
172 172
 	// read all partitions
173  
-	for (u32 x = 0; x < 4; x++)
  173
+	for (SPartitionGroup& group : PartitionGroup)
174 174
 	{
175 175
 		for (u32 i = 0; i < numPartitions; i++)
176 176
 		{
177 177
 			SPartition Partition;
178 178
 			Partition.Offset = ((u64)Reader.Read32(PartitionsOffset + (i * 8) + 0)) << 2;
179 179
 			Partition.Type   = Reader.Read32(PartitionsOffset + (i * 8) + 4);
180  
-			PartitionGroup[x].PartitionsVec.push_back(Partition);
  180
+			group.PartitionsVec.push_back(Partition);
181 181
 		}
182 182
 	}
183 183
 
@@ -217,7 +217,7 @@ static IVolume* CreateVolumeFromCryptedWiiImage(IBlobReader& _rReader, u32 _Part
217 217
 		}
218 218
 	}
219 219
 
220  
-	return NULL;
  220
+	return nullptr;
221 221
 }
222 222
 
223 223
 EDiscType GetDiscType(IBlobReader& _rReader)
18  Source/Core/DiscIO/VolumeDirectory.cpp
@@ -26,11 +26,11 @@
26 26
 	: m_totalNameSize(0)
27 27
 	, m_dataStartAddress(-1)
28 28
 	, m_fstSize(0)
29  
-	, m_FSTData(NULL)
  29
+	, m_FSTData(nullptr)
30 30
 	, m_apploaderSize(0)
31  
-	, m_apploader(NULL)
  31
+	, m_apploader(nullptr)
32 32
 	, m_DOLSize(0)
33  
-	, m_DOL(NULL)
  33
+	, m_DOL(nullptr)
34 34
 	, FST_ADDRESS(0)
35 35
 	, DOL_ADDRESS(0)
36 36
 {
@@ -63,19 +63,19 @@
63 63
 CVolumeDirectory::~CVolumeDirectory()
64 64
 {
65 65
 	delete[] m_FSTData;
66  
-	m_FSTData = NULL;
  66
+	m_FSTData = nullptr;
67 67
 
68 68
 	delete[] m_diskHeader;
69  
-	m_diskHeader = NULL;
  69
+	m_diskHeader = nullptr;
70 70
 
71 71
 	delete m_diskHeaderInfo;
72  
-	m_diskHeaderInfo = NULL;
  72
+	m_diskHeaderInfo = nullptr;
73 73
 
74 74
 	delete[] m_DOL;
75  
-	m_DOL = NULL;
  75
+	m_DOL = nullptr;
76 76
 
77 77
 	delete[] m_apploader;
78  
-	m_apploader = NULL;
  78
+	m_apploader = nullptr;
79 79
 }
80 80
 
81 81
 bool CVolumeDirectory::IsValidDirectory(const std::string& _rDirectory)
@@ -134,7 +134,7 @@ bool CVolumeDirectory::Read(u64 _Offset, u64 _Length, u8* _pBuffer) const
134 134
 		u64 fileOffset = _Offset - fileIter->first;
135 135
 
136 136
 		PlainFileReader* reader = PlainFileReader::Create(fileIter->second.c_str());
137  
-		if(reader == NULL)
  137
+		if(reader == nullptr)
138 138
 			return false;
139 139
 
140 140
 		u64 fileSize = reader->GetDataSize();
20  Source/Core/DiscIO/VolumeDirectory.h
@@ -31,25 +31,25 @@ class CVolumeDirectory : public IVolume
31 31
 
32 32
 	static bool IsValidDirectory(const std::string& _rDirectory);
33 33
 
34  
-	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const;
35  
-	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const;
  34
+	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
  35
+	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
36 36
 
37  
-	std::string GetUniqueID() const;
  37
+	std::string GetUniqueID() const override;
38 38
 	void SetUniqueID(std::string _ID);
39 39
 
40  
-	std::string GetMakerID() const;
  40
+	std::string GetMakerID() const override;
41 41
 
42  
-	std::vector<std::string> GetNames() const;
  42
+	std::vector<std::string> GetNames() const override;
43 43
 	void SetName(std::string);
44 44
 
45  
-	u32 GetFSTSize() const;
  45
+	u32 GetFSTSize() const override;
46 46
 
47  
-	std::string GetApploaderDate() const;
  47
+	std::string GetApploaderDate() const override;
48 48
 
49  
-	ECountry GetCountry() const;
  49
+	ECountry GetCountry() const override;
50 50
 
51  
-	u64 GetSize() const;
52  
-	u64 GetRawSize() const;
  51
+	u64 GetSize() const override;
  52
+	u64 GetRawSize() const override;
53 53
 
54 54
 	void BuildFST();
55 55
 
14  Source/Core/DiscIO/VolumeGC.cpp
@@ -22,12 +22,12 @@
22 22
 CVolumeGC::~CVolumeGC()
23 23
 {
24 24
 	delete m_pReader;
25  
-	m_pReader = NULL; // I don't think this makes any difference, but anyway
  25
+	m_pReader = nullptr; // I don't think this makes any difference, but anyway
26 26
 }
27 27
 
28 28
 bool CVolumeGC::Read(u64 _Offset, u64 _Length, u8* _pBuffer) const
29 29
 {
30  
-	if (m_pReader == NULL)
  30
+	if (m_pReader == nullptr)
31 31
 		return false;
32 32
 
33 33
 	FileMon::FindFilename(_Offset);
@@ -43,7 +43,7 @@ bool CVolumeGC::RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const
43 43
 std::string CVolumeGC::GetUniqueID() const
44 44
 {
45 45
 	static const std::string NO_UID("NO_UID");
46  
-	if (m_pReader == NULL)
  46
+	if (m_pReader == nullptr)
47 47
 		return NO_UID;
48 48
 
49 49
 	char ID[7];
@@ -77,7 +77,7 @@ bool CVolumeGC::RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const
77 77
 
78 78
 std::string CVolumeGC::GetMakerID() const
79 79
 {
80  
-	if (m_pReader == NULL)
  80
+	if (m_pReader == nullptr)
81 81
 		return std::string();
82 82
 
83 83
 	char makerID[3];
@@ -107,7 +107,7 @@ int CVolumeGC::GetRevision() const
107 107
 	auto const string_decoder = GetStringDecoder(GetCountry());
108 108
 
109 109
 	char name[0x60 + 1] = {};
110  
-	if (m_pReader != NULL && Read(0x20, 0x60, (u8*)name))
  110
+	if (m_pReader != nullptr && Read(0x20, 0x60, (u8*)name))
111 111
 		names.push_back(string_decoder(name));
112 112
 
113 113
 	return names;
@@ -115,7 +115,7 @@ int CVolumeGC::GetRevision() const
115 115
 
116 116
 u32 CVolumeGC::GetFSTSize() const
117 117
 {
118  
-	if (m_pReader == NULL)
  118
+	if (m_pReader == nullptr)
119 119
 		return 0;
120 120
 
121 121
 	u32 size;
@@ -127,7 +127,7 @@ u32 CVolumeGC::GetFSTSize() const
127 127
 
128 128
 std::string CVolumeGC::GetApploaderDate() const
129 129
 {
130  
-	if (m_pReader == NULL)
  130
+	if (m_pReader == nullptr)
131 131
 		return std::string();
132 132
 
133 133
 	char date[16];
26  Source/Core/DiscIO/VolumeGC.h
@@ -22,19 +22,19 @@ class CVolumeGC : public IVolume
22 22
 public:
23 23
 	CVolumeGC(IBlobReader* _pReader);
24 24
 	~CVolumeGC();
25  
-	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const;
26  
-	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const;
27  
-	std::string GetUniqueID() const;
28  
-	std::string GetRevisionSpecificUniqueID() const;
29  
-	std::string GetMakerID() const;
30  
-	int GetRevision() const;
31  
-	std::vector<std::string> GetNames() const;
32  
-	u32 GetFSTSize() const;
33  
-	std::string GetApploaderDate() const;
34  
-	ECountry GetCountry() const;
35  
-	u64 GetSize() const;
36  
-	u64 GetRawSize() const;
37  
-	bool IsDiscTwo() const;
  25
+	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
  26
+	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
  27
+	std::string GetUniqueID() const override;
  28
+	std::string GetRevisionSpecificUniqueID() const override;
  29
+	std::string GetMakerID() const override;
  30
+	int GetRevision() const override;
  31
+	std::vector<std::string> GetNames() const override;
  32
+	u32 GetFSTSize() const override;
  33
+	std::string GetApploaderDate() const override;
  34
+	ECountry GetCountry() const override;
  35
+	u64 GetSize() const override;
  36
+	u64 GetRawSize() const override;
  37
+	bool IsDiscTwo() const override;
38 38
 
39 39
 	typedef std::string(*StringDecoder)(const std::string&);
40 40
 
2  Source/Core/DiscIO/VolumeWad.cpp
@@ -46,7 +46,7 @@
46 46
 
47 47
 bool CVolumeWAD::Read(u64 _Offset, u64 _Length, u8* _pBuffer) const
48 48
 {
49  
-	if (m_pReader == NULL)
  49
+	if (m_pReader == nullptr)
50 50
 		return false;
51 51
 
52 52
 	return m_pReader->Read(_Offset, _Length, _pBuffer);
22  Source/Core/DiscIO/VolumeWad.h
@@ -24,17 +24,17 @@ class CVolumeWAD : public IVolume
24 24
 public:
25 25
 	CVolumeWAD(IBlobReader* _pReader);
26 26
 	~CVolumeWAD();
27  
-	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const;
28  
-	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const { return false; }
29  
-	bool GetTitleID(u8* _pBuffer) const;
30  
-	std::string GetUniqueID() const;
31  
-	std::string GetMakerID() const;
32  
-	std::vector<std::string> GetNames() const;
33  
-	u32 GetFSTSize() const               { return 0; }
34  
-	std::string GetApploaderDate() const { return "0"; }
35  
-	ECountry GetCountry() const;
36  
-	u64 GetSize() const;
37  
-	u64 GetRawSize() const;
  27
+	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
  28
+	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const override { return false; }
  29
+	bool GetTitleID(u8* _pBuffer) const override;
  30
+	std::string GetUniqueID() const override;
  31
+	std::string GetMakerID() const override;
  32
+	std::vector<std::string> GetNames() const override;
  33
+	u32 GetFSTSize() const override               { return 0; }
  34
+	std::string GetApploaderDate() const override { return "0"; }
  35
+	ECountry GetCountry() const override;
  36
+	u64 GetSize() const override;
  37
+	u64 GetRawSize() const override;
38 38
 
39 39
 private:
40 40
 	IBlobReader* m_pReader;
20  Source/Core/DiscIO/VolumeWiiCrypted.cpp
@@ -21,7 +21,7 @@
21 21
 CVolumeWiiCrypted::CVolumeWiiCrypted(IBlobReader* _pReader, u64 _VolumeOffset,
22 22
 									 const unsigned char* _pVolumeKey)
23 23
 	: m_pReader(_pReader),
24  
-	m_pBuffer(0),
  24
+	m_pBuffer(nullptr),
25 25
 	m_VolumeOffset(_VolumeOffset),
26 26
 	dataOffset(0x20000),
27 27
 	m_LastDecryptedBlockOffset(-1)
@@ -35,11 +35,11 @@
35 35
 CVolumeWiiCrypted::~CVolumeWiiCrypted()
36 36
 {
37 37
 	delete m_pReader; // is this really our responsibility?
38  
-	m_pReader = NULL;
  38
+	m_pReader = nullptr;
39 39
 	delete[] m_pBuffer;
40  
-	m_pBuffer = NULL;
  40
+	m_pBuffer = nullptr;
41 41
 	delete m_AES_ctx;
42  
-	m_AES_ctx = NULL;
  42
+	m_AES_ctx = nullptr;
43 43
 }
44 44
 
45 45
 bool CVolumeWiiCrypted::RAWRead( u64 _Offset, u64 _Length, u8* _pBuffer ) const
@@ -56,7 +56,7 @@ bool CVolumeWiiCrypted::RAWRead( u64 _Offset, u64 _Length, u8* _pBuffer ) const
56 56
 
57 57
 bool CVolumeWiiCrypted::Read(u64 _ReadOffset, u64 _Length, u8* _pBuffer) const
58 58
 {
59  
-	if (m_pReader == NULL)
  59
+	if (m_pReader == nullptr)
60 60
 	{
61 61
 		return(false);
62 62
 	}
@@ -119,7 +119,7 @@ void CVolumeWiiCrypted::GetTMD(u8* _pBuffer, u32 * _sz) const
119 119
 
120 120
 std::string CVolumeWiiCrypted::GetUniqueID() const
121 121
 {
122  
-	if (m_pReader == NULL)
  122
+	if (m_pReader == nullptr)
123 123
 	{
124 124
 		return std::string();
125 125
 	}
@@ -150,7 +150,7 @@ void CVolumeWiiCrypted::GetTMD(u8* _pBuffer, u32 * _sz) const
150 150
 
151 151
 std::string CVolumeWiiCrypted::GetMakerID() const
152 152
 {
153  
-	if (m_pReader == NULL)
  153
+	if (m_pReader == nullptr)
154 154
 	{
155 155
 		return std::string();
156 156
 	}
@@ -174,7 +174,7 @@ void CVolumeWiiCrypted::GetTMD(u8* _pBuffer, u32 * _sz) const
174 174
 	auto const string_decoder = CVolumeGC::GetStringDecoder(GetCountry());
175 175
 
176 176
 	char name[0xFF] = {};
177  
-	if (m_pReader != NULL && Read(0x20, 0x60, (u8*)&name))
  177
+	if (m_pReader != nullptr && Read(0x20, 0x60, (u8*)&name))
178 178
 		names.push_back(string_decoder(name));
179 179
 
180 180
 	return names;
@@ -182,7 +182,7 @@ void CVolumeWiiCrypted::GetTMD(u8* _pBuffer, u32 * _sz) const
182 182
 
183 183
 u32 CVolumeWiiCrypted::GetFSTSize() const
184 184
 {
185  
-	if (m_pReader == NULL)
  185
+	if (m_pReader == nullptr)
186 186
 	{
187 187
 		return 0;
188 188
 	}
@@ -199,7 +199,7 @@ u32 CVolumeWiiCrypted::GetFSTSize() const
199 199
 
200 200
 std::string CVolumeWiiCrypted::GetApploaderDate() const
201 201
 {
202  
-	if (m_pReader == NULL)
  202
+	if (m_pReader == nullptr)
203 203
 	{
204 204
 		return std::string();
205 205
 	}
30  Source/Core/DiscIO/VolumeWiiCrypted.h
@@ -23,21 +23,21 @@ class CVolumeWiiCrypted : public IVolume
23 23
 public:
24 24
 	CVolumeWiiCrypted(IBlobReader* _pReader, u64 _VolumeOffset, const unsigned char* _pVolumeKey);
25 25
 	~CVolumeWiiCrypted();
26  
-	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const;
27  
-	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const;
28  
-	bool GetTitleID(u8* _pBuffer) const;
29  
-	void GetTMD(u8* _pBuffer, u32* _sz) const;
30  
-	std::string GetUniqueID() const;
31  
-	std::string GetMakerID() const;
32  
-	std::vector<std::string> GetNames() const;
33  
-	u32 GetFSTSize() const;
34  
-	std::string GetApploaderDate() const;
35  
-	ECountry GetCountry() const;
36  
-	u64 GetSize() const;
37  
-	u64 GetRawSize() const;
38  
-
39  
-	bool SupportsIntegrityCheck() const { return true; }
40  
-	bool CheckIntegrity() const;
  26
+	bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
  27
+	bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
  28
+	bool GetTitleID(u8* _pBuffer) const override;
  29
+	void GetTMD(u8* _pBuffer, u32* _sz) const override;
  30
+	std::string GetUniqueID() const override;
  31
+	std::string GetMakerID() const override;
  32
+	std::vector<std::string> GetNames() const override;
  33
+	u32 GetFSTSize() const override;
  34
+	std::string GetApploaderDate() const override;
  35
+	ECountry GetCountry() const override;
  36
+	u64 GetSize() const override;
  37
+	u64 GetRawSize() const override;
  38
+
  39
+	bool SupportsIntegrityCheck() const override { return true; }
  40
+	bool CheckIntegrity() const override;
41 41
 
42 42
 private:
43 43
 	IBlobReader* m_pReader;
4  Source/Core/DiscIO/WbfsBlob.cpp
@@ -24,7 +24,7 @@ static inline u64 align(u64 value, u64 bounds)
24 24
 }
25 25
 
26 26
 WbfsFileReader::WbfsFileReader(const char* filename)
27  
-	: m_total_files(0), m_size(0), m_wlba_table(0), m_good(true)
  27
+	: m_total_files(0), m_size(0), m_wlba_table(nullptr), m_good(true)
28 28
 {
29 29
 	if(!filename || (strlen(filename) < 4) || !OpenFiles(filename) || !ReadHeader())
30 30
 	{
@@ -182,7 +182,7 @@ WbfsFileReader* WbfsFileReader::Create(const char* filename)
182 182
 	else
183 183
 	{
184 184
 		delete reader;
185  
-		return NULL;
  185
+		return nullptr;
186 186
 	}
187 187
 }
188 188
 
6  Source/Core/DiscIO/WbfsBlob.h
@@ -56,9 +56,9 @@ class WbfsFileReader : public IBlobReader
56 56
 public:
57 57
 	static WbfsFileReader* Create(const char* filename);
58 58
 
59  
-	u64 GetDataSize() const { return m_size; }
60  
-	u64 GetRawSize() const { return m_size; }
61  
-	bool Read(u64 offset, u64 nbytes, u8* out_ptr);
  59
+	u64 GetDataSize() const override { return m_size; }
  60
+	u64 GetRawSize() const override { return m_size; }
  61
+	bool Read(u64 offset, u64 nbytes, u8* out_ptr) override;
62 62
 };
63 63
 
64 64
 bool IsWbfsBlob(const char* filename);
8  Source/Core/DiscIO/WiiWad.cpp
@@ -35,7 +35,7 @@ class CBlobBigEndianReader
35 35
 WiiWAD::WiiWAD(const std::string& _rName)
36 36
 {
37 37
 	DiscIO::IBlobReader* pReader = DiscIO::CreateBlobReader(_rName.c_str());
38  
-	if (pReader == NULL || File::IsDirectory(_rName))
  38
+	if (pReader == nullptr || File::IsDirectory(_rName))
39 39
 	{
40 40
 		m_Valid = false;
41 41
 		if(pReader) delete pReader;
@@ -63,7 +63,7 @@ u8* WiiWAD::CreateWADEntry(DiscIO::IBlobReader& _rReader, u32 _Size, u64 _Offset
63 63
 	if (_Size > 0)
64 64
 	{
65 65
 		u8* pTmpBuffer = new u8[_Size];
66  
-		_dbg_assert_msg_(BOOT, pTmpBuffer!=0, "WiiWAD: Cant allocate memory for WAD entry");
  66
+		_dbg_assert_msg_(BOOT, pTmpBuffer!=nullptr, "WiiWAD: Cant allocate memory for WAD entry");
67 67
 
68 68
 		if (!_rReader.Read(_Offset, _Size, pTmpBuffer))
69 69
 		{
@@ -72,7 +72,7 @@ u8* WiiWAD::CreateWADEntry(DiscIO::IBlobReader& _rReader, u32 _Size, u64 _Offset
72 72
 		}
73 73
 		return pTmpBuffer;
74 74
 	}
75  
-	return NULL;
  75
+	return nullptr;
76 76
 }
77 77
 
78 78
 
@@ -121,7 +121,7 @@ bool WiiWAD::ParseWAD(DiscIO::IBlobReader& _rReader)
121 121
 bool WiiWAD::IsWiiWAD(const std::string& _rName)
122 122
 {
123 123
 	DiscIO::IBlobReader* pReader = DiscIO::CreateBlobReader(_rName.c_str());
124  
-	if (pReader == NULL)
  124
+	if (pReader == nullptr)
125 125
 		return false;
126 126
 
127 127
 	CBlobBigEndianReader Reader(*pReader);
4  Source/Core/DolphinWX/ARCodeAddEdit.cpp
@@ -112,8 +112,8 @@ void CARCodeAddEdit::SaveCheatData(wxCommandEvent& WXUNUSED (event))
112 112
 		if (pieces.size() == 2 && pieces[0].size() == 8 && pieces[1].size() == 8)
113 113
 		{
114 114
 			// Decrypted code line.
115  
-			u32 addr = strtoul(pieces[0].c_str(), NULL, 16);
116  
-			u32 value = strtoul(pieces[1].c_str(), NULL, 16);
  115
+			u32 addr = strtoul(pieces[0].c_str(), nullptr, 16);
  116
+			u32 value = strtoul(pieces[1].c_str(), nullptr, 16);
117 117
 
118 118
 			decryptedLines.push_back(ActionReplay::AREntry(addr, value));
119 119
 			continue;
49  Source/Core/DolphinWX/CheatsWindow.cpp
@@ -72,8 +72,8 @@
72 72
 
73 73
 wxCheatsWindow::~wxCheatsWindow()
74 74
 {
75  
-	main_frame->g_CheatsWindow = NULL;
76  
-	::g_cheat_window = NULL;
  75
+	main_frame->g_CheatsWindow = nullptr;
  76
+	::g_cheat_window = nullptr;
77 77
 }
78 78
 
79 79
 void wxCheatsWindow::Init_ChildControls()
@@ -95,7 +95,7 @@ void wxCheatsWindow::Init_ChildControls()
95 95
 	m_GroupBox_Info = new wxStaticBox(m_Tab_Cheats, wxID_ANY, _("Code Info"));
96 96
 
97 97
 	m_Label_NumCodes = new wxStaticText(m_Tab_Cheats, wxID_ANY, _("Number Of Codes: "));
98  
-	m_ListBox_CodesList = new wxListBox(m_Tab_Cheats, wxID_ANY, wxDefaultPosition, wxSize(120, 150), 0, 0, wxLB_HSCROLL);
  98
+	m_ListBox_CodesList = new wxListBox(m_Tab_Cheats, wxID_ANY, wxDefaultPosition, wxSize(120, 150), 0, nullptr, wxLB_HSCROLL);
99 99
 
100 100
 	wxStaticBoxSizer* sGroupBoxInfo = new wxStaticBoxSizer(m_GroupBox_Info, wxVERTICAL);
101 101
 	sGroupBoxInfo->Add(m_Label_Codename, 0, wxALL, 5);
@@ -338,11 +338,11 @@ void wxCheatsWindow::OnEvent_CheatsList_ItemSelected(wxCommandEvent& WXUNUSED (e
338 338
 			m_Label_NumCodes->SetLabel(StrToWxStr(numcodes));
339 339
 			m_ListBox_CodesList->Clear();
340 340
 
341  
-			for (size_t j = 0; j < code.ops.size(); j++)
  341
+			for (const AREntry& entry : code.ops)
342 342
 			{
343 343
 				char text2[CHAR_MAX];
344 344
 				char* ops = text2;
345  
-				sprintf(ops, "%08x %08x", code.ops[j].cmd_addr, code.ops[j].value);
  345
+				sprintf(ops, "%08x %08x", entry.cmd_addr, entry.value);
346 346
 				m_ListBox_CodesList->Append(StrToWxStr(ops));
347 347
 			}
348 348
 		}
@@ -352,11 +352,11 @@ void wxCheatsWindow::OnEvent_CheatsList_ItemSelected(wxCommandEvent& WXUNUSED (e
352 352
 void wxCheatsWindow::OnEvent_CheatsList_ItemToggled(wxCommandEvent& WXUNUSED (event))
353 353
 {
354 354
 	int index = m_CheckListBox_CheatsList->GetSelection();
355  
-	for (size_t i = 0; i < indexList.size(); i++)
  355
+	for (const ARCodeIndex& code_index : indexList)
356 356
 	{
357  
-		if ((int)indexList[i].uiIndex == index)
  357
+		if ((int)code_index.uiIndex == index)
358 358
 		{
359  
-			ActionReplay::SetARCode_IsActive(m_CheckListBox_CheatsList->IsChecked(index), indexList[i].index);
  359
+			ActionReplay::SetARCode_IsActive(m_CheckListBox_CheatsList->IsChecked(index), code_index.index);
360 360
 		}
361 361
 	}
362 362
 }
@@ -364,9 +364,9 @@ void wxCheatsWindow::OnEvent_CheatsList_ItemToggled(wxCommandEvent& WXUNUSED (ev
364 364
 void wxCheatsWindow::OnEvent_ApplyChanges_Press(wxCommandEvent& ev)
365 365
 {
366 366
 	// Apply AR Code changes
367  
-	for (size_t i = 0; i < indexList.size(); i++)
  367
+	for (const ARCodeIndex& code_index : indexList)
368 368
 	{
369  
-		ActionReplay::SetARCode_IsActive(m_CheckListBox_CheatsList->IsChecked(indexList[i].uiIndex), indexList[i].index);
  369
+		ActionReplay::SetARCode_IsActive(m_CheckListBox_CheatsList->IsChecked(code_index.uiIndex), code_index.index);
370 370
 	}
371 371
 
372 372
 	// Apply Gecko Code changes
@@ -385,10 +385,9 @@ void wxCheatsWindow::OnEvent_ApplyChanges_Press(wxCommandEvent& ev)
385 385
 void wxCheatsWindow::OnEvent_ButtonUpdateLog_Press(wxCommandEvent& WXUNUSED (event))
386 386
 {
387 387
 	m_TextCtrl_Log->Clear();
388  
-	const std::vector<std::string> &arLog = ActionReplay::GetSelfLog();
389  
-	for (u32 i = 0; i < arLog.size(); i++)
  388
+	for (const std::string& text : ActionReplay::GetSelfLog())
390 389
 	{
391  
-		m_TextCtrl_Log->AppendText(StrToWxStr(arLog[i]));
  390
+		m_TextCtrl_Log->AppendText(StrToWxStr(text));
392 391
 	}
393 392
 }
394 393
 
@@ -400,7 +399,7 @@ void wxCheatsWindow::OnEvent_CheckBoxEnableLogging_StateChange(wxCommandEvent& W
400 399
 void CheatSearchTab::StartNewSearch(wxCommandEvent& WXUNUSED (event))
401 400
 {
402 401
 	const u8* const memptr = Memory::GetPointer(0);
403  
-	if (NULL == memptr)
  402
+	if (nullptr == memptr)
404 403
 	{
405 404
 		PanicAlertT("A game is not currently running.");
406 405
 		return;
@@ -434,16 +433,12 @@ void CheatSearchTab::StartNewSearch(wxCommandEvent& WXUNUSED (event))
434 433
 void CheatSearchTab::FilterCheatSearchResults(wxCommandEvent&)
435 434
 {
436 435
 	const u8* const memptr = Memory::GetPointer(0);
437  
-	if (NULL == memptr)
  436
+	if (nullptr == memptr)
438 437
 	{
439 438
 		PanicAlertT("A game is not currently running.");
440 439
 		return;
441 440
 	}
442 441
 
443  
-	std::vector<CheatSearchResult>::iterator
444  
-		i = search_results.begin(),
445  
-		e = search_results.end();
446  
-
447 442
 	// Set up the sub-search results efficiently to prevent automatic re-allocations.
448 443
 	std::vector<CheatSearchResult> filtered_results;
449 444
 	filtered_results.reserve(search_results.size());
@@ -459,10 +454,10 @@ void CheatSearchTab::FilterCheatSearchResults(wxCommandEvent&)
459 454
 
460 455
 	if (value_x_radiobtn.rad_oldvalue->GetValue()) // using old value comparison
461 456
 	{
462  
-		for (; i!=e; ++i)
  457
+		for (CheatSearchResult& result : search_results)
463 458
 		{
464 459
 			// with big endian, can just use memcmp for ><= comparison
465  
-			int cmp_result = memcmp(memptr + i->address, &i->old_value, search_type_size);
  460
+			int cmp_result = memcmp(memptr + result.address, &result.old_value, search_type_size);
466 461
 			if (cmp_result < 0)
467 462
 				cmp_result = 4;
468 463
 			else
@@ -470,8 +465,8 @@ void CheatSearchTab::FilterCheatSearchResults(wxCommandEvent&)
470 465
 
471 466
 			if (cmp_result & filter_mask)
472 467
 			{
473  
-				memcpy(&i->old_value, memptr + i->address, search_type_size);
474  
-				filtered_results.push_back(*i);
  468
+				memcpy(&result.old_value, memptr + result.address, search_type_size);
  469
+				filtered_results.push_back(result);
475 470
 			}
476 471
 		}
477 472
 	}
@@ -510,10 +505,10 @@ void CheatSearchTab::FilterCheatSearchResults(wxCommandEvent&)
510 505
 			// #endif
511 506
 		}
512 507
 
513  
-		for (; i!=e; ++i)
  508
+		for (CheatSearchResult& result : search_results)
514 509
 		{
515 510
 			// with big endian, can just use memcmp for ><= comparison
516  
-			int cmp_result = memcmp(memptr + i->address, &user_x_val, search_type_size);
  511
+			int cmp_result = memcmp(memptr + result.address, &user_x_val, search_type_size);
517 512
 			if (cmp_result < 0)
518 513
 				cmp_result = 4;
519 514
 			else if (cmp_result)
@@ -523,8 +518,8 @@ void CheatSearchTab::FilterCheatSearchResults(wxCommandEvent&)
523 518
 
524 519
 			if (cmp_result & filter_mask)
525 520
 			{
526  
-				memcpy(&i->old_value, memptr + i->address, search_type_size);
527  
-				filtered_results.push_back(*i);
  521
+				memcpy(&result.old_value, memptr + result.address, search_type_size);
  522
+				filtered_results.push_back(result);
528 523
 			}
529 524
 		}
530 525
 	}
2  Source/Core/DolphinWX/ConfigMain.cpp
@@ -616,7 +616,7 @@ void CConfigMain::CreateGUIControls()
616 616
 	std::for_each(sv.begin(), sv.end(), [theme_selection](const std::string& filename)
617 617
 	{
618 618
 		std::string name, ext;
619  
-		SplitPath(filename, NULL, &name, &ext);
  619
+		SplitPath(filename, nullptr, &name, &ext);
620 620
 
621 621
 		name += ext;
622 622
 		auto const wxname = StrToWxStr(name);
2  Source/Core/DolphinWX/Debugger/BreakpointView.h
@@ -14,6 +14,6 @@ class CBreakPointView : public wxListCtrl
14 14
 public:
15 15
 	CBreakPointView(wxWindow* parent, const wxWindowID id);
16 16
 
17  
-	void Update();
  17
+	void Update() override;
18 18
 	void DeleteCurrentSelection();
19 19
 };
4  Source/Core/DolphinWX/Debugger/CodeView.cpp
@@ -335,7 +335,7 @@ void CCodeView::OnPopupMenu(wxCommandEvent& event)
335 335
 
336 336
 void CCodeView::OnMouseUpR(wxMouseEvent& event)
337 337
 {
338  
-	bool isSymbol = symbol_db->GetSymbolFromAddr(selection) != 0;
  338
+	bool isSymbol = symbol_db->GetSymbolFromAddr(selection) != nullptr;
339 339
 	// popup menu
340 340
 	wxMenu* menu = new wxMenu;
341 341
 	//menu->Append(IDM_GOTOINMEMVIEW, "&Goto in mem view");
@@ -482,7 +482,7 @@ void CCodeView::OnPaint(wxPaintEvent& event)
482 482
 						}
483 483
 						if (!found)
484 484
 						{
485  
-							mojs = 0;
  485
+							mojs = nullptr;
486 486
 							break;
487 487
 						}
488 488
 					}
20  Source/Core/DolphinWX/Debugger/CodeWindow.cpp
@@ -89,13 +89,13 @@
89 89
 	wxWindowID id, const wxPoint& position, const wxSize& size, long style, const wxString& name)
90 90
 	: wxPanel((wxWindow*)parent, id, position, size, style, name)
91 91
 	, Parent(parent)
92  
-	, m_RegisterWindow(NULL)
93  
-	, m_BreakpointWindow(NULL)
94  
-	, m_MemoryWindow(NULL)
95  
-	, m_JitWindow(NULL)
96  
-	, m_SoundWindow(NULL)
97  
-	, m_VideoWindow(NULL)
98  
-	, codeview(NULL)
  92
+	, m_RegisterWindow(nullptr)
  93
+	, m_BreakpointWindow(nullptr)
  94
+	, m_MemoryWindow(nullptr)
  95
+	, m_JitWindow(nullptr)
  96
+	, m_SoundWindow(nullptr)
  97
+	, m_VideoWindow(nullptr)
  98
+	, codeview(nullptr)
99 99
 {
100 100
 	InitBitmaps();
101 101
 
@@ -111,11 +111,11 @@
111 111
 	sizerLeft->Add(callstack = new wxListBox(this, ID_CALLSTACKLIST,
112 112
 				wxDefaultPosition, wxSize(90, 100)), 0, wxEXPAND);
113 113
 	sizerLeft->Add(symbols = new wxListBox(this, ID_SYMBOLLIST,
114  
-				wxDefaultPosition, wxSize(90, 100), 0, NULL, wxLB_SORT), 1, wxEXPAND);
  114
+				wxDefaultPosition, wxSize(90, 100), 0, nullptr, wxLB_SORT), 1, wxEXPAND);
115 115
 	sizerLeft->Add(calls = new wxListBox(this, ID_CALLSLIST, wxDefaultPosition,
116  
-				wxSize(90, 100), 0, NULL, wxLB_SORT), 0, wxEXPAND);
  116
+				wxSize(90, 100), 0, nullptr, wxLB_SORT), 0, wxEXPAND);
117 117
 	sizerLeft->Add(callers = new wxListBox(this, ID_CALLERSLIST, wxDefaultPosition,
118  
-				wxSize(90, 100), 0, NULL, wxLB_SORT), 0, wxEXPAND);
  118
+				wxSize(90, 100), 0, nullptr, wxLB_SORT), 0, wxEXPAND);
119 119
 
120 120
 	SetSizer(sizerBig);
121 121
 
2  Source/Core/DolphinWX/Debugger/CodeWindow.h
@@ -62,7 +62,7 @@ class CCodeWindow
62 62
 		bool JITBlockLinking();
63 63
 		void JumpToAddress(u32 _Address);
64 64
 
65  
-		void Update();
  65
+		void Update() override;
66 66
 		void NotifyMapLoaded();
67 67
 		void CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParameter, wxMenuBar *pMenuBar);
68 68
 		void CreateMenuOptions(wxMenu *pMenu);
20  Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp
@@ -180,7 +180,7 @@ void CCodeWindow::OnProfilerMenu(wxCommandEvent& event)
180 180
 	{
181 181
 	case IDM_PROFILEBLOCKS:
182 182
 		Core::SetState(Core::CORE_PAUSE);
183  
-		if (jit != NULL)
  183
+		if (jit != nullptr)
184 184
 			jit->ClearCache();
185 185
 		Profiler::g_ProfileBlocks = GetMenuBar()->IsChecked(IDM_PROFILEBLOCKS);
186 186
 		Core::SetState(Core::CORE_RUN);
@@ -191,13 +191,13 @@ void CCodeWindow::OnProfilerMenu(wxCommandEvent& event)
191 191
 
192 192
 		if (Core::GetState() == Core::CORE_PAUSE && PowerPC::GetMode() == PowerPC::MODE_JIT)
193 193
 		{
194  
-			if (jit != NULL)
  194
+			if (jit != nullptr)
195 195
 			{
196 196
 				std::string filename = File::GetUserPath(D_DUMP_IDX) + "Debug/profiler.txt";
197 197
 				File::CreateFullPath(filename);
198 198
 				Profiler::WriteProfileResults(filename.c_str());
199 199
 
200  
-				wxFileType* filetype = NULL;
  200
+				wxFileType* filetype = nullptr;
201 201
 				if (!(filetype = wxTheMimeTypesManager->GetFileTypeFromExtension(_T("txt"))))
202 202
 				{
203 203
 					// From extension failed, trying with MIME type now
@@ -379,7 +379,7 @@ void CCodeWindow::OnSymbolListChange(wxCommandEvent& event)
379 379
 	int index = symbols->GetSelection();
380 380
 	if (index >= 0) {
381 381
 		Symbol* pSymbol = static_cast<Symbol *>(symbols->GetClientData(index));
382  
-		if (pSymbol != NULL)
  382
+		if (pSymbol != nullptr)
383 383
 		{
384 384
 			if(pSymbol->type == Symbol::SYMBOL_DATA)
385 385
 			{
@@ -456,7 +456,7 @@ void CCodeWindow::ToggleRegisterWindow(bool bShow)
456 456
 	else // Close
457 457
 	{
458 458
 		Parent->DoRemovePage(m_RegisterWindow, false);
459  
-		m_RegisterWindow = NULL;
  459
+		m_RegisterWindow = nullptr;
460 460
 	}
461 461
 }
462 462
 
@@ -474,7 +474,7 @@ void CCodeWindow::ToggleBreakPointWindow(bool bShow)
474 474
 	else // Close
475 475
 	{
476 476
 		Parent->DoRemovePage(m_BreakpointWindow, false);
477  
-		m_BreakpointWindow = NULL;
  477
+		m_BreakpointWindow = nullptr;
478 478
 	}
479 479
 }
480 480
 
@@ -492,7 +492,7 @@ void CCodeWindow::ToggleMemoryWindow(bool bShow)
492 492
 	else // Close
493 493
 	{
494 494
 		Parent->DoRemovePage(m_MemoryWindow, false);
495  
-		m_MemoryWindow = NULL;
  495
+		m_MemoryWindow = nullptr;
496 496
 	}
497 497
 }
498 498
 
@@ -510,7 +510,7 @@ void CCodeWindow::ToggleJitWindow(bool bShow)
510 510
 	else // Close
511 511
 	{
512 512
 		Parent->DoRemovePage(m_JitWindow, false);
513  
-		m_JitWindow = NULL;
  513
+		m_JitWindow = nullptr;
514 514
 	}
515 515
 }
516 516
 
@@ -529,7 +529,7 @@ void CCodeWindow::ToggleSoundWindow(bool bShow)
529 529
 	else // Close
530 530
 	{
531 531
 		Parent->DoRemovePage(m_SoundWindow, false);
532  
-		m_SoundWindow = NULL;
  532
+		m_SoundWindow = nullptr;
533 533
 	}
534 534
 }
535 535
 
@@ -547,6 +547,6 @@ void CCodeWindow::ToggleVideoWindow(bool bShow)
547 547
 	else // Close
548 548
 	{
549 549
 		Parent->DoRemovePage(m_VideoWindow, false);
550  
-		m_VideoWindow = NULL;
  550
+		m_VideoWindow = nullptr;
551 551
 	}
552 552
 }
10  Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp
@@ -34,7 +34,7 @@
34 34
 
35 35
 class wxWindow;
36 36
 
37  
-DSPDebuggerLLE* m_DebuggerFrame = NULL;
  37
+DSPDebuggerLLE* m_DebuggerFrame = nullptr;
38 38
 
39 39
 BEGIN_EVENT_TABLE(DSPDebuggerLLE, wxPanel)
40 40
 	EVT_CLOSE(DSPDebuggerLLE::OnClose)
@@ -69,7 +69,7 @@
69 69
 	m_Toolbar->Realize();
70 70
 
71 71
 	m_SymbolList = new wxListBox(this, ID_SYMBOLLIST, wxDefaultPosition,
72  
-		wxSize(140, 100), 0, NULL, wxLB_SORT);
  72
+		wxSize(140, 100), 0, nullptr, wxLB_SORT);
73 73
 
74 74
 	m_MainNotebook = new wxAuiNotebook(this, wxID_ANY,
75 75
 		wxDefaultPosition, wxDefaultSize,
@@ -118,7 +118,7 @@
118 118
 DSPDebuggerLLE::~DSPDebuggerLLE()
119 119
 {
120 120
 	m_mgr.UnInit();
121  
-	m_DebuggerFrame = NULL;
  121
+	m_DebuggerFrame = nullptr;
122 122
 }
123 123
 
124 124
 void DSPDebuggerLLE::OnClose(wxCloseEvent& event)
@@ -217,7 +217,7 @@ void DSPDebuggerLLE::UpdateDisAsmListView()
217 217
 
218 218
 void DSPDebuggerLLE::UpdateSymbolMap()
219 219
 {
220  
-	if (g_dsp.dram == NULL)
  220
+	if (g_dsp.dram == nullptr)
221 221
 		return;
222 222
 
223 223
 	m_SymbolList->Freeze(); // HyperIris: wx style fast filling
@@ -235,7 +235,7 @@ void DSPDebuggerLLE::OnSymbolListChange(wxCommandEvent& event)
235 235
 	int index = m_SymbolList->GetSelection();
236 236
 	if (index >= 0) {
237 237
 		Symbol* pSymbol = static_cast<Symbol *>(m_SymbolList->GetClientData(index));
238  
-		if (pSymbol != NULL)
  238
+		if (pSymbol != nullptr)
239 239
 		{
240 240
 			if (pSymbol->type == Symbol::SYMBOL_FUNCTION)
241 241
 			{
2  Source/Core/DolphinWX/Debugger/DSPDebugWindow.h
@@ -27,7 +27,7 @@ class DSPDebuggerLLE : public wxPanel
27 27
 	DSPDebuggerLLE(wxWindow *parent, wxWindowID id = wxID_ANY);
28 28
 	virtual ~DSPDebuggerLLE();
29 29
 
30  
-	void Update();
  30
+	void Update() override;
31 31
 
32 32
 private:
33 33
 	DECLARE_EVENT_TABLE();
14  Source/Core/DolphinWX/Debugger/DSPRegisterView.h
@@ -30,12 +30,12 @@ class CDSPRegTable : public wxGridTableBase
30 30
 		memset(m_CachedRegHasChanged, 0, sizeof(m_CachedRegHasChanged));
31 31
 	}
32 32
 
33  
-	int GetNumberCols(void) {return 2;}
34  
-	int GetNumberRows(void) {return 32;}
35  
-	bool IsEmptyCell(int row, int col) {return false;}
36  
-	wxString GetValue(int row, int col);
37  
-	void SetValue(int row, int col, const wxString &);
38  
-	wxGridCellAttr *GetAttr(int, int, wxGridCellAttr::wxAttrKind);
  33
+	int GetNumberCols(void) override {return 2;}
  34
+	int GetNumberRows(void) override {return 32;}
  35
+	bool IsEmptyCell(int row, int col) override {return false;}
  36
+	wxString GetValue(int row, int col) override;
  37
+	void SetValue(int row, int col, const wxString &) override;
  38
+	wxGridCellAttr *GetAttr(int, int, wxGridCellAttr::wxAttrKind) override;
39 39
 	void UpdateCachedRegs();
40 40
 };
41 41
 
@@ -43,5 +43,5 @@ class DSPRegisterView : public wxGrid
43 43
 {
44 44
 public:
45 45
 	DSPRegisterView(wxWindow* parent, wxWindowID id);
46  
-	void Update();
  46
+	void Update() override;
47 47
 };
6  Source/Core/DolphinWX/Debugger/DebuggerPanel.cpp
@@ -62,7 +62,7 @@
62 62
 
63 63
 GFXDebuggerPanel::~GFXDebuggerPanel()
64 64
 {
65  
-	g_pdebugger = NULL;
  65
+	g_pdebugger = nullptr;
66 66
 	GFXDebuggerPauseFlag = false;
67 67
 }
68 68
 
@@ -154,7 +154,7 @@ void GFXDebuggerPanel::CreateGUIControls()
154 154
 
155 155
 	m_pCount = new wxTextCtrl(this, ID_COUNT, wxT("1"), wxDefaultPosition, wxSize(50,25), wxTE_RIGHT, wxDefaultValidator, _("Count"));
156 156
 
157  
-	m_pPauseAtList = new wxChoice(this, ID_PAUSE_AT_LIST, wxDefaultPosition, wxSize(100,25), 0, NULL,0,wxDefaultValidator, _("PauseAtList"));
  157
+	m_pPauseAtList = new wxChoice(this, ID_PAUSE_AT_LIST, wxDefaultPosition, wxSize(100,25), 0, nullptr,0,wxDefaultValidator, _("PauseAtList"));
158 158
 	for (int i=0; i<numPauseEventMap; i++)
159 159
 	{
160 160
 		m_pPauseAtList->Append(pauseEventMap[i].ListStr);
@@ -168,7 +168,7 @@ void GFXDebuggerPanel::CreateGUIControls()
168 168
 	m_pButtonClearVertexShaderCache = new wxButton(this, ID_CLEAR_VERTEX_SHADER_CACHE, _("Clear V Shaders"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _("Clear V Shaders"));
169 169
 	m_pButtonClearPixelShaderCache = new wxButton(this, ID_CLEAR_PIXEL_SHADER_CACHE, _("Clear P Shaders"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _("Clear P Shaders"));
170 170
 
171  
-	m_pDumpList = new wxChoice(this, ID_DUMP_LIST, wxDefaultPosition, wxSize(120,25), 0, NULL, 0 ,wxDefaultValidator, _("DumpList"));
  171
+	m_pDumpList = new wxChoice(this, ID_DUMP_LIST, wxDefaultPosition, wxSize(120,25), 0, nullptr, 0 ,wxDefaultValidator, _("DumpList"));
172 172
 	m_pDumpList->Insert(_("Pixel Shader"),0);
173 173
 	m_pDumpList->Append(_("Vertex Shader"));
174 174
 	m_pDumpList->Append(_("Pixel Shader Constants"));
4  Source/Core/DolphinWX/Debugger/DebuggerPanel.h
@@ -40,10 +40,10 @@ class GFXDebuggerPanel : public wxPanel, public GFXDebuggerBase
40 40
 	bool bSaveTargets;
41 41
 	bool bSaveShaders;
42 42
 
43  
-	void OnPause();
  43
+	void OnPause() override;
44 44
 
45 45
 	// Called from GFX thread once the GFXDebuggerPauseFlag spin lock has finished
46  
-	void OnContinue();
  46
+	void OnContinue() override;
47 47
 
48 48
 private:
49 49
 	DECLARE_EVENT_TABLE();
4  Source/Core/DolphinWX/Debugger/JitWindow.h
@@ -27,7 +27,7 @@ class JitBlockList : public wxListCtrl
27 27
 public:
28 28
 	JitBlockList(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style);
29 29
 	void Init();
30  
-	void Update();
  30
+	void Update() override;
31 31
 };
32 32
 
33 33
 class CJitWindow : public wxPanel
@@ -41,7 +41,7 @@ class CJitWindow : public wxPanel
41 41
 		const wxString& name = _("JIT block viewer"));
42 42
 
43 43
 	void ViewAddr(u32 em_address);
44  
-	void Update();
  44
+	void Update() override;
45 45
 
46 46
 private:
47 47
 	void OnRefresh(wxCommandEvent& /*event*/);
4  Source/Core/DolphinWX/Debugger/MemoryView.cpp
@@ -213,10 +213,10 @@ void CMemoryView::OnPaint(wxPaintEvent& event)
213 213
 	hFont.SetFamily(wxFONTFAMILY_TELETYPE);
214 214
 
215 215
 	wxCoord w,h;
216  
-	dc.GetTextExtent(_T("0WJyq"),&w,&h,NULL,NULL,&hFont);
  216
+	dc.GetTextExtent(_T("0WJyq"),&w,&h,nullptr,nullptr,&hFont);
217 217
 	if (h > rowHeight)
218 218
 		rowHeight = h;
219  
-	dc.GetTextExtent(_T("0WJyq"),&w,&h,NULL,NULL,&DebuggerFont);
  219
+	dc.GetTextExtent(_T("0WJyq"),&w,&h,nullptr,nullptr,&DebuggerFont);
220 220
 	if (h > rowHeight)
221 221
 		rowHeight = h;
222 222
 
10  Source/Core/DolphinWX/Debugger/MemoryWindow.cpp
@@ -87,7 +87,7 @@ enum
87 87
 	DebugInterface* di = &PowerPC::debug_interface;
88 88
 
89 89
 	//symbols = new wxListBox(this, IDM_SYMBOLLIST, wxDefaultPosition,
90  
-	//      wxSize(20, 100), 0, NULL, wxLB_SORT);
  90
+	//      wxSize(20, 100), 0, nullptr, wxLB_SORT);
91 91
 	//sizerLeft->Add(symbols, 1, wxEXPAND);
92 92
 	memview = new CMemoryView(di, this);
93 93
 	memview->dataType = 0;
@@ -220,7 +220,7 @@ void CMemoryWindow::OnSymbolListChange(wxCommandEvent& event)
220 220
 	if (index >= 0)
221 221
 	{
222 222
 		Symbol* pSymbol = static_cast<Symbol *>(symbols->GetClientData(index));
223  
-		if (pSymbol != NULL)
  223
+		if (pSymbol != nullptr)
224 224
 		{
225 225
 			memview->Center(pSymbol->address);
226 226
 		}
@@ -297,7 +297,7 @@ void CMemoryWindow::U32(wxCommandEvent& event)
297 297
 
298 298
 void CMemoryWindow::onSearch(wxCommandEvent& event)
299 299
 {
300  
-	u8* TheRAM = 0;
  300
+	u8* TheRAM = nullptr;
301 301
 	u32 szRAM = 0;
302 302
 	switch (memview->GetMemoryType())
303 303
 	{
@@ -331,8 +331,8 @@ void CMemoryWindow::onSearch(wxCommandEvent& event)
331 331
 	long count = 0;
332 332
 	char copy[3] = {0};
333 333
 	long newsize = 0;
334  
-	unsigned char *tmp2 = 0;
335  
-	char* tmpstr = 0;
  334
+	unsigned char *tmp2 = nullptr;
  335
+	char* tmpstr = nullptr;
336 336
 
337 337
 	if (chkHex->GetValue())
338 338
 	{
2  Source/Core/DolphinWX/Debugger/MemoryWindow.h
@@ -43,7 +43,7 @@ class CMemoryWindow
43 43
 		void Save(IniFile& _IniFile) const;
44 44
 		void Load(IniFile& _IniFile);
45 45
 
46  
-		void Update();
  46
+		void Update() override;
47 47
 		void NotifyMapLoaded();
48 48
 
49 49
 		void JumpToAddress(u32 _Address);
14  Source/Core/DolphinWX/Debugger/RegisterView.h
@@ -45,12 +45,12 @@ class CRegTable : public wxGridTableBase
45 45
 		memset(m_CachedSpecialRegHasChanged, 0, sizeof(m_CachedSpecialRegHasChanged));
46 46
 		memset(m_CachedFRegHasChanged, 0, sizeof(m_CachedFRegHasChanged));
47 47
 	}
48  
-    int GetNumberCols(void) {return 5;}
49  
-    int GetNumberRows(void) {return 32 + NUM_SPECIALS;}
50  
-	bool IsEmptyCell(int row, int col) {return row > 31 && col > 2;}
51  
-    wxString GetValue(int row, int col);
52  
-    void SetValue(int row, int col, const wxString &);
53  
-	wxGridCellAttr *GetAttr(int, int, wxGridCellAttr::wxAttrKind);
  48
+    int GetNumberCols(void) override {return 5;}
  49
+    int GetNumberRows(void) override {return 32 + NUM_SPECIALS;}
  50
+	bool IsEmptyCell(int row, int col) override {return row > 31 && col > 2;}
  51
+    wxString GetValue(int row, int col) override;
  52
+    void SetValue(int row, int col, const wxString &) override;
  53
+	wxGridCellAttr *GetAttr(int, int, wxGridCellAttr::wxAttrKind) override;
54 54
 	void UpdateCachedRegs();
55 55
 
56 56
 private:
@@ -68,5 +68,5 @@ class CRegisterView : public wxGrid
68 68
 {
69 69
 public:
70 70
 	CRegisterView(wxWindow* parent, wxWindowID id);
71  
-	void Update();
  71
+	void Update() override;
72 72
 };
4  Source/Core/DolphinWX/Debugger/RegisterWindow.cpp
@@ -26,7 +26,7 @@
26 26
 		const wxPoint& position, const wxSize& size,
27 27
 		long style, const wxString& name)
28 28
 	: wxPanel(parent, id, position, size, style, name)
29  
-	, m_GPRGridView(NULL)
  29
+	, m_GPRGridView(nullptr)
30 30
 {
31 31
 	CreateGUIControls();
32 32
 }
@@ -43,6 +43,6 @@ void CRegisterWindow::CreateGUIControls()
43 43
 
44 44
 void CRegisterWindow::NotifyUpdate()
45 45
 {
46  
-	if (m_GPRGridView != NULL)
  46
+	if (m_GPRGridView != nullptr)
47 47
 		m_GPRGridView->Update();
48 48
 }
8  Source/Core/DolphinWX/FifoPlayerDlg.cpp
@@ -53,7 +53,7 @@
53 53
 using namespace std;
54 54
 
55 55
 std::recursive_mutex sMutex;
56  
-wxEvtHandler *volatile FifoPlayerDlg::m_EvtHandler = NULL;
  56
+wxEvtHandler *volatile FifoPlayerDlg::m_EvtHandler = nullptr;
57 57
 
58 58
 FifoPlayerDlg::FifoPlayerDlg(wxWindow * const parent) :
59 59
 	wxDialog(parent, wxID_ANY, _("FIFO Player")),
@@ -90,10 +90,10 @@
90 90
 	m_objectsList->Unbind(wxEVT_COMMAND_LISTBOX_SELECTED, &FifoPlayerDlg::OnObjectListSelectionChanged, this);
91 91
 	m_objectCmdList->Unbind(wxEVT_COMMAND_LISTBOX_SELECTED, &FifoPlayerDlg::OnObjectCmdListSelectionChanged, this);
92 92
 
93  
-	FifoPlayer::GetInstance().SetFrameWrittenCallback(NULL);
  93
+	FifoPlayer::GetInstance().SetFrameWrittenCallback(nullptr);
94 94
 
95 95
 	sMutex.lock();
96  
-	m_EvtHandler = NULL;
  96
+	m_EvtHandler = nullptr;
97 97
 	sMutex.unlock();
98 98
 }
99 99
 
@@ -978,7 +978,7 @@ wxString FifoPlayerDlg::CreateIntegerLabel(size_t size, const wxString& label) c
978 978
 
979 979
 bool FifoPlayerDlg::GetSaveButtonEnabled() const
980 980
 {
981  
-	return (FifoRecorder::GetInstance().GetRecordedFile() != NULL);
  981
+	return (FifoRecorder::GetInstance().GetRecordedFile() != nullptr);
982 982
 }
983 983
 
984 984
 void FifoPlayerDlg::RecordingFinished()
26  Source/Core/DolphinWX/Frame.cpp
@@ -139,7 +139,7 @@ HWND MSWGetParent_(HWND Parent)
139 139
 	SetIcon(IconTemp);
140 140
 
141 141
 	DragAcceptFiles(true);
142  
-	Connect(wxEVT_DROP_FILES, wxDropFilesEventHandler(CRenderFrame::OnDropFiles), NULL, this);
  142
+	Connect(wxEVT_DROP_FILES, wxDropFilesEventHandler(CRenderFrame::OnDropFiles), nullptr, this);
143 143
 }
144 144
 
145 145
 void CRenderFrame::OnDropFiles(wxDropFilesEvent& event)
@@ -298,12 +298,12 @@ WXLRESULT CRenderFrame::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lPa
298 298
 		bool ShowLogWindow,
299 299
 		long style)
300 300
 	: CRenderFrame(parent, id, title, pos, size, style)
301  
-	, g_pCodeWindow(NULL), g_NetPlaySetupDiag(NULL), g_CheatsWindow(NULL)
302  
-	, m_ToolBar(NULL), m_ToolBarDebug(NULL), m_ToolBarAui(NULL)
303  
-	, m_GameListCtrl(NULL), m_Panel(NULL)
304  
-	, m_RenderFrame(NULL), m_RenderParent(NULL)
305  
-	, m_LogWindow(NULL), m_LogConfigWindow(NULL)
306  
-	, m_FifoPlayerDlg(NULL), UseDebugger(_UseDebugger)
  301
+	, g_pCodeWindow(nullptr), g_NetPlaySetupDiag(nullptr), g_CheatsWindow(nullptr)
  302
+	, m_ToolBar(nullptr), m_ToolBarDebug(nullptr), m_ToolBarAui(nullptr)
  303
+	, m_GameListCtrl(nullptr), m_Panel(nullptr)
  304
+	, m_RenderFrame(nullptr), m_RenderParent(nullptr)
  305
+	, m_LogWindow(nullptr), m_LogConfigWindow(nullptr)
  306
+	, m_FifoPlayerDlg(nullptr), UseDebugger(_UseDebugger)
307 307
 	, m_bBatchMode(_BatchMode), m_bEdit(false), m_bTabSplit(false), m_bNoDocking(false)
308 308
 	, m_bGameLoading(false)
309 309
 {
@@ -442,7 +442,7 @@ bool CFrame::RendererIsFullscreen()
442 442
 	}
443 443
 
444 444
 #if defined(__APPLE__)
445  
-	if (m_RenderFrame != NULL)
  445
+	if (m_RenderFrame != nullptr)
446 446
 	{
447 447
 		NSView *view = (NSView *) m_RenderFrame->GetHandle();
448 448
 		NSWindow *window = [view window];
@@ -512,7 +512,7 @@ void CFrame::OnClose(wxCloseEvent& event)
512 512
 	{
513 513
 		// Close the log window now so that its settings are saved
514 514
 		m_LogWindow->Close();
515  
-		m_LogWindow = NULL;
  515
+		m_LogWindow = nullptr;
516 516
 	}
517 517
 
518 518
 
@@ -608,12 +608,12 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
608 608
 		break;
609 609
 
610 610
 	case IDM_UPDATESTATUSBAR:
611  
-		if (GetStatusBar() != NULL)
  611
+		if (GetStatusBar() != nullptr)
612 612
 			GetStatusBar()->SetStatusText(event.GetString(), event.GetInt());
613 613
 		break;
614 614
 
615 615
 	case IDM_UPDATETITLE:
616  
-		if (m_RenderFrame != NULL)
  616
+		if (m_RenderFrame != nullptr)
617 617
 			m_RenderFrame->SetTitle(event.GetString());
618 618
 		break;
619 619
 
@@ -700,13 +700,13 @@ void CFrame::OnRenderWindowSizeRequest(int width, int height)
700 700
 
701 701
 bool CFrame::RendererHasFocus()
702 702
 {
703  
-	if (m_RenderParent == NULL)
  703
+	if (m_RenderParent == nullptr)
704 704
 		return false;
705 705
 #ifdef _WIN32
706 706
 	if (m_RenderParent->GetParent()->GetHWND() == GetForegroundWindow())
707 707
 		return true;
708 708
 #else
709  
-	if (wxWindow::FindFocus() == NULL)
  709
+	if (wxWindow::FindFocus() == nullptr)
710 710
 		return false;
711 711
 	// Why these different cases?
712 712
 	if (m_RenderParent == wxWindow::FindFocus() ||
4  Source/Core/DolphinWX/Frame.h
@@ -138,7 +138,7 @@ class CFrame : public CRenderFrame
138 138
 	bool RendererHasFocus();
139 139
 	void DoFullscreen(bool bF);
140 140
 	void ToggleDisplayMode (bool bFullscreen);
141  
-	void UpdateWiiMenuChoice(wxMenuItem *WiiMenuItem=NULL);
  141
+	void UpdateWiiMenuChoice(wxMenuItem *WiiMenuItem=nullptr);
142 142
 	static void ConnectWiimote(int wm_idx, bool connect);
143 143
 
144 144
 	const CGameListCtrl *GetGameListCtrl() const;
@@ -244,7 +244,7 @@ class CFrame : public CRenderFrame
244 244
 	void DoFloatNotebookPage(wxWindowID Id);
245 245
 	wxFrame * CreateParentFrame(wxWindowID Id = wxID_ANY,
246 246
 			const wxString& title = wxT(""),
247  
-			wxWindow * = NULL);
  247
+			wxWindow * = nullptr);
248 248
 	wxString AuiFullscreen, AuiCurrent;
249 249
 	void AddPane();
250 250
 	void UpdateCurrentPerspective();
8  Source/Core/DolphinWX/FrameAui.cpp
@@ -151,7 +151,7 @@ void CFrame::ToggleLogConfigWindow(bool bShow)
151 151
 	else
152 152
 	{
153 153
 		DoRemovePage(m_LogConfigWindow, false);
154  
-		m_LogConfigWindow = NULL;
  154
+		m_LogConfigWindow = nullptr;
155 155
 	}
156 156
 
157 157
 	// Hide or Show the pane
@@ -388,7 +388,7 @@ void CFrame::ShowResizePane()
388 388
 void CFrame::TogglePane()
389 389
 {
390 390
 	// Get the first notebook
391  
-	wxAuiNotebook * NB = NULL;
  391
+	wxAuiNotebook * NB = nullptr;
392 392
 	for (u32 i = 0; i < m_Mgr->GetAllPanes().GetCount(); i++)
393 393
 	{
394 394
 		if (m_Mgr->GetAllPanes()[i].window->IsKindOf(CLASSINFO(wxAuiNotebook)))
@@ -983,7 +983,7 @@ wxWindow * CFrame::GetNotebookPageFromId(wxWindowID Id)
983 983
 				return NB->GetPage(j);
984 984
 		}
985 985
 	}
986  
-	return NULL;
  986
+	return nullptr;
987 987
 }
988 988
 
989 989
 wxFrame* CFrame::CreateParentFrame(wxWindowID Id, const wxString& Title, wxWindow* Child)
@@ -1088,5 +1088,5 @@ wxAuiNotebook * CFrame::GetNotebookFromId(u32 NBId)
1088 1088
 			return (wxAuiNotebook*)m_Mgr->GetAllPanes()[i].window;
1089 1089
 		j++;
1090 1090
 	}
1091  
-	return NULL;
  1091
+	return nullptr;
1092 1092
 }
16  Source/Core/DolphinWX/FrameTools.cpp
@@ -584,7 +584,7 @@ void CFrame::InitBitmaps()
584 584
 	m_Bitmaps[Toolbar_FullScreen].LoadFile(dir + "fullscreen.png", wxBITMAP_TYPE_PNG);
585 585
 
586 586
 	// Update in case the bitmap has been updated
587  
-	if (m_ToolBar != NULL)
  587
+	if (m_ToolBar != nullptr)
588 588
 		RecreateToolbar();
589 589
 }
590 590
 
@@ -608,7 +608,7 @@ void CFrame::BootGame(const std::string& filename)
608 608
 	// If all that fails, ask to add a dir and don't boot
609 609
 	if (bootfile.empty())
610 610
 	{
611  
-		if (m_GameListCtrl->GetSelectedISO() != NULL)
  611
+		if (m_GameListCtrl->GetSelectedISO() != nullptr)
612 612
 		{
613 613
 			if (m_GameListCtrl->GetSelectedISO()->IsValid())
614 614
 				bootfile = m_GameListCtrl->GetSelectedISO()->GetFileName();
@@ -872,7 +872,7 @@ void CFrame::ToggleDisplayMode(bool bFullscreen)
872 872
 	else
873 873
 	{
874 874
 		// Change to default resolution
875  
-		ChangeDisplaySettings(NULL, CDS_FULLSCREEN);
  875
+		ChangeDisplaySettings(nullptr, CDS_FULLSCREEN);
876 876
 	}
877 877
 #elif defined(HAVE_XRANDR) && HAVE_XRANDR
878 878
 	if (SConfig::GetInstance().m_LocalCoreStartupParameter.strFullscreenResolution != "Auto")
@@ -967,7 +967,7 @@ void CFrame::StartGame(const std::string& filename)
967 967
 		// Destroy the renderer frame when not rendering to main
968 968
 		if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
969 969
 			m_RenderFrame->Destroy();
970  
-		m_RenderParent = NULL;
  970
+		m_RenderParent = nullptr;
971 971
 		m_bGameLoading = false;
972 972
 		UpdateGUI();
973 973
 	}
@@ -1060,7 +1060,7 @@ void CFrame::DoStop()
1060 1060
 
1061 1061
 	m_bGameLoading = false;
1062 1062
 	if (Core::GetState() != Core::CORE_UNINITIALIZED ||
1063  
-			m_RenderParent != NULL)
  1063
+			m_RenderParent != nullptr)
1064 1064
 	{
1065 1065
 #if defined __WXGTK__
1066 1066
 		wxMutexGuiLeave();
@@ -1140,7 +1140,7 @@ void CFrame::DoStop()
1140 1140
 			// Make sure the window is not longer set to stay on top
1141 1141
 			m_RenderFrame->SetWindowStyle(m_RenderFrame->GetWindowStyle() & ~wxSTAY_ON_TOP);
1142 1142
 		}
1143  
-		m_RenderParent = NULL;
  1143
+		m_RenderParent = nullptr;
1144 1144
 
1145 1145
 		// Clean framerate indications from the status bar.
1146 1146
 		GetStatusBar()->SetStatusText(wxT(" "), 0);
@@ -1339,7 +1339,7 @@ void CFrame::OnNetPlay(wxCommandEvent& WXUNUSED (event))
1339 1339
 {
1340 1340
 	if (!g_NetPlaySetupDiag)
1341 1341
 	{
1342  
-		if (NetPlayDiag::GetInstance() != NULL)
  1342
+		if (NetPlayDiag::GetInstance() != nullptr)
1343 1343
 			NetPlayDiag::GetInstance()->Raise();
1344 1344
 		else
1345 1345
 			g_NetPlaySetupDiag = new NetPlaySetupDiag(this, m_GameListCtrl);
@@ -1736,7 +1736,7 @@ void CFrame::UpdateGUI()
1736 1736
 			m_GameListCtrl->Show();
1737 1737
 		}
1738 1738
 		// Game has been selected but not started, enable play button
1739  
-		if (m_GameListCtrl->GetSelectedISO() != NULL && m_GameListCtrl->IsEnabled())
  1739
+		if (m_GameListCtrl->GetSelectedISO() != nullptr && m_GameListCtrl->IsEnabled())
1740 1740
 		{
1741 1741
 			if (m_ToolBar)
1742 1742
 				m_ToolBar->EnableTool(IDM_PLAY, true);
8  Source/Core/DolphinWX/GLInterface/EGL.cpp
@@ -31,7 +31,7 @@ void cInterfaceEGL::DetectMode()
31 31
 		return;
32 32
 
33 33
 	EGLint num_configs;
34  
-	EGLConfig *config = NULL;
  34
+	EGLConfig *config = nullptr;
35 35
 	bool supportsGL = false, supportsGLES2 = false, supportsGLES3 = false;
36 36
 
37 37
 	// attributes for a visual in RGBA format with at least
@@ -43,7 +43,7 @@ void cInterfaceEGL::DetectMode()
43 43
 		EGL_NONE };
44 44
 
45 45
 	// Get how many configs there are
46  
-	if (!eglChooseConfig( GLWin.egl_dpy, attribs, NULL, 0, &num_configs))
  46
+	if (!eglChooseConfig( GLWin.egl_dpy, attribs, nullptr, 0, &num_configs))
47 47
 	{
48 48
 		INFO_LOG(VIDEO, "Error: couldn't get an EGL visual config\n");
49 49
 		goto err_exit;
@@ -186,7 +186,7 @@ bool cInterfaceEGL::Create(void *&window_handle)
186 186
 
187 187
 	GLWin.native_window = Platform.CreateWindow();
188 188
 
189  
-	GLWin.egl_surf = eglCreateWindowSurface(GLWin.egl_dpy, config, GLWin.native_window, NULL);
  189
+	GLWin.egl_surf = eglCreateWindowSurface(GLWin.egl_dpy, config, GLWin.native_window, nullptr);
190 190
 	if (!GLWin.egl_surf)
191 191
 	{
192 192
 		INFO_LOG(VIDEO, "Error: eglCreateWindowSurface failed\n");
@@ -218,6 +218,6 @@ void cInterfaceEGL::Shutdown()
218 218
 			NOTICE_LOG(VIDEO, "Could not destroy window surface.");
219 219
 		if(!eglTerminate(GLWin.egl_dpy))
220 220
 			NOTICE_LOG(VIDEO, "Could not destroy display connection.");
221  
-		GLWin.egl_ctx = NULL;
  221
+		GLWin.egl_ctx = nullptr;
222 222
 	}
223 223
 }
18  Source/Core/DolphinWX/GLInterface/GLX.cpp
@@ -10,7 +10,7 @@
10 10
 #include "VideoCommon/VideoConfig.h"
11 11
 
12 12
 typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
13  
-PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI = NULL;
  13
+PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI = nullptr;
14 14
 
15 15
 // Show the current FPS
16 16
 void cInterfaceGLX::UpdateFPSDisplay(const char *text)
@@ -71,8 +71,8 @@ bool cInterfaceGLX::Create(void *&window_handle)
71 71
 		GLX_DOUBLEBUFFER,
72 72
 		None };
73 73
 
74  
-	GLWin.dpy = XOpenDisplay(0);
75  
-	GLWin.evdpy = XOpenDisplay(0);
  74
+	GLWin.dpy = XOpenDisplay(nullptr);
  75
+	GLWin.evdpy = XOpenDisplay(nullptr);
76 76
 	GLWin.parent = (Window)window_handle;
77 77
 	GLWin.screen = DefaultScreen(GLWin.dpy);
78 78
 	if (GLWin.parent == 0)
@@ -83,17 +83,17 @@ bool cInterfaceGLX::Create(void *&window_handle)
83 83
 
84 84
 	// Get an appropriate visual
85 85
 	GLWin.vi = glXChooseVisual(GLWin.dpy, GLWin.screen, attrListDbl);
86  
-	if (GLWin.vi == NULL)
  86
+	if (GLWin.vi == nullptr)
87 87
 	{
88 88
 		GLWin.vi = glXChooseVisual(GLWin.dpy, GLWin.screen, attrListSgl);
89  
-		if (GLWin.vi != NULL)
  89
+		if (GLWin.vi != nullptr)
90 90
 		{
91 91
 			ERROR_LOG(VIDEO, "Only single buffered visual!");
92 92
 		}
93 93
 		else
94 94
 		{
95 95
 			GLWin.vi = glXChooseVisual(GLWin.dpy, GLWin.screen, attrListDefault);
96  
-			if (GLWin.vi == NULL)
  96
+			if (GLWin.vi == nullptr)
97 97
 			{
98 98
 				ERROR_LOG(VIDEO, "Could not choose visual (glXChooseVisual)");
99 99
 				return false;
@@ -104,7 +104,7 @@ bool cInterfaceGLX::Create(void *&window_handle)
104 104
 		NOTICE_LOG(VIDEO, "Got double buffered visual!");
105 105
 
106 106
 	// Create a GLX context.
107  
-	GLWin.ctx = glXCreateContext(GLWin.dpy, GLWin.vi, 0, GL_TRUE);
  107
+	GLWin.ctx = glXCreateContext(GLWin.dpy, GLWin.vi, nullptr, GL_TRUE);
108 108
 	if (!GLWin.ctx)
109 109
 	{
110 110
 		PanicAlert("Unable to create GLX context.");
@@ -142,7 +142,7 @@ bool cInterfaceGLX::MakeCurrent()
142 142
 
143 143
 bool cInterfaceGLX::ClearCurrent()
144 144
 {
145  
-	return glXMakeCurrent(GLWin.dpy, None, NULL);
  145
+	return glXMakeCurrent(GLWin.dpy, None, nullptr);
146 146
 }
147 147
 
148 148
 
@@ -155,7 +155,7 @@ void cInterfaceGLX::Shutdown()
155 155
 		glXDestroyContext(GLWin.dpy, GLWin.ctx);
156 156
 		XCloseDisplay(GLWin.dpy);
157 157
 		XCloseDisplay(GLWin.evdpy);
158  
-		GLWin.ctx = NULL;
  158
+		GLWin.ctx = nullptr;
159 159
 	}
160 160
 }
161 161
 
16  Source/Core/DolphinWX/GLInterface/GLX.h
@@ -13,12 +13,12 @@ class cInterfaceGLX : public cInterfaceBase
13 13
 	cX11Window XWindow;
14 14
 public:
15 15
 	friend class cX11Window;
16  
-	void SwapInterval(int Interval);
17  
-	void Swap();
18  
-	void UpdateFPSDisplay(const char *Text);
19  
-	void* GetFuncAddress(std::string name);
20  
-	bool Create(void *&window_handle);
21  
-	bool MakeCurrent();
22  
-	bool ClearCurrent();
23  
-	void Shutdown();
  16
+	void SwapInterval(int Interval) override;
  17
+	void Swap() override;
  18
+	void UpdateFPSDisplay(const char *Text) override;
  19
+	void* GetFuncAddress(std::string name) override;
  20
+	bool Create(void *&window_handle) override;
  21
+	bool MakeCurrent() override;
  22
+	bool ClearCurrent() override;
  23
+	void Shutdown() override;
24 24
 };
2  Source/Core/DolphinWX/GLInterface/InterfaceBase.h
@@ -26,7 +26,7 @@ class cInterfaceBase
26 26
 	virtual void UpdateFPSDisplay(const char *Text) {}
27 27
 	virtual void SetMode(u32 mode) { s_opengl_mode = GLInterfaceMode::MODE_OPENGL; }
28 28
 	virtual u32 GetMode() { return s_opengl_mode; }
29  
-	virtual void* GetFuncAddress(std::string name) { return NULL; }
  29
+	virtual void* GetFuncAddress(std::string name) { return nullptr; }
30 30
 	virtual bool Create(void *&window_handle) { return true; }
31 31
 	virtual bool MakeCurrent() { return true; }
32 32
 	virtual bool ClearCurrent() { return true; }
4  Source/Core/DolphinWX/GLInterface/Platform.cpp
@@ -62,7 +62,7 @@ bool cPlatform::SelectDisplay(void)
62 62
 #endif
63 63
 			platform_env);
64 64
 			free(platform_env);
65  
-			platform_env = NULL;
  65
+			platform_env = nullptr;
66 66
 		}
67 67
 #if HAVE_WAYLAND
68 68
 		if (wayland_possible)
@@ -154,7 +154,7 @@ EGLDisplay cPlatform::EGLGetDisplay(void)
154 154
 #ifdef ANDROID
155 155
 	return eglGetDisplay(EGL_DEFAULT_DISPLAY);
156 156
 #endif
157  
-	return NULL;
  157
+	return nullptr;
158 158
 }
159 159
 
160 160
 EGLNativeWindowType cPlatform::CreateWindow(void)
22  Source/Core/DolphinWX/GLInterface/WGL.cpp
@@ -11,13 +11,13 @@
11 11
 #include "VideoCommon/VertexShaderManager.h"
12 12
 #include "VideoCommon/VideoConfig.h"
13 13
 
14  
-static HDC hDC = NULL;       // Private GDI Device Context
15  
-static HGLRC hRC = NULL;     // Permanent Rendering Context
16  
-static HINSTANCE dllHandle = NULL; // Handle to OpenGL32.dll 
  14
+static HDC hDC = nullptr;       // Private GDI Device Context
  15
+static HGLRC hRC = nullptr;     // Permanent Rendering Context
  16
+static HINSTANCE dllHandle = nullptr; // Handle to OpenGL32.dll
17 17
 
18 18
 // typedef from wglext.h
19 19
 typedef BOOL(WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
20  
-static PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL;
  20
+static PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = nullptr;
21 21
 
22 22
 void cInterfaceWGL::SwapInterval(int Interval)
23 23
 {
@@ -34,9 +34,9 @@ void cInterfaceWGL::Swap()
34 34
 void* cInterfaceWGL::GetFuncAddress(std::string name)
35 35
 {
36 36
 	void* func = (void*)wglGetProcAddress((LPCSTR)name.c_str());
37  
-	if (func == NULL)
  37
+	if (func == nullptr)
38 38
 		func = (void*)GetProcAddress(dllHandle, (LPCSTR)name.c_str());
39  
-	return func; 
  39
+	return func;
40 40
 }
41 41
 
42 42
 // Draw messages on top of the screen
@@ -78,7 +78,7 @@ bool cInterfaceWGL::Create(void *&window_handle)
78 78
 #endif
79 79
 
80 80
 	window_handle = (void*)EmuWindow::Create((HWND)window_handle, GetModuleHandle(0), _T("Please wait..."));
81  
-	if (window_handle == NULL)
  81
+	if (window_handle == nullptr)
82 82
 	{
83 83
 		Host_SysMessage("failed to create window");
84 84
 		return false;
@@ -138,7 +138,7 @@ bool cInterfaceWGL::MakeCurrent()
138 138
 
139 139
 bool cInterfaceWGL::ClearCurrent()
140 140
 {
141  
-	bool success = wglMakeCurrent(hDC, NULL) ? true : false;
  141
+	bool success = wglMakeCurrent(hDC, nullptr) ? true : false;
142 142
 	if (success)
143 143
 	{
144 144
 		// Grab the swap interval function pointer
@@ -183,19 +183,19 @@ void cInterfaceWGL::Shutdown()
183 183
 {
184 184
 	if (hRC)
185 185
 	{
186  
-		if (!wglMakeCurrent(NULL, NULL))
  186
+		if (!wglMakeCurrent(nullptr, nullptr))
187 187
 			NOTICE_LOG(VIDEO, "Could not release drawing context.");
188 188
 
189 189
 		if (!wglDeleteContext(hRC))
190 190
 			ERROR_LOG(VIDEO, "Attempt to release rendering context failed.");
191 191
 
192  
-		hRC = NULL;
  192
+		hRC = nullptr;
193 193
 	}
194 194
 
195 195
 	if (hDC && !ReleaseDC(EmuWindow::GetWnd(), hDC))
196 196
 	{
197 197
 		ERROR_LOG(VIDEO, "Attempt to release device context failed.");
198  
-		hDC = NULL;
  198
+		hDC = nullptr;
199 199
 	}
200 200
 }
201 201
 
32  Source/Core/DolphinWX/GLInterface/Wayland_Util.cpp
@@ -16,7 +16,7 @@
16 16
 		return;
17 17
 
18 18
 	wl_pointer_set_cursor(GLWin.pointer.wl_pointer,
19  
-			      GLWin.pointer.serial, NULL, 0, 0);
  19
+			      GLWin.pointer.serial, nullptr, 0, 0);
20 20
 }
21 21
 
22 22
 static void
@@ -104,10 +104,10 @@
104 104
 	if (fullscreen) {
105 105
 		wl_shell_surface_set_fullscreen(GLWin.wl_shell_surface,
106 106
 						WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT,
107  
-						0, NULL);
  107
+						0, nullptr);
108 108
 	} else {
109 109
 		wl_shell_surface_set_toplevel(GLWin.wl_shell_surface);
110  
-		handle_configure(NULL, GLWin.wl_shell_surface, 0,
  110
+		handle_configure(nullptr, GLWin.wl_shell_surface, 0,
111 111
 				 GLWin.window_size.width,
112 112
 				 GLWin.window_size.height);
113 113
 	}
@@ -124,7 +124,7 @@
124 124
 		return;
125 125
 	}
126 126
 
127  
-	map_str = (char *) mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);
  127
+	map_str = (char *) mmap(nullptr, size, PROT_READ, MAP_SHARED, fd, 0);
128 128
 	if (map_str == MAP_FAILED) {
129 129
 		close(fd);
130 130
 		return;
@@ -146,7 +146,7 @@
146 146
 	if (!GLWin.keyboard.xkb.state) {
147 147
 		fprintf(stderr, "failed to create XKB state\n");
148 148
 		xkb_map_unref(GLWin.keyboard.xkb.keymap);
149  
-		GLWin.keyboard.xkb.keymap = NULL;
  149
+		GLWin.keyboard.xkb.keymap = nullptr;
150 150
 		return;
151 151
 	}
152 152
 
@@ -244,15 +244,15 @@
244 244
 seat_handle_capabilities(void *data, struct wl_seat *seat,
245 245
 			 uint32_t caps)
246 246
 {
247  
-	struct wl_pointer *wl_pointer = NULL;
248  
-	struct wl_keyboard *wl_keyboard = NULL;
  247
+	struct wl_pointer *wl_pointer = nullptr;
  248
+	struct wl_keyboard *wl_keyboard = nullptr;
249 249
 
250 250
 	if ((caps & WL_SEAT_CAPABILITY_POINTER) && !wl_pointer) {
251 251
 		wl_pointer = wl_seat_get_pointer(seat);
252 252
 		wl_pointer_add_listener(wl_pointer, &pointer_listener, 0);
253 253
 	} else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && wl_pointer) {
254 254
 		wl_pointer_destroy(wl_pointer);
255  
-		wl_pointer = NULL;
  255
+		wl_pointer = nullptr;
256 256
 	}
257 257
 
258 258
 	GLWin.pointer.wl_pointer = wl_pointer;
@@ -262,7 +262,7 @@
262 262
 		wl_keyboard_add_listener(wl_keyboard, &keyboard_listener, 0);
263 263
 	} else if (!(caps & WL_SEAT_CAPABILITY_KEYBOARD) && wl_keyboard) {
264 264
 		wl_keyboard_destroy(wl_keyboard);
265  
-		wl_keyboard = NULL;
  265
+		wl_keyboard = nullptr;
266 266
 	}
267 267
 
268 268
 	GLWin.keyboard.wl_keyboard = wl_keyboard;
@@ -290,7 +290,7 @@
290 290
 	} else if (strcmp(interface, "wl_shm") == 0) {
291 291
 		GLWin.wl_shm = (wl_shm *) wl_registry_bind(registry, name,
292 292
 					  &wl_shm_interface, 1);
293  
-		GLWin.wl_cursor_theme = (wl_cursor_theme *) wl_cursor_theme_load(NULL, 32, GLWin.wl_shm);
  293
+		GLWin.wl_cursor_theme = (wl_cursor_theme *) wl_cursor_theme_load(nullptr, 32, GLWin.wl_shm);
294 294
 		GLWin.wl_cursor = (wl_cursor *)
295 295
 			wl_cursor_theme_get_cursor(GLWin.wl_cursor_theme, "left_ptr");
296 296
 	}
@@ -309,7 +309,7 @@
309 309
 
310 310
 bool cWaylandInterface::ServerConnect(void)
311 311
 {
312  
-	GLWin.wl_display = wl_display_connect(NULL);
  312
+	GLWin.wl_display = wl_display_connect(nullptr);
313 313
 
314 314
 	if (!GLWin.wl_display)
315 315
 		return false;
@@ -324,18 +324,18 @@ bool cWaylandInterface::Initialize(void *config)
324 324
 		return false;
325 325
 	}
326 326
 
327  
-	GLWin.pointer.wl_pointer = NULL;
328  
-	GLWin.keyboard.wl_keyboard = NULL;
  327
+	GLWin.pointer.wl_pointer = nullptr;
  328
+	GLWin.keyboard.wl_keyboard = nullptr;
329 329
 
330 330
 	GLWin.keyboard.xkb.context = xkb_context_new((xkb_context_flags) 0);
331  
-	if (GLWin.keyboard.xkb.context == NULL) {
  331
+	if (GLWin.keyboard.xkb.context == nullptr) {
332 332
 		fprintf(stderr, "Failed to create XKB context\n");
333  
-		return NULL;
  333
+		return nullptr;
334 334
 	}
335 335
 
336 336
 	GLWin.wl_registry = wl_display_get_registry(GLWin.wl_display);
337 337
 	wl_registry_add_listener(GLWin.wl_registry,
338  
-				 &registry_listener, NULL);
  338
+				 &registry_listener, nullptr);
339 339
 
340 340
 	while (!GLWin.wl_compositor)
341 341
 		wl_display_dispatch(GLWin.wl_display);
8  Source/Core/DolphinWX/GLInterface/X11_Util.cpp
@@ -9,7 +9,7 @@
9 9
 #if USE_EGL
10 10
 bool cXInterface::ServerConnect(void)
11 11
 {
12  
-	GLWin.dpy = XOpenDisplay(NULL);
  12
+	GLWin.dpy = XOpenDisplay(nullptr);
13 13
 
14 14
 	if (!GLWin.dpy)
15 15
 		return false;
@@ -49,7 +49,7 @@ bool cXInterface::Initialize(void *config, void *window_handle)
49 49
 	GLWin.width = _twidth;
50 50
 	GLWin.height = _theight;
51 51
 
52  
-	GLWin.evdpy = XOpenDisplay(NULL);
  52
+	GLWin.evdpy = XOpenDisplay(nullptr);
53 53
 	GLWin.parent = (Window) window_handle;
54 54
 	GLWin.screen = DefaultScreen(GLWin.dpy);
55 55
 
@@ -86,7 +86,7 @@ void *cXInterface::CreateWindow(void)
86 86
 			CWBorderPixel | CWBackPixel | CWColormap | CWEventMask, &GLWin.attr);
87 87
 	wmProtocols[0] = XInternAtom(GLWin.evdpy, "WM_DELETE_WINDOW", True);
88 88
 	XSetWMProtocols(GLWin.evdpy, GLWin.win, wmProtocols, 1);
89  
-	XSetStandardProperties(GLWin.evdpy, GLWin.win, "GPU", "GPU", None, NULL, 0, NULL);
  89
+	XSetStandardProperties(GLWin.evdpy, GLWin.win, "GPU", "GPU", None, nullptr, 0, nullptr);
90 90
 	XMapRaised(GLWin.evdpy, GLWin.win);
91 91
 	XSync(GLWin.evdpy, True);
92 92
 
@@ -136,7 +136,7 @@ void cX11Window::CreateXWindow(void)
136 136
 			CWBorderPixel | CWBackPixel | CWColormap | CWEventMask, &GLWin.attr);
137 137
 	wmProtocols[0] = XInternAtom(GLWin.evdpy, "WM_DELETE_WINDOW", True);
138 138
 	XSetWMProtocols(GLWin.evdpy, GLWin.win, wmProtocols, 1);
139  
-	XSetStandardProperties(GLWin.evdpy, GLWin.win, "GPU", "GPU", None, NULL, 0, NULL);
  139
+	XSetStandardProperties(GLWin.evdpy, GLWin.win, "GPU", "GPU", None, nullptr, 0, nullptr);
140 140
 	XMapRaised(GLWin.evdpy, GLWin.win);
141 141
 	XSync(GLWin.evdpy, True);
142 142
 
22  Source/Core/DolphinWX/GameListCtrl.cpp
@@ -211,10 +211,10 @@ static int CompareGameListItems(const GameListItem* iso1, const GameListItem* is
211 211
 
212 212
 CGameListCtrl::CGameListCtrl(wxWindow* parent, const wxWindowID id, const
213 213
 		wxPoint& pos, const wxSize& size, long style)
214  
-	: wxListCtrl(parent, id, pos, size, style), toolTip(0)
  214
+	: wxListCtrl(parent, id, pos, size, style), toolTip(nullptr)
215 215
 {
216 216
 	DragAcceptFiles(true);
217  
-	Connect(wxEVT_DROP_FILES, wxDropFilesEventHandler(CGameListCtrl::OnDropFiles), NULL, this);
  217
+	Connect(wxEVT_DROP_FILES, wxDropFilesEventHandler(CGameListCtrl::OnDropFiles), nullptr, this);
218 218
 }
219 219
 
220 220
 CGameListCtrl::~CGameListCtrl()
@@ -292,7 +292,7 @@ void CGameListCtrl::Update()
292 292
 	if (m_imageListSmall)
293 293
 	{
294 294
 		delete m_imageListSmall;
295  
-		m_imageListSmall = NULL;
  295
+		m_imageListSmall = nullptr;
296 296
 	}
297 297
 
298 298
 	Hide();
@@ -381,7 +381,7 @@ void CGameListCtrl::Update()
381 381
 		SetItemFont(index, *wxITALIC_FONT);
382 382
 		SetColumnWidth(0, wxLIST_AUTOSIZE);
383 383
 	}
384  
-	if (GetSelectedISO() == NULL)
  384
+	if (GetSelectedISO() == nullptr)
385 385
 		main_frame->UpdateGUI();
386 386
 	Show();
387 387
 
@@ -549,7 +549,7 @@ void CGameListCtrl::ScanForISOs()
549 549
 		for (u32 i = 0; i < rFilenames.size(); i++)
550 550
 		{
551 551
 			std::string FileName;
552  
-			SplitPath(rFilenames[i], NULL, &FileName, NULL);
  552
+			SplitPath(rFilenames[i], nullptr, &FileName, nullptr);
553 553
 
554 554
 			// Update with the progress (i) and the message
555 555
 			dialog.Update(i, wxString::Format(_("Scanning %s"),
@@ -644,7 +644,7 @@ const GameListItem *CGameListCtrl::GetISO(size_t index) const
644 644
 	if (index < m_ISOFiles.size())
645 645
 		return m_ISOFiles[index];
646 646
 	else
647  
-		return NULL;
  647
+		return nullptr;
648 648
 }
649 649
 
650 650
 CGameListCtrl *caller;
@@ -914,18 +914,18 @@ const GameListItem * CGameListCtrl::GetSelectedISO()
914 914
 {
915 915
 	if (m_ISOFiles.size() == 0)
916 916
 	{
917  
-		return NULL;
  917
+		return nullptr;
918 918
 	}
919 919
 	else if (GetSelectedItemCount() == 0)
920 920
 	{
921  
-		return NULL;
  921
+		return nullptr;
922 922
 	}
923 923
 	else
924 924
 	{
925 925
 		long item = GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
926 926
 		if (item == wxNOT_FOUND)
927 927
 		{
928  
-			return NULL;
  928
+			return nullptr;
929 929
 		}
930 930
 		else
931 931
 		{
@@ -1111,7 +1111,7 @@ void CGameListCtrl::CompressSelection(bool _compress)
1111 1111
 			if (!iso->IsCompressed() && _compress)
1112 1112
 			{
1113 1113
 				std::string FileName, FileExt;
1114  
-				SplitPath(iso->GetFileName(), NULL, &FileName, &FileExt);
  1114
+				SplitPath(iso->GetFileName(), nullptr, &FileName, &FileExt);
1115 1115
 				m_currentFilename = FileName;
1116 1116
 				FileName.append(".gcz");
1117 1117
 
@@ -1136,7 +1136,7 @@ void CGameListCtrl::CompressSelection(bool _compress)
1136 1136
 			else if (iso->IsCompressed() && !_compress)
1137 1137
 			{
1138 1138
 				std::string FileName, FileExt;
1139  
-				SplitPath(iso->GetFileName(), NULL, &FileName, &FileExt);
  1139
+				SplitPath(iso->GetFileName(), nullptr, &FileName, &FileExt);
1140 1140
 				m_currentFilename = FileName;
1141 1141
 				if (iso->GetPlatform() == GameListItem::WII_DISC)
1142 1142
 					FileName.append(".iso");
2  Source/Core/DolphinWX/GameListCtrl.h
@@ -38,7 +38,7 @@ class CGameListCtrl : public wxListCtrl
38 38
 	CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style);
39 39
 	~CGameListCtrl();
40 40
 
41  
-	void Update();
  41
+	void Update() override;
42 42
 
43 43
 	void BrowseForDirectory();
44 44
 	const GameListItem *GetSelectedISO();
2  Source/Core/DolphinWX/Globals.h
@@ -256,7 +256,7 @@ enum
256 256
 	DECLARE_EVENT_TABLE_ENTRY(\
257 257
 			wxEVT_HOST_COMMAND, id, wxID_ANY, \
258 258
 			(wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent(wxCommandEventFunction, &fn), \
259  
-			(wxObject*) NULL \
  259
+			(wxObject*) nullptr \
260 260
 			),
261 261
 
262 262
 extern const wxEventType wxEVT_HOST_COMMAND;
6  Source/Core/DolphinWX/HotkeyDlg.cpp
@@ -45,7 +45,7 @@
45 45
 	m_ButtonMappingTimer = new wxTimer(this, wxID_ANY);
46 46
 	g_Pressed = 0;
47 47
 	g_Modkey = 0;
48  
-	ClickedButton = NULL;
  48
+	ClickedButton = nullptr;
49 49
 	GetButtonWaitingID = 0;
50 50
 	GetButtonWaitingTimer = 0;
51 51
 #endif
@@ -69,13 +69,13 @@ void HotkeyConfigDialog::EndGetButtons(void)
69 69
 	m_ButtonMappingTimer->Stop();
70 70
 	GetButtonWaitingTimer = 0;
71 71
 	GetButtonWaitingID = 0;
72  
-	ClickedButton = NULL;
  72
+	ClickedButton = nullptr;
73 73
 	SetEscapeId(wxID_ANY);
74 74
 }
75 75
 
76 76
 void HotkeyConfigDialog::OnKeyDown(wxKeyEvent& event)
77 77
 {
78  
-	if(ClickedButton != NULL)
  78
+	if(ClickedButton != nullptr)
79 79
 	{
80 80
 		// Save the key
81 81
 		g_Pressed = event.GetKeyCode();
10  Source/Core/DolphinWX/ISOFile.cpp
@@ -57,7 +57,7 @@
57 57
 	{
58 58
 		DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(_rFileName);
59 59
 
60  
-		if (pVolume != NULL)
  60
+		if (pVolume != nullptr)
61 61
 		{
62 62
 			if (!DiscIO::IsVolumeWadFile(pVolume))
63 63
 				m_Platform = DiscIO::IsVolumeWiiDisc(pVolume) ? WII_DISC : GAMECUBE_DISC;
@@ -80,11 +80,11 @@
80 80
 			// check if we can get some info from the banner file too
81 81
 			DiscIO::IFileSystem* pFileSystem = DiscIO::CreateFileSystem(pVolume);
82 82
 
83  
-			if (pFileSystem != NULL || m_Platform == WII_WAD)
  83
+			if (pFileSystem != nullptr || m_Platform == WII_WAD)
84 84
 			{
85 85
 				DiscIO::IBannerLoader* pBannerLoader = DiscIO::CreateBannerLoader(*pFileSystem, pVolume);
86 86
 
87  
-				if (pBannerLoader != NULL)
  87
+				if (pBannerLoader != nullptr)
88 88
 				{
89 89
 					if (pBannerLoader->IsValid())
90 90
 					{
@@ -270,7 +270,7 @@ void GameListItem::DoState(PointerWrap &p)
270 270
 	if (name.empty())
271 271
 	{
272 272
 		// No usable name, return filename (better than nothing)
273  
-		SplitPath(GetFileName(), NULL, &name, NULL);
  273
+		SplitPath(GetFileName(), nullptr, &name, nullptr);
274 274
 	}
275 275
 
276 276
 	return name;
@@ -281,7 +281,7 @@ const std::string GameListItem::GetWiiFSPath() const
281 281
 	DiscIO::IVolume *Iso = DiscIO::CreateVolumeFromFilename(m_FileName);
282 282
 	std::string ret;
283 283
 
284  
-	if (Iso == NULL)
  284
+	if (Iso == nullptr)
285 285
 		return ret;
286 286
 
287 287
 	if (DiscIO::IsVolumeWiiDisc(Iso) || DiscIO::IsVolumeWadFile(Iso))
24  Source/Core/DolphinWX/ISOProperties.cpp
@@ -88,8 +88,8 @@ struct WiiPartition
88 88
 };
89 89
 std::vector<WiiPartition> WiiDisc;
90 90
 
91  
-DiscIO::IVolume *OpenISO = NULL;
92  
-DiscIO::IFileSystem *pFileSystem = NULL;
  91
+DiscIO::IVolume *OpenISO = nullptr;
  92
+DiscIO::IFileSystem *pFileSystem = nullptr;
93 93
 
94 94
 std::vector<PatchEngine::Patch> onFrame;
95 95
 std::vector<ActionReplay::ARCode> arCodes;
@@ -135,9 +135,9 @@ struct WiiPartition
135 135
 		for (u32 i = 0; i < 0xFFFFFFFF; i++) // yes, technically there can be OVER NINE THOUSAND partitions...
136 136
 		{
137 137
 			WiiPartition temp;
138  
-			if ((temp.Partition = DiscIO::CreateVolumeFromFilename(fileName, 0, i)) != NULL)
  138
+			if ((temp.Partition = DiscIO::CreateVolumeFromFilename(fileName, 0, i)) != nullptr)
139 139
 			{
140  
-				if ((temp.FileSystem = DiscIO::CreateFileSystem(temp.Partition)) != NULL)
  140
+				if ((temp.FileSystem = DiscIO::CreateFileSystem(temp.Partition)) != nullptr)
141 141
 				{
142 142
 					temp.FileSystem->GetFileList(temp.Files);
143 143
 					WiiDisc.push_back(temp);
@@ -611,7 +611,7 @@ void CISOProperties::CreateGUIControls(bool IsWad)
611 611
 		// Filesystem tree
612 612
 		m_Treectrl = new wxTreeCtrl(m_Filesystem, ID_TREECTRL);
613 613
 		m_Treectrl->AssignImageList(m_iconList);
614  
-		RootId = m_Treectrl->AddRoot(_("Disc"), 0, 0, 0);
  614
+		RootId = m_Treectrl->AddRoot(_("Disc"), 0, 0, nullptr);
615 615
 
616 616
 		wxBoxSizer* sTreePage = new wxBoxSizer(wxVERTICAL);
617 617
 		sTreePage->Add(m_Treectrl, 1, wxEXPAND|wxALL, 5);
@@ -748,7 +748,7 @@ void CISOProperties::ExportDir(const char* _rFullPath, const char* _rExportFolde
748 748
 	char exportName[512];
749 749
 	u32 index[2] = {0, 0};
750 750
 	std::vector<const DiscIO::SFileInfo *> fst;
751  
-	DiscIO::IFileSystem *FS = 0;
  751
+	DiscIO::IFileSystem *FS = nullptr;
752 752
 
753 753
 	if (DiscIO::IsVolumeWiiDisc(OpenISO))
754 754
 	{
@@ -854,9 +854,9 @@ void CISOProperties::OnExtractDir(wxCommandEvent& event)
854 854
 	{
855 855
 		if (DiscIO::IsVolumeWiiDisc(OpenISO))
856 856
 			for (u32 i = 0; i < WiiDisc.size(); i++)
857  
-				ExportDir(NULL, WxStrToStr(Path).c_str(), i);
  857
+				ExportDir(nullptr, WxStrToStr(Path).c_str(), i);
858 858
 		else
859  
-			ExportDir(NULL, WxStrToStr(Path).c_str());
  859
+			ExportDir(nullptr, WxStrToStr(Path).c_str());
860 860
 
861 861
 		return;
862 862
 	}
@@ -884,7 +884,7 @@ void CISOProperties::OnExtractDir(wxCommandEvent& event)
884 884
 
885 885
 void CISOProperties::OnExtractDataFromHeader(wxCommandEvent& event)
886 886
 {
887  
-	DiscIO::IFileSystem *FS = NULL;
  887
+	DiscIO::IFileSystem *FS = nullptr;
888 888
 	wxString Path = wxDirSelector(_("Choose the folder to extract to"));
889 889
 
890 890
 	if (Path.empty())
@@ -1153,10 +1153,10 @@ void CISOProperties::LaunchExternalEditor(const std::string& filename)
1153 1153
 		withApplication: @"TextEdit"];
1154 1154
 #else
1155 1155
 	wxFileType* filetype = wxTheMimeTypesManager->GetFileTypeFromExtension(_T("ini"));
1156  
-	if(filetype == NULL) // From extension failed, trying with MIME type now
  1156
+	if(filetype == nullptr) // From extension failed, trying with MIME type now
1157 1157
 	{
1158 1158
 		filetype = wxTheMimeTypesManager->GetFileTypeFromMimeType(_T("text/plain"));
1159  
-		if(filetype == NULL) // MIME type failed, aborting mission
  1159
+		if(filetype == nullptr) // MIME type failed, aborting mission
1160 1160
 		{
1161 1161
 			PanicAlertT("Filetype 'ini' is unknown! Will not open!");
1162 1162
 			return;
@@ -1415,7 +1415,7 @@ void CISOProperties::ChangeBannerDetails(int lang)
1415 1415
 	m_Maker->SetValue(maker);//dev too
1416 1416
 
1417 1417
 	std::string filename, extension;
1418  
-	SplitPath(OpenGameListItem->GetFileName(), 0, &filename, &extension);
  1418
+	SplitPath(OpenGameListItem->GetFileName(), nullptr, &filename, &extension);
1419 1419
 	// Also sets the window's title
1420 1420
 	SetTitle(StrToWxStr(StringFromFormat("%s%s: %s - ", filename.c_str(),
1421 1421
 		extension.c_str(), OpenGameListItem->GetUniqueID().c_str())) + shortName);
10  Source/Core/DolphinWX/InputConfigDiag.cpp
@@ -381,8 +381,8 @@ inline bool IsAlphabetic(wxString &str)
381 381
 
382 382
 inline void GetExpressionForControl(wxString &expr,
383 383
 				    wxString &control_name,
384  
-				    DeviceQualifier *control_device = NULL,
385  
-				    DeviceQualifier *default_device = NULL)
  384
+				    DeviceQualifier *control_device = nullptr,
  385
+				    DeviceQualifier *default_device = nullptr)
386 386
 {
387 387
 	expr = "";
388 388
 
@@ -748,7 +748,7 @@ void GamepadPage::RefreshDevices(wxCommandEvent&)
748 748
 	: wxBoxSizer(wxVERTICAL)
749 749
 	, control_group(group)
750 750
 {
751  
-	static_bitmap = NULL;
  751
+	static_bitmap = nullptr;
752 752
 
753 753
 	wxFont m_SmallFont(7, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
754 754
 	for (auto& control : group->controls)
@@ -915,7 +915,7 @@ void GamepadPage::RefreshDevices(wxCommandEvent&)
915 915
 {
916 916
 	size_t col_size = 0;
917 917
 
918  
-	wxBoxSizer* stacked_groups = NULL;
  918
+	wxBoxSizer* stacked_groups = nullptr;
919 919
 	for (auto& group : controller->groups)
920 920
 	{
921 921
 		ControlGroupBox* control_group_box = new ControlGroupBox(group.get(), parent, eventsink);
@@ -925,7 +925,7 @@ void GamepadPage::RefreshDevices(wxCommandEvent&)
925 925
 
926 926
 		const size_t grp_size = group->controls.size() + group->settings.size();
927 927
 		col_size += grp_size;
928  
-		if (col_size > 8 || NULL == stacked_groups)
  928
+		if (col_size > 8 || nullptr == stacked_groups)
929 929
 		{
930 930
 			if (stacked_groups)
931 931
 				Add(stacked_groups, 0, /*wxEXPAND|*/wxBOTTOM|wxRIGHT, 5);
18  Source/Core/DolphinWX/InputConfigDiag.h
@@ -61,8 +61,8 @@ class PadSettingExtension : public PadSetting
61 61
 {
62 62
 public:
63 63
 	PadSettingExtension(wxWindow* const parent, ControllerEmu::Extension* const ext);
64  
-	void UpdateGUI();
65  
-	void UpdateValue();
  64
+	void UpdateGUI() override;
  65
+	void UpdateValue() override;
66 66
 
67 67
 	ControllerEmu::Extension* const extension;
68 68
 };
@@ -75,8 +75,8 @@ class PadSettingSpin : public PadSetting
75 75
 			, wxSize(54, -1), 0, setting->low, setting->high, (int)(setting->value * 100)))
76 76
 			, value(setting->value) {}
77 77
 
78  
-	void UpdateGUI();
79  
-	void UpdateValue();
  78
+	void UpdateGUI() override;
  79
+	void UpdateValue() override;
80 80
 
81 81
 	ControlState& value;
82 82
 };
@@ -85,8 +85,8 @@ class PadSettingCheckBox : public PadSetting
85 85
 {
86 86
 public:
87 87
 	PadSettingCheckBox(wxWindow* const parent, ControlState& _value, const char* const label);
88  
-	void UpdateGUI();
89  
-	void UpdateValue();
  88
+	void UpdateGUI() override;
  89
+	void UpdateValue() override;
90 90
 
91 91
 	ControlState& value;
92 92
 };
@@ -100,7 +100,7 @@ class ControlDialog : public wxDialog
100 100
 
101 101
 	wxStaticBoxSizer* CreateControlChooser(GamepadPage* const parent);
102 102
 
103  
-	virtual bool Validate();
  103
+	virtual bool Validate() override;
104 104
 
105 105
 	void DetectControl(wxCommandEvent& event);
106 106
 	void ClearControl(wxCommandEvent& event);
@@ -173,7 +173,7 @@ class ControlGroupBox : public wxBoxSizer
173 173
 class ControlGroupsSizer : public wxBoxSizer
174 174
 {
175 175
 public:
176  
-	ControlGroupsSizer(ControllerEmu* const controller, wxWindow* const parent, GamepadPage* const eventsink, std::vector<ControlGroupBox*>* const groups = NULL);
  176
+	ControlGroupsSizer(ControllerEmu* const controller, wxWindow* const parent, GamepadPage* const eventsink, std::vector<ControlGroupBox*>* const groups = nullptr);
177 177
 };
178 178
 
179 179
 class InputConfigDialog;
@@ -234,7 +234,7 @@ class InputConfigDialog : public wxDialog
234 234
 	InputConfigDialog(wxWindow* const parent, InputPlugin& plugin, const std::string& name, const int tab_num = 0);
235 235
 	//~InputConfigDialog();
236 236
 
237  
-	bool Destroy();
  237
+	bool Destroy() override;
238 238
 
239 239
 	void ClickSave(wxCommandEvent& event);
240 240
 
133  Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp
@@ -42,16 +42,13 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
42 42
 
43 43
 	GamepadPage* const current_page = (GamepadPage*)m_pad_notebook->GetPage(m_pad_notebook->GetSelection());
44 44
 
45  
-	std::vector< ControlGroupBox* >::iterator
46  
-		g = current_page->control_groups.begin(),
47  
-		ge = current_page->control_groups.end();
48  
-	for ( ; g != ge; ++g  )
  45
+	for (ControlGroupBox* g : current_page->control_groups)
49 46
 	{
50 47
 		// if this control group has a bitmap
51  
-		if ( (*g)->static_bitmap )
  48
+		if (g->static_bitmap)
52 49
 		{
53 50
 			wxMemoryDC dc;
54  
-			wxBitmap bitmap((*g)->static_bitmap->GetBitmap());
  51
+			wxBitmap bitmap(g->static_bitmap->GetBitmap());
55 52
 			dc.SelectObject(bitmap);
56 53
 			dc.Clear();
57 54
 
@@ -60,9 +57,9 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
60 57
 
61 58
 			// label for sticks and stuff
62 59
 			if (64 == bitmap.GetHeight())
63  
-				dc.DrawText(StrToWxStr((*g)->control_group->name).Upper(), 4, 2);
  60
+				dc.DrawText(StrToWxStr(g->control_group->name).Upper(), 4, 2);
64 61
 
65  
-			switch ( (*g)->control_group->type )
  62
+			switch (g->control_group->type)
66 63
 			{
67 64
 			case GROUP_TYPE_TILT :
68 65
 			case GROUP_TYPE_STICK :
@@ -73,32 +70,32 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
73 70
 					float x = 0, y = 0, z = 0;
74 71
 					float xx, yy;
75 72
 
76  
-					switch ((*g)->control_group->type)
  73
+					switch (g->control_group->type)
77 74
 					{
78 75
 					case GROUP_TYPE_STICK :
79  
-						((ControllerEmu::AnalogStick*)(*g)->control_group)->GetState( &x, &y, 32.0, 32-1.5 );
  76
+						((ControllerEmu::AnalogStick*)g->control_group)->GetState(&x, &y, 32.0, 32-1.5);
80 77
 						break;
81 78
 					case GROUP_TYPE_TILT :
82  
-						((ControllerEmu::Tilt*)(*g)->control_group)->GetState( &x, &y, 32.0, 32-1.5 );
  79
+						((ControllerEmu::Tilt*)g->control_group)->GetState(&x, &y, 32.0, 32-1.5);
83 80
 						break;
84 81
 					case GROUP_TYPE_CURSOR :
85  
-						((ControllerEmu::Cursor*)(*g)->control_group)->GetState( &x, &y, &z );
  82
+						((ControllerEmu::Cursor*)g->control_group)->GetState(&x, &y, &z);
86 83
 						x *= (32-1.5); x+= 32;
87 84
 						y *= (32-1.5); y+= 32;
88 85
 						break;
89 86
 					}
90 87
 
91  
-					xx = (*g)->control_group->controls[3]->control_ref->State();
92  
-					xx -= (*g)->control_group->controls[2]->control_ref->State();
93  
-					yy = (*g)->control_group->controls[1]->control_ref->State();
94  
-					yy -= (*g)->control_group->controls[0]->control_ref->State();
  88
+					xx = g->control_group->controls[3]->control_ref->State();
  89
+					xx -= g->control_group->controls[2]->control_ref->State();
  90
+					yy = g->control_group->controls[1]->control_ref->State();
  91
+					yy -= g->control_group->controls[0]->control_ref->State();
95 92
 					xx *= 32 - 1; xx += 32;
96 93
 					yy *= 32 - 1; yy += 32;
97 94
 
98 95
 					// draw the shit
99 96
 
100 97
 					// ir cursor forward movement
101  
-					if (GROUP_TYPE_CURSOR == (*g)->control_group->type)
  98
+					if (GROUP_TYPE_CURSOR == g->control_group->type)
102 99
 					{
103 100
 						if (z)
104 101
 						{
@@ -110,13 +107,13 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
110 107
 							dc.SetPen(*wxGREY_PEN);
111 108
 							dc.SetBrush(*wxGREY_BRUSH);
112 109
 						}
113  
-						dc.DrawRectangle( 0, 31 - z*31, 64, 2);
  110
+						dc.DrawRectangle(0, 31 - z*31, 64, 2);
114 111
 					}
115 112
 
116 113
 					// octagon for visual aid for diagonal adjustment
117 114
 					dc.SetPen(*wxLIGHT_GREY_PEN);
118 115
 					dc.SetBrush(*wxWHITE_BRUSH);
119  
-					if ( GROUP_TYPE_STICK == (*g)->control_group->type )
  116
+					if (GROUP_TYPE_STICK == g->control_group->type)
120 117
 					{
121 118
 						// outline and fill colors
122 119
 						wxBrush LightGrayBrush(_T("#dddddd"));
@@ -131,12 +128,12 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
131 128
 							, d_of = box / 256.0
132 129
 							, x_of = box / 2.0;
133 130
 
134  
-						if (strcmp((*g)->control_group->name, "Main Stick") == 0)
  131
+						if (strcmp(g->control_group->name, "Main Stick") == 0)
135 132
 						{
136 133
 							max = (87.0f / 127.0f) * 100;
137 134
 							diagonal = (55.0f / 127.0f) * 100.0;
138 135
 						}
139  
-						else if (strcmp((*g)->control_group->name,"C-Stick") == 0)
  136
+						else if (strcmp(g->control_group->name,"C-Stick") == 0)
140 137
 						{
141 138
 							max = (74.0f / 127.0f) * 100;
142 139
 							diagonal = (46.0f / 127.0f) * 100;
@@ -163,33 +160,33 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
163 160
 					}
164 161
 					else
165 162
 					{
166  
-						dc.DrawRectangle( 16, 16, 32, 32 );
  163
+						dc.DrawRectangle(16, 16, 32, 32);
167 164
 					}
168 165
 
169  
-					if ( GROUP_TYPE_CURSOR != (*g)->control_group->type )
  166
+					if (GROUP_TYPE_CURSOR != g->control_group->type)
170 167
 					{
171 168
 						// deadzone circle
172 169
 						dc.SetBrush(*wxLIGHT_GREY_BRUSH);
173  
-						dc.DrawCircle( 32, 32, ((*g)->control_group)->settings[SETTING_DEADZONE]->value * 32 );
  170
+						dc.DrawCircle(32, 32, g->control_group->settings[SETTING_DEADZONE]->value * 32);
174 171
 					}
175 172
 
176 173
 					// raw dot
177 174
 					dc.SetPen(*wxGREY_PEN);
178 175
 					dc.SetBrush(*wxGREY_BRUSH);
179 176
 					// i like the dot better than the cross i think
180  
-					dc.DrawRectangle( xx - 2, yy - 2, 4, 4 );
181  
-					//dc.DrawRectangle( xx-1, 64-yy-4, 2, 8 );
182  
-					//dc.DrawRectangle( xx-4, 64-yy-1, 8, 2 );
  177
+					dc.DrawRectangle(xx - 2, yy - 2, 4, 4);
  178
+					//dc.DrawRectangle(xx-1, 64-yy-4, 2, 8);
  179
+					//dc.DrawRectangle(xx-4, 64-yy-1, 8, 2);
183 180
 
184 181
 					// adjusted dot
185 182
 					if (x!=32 || y!=32)
186 183
 					{
187 184
 						dc.SetPen(*wxRED_PEN);
188 185
 						dc.SetBrush(*wxRED_BRUSH);
189  
-						dc.DrawRectangle( x-2, 64-y-2, 4, 4 );
  186
+						dc.DrawRectangle(x-2, 64-y-2, 4, 4);
190 187
 						// i like the dot better than the cross i think
191  
-						//dc.DrawRectangle( x-1, 64-y-4, 2, 8 );
192  
-						//dc.DrawRectangle( x-4, 64-y-1, 8, 2 );
  188
+						//dc.DrawRectangle(x-1, 64-y-4, 2, 8);
  189
+						//dc.DrawRectangle(x-4, 64-y-1, 8, 2);
193 190
 					}
194 191
 
195 192
 				}
@@ -198,64 +195,64 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
198 195
 				{
199 196
 					float raw_dot[3];
200 197
 					float adj_dot[3];
201  
-					const float deadzone = 32 * ((*g)->control_group)->settings[0]->value;
  198
+					const float deadzone = 32 * g->control_group->settings[0]->value;
202 199
 
203 200
 					// adjusted
204  
-					((ControllerEmu::Force*)(*g)->control_group)->GetState( adj_dot, 32.0, 32-1.5 );
  201
+					((ControllerEmu::Force*)g->control_group)->GetState(adj_dot, 32.0, 32-1.5);
205 202
 
206 203
 					// raw
207  
-					for ( unsigned int i=0; i<3; ++i )
  204
+					for (unsigned int i=0; i<3; ++i)
208 205
 					{
209  
-						raw_dot[i] = (*g)->control_group->controls[i*2 + 1]->control_ref->State()
210  
-							- (*g)->control_group->controls[i*2]->control_ref->State();
  206
+						raw_dot[i] = g->control_group->controls[i*2 + 1]->control_ref->State()
  207
+							- g->control_group->controls[i*2]->control_ref->State();
211 208
 						raw_dot[i] *= 32 - 1; raw_dot[i] += 32;
212 209
 					}
213 210
 
214 211
 					// deadzone rect for forward/backward visual
215 212
 					dc.SetBrush(*wxLIGHT_GREY_BRUSH);
216 213
 					dc.SetPen(*wxLIGHT_GREY_PEN);
217  
-					dc.DrawRectangle( 0, 32 - deadzone, 64, deadzone * 2 );
  214
+					dc.DrawRectangle(0, 32 - deadzone, 64, deadzone * 2);
218 215
 
219 216
 					// raw forward/background line
220 217
 					dc.SetPen(*wxGREY_PEN);
221 218
 					dc.SetBrush(*wxGREY_BRUSH);
222  
-					dc.DrawRectangle( 0, raw_dot[2] - 1, 64, 2 );
  219
+					dc.DrawRectangle(0, raw_dot[2] - 1, 64, 2);
223 220
 
224 221
 					// adjusted forward/background line
225  
-					if ( adj_dot[2]!=32 )
  222
+					if (adj_dot[2]!=32)
226 223
 					{
227 224
 						dc.SetPen(*wxRED_PEN);
228 225
 						dc.SetBrush(*wxRED_BRUSH);
229  
-						dc.DrawRectangle( 0, adj_dot[2] - 1, 64, 2 );
  226
+						dc.DrawRectangle(0, adj_dot[2] - 1, 64, 2);
230 227
 					}
231 228
 
232 229
 					// a rectangle, for looks i guess
233 230
 					dc.SetBrush(*wxWHITE_BRUSH);
234 231
 					dc.SetPen(*wxLIGHT_GREY_PEN);
235  
-					dc.DrawRectangle( 16, 16, 32, 32 );
  232
+					dc.DrawRectangle(16, 16, 32, 32);
236 233
 
237 234
 					// deadzone square
238 235
 					dc.SetBrush(*wxLIGHT_GREY_BRUSH);
239  
-					dc.DrawRectangle( 32 - deadzone, 32 - deadzone, deadzone * 2, deadzone * 2 );
  236
+					dc.DrawRectangle(32 - deadzone, 32 - deadzone, deadzone * 2, deadzone * 2);
240 237
 
241 238
 					// raw dot
242 239
 					dc.SetPen(*wxGREY_PEN);
243 240
 					dc.SetBrush(*wxGREY_BRUSH);
244  
-					dc.DrawRectangle( raw_dot[1] - 2, raw_dot[0] - 2, 4, 4 );
  241
+					dc.DrawRectangle(raw_dot[1] - 2, raw_dot[0] - 2, 4, 4);
245 242
 
246 243
 					// adjusted dot
247  
-					if ( adj_dot[1]!=32 || adj_dot[0]!=32 )
  244
+					if (adj_dot[1]!=32 || adj_dot[0]!=32)
248 245
 					{
249 246
 						dc.SetPen(*wxRED_PEN);
250 247
 						dc.SetBrush(*wxRED_BRUSH);
251  
-						dc.DrawRectangle( adj_dot[1]-2, adj_dot[0]-2, 4, 4 );
  248
+						dc.DrawRectangle(adj_dot[1]-2, adj_dot[0]-2, 4, 4);
252 249
 					}
253 250
 
254 251
 				}
255 252
 				break;
256 253
 			case GROUP_TYPE_BUTTONS :
257 254
 				{
258  
-					const unsigned int button_count = ((unsigned int)(*g)->control_group->controls.size());
  255
+					const unsigned int button_count = ((unsigned int)g->control_group->controls.size());
259 256
 
260 257
 					// draw the shit
261 258
 					dc.SetPen(*wxGREY_PEN);
@@ -265,23 +262,23 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
265 262
 						bitmasks[n] = (1 << n);
266 263
 
267 264
 					unsigned int buttons = 0;
268  
-					((ControllerEmu::Buttons*)(*g)->control_group)->GetState( &buttons, bitmasks );
  265
+					((ControllerEmu::Buttons*)g->control_group)->GetState(&buttons, bitmasks);
269 266
 
270 267
 					for (unsigned int n = 0; n<button_count; ++n)
271 268
 					{
272  
-						if ( buttons & bitmasks[n] )
  269
+						if (buttons & bitmasks[n])
273 270
 						{
274  
-							dc.SetBrush( *wxRED_BRUSH );
  271
+							dc.SetBrush(*wxRED_BRUSH);
275 272
 						}
276 273
 						else
277 274
 						{
278  
-							unsigned char amt = 255 - (*g)->control_group->controls[n]->control_ref->State() * 128;
  275
+							unsigned char amt = 255 - g->control_group->controls[n]->control_ref->State() * 128;
279 276
 							dc.SetBrush(wxBrush(wxColor(amt, amt, amt)));
280 277
 						}
281 278
 						dc.DrawRectangle(n * 12, 0, 14, 12);
282 279
 
283 280
 						// text
284  
-						const char* const name = (*g)->control_group->controls[n]->name;
  281
+						const char* const name = g->control_group->controls[n]->name;
285 282
 						// bit of hax so ZL, ZR show up as L, R
286 283
 						dc.DrawText(StrToWxStr(std::string(1, (name[1] && name[1] < 'a') ? name[1] : name[0])), n*12 + 2, 1);
287 284
 					}
@@ -292,18 +289,18 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
292 289
 				break;
293 290
 			case GROUP_TYPE_TRIGGERS :
294 291
 				{
295  
-					const unsigned int trigger_count = ((unsigned int)((*g)->control_group->controls.size()));
  292
+					const unsigned int trigger_count = ((unsigned int)(g->control_group->controls.size()));
296 293
 
297 294
 					// draw the shit
298 295
 					dc.SetPen(*wxGREY_PEN);
299  
-					ControlState deadzone =  (*g)->control_group->settings[0]->value;
  296
+					ControlState deadzone =  g->control_group->settings[0]->value;
300 297
 
301 298
 					unsigned int* const trigs = new unsigned int[trigger_count];
302  
-					((ControllerEmu::Triggers*)(*g)->control_group)->GetState( trigs, 64 );
  299
+					((ControllerEmu::Triggers*)g->control_group)->GetState(trigs, 64);
303 300
 
304  
-					for ( unsigned int n = 0; n < trigger_count; ++n )
  301
+					for (unsigned int n = 0; n < trigger_count; ++n)
305 302
 					{
306  
-						ControlState trig_r = (*g)->control_group->controls[n]->control_ref->State();
  303
+						ControlState trig_r = g->control_group->controls[n]->control_ref->State();
307 304
 
308 305
 						// outline
309 306
 						dc.SetPen(*wxGREY_PEN);
@@ -319,7 +316,7 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
319 316
 						dc.DrawRectangle(0, n*12, trigs[n], 14);
320 317
 
321 318
 						// text
322  
-						dc.DrawText(StrToWxStr((*g)->control_group->controls[n]->name), 3, n*12 + 1);
  319
+						dc.DrawText(StrToWxStr(g->control_group->controls[n]->name), 3, n*12 + 1);
323 320
 					}
324 321
 
325 322
 					delete[] trigs;
@@ -333,29 +330,29 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
333 330
 				break;
334 331
 			case GROUP_TYPE_MIXED_TRIGGERS :
335 332
 				{
336  
-					const unsigned int trigger_count = ((unsigned int)((*g)->control_group->controls.size() / 2));
  333
+					const unsigned int trigger_count = ((unsigned int)(g->control_group->controls.size() / 2));
337 334
 
338 335
 					// draw the shit
339 336
 					dc.SetPen(*wxGREY_PEN);
340  
-					ControlState thresh =  (*g)->control_group->settings[0]->value;
  337
+					ControlState thresh = g->control_group->settings[0]->value;
341 338
 
342  
-					for ( unsigned int n = 0; n < trigger_count; ++n )
  339
+					for (unsigned int n = 0; n < trigger_count; ++n)
343 340
 					{
344 341
 						dc.SetBrush(*wxRED_BRUSH);
345  
-						ControlState trig_d = (*g)->control_group->controls[n]->control_ref->State();
  342
+						ControlState trig_d = g->control_group->controls[n]->control_ref->State();
346 343
 
347 344
 						ControlState trig_a = trig_d > thresh ? 1
348  
-							: (*g)->control_group->controls[n+trigger_count]->control_ref->State();
  345
+							: g->control_group->controls[n+trigger_count]->control_ref->State();
349 346
 
350 347
 						dc.DrawRectangle(0, n*12, 64+20, 14);
351  
-						if ( trig_d <= thresh )
  348
+						if (trig_d <= thresh)
352 349
 							dc.SetBrush(*wxWHITE_BRUSH);
353 350
 						dc.DrawRectangle(trig_a*64, n*12, 64+20, 14);
354 351
 						dc.DrawRectangle(64, n*12, 32, 14);
355 352
 
356 353
 						// text
357  
-						dc.DrawText(StrToWxStr((*g)->control_group->controls[n+trigger_count]->name), 3, n*12 + 1);
358  
-						dc.DrawText(StrToWxStr(std::string(1, (*g)->control_group->controls[n]->name[0])), 64 + 3, n*12 + 1);
  354
+						dc.DrawText(StrToWxStr(g->control_group->controls[n+trigger_count]->name), 3, n*12 + 1);
  355
+						dc.DrawText(StrToWxStr(std::string(1, g->control_group->controls[n]->name[0])), 64 + 3, n*12 + 1);
359 356
 					}
360 357
 
361 358
 					// threshold box
@@ -367,14 +364,14 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
367 364
 				break;
368 365
 			case GROUP_TYPE_SLIDER:
369 366
 				{
370  
-					const ControlState deadzone =  (*g)->control_group->settings[0]->value;
  367
+					const ControlState deadzone = g->control_group->settings[0]->value;
371 368
 
372  
-					ControlState state = (*g)->control_group->controls[1]->control_ref->State() - (*g)->control_group->controls[0]->control_ref->State();
  369
+					ControlState state = g->control_group->controls[1]->control_ref->State() - g->control_group->controls[0]->control_ref->State();
373 370
 					dc.SetPen(*wxGREY_PEN);
374 371
 					dc.SetBrush(*wxGREY_BRUSH);
375 372
 					dc.DrawRectangle(31 + state * 30, 0, 2, 14);
376 373
 
377  
-					((ControllerEmu::Slider*)(*g)->control_group)->GetState(&state, 1);
  374
+					((ControllerEmu::Slider*)g->control_group)->GetState(&state, 1);
378 375
 					if (state)
379 376
 					{
380 377
 						dc.SetPen(*wxRED_PEN);
@@ -399,7 +396,7 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
399 396
 			dc.DrawRectangle(0, 0, bitmap.GetWidth(), bitmap.GetHeight());
400 397
 
401 398
 			dc.SelectObject(wxNullBitmap);
402  
-			(*g)->static_bitmap->SetBitmap(bitmap);
  399
+			g->static_bitmap->SetBitmap(bitmap);
403 400
 		}
404 401
 	}
405 402
 }
2  Source/Core/DolphinWX/LogConfigWindow.cpp
@@ -66,7 +66,7 @@ void LogConfigWindow::CreateGUIControls()
66 66
 	m_writeConsoleCB->Bind(wxEVT_COMMAND_CHECKBOX_CLICKED, &LogConfigWindow::OnWriteConsoleChecked, this);
67 67
 	m_writeWindowCB = new wxCheckBox(this, wxID_ANY, _("Write to Window"));
68 68
 	m_writeWindowCB->Bind(wxEVT_COMMAND_CHECKBOX_CLICKED, &LogConfigWindow::OnWriteWindowChecked, this);
69  
-	m_writeDebuggerCB = NULL;
  69
+	m_writeDebuggerCB = nullptr;
70 70
 #ifdef _MSC_VER
71 71
 	if (IsDebuggerPresent())
72 72
 	{
2  Source/Core/DolphinWX/LogWindow.cpp
@@ -54,7 +54,7 @@
54 54
 	: wxPanel(parent, id, pos, size, style, name)
55 55
 	, x(0), y(0), winpos(0)
56 56
 	, Parent(parent), m_ignoreLogTimer(false), m_LogAccess(true)
57  
-	, m_Log(NULL), m_cmdline(NULL), m_FontChoice(NULL)
  57
+	, m_Log(nullptr), m_cmdline(nullptr), m_FontChoice(nullptr)
58 58
 {
59 59
 	m_LogManager = LogManager::GetInstance();
60 60
 
2  Source/Core/DolphinWX/LogWindow.h
@@ -53,7 +53,7 @@ class CLogWindow : public wxPanel, LogListener
53 53
 	~CLogWindow();
54 54
 
55 55
 	void SaveSettings();
56  
-	void Log(LogTypes::LOG_LEVELS, const char *text);
  56
+	void Log(LogTypes::LOG_LEVELS, const char *text) override;
57 57
 
58 58
 	int x, y, winpos;
59 59
 
16  Source/Core/DolphinWX/Main.cpp
@@ -102,7 +102,7 @@
102 102
 bool wxMsgAlert(const char*, const char*, bool, int);
103 103
 std::string wxStringTranslator(const char *);
104 104
 
105  
-CFrame* main_frame = NULL;
  105
+CFrame* main_frame = nullptr;
106 106
 
107 107
 #ifdef WIN32
108 108
 //Has no error handling.
@@ -204,7 +204,7 @@ bool DolphinApp::OnInit()
204 204
 			wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
205 205
 		},
206 206
 		{
207  
-			wxCMD_LINE_NONE, NULL, NULL, NULL, wxCMD_LINE_VAL_NONE, 0
  207
+			wxCMD_LINE_NONE, nullptr, nullptr, nullptr, wxCMD_LINE_VAL_NONE, 0
208 208
 		}
209 209
 	};
210 210
 
@@ -327,11 +327,11 @@ bool DolphinApp::OnInit()
327 327
 	if (File::Exists("www.dolphin-emulator.com.txt"))
328 328
 	{
329 329
 		File::Delete("www.dolphin-emulator.com.txt");
330  
-		MessageBox(NULL,
  330
+		MessageBox(nullptr,
331 331
 				   L"This version of Dolphin was downloaded from a website stealing money from developers of the emulator. Please "
332 332
 				   L"download Dolphin from the official website instead: http://dolphin-emu.org/",
333 333
 				   L"Unofficial version detected", MB_OK | MB_ICONWARNING);
334  
-		ShellExecute(NULL, L"open", L"http://dolphin-emu.org/?ref=badver", NULL, NULL, SW_SHOWDEFAULT);
  334
+		ShellExecute(nullptr, L"open", L"http://dolphin-emu.org/?ref=badver", nullptr, nullptr, SW_SHOWDEFAULT);
335 335
 		exit(0);
336 336
 	}
337 337
 #endif
@@ -351,7 +351,7 @@ bool DolphinApp::OnInit()
351 351
 		y = wxDefaultCoord;
352 352
 #endif
353 353
 
354  
-	main_frame = new CFrame((wxFrame*)NULL, wxID_ANY,
  354
+	main_frame = new CFrame((wxFrame*)nullptr, wxID_ANY,
355 355
 				StrToWxStr(scm_rev_str),
356 356
 				wxPoint(x, y), wxSize(w, h),
357 357
 				UseDebugger, BatchMode, UseLogger);
@@ -372,14 +372,14 @@ void DolphinApp::MacOpenFile(const wxString &fileName)
372 372
 	FileToLoad = fileName;
373 373
 	LoadFile = true;
374 374
 
375  
-	if (m_afterinit == NULL)
  375
+	if (m_afterinit == nullptr)
376 376
 		main_frame->BootGame(WxStrToStr(FileToLoad));
377 377
 }
378 378
 
379 379
 void DolphinApp::AfterInit(wxTimerEvent& WXUNUSED(event))
380 380
 {
381 381
 	delete m_afterinit;
382  
-	m_afterinit = NULL;
  382
+	m_afterinit = nullptr;
383 383
 
384 384
 	if (!BatchMode)
385 385
 		main_frame->UpdateGameList();
@@ -538,7 +538,7 @@ void* Host_GetInstance()
538 538
 #else
539 539
 void* Host_GetInstance()
540 540
 {
541  
-	return NULL;
  541
+	return nullptr;
542 542
 }
543 543
 #endif
544 544
 
8  Source/Core/DolphinWX/Main.h
@@ -22,10 +22,10 @@ class DolphinApp : public wxApp
22 22
 	CFrame* GetCFrame();
23 23
 
24 24
 private:
25  
-	bool OnInit();
26  
-	int OnExit();
27  
-	void OnFatalException();
28  
-	bool Initialize(int& c, wxChar **v);
  25
+	bool OnInit() override;
  26
+	int OnExit() override;
  27
+	void OnFatalException() override;
  28
+	bool Initialize(int& c, wxChar **v) override;
29 29
 	void InitLanguageSupport();
30 30
 	void MacOpenFile(const wxString &fileName);
31 31
 
36  Source/Core/DolphinWX/MainAndroid.cpp
@@ -68,7 +68,7 @@ void* Host_GetRenderHandle()
68 68
 	return surf;
69 69
 }
70 70
 
71  
-void* Host_GetInstance() { return NULL; }
  71
+void* Host_GetInstance() { return nullptr; }
72 72
 
73 73
 void Host_UpdateTitle(const char* title)
74 74
 {
@@ -153,7 +153,7 @@ bool LoadBanner(std::string filename, u32 *Banner)
153 153
 {
154 154
 	DiscIO::IVolume* pVolume = DiscIO::CreateVolumeFromFilename(filename);
155 155
 
156  
-	if (pVolume != NULL)
  156
+	if (pVolume != nullptr)
157 157
 	{
158 158
 		bool bIsWad = false;
159 159
 		if (DiscIO::IsVolumeWadFile(pVolume))
@@ -164,11 +164,11 @@ bool LoadBanner(std::string filename, u32 *Banner)
164 164
 		// check if we can get some info from the banner file too
165 165
 		DiscIO::IFileSystem* pFileSystem = DiscIO::CreateFileSystem(pVolume);
166 166
 
167  
-		if (pFileSystem != NULL || bIsWad)
  167
+		if (pFileSystem != nullptr || bIsWad)
168 168
 		{
169 169
 			DiscIO::IBannerLoader* pBannerLoader = DiscIO::CreateBannerLoader(*pFileSystem, pVolume);
170 170
 
171  
-			if (pBannerLoader != NULL)
  171
+			if (pBannerLoader != nullptr)
172 172
 				if (pBannerLoader->IsValid())
173 173
 				{
174 174
 					m_names = pBannerLoader->GetNames();
@@ -213,7 +213,7 @@ bool LoadBanner(std::string filename, u32 *Banner)
213 213
 		return m_volume_names[0];
214 214
 	// No usable name, return filename (better than nothing)
215 215
 	std::string name;
216  
-	SplitPath(filename, NULL, &name, NULL);
  216
+	SplitPath(filename, nullptr, &name, nullptr);
217 217
 
218 218
 	return name;
219 219
 }
@@ -247,14 +247,14 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_onTouchAxisE
247 247
 }
248 248
 JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_onGamePadEvent(JNIEnv *env, jobject obj, jstring jDevice, jint Button, jint Action)
249 249
 {
250  
-	const char *Device = env->GetStringUTFChars(jDevice, NULL);
  250
+	const char *Device = env->GetStringUTFChars(jDevice, nullptr);
251 251
 	std::string strDevice = std::string(Device);
252 252
 	ButtonManager::GamepadEvent(strDevice, Button, Action);
253 253
 	env->ReleaseStringUTFChars(jDevice, Device);
254 254
 }
255 255
 JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_onGamePadMoveEvent(JNIEnv *env, jobject obj, jstring jDevice, jint Axis, jfloat Value)
256 256
 {
257  
-	const char *Device = env->GetStringUTFChars(jDevice, NULL);
  257
+	const char *Device = env->GetStringUTFChars(jDevice, nullptr);
258 258
 	std::string strDevice = std::string(Device);
259 259
 	ButtonManager::GamepadAxisEvent(strDevice, Axis, Value);
260 260
 	env->ReleaseStringUTFChars(jDevice, Device);
@@ -262,7 +262,7 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_onGamePadMov
262 262
 
263 263
 JNIEXPORT jintArray JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetBanner(JNIEnv *env, jobject obj, jstring jFile)
264 264
 {
265  
-	const char *File = env->GetStringUTFChars(jFile, NULL);
  265
+	const char *File = env->GetStringUTFChars(jFile, nullptr);
266 266
 	jintArray Banner = env->NewIntArray(DVD_BANNER_WIDTH * DVD_BANNER_HEIGHT);
267 267
 	u32 uBanner[DVD_BANNER_WIDTH * DVD_BANNER_HEIGHT];
268 268
 	if (LoadBanner(File, uBanner))
@@ -274,7 +274,7 @@ JNIEXPORT jintArray JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetBann
274 274
 }
275 275
 JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetTitle(JNIEnv *env, jobject obj, jstring jFile)
276 276
 {
277  
-	const char *File = env->GetStringUTFChars(jFile, NULL);
  277
+	const char *File = env->GetStringUTFChars(jFile, nullptr);
278 278
 	std::string Name = GetName(File);
279 279
 	m_names.clear();
280 280
 	m_volume_names.clear();
@@ -306,10 +306,10 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_eglBindAPI(J
306 306
 JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetConfig(JNIEnv *env, jobject obj, jstring jFile, jstring jKey, jstring jValue, jstring jDefault)
307 307
 {
308 308
 	IniFile ini;
309  
-	const char *File = env->GetStringUTFChars(jFile, NULL);
310  
-	const char *Key = env->GetStringUTFChars(jKey, NULL);
311  
-	const char *Value = env->GetStringUTFChars(jValue, NULL);
312  
-	const char *Default = env->GetStringUTFChars(jDefault, NULL);
  309
+	const char *File = env->GetStringUTFChars(jFile, nullptr);
  310
+	const char *Key = env->GetStringUTFChars(jKey, nullptr);
  311
+	const char *Value = env->GetStringUTFChars(jValue, nullptr);
  312
+	const char *Default = env->GetStringUTFChars(jDefault, nullptr);
313 313
 
314 314
 	ini.Load(File::GetUserPath(D_CONFIG_IDX) + std::string(File));
315 315
 	std::string value;
@@ -326,10 +326,10 @@ JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetConfig
326 326
 JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetConfig(JNIEnv *env, jobject obj, jstring jFile, jstring jKey, jstring jValue, jstring jDefault)
327 327
 {
328 328
 	IniFile ini;
329  
-	const char *File = env->GetStringUTFChars(jFile, NULL);
330  
-	const char *Key = env->GetStringUTFChars(jKey, NULL);
331  
-	const char *Value = env->GetStringUTFChars(jValue, NULL);
332  
-	const char *Default = env->GetStringUTFChars(jDefault, NULL);
  329
+	const char *File = env->GetStringUTFChars(jFile, nullptr);
  330
+	const char *Key = env->GetStringUTFChars(jKey, nullptr);
  331
+	const char *Value = env->GetStringUTFChars(jValue, nullptr);
  332
+	const char *Default = env->GetStringUTFChars(jDefault, nullptr);
333 333
 
334 334
 	ini.Load(File::GetUserPath(D_CONFIG_IDX) + std::string(File));
335 335
 
@@ -344,7 +344,7 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetConfig(JN
344 344
 
345 345
 JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetFilename(JNIEnv *env, jobject obj, jstring jFile)
346 346
 {
347  
-	const char *File = env->GetStringUTFChars(jFile, NULL);
  347
+	const char *File = env->GetStringUTFChars(jFile, nullptr);
348 348
 
349 349
 	g_filename = std::string(File);
350 350
 
14  Source/Core/DolphinWX/MainNoGUI.cpp
@@ -60,10 +60,10 @@ void Host_Message(int Id)
60 60
 
61 61
 void* Host_GetRenderHandle()
62 62
 {
63  
-	return NULL;
  63
+	return nullptr;
64 64
 }
65 65
 
66  
-void* Host_GetInstance() { return NULL; }
  66
+void* Host_GetInstance() { return nullptr; }
67 67
 
68 68
 void Host_UpdateTitle(const char* title){};
69 69
 
@@ -293,10 +293,10 @@ int main(int argc, char* argv[])
293 293
 #endif
294 294
 	int ch, help = 0;
295 295
 	struct option longopts[] = {
296  
-		{ "exec",    no_argument, NULL, 'e' },
297  
-		{ "help",    no_argument, NULL, 'h' },
298  
-		{ "version", no_argument, NULL, 'v' },
299  
-		{ NULL,      0,           NULL,  0  }
  296
+		{ "exec",    no_argument, nullptr, 'e' },
  297
+		{ "help",    no_argument, nullptr, 'h' },
  298
+		{ "version", no_argument, nullptr, 'v' },
  299
+		{ nullptr,      0,           nullptr,  0  }
300 300
 	};
301 301
 
302 302
 	while ((ch = getopt_long(argc, argv, "eh?v", longopts, 0)) != -1)
@@ -337,7 +337,7 @@ int main(int argc, char* argv[])
337 337
 	GLWin.platform = EGL_PLATFORM_NONE;
338 338
 #endif
339 339
 #if HAVE_WAYLAND
340  
-	GLWin.wl_display = NULL;
  340
+	GLWin.wl_display = nullptr;
341 341
 #endif
342 342
 
343 343
 	// No use running the loop when booting fails
14  Source/Core/DolphinWX/MemcardManager.cpp
@@ -113,8 +113,8 @@ wxBitmap wxBitmapFromMemoryRGBA(const unsigned char* data, u32 width, u32 height
113 113
 CMemcardManager::CMemcardManager(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& position, const wxSize& size, long style)
114 114
 	: wxDialog(parent, id, title, position, size, style)
115 115
 {
116  
-	memoryCard[SLOT_A]=NULL;
117  
-	memoryCard[SLOT_B]=NULL;
  116
+	memoryCard[SLOT_A]=nullptr;
  117
+	memoryCard[SLOT_B]=nullptr;
118 118
 
119 119
 	mcmSettings.twoCardsLoaded = false;
120 120
 	if (!LoadSettings())
@@ -135,12 +135,12 @@ wxBitmap wxBitmapFromMemoryRGBA(const unsigned char* data, u32 width, u32 height
135 135
 	if (memoryCard[SLOT_A])
136 136
 	{
137 137
 		delete memoryCard[SLOT_A];
138  
-		memoryCard[SLOT_A] = NULL;
  138
+		memoryCard[SLOT_A] = nullptr;
139 139
 	}
140 140
 	if (memoryCard[SLOT_B])
141 141
 	{
142 142
 		delete memoryCard[SLOT_B];
143  
-		memoryCard[SLOT_B] = NULL;
  143
+		memoryCard[SLOT_B] = nullptr;
144 144
 	}
145 145
 	SaveSettings();
146 146
 }
@@ -320,7 +320,7 @@ void CMemcardManager::ChangePath(int slot)
320 320
 			if (memoryCard[slot])
321 321
 			{
322 322
 				delete memoryCard[slot];
323  
-				memoryCard[slot] = NULL;
  323
+				memoryCard[slot] = nullptr;
324 324
 			}
325 325
 			mcmSettings.twoCardsLoaded = false;
326 326
 			m_MemcardPath[slot]->SetPath(wxEmptyString);
@@ -598,14 +598,14 @@ void CMemcardManager::CopyDeleteClick(wxCommandEvent& event)
598 598
 	{
599 599
 		std::string path1, path2, mpath;
600 600
 		mpath = WxStrToStr(m_MemcardPath[slot]->GetPath());
601  
-		SplitPath(mpath, &path1, &path2, NULL);
  601
+		SplitPath(mpath, &path1, &path2, nullptr);
602 602
 		path1 += path2;
603 603
 		File::CreateDir(path1);
604 604
 		if(PanicYesNoT("Warning: This will overwrite any existing saves that are in the folder:\n"
605 605
 					"%s\nand have the same name as a file on your memcard\nContinue?", path1.c_str()))
606 606
 		for (int i = 0; i < DIRLEN; i++)
607 607
 		{
608  
-			CopyDeleteSwitch(memoryCard[slot]->ExportGci(i, NULL, path1), -1);
  608
+			CopyDeleteSwitch(memoryCard[slot]->ExportGci(i, nullptr, path1), -1);
609 609
 		}
610 610
 		break;
611 611
 	}
18  Source/Core/DolphinWX/NetWindow.cpp
@@ -54,10 +54,10 @@
54 54
 	EVT_COMMAND(wxID_ANY, wxEVT_THREAD, NetPlayDiag::OnThread)
55 55
 END_EVENT_TABLE()
56 56
 
57  
-static NetPlayServer* netplay_server = NULL;
58  
-static NetPlayClient* netplay_client = NULL;
  57
+static NetPlayServer* netplay_server = nullptr;
  58
+static NetPlayClient* netplay_client = nullptr;
59 59
 extern CFrame* main_frame;
60  
-NetPlayDiag *NetPlayDiag::npd = NULL;
  60
+NetPlayDiag *NetPlayDiag::npd = nullptr;
61 61
 
62 62
 std::string BuildGameName(const GameListItem& game)
63 63
 {
@@ -227,7 +227,7 @@ void FillWithGameNames(wxListBox* game_lbox, const CGameListCtrl& game_list)
227 227
 	netplay_section.Set("HostPort", WxStrToStr(m_host_port_text->GetValue()));
228 228
 
229 229
 	inifile.Save(dolphin_ini);
230  
-	main_frame->g_NetPlaySetupDiag = NULL;
  230
+	main_frame->g_NetPlaySetupDiag = nullptr;
231 231
 }
232 232
 
233 233
 void NetPlaySetupDiag::MakeNetPlayDiag(int port, const std::string &game, bool is_hosting)
@@ -311,7 +311,7 @@ void NetPlaySetupDiag::OnQuit(wxCommandEvent&)
311 311
 		const std::string& game, const bool is_hosting)
312 312
 	: wxFrame(parent, wxID_ANY, wxT(NETPLAY_TITLEBAR))
313 313
 	, m_selected_game(game)
314  
-	, m_start_btn(NULL)
  314
+	, m_start_btn(nullptr)
315 315
 	, m_game_list(game_list)
316 316
 {
317 317
 	wxPanel* const panel = new wxPanel(this);
@@ -409,14 +409,14 @@ void NetPlaySetupDiag::OnQuit(wxCommandEvent&)
409 409
 	if (netplay_client)
410 410
 	{
411 411
 		delete netplay_client;
412  
-		netplay_client = NULL;
  412
+		netplay_client = nullptr;
413 413
 	}
414 414
 	if (netplay_server)
415 415
 	{
416 416
 		delete netplay_server;
417  
-		netplay_server = NULL;
  417
+		netplay_server = nullptr;
418 418
 	}
419  
-	npd = NULL;
  419
+	npd = nullptr;
420 420
 }
421 421
 
422 422
 void NetPlayDiag::OnChat(wxCommandEvent&)
@@ -724,6 +724,6 @@ void PadMapDiag::OnAdjust(wxCommandEvent& event)
724 724
 
725 725
 void NetPlay::StopGame()
726 726
 {
727  
-	if (netplay_client != NULL)
  727
+	if (netplay_client != nullptr)
728 728
 		netplay_client->Stop();
729 729
 }
16  Source/Core/DolphinWX/NetWindow.h
@@ -67,19 +67,19 @@ class NetPlayDiag : public wxFrame, public NetPlayUI
67 67
 	void OnStart(wxCommandEvent& event);
68 68
 
69 69
 	// implementation of NetPlayUI methods
70  
-	void BootGame(const std::string& filename);
71  
-	void StopGame();
  70
+	void BootGame(const std::string& filename) override;
  71
+	void StopGame() override;
72 72
 
73  
-	void Update();
74  
-	void AppendChat(const std::string& msg);
  73
+	void Update() override;
  74
+	void AppendChat(const std::string& msg) override;
75 75
 
76  
-	void OnMsgChangeGame(const std::string& filename);
77  
-	void OnMsgStartGame();
78  
-	void OnMsgStopGame();
  76
+	void OnMsgChangeGame(const std::string& filename) override;
  77
+	void OnMsgStartGame() override;
  78
+	void OnMsgStopGame() override;
79 79
 
80 80
 	static NetPlayDiag *&GetInstance() { return npd; };
81 81
 
82  
-	bool IsRecording();
  82
+	bool IsRecording() override;
83 83
 
84 84
 private:
85 85
     DECLARE_EVENT_TABLE()
2  Source/Core/DolphinWX/TASInputDlg.cpp
@@ -736,7 +736,7 @@ bool TASInputDlg::TASHasFocus()
736 736
 
737 737
 	if (wxWindow::FindFocus() == this)
738 738
 		return true;
739  
-	else if (wxWindow::FindFocus() != NULL &&
  739
+	else if (wxWindow::FindFocus() != nullptr &&
740 740
 				wxWindow::FindFocus()->GetParent() == this)
741 741
 		return true;
742 742
 	else
4  Source/Core/DolphinWX/VideoConfigDiag.cpp
@@ -161,7 +161,7 @@ wxArrayString GetListOfResolutions()
161 161
 	dmi.dmSize = sizeof(dmi);
162 162
 	std::vector<std::string> resos;
163 163
 
164  
-	while (EnumDisplaySettings(NULL, iModeNum++, &dmi) != 0)
  164
+	while (EnumDisplaySettings(nullptr, iModeNum++, &dmi) != 0)
165 165
 	{
166 166
 		char res[100];
167 167
 		sprintf(res, "%dx%d", dmi.dmPelsWidth, dmi.dmPelsHeight);
@@ -177,7 +177,7 @@ wxArrayString GetListOfResolutions()
177 177
 #elif defined(HAVE_XRANDR) && HAVE_XRANDR
178 178
 	main_frame->m_XRRConfig->AddResolutions(retlist);
179 179
 #elif defined(__APPLE__)
180  
-	CFArrayRef modes = CGDisplayCopyAllDisplayModes(CGMainDisplayID(), NULL);
  180
+	CFArrayRef modes = CGDisplayCopyAllDisplayModes(CGMainDisplayID(), nullptr);
181 181
 	for (CFIndex i = 0; i < CFArrayGetCount(modes); i++)
182 182
 	{
183 183
 		std::stringstream res;
4  Source/Core/DolphinWX/VideoConfigDiag.h
@@ -68,7 +68,7 @@ class IntegerSetting : public wxSpinCtrl
68 68
 class SettingChoice : public wxChoice
69 69
 {
70 70
 public:
71  
-	SettingChoice(wxWindow* parent, int &setting, const wxString& tooltip, int num = 0, const wxString choices[] = NULL, long style = 0);
  71
+	SettingChoice(wxWindow* parent, int &setting, const wxString& tooltip, int num = 0, const wxString choices[] = nullptr, long style = 0);
72 72
 	void UpdateValue(wxCommandEvent& ev);
73 73
 private:
74 74
 	int &m_setting;
@@ -178,7 +178,7 @@ class VideoConfigDiag : public wxDialog
178 178
 
179 179
 	// Creates controls and connects their enter/leave window events to Evt_Enter/LeaveControl
180 180
 	SettingCheckBox* CreateCheckBox(wxWindow* parent, const wxString& label, const wxString& description, bool &setting, bool reverse = false, long style = 0);
181  
-	SettingChoice* CreateChoice(wxWindow* parent, int& setting, const wxString& description, int num = 0, const wxString choices[] = NULL, long style = 0);
  181
+	SettingChoice* CreateChoice(wxWindow* parent, int& setting, const wxString& description, int num = 0, const wxString choices[] = nullptr, long style = 0);
182 182
 	SettingRadioButton* CreateRadioButton(wxWindow* parent, const wxString& label, const wxString& description, bool &setting, bool reverse = false, long style = 0);
183 183
 
184 184
 	// Same as above but only connects enter/leave window events
12  Source/Core/DolphinWX/X11Utils.cpp
@@ -100,9 +100,9 @@ void InhibitScreensaver(Display *dpy, Window win, bool suspend)
100 100
 		(char *)"xdg-screensaver",
101 101
 		(char *)(suspend ? "suspend" : "resume"),
102 102
 		id,
103  
-		NULL};
  103
+		nullptr};
104 104
 	pid_t pid;
105  
-	if (!posix_spawnp(&pid, "xdg-screensaver", NULL, NULL, argv, environ))
  105
+	if (!posix_spawnp(&pid, "xdg-screensaver", nullptr, nullptr, argv, environ))
106 106
 	{
107 107
 		int status;
108 108
 		while (waitpid (pid, &status, 0) == -1);
@@ -115,7 +115,7 @@ void InhibitScreensaver(Display *dpy, Window win, bool suspend)
115 115
 XRRConfiguration::XRRConfiguration(Display *_dpy, Window _win)
116 116
 	: dpy(_dpy)
117 117
 	, win(_win)
118  
-	, screenResources(NULL), outputInfo(NULL), crtcInfo(NULL)
  118
+	, screenResources(nullptr), outputInfo(nullptr), crtcInfo(nullptr)
119 119
 	, fullMode(0)
120 120
 	, fs_fb_width(0), fs_fb_height(0), fs_fb_width_mm(0), fs_fb_height_mm(0)
121 121
 	, bValid(true), bIsFullscreen(false)
@@ -165,18 +165,18 @@ void XRRConfiguration::Update()
165 165
 	if (outputInfo)
166 166
 	{
167 167
 		XRRFreeOutputInfo(outputInfo);
168  
-		outputInfo = NULL;
  168
+		outputInfo = nullptr;
169 169
 	}
170 170
 	if (crtcInfo)
171 171
 	{
172 172
 		XRRFreeCrtcInfo(crtcInfo);
173  
-		crtcInfo = NULL;
  173
+		crtcInfo = nullptr;
174 174
 	}
175 175
 	fullMode = 0;
176 176
 
177 177
 	// Get the resolution setings for fullscreen mode
178 178
 	unsigned int fullWidth, fullHeight;
179  
-	char *output_name = NULL;
  179
+	char *output_name = nullptr;
180 180
 	if (SConfig::GetInstance().m_LocalCoreStartupParameter.strFullscreenResolution.find(':') ==
181 181
 			std::string::npos)
182 182
 	{
10  Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
@@ -230,7 +230,7 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
230 230
 	, const DeviceQualifier& default_device) const
231 231
 {
232 232
 	delete ref->parsed_expression;
233  
-	ref->parsed_expression = NULL;
  233
+	ref->parsed_expression = nullptr;
234 234
 
235 235
 	ControlFinder finder(*this, default_device, ref->is_input);
236 236
 	ref->parse_error = ParseExpression(ref->expression, finder, &ref->parsed_expression);
@@ -244,7 +244,7 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
244 244
 // which is useful for those crazy flightsticks that have certain buttons that are always held down
245 245
 // or some crazy axes or something
246 246
 // upon input, return pointer to detected Control
247  
-// else return NULL
  247
+// else return nullptr
248 248
 //
249 249
 Device::Control* ControllerInterface::InputReference::Detect(const unsigned int ms, Device* const device)
250 250
 {
@@ -252,7 +252,7 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
252 252
 	std::vector<bool> states(device->Inputs().size());
253 253
 
254 254
 	if (device->Inputs().size() == 0)
255  
-		return NULL;
  255
+		return nullptr;
256 256
 
257 257
 	// get starting state of all inputs,
258 258
 	// so we can ignore those that were activated at time of Detect start
@@ -285,7 +285,7 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
285 285
 	}
286 286
 
287 287
 	// no input was detected
288  
-	return NULL;
  288
+	return nullptr;
289 289
 }
290 290
 
291 291
 //
@@ -317,5 +317,5 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
317 317
 		State(0);
318 318
 		device->UpdateOutput();
319 319
 	}
320  
-	return NULL;
  320
+	return nullptr;
321 321
 }
12  Source/Core/InputCommon/ControllerInterface/ControllerInterface.h
@@ -83,7 +83,7 @@ class ControllerInterface : public DeviceContainer
83 83
 		}
84 84
 
85 85
 	protected:
86  
-		ControlReference(const bool _is_input) : range(1), is_input(_is_input), parsed_expression(NULL) {}
  86
+		ControlReference(const bool _is_input) : range(1), is_input(_is_input), parsed_expression(nullptr) {}
87 87
 		ciface::ExpressionParser::Expression *parsed_expression;
88 88
 	};
89 89
 
@@ -96,8 +96,8 @@ class ControllerInterface : public DeviceContainer
96 96
 	{
97 97
 	public:
98 98
 		InputReference() : ControlReference(true) {}
99  
-		ControlState State(const ControlState state);
100  
-		Device::Control* Detect(const unsigned int ms, Device* const device);
  99
+		ControlState State(const ControlState state) override;
  100
+		Device::Control* Detect(const unsigned int ms, Device* const device) override;
101 101
 	};
102 102
 
103 103
 	//
@@ -109,11 +109,11 @@ class ControllerInterface : public DeviceContainer
109 109
 	{
110 110
 	public:
111 111
 		OutputReference() : ControlReference(false) {}
112  
-		ControlState State(const ControlState state);
113  
-		Device::Control* Detect(const unsigned int ms, Device* const device);
  112
+		ControlState State(const ControlState state) override;
  113
+		Device::Control* Detect(const unsigned int ms, Device* const device) override;
114 114
 	};
115 115
 
116  
-	ControllerInterface() : m_is_init(false), m_hwnd(NULL) {}
  116
+	ControllerInterface() : m_is_init(false), m_hwnd(nullptr) {}
117 117
 
118 118
 	void SetHwnd(void* const hwnd);
119 119
 	void Initialize();
2  Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp
@@ -48,7 +48,7 @@ BOOL CALLBACK DIEnumDevicesCallback(LPCDIDEVICEINSTANCE lpddi, LPVOID pvRef)
48 48
 void Init(std::vector<Core::Device*>& devices, HWND hwnd)
49 49
 {
50 50
 	IDirectInput8* idi8;
51  
-	if (FAILED(DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (LPVOID*)&idi8, NULL)))
  51
+	if (FAILED(DirectInput8Create(GetModuleHandle(nullptr), DIRECTINPUT_VERSION, IID_IDirectInput8, (LPVOID*)&idi8, nullptr)))
52 52
 		return;
53 53
 
54 54
 	InitKeyboardMouse(idi8, devices, hwnd);
46  Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp
@@ -24,47 +24,47 @@
24 24
 void GetXInputGUIDS( std::vector<DWORD>& guids )
25 25
 {
26 26
 
27  
-#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
  27
+#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=nullptr; } }
28 28
 
29  
-	IWbemLocator*           pIWbemLocator  = NULL;
30  
-	IEnumWbemClassObject*   pEnumDevices   = NULL;
  29
+	IWbemLocator*           pIWbemLocator  = nullptr;
  30
+	IEnumWbemClassObject*   pEnumDevices   = nullptr;
31 31
 	IWbemClassObject*       pDevices[20]   = {0};
32  
-	IWbemServices*          pIWbemServices = NULL;
33  
-	BSTR                    bstrNamespace  = NULL;
34  
-	BSTR                    bstrDeviceID   = NULL;
35  
-	BSTR                    bstrClassName  = NULL;
  32
+	IWbemServices*          pIWbemServices = nullptr;
  33
+	BSTR                    bstrNamespace  = nullptr;
  34
+	BSTR                    bstrDeviceID   = nullptr;
  35
+	BSTR                    bstrClassName  = nullptr;
36 36
 	DWORD                   uReturned      = 0;
37 37
 	VARIANT                 var;
38 38
 	HRESULT                 hr;
39 39
 
40 40
 	// CoInit if needed
41  
-	hr = CoInitialize(NULL);
  41
+	hr = CoInitialize(nullptr);
42 42
 	bool bCleanupCOM = SUCCEEDED(hr);
43 43
 
44 44
 	// Create WMI
45 45
 	hr = CoCreateInstance(__uuidof(WbemLocator),
46  
-	                      NULL,
  46
+	                      nullptr,
47 47
 	                      CLSCTX_INPROC_SERVER,
48 48
 	                      __uuidof(IWbemLocator),
49 49
 	                      (LPVOID*) &pIWbemLocator);
50  
-	if (FAILED(hr) || pIWbemLocator == NULL)
  50
+	if (FAILED(hr) || pIWbemLocator == nullptr)
51 51
 		goto LCleanup;
52 52
 
53  
-	bstrNamespace = SysAllocString(L"\\\\.\\root\\cimv2");if(bstrNamespace == NULL) goto LCleanup;
54  
-	bstrClassName = SysAllocString(L"Win32_PNPEntity");   if(bstrClassName == NULL) goto LCleanup;
55  
-	bstrDeviceID  = SysAllocString(L"DeviceID");          if(bstrDeviceID == NULL)  goto LCleanup;
  53
+	bstrNamespace = SysAllocString(L"\\\\.\\root\\cimv2");if(bstrNamespace == nullptr) goto LCleanup;
  54
+	bstrClassName = SysAllocString(L"Win32_PNPEntity");   if(bstrClassName == nullptr) goto LCleanup;
  55
+	bstrDeviceID  = SysAllocString(L"DeviceID");          if(bstrDeviceID == nullptr)  goto LCleanup;
56 56
 
57 57
 	// Connect to WMI
58  
-	hr = pIWbemLocator->ConnectServer(bstrNamespace, NULL, NULL, 0L, 0L, NULL, NULL, &pIWbemServices);
59  
-	if (FAILED(hr) || pIWbemServices == NULL)
  58
+	hr = pIWbemLocator->ConnectServer(bstrNamespace, nullptr, nullptr, 0L, 0L, nullptr, nullptr, &pIWbemServices);
  59
+	if (FAILED(hr) || pIWbemServices == nullptr)
60 60
 		goto LCleanup;
61 61
 
62 62
 	// Switch security level to IMPERSONATE.
63  
-	CoSetProxyBlanket(pIWbemServices, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL,
64  
-	                  RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE);
  63
+	CoSetProxyBlanket(pIWbemServices, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, nullptr,
  64
+	                  RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, nullptr, EOAC_NONE);
65 65
 
66  
-	hr = pIWbemServices->CreateInstanceEnum(bstrClassName, 0, NULL, &pEnumDevices);
67  
-	if (FAILED(hr) || pEnumDevices == NULL)
  66
+	hr = pIWbemServices->CreateInstanceEnum(bstrClassName, 0, nullptr, &pEnumDevices);
  67
+	if (FAILED(hr) || pEnumDevices == nullptr)
68 68
 		goto LCleanup;
69 69
 
70 70
 	// Loop over all devices
@@ -78,8 +78,8 @@ void GetXInputGUIDS( std::vector<DWORD>& guids )
78 78
 		for (UINT iDevice = 0; iDevice < uReturned; ++iDevice)
79 79
 		{
80 80
 			// For each device, get its device ID
81  
-			hr = pDevices[iDevice]->Get(bstrDeviceID, 0L, &var, NULL, NULL);
82  
-			if (SUCCEEDED(hr) && var.vt == VT_BSTR && var.bstrVal != NULL)
  81
+			hr = pDevices[iDevice]->Get(bstrDeviceID, 0L, &var, nullptr, nullptr);
  82
+			if (SUCCEEDED(hr) && var.vt == VT_BSTR && var.bstrVal != nullptr)
83 83
 			{
84 84
 				// Check if the device ID contains "IG_".  If it does, then it's an XInput device
85 85
 				// This information can not be found from DirectInput
@@ -140,7 +140,7 @@ void InitJoystick(IDirectInput8* const idi8, std::vector<Core::Device*>& devices
140 140
 			continue;
141 141
 
142 142
 		LPDIRECTINPUTDEVICE8 js_device;
143  
-		if (SUCCEEDED(idi8->CreateDevice(joystick.guidInstance, &js_device, NULL)))
  143
+		if (SUCCEEDED(idi8->CreateDevice(joystick.guidInstance, &js_device, nullptr)))
144 144
 		{
145 145
 			if (SUCCEEDED(js_device->SetDataFormat(&c_dfDIJoystick)))
146 146
 			{
@@ -148,7 +148,7 @@ void InitJoystick(IDirectInput8* const idi8, std::vector<Core::Device*>& devices
148 148
 				{
149 149
 					//PanicAlert("SetCooperativeLevel(DISCL_EXCLUSIVE) failed!");
150 150
 					// fall back to non-exclusive mode, with no rumble
151  
-					if (FAILED(js_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
  151
+					if (FAILED(js_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
152 152
 					{
153 153
 						//PanicAlert("SetCooperativeLevel failed!");
154 154
 						js_device->Release();
12  Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp
@@ -52,20 +52,20 @@ void InitKeyboardMouse(IDirectInput8* const idi8, std::vector<Core::Device*>& de
52 52
 	// if that's dumb, I will make a VirtualDevice class that just uses ranges of inputs/outputs from other devices
53 53
 	// so there can be a separated Keyboard and mouse, as well as combined KeyboardMouse
54 54
 
55  
-	LPDIRECTINPUTDEVICE8 kb_device = NULL;
56  
-	LPDIRECTINPUTDEVICE8 mo_device = NULL;
  55
+	LPDIRECTINPUTDEVICE8 kb_device = nullptr;
  56
+	LPDIRECTINPUTDEVICE8 mo_device = nullptr;
57 57
 
58  
-	if (SUCCEEDED(idi8->CreateDevice( GUID_SysKeyboard, &kb_device, NULL)))
  58
+	if (SUCCEEDED(idi8->CreateDevice( GUID_SysKeyboard, &kb_device, nullptr)))
59 59
 	{
60 60
 		if (SUCCEEDED(kb_device->SetDataFormat(&c_dfDIKeyboard)))
61 61
 		{
62  
-			if (SUCCEEDED(kb_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
  62
+			if (SUCCEEDED(kb_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
63 63
 			{
64  
-				if (SUCCEEDED(idi8->CreateDevice( GUID_SysMouse, &mo_device, NULL )))
  64
+				if (SUCCEEDED(idi8->CreateDevice( GUID_SysMouse, &mo_device, nullptr )))
65 65
 				{
66 66
 					if (SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2)))
67 67
 					{
68  
-						if (SUCCEEDED(mo_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
  68
+						if (SUCCEEDED(mo_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
69 69
 						{
70 70
 							devices.push_back(new KeyboardMouse(kb_device, mo_device));
71 71
 							return;
8  Source/Core/InputCommon/ControllerInterface/Device.cpp
@@ -46,7 +46,7 @@ void Device::AddOutput(Device::Output* const o)
46 46
 			return input;
47 47
 	}
48 48
 
49  
-	return NULL;
  49
+	return nullptr;
50 50
 }
51 51
 
52 52
 Device::Output* Device::FindOutput(const std::string &name) const
@@ -57,7 +57,7 @@ void Device::AddOutput(Device::Output* const o)
57 57
 			return output;
58 58
 	}
59 59
 
60  
-	return NULL;
  60
+	return nullptr;
61 61
 }
62 62
 
63 63
 //
@@ -151,7 +151,7 @@ Device* DeviceContainer::FindDevice(const DeviceQualifier& devq) const
151 151
 			return d;
152 152
 	}
153 153
 
154  
-	return NULL;
  154
+	return nullptr;
155 155
 }
156 156
 
157 157
 Device::Input* DeviceContainer::FindInput(const std::string& name, const Device* def_dev) const
@@ -171,7 +171,7 @@ Device* DeviceContainer::FindDevice(const DeviceQualifier& devq) const
171 171
 			return i;
172 172
 	}
173 173
 
174  
-	return NULL;
  174
+	return nullptr;
175 175
 }
176 176
 
177 177
 Device::Output* DeviceContainer::FindOutput(const std::string& name, const Device* def_dev) const
12  Source/Core/InputCommon/ControllerInterface/Device.h
@@ -42,8 +42,8 @@ class Device
42 42
 		virtual std::string GetName() const = 0;
43 43
 		virtual ~Control() {}
44 44
 
45  
-		virtual Input* ToInput() { return NULL; }
46  
-		virtual Output* ToOutput() { return NULL; }
  45
+		virtual Input* ToInput() { return nullptr; }
  46
+		virtual Output* ToOutput() { return nullptr; }
47 47
 	};
48 48
 
49 49
 	//
@@ -59,7 +59,7 @@ class Device
59 59
 
60 60
 		virtual ControlState GetState() const = 0;
61 61
 
62  
-		Input* ToInput() { return this; }
  62
+		Input* ToInput() override { return this; }
63 63
 	};
64 64
 
65 65
 	//
@@ -74,7 +74,7 @@ class Device
74 74
 
75 75
 		virtual void SetState(ControlState state) = 0;
76 76
 
77  
-		Output* ToOutput() { return this; }
  77
+		Output* ToOutput() override { return this; }
78 78
 	};
79 79
 
80 80
 	virtual ~Device();
@@ -104,12 +104,12 @@ class Device
104 104
 			: m_low(*low), m_high(*high)
105 105
 		{}
106 106
 
107  
-		ControlState GetState() const
  107
+		ControlState GetState() const override
108 108
 		{
109 109
 			return (1 + m_high.GetState() - m_low.GetState()) / 2;
110 110
 		}
111 111
 
112  
-		std::string GetName() const
  112
+		std::string GetName() const override
113 113
 		{
114 114
 			return m_low.GetName() + *m_high.GetName().rbegin();
115 115
 		}
6  Source/Core/InputCommon/ControllerInterface/ExpressionParser.cpp
@@ -357,7 +357,7 @@ Device *ControlFinder::FindDevice(ControlQualifier qualifier)
357 357
 {
358 358
 	Device *device = FindDevice(qualifier);
359 359
 	if (!device)
360  
-		return NULL;
  360
+		return nullptr;
361 361
 
362 362
 	if (is_input)
363 363
 		return device->FindInput(qualifier.control_name);
@@ -414,7 +414,7 @@ class Parser
414 414
 		case TOK_CONTROL:
415 415
 			{
416 416
 				Device::Control *control = finder.FindControl(tok.qualifier);
417  
-				if (control == NULL)
  417
+				if (control == nullptr)
418 418
 					return EXPRESSION_PARSE_NO_DEVICE;
419 419
 
420 420
 				*expr_out = new ControlExpression(tok.qualifier, control);
@@ -539,7 +539,7 @@ ExpressionParseStatus ParseExpressionInner(std::string str, ControlFinder &finde
539 539
 {
540 540
 	ExpressionParseStatus status;
541 541
 	Expression *expr;
542  
-	*expr_out = NULL;
  542
+	*expr_out = nullptr;
543 543
 
544 544
 	if (str == "")
545 545
 		return EXPRESSION_PARSE_SUCCESS;
2  Source/Core/InputCommon/ControllerInterface/ExpressionParser.h
@@ -47,7 +47,7 @@ class ControlFinder
47 47
 class Expression
48 48
 {
49 49
 public:
50  
-	Expression() : node(NULL) {}
  50
+	Expression() : node(nullptr) {}
51 51
 	Expression(ExpressionNode *node);
52 52
 	~Expression();
53 53
 	ControlState GetValue();
4  Source/Core/InputCommon/ControllerInterface/ForceFeedback/ForceFeedbackDevice.cpp
@@ -102,7 +102,7 @@ bool ForceFeedbackDevice::InitForceFeedback(const LPDIRECTINPUTDEVICE8 device, i
102 102
 		}
103 103
 
104 104
 		LPDIRECTINPUTEFFECT pEffect;
105  
-		if (SUCCEEDED(device->CreateEffect(f.guid, &eff, &pEffect, NULL)))
  105
+		if (SUCCEEDED(device->CreateEffect(f.guid, &eff, &pEffect, nullptr)))
106 106
 		{
107 107
 			m_state_out.push_back(EffectState(pEffect));
108 108
 
@@ -155,7 +155,7 @@ bool ForceFeedbackDevice::UpdateOutput()
155 155
 				ok_count += SUCCEEDED(state.iface->Stop());
156 156
 			}
157 157
 
158  
-			state.params = NULL;
  158
+			state.params = nullptr;
159 159
 		}
160 160
 		else
161 161
 		{
2  Source/Core/InputCommon/ControllerInterface/ForceFeedback/ForceFeedbackDevice.h
@@ -29,7 +29,7 @@ class ForceFeedbackDevice : public Core::Device
29 29
 private:
30 30
 	struct EffectState
31 31
 	{
32  
-		EffectState(LPDIRECTINPUTEFFECT eff) : iface(eff), params(NULL), size(0) {}
  32
+		EffectState(LPDIRECTINPUTEFFECT eff) : iface(eff), params(nullptr), size(0) {}
33 33
 
34 34
 		LPDIRECTINPUTEFFECT iface;
35 35
 		void*               params; // null when force hasn't changed
4  Source/Core/InputCommon/ControllerInterface/ForceFeedback/OSX/DirectInputAdapter.h
@@ -72,11 +72,11 @@ class IUnknownImpl : public IUnknown
72 72
 
73 73
 	HRESULT QueryInterface(REFIID iid, LPVOID *ppv)
74 74
 	{
75  
-		*ppv = NULL;
  75
+		*ppv = nullptr;
76 76
 
77 77
 		if (CFEqual(&iid, IUnknownUUID))
78 78
 			*ppv = this;
79  
-		if (NULL == *ppv)
  79
+		if (nullptr == *ppv)
80 80
 			return E_NOINTERFACE;
81 81
 
82 82
 		((IUnknown*)*ppv)->AddRef();
12  Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm
@@ -18,7 +18,7 @@
18 18
 {
19 19
 
20 20
 
21  
-static IOHIDManagerRef HIDManager = NULL;
  21
+static IOHIDManagerRef HIDManager = nullptr;
22 22
 static CFStringRef OurRunLoop = CFSTR("DolphinOSXInput");
23 23
 static std::map<std::string, int> kbd_name_counts, joy_name_counts;
24 24
 
@@ -90,7 +90,7 @@ void DeviceElementDebugPrint(const void *value, void *context)
90 90
 		  type == "collection" ? c_type.c_str() : " ",
91 91
 		  IOHIDElementGetUsagePage(e),
92 92
 		  IOHIDElementGetUsage(e),
93  
-		  IOHIDElementGetName(e),		// usually just NULL
  93
+		  IOHIDElementGetName(e),		// usually just nullptr
94 94
 		  IOHIDElementGetLogicalMin(e),
95 95
 		  IOHIDElementGetLogicalMax(e),
96 96
 		  IOHIDElementGetPhysicalMin(e),
@@ -102,7 +102,7 @@ void DeviceElementDebugPrint(const void *value, void *context)
102 102
 		CFRange range = {0, CFArrayGetCount(elements)};
103 103
 		// this leaks...but it's just debug code, right? :D
104 104
 		CFArrayApplyFunction(elements, range,
105  
-			DeviceElementDebugPrint, NULL);
  105
+			DeviceElementDebugPrint, nullptr);
106 106
 	}
107 107
 }
108 108
 
@@ -146,7 +146,7 @@ static void DeviceMatching_callback(void* inContext,
146 146
 {
147 147
 	NSString *pName = (NSString *)
148 148
 		IOHIDDeviceGetProperty(inIOHIDDeviceRef, CFSTR(kIOHIDProductKey));
149  
-	std::string name = (pName != NULL) ? [pName UTF8String] : "Unknown device";
  149
+	std::string name = (pName != nullptr) ? [pName UTF8String] : "Unknown device";
150 150
 
151 151
 	DeviceDebugPrint(inIOHIDDeviceRef);
152 152
 
@@ -178,7 +178,7 @@ void Init(std::vector<Core::Device*>& devices, void *window)
178 178
 
179 179
 	g_window = window;
180 180
 
181  
-	IOHIDManagerSetDeviceMatching(HIDManager, NULL);
  181
+	IOHIDManagerSetDeviceMatching(HIDManager, nullptr);
182 182
 
183 183
 	// Callbacks for acquisition or loss of a matching device
184 184
 	IOHIDManagerRegisterDeviceMatchingCallback(HIDManager,
@@ -200,7 +200,7 @@ void Init(std::vector<Core::Device*>& devices, void *window)
200 200
 
201 201
 	// Things should be configured now
202 202
 	// Disable hotplugging and other scheduling
203  
-	IOHIDManagerRegisterDeviceMatchingCallback(HIDManager, NULL, NULL);
  203
+	IOHIDManagerRegisterDeviceMatchingCallback(HIDManager, nullptr, nullptr);
204 204
 	IOHIDManagerUnscheduleFromRunLoop(HIDManager,
205 205
 		CFRunLoopGetCurrent(), OurRunLoop);
206 206
 }
4  Source/Core/InputCommon/ControllerInterface/OSX/OSXJoystick.mm
@@ -39,7 +39,7 @@
39 39
 		{
40 40
 			IOHIDElementRef e =
41 41
 			(IOHIDElementRef)CFArrayGetValueAtIndex(buttons, i);
42  
-			//DeviceElementDebugPrint(e, NULL);
  42
+			//DeviceElementDebugPrint(e, nullptr);
43 43
 
44 44
 			AddInput(new Button(e, m_device));
45 45
 		}
@@ -62,7 +62,7 @@
62 62
 		{
63 63
 			IOHIDElementRef e =
64 64
 			(IOHIDElementRef)CFArrayGetValueAtIndex(axes, i);
65  
-			//DeviceElementDebugPrint(e, NULL);
  65
+			//DeviceElementDebugPrint(e, nullptr);
66 66
 
67 67
 			if (IOHIDElementGetUsage(e) == kHIDUsage_GD_Hatswitch) {
68 68
 				AddInput(new Hat(e, m_device, Hat::up));
6  Source/Core/InputCommon/ControllerInterface/OSX/OSXKeyboard.mm
@@ -40,7 +40,7 @@
40 40
 		{
41 41
 			IOHIDElementRef e =
42 42
 			(IOHIDElementRef)CFArrayGetValueAtIndex(elements, i);
43  
-			//DeviceElementDebugPrint(e, NULL);
  43
+			//DeviceElementDebugPrint(e, nullptr);
44 44
 
45 45
 			AddInput(new Key(e, m_device));
46 46
 		}
@@ -61,7 +61,7 @@
61 61
 {
62 62
 	CGRect bounds = CGRectZero;
63 63
 	uint32_t windowid[1] = { m_windowid };
64  
-	CFArrayRef windowArray = CFArrayCreate(NULL, (const void **) windowid, 1, NULL);
  64
+	CFArrayRef windowArray = CFArrayCreate(nullptr, (const void **) windowid, 1, nullptr);
65 65
 	CFArrayRef windowDescriptions = CGWindowListCreateDescriptionFromArray(windowArray);
66 66
 	CFDictionaryRef windowDescription = (CFDictionaryRef) CFArrayGetValueAtIndex((CFArrayRef) windowDescriptions, 0);
67 67
 
@@ -69,7 +69,7 @@
69 69
 	{
70 70
 		CFDictionaryRef boundsDictionary = (CFDictionaryRef) CFDictionaryGetValue(windowDescription, kCGWindowBounds);
71 71
 
72  
-		if (boundsDictionary != NULL)
  72
+		if (boundsDictionary != nullptr)
73 73
 			CGRectMakeWithDictionaryRepresentation(boundsDictionary, &bounds);
74 74
 	}
75 75
 
16  Source/Core/InputCommon/ControllerInterface/SDL/SDL.h
@@ -83,9 +83,9 @@ class Joystick : public Core::Device
83 83
 	class ConstantEffect : public Output
84 84
 	{
85 85
 	public:
86  
-		std::string GetName() const;
  86
+		std::string GetName() const override;
87 87
 		ConstantEffect(EffectIDState& effect) : m_effect(effect) {}
88  
-		void SetState(ControlState state);
  88
+		void SetState(ControlState state) override;
89 89
 	private:
90 90
 		EffectIDState& m_effect;
91 91
 	};
@@ -93,9 +93,9 @@ class Joystick : public Core::Device
93 93
 	class RampEffect : public Output
94 94
 	{
95 95
 	public:
96  
-		std::string GetName() const;
  96
+		std::string GetName() const override;
97 97
 		RampEffect(EffectIDState& effect) : m_effect(effect) {}
98  
-		void SetState(ControlState state);
  98
+		void SetState(ControlState state) override;
99 99
 	private:
100 100
 		EffectIDState& m_effect;
101 101
 	};
@@ -103,9 +103,9 @@ class Joystick : public Core::Device
103 103
 	class SineEffect : public Output
104 104
 	{
105 105
 	public:
106  
-		std::string GetName() const;
  106
+		std::string GetName() const override;
107 107
 		SineEffect(EffectIDState& effect) : m_effect(effect) {}
108  
-		void SetState(ControlState state);
  108
+		void SetState(ControlState state) override;
109 109
 	private:
110 110
 		EffectIDState& m_effect;
111 111
 	};
@@ -125,9 +125,9 @@ class Joystick : public Core::Device
125 125
 	class TriangleEffect : public Output
126 126
 	{
127 127
 	public:
128  
-		std::string GetName() const;
  128
+		std::string GetName() const override;
129 129
 		TriangleEffect(EffectIDState& effect) : m_effect(effect) {}
130  
-		void SetState(ControlState state);
  130
+		void SetState(ControlState state) override;
131 131
 	private:
132 132
 		EffectIDState& m_effect;
133 133
 	};
6  Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
@@ -48,7 +48,7 @@
48 48
 // This function will add zero or more KeyboardMouse objects to devices.
49 49
 void Init(std::vector<Core::Device*>& devices, void* const hwnd)
50 50
 {
51  
-	Display* dpy = XOpenDisplay(NULL);
  51
+	Display* dpy = XOpenDisplay(nullptr);
52 52
 
53 53
 	// xi_opcode is important; it will be used to identify XInput events by
54 54
 	// the polling loop in UpdateInput.
@@ -129,7 +129,7 @@ void KeyboardMouse::SelectEventsForDevice(Window window, XIEventMask *mask, int
129 129
 	// which it can individually filter to get just the events it's interested
130 130
 	// in. So be aware that each KeyboardMouse object actually has its own X11
131 131
 	// "context."
132  
-	m_display = XOpenDisplay(NULL);
  132
+	m_display = XOpenDisplay(nullptr);
133 133
 
134 134
 	int min_keycode, max_keycode;
135 135
 	XDisplayKeycodes(m_display, &min_keycode, &max_keycode);
@@ -326,7 +326,7 @@ int KeyboardMouse::GetId() const
326 326
 	// 0x0110ffff is the top of the unicode character range according
327 327
 	// to keysymdef.h although it is probably more than we need.
328 328
 	if (keysym == NoSymbol || keysym > 0x0110ffff ||
329  
-		XKeysymToString(keysym) == NULL)
  329
+		XKeysymToString(keysym) == nullptr)
330 330
 		m_keyname = std::string();
331 331
 	else
332 332
 		m_keyname = std::string(XKeysymToString(keysym));
30  Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.h
@@ -39,9 +39,9 @@ class KeyboardMouse : public Core::Device
39 39
 	{
40 40
 		friend class KeyboardMouse;
41 41
 	public:
42  
-		std::string GetName() const { return m_keyname; }
  42
+		std::string GetName() const override { return m_keyname; }
43 43
 		Key(Display* display, KeyCode keycode, const char* keyboard);
44  
-		ControlState GetState() const;
  44
+		ControlState GetState() const override;
45 45
 
46 46
 	private:
47 47
 		std::string       m_keyname;
@@ -53,9 +53,9 @@ class KeyboardMouse : public Core::Device
53 53
 	class Button : public Input
54 54
 	{
55 55
 	public:
56  
-		std::string GetName() const { return name; }
  56
+		std::string GetName() const override { return name; }
57 57
 		Button(unsigned int index, unsigned int& buttons);
58  
-		ControlState GetState() const;
  58
+		ControlState GetState() const override;
59 59
 
60 60
 	private:
61 61
 		const unsigned int& m_buttons;
@@ -66,10 +66,10 @@ class KeyboardMouse : public Core::Device
66 66
 	class Cursor : public Input
67 67
 	{
68 68
 	public:
69  
-		std::string GetName() const { return name; }
70  
-		bool IsDetectable() { return false; }
  69
+		std::string GetName() const override { return name; }
  70
+		bool IsDetectable() override { return false; }
71 71
 		Cursor(u8 index, bool positive, const float& cursor);
72  
-		ControlState GetState() const;
  72
+		ControlState GetState() const override;
73 73
 
74 74
 	private:
75 75
 		const float& m_cursor;
@@ -81,10 +81,10 @@ class KeyboardMouse : public Core::Device
81 81
 	class Axis : public Input
82 82
 	{
83 83
 	public:
84  
-		std::string GetName() const { return name; }
85  
-		bool IsDetectable() { return false; }
  84
+		std::string GetName() const override { return name; }
  85
+		bool IsDetectable() override { return false; }
86 86
 		Axis(u8 index, bool positive, const float& axis);
87  
-		ControlState GetState() const;
  87
+		ControlState GetState() const override;
88 88
 
89 89
 	private:
90 90
 		const float& m_axis;
@@ -98,15 +98,15 @@ class KeyboardMouse : public Core::Device
98 98
 	void UpdateCursor();
99 99
 
100 100
 public:
101  
-	bool UpdateInput();
102  
-	bool UpdateOutput();
  101
+	bool UpdateInput() override;
  102
+	bool UpdateOutput() override;
103 103
 
104 104
 	KeyboardMouse(Window window, int opcode, int pointer_deviceid, int keyboard_deviceid);
105 105
 	~KeyboardMouse();
106 106
 
107  
-	std::string GetName() const;
108  
-	std::string GetSource() const;
109  
-	int GetId() const;
  107
+	std::string GetName() const override;
  108
+	std::string GetSource() const override;
  109
+	int GetId() const override;
110 110
 
111 111
 private:
112 112
 	Window      m_window;
4  Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
@@ -16,7 +16,7 @@ void Init(std::vector<Core::Device*>& devices, void* const hwnd)
16 16
 {
17 17
 	memset(&m_state, 0, sizeof(m_state));
18 18
 
19  
-	m_display = XOpenDisplay(NULL);
  19
+	m_display = XOpenDisplay(nullptr);
20 20
 
21 21
 	int min_keycode, max_keycode;
22 22
 	XDisplayKeycodes(m_display, &min_keycode, &max_keycode);
@@ -107,7 +107,7 @@ int KeyboardMouse::GetId() const
107 107
 	// 0x0110ffff is the top of the unicode character range according
108 108
 	// to keysymdef.h although it is probably more than we need.
109 109
 	if (keysym == NoSymbol || keysym > 0x0110ffff ||
110  
-		XKeysymToString(keysym) == NULL)
  110
+		XKeysymToString(keysym) == nullptr)
111 111
 		m_keyname = std::string();
112 112
 	else
113 113
 		m_keyname = std::string(XKeysymToString(keysym));
24  Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.h
@@ -30,9 +30,9 @@ class KeyboardMouse : public Core::Device
30 30
 	{
31 31
 		friend class KeyboardMouse;
32 32
 	public:
33  
-		std::string GetName() const;
  33
+		std::string GetName() const override;
34 34
 		Key(Display* display, KeyCode keycode, const char* keyboard);
35  
-		ControlState GetState() const;
  35
+		ControlState GetState() const override;
36 36
 
37 37
 	private:
38 38
 		std::string       m_keyname;
@@ -44,10 +44,10 @@ class KeyboardMouse : public Core::Device
44 44
 	class Button : public Input
45 45
 	{
46 46
 	public:
47  
-		std::string GetName() const;
  47
+		std::string GetName() const override;
48 48
 		Button(unsigned int index, unsigned int& buttons)
49 49
 			: m_buttons(buttons), m_index(index) {}
50  
-		ControlState GetState() const;
  50
+		ControlState GetState() const override;
51 51
 
52 52
 	private:
53 53
 		const unsigned int& m_buttons;
@@ -57,11 +57,11 @@ class KeyboardMouse : public Core::Device
57 57
 	class Cursor : public Input
58 58
 	{
59 59
 	public:
60  
-		std::string GetName() const;
61  
-		bool IsDetectable() { return false; }
  60
+		std::string GetName() const override;
  61
+		bool IsDetectable() override { return false; }
62 62
 		Cursor(u8 index, bool positive, const float& cursor)
63 63
 			: m_cursor(cursor), m_index(index), m_positive(positive) {}
64  
-		ControlState GetState() const;
  64
+		ControlState GetState() const override;
65 65
 
66 66
 	private:
67 67
 		const float& m_cursor;
@@ -70,15 +70,15 @@ class KeyboardMouse : public Core::Device
70 70
 	};
71 71
 
72 72
 public:
73  
-	bool UpdateInput();
74  
-	bool UpdateOutput();
  73
+	bool UpdateInput() override;
  74
+	bool UpdateOutput() override;
75 75
 
76 76
 	KeyboardMouse(Window window);
77 77
 	~KeyboardMouse();
78 78
 
79  
-	std::string GetName() const;
80  
-	std::string GetSource() const;
81  
-	int GetId() const;
  79
+	std::string GetName() const override;
  80
+	std::string GetSource() const override;
  81
+	int GetId() const override;
82 82
 
83 83
 private:
84 84
 	Window   m_window;
8  Source/Core/InputCommon/UDPWiimote.cpp
@@ -72,7 +72,7 @@ struct UDPWiimote::_d
72 72
 	static bool sranded=false;
73 73
 	if (!sranded)
74 74
 	{
75  
-		srand((unsigned int)time(0));
  75
+		srand((unsigned int)time(nullptr));
76 76
 		sranded=true;
77 77
 	}
78 78
 	bcastMagic=rand() & 0xFFFF;
@@ -107,7 +107,7 @@ struct UDPWiimote::_d
107 107
 		return;
108 108
 	}
109 109
 
110  
-	if ((rv = getaddrinfo(NULL, _port, &hints, &servinfo)) != 0)
  110
+	if ((rv = getaddrinfo(nullptr, _port, &hints, &servinfo)) != 0)
111 111
 	{
112 112
 		cleanup;
113 113
 		err=-1;
@@ -115,7 +115,7 @@ struct UDPWiimote::_d
115 115
 	}
116 116
 
117 117
 	// loop through all the results and bind to everything we can
118  
-	for(p = servinfo; p != NULL; p = p->ai_next)
  118
+	for(p = servinfo; p != nullptr; p = p->ai_next)
119 119
 	{
120 120
 		sock_t sock;
121 121
 		if ((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == BAD_SOCK)
@@ -191,7 +191,7 @@ void UDPWiimote::mainThread()
191 191
 
192 192
 		lk.unlock(); //VERY hacky. don't like it
193 193
 		if (d->exit) return;
194  
-		int rt=select(maxfd,&fds,NULL,NULL,&timeout);
  194
+		int rt=select(maxfd,&fds,nullptr,nullptr,&timeout);
195 195
 		if (d->exit) return;
196 196
 		lk.lock();
197 197
 		if (d->exit) return;
6  Source/Core/InputCommon/UDPWrapper.cpp
@@ -18,7 +18,7 @@ const std::string DefaultPort(const int index)
18 18
 
19 19
 UDPWrapper::UDPWrapper(int indx, const char* const _name) :
20 20
 	ControllerEmu::ControlGroup(_name,GROUP_TYPE_UDPWII),
21  
-	inst(NULL), index(indx),
  21
+	inst(nullptr), index(indx),
22 22
 	updIR(false),updAccel(false),
23 23
 	updButt(false),udpEn(false)
24 24
 	, port(DefaultPort(indx))
@@ -68,7 +68,7 @@ void UDPWrapper::SaveConfig(IniFile::Section *sec, const std::string& defdev, co
68 68
 
69 69
 void UDPWrapper::Refresh()
70 70
 {
71  
-	bool udpAEn=(inst!=NULL);
  71
+	bool udpAEn=(inst!=nullptr);
72 72
 	if (udpEn&&udpAEn)
73 73
 	{
74 74
 		if (strcmp(inst->getPort(),port.c_str()))
@@ -82,7 +82,7 @@ void UDPWrapper::Refresh()
82 82
 	{
83 83
 		if (inst)
84 84
 			delete inst;
85  
-		inst = NULL;
  85
+		inst = nullptr;
86 86
 		return;
87 87
 	}
88 88
 	//else
4  Source/Core/InputCommon/UDPWrapper.h
@@ -20,8 +20,8 @@ class UDPWrapper : public ControllerEmu::ControlGroup
20 20
 	std::string port;
21 21
 
22 22
 	UDPWrapper(int index, const char* const _name);
23  
-	virtual void LoadConfig(IniFile::Section *sec, const std::string& defdev = "", const std::string& base = "");
24  
-	virtual void SaveConfig(IniFile::Section *sec, const std::string& defdev = "", const std::string& base = "");
  23
+	virtual void LoadConfig(IniFile::Section *sec, const std::string& defdev = "", const std::string& base = "") override;
  24
+	virtual void SaveConfig(IniFile::Section *sec, const std::string& defdev = "", const std::string& base = "") override;
25 25
 	void Refresh();
26 26
 	virtual ~UDPWrapper();
27 27
 };
74  Source/Core/VideoBackends/D3D/D3DBase.cpp
@@ -11,29 +11,29 @@
11 11
 namespace DX11
12 12
 {
13 13
 
14  
-HINSTANCE hD3DCompilerDll = NULL;
15  
-D3DREFLECT PD3DReflect = NULL;
16  
-pD3DCompile PD3DCompile = NULL;
  14
+HINSTANCE hD3DCompilerDll = nullptr;
  15
+D3DREFLECT PD3DReflect = nullptr;
  16
+pD3DCompile PD3DCompile = nullptr;
17 17
 int d3dcompiler_dll_ref = 0;
18 18
 
19  
-CREATEDXGIFACTORY PCreateDXGIFactory = NULL;
20  
-HINSTANCE hDXGIDll = NULL;
  19
+CREATEDXGIFACTORY PCreateDXGIFactory = nullptr;
  20
+HINSTANCE hDXGIDll = nullptr;
21 21
 int dxgi_dll_ref = 0;
22 22
 
23 23
 typedef HRESULT (WINAPI* D3D11CREATEDEVICEANDSWAPCHAIN)(IDXGIAdapter*, D3D_DRIVER_TYPE, HMODULE, UINT, CONST D3D_FEATURE_LEVEL*, UINT, UINT, CONST DXGI_SWAP_CHAIN_DESC*, IDXGISwapChain**, ID3D11Device**, D3D_FEATURE_LEVEL*, ID3D11DeviceContext**);
24  
-D3D11CREATEDEVICE PD3D11CreateDevice = NULL;
25  
-D3D11CREATEDEVICEANDSWAPCHAIN PD3D11CreateDeviceAndSwapChain = NULL;
26  
-HINSTANCE hD3DDll = NULL;
  24
+D3D11CREATEDEVICE PD3D11CreateDevice = nullptr;
  25
+D3D11CREATEDEVICEANDSWAPCHAIN PD3D11CreateDeviceAndSwapChain = nullptr;
  26
+HINSTANCE hD3DDll = nullptr;
27 27
 int d3d_dll_ref = 0;
28 28
 
29 29
 namespace D3D
30 30
 {
31 31
 
32  
-ID3D11Device* device = NULL;
33  
-ID3D11DeviceContext* context = NULL;
34  
-IDXGISwapChain* swapchain = NULL;
  32
+ID3D11Device* device = nullptr;
  33
+ID3D11DeviceContext* context = nullptr;
  34
+IDXGISwapChain* swapchain = nullptr;
35 35
 D3D_FEATURE_LEVEL featlevel;
36  
-D3DTexture2D* backbuf = NULL;
  36
+D3DTexture2D* backbuf = nullptr;
37 37
 HWND hWnd;
38 38
 
39 39
 std::vector<DXGI_SAMPLE_DESC> aa_modes; // supported AA modes of the current adapter
@@ -59,12 +59,12 @@ HRESULT LoadDXGI()
59 59
 	hDXGIDll = LoadLibraryA("dxgi.dll");
60 60
 	if (!hDXGIDll)
61 61
 	{
62  
-		MessageBoxA(NULL, "Failed to load dxgi.dll", "Critical error", MB_OK | MB_ICONERROR);
  62
+		MessageBoxA(nullptr, "Failed to load dxgi.dll", "Critical error", MB_OK | MB_ICONERROR);
63 63
 		--dxgi_dll_ref;
64 64
 		return E_FAIL;
65 65
 	}
66 66
 	PCreateDXGIFactory = (CREATEDXGIFACTORY)GetProcAddress(hDXGIDll, "CreateDXGIFactory");
67  
-	if (PCreateDXGIFactory == NULL) MessageBoxA(NULL, "GetProcAddress failed for CreateDXGIFactory!", "Critical error", MB_OK | MB_ICONERROR);
  67
+	if (PCreateDXGIFactory == nullptr) MessageBoxA(nullptr, "GetProcAddress failed for CreateDXGIFactory!", "Critical error", MB_OK | MB_ICONERROR);
68 68
 
69 69
 	return S_OK;
70 70
 }
@@ -77,15 +77,15 @@ HRESULT LoadD3D()
77 77
 	hD3DDll = LoadLibraryA("d3d11.dll");
78 78
 	if (!hD3DDll)
79 79
 	{
80  
-		MessageBoxA(NULL, "Failed to load d3d11.dll", "Critical error", MB_OK | MB_ICONERROR);
  80
+		MessageBoxA(nullptr, "Failed to load d3d11.dll", "Critical error", MB_OK | MB_ICONERROR);
81 81
 		--d3d_dll_ref;
82 82
 		return E_FAIL;
83 83
 	}
84 84
 	PD3D11CreateDevice = (D3D11CREATEDEVICE)GetProcAddress(hD3DDll, "D3D11CreateDevice");
85  
-	if (PD3D11CreateDevice == NULL) MessageBoxA(NULL, "GetProcAddress failed for D3D11CreateDevice!", "Critical error", MB_OK | MB_ICONERROR);
  85
+	if (PD3D11CreateDevice == nullptr) MessageBoxA(nullptr, "GetProcAddress failed for D3D11CreateDevice!", "Critical error", MB_OK | MB_ICONERROR);
86 86
 
87 87
 	PD3D11CreateDeviceAndSwapChain = (D3D11CREATEDEVICEANDSWAPCHAIN)GetProcAddress(hD3DDll, "D3D11CreateDeviceAndSwapChain");
88  
-	if (PD3D11CreateDeviceAndSwapChain == NULL) MessageBoxA(NULL, "GetProcAddress failed for D3D11CreateDeviceAndSwapChain!", "Critical error", MB_OK | MB_ICONERROR);
  88
+	if (PD3D11CreateDeviceAndSwapChain == nullptr) MessageBoxA(nullptr, "GetProcAddress failed for D3D11CreateDeviceAndSwapChain!", "Critical error", MB_OK | MB_ICONERROR);
89 89
 
90 90
 	return S_OK;
91 91
 }
@@ -104,7 +104,7 @@ HRESULT LoadD3DCompiler()
104 104
 		hD3DCompilerDll = LoadLibraryA("D3DCompiler_42.dll");
105 105
 		if (!hD3DCompilerDll)
106 106
 		{
107  
-			MessageBoxA(NULL, "Failed to load D3DCompiler_42.dll, update your DX11 runtime, please", "Critical error", MB_OK | MB_ICONERROR);
  107
+			MessageBoxA(nullptr, "Failed to load D3DCompiler_42.dll, update your DX11 runtime, please", "Critical error", MB_OK | MB_ICONERROR);
108 108
 			return E_FAIL;
109 109
 		}
110 110
 		else
@@ -114,9 +114,9 @@ HRESULT LoadD3DCompiler()
114 114
 	}
115 115
 
116 116
 	PD3DReflect = (D3DREFLECT)GetProcAddress(hD3DCompilerDll, "D3DReflect");
117  
-	if (PD3DReflect == NULL) MessageBoxA(NULL, "GetProcAddress failed for D3DReflect!", "Critical error", MB_OK | MB_ICONERROR);
  117
+	if (PD3DReflect == nullptr) MessageBoxA(nullptr, "GetProcAddress failed for D3DReflect!", "Critical error", MB_OK | MB_ICONERROR);
118 118
 	PD3DCompile = (pD3DCompile)GetProcAddress(hD3DCompilerDll, "D3DCompile");
119  
-	if (PD3DCompile == NULL) MessageBoxA(NULL, "GetProcAddress failed for D3DCompile!", "Critical error", MB_OK | MB_ICONERROR);
  119
+	if (PD3DCompile == nullptr) MessageBoxA(nullptr, "GetProcAddress failed for D3DCompile!", "Critical error", MB_OK | MB_ICONERROR);
120 120
 
121 121
 	return S_OK;
122 122
 }
@@ -127,8 +127,8 @@ void UnloadDXGI()
127 127
 	if (--dxgi_dll_ref != 0) return;
128 128
 
129 129
 	if(hDXGIDll) FreeLibrary(hDXGIDll);
130  
-	hDXGIDll = NULL;
131  
-	PCreateDXGIFactory = NULL;
  130
+	hDXGIDll = nullptr;
  131
+	PCreateDXGIFactory = nullptr;
132 132
 }
133 133
 
134 134
 void UnloadD3D()
@@ -137,9 +137,9 @@ void UnloadD3D()
137 137
 	if (--d3d_dll_ref != 0) return;
138 138
 
139 139
 	if(hD3DDll) FreeLibrary(hD3DDll);
140  
-	hD3DDll = NULL;
141  
-	PD3D11CreateDevice = NULL;
142  
-	PD3D11CreateDeviceAndSwapChain = NULL;
  140
+	hD3DDll = nullptr;
  141
+	PD3D11CreateDevice = nullptr;
  142
+	PD3D11CreateDeviceAndSwapChain = nullptr;
143 143
 }
144 144
 
145 145
 void UnloadD3DCompiler()
@@ -148,8 +148,8 @@ void UnloadD3DCompiler()
148 148
 	if (--d3dcompiler_dll_ref != 0) return;
149 149
 
150 150
 	if (hD3DCompilerDll) FreeLibrary(hD3DCompilerDll);
151  
-	hD3DCompilerDll = NULL;
152  
-	PD3DReflect = NULL;
  151
+	hD3DCompilerDll = nullptr;
  152
+	PD3DReflect = nullptr;
153 153
 }
154 154
 
155 155
 std::vector<DXGI_SAMPLE_DESC> EnumAAModes(IDXGIAdapter* adapter)
@@ -161,7 +161,7 @@ void UnloadD3DCompiler()
161 161
 	ID3D11Device* device;
162 162
 	ID3D11DeviceContext* context;
163 163
 	D3D_FEATURE_LEVEL feat_level;
164  
-	HRESULT hr = PD3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, NULL, D3D11_CREATE_DEVICE_SINGLETHREADED, supported_feature_levels, NUM_SUPPORTED_FEATURE_LEVELS, D3D11_SDK_VERSION, &device, &feat_level, &context);
  164
+	HRESULT hr = PD3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, nullptr, D3D11_CREATE_DEVICE_SINGLETHREADED, supported_feature_levels, NUM_SUPPORTED_FEATURE_LEVELS, D3D11_SDK_VERSION, &device, &feat_level, &context);
165 165
 	if (FAILED(hr) || feat_level == D3D_FEATURE_LEVEL_10_0)
166 166
 	{
167 167
 		DXGI_SAMPLE_DESC desc;
@@ -193,7 +193,7 @@ void UnloadD3DCompiler()
193 193
 D3D_FEATURE_LEVEL GetFeatureLevel(IDXGIAdapter* adapter)
194 194
 {
195 195
 	D3D_FEATURE_LEVEL feat_level = D3D_FEATURE_LEVEL_9_1;
196  
-	PD3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, NULL, D3D11_CREATE_DEVICE_SINGLETHREADED, supported_feature_levels, NUM_SUPPORTED_FEATURE_LEVELS, D3D11_SDK_VERSION, NULL, &feat_level, NULL);
  196
+	PD3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, nullptr, D3D11_CREATE_DEVICE_SINGLETHREADED, supported_feature_levels, NUM_SUPPORTED_FEATURE_LEVELS, D3D11_SDK_VERSION, nullptr, &feat_level, nullptr);
197 197
 	return feat_level;
198 198
 }
199 199
 
@@ -269,7 +269,7 @@ HRESULT Create(HWND wnd)
269 269
 	mode_desc.Height = yres;
270 270
 	mode_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
271 271
 	mode_desc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;
272  
-	hr = output->FindClosestMatchingMode(&mode_desc, &swap_chain_desc.BufferDesc, NULL);
  272
+	hr = output->FindClosestMatchingMode(&mode_desc, &swap_chain_desc.BufferDesc, nullptr);
273 273
 	if (FAILED(hr)) MessageBox(wnd, _T("Failed to find a supported video mode"), _T("Dolphin Direct3D 11 backend"), MB_OK | MB_ICONERROR);
274 274
 
275 275
 	// forcing buffer resolution to xres and yres.. TODO: The new video mode might not actually be supported!
@@ -280,7 +280,7 @@ HRESULT Create(HWND wnd)
280 280
 	// Creating debug devices can sometimes fail if the user doesn't have the correct
281 281
 	// version of the DirectX SDK. If it does, simply fallback to a non-debug device.
282 282
 	{
283  
-		hr = PD3D11CreateDeviceAndSwapChain(adapter, D3D_DRIVER_TYPE_UNKNOWN, NULL,
  283
+		hr = PD3D11CreateDeviceAndSwapChain(adapter, D3D_DRIVER_TYPE_UNKNOWN, nullptr,
284 284
 											D3D11_CREATE_DEVICE_SINGLETHREADED | D3D11_CREATE_DEVICE_DEBUG,
285 285
 											supported_feature_levels, NUM_SUPPORTED_FEATURE_LEVELS,
286 286
 											D3D11_SDK_VERSION, &swap_chain_desc, &swapchain, &device,
@@ -290,7 +290,7 @@ HRESULT Create(HWND wnd)
290 290
 	if (FAILED(hr))
291 291
 #endif
292 292
 	{
293  
-		hr = PD3D11CreateDeviceAndSwapChain(adapter, D3D_DRIVER_TYPE_UNKNOWN, NULL,
  293
+		hr = PD3D11CreateDeviceAndSwapChain(adapter, D3D_DRIVER_TYPE_UNKNOWN, nullptr,
294 294
 											D3D11_CREATE_DEVICE_SINGLETHREADED,
295 295
 											supported_feature_levels, NUM_SUPPORTED_FEATURE_LEVELS,
296 296
 											D3D11_SDK_VERSION, &swap_chain_desc, &swapchain, &device,
@@ -322,11 +322,11 @@ HRESULT Create(HWND wnd)
322 322
 	}
323 323
 	backbuf = new D3DTexture2D(buf, D3D11_BIND_RENDER_TARGET);
324 324
 	SAFE_RELEASE(buf);
325  
-	CHECK(backbuf!=NULL, "Create back buffer texture");
  325
+	CHECK(backbuf!=nullptr, "Create back buffer texture");
326 326
 	SetDebugObjectName((ID3D11DeviceChild*)backbuf->GetTex(), "backbuffer texture");
327 327
 	SetDebugObjectName((ID3D11DeviceChild*)backbuf->GetRTV(), "backbuffer render target view");
328 328
 
329  
-	context->OMSetRenderTargets(1, &backbuf->GetRTV(), NULL);
  329
+	context->OMSetRenderTargets(1, &backbuf->GetRTV(), nullptr);
330 330
 
331 331
 	// BGRA textures are easier to deal with in TextureCache, but might not be supported by the hardware
332 332
 	UINT format_support;
@@ -356,7 +356,7 @@ void Close()
356 356
 	{
357 357
 		NOTICE_LOG(VIDEO, "Successfully released all device references!");
358 358
 	}
359  
-	device = NULL;
  359
+	device = nullptr;
360 360
 
361 361
 	// unload DLLs
362 362
 	UnloadD3D();
@@ -439,7 +439,7 @@ void Reset()
439 439
 	}
440 440
 	backbuf = new D3DTexture2D(buf, D3D11_BIND_RENDER_TARGET);
441 441
 	SAFE_RELEASE(buf);
442  
-	CHECK(backbuf!=NULL, "Create back buffer texture");
  442
+	CHECK(backbuf!=nullptr, "Create back buffer texture");
443 443
 	SetDebugObjectName((ID3D11DeviceChild*)backbuf->GetTex(), "backbuffer texture");
444 444
 	SetDebugObjectName((ID3D11DeviceChild*)backbuf->GetRTV(), "backbuffer render target view");
445 445
 }
@@ -452,7 +452,7 @@ bool BeginFrame()
452 452
 		return false;
453 453
 	}
454 454
 	bFrameInProgress = true;
455  
-	return (device != NULL);
  455
+	return (device != nullptr);
456 456
 }
457 457
 
458 458
 void EndFrame()
6  Source/Core/VideoBackends/D3D/D3DBase.h
@@ -14,9 +14,9 @@
14 14
 namespace DX11
15 15
 {
16 16
 
17  
-#define SAFE_RELEASE(x) { if (x) (x)->Release(); (x) = NULL; }
18  
-#define SAFE_DELETE(x) { delete (x); (x) = NULL; }
19  
-#define SAFE_DELETE_ARRAY(x) { delete[] (x); (x) = NULL; }
  17
+#define SAFE_RELEASE(x) { if (x) (x)->Release(); (x) = nullptr; }
  18
+#define SAFE_DELETE(x) { delete (x); (x) = nullptr; }
  19
+#define SAFE_DELETE_ARRAY(x) { delete[] (x); (x) = nullptr; }
20 20
 #define CHECK(cond, Message, ...) if (!(cond)) { PanicAlert(__FUNCTION__ "Failed in %s at line %d: " Message, __FILE__, __LINE__, __VA_ARGS__); }
21 21
 
22 22
 class D3DTexture2D;
2  Source/Core/VideoBackends/D3D/D3DBlob.cpp
@@ -9,7 +9,7 @@
9 9
 namespace DX11
10 10
 {
11 11
 
12  
-D3DBlob::D3DBlob(unsigned int blob_size, const u8* init_data) : ref(1), size(blob_size), blob(NULL)
  12
+D3DBlob::D3DBlob(unsigned int blob_size, const u8* init_data) : ref(1), size(blob_size), blob(nullptr)
13 13
 {
14 14
 	data = new u8[blob_size];
15 15
 	if (init_data) memcpy(data, init_data, size);
2  Source/Core/VideoBackends/D3D/D3DBlob.h
@@ -16,7 +16,7 @@ class D3DBlob
16 16
 {
17 17
 public:
18 18
 	// memory will be copied into an own buffer
19  
-	D3DBlob(unsigned int blob_size, const u8* init_data = NULL);
  19
+	D3DBlob(unsigned int blob_size, const u8* init_data = nullptr);
20 20
 
21 21
 	// d3dblob will be AddRef'd
22 22
 	D3DBlob(ID3D10Blob* d3dblob);
48  Source/Core/VideoBackends/D3D/D3DShader.cpp
@@ -18,9 +18,9 @@
18 18
 ID3D11VertexShader* CreateVertexShaderFromByteCode(const void* bytecode, unsigned int len)
19 19
 {
20 20
 	ID3D11VertexShader* v_shader;
21  
-	HRESULT hr = D3D::device->CreateVertexShader(bytecode, len, NULL, &v_shader);
  21
+	HRESULT hr = D3D::device->CreateVertexShader(bytecode, len, nullptr, &v_shader);
22 22
 	if (FAILED(hr))
23  
-		return NULL;
  23
+		return nullptr;
24 24
 
25 25
 	return v_shader;
26 26
 }
@@ -28,15 +28,15 @@ ID3D11VertexShader* CreateVertexShaderFromByteCode(const void* bytecode, unsigne
28 28
 // code->bytecode
29 29
 bool CompileVertexShader(const char* code, unsigned int len, D3DBlob** blob)
30 30
 {
31  
-	ID3D10Blob* shaderBuffer = NULL;
32  
-	ID3D10Blob* errorBuffer = NULL;
  31
+	ID3D10Blob* shaderBuffer = nullptr;
  32
+	ID3D10Blob* errorBuffer = nullptr;
33 33
 
34 34
 #if defined(_DEBUG) || defined(DEBUGFAST)
35 35
 	UINT flags = D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY|D3D10_SHADER_DEBUG|D3D10_SHADER_WARNINGS_ARE_ERRORS;
36 36
 #else
37 37
 	UINT flags = D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY|D3D10_SHADER_OPTIMIZATION_LEVEL3|D3D10_SHADER_SKIP_VALIDATION;
38 38
 #endif
39  
-	HRESULT hr = PD3DCompile(code, len, NULL, NULL, NULL, "main", D3D::VertexShaderVersionString(),
  39
+	HRESULT hr = PD3DCompile(code, len, nullptr, nullptr, nullptr, "main", D3D::VertexShaderVersionString(),
40 40
 							flags, 0, &shaderBuffer, &errorBuffer);
41 41
 	if (errorBuffer)
42 42
 	{
@@ -59,7 +59,7 @@ bool CompileVertexShader(const char* code, unsigned int len, D3DBlob** blob)
59 59
 						D3D::VertexShaderVersionString(),
60 60
 						(char*)errorBuffer->GetBufferPointer());
61 61
 
62  
-		*blob = NULL;
  62
+		*blob = nullptr;
63 63
 		errorBuffer->Release();
64 64
 	}
65 65
 	else
@@ -74,9 +74,9 @@ bool CompileVertexShader(const char* code, unsigned int len, D3DBlob** blob)
74 74
 ID3D11GeometryShader* CreateGeometryShaderFromByteCode(const void* bytecode, unsigned int len)
75 75
 {
76 76
 	ID3D11GeometryShader* g_shader;
77  
-	HRESULT hr = D3D::device->CreateGeometryShader(bytecode, len, NULL, &g_shader);
  77
+	HRESULT hr = D3D::device->CreateGeometryShader(bytecode, len, nullptr, &g_shader);
78 78
 	if (FAILED(hr))
79  
-		return NULL;
  79
+		return nullptr;
80 80
 
81 81
 	return g_shader;
82 82
 }
@@ -85,15 +85,15 @@ ID3D11GeometryShader* CreateGeometryShaderFromByteCode(const void* bytecode, uns
85 85
 bool CompileGeometryShader(const char* code, unsigned int len, D3DBlob** blob,
86 86
 	const D3D_SHADER_MACRO* pDefines)
87 87
 {
88  
-	ID3D10Blob* shaderBuffer = NULL;
89  
-	ID3D10Blob* errorBuffer = NULL;
  88
+	ID3D10Blob* shaderBuffer = nullptr;
  89
+	ID3D10Blob* errorBuffer = nullptr;
90 90
 
91 91
 #if defined(_DEBUG) || defined(DEBUGFAST)
92 92
 	UINT flags = D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY|D3D10_SHADER_DEBUG|D3D10_SHADER_WARNINGS_ARE_ERRORS;
93 93
 #else
94 94
 	UINT flags = D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY|D3D10_SHADER_OPTIMIZATION_LEVEL3|D3D10_SHADER_SKIP_VALIDATION;
95 95
 #endif
96  
-	HRESULT hr = PD3DCompile(code, len, NULL, pDefines, NULL, "main", D3D::GeometryShaderVersionString(),
  96
+	HRESULT hr = PD3DCompile(code, len, nullptr, pDefines, nullptr, "main", D3D::GeometryShaderVersionString(),
97 97
 							flags, 0, &shaderBuffer, &errorBuffer);
98 98
 
99 99
 	if (errorBuffer)
@@ -117,7 +117,7 @@ bool CompileGeometryShader(const char* code, unsigned int len, D3DBlob** blob,
117 117
 						D3D::GeometryShaderVersionString(),
118 118
 						(char*)errorBuffer->GetBufferPointer());
119 119
 
120  
-		*blob = NULL;
  120
+		*blob = nullptr;
121 121
 		errorBuffer->Release();
122 122
 	}
123 123
 	else
@@ -132,11 +132,11 @@ bool CompileGeometryShader(const char* code, unsigned int len, D3DBlob** blob,
132 132
 ID3D11PixelShader* CreatePixelShaderFromByteCode(const void* bytecode, unsigned int len)
133 133
 {
134 134
 	ID3D11PixelShader* p_shader;
135  
-	HRESULT hr = D3D::device->CreatePixelShader(bytecode, len, NULL, &p_shader);
  135
+	HRESULT hr = D3D::device->CreatePixelShader(bytecode, len, nullptr, &p_shader);
136 136
 	if (FAILED(hr))
137 137
 	{
138 138
 		PanicAlert("CreatePixelShaderFromByteCode failed at %s %d\n", __FILE__, __LINE__);
139  
-		p_shader = NULL;
  139
+		p_shader = nullptr;
140 140
 	}
141 141
 	return p_shader;
142 142
 }
@@ -145,15 +145,15 @@ ID3D11PixelShader* CreatePixelShaderFromByteCode(const void* bytecode, unsigned
145 145
 bool CompilePixelShader(const char* code, unsigned int len, D3DBlob** blob,
146 146
 	const D3D_SHADER_MACRO* pDefines)
147 147
 {
148  
-	ID3D10Blob* shaderBuffer = NULL;
149  
-	ID3D10Blob* errorBuffer = NULL;
  148
+	ID3D10Blob* shaderBuffer = nullptr;
  149
+	ID3D10Blob* errorBuffer = nullptr;
150 150
 
151 151
 #if defined(_DEBUG) || defined(DEBUGFAST)
152 152
 	UINT flags = D3D10_SHADER_DEBUG|D3D10_SHADER_WARNINGS_ARE_ERRORS;
153 153
 #else
154 154
 	UINT flags = D3D10_SHADER_OPTIMIZATION_LEVEL3;
155 155
 #endif
156  
-	HRESULT hr = PD3DCompile(code, len, NULL, pDefines, NULL, "main", D3D::PixelShaderVersionString(),
  156
+	HRESULT hr = PD3DCompile(code, len, nullptr, pDefines, nullptr, "main", D3D::PixelShaderVersionString(),
157 157
 							flags, 0, &shaderBuffer, &errorBuffer);
158 158
 
159 159
 	if (errorBuffer)
@@ -177,7 +177,7 @@ bool CompilePixelShader(const char* code, unsigned int len, D3DBlob** blob,
177 177
 						D3D::PixelShaderVersionString(),
178 178
 						(char*)errorBuffer->GetBufferPointer());
179 179
 
180  
-		*blob = NULL;
  180
+		*blob = nullptr;
181 181
 		errorBuffer->Release();
182 182
 	}
183 183
 	else
@@ -192,33 +192,33 @@ bool CompilePixelShader(const char* code, unsigned int len, D3DBlob** blob,
192 192
 ID3D11VertexShader* CompileAndCreateVertexShader(const char* code,
193 193
 	unsigned int len)
194 194
 {
195  
-	D3DBlob* blob = NULL;
  195
+	D3DBlob* blob = nullptr;
196 196
 	if (CompileVertexShader(code, len, &blob))
197 197
 	{
198 198
 		ID3D11VertexShader* v_shader = CreateVertexShaderFromByteCode(blob);
199 199
 		blob->Release();
200 200
 		return v_shader;
201 201
 	}
202  
-	return NULL;
  202
+	return nullptr;
203 203
 }
204 204
 
205 205
 ID3D11GeometryShader* CompileAndCreateGeometryShader(const char* code,
206 206
 	unsigned int len, const D3D_SHADER_MACRO* pDefines)
207 207
 {
208  
-	D3DBlob* blob = NULL;
  208
+	D3DBlob* blob = nullptr;
209 209
 	if (CompileGeometryShader(code, len, &blob, pDefines))
210 210
 	{
211 211
 		ID3D11GeometryShader* g_shader = CreateGeometryShaderFromByteCode(blob);
212 212
 		blob->Release();
213 213
 		return g_shader;
214 214
 	}
215  
-	return NULL;
  215
+	return nullptr;
216 216
 }
217 217
 
218 218
 ID3D11PixelShader* CompileAndCreatePixelShader(const char* code,
219 219
 	unsigned int len)
220 220
 {
221  
-	D3DBlob* blob = NULL;
  221
+	D3DBlob* blob = nullptr;
222 222
 	CompilePixelShader(code, len, &blob);
223 223
 	if (blob)
224 224
 	{
@@ -226,7 +226,7 @@ ID3D11PixelShader* CompileAndCreatePixelShader(const char* code,
226 226
 		blob->Release();
227 227
 		return p_shader;
228 228
 	}
229  
-	return NULL;
  229
+	return nullptr;
230 230
 }
231 231
 
232 232
 }  // namespace
8  Source/Core/VideoBackends/D3D/D3DShader.h
@@ -23,15 +23,15 @@
23 23
 	bool CompileVertexShader(const char* code, unsigned int len,
24 24
 		D3DBlob** blob);
25 25
 	bool CompileGeometryShader(const char* code, unsigned int len,
26  
-		D3DBlob** blob, const D3D_SHADER_MACRO* pDefines = NULL);
  26
+		D3DBlob** blob, const D3D_SHADER_MACRO* pDefines = nullptr);
27 27
 	bool CompilePixelShader(const char* code, unsigned int len,
28  
-		D3DBlob** blob, const D3D_SHADER_MACRO* pDefines = NULL);
  28
+		D3DBlob** blob, const D3D_SHADER_MACRO* pDefines = nullptr);
29 29
 
30 30
 	// Utility functions
31 31
 	ID3D11VertexShader* CompileAndCreateVertexShader(const char* code,
32 32
 		unsigned int len);
33 33
 	ID3D11GeometryShader* CompileAndCreateGeometryShader(const char* code,
34  
-		unsigned int len, const D3D_SHADER_MACRO* pDefines = NULL);
  34
+		unsigned int len, const D3D_SHADER_MACRO* pDefines = nullptr);
35 35
 	ID3D11PixelShader* CompileAndCreatePixelShader(const char* code,
36 36
 		unsigned int len);
37 37
 
@@ -44,7 +44,7 @@
44 44
 
45 45
 	inline ID3D11VertexShader* CompileAndCreateVertexShader(D3DBlob* code)
46 46
 	{ return CompileAndCreateVertexShader((const char*)code->Data(), code->Size()); }
47  
-	inline ID3D11GeometryShader* CompileAndCreateGeometryShader(D3DBlob* code, const D3D_SHADER_MACRO* pDefines = NULL)
  47
+	inline ID3D11GeometryShader* CompileAndCreateGeometryShader(D3DBlob* code, const D3D_SHADER_MACRO* pDefines = nullptr)
48 48
 	{ return CompileAndCreateGeometryShader((const char*)code->Data(), code->Size(), pDefines); }
49 49
 	inline ID3D11PixelShader* CompileAndCreatePixelShader(D3DBlob* code)
50 50
 	{ return CompileAndCreatePixelShader((const char*)code->Data(), code->Size()); }
8  Source/Core/VideoBackends/D3D/D3DTexture.cpp
@@ -39,7 +39,7 @@ void ReplaceRGBATexture2D(ID3D11Texture2D* pTexture, const u8* buffer, unsigned
39 39
 
40 40
 D3DTexture2D* D3DTexture2D::Create(unsigned int width, unsigned int height, D3D11_BIND_FLAG bind, D3D11_USAGE usage, DXGI_FORMAT fmt, unsigned int levels)
41 41
 {
42  
-	ID3D11Texture2D* pTexture = NULL;
  42
+	ID3D11Texture2D* pTexture = nullptr;
43 43
 	HRESULT hr;
44 44
 
45 45
 	D3D11_CPU_ACCESS_FLAG cpuflags;
@@ -47,11 +47,11 @@ D3DTexture2D* D3DTexture2D::Create(unsigned int width, unsigned int height, D3D1
47 47
 	else if (usage == D3D11_USAGE_DYNAMIC) cpuflags = D3D11_CPU_ACCESS_WRITE;
48 48
 	else cpuflags = (D3D11_CPU_ACCESS_FLAG)0;
49 49
 	D3D11_TEXTURE2D_DESC texdesc = CD3D11_TEXTURE2D_DESC(fmt, width, height, 1, levels, bind, usage, cpuflags);
50  
-	hr = D3D::device->CreateTexture2D(&texdesc, NULL, &pTexture);
  50
+	hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &pTexture);
51 51
 	if (FAILED(hr))
52 52
 	{
53 53
 		PanicAlert("Failed to create texture at %s, line %d: hr=%#x\n", __FILE__, __LINE__, hr);
54  
-		return NULL;
  54
+		return nullptr;
55 55
 	}
56 56
 
57 57
 	D3DTexture2D* ret = new D3DTexture2D(pTexture, bind);
@@ -82,7 +82,7 @@ UINT D3DTexture2D::Release()
82 82
 
83 83
 D3DTexture2D::D3DTexture2D(ID3D11Texture2D* texptr, D3D11_BIND_FLAG bind,
84 84
 							DXGI_FORMAT srv_format, DXGI_FORMAT dsv_format, DXGI_FORMAT rtv_format, bool multisampled)
85  
-							: ref(1), tex(texptr), srv(NULL), rtv(NULL), dsv(NULL)
  85
+							: ref(1), tex(texptr), srv(nullptr), rtv(nullptr), dsv(nullptr)
86 86
 {
87 87
 	D3D11_SRV_DIMENSION srv_dim = multisampled ? D3D11_SRV_DIMENSION_TEXTURE2DMS : D3D11_SRV_DIMENSION_TEXTURE2D;
88 88
 	D3D11_DSV_DIMENSION dsv_dim = multisampled ? D3D11_DSV_DIMENSION_TEXTURE2DMS : D3D11_DSV_DIMENSION_TEXTURE2D;
64  Source/Core/VideoBackends/D3D/D3DUtil.cpp
@@ -21,10 +21,10 @@
21 21
 class UtilVertexBuffer
22 22
 {
23 23
 public:
24  
-	UtilVertexBuffer(int size) : buf(NULL), offset(0), max_size(size)
  24
+	UtilVertexBuffer(int size) : buf(nullptr), offset(0), max_size(size)
25 25
 	{
26 26
 		D3D11_BUFFER_DESC desc = CD3D11_BUFFER_DESC(max_size, D3D11_BIND_VERTEX_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE);
27  
-		device->CreateBuffer(&desc, NULL, &buf);
  27
+		device->CreateBuffer(&desc, nullptr, &buf);
28 28
 	}
29 29
 	~UtilVertexBuffer()
30 30
 	{
@@ -72,7 +72,7 @@ class UtilVertexBuffer
72 72
 };
73 73
 
74 74
 CD3DFont font;
75  
-UtilVertexBuffer* util_vbuf = NULL;
  75
+UtilVertexBuffer* util_vbuf = nullptr;
76 76
 
77 77
 #define MAX_NUM_VERTICES 50*6
78 78
 struct FONT2DVERTEX {
@@ -93,11 +93,11 @@ inline FONT2DVERTEX InitFont2DVertex(float x, float y, u32 color, float tu, floa
93 93
 
94 94
 CD3DFont::CD3DFont() : m_dwTexWidth(512), m_dwTexHeight(512)
95 95
 {
96  
-	m_pTexture    = NULL;
97  
-	m_pVB         = NULL;
98  
-	m_InputLayout = NULL;
99  
-	m_pshader     = NULL;
100  
-	m_vshader     = NULL;
  96
+	m_pTexture    = nullptr;
  97
+	m_pVB         = nullptr;
  98
+	m_InputLayout = nullptr;
  99
+	m_pshader     = nullptr;
  100
+	m_vshader     = nullptr;
101 101
 }
102 102
 
103 103
 const char fontpixshader[] = {
@@ -161,8 +161,8 @@ int CD3DFont::Init()
161 161
 	bmi.bmiHeader.biBitCount    = 32;
162 162
 
163 163
 	// Create a DC and a bitmap for the font
164  
-	HDC hDC = CreateCompatibleDC(NULL);
165  
-	HBITMAP hbmBitmap = CreateDIBSection(hDC, &bmi, DIB_RGB_COLORS, (void**)&pBitmapBits, NULL, 0);
  164
+	HDC hDC = CreateCompatibleDC(nullptr);
  165
+	HBITMAP hbmBitmap = CreateDIBSection(hDC, &bmi, DIB_RGB_COLORS, (void**)&pBitmapBits, nullptr, 0);
166 166
 	SetMapMode(hDC, MM_TEXT);
167 167
 
168 168
 	// create a GDI font
@@ -170,7 +170,7 @@ int CD3DFont::Init()
170 170
 							FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
171 171
 							CLIP_DEFAULT_PRECIS, PROOF_QUALITY,
172 172
 							VARIABLE_PITCH, _T("Tahoma"));
173  
-	if (NULL == hFont) return E_FAIL;
  173
+	if (nullptr == hFont) return E_FAIL;
174 174
 
175 175
 	HGDIOBJ hOldbmBitmap = SelectObject(hDC, hbmBitmap);
176 176
 	HGDIOBJ hOldFont = SelectObject(hDC, hFont);
@@ -199,7 +199,7 @@ int CD3DFont::Init()
199 199
 			y += m_LineHeight;
200 200
 		}
201 201
 
202  
-		ExtTextOutA(hDC, x+1, y+0, ETO_OPAQUE | ETO_CLIPPED, NULL, str, 1, NULL);
  202
+		ExtTextOutA(hDC, x+1, y+0, ETO_OPAQUE | ETO_CLIPPED, nullptr, str, 1, nullptr);
203 203
 		m_fTexCoords[c][0] = ((float)(x+0))/m_dwTexWidth;
204 204
 		m_fTexCoords[c][1] = ((float)(y+0))/m_dwTexHeight;
205 205
 		m_fTexCoords[c][2] = ((float)(x+0+size.cx))/m_dwTexWidth;
@@ -215,7 +215,7 @@ int CD3DFont::Init()
215 215
 	D3D11_TEXTURE2D_DESC texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R8G8B8A8_UNORM, m_dwTexWidth, m_dwTexHeight,
216 216
 										1, 1, D3D11_BIND_SHADER_RESOURCE, D3D11_USAGE_DYNAMIC,
217 217
 										D3D11_CPU_ACCESS_WRITE);
218  
-	hr = device->CreateTexture2D(&texdesc, NULL, &buftex);
  218
+	hr = device->CreateTexture2D(&texdesc, nullptr, &buftex);
219 219
 	if (FAILED(hr))
220 220
 	{
221 221
 		PanicAlert("Failed to create font texture");
@@ -240,7 +240,7 @@ int CD3DFont::Init()
240 240
 
241 241
 	// Done updating texture, so clean up used objects
242 242
 	context->Unmap(buftex, 0);
243  
-	hr = D3D::device->CreateShaderResourceView(buftex, NULL, &m_pTexture);
  243
+	hr = D3D::device->CreateShaderResourceView(buftex, nullptr, &m_pTexture);
244 244
 	if (FAILED(hr)) PanicAlert("Failed to create shader resource view at %s %d\n", __FILE__, __LINE__);
245 245
 	SAFE_RELEASE(buftex);
246 246
 
@@ -252,14 +252,14 @@ int CD3DFont::Init()
252 252
 
253 253
 	// setup device objects for drawing
254 254
 	m_pshader = D3D::CompileAndCreatePixelShader(fontpixshader, sizeof(fontpixshader));
255  
-	if (m_pshader == NULL) PanicAlert("Failed to create pixel shader, %s %d\n", __FILE__, __LINE__);
  255
+	if (m_pshader == nullptr) PanicAlert("Failed to create pixel shader, %s %d\n", __FILE__, __LINE__);
256 256
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_pshader, "pixel shader of a CD3DFont object");
257 257
 
258 258
 	D3DBlob* vsbytecode;
259 259
 	D3D::CompileVertexShader(fontvertshader, sizeof(fontvertshader), &vsbytecode);
260  
-	if (vsbytecode == NULL) PanicAlert("Failed to compile vertex shader, %s %d\n", __FILE__, __LINE__);
  260
+	if (vsbytecode == nullptr) PanicAlert("Failed to compile vertex shader, %s %d\n", __FILE__, __LINE__);
261 261
 	m_vshader = D3D::CreateVertexShaderFromByteCode(vsbytecode);
262  
-	if (m_vshader == NULL) PanicAlert("Failed to create vertex shader, %s %d\n", __FILE__, __LINE__);
  262
+	if (m_vshader == nullptr) PanicAlert("Failed to create vertex shader, %s %d\n", __FILE__, __LINE__);
263 263
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_vshader, "vertex shader of a CD3DFont object");
264 264
 
265 265
 	const D3D11_INPUT_ELEMENT_DESC desc[] =
@@ -293,7 +293,7 @@ int CD3DFont::Init()
293 293
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_raststate, "rasterizer state of a CD3DFont object");
294 294
 
295 295
 	D3D11_BUFFER_DESC vbdesc = CD3D11_BUFFER_DESC(MAX_NUM_VERTICES*sizeof(FONT2DVERTEX), D3D11_BIND_VERTEX_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE);
296  
-	if (FAILED(hr = device->CreateBuffer(&vbdesc, NULL, &m_pVB)))
  296
+	if (FAILED(hr = device->CreateBuffer(&vbdesc, nullptr, &m_pVB)))
297 297
 	{
298 298
 		PanicAlert("Failed to create font vertex buffer at %s, line %d\n", __FILE__, __LINE__);
299 299
 		return hr;
@@ -347,8 +347,8 @@ int CD3DFont::DrawTextScaled(float x, float y, float size, float spacing, u32 dw
347 347
 	D3D::stateman->PushRasterizerState(m_raststate);
348 348
 	D3D::stateman->Apply();
349 349
 
350  
-	D3D::context->PSSetShader(m_pshader, NULL, 0);
351  
-	D3D::context->VSSetShader(m_vshader, NULL, 0);
  350
+	D3D::context->PSSetShader(m_pshader, nullptr, 0);
  351
+	D3D::context->VSSetShader(m_vshader, nullptr, 0);
352 352
 
353 353
 	D3D::context->IASetInputLayout(m_InputLayout);
354 354
 	D3D::context->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
@@ -415,8 +415,8 @@ int CD3DFont::DrawTextScaled(float x, float y, float size, float spacing, u32 dw
415 415
 	return S_OK;
416 416
 }
417 417
 
418  
-ID3D11SamplerState* linear_copy_sampler = NULL;
419  
-ID3D11SamplerState* point_copy_sampler = NULL;
  418
+ID3D11SamplerState* linear_copy_sampler = nullptr;
  419
+ID3D11SamplerState* point_copy_sampler = nullptr;
420 420
 
421 421
 typedef struct { float x,y,z,u,v,w; } STQVertex;
422 422
 typedef struct { float x,y,z,u,v,w; } STSQVertex;
@@ -545,13 +545,13 @@ void drawShadedTexQuad(ID3D11ShaderResourceView* texture,
545 545
 	D3D::context->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
546 546
 	D3D::context->IASetInputLayout(layout);
547 547
 	D3D::context->IASetVertexBuffers(0, 1, &util_vbuf->GetBuffer(), &stride, &offset);
548  
-	D3D::context->PSSetShader(PShader, NULL, 0);
  548
+	D3D::context->PSSetShader(PShader, nullptr, 0);
549 549
 	D3D::context->PSSetShaderResources(0, 1, &texture);
550  
-	D3D::context->VSSetShader(Vshader, NULL, 0);
  550
+	D3D::context->VSSetShader(Vshader, nullptr, 0);
551 551
 	D3D::stateman->Apply();
552 552
 	D3D::context->Draw(4, stq_offset);
553 553
 
554  
-	ID3D11ShaderResourceView* texres = NULL;
  554
+	ID3D11ShaderResourceView* texres = nullptr;
555 555
 	context->PSSetShaderResources(0, 1, &texres); // immediately unbind the texture
556 556
 }
557 557
 
@@ -603,12 +603,12 @@ void drawShadedTexSubQuad(ID3D11ShaderResourceView* texture,
603 603
 	context->IASetVertexBuffers(0, 1, &util_vbuf->GetBuffer(), &stride, &offset);
604 604
 	context->IASetInputLayout(layout);
605 605
 	context->PSSetShaderResources(0, 1, &texture);
606  
-	context->PSSetShader(PShader, NULL, 0);
607  
-	context->VSSetShader(Vshader, NULL, 0);
  606
+	context->PSSetShader(PShader, nullptr, 0);
  607
+	context->VSSetShader(Vshader, nullptr, 0);
608 608
 	stateman->Apply();
609 609
 	context->Draw(4, stsq_offset);
610 610
 
611  
-	ID3D11ShaderResourceView* texres = NULL;
  611
+	ID3D11ShaderResourceView* texres = nullptr;
612 612
 	context->PSSetShaderResources(0, 1, &texres); // immediately unbind the texture
613 613
 }
614 614
 
@@ -638,8 +638,8 @@ void drawColorQuad(u32 Color, float x1, float y1, float x2, float y2)
638 638
 		draw_quad_data.col = Color;
639 639
 	}
640 640
 
641  
-	context->VSSetShader(VertexShaderCache::GetClearVertexShader(), NULL, 0);
642  
-	context->PSSetShader(PixelShaderCache::GetClearProgram(), NULL, 0);
  641
+	context->VSSetShader(VertexShaderCache::GetClearVertexShader(), nullptr, 0);
  642
+	context->PSSetShader(PixelShaderCache::GetClearProgram(), nullptr, 0);
643 643
 	context->IASetInputLayout(VertexShaderCache::GetClearInputLayout());
644 644
 
645 645
 	UINT stride = sizeof(ColVertex);
@@ -668,8 +668,8 @@ void drawClearQuad(u32 Color, float z, ID3D11PixelShader* PShader, ID3D11VertexS
668 668
 		clear_quad_data.col = Color;
669 669
 		clear_quad_data.z = z;
670 670
 	}
671  
-	context->VSSetShader(Vshader, NULL, 0);
672  
-	context->PSSetShader(PShader, NULL, 0);
  671
+	context->VSSetShader(Vshader, nullptr, 0);
  672
+	context->PSSetShader(PShader, nullptr, 0);
673 673
 	context->IASetInputLayout(layout);
674 674
 
675 675
 	UINT stride = sizeof(ClearVertex);
28  Source/Core/VideoBackends/D3D/FramebufferManager.cpp
@@ -59,10 +59,10 @@
59 59
 
60 60
 	// EFB color texture - primary render target
61 61
 	texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R8G8B8A8_UNORM, target_width, target_height, 1, 1, D3D11_BIND_SHADER_RESOURCE|D3D11_BIND_RENDER_TARGET, D3D11_USAGE_DEFAULT, 0, sample_desc.Count, sample_desc.Quality);
62  
-	hr = D3D::device->CreateTexture2D(&texdesc, NULL, &buf);
  62
+	hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &buf);
63 63
 	CHECK(hr==S_OK, "create EFB color texture (size: %dx%d; hr=%#x)", target_width, target_height, hr);
64 64
 	m_efb.color_tex = new D3DTexture2D(buf, (D3D11_BIND_FLAG)(D3D11_BIND_SHADER_RESOURCE|D3D11_BIND_RENDER_TARGET), DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8B8A8_UNORM, (sample_desc.Count > 1));
65  
-	CHECK(m_efb.color_tex!=NULL, "create EFB color texture (size: %dx%d)", target_width, target_height);
  65
+	CHECK(m_efb.color_tex!=nullptr, "create EFB color texture (size: %dx%d)", target_width, target_height);
66 66
 	SAFE_RELEASE(buf);
67 67
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.color_tex->GetTex(), "EFB color texture");
68 68
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.color_tex->GetSRV(), "EFB color texture shader resource view");
@@ -70,10 +70,10 @@
70 70
 
71 71
 	// Temporary EFB color texture - used in ReinterpretPixelData
72 72
 	texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R8G8B8A8_UNORM, target_width, target_height, 1, 1, D3D11_BIND_SHADER_RESOURCE|D3D11_BIND_RENDER_TARGET, D3D11_USAGE_DEFAULT, 0, sample_desc.Count, sample_desc.Quality);
73  
-	hr = D3D::device->CreateTexture2D(&texdesc, NULL, &buf);
  73
+	hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &buf);
74 74
 	CHECK(hr==S_OK, "create EFB color temp texture (size: %dx%d; hr=%#x)", target_width, target_height, hr);
75 75
 	m_efb.color_temp_tex = new D3DTexture2D(buf, (D3D11_BIND_FLAG)(D3D11_BIND_SHADER_RESOURCE|D3D11_BIND_RENDER_TARGET), DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8B8A8_UNORM, (sample_desc.Count > 1));
76  
-	CHECK(m_efb.color_temp_tex!=NULL, "create EFB color temp texture (size: %dx%d)", target_width, target_height);
  76
+	CHECK(m_efb.color_temp_tex!=nullptr, "create EFB color temp texture (size: %dx%d)", target_width, target_height);
77 77
 	SAFE_RELEASE(buf);
78 78
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.color_temp_tex->GetTex(), "EFB color temp texture");
79 79
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.color_temp_tex->GetSRV(), "EFB color temp texture shader resource view");
@@ -81,13 +81,13 @@
81 81
 
82 82
 	// AccessEFB - Sysmem buffer used to retrieve the pixel data from color_tex
83 83
 	texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R8G8B8A8_UNORM, 1, 1, 1, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ);
84  
-	hr = D3D::device->CreateTexture2D(&texdesc, NULL, &m_efb.color_staging_buf);
  84
+	hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &m_efb.color_staging_buf);
85 85
 	CHECK(hr==S_OK, "create EFB color staging buffer (hr=%#x)", hr);
86 86
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.color_staging_buf, "EFB color staging texture (used for Renderer::AccessEFB)");
87 87
 
88 88
 	// EFB depth buffer - primary depth buffer
89 89
 	texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R24G8_TYPELESS, target_width, target_height, 1, 1, D3D11_BIND_DEPTH_STENCIL|D3D11_BIND_SHADER_RESOURCE, D3D11_USAGE_DEFAULT, 0, sample_desc.Count, sample_desc.Quality);
90  
-	hr = D3D::device->CreateTexture2D(&texdesc, NULL, &buf);
  90
+	hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &buf);
91 91
 	CHECK(hr==S_OK, "create EFB depth texture (size: %dx%d; hr=%#x)", target_width, target_height, hr);
92 92
 	m_efb.depth_tex = new D3DTexture2D(buf, (D3D11_BIND_FLAG)(D3D11_BIND_DEPTH_STENCIL|D3D11_BIND_SHADER_RESOURCE), DXGI_FORMAT_R24_UNORM_X8_TYPELESS, DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_UNKNOWN, (sample_desc.Count > 1));
93 93
 	SAFE_RELEASE(buf);
@@ -97,7 +97,7 @@
97 97
 
98 98
 	// Render buffer for AccessEFB (depth data)
99 99
 	texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R32_FLOAT, 1, 1, 1, 1, D3D11_BIND_RENDER_TARGET);
100  
-	hr = D3D::device->CreateTexture2D(&texdesc, NULL, &buf);
  100
+	hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &buf);
101 101
 	CHECK(hr==S_OK, "create EFB depth read texture (hr=%#x)", hr);
102 102
 	m_efb.depth_read_texture = new D3DTexture2D(buf, D3D11_BIND_RENDER_TARGET);
103 103
 	SAFE_RELEASE(buf);
@@ -106,7 +106,7 @@
106 106
 
107 107
 	// AccessEFB - Sysmem buffer used to retrieve the pixel data from depth_read_texture
108 108
 	texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R32_FLOAT, 1, 1, 1, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ);
109  
-	hr = D3D::device->CreateTexture2D(&texdesc, NULL, &m_efb.depth_staging_buf);
  109
+	hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &m_efb.depth_staging_buf);
110 110
 	CHECK(hr==S_OK, "create EFB depth staging buffer (hr=%#x)", hr);
111 111
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.depth_staging_buf, "EFB depth staging texture (used for Renderer::AccessEFB)");
112 112
 
@@ -114,15 +114,15 @@
114 114
 	{
115 115
 		// Framebuffer resolve textures (color+depth)
116 116
 		texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R8G8B8A8_UNORM, target_width, target_height, 1, 1, D3D11_BIND_SHADER_RESOURCE, D3D11_USAGE_DEFAULT, 0, 1);
117  
-		hr = D3D::device->CreateTexture2D(&texdesc, NULL, &buf);
  117
+		hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &buf);
118 118
 		m_efb.resolved_color_tex = new D3DTexture2D(buf, D3D11_BIND_SHADER_RESOURCE, DXGI_FORMAT_R8G8B8A8_UNORM);
119  
-		CHECK(m_efb.resolved_color_tex!=NULL, "create EFB color resolve texture (size: %dx%d)", target_width, target_height);
  119
+		CHECK(m_efb.resolved_color_tex!=nullptr, "create EFB color resolve texture (size: %dx%d)", target_width, target_height);
120 120
 		SAFE_RELEASE(buf);
121 121
 		D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.resolved_color_tex->GetTex(), "EFB color resolve texture");
122 122
 		D3D::SetDebugObjectName((ID3D11DeviceChild*)m_efb.resolved_color_tex->GetSRV(), "EFB color resolve texture shader resource view");
123 123
 
124 124
 		texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R24G8_TYPELESS, target_width, target_height, 1, 1, D3D11_BIND_SHADER_RESOURCE);
125  
-		hr = D3D::device->CreateTexture2D(&texdesc, NULL, &buf);
  125
+		hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &buf);
126 126
 		CHECK(hr==S_OK, "create EFB depth resolve texture (size: %dx%d; hr=%#x)", target_width, target_height, hr);
127 127
 		m_efb.resolved_depth_tex = new D3DTexture2D(buf, D3D11_BIND_SHADER_RESOURCE, DXGI_FORMAT_R24_UNORM_X8_TYPELESS);
128 128
 		SAFE_RELEASE(buf);
@@ -131,8 +131,8 @@
131 131
 	}
132 132
 	else
133 133
 	{
134  
-		m_efb.resolved_color_tex = NULL;
135  
-		m_efb.resolved_depth_tex = NULL;
  134
+		m_efb.resolved_color_tex = nullptr;
  135
+		m_efb.resolved_depth_tex = nullptr;
136 136
 	}
137 137
 
138 138
 	s_xfbEncoder.Init();
@@ -200,7 +200,7 @@ void XFBSource::CopyEFB(float Gamma)
200 200
 	const D3D11_VIEWPORT vp = CD3D11_VIEWPORT(0.f, 0.f, (float)texWidth, (float)texHeight);
201 201
 
202 202
 	D3D::context->RSSetViewports(1, &vp);
203  
-	D3D::context->OMSetRenderTargets(1, &tex->GetRTV(), NULL);
  203
+	D3D::context->OMSetRenderTargets(1, &tex->GetRTV(), nullptr);
204 204
 	D3D::SetLinearCopySampler();
205 205
 
206 206
 	D3D::drawShadedTexQuad(FramebufferManager::GetEFBColorTexture()->GetSRV(), sourceRc.AsRECT(),
6  Source/Core/VideoBackends/D3D/GfxState.cpp
@@ -30,10 +30,10 @@
30 30
 template<typename T> AutoState<T>::~AutoState()
31 31
 {
32 32
 	if(state) ((T*)state)->Release();
33  
-	state = NULL;
  33
+	state = nullptr;
34 34
 }
35 35
 
36  
-StateManager::StateManager() : cur_blendstate(NULL), cur_depthstate(NULL), cur_raststate(NULL) {}
  36
+StateManager::StateManager() : cur_blendstate(nullptr), cur_depthstate(nullptr), cur_raststate(nullptr) {}
37 37
 
38 38
 void StateManager::PushBlendState(const ID3D11BlendState* state) { blendstates.push(AutoBlendState(state)); }
39 39
 void StateManager::PushDepthState(const ID3D11DepthStencilState* state) { depthstates.push(AutoDepthStencilState(state)); }
@@ -49,7 +49,7 @@ void StateManager::Apply()
49 49
 		if (cur_blendstate != blendstates.top().GetPtr())
50 50
 		{
51 51
 			cur_blendstate = (ID3D11BlendState*)blendstates.top().GetPtr();
52  
-			D3D::context->OMSetBlendState(cur_blendstate, NULL, 0xFFFFFFFF);
  52
+			D3D::context->OMSetBlendState(cur_blendstate, nullptr, 0xFFFFFFFF);
53 53
 		}
54 54
 	}
55 55
 	else ERROR_LOG(VIDEO, "Tried to apply without blend state!");
10  Source/Core/VideoBackends/D3D/LineGeometryShader.cpp
@@ -125,7 +125,7 @@ struct LineGSParams
125 125
 ;
126 126
 
127 127
 LineGeometryShader::LineGeometryShader()
128  
-	: m_ready(false), m_paramsBuffer(NULL)
  128
+	: m_ready(false), m_paramsBuffer(nullptr)
129 129
 { }
130 130
 
131 131
 void LineGeometryShader::Init()
@@ -138,7 +138,7 @@ void LineGeometryShader::Init()
138 138
 
139 139
 	D3D11_BUFFER_DESC bd = CD3D11_BUFFER_DESC(sizeof(LineGSParams_Padded),
140 140
 		D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE);
141  
-	hr = D3D::device->CreateBuffer(&bd, NULL, &m_paramsBuffer);
  141
+	hr = D3D::device->CreateBuffer(&bd, nullptr, &m_paramsBuffer);
142 142
 	CHECK(SUCCEEDED(hr), "create line geometry shader params buffer");
143 143
 	D3D::SetDebugObjectName(m_paramsBuffer, "line geometry shader params buffer");
144 144
 
@@ -184,14 +184,14 @@ bool LineGeometryShader::SetShader(u32 components, float lineWidth,
184 184
 		const std::string& numTexCoordsStr = numTexCoordsStream.str();
185 185
 		D3D_SHADER_MACRO macros[] = {
186 186
 			{ "NUM_TEXCOORDS", numTexCoordsStr.c_str() },
187  
-			{ NULL, NULL }
  187
+			{ nullptr, nullptr }
188 188
 		};
189 189
 		ID3D11GeometryShader* newShader = D3D::CompileAndCreateGeometryShader(code.GetBuffer(), unsigned int(strlen(code.GetBuffer())), macros);
190 190
 		if (!newShader)
191 191
 		{
192 192
 			WARN_LOG(VIDEO, "Line geometry shader for components 0x%.08X failed to compile", components);
193 193
 			// Add dummy shader to prevent trying to compile again
194  
-			m_shaders[components] = NULL;
  194
+			m_shaders[components] = nullptr;
195 195
 			return false;
196 196
 		}
197 197
 
@@ -223,7 +223,7 @@ bool LineGeometryShader::SetShader(u32 components, float lineWidth,
223 223
 			DEBUG_LOG(VIDEO, "Line params: width %f, texOffset %f, vpWidth %f, vpHeight %f",
224 224
 				lineWidth, texOffset, vpWidth, vpHeight);
225 225
 
226  
-			D3D::context->GSSetShader(shaderIt->second, NULL, 0);
  226
+			D3D::context->GSSetShader(shaderIt->second, nullptr, 0);
227 227
 			D3D::context->GSSetConstantBuffers(0, 1, &m_paramsBuffer);
228 228
 
229 229
 			return true;
2  Source/Core/VideoBackends/D3D/NativeVertexFormat.cpp
@@ -20,7 +20,7 @@ class D3DVertexFormat : public NativeVertexFormat
20 20
 	ID3D11InputLayout* m_layout;
21 21
 
22 22
 public:
23  
-	D3DVertexFormat() : m_num_elems(0), m_vs_bytecode(NULL), m_layout(NULL) {}
  23
+	D3DVertexFormat() : m_num_elems(0), m_vs_bytecode(nullptr), m_layout(nullptr) {}
24 24
 	~D3DVertexFormat() { SAFE_RELEASE(m_vs_bytecode); SAFE_RELEASE(m_layout); }
25 25
 
26 26
 	void Initialize(const PortableVertexDeclaration &_vtx_decl);
80  Source/Core/VideoBackends/D3D/PSTextureEncoder.cpp
@@ -849,21 +849,21 @@
849 849
 ;
850 850
 
851 851
 PSTextureEncoder::PSTextureEncoder()
852  
-	: m_ready(false), m_out(NULL), m_outRTV(NULL), m_outStage(NULL),
853  
-	m_encodeParams(NULL),
854  
-	m_quad(NULL), m_vShader(NULL), m_quadLayout(NULL),
855  
-	m_efbEncodeBlendState(NULL), m_efbEncodeDepthState(NULL),
856  
-	m_efbEncodeRastState(NULL), m_efbSampler(NULL),
857  
-	m_dynamicShader(NULL), m_classLinkage(NULL)
  852
+	: m_ready(false), m_out(nullptr), m_outRTV(nullptr), m_outStage(nullptr),
  853
+	m_encodeParams(nullptr),
  854
+	m_quad(nullptr), m_vShader(nullptr), m_quadLayout(nullptr),
  855
+	m_efbEncodeBlendState(nullptr), m_efbEncodeDepthState(nullptr),
  856
+	m_efbEncodeRastState(nullptr), m_efbSampler(nullptr),
  857
+	m_dynamicShader(nullptr), m_classLinkage(nullptr)
858 858
 {
859 859
 	for (size_t i = 0; i < 4; ++i)
860  
-		m_fetchClass[i] = NULL;
  860
+		m_fetchClass[i] = nullptr;
861 861
 	for (size_t i = 0; i < 2; ++i)
862  
-		m_scaledFetchClass[i] = NULL;
  862
+		m_scaledFetchClass[i] = nullptr;
863 863
 	for (size_t i = 0; i < 2; ++i)
864  
-		m_intensityClass[i] = NULL;
  864
+		m_intensityClass[i] = nullptr;
865 865
 	for (size_t i = 0; i < 16; ++i)
866  
-		m_generatorClass[i] = NULL;
  866
+		m_generatorClass[i] = nullptr;
867 867
 }
868 868
 
869 869
 static const D3D11_INPUT_ELEMENT_DESC QUAD_LAYOUT_DESC[] = {
@@ -888,7 +888,7 @@ void PSTextureEncoder::Init()
888 888
 	D3D11_TEXTURE2D_DESC t2dd = CD3D11_TEXTURE2D_DESC(
889 889
 		DXGI_FORMAT_R32G32B32A32_UINT,
890 890
 		EFB_WIDTH, EFB_HEIGHT/4, 1, 1, D3D11_BIND_RENDER_TARGET);
891  
-	hr = D3D::device->CreateTexture2D(&t2dd, NULL, &m_out);
  891
+	hr = D3D::device->CreateTexture2D(&t2dd, nullptr, &m_out);
892 892
 	CHECK(SUCCEEDED(hr), "create efb encode output texture");
893 893
 	D3D::SetDebugObjectName(m_out, "efb encoder output texture");
894 894
 
@@ -905,7 +905,7 @@ void PSTextureEncoder::Init()
905 905
 	t2dd.Usage = D3D11_USAGE_STAGING;
906 906
 	t2dd.BindFlags = 0;
907 907
 	t2dd.CPUAccessFlags = D3D11_CPU_ACCESS_READ;
908  
-	hr = D3D::device->CreateTexture2D(&t2dd, NULL, &m_outStage);
  908
+	hr = D3D::device->CreateTexture2D(&t2dd, nullptr, &m_outStage);
909 909
 	CHECK(SUCCEEDED(hr), "create efb encode output staging buffer");
910 910
 	D3D::SetDebugObjectName(m_outStage, "efb encoder output staging buffer");
911 911
 
@@ -913,7 +913,7 @@ void PSTextureEncoder::Init()
913 913
 
914 914
 	D3D11_BUFFER_DESC bd = CD3D11_BUFFER_DESC(sizeof(EFBEncodeParams),
915 915
 		D3D11_BIND_CONSTANT_BUFFER);
916  
-	hr = D3D::device->CreateBuffer(&bd, NULL, &m_encodeParams);
  916
+	hr = D3D::device->CreateBuffer(&bd, nullptr, &m_encodeParams);
917 917
 	CHECK(SUCCEEDED(hr), "create efb encode params buffer");
918 918
 	D3D::SetDebugObjectName(m_encodeParams, "efb encoder params buffer");
919 919
 
@@ -929,14 +929,14 @@ void PSTextureEncoder::Init()
929 929
 
930 930
 	// Create vertex shader
931 931
 
932  
-	D3DBlob* bytecode = NULL;
  932
+	D3DBlob* bytecode = nullptr;
933 933
 	if (!D3D::CompileVertexShader(EFB_ENCODE_VS, sizeof(EFB_ENCODE_VS), &bytecode))
934 934
 	{
935 935
 		ERROR_LOG(VIDEO, "EFB encode vertex shader failed to compile");
936 936
 		return;
937 937
 	}
938 938
 
939  
-	hr = D3D::device->CreateVertexShader(bytecode->Data(), bytecode->Size(), NULL, &m_vShader);
  939
+	hr = D3D::device->CreateVertexShader(bytecode->Data(), bytecode->Size(), nullptr, &m_vShader);
940 940
 	CHECK(SUCCEEDED(hr), "create efb encode vertex shader");
941 941
 	D3D::SetDebugObjectName(m_vShader, "efb encoder vertex shader");
942 942
 
@@ -1084,7 +1084,7 @@ size_t PSTextureEncoder::Encode(u8* dst, unsigned int dstFormat,
1084 1084
 	if (SetStaticShader(dstFormat, srcFormat, isIntensity, scaleByHalf))
1085 1085
 #endif
1086 1086
 	{
1087  
-		D3D::context->VSSetShader(m_vShader, NULL, 0);
  1087
+		D3D::context->VSSetShader(m_vShader, nullptr, 0);
1088 1088
 
1089 1089
 		D3D::stateman->PushBlendState(m_efbEncodeBlendState);
1090 1090
 		D3D::stateman->PushDepthState(m_efbEncodeDepthState);
@@ -1116,11 +1116,11 @@ size_t PSTextureEncoder::Encode(u8* dst, unsigned int dstFormat,
1116 1116
 		params.TexTop = float(targetRect.top) / g_renderer->GetTargetHeight();
1117 1117
 		params.TexRight = float(targetRect.right) / g_renderer->GetTargetWidth();
1118 1118
 		params.TexBottom = float(targetRect.bottom) / g_renderer->GetTargetHeight();
1119  
-		D3D::context->UpdateSubresource(m_encodeParams, 0, NULL, &params, 0, 0);
  1119
+		D3D::context->UpdateSubresource(m_encodeParams, 0, nullptr, &params, 0, 0);
1120 1120
 
1121 1121
 		D3D::context->VSSetConstantBuffers(0, 1, &m_encodeParams);
1122 1122
 
1123  
-		D3D::context->OMSetRenderTargets(1, &m_outRTV, NULL);
  1123
+		D3D::context->OMSetRenderTargets(1, &m_outRTV, nullptr);
1124 1124
 
1125 1125
 		ID3D11ShaderResourceView* pEFB = (srcFormat == PIXELFMT_Z24) ?
1126 1126
 			FramebufferManager::GetEFBDepthTexture()->GetSRV() :
@@ -1144,13 +1144,13 @@ size_t PSTextureEncoder::Encode(u8* dst, unsigned int dstFormat,
1144 1144
 
1145 1145
 		// Clean up state
1146 1146
 
1147  
-		IUnknown* nullDummy = NULL;
  1147
+		IUnknown* nullDummy = nullptr;
1148 1148
 
1149 1149
 		D3D::context->PSSetSamplers(0, 1, (ID3D11SamplerState**)&nullDummy);
1150 1150
 		D3D::context->PSSetShaderResources(0, 1, (ID3D11ShaderResourceView**)&nullDummy);
1151 1151
 		D3D::context->PSSetConstantBuffers(0, 1, (ID3D11Buffer**)&nullDummy);
1152 1152
 
1153  
-		D3D::context->OMSetRenderTargets(0, NULL, NULL);
  1153
+		D3D::context->OMSetRenderTargets(0, nullptr, nullptr);
1154 1154
 
1155 1155
 		D3D::context->VSSetConstantBuffers(0, 1, (ID3D11Buffer**)&nullDummy);
1156 1156
 
@@ -1158,8 +1158,8 @@ size_t PSTextureEncoder::Encode(u8* dst, unsigned int dstFormat,
1158 1158
 		D3D::stateman->PopDepthState();
1159 1159
 		D3D::stateman->PopBlendState();
1160 1160
 
1161  
-		D3D::context->PSSetShader(NULL, NULL, 0);
1162  
-		D3D::context->VSSetShader(NULL, NULL, 0);
  1161
+		D3D::context->PSSetShader(nullptr, nullptr, 0);
  1162
+		D3D::context->VSSetShader(nullptr, nullptr, 0);
1163 1163
 
1164 1164
 		// Transfer staging buffer to GameCube/Wii RAM
1165 1165
 
@@ -1221,7 +1221,7 @@ bool PSTextureEncoder::SetStaticShader(unsigned int dstFormat, unsigned int srcF
1221 1221
 	ComboMap::iterator it = m_staticShaders.find(key);
1222 1222
 	if (it == m_staticShaders.end())
1223 1223
 	{
1224  
-		const char* generatorFuncName = NULL;
  1224
+		const char* generatorFuncName = nullptr;
1225 1225
 		switch (generatorNum)
1226 1226
 		{
1227 1227
 		case 0x0: generatorFuncName = "Generate_0"; break;
@@ -1239,7 +1239,7 @@ bool PSTextureEncoder::SetStaticShader(unsigned int dstFormat, unsigned int srcF
1239 1239
 		case 0xC: generatorFuncName = "Generate_C"; break;
1240 1240
 		default:
1241 1241
 			WARN_LOG(VIDEO, "No generator available for dst format 0x%X; aborting", generatorNum);
1242  
-			m_staticShaders[key] = NULL;
  1242
+			m_staticShaders[key] = nullptr;
1243 1243
 			return false;
1244 1244
 		}
1245 1245
 
@@ -1247,13 +1247,13 @@ bool PSTextureEncoder::SetStaticShader(unsigned int dstFormat, unsigned int srcF
1247 1247
 			dstFormat, srcFormat, isIntensity ? 1 : 0, scaleByHalf ? 1 : 0);
1248 1248
 
1249 1249
 		// Shader permutation not found, so compile it
1250  
-		D3DBlob* bytecode = NULL;
  1250
+		D3DBlob* bytecode = nullptr;
1251 1251
 		D3D_SHADER_MACRO macros[] = {
1252 1252
 			{ "IMP_FETCH", FETCH_FUNC_NAMES[fetchNum] },
1253 1253
 			{ "IMP_SCALEDFETCH", SCALEDFETCH_FUNC_NAMES[scaledFetchNum] },
1254 1254
 			{ "IMP_INTENSITY", INTENSITY_FUNC_NAMES[intensityNum] },
1255 1255
 			{ "IMP_GENERATOR", generatorFuncName },
1256  
-			{ NULL, NULL }
  1256
+			{ nullptr, nullptr }
1257 1257
 		};
1258 1258
 		if (!D3D::CompilePixelShader(EFB_ENCODE_PS, sizeof(EFB_ENCODE_PS), &bytecode, macros))
1259 1259
 		{
@@ -1261,12 +1261,12 @@ bool PSTextureEncoder::SetStaticShader(unsigned int dstFormat, unsigned int srcF
1261 1261
 				dstFormat, srcFormat, isIntensity ? 1 : 0, scaleByHalf ? 1 : 0);
1262 1262
 			// Add dummy shader to map to prevent trying to compile over and
1263 1263
 			// over again
1264  
-			m_staticShaders[key] = NULL;
  1264
+			m_staticShaders[key] = nullptr;
1265 1265
 			return false;
1266 1266
 		}
1267 1267
 
1268 1268
 		ID3D11PixelShader* newShader;
1269  
-		HRESULT hr = D3D::device->CreatePixelShader(bytecode->Data(), bytecode->Size(), NULL, &newShader);
  1269
+		HRESULT hr = D3D::device->CreatePixelShader(bytecode->Data(), bytecode->Size(), nullptr, &newShader);
1270 1270
 		CHECK(SUCCEEDED(hr), "create efb encoder pixel shader");
1271 1271
 
1272 1272
 		it = m_staticShaders.insert(std::make_pair(key, newShader)).first;
@@ -1277,7 +1277,7 @@ bool PSTextureEncoder::SetStaticShader(unsigned int dstFormat, unsigned int srcF
1277 1277
 	{
1278 1278
 		if (it->second)
1279 1279
 		{
1280  
-			D3D::context->PSSetShader(it->second, NULL, 0);
  1280
+			D3D::context->PSSetShader(it->second, nullptr, 0);
1281 1281
 			return true;
1282 1282
 		}
1283 1283
 		else
@@ -1292,11 +1292,11 @@ bool PSTextureEncoder::InitDynamicMode()
1292 1292
 	HRESULT hr;
1293 1293
 
1294 1294
 	D3D_SHADER_MACRO macros[] = {
1295  
-		{ "DYNAMIC_MODE", NULL },
1296  
-		{ NULL, NULL }
  1295
+		{ "DYNAMIC_MODE", nullptr },
  1296
+		{ nullptr, nullptr }
1297 1297
 	};
1298 1298
 
1299  
-	D3DBlob* bytecode = NULL;
  1299
+	D3DBlob* bytecode = nullptr;
1300 1300
 	if (!D3D::CompilePixelShader(EFB_ENCODE_PS, sizeof(EFB_ENCODE_PS), &bytecode, macros))
1301 1301
 	{
1302 1302
 		ERROR_LOG(VIDEO, "EFB encode pixel shader failed to compile");
@@ -1313,14 +1313,14 @@ bool PSTextureEncoder::InitDynamicMode()
1313 1313
 
1314 1314
 	// Use D3DReflect
1315 1315
 
1316  
-	ID3D11ShaderReflection* reflect = NULL;
  1316
+	ID3D11ShaderReflection* reflect = nullptr;
1317 1317
 	hr = PD3DReflect(bytecode->Data(), bytecode->Size(), IID_ID3D11ShaderReflection, (void**)&reflect);
1318 1318
 	CHECK(SUCCEEDED(hr), "reflect on efb encoder shader");
1319 1319
 
1320 1320
 	// Get number of slots and create dynamic linkage array
1321 1321
 
1322 1322
 	UINT numSlots = reflect->GetNumInterfaceSlots();
1323  
-	m_linkageArray.resize(numSlots, NULL);
  1323
+	m_linkageArray.resize(numSlots, nullptr);
1324 1324
 
1325 1325
 	// Get interface slots
1326 1326
 
@@ -1342,13 +1342,13 @@ bool PSTextureEncoder::InitDynamicMode()
1342 1342
 	// Class instances will be created at the time they are used
1343 1343
 
1344 1344
 	for (size_t i = 0; i < 4; ++i)
1345  
-		m_fetchClass[i] = NULL;
  1345
+		m_fetchClass[i] = nullptr;
1346 1346
 	for (size_t i = 0; i < 2; ++i)
1347  
-		m_scaledFetchClass[i] = NULL;
  1347
+		m_scaledFetchClass[i] = nullptr;
1348 1348
 	for (size_t i = 0; i < 2; ++i)
1349  
-		m_intensityClass[i] = NULL;
  1349
+		m_intensityClass[i] = nullptr;
1350 1350
 	for (size_t i = 0; i < 16; ++i)
1351  
-		m_generatorClass[i] = NULL;
  1351
+		m_generatorClass[i] = nullptr;
1352 1352
 
1353 1353
 	reflect->Release();
1354 1354
 	bytecode->Release();
@@ -1378,7 +1378,7 @@ bool PSTextureEncoder::SetDynamicShader(unsigned int dstFormat,
1378 1378
 
1379 1379
 	// FIXME: Not all the possible generators are available as classes yet.
1380 1380
 	// When dynamic mode is usable, implement them.
1381  
-	const char* generatorName = NULL;
  1381
+	const char* generatorName = nullptr;
1382 1382
 	switch (generatorNum)
1383 1383
 	{
1384 1384
 	case 0x4: generatorName = "cGenerator_4"; break;
@@ -1438,7 +1438,7 @@ bool PSTextureEncoder::SetDynamicShader(unsigned int dstFormat,
1438 1438
 		m_linkageArray[m_generatorSlot] = m_generatorClass[generatorNum];
1439 1439
 
1440 1440
 	D3D::context->PSSetShader(m_dynamicShader,
1441  
-		m_linkageArray.empty() ? NULL : &m_linkageArray[0],
  1441
+		m_linkageArray.empty() ? nullptr : &m_linkageArray[0],
1442 1442
 		(UINT)m_linkageArray.size());
1443 1443
 
1444 1444
 	return true;
42  Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
@@ -31,13 +31,13 @@
31 31
 
32 32
 LinearDiskCache<PixelShaderUid, u8> g_ps_disk_cache;
33 33
 
34  
-ID3D11PixelShader* s_ColorMatrixProgram[2] = {NULL};
35  
-ID3D11PixelShader* s_ColorCopyProgram[2] = {NULL};
36  
-ID3D11PixelShader* s_DepthMatrixProgram[2] = {NULL};
37  
-ID3D11PixelShader* s_ClearProgram = NULL;
38  
-ID3D11PixelShader* s_rgba6_to_rgb8[2] = {NULL};
39  
-ID3D11PixelShader* s_rgb8_to_rgba6[2] = {NULL};
40  
-ID3D11Buffer* pscbuf = NULL;
  34
+ID3D11PixelShader* s_ColorMatrixProgram[2] = {nullptr};
  35
+ID3D11PixelShader* s_ColorCopyProgram[2] = {nullptr};
  36
+ID3D11PixelShader* s_DepthMatrixProgram[2] = {nullptr};
  37
+ID3D11PixelShader* s_ClearProgram = nullptr;
  38
+ID3D11PixelShader* s_rgba6_to_rgb8[2] = {nullptr};
  39
+ID3D11PixelShader* s_rgb8_to_rgba6[2] = {nullptr};
  40
+ID3D11Buffer* pscbuf = nullptr;
41 41
 
42 42
 const char clear_program_code[] = {
43 43
 	"void main(\n"
@@ -291,7 +291,7 @@ ID3D11PixelShader* PixelShaderCache::GetColorCopyProgram(bool multisampled)
291 291
 		char buf[1024];
292 292
 		int l = sprintf_s(buf, 1024, color_copy_program_code_msaa, D3D::GetAAMode(g_ActiveConfig.iMultisampleMode).Count);
293 293
 		s_ColorCopyProgram[1] = D3D::CompileAndCreatePixelShader(buf, l);
294  
-		CHECK(s_ColorCopyProgram[1]!=NULL, "Create color copy MSAA pixel shader");
  294
+		CHECK(s_ColorCopyProgram[1]!=nullptr, "Create color copy MSAA pixel shader");
295 295
 		D3D::SetDebugObjectName((ID3D11DeviceChild*)s_ColorCopyProgram[1], "color copy MSAA pixel shader");
296 296
 		return s_ColorCopyProgram[1];
297 297
 	}
@@ -307,7 +307,7 @@ ID3D11PixelShader* PixelShaderCache::GetColorMatrixProgram(bool multisampled)
307 307
 		char buf[1024];
308 308
 		int l = sprintf_s(buf, 1024, color_matrix_program_code_msaa, D3D::GetAAMode(g_ActiveConfig.iMultisampleMode).Count);
309 309
 		s_ColorMatrixProgram[1] = D3D::CompileAndCreatePixelShader(buf, l);
310  
-		CHECK(s_ColorMatrixProgram[1]!=NULL, "Create color matrix MSAA pixel shader");
  310
+		CHECK(s_ColorMatrixProgram[1]!=nullptr, "Create color matrix MSAA pixel shader");
311 311
 		D3D::SetDebugObjectName((ID3D11DeviceChild*)s_ColorMatrixProgram[1], "color matrix MSAA pixel shader");
312 312
 		return s_ColorMatrixProgram[1];
313 313
 	}
@@ -323,7 +323,7 @@ ID3D11PixelShader* PixelShaderCache::GetDepthMatrixProgram(bool multisampled)
323 323
 		char buf[1024];
324 324
 		int l = sprintf_s(buf, 1024, depth_matrix_program_msaa, D3D::GetAAMode(g_ActiveConfig.iMultisampleMode).Count);
325 325
 		s_DepthMatrixProgram[1] = D3D::CompileAndCreatePixelShader(buf, l);
326  
-		CHECK(s_DepthMatrixProgram[1]!=NULL, "Create depth matrix MSAA pixel shader");
  326
+		CHECK(s_DepthMatrixProgram[1]!=nullptr, "Create depth matrix MSAA pixel shader");
327 327
 		D3D::SetDebugObjectName((ID3D11DeviceChild*)s_DepthMatrixProgram[1], "depth matrix MSAA pixel shader");
328 328
 		return s_DepthMatrixProgram[1];
329 329
 	}
@@ -364,28 +364,28 @@ void PixelShaderCache::Init()
364 364
 {
365 365
 	unsigned int cbsize = ((sizeof(PixelShaderConstants))&(~0xf))+0x10; // must be a multiple of 16
366 366
 	D3D11_BUFFER_DESC cbdesc = CD3D11_BUFFER_DESC(cbsize, D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE);
367  
-	D3D::device->CreateBuffer(&cbdesc, NULL, &pscbuf);
368  
-	CHECK(pscbuf!=NULL, "Create pixel shader constant buffer");
  367
+	D3D::device->CreateBuffer(&cbdesc, nullptr, &pscbuf);
  368
+	CHECK(pscbuf!=nullptr, "Create pixel shader constant buffer");
369 369
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)pscbuf, "pixel shader constant buffer used to emulate the GX pipeline");
370 370
 
371 371
 	// used when drawing clear quads
372 372
 	s_ClearProgram = D3D::CompileAndCreatePixelShader(clear_program_code, sizeof(clear_program_code));
373  
-	CHECK(s_ClearProgram!=NULL, "Create clear pixel shader");
  373
+	CHECK(s_ClearProgram!=nullptr, "Create clear pixel shader");
374 374
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)s_ClearProgram, "clear pixel shader");
375 375
 
376 376
 	// used when copying/resolving the color buffer
377 377
 	s_ColorCopyProgram[0] = D3D::CompileAndCreatePixelShader(color_copy_program_code, sizeof(color_copy_program_code));
378  
-	CHECK(s_ColorCopyProgram[0]!=NULL, "Create color copy pixel shader");
  378
+	CHECK(s_ColorCopyProgram[0]!=nullptr, "Create color copy pixel shader");
379 379
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)s_ColorCopyProgram[0], "color copy pixel shader");
380 380
 
381 381
 	// used for color conversion
382 382
 	s_ColorMatrixProgram[0] = D3D::CompileAndCreatePixelShader(color_matrix_program_code, sizeof(color_matrix_program_code));
383  
-	CHECK(s_ColorMatrixProgram[0]!=NULL, "Create color matrix pixel shader");
  383
+	CHECK(s_ColorMatrixProgram[0]!=nullptr, "Create color matrix pixel shader");
384 384
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)s_ColorMatrixProgram[0], "color matrix pixel shader");
385 385
 
386 386
 	// used for depth copy
387 387
 	s_DepthMatrixProgram[0] = D3D::CompileAndCreatePixelShader(depth_matrix_program, sizeof(depth_matrix_program));
388  
-	CHECK(s_DepthMatrixProgram[0]!=NULL, "Create depth matrix pixel shader");
  388
+	CHECK(s_DepthMatrixProgram[0]!=nullptr, "Create depth matrix pixel shader");
389 389
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)s_DepthMatrixProgram[0], "depth matrix pixel shader");
390 390
 
391 391
 	Clear();
@@ -405,7 +405,7 @@ void PixelShaderCache::Init()
405 405
 	if (g_Config.bEnableShaderDebugging)
406 406
 		Clear();
407 407
 
408  
-	last_entry = NULL;
  408
+	last_entry = nullptr;
409 409
 }
410 410
 
411 411
 // ONLY to be used during shutdown.
@@ -416,7 +416,7 @@ void PixelShaderCache::Clear()
416 416
 	PixelShaders.clear();
417 417
 	pixel_uid_checker.Invalidate();
418 418
 
419  
-	last_entry = NULL;
  419
+	last_entry = nullptr;
420 420
 }
421 421
 
422 422
 // Used in Swap() when AA mode has changed
@@ -465,7 +465,7 @@ bool PixelShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode, u32 components)
465 465
 		if (uid == last_uid)
466 466
 		{
467 467
 			GFX_DEBUGGER_PAUSE_AT(NEXT_PIXEL_SHADER_CHANGE,true);
468  
-			return (last_entry->shader != NULL);
  468
+			return (last_entry->shader != nullptr);
469 469
 		}
470 470
 	}
471 471
 
@@ -480,7 +480,7 @@ bool PixelShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode, u32 components)
480 480
 		last_entry = &entry;
481 481
 
482 482
 		GFX_DEBUGGER_PAUSE_AT(NEXT_PIXEL_SHADER_CHANGE,true);
483  
-		return (entry.shader != NULL);
  483
+		return (entry.shader != nullptr);
484 484
 	}
485 485
 
486 486
 	// Need to compile a new shader
@@ -512,7 +512,7 @@ bool PixelShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode, u32 components)
512 512
 bool PixelShaderCache::InsertByteCode(const PixelShaderUid &uid, const void* bytecode, unsigned int bytecodelen)
513 513
 {
514 514
 	ID3D11PixelShader* shader = D3D::CreatePixelShaderFromByteCode(bytecode, bytecodelen);
515  
-	if (shader == NULL)
  515
+	if (shader == nullptr)
516 516
 		return false;
517 517
 
518 518
 	// TODO: Somehow make the debug name a bit more specific
2  Source/Core/VideoBackends/D3D/PixelShaderCache.h
@@ -42,7 +42,7 @@ class PixelShaderCache
42 42
 
43 43
 		std::string code;
44 44
 
45  
-		PSCacheEntry() : shader(NULL) {}
  45
+		PSCacheEntry() : shader(nullptr) {}
46 46
 		void Destroy() { SAFE_RELEASE(shader); }
47 47
 	};
48 48
 
10  Source/Core/VideoBackends/D3D/PointGeometryShader.cpp
@@ -119,7 +119,7 @@ struct PointGSParams
119 119
 ;
120 120
 
121 121
 PointGeometryShader::PointGeometryShader()
122  
-	: m_ready(false), m_paramsBuffer(NULL)
  122
+	: m_ready(false), m_paramsBuffer(nullptr)
123 123
 { }
124 124
 
125 125
 void PointGeometryShader::Init()
@@ -132,7 +132,7 @@ void PointGeometryShader::Init()
132 132
 
133 133
 	D3D11_BUFFER_DESC bd = CD3D11_BUFFER_DESC(sizeof(PointGSParams_Padded),
134 134
 		D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE);
135  
-	hr = D3D::device->CreateBuffer(&bd, NULL, &m_paramsBuffer);
  135
+	hr = D3D::device->CreateBuffer(&bd, nullptr, &m_paramsBuffer);
136 136
 	CHECK(SUCCEEDED(hr), "create point geometry shader params buffer");
137 137
 	D3D::SetDebugObjectName(m_paramsBuffer, "point geometry shader params buffer");
138 138
 
@@ -178,14 +178,14 @@ bool PointGeometryShader::SetShader(u32 components, float pointSize,
178 178
 		const std::string& numTexCoordsStr = numTexCoordsStream.str();
179 179
 		D3D_SHADER_MACRO macros[] = {
180 180
 			{ "NUM_TEXCOORDS", numTexCoordsStr.c_str() },
181  
-			{ NULL, NULL }
  181
+			{ nullptr, nullptr }
182 182
 		};
183 183
 		ID3D11GeometryShader* newShader = D3D::CompileAndCreateGeometryShader(code.GetBuffer(), unsigned int(strlen(code.GetBuffer())), macros);
184 184
 		if (!newShader)
185 185
 		{
186 186
 			WARN_LOG(VIDEO, "Point geometry shader for components 0x%.08X failed to compile", components);
187 187
 			// Add dummy shader to prevent trying to compile again
188  
-			m_shaders[components] = NULL;
  188
+			m_shaders[components] = nullptr;
189 189
 			return false;
190 190
 		}
191 191
 
@@ -217,7 +217,7 @@ bool PointGeometryShader::SetShader(u32 components, float pointSize,
217 217
 			DEBUG_LOG(VIDEO, "Point params: size %f, texOffset %f, vpWidth %f, vpHeight %f",
218 218
 				pointSize, texOffset, vpWidth, vpHeight);
219 219
 
220  
-			D3D::context->GSSetShader(shaderIt->second, NULL, 0);
  220
+			D3D::context->GSSetShader(shaderIt->second, nullptr, 0);
221 221
 			D3D::context->GSSetConstantBuffers(0, 1, &m_paramsBuffer);
222 222
 
223 223
 			return true;
36  Source/Core/VideoBackends/D3D/Render.cpp
@@ -44,14 +44,14 @@
44 44
 
45 45
 static Television s_television;
46 46
 
47  
-ID3D11Buffer* access_efb_cbuf = NULL;
48  
-ID3D11BlendState* clearblendstates[4] = {NULL};
49  
-ID3D11DepthStencilState* cleardepthstates[3] = {NULL};
50  
-ID3D11BlendState* resetblendstate = NULL;
51  
-ID3D11DepthStencilState* resetdepthstate = NULL;
52  
-ID3D11RasterizerState* resetraststate = NULL;
  47
+ID3D11Buffer* access_efb_cbuf = nullptr;
  48
+ID3D11BlendState* clearblendstates[4] = {nullptr};
  49
+ID3D11DepthStencilState* cleardepthstates[3] = {nullptr};
  50
+ID3D11BlendState* resetblendstate = nullptr;
  51
+ID3D11DepthStencilState* resetdepthstate = nullptr;
  52
+ID3D11RasterizerState* resetraststate = nullptr;
53 53
 
54  
-static ID3D11Texture2D* s_screenshot_texture = NULL;
  54
+static ID3D11Texture2D* s_screenshot_texture = nullptr;
55 55
 
56 56
 
57 57
 // GX pipeline state
@@ -145,7 +145,7 @@ void SetupDeviceObjects()
145 145
 	CHECK(hr==S_OK, "Create rasterizer state for Renderer::ResetAPIState");
146 146
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)resetraststate, "rasterizer state for Renderer::ResetAPIState");
147 147
 
148  
-	s_screenshot_texture = NULL;
  148
+	s_screenshot_texture = nullptr;
149 149
 }
150 150
 
151 151
 // Kill off all device objects
@@ -172,7 +172,7 @@ void TeardownDeviceObjects()
172 172
 void CreateScreenshotTexture(const TargetRectangle& rc)
173 173
 {
174 174
 	D3D11_TEXTURE2D_DESC scrtex_desc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R8G8B8A8_UNORM, rc.GetWidth(), rc.GetHeight(), 1, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ|D3D11_CPU_ACCESS_WRITE);
175  
-	HRESULT hr = D3D::device->CreateTexture2D(&scrtex_desc, NULL, &s_screenshot_texture);
  175
+	HRESULT hr = D3D::device->CreateTexture2D(&scrtex_desc, nullptr, &s_screenshot_texture);
176 176
 	CHECK(hr==S_OK, "Create screenshot staging texture");
177 177
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)s_screenshot_texture, "staging screenshot texture");
178 178
 }
@@ -385,7 +385,7 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
385 385
 		D3D11_VIEWPORT vp = CD3D11_VIEWPORT(0.f, 0.f, 1.f, 1.f);
386 386
 		D3D::context->RSSetViewports(1, &vp);
387 387
 		D3D::context->PSSetConstantBuffers(0, 1, &access_efb_cbuf);
388  
-		D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBDepthReadTexture()->GetRTV(), NULL);
  388
+		D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBDepthReadTexture()->GetRTV(), nullptr);
389 389
 		D3D::SetPointCopySampler();
390 390
 		D3D::drawShadedTexQuad(FramebufferManager::GetEFBDepthTexture()->GetSRV(),
391 391
 								&RectToLock,
@@ -464,7 +464,7 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
464 464
 		// TODO: The first five PE registers may change behavior of EFB pokes, this isn't implemented, yet.
465 465
 		ResetAPIState();
466 466
 
467  
-		D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBColorTexture()->GetRTV(), NULL);
  467
+		D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBColorTexture()->GetRTV(), nullptr);
468 468
 		D3D::drawColorQuad(rgbaColor, (float)RectToLock.left   * 2.f / (float)Renderer::GetTargetWidth()  - 1.f,
469 469
 		                            - (float)RectToLock.top    * 2.f / (float)Renderer::GetTargetHeight() + 1.f,
470 470
 		                              (float)RectToLock.right  * 2.f / (float)Renderer::GetTargetWidth()  - 1.f,
@@ -570,7 +570,7 @@ void Renderer::ReinterpretPixelData(unsigned int convtype)
570 570
 	D3D11_VIEWPORT vp = CD3D11_VIEWPORT(0.f, 0.f, (float)g_renderer->GetTargetWidth(), (float)g_renderer->GetTargetHeight());
571 571
 	D3D::context->RSSetViewports(1, &vp);
572 572
 
573  
-	D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBColorTempTexture()->GetRTV(), NULL);
  573
+	D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBColorTempTexture()->GetRTV(), nullptr);
574 574
 	D3D::SetPointCopySampler();
575 575
 	D3D::drawShadedTexQuad(FramebufferManager::GetEFBColorTexture()->GetSRV(), &source, g_renderer->GetTargetWidth(), g_renderer->GetTargetHeight(), pixel_shader, VertexShaderCache::GetSimpleVertexShader(), VertexShaderCache::GetSimpleInputLayout());
576 576
 
@@ -770,7 +770,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl
770 770
 	if (Height > (s_backbuffer_height - Y)) Height = s_backbuffer_height - Y;
771 771
 	D3D11_VIEWPORT vp = CD3D11_VIEWPORT((float)X, (float)Y, (float)Width, (float)Height);
772 772
 	D3D::context->RSSetViewports(1, &vp);
773  
-	D3D::context->OMSetRenderTargets(1, &D3D::GetBackBuffer()->GetRTV(), NULL);
  773
+	D3D::context->OMSetRenderTargets(1, &D3D::GetBackBuffer()->GetRTV(), nullptr);
774 774
 
775 775
 	float ClearColor[4] = { 0.f, 0.f, 0.f, 1.f };
776 776
 	D3D::context->ClearRenderTargetView(D3D::GetBackBuffer()->GetRTV(), ClearColor);
@@ -999,7 +999,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl
999 999
 		s_LastEFBScale = g_ActiveConfig.iEFBScale;
1000 1000
 		CalculateTargetSize(s_backbuffer_width, s_backbuffer_height);
1001 1001
 
1002  
-		D3D::context->OMSetRenderTargets(1, &D3D::GetBackBuffer()->GetRTV(), NULL);
  1002
+		D3D::context->OMSetRenderTargets(1, &D3D::GetBackBuffer()->GetRTV(), nullptr);
1003 1003
 
1004 1004
 		delete g_framebuffer_manager;
1005 1005
 		g_framebuffer_manager = new FramebufferManager;
@@ -1089,7 +1089,7 @@ void Renderer::ApplyState(bool bUseDstAlpha)
1089 1089
 			if (FAILED(hr)) PanicAlert("Fail %s %d, stage=%d\n", __FILE__, __LINE__, stage);
1090 1090
 			else D3D::SetDebugObjectName((ID3D11DeviceChild*)samplerstate[stage], "sampler state used to emulate the GX pipeline");
1091 1091
 		}
1092  
-		// else samplerstate[stage] = NULL;
  1092
+		// else samplerstate[stage] = nullptr;
1093 1093
 	}
1094 1094
 	D3D::context->PSSetSamplers(0, 8, samplerstate);
1095 1095
 	for (unsigned int stage = 0; stage < 8; stage++)
@@ -1107,13 +1107,13 @@ void Renderer::ApplyState(bool bUseDstAlpha)
1107 1107
 	D3D::context->PSSetConstantBuffers(0, 1, &PixelShaderCache::GetConstantBuffer());
1108 1108
 	D3D::context->VSSetConstantBuffers(0, 1, &VertexShaderCache::GetConstantBuffer());
1109 1109
 
1110  
-	D3D::context->PSSetShader(PixelShaderCache::GetActiveShader(), NULL, 0);
1111  
-	D3D::context->VSSetShader(VertexShaderCache::GetActiveShader(), NULL, 0);
  1110
+	D3D::context->PSSetShader(PixelShaderCache::GetActiveShader(), nullptr, 0);
  1111
+	D3D::context->VSSetShader(VertexShaderCache::GetActiveShader(), nullptr, 0);
1112 1112
 }
1113 1113
 
1114 1114
 void Renderer::RestoreState()
1115 1115
 {
1116  
-	ID3D11ShaderResourceView* shader_resources[8] = { NULL };
  1116
+	ID3D11ShaderResourceView* shader_resources[8] = { nullptr };
1117 1117
 	D3D::context->PSSetShaderResources(0, 8, shader_resources);
1118 1118
 
1119 1119
 	D3D::stateman->PopBlendState();
4  Source/Core/VideoBackends/D3D/Television.cpp
@@ -59,7 +59,7 @@
59 59
 ;
60 60
 
61 61
 Television::Television()
62  
-	: m_yuyvTexture(NULL), m_yuyvTextureSRV(NULL), m_pShader(NULL)
  62
+	: m_yuyvTexture(nullptr), m_yuyvTextureSRV(nullptr), m_pShader(nullptr)
63 63
 { }
64 64
 
65 65
 void Television::Init()
@@ -99,7 +99,7 @@ void Television::Init()
99 99
 	// Create YUYV-decoding pixel shader
100 100
 
101 101
 	m_pShader = D3D::CompileAndCreatePixelShader(YUYV_DECODER_PS, sizeof(YUYV_DECODER_PS));
102  
-	CHECK(m_pShader != NULL, "compile and create yuyv decoder pixel shader");
  102
+	CHECK(m_pShader != nullptr, "compile and create yuyv decoder pixel shader");
103 103
 	D3D::SetDebugObjectName(m_pShader, "yuyv decoder pixel shader");
104 104
 
105 105
 	// Create sampler state and set border color
14  Source/Core/VideoBackends/D3D/TextureCache.cpp
@@ -18,7 +18,7 @@
18 18
 namespace DX11
19 19
 {
20 20
 
21  
-static TextureEncoder* g_encoder = NULL;
  21
+static TextureEncoder* g_encoder = nullptr;
22 22
 const size_t MAX_COPY_BUFFERS = 32;
23 23
 ID3D11Buffer* efbcopycbuf[MAX_COPY_BUFFERS] = { 0 };
24 24
 
@@ -43,7 +43,7 @@ bool TextureCache::TCacheEntry::Save(const std::string& filename, unsigned int l
43 43
 		return false;
44 44
 	}
45 45
 
46  
-	ID3D11Texture2D* pNewTexture = NULL;
  46
+	ID3D11Texture2D* pNewTexture = nullptr;
47 47
 	ID3D11Texture2D* pSurface = texture->GetTex();
48 48
 	D3D11_TEXTURE2D_DESC desc;
49 49
 	pSurface->GetDesc(&desc);
@@ -52,7 +52,7 @@ bool TextureCache::TCacheEntry::Save(const std::string& filename, unsigned int l
52 52
 	desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ | D3D11_CPU_ACCESS_WRITE;
53 53
 	desc.Usage = D3D11_USAGE_STAGING;
54 54
 
55  
-	HRESULT hr = D3D::device->CreateTexture2D(&desc, NULL, &pNewTexture);
  55
+	HRESULT hr = D3D::device->CreateTexture2D(&desc, nullptr, &pNewTexture);
56 56
 
57 57
 	bool saved_png = false;
58 58
 
@@ -85,7 +85,7 @@ void TextureCache::TCacheEntry::Load(unsigned int width, unsigned int height,
85 85
 {
86 86
 	D3D11_USAGE usage = D3D11_USAGE_DEFAULT;
87 87
 	D3D11_CPU_ACCESS_FLAG cpu_access = (D3D11_CPU_ACCESS_FLAG)0;
88  
-	D3D11_SUBRESOURCE_DATA srdata, *data = NULL;
  88
+	D3D11_SUBRESOURCE_DATA srdata, *data = nullptr;
89 89
 
90 90
 	if (tex_levels == 1)
91 91
 	{
@@ -134,7 +134,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
134 134
 		D3D::context->RSSetViewports(1, &vp);
135 135
 
136 136
 		// set transformation
137  
-		if (NULL == efbcopycbuf[cbufid])
  137
+		if (nullptr == efbcopycbuf[cbufid])
138 138
 		{
139 139
 			const D3D11_BUFFER_DESC cbdesc = CD3D11_BUFFER_DESC(28 * sizeof(float), D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DEFAULT);
140 140
 			D3D11_SUBRESOURCE_DATA data;
@@ -155,7 +155,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
155 155
 		else
156 156
 			D3D::SetPointCopySampler();
157 157
 
158  
-		D3D::context->OMSetRenderTargets(1, &texture->GetRTV(), NULL);
  158
+		D3D::context->OMSetRenderTargets(1, &texture->GetRTV(), nullptr);
159 159
 
160 160
 		// Create texture copy
161 161
 		D3D::drawShadedTexQuad(
@@ -208,7 +208,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
208 208
 
209 209
 	g_encoder->Shutdown();
210 210
 	delete g_encoder;
211  
-	g_encoder = NULL;
  211
+	g_encoder = nullptr;
212 212
 }
213 213
 
214 214
 }
12  Source/Core/VideoBackends/D3D/VertexManager.cpp
@@ -41,8 +41,8 @@ void VertexManager::CreateDeviceObjects()
41 41
 	m_vertex_buffers = new PID3D11Buffer[MAX_VBUFFER_COUNT];
42 42
 	for (m_current_index_buffer = 0; m_current_index_buffer < MAX_VBUFFER_COUNT; m_current_index_buffer++)
43 43
 	{
44  
-		m_index_buffers[m_current_index_buffer] = NULL;
45  
-		CHECK(SUCCEEDED(D3D::device->CreateBuffer(&bufdesc, NULL, &m_index_buffers[m_current_index_buffer])),
  44
+		m_index_buffers[m_current_index_buffer] = nullptr;
  45
+		CHECK(SUCCEEDED(D3D::device->CreateBuffer(&bufdesc, nullptr, &m_index_buffers[m_current_index_buffer])),
46 46
 		"Failed to create index buffer.");
47 47
 		D3D::SetDebugObjectName((ID3D11DeviceChild*)m_index_buffers[m_current_index_buffer], "index buffer of VertexManager");
48 48
 	}
@@ -50,8 +50,8 @@ void VertexManager::CreateDeviceObjects()
50 50
 	bufdesc.ByteWidth = VBUFFER_SIZE;
51 51
 	for (m_current_vertex_buffer = 0; m_current_vertex_buffer < MAX_VBUFFER_COUNT; m_current_vertex_buffer++)
52 52
 	{
53  
-		m_vertex_buffers[m_current_vertex_buffer] = NULL;
54  
-		CHECK(SUCCEEDED(D3D::device->CreateBuffer(&bufdesc, NULL, &m_vertex_buffers[m_current_vertex_buffer])),
  53
+		m_vertex_buffers[m_current_vertex_buffer] = nullptr;
  54
+		CHECK(SUCCEEDED(D3D::device->CreateBuffer(&bufdesc, nullptr, &m_vertex_buffers[m_current_vertex_buffer])),
55 55
 		"Failed to create vertex buffer.");
56 56
 		D3D::SetDebugObjectName((ID3D11DeviceChild*)m_vertex_buffers[m_current_vertex_buffer], "Vertex buffer of VertexManager");
57 57
 	}
@@ -167,7 +167,7 @@ void VertexManager::Draw(UINT stride)
167 167
 			D3D::context->DrawIndexed(IndexGenerator::GetIndexLen(), m_index_draw_offset, 0);
168 168
 			INCSTAT(stats.thisFrame.numIndexedDrawCalls);
169 169
 
170  
-			D3D::context->GSSetShader(NULL, NULL, 0);
  170
+			D3D::context->GSSetShader(nullptr, nullptr, 0);
171 171
 			((DX11::Renderer*)g_renderer)->RestoreCull();
172 172
 		}
173 173
 	}
@@ -191,7 +191,7 @@ void VertexManager::Draw(UINT stride)
191 191
 			D3D::context->DrawIndexed(IndexGenerator::GetIndexLen(), m_index_draw_offset, 0);
192 192
 			INCSTAT(stats.thisFrame.numIndexedDrawCalls);
193 193
 
194  
-			D3D::context->GSSetShader(NULL, NULL, 0);
  194
+			D3D::context->GSSetShader(nullptr, nullptr, 0);
195 195
 			((DX11::Renderer*)g_renderer)->RestoreCull();
196 196
 		}
197 197
 	}
30  Source/Core/VideoBackends/D3D/VertexShaderCache.cpp
@@ -23,10 +23,10 @@
23 23
 VertexShaderUid VertexShaderCache::last_uid;
24 24
 UidChecker<VertexShaderUid,VertexShaderCode> VertexShaderCache::vertex_uid_checker;
25 25
 
26  
-static ID3D11VertexShader* SimpleVertexShader = NULL;
27  
-static ID3D11VertexShader* ClearVertexShader = NULL;
28  
-static ID3D11InputLayout* SimpleLayout = NULL;
29  
-static ID3D11InputLayout* ClearLayout = NULL;
  26
+static ID3D11VertexShader* SimpleVertexShader = nullptr;
  27
+static ID3D11VertexShader* ClearVertexShader = nullptr;
  28
+static ID3D11InputLayout* SimpleLayout = nullptr;
  29
+static ID3D11InputLayout* ClearLayout = nullptr;
30 30
 
31 31
 LinearDiskCache<VertexShaderUid, u8> g_vs_disk_cache;
32 32
 
@@ -35,7 +35,7 @@
35 35
 ID3D11InputLayout* VertexShaderCache::GetSimpleInputLayout() { return SimpleLayout; }
36 36
 ID3D11InputLayout* VertexShaderCache::GetClearInputLayout() { return ClearLayout; }
37 37
 
38  
-ID3D11Buffer* vscbuf = NULL;
  38
+ID3D11Buffer* vscbuf = nullptr;
39 39
 
40 40
 ID3D11Buffer* &VertexShaderCache::GetConstantBuffer()
41 41
 {
@@ -114,7 +114,7 @@ void VertexShaderCache::Init()
114 114
 
115 115
 	unsigned int cbsize = ((sizeof(VertexShaderConstants))&(~0xf))+0x10; // must be a multiple of 16
116 116
 	D3D11_BUFFER_DESC cbdesc = CD3D11_BUFFER_DESC(cbsize, D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE);
117  
-	HRESULT hr = D3D::device->CreateBuffer(&cbdesc, NULL, &vscbuf);
  117
+	HRESULT hr = D3D::device->CreateBuffer(&cbdesc, nullptr, &vscbuf);
118 118
 	CHECK(hr==S_OK, "Create vertex shader constant buffer (size=%u)", cbsize);
119 119
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)vscbuf, "vertex shader constant buffer used to emulate the GX pipeline");
120 120
 
@@ -122,7 +122,7 @@ void VertexShaderCache::Init()
122 122
 	D3D::CompileVertexShader(simple_shader_code, sizeof(simple_shader_code), &blob);
123 123
 	D3D::device->CreateInputLayout(simpleelems, 2, blob->Data(), blob->Size(), &SimpleLayout);
124 124
 	SimpleVertexShader = D3D::CreateVertexShaderFromByteCode(blob);
125  
-	if (SimpleLayout == NULL || SimpleVertexShader == NULL) PanicAlert("Failed to create simple vertex shader or input layout at %s %d\n", __FILE__, __LINE__);
  125
+	if (SimpleLayout == nullptr || SimpleVertexShader == nullptr) PanicAlert("Failed to create simple vertex shader or input layout at %s %d\n", __FILE__, __LINE__);
126 126
 	blob->Release();
127 127
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)SimpleVertexShader, "simple vertex shader");
128 128
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)SimpleLayout, "simple input layout");
@@ -130,7 +130,7 @@ void VertexShaderCache::Init()
130 130
 	D3D::CompileVertexShader(clear_shader_code, sizeof(clear_shader_code), &blob);
131 131
 	D3D::device->CreateInputLayout(clearelems, 2, blob->Data(), blob->Size(), &ClearLayout);
132 132
 	ClearVertexShader = D3D::CreateVertexShaderFromByteCode(blob);
133  
-	if (ClearLayout == NULL || ClearVertexShader == NULL) PanicAlert("Failed to create clear vertex shader or input layout at %s %d\n", __FILE__, __LINE__);
  133
+	if (ClearLayout == nullptr || ClearVertexShader == nullptr) PanicAlert("Failed to create clear vertex shader or input layout at %s %d\n", __FILE__, __LINE__);
134 134
 	blob->Release();
135 135
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)ClearVertexShader, "clear vertex shader");
136 136
 	D3D::SetDebugObjectName((ID3D11DeviceChild*)ClearLayout, "clear input layout");
@@ -152,7 +152,7 @@ void VertexShaderCache::Init()
152 152
 	if (g_Config.bEnableShaderDebugging)
153 153
 		Clear();
154 154
 
155  
-	last_entry = NULL;
  155
+	last_entry = nullptr;
156 156
 }
157 157
 
158 158
 void VertexShaderCache::Clear()
@@ -162,7 +162,7 @@ void VertexShaderCache::Clear()
162 162
 	vshaders.clear();
163 163
 	vertex_uid_checker.Invalidate();
164 164
 
165  
-	last_entry = NULL;
  165
+	last_entry = nullptr;
166 166
 }
167 167
 
168 168
 void VertexShaderCache::Shutdown()
@@ -196,7 +196,7 @@ bool VertexShaderCache::SetShader(u32 components)
196 196
 		if (uid == last_uid)
197 197
 		{
198 198
 			GFX_DEBUGGER_PAUSE_AT(NEXT_VERTEX_SHADER_CHANGE, true);
199  
-			return (last_entry->shader != NULL);
  199
+			return (last_entry->shader != nullptr);
200 200
 		}
201 201
 	}
202 202
 
@@ -209,16 +209,16 @@ bool VertexShaderCache::SetShader(u32 components)
209 209
 		last_entry = &entry;
210 210
 
211 211
 		GFX_DEBUGGER_PAUSE_AT(NEXT_VERTEX_SHADER_CHANGE, true);
212  
-		return (entry.shader != NULL);
  212
+		return (entry.shader != nullptr);
213 213
 	}
214 214
 
215 215
 	VertexShaderCode code;
216 216
 	GenerateVertexShaderCode(code, components, API_D3D);
217 217
 
218  
-	D3DBlob* pbytecode = NULL;
  218
+	D3DBlob* pbytecode = nullptr;
219 219
 	D3D::CompileVertexShader(code.GetBuffer(), (int)strlen(code.GetBuffer()), &pbytecode);
220 220
 
221  
-	if (pbytecode == NULL)
  221
+	if (pbytecode == nullptr)
222 222
 	{
223 223
 		GFX_DEBUGGER_PAUSE_AT(NEXT_ERROR, true);
224 224
 		return false;
@@ -240,7 +240,7 @@ bool VertexShaderCache::SetShader(u32 components)
240 240
 bool VertexShaderCache::InsertByteCode(const VertexShaderUid &uid, D3DBlob* bcodeblob)
241 241
 {
242 242
 	ID3D11VertexShader* shader = D3D::CreateVertexShaderFromByteCode(bcodeblob);
243  
-	if (shader == NULL)
  243
+	if (shader == nullptr)
244 244
 		return false;
245 245
 
246 246
 	// TODO: Somehow make the debug name a bit more specific
2  Source/Core/VideoBackends/D3D/VertexShaderCache.h
@@ -40,7 +40,7 @@ class VertexShaderCache
40 40
 
41 41
 		std::string code;
42 42
 
43  
-		VSCacheEntry() : shader(NULL), bytecode(NULL) {}
  43
+		VSCacheEntry() : shader(nullptr), bytecode(nullptr) {}
44 44
 		void SetByteCode(D3DBlob* blob)
45 45
 		{
46 46
 			SAFE_RELEASE(bytecode);
34  Source/Core/VideoBackends/D3D/XFBEncoder.cpp
@@ -130,10 +130,10 @@
130 130
 } QUAD_VERTS[4] = { { 0, 0 }, { 1, 0 }, { 0, 1 }, { 1, 1 } };
131 131
 
132 132
 XFBEncoder::XFBEncoder()
133  
-	: m_out(NULL), m_outRTV(NULL), m_outStage(NULL), m_encodeParams(NULL),
134  
-	m_quad(NULL), m_vShader(NULL), m_quadLayout(NULL), m_pShader(NULL),
135  
-	m_xfbEncodeBlendState(NULL), m_xfbEncodeDepthState(NULL),
136  
-	m_xfbEncodeRastState(NULL), m_efbSampler(NULL)
  133
+	: m_out(nullptr), m_outRTV(nullptr), m_outStage(nullptr), m_encodeParams(nullptr),
  134
+	m_quad(nullptr), m_vShader(nullptr), m_quadLayout(nullptr), m_pShader(nullptr),
  135
+	m_xfbEncodeBlendState(nullptr), m_xfbEncodeDepthState(nullptr),
  136
+	m_xfbEncodeRastState(nullptr), m_efbSampler(nullptr)
137 137
 { }
138 138
 
139 139
 void XFBEncoder::Init()
@@ -147,7 +147,7 @@ void XFBEncoder::Init()
147 147
 	D3D11_TEXTURE2D_DESC t2dd = CD3D11_TEXTURE2D_DESC(
148 148
 		DXGI_FORMAT_R8G8B8A8_UNORM, MAX_XFB_WIDTH/2, MAX_XFB_HEIGHT, 1, 1,
149 149
 		D3D11_BIND_RENDER_TARGET);
150  
-	hr = D3D::device->CreateTexture2D(&t2dd, NULL, &m_out);
  150
+	hr = D3D::device->CreateTexture2D(&t2dd, nullptr, &m_out);
151 151
 	CHECK(SUCCEEDED(hr), "create xfb encoder output texture");
152 152
 	D3D::SetDebugObjectName(m_out, "xfb encoder output texture");
153 153
 
@@ -164,7 +164,7 @@ void XFBEncoder::Init()
164 164
 	t2dd.Usage = D3D11_USAGE_STAGING;
165 165
 	t2dd.BindFlags = 0;
166 166
 	t2dd.CPUAccessFlags = D3D11_CPU_ACCESS_READ;
167  
-	hr = D3D::device->CreateTexture2D(&t2dd, NULL, &m_outStage);
  167
+	hr = D3D::device->CreateTexture2D(&t2dd, nullptr, &m_outStage);
168 168
 	CHECK(SUCCEEDED(hr), "create xfb encoder output staging buffer");
169 169
 	D3D::SetDebugObjectName(m_outStage, "xfb encoder output staging buffer");
170 170
 
@@ -172,7 +172,7 @@ void XFBEncoder::Init()
172 172
 
173 173
 	D3D11_BUFFER_DESC bd = CD3D11_BUFFER_DESC(sizeof(XFBEncodeParams),
174 174
 		D3D11_BIND_CONSTANT_BUFFER);
175  
-	hr = D3D::device->CreateBuffer(&bd, NULL, &m_encodeParams);
  175
+	hr = D3D::device->CreateBuffer(&bd, nullptr, &m_encodeParams);
176 176
 	CHECK(SUCCEEDED(hr), "create xfb encode params buffer");
177 177
 	D3D::SetDebugObjectName(m_encodeParams, "xfb encoder params buffer");
178 178
 
@@ -188,14 +188,14 @@ void XFBEncoder::Init()
188 188
 
189 189
 	// Create vertex shader
190 190
 
191  
-	D3DBlob* bytecode = NULL;
  191
+	D3DBlob* bytecode = nullptr;
192 192
 	if (!D3D::CompileVertexShader(XFB_ENCODE_VS, sizeof(XFB_ENCODE_VS), &bytecode))
193 193
 	{
194 194
 		ERROR_LOG(VIDEO, "XFB encode vertex shader failed to compile");
195 195
 		return;
196 196
 	}
197 197
 
198  
-	hr = D3D::device->CreateVertexShader(bytecode->Data(), bytecode->Size(), NULL, &m_vShader);
  198
+	hr = D3D::device->CreateVertexShader(bytecode->Data(), bytecode->Size(), nullptr, &m_vShader);
199 199
 	CHECK(SUCCEEDED(hr), "create xfb encode vertex shader");
200 200
 	D3D::SetDebugObjectName(m_vShader, "xfb encoder vertex shader");
201 201
 
@@ -279,8 +279,8 @@ void XFBEncoder::Encode(u8* dst, u32 width, u32 height, const EFBRectangle& srcR
279 279
 
280 280
 	// Set up all the state for XFB encoding
281 281
 
282  
-	D3D::context->PSSetShader(m_pShader, NULL, 0);
283  
-	D3D::context->VSSetShader(m_vShader, NULL, 0);
  282
+	D3D::context->PSSetShader(m_pShader, nullptr, 0);
  283
+	D3D::context->VSSetShader(m_vShader, nullptr, 0);
284 284
 
285 285
 	D3D::stateman->PushBlendState(m_xfbEncodeBlendState);
286 286
 	D3D::stateman->PushDepthState(m_xfbEncodeDepthState);
@@ -306,11 +306,11 @@ void XFBEncoder::Encode(u8* dst, u32 width, u32 height, const EFBRectangle& srcR
306 306
 	params.TexRight = FLOAT(targetRect.right) / g_renderer->GetTargetWidth();
307 307
 	params.TexBottom = FLOAT(targetRect.bottom) / g_renderer->GetTargetHeight();
308 308
 	params.Gamma = gamma;
309  
-	D3D::context->UpdateSubresource(m_encodeParams, 0, NULL, &params, 0, 0);
  309
+	D3D::context->UpdateSubresource(m_encodeParams, 0, nullptr, &params, 0, 0);
310 310
 
311 311
 	D3D::context->VSSetConstantBuffers(0, 1, &m_encodeParams);
312 312
 
313  
-	D3D::context->OMSetRenderTargets(1, &m_outRTV, NULL);
  313
+	D3D::context->OMSetRenderTargets(1, &m_outRTV, nullptr);
314 314
 
315 315
 	ID3D11ShaderResourceView* pEFB = FramebufferManager::GetEFBColorTexture()->GetSRV();
316 316
 
@@ -329,13 +329,13 @@ void XFBEncoder::Encode(u8* dst, u32 width, u32 height, const EFBRectangle& srcR
329 329
 
330 330
 	// Clean up state
331 331
 
332  
-	IUnknown* nullDummy = NULL;
  332
+	IUnknown* nullDummy = nullptr;
333 333
 
334 334
 	D3D::context->PSSetSamplers(0, 1, (ID3D11SamplerState**)&nullDummy);
335 335
 	D3D::context->PSSetShaderResources(0, 1, (ID3D11ShaderResourceView**)&nullDummy);
336 336
 	D3D::context->PSSetConstantBuffers(0, 1, (ID3D11Buffer**)&nullDummy);
337 337
 
338  
-	D3D::context->OMSetRenderTargets(0, NULL, NULL);
  338
+	D3D::context->OMSetRenderTargets(0, nullptr, nullptr);
339 339
 
340 340
 	D3D::context->VSSetConstantBuffers(0, 1, (ID3D11Buffer**)&nullDummy);
341 341
 
@@ -343,8 +343,8 @@ void XFBEncoder::Encode(u8* dst, u32 width, u32 height, const EFBRectangle& srcR
343 343
 	D3D::stateman->PopDepthState();
344 344
 	D3D::stateman->PopBlendState();
345 345
 
346  
-	D3D::context->PSSetShader(NULL, NULL, 0);
347  
-	D3D::context->VSSetShader(NULL, NULL, 0);
  346
+	D3D::context->PSSetShader(nullptr, nullptr, 0);
  347
+	D3D::context->VSSetShader(nullptr, nullptr, 0);
348 348
 
349 349
 	// Transfer staging buffer to GameCube/Wii RAM
350 350
 
6  Source/Core/VideoBackends/D3D/main.cpp
@@ -161,7 +161,7 @@ bool VideoBackend::Initialize(void *&window_handle)
161 161
 	UpdateActiveConfig();
162 162
 
163 163
 	window_handle = (void*)EmuWindow::Create((HWND)window_handle, GetModuleHandle(0), _T("Loading - Please wait."));
164  
-	if (window_handle == NULL)
  164
+	if (window_handle == nullptr)
165 165
 	{
166 166
 		ERROR_LOG(VIDEO, "An error has occurred while trying to create the window.");
167 167
 		return false;
@@ -230,8 +230,8 @@ void VideoBackend::Shutdown()
230 230
 		delete g_vertex_manager;
231 231
 		delete g_texture_cache;
232 232
 		delete g_renderer;
233  
-		g_renderer = NULL;
234  
-		g_texture_cache = NULL;
  233
+		g_renderer = nullptr;
  234
+		g_texture_cache = nullptr;
235 235
 	}
236 236
 }
237 237
 
12  Source/Core/VideoBackends/OGL/FramebufferManager.cpp
6 additions, 6 deletions not shown
14  Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.cpp
7 additions, 7 deletions not shown
4  Source/Core/VideoBackends/OGL/GLUtil.cpp
2 additions, 2 deletions not shown
4  Source/Core/VideoBackends/OGL/NativeVertexFormat.cpp
2 additions, 2 deletions not shown
2  Source/Core/VideoBackends/OGL/PerfQuery.h
1 additions, 1 deletions not shown
4  Source/Core/VideoBackends/OGL/PostProcessing.cpp
2 additions, 2 deletions not shown
34  Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
20 additions, 14 deletions not shown
4  Source/Core/VideoBackends/OGL/RasterFont.cpp
2 additions, 2 deletions not shown
20  Source/Core/VideoBackends/OGL/Render.cpp
10 additions, 10 deletions not shown
2  Source/Core/VideoBackends/OGL/Render.h
1 additions, 1 deletions not shown
36  Source/Core/VideoBackends/OGL/StreamBuffer.cpp
18 additions, 18 deletions not shown
2  Source/Core/VideoBackends/OGL/TextureCache.cpp
1 additions, 1 deletions not shown
2  Source/Core/VideoBackends/OGL/TextureCache.h
1 additions, 1 deletions not shown
6  Source/Core/VideoBackends/OGL/TextureConverter.cpp
3 additions, 3 deletions not shown
6  Source/Core/VideoBackends/OGL/VertexManager.cpp
3 additions, 3 deletions not shown
2  Source/Core/VideoBackends/OGL/VertexManager.h
1 additions, 1 deletions not shown
10  Source/Core/VideoBackends/OGL/main.cpp
5 additions, 5 deletions not shown
2  Source/Core/VideoBackends/Software/BPMemLoader.cpp
1 additions, 1 deletions not shown
2  Source/Core/VideoBackends/Software/DebugUtil.cpp
1 additions, 1 deletions not shown
2  Source/Core/VideoBackends/Software/OpcodeDecoder.cpp
1 additions, 1 deletions not shown
12  Source/Core/VideoBackends/Software/Rasterizer.cpp
6 additions, 6 deletions not shown
2  Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
1 additions, 1 deletions not shown
4  Source/Core/VideoBackends/Software/SWRenderer.cpp
2 additions, 2 deletions not shown
10  Source/Core/VideoBackends/Software/SWVertexLoader.cpp
5 additions, 5 deletions not shown
2  Source/Core/VideoBackends/Software/SWmain.cpp
1 additions, 1 deletions not shown
24  Source/Core/VideoBackends/Software/Tev.cpp
16 additions, 8 deletions not shown
2  Source/Core/VideoBackends/Software/TextureSampler.cpp
1 additions, 1 deletions not shown
46  Source/Core/VideoCommon/AVIDump.cpp
23 additions, 23 deletions not shown
2  Source/Core/VideoCommon/BPStructs.cpp
1 additions, 1 deletions not shown
12  Source/Core/VideoCommon/Debugger.cpp
6 additions, 6 deletions not shown
18  Source/Core/VideoCommon/EmuWindow.cpp
9 additions, 9 deletions not shown
2  Source/Core/VideoCommon/Fifo.cpp
1 additions, 1 deletions not shown
18  Source/Core/VideoCommon/FramebufferManagerBase.cpp
8 additions, 10 deletions not shown
2  Source/Core/VideoCommon/FramebufferManagerBase.h
1 additions, 1 deletions not shown
4  Source/Core/VideoCommon/HiresTextures.cpp
2 additions, 2 deletions not shown
16  Source/Core/VideoCommon/ImageWrite.cpp
8 additions, 8 deletions not shown
2  Source/Core/VideoCommon/IndexGenerator.cpp
1 additions, 1 deletions not shown
4  Source/Core/VideoCommon/OpcodeDecoding.cpp
2 additions, 2 deletions not shown
2  Source/Core/VideoCommon/PerfQueryBase.cpp
1 additions, 1 deletions not shown
8  Source/Core/VideoCommon/PixelShaderGen.cpp
4 additions, 4 deletions not shown
2  Source/Core/VideoCommon/RenderBase.cpp
1 additions, 1 deletions not shown
8  Source/Core/VideoCommon/ShaderGenCommon.h
4 additions, 4 deletions not shown
30  Source/Core/VideoCommon/TextureCacheBase.cpp
14 additions, 16 deletions not shown
2  Source/Core/VideoCommon/TextureConversionShader.cpp
1 additions, 1 deletions not shown
8  Source/Core/VideoCommon/VertexLoader.cpp
4 additions, 4 deletions not shown
2  Source/Core/VideoCommon/VertexLoaderManager.cpp
1 additions, 1 deletions not shown
10  Source/Core/VideoCommon/VertexLoader_Position.cpp
5 additions, 5 deletions not shown
10  Source/Core/VideoCommon/VertexLoader_TextCoord.cpp
5 additions, 5 deletions not shown
6  Source/Core/VideoCommon/VertexShaderGen.cpp
3 additions, 3 deletions not shown
8  Source/Core/VideoCommon/VideoBackendBase.cpp
4 additions, 4 deletions not shown
40  Source/Core/VideoCommon/VideoBackendBase.h
20 additions, 20 deletions not shown
4  Source/DSPSpy/main_spy.cpp
2 additions, 2 deletions not shown
2  Source/DSPSpy/real_dsp.cpp
1 additions, 1 deletions not shown
4  Source/UnitTests/Core/MMIOTest.cpp
2 additions, 2 deletions not shown
2  docs/DSP/DSP_InterC/DSP_InterC/DSP_InterC.cpp
1 additions, 1 deletions not shown

0 notes on commit 633dc75

Please sign in to comment.
Something went wrong with that request. Please try again.