summaryrefslogtreecommitdiff
path: root/src/video
diff options
context:
space:
mode:
authorHenry Wilson <m3henry@googlemail.com>2019-04-10 22:07:06 +0100
committerMichael Lutz <michi@icosahedron.de>2019-04-10 23:22:20 +0200
commit7c8e7c6b6e16d4a26259a676db32d8776b99817e (patch)
tree99f134b7e66367cf11e10bc5061896eab4a3264f /src/video
parent3b4f224c0bc50e7248050d4bcbb6d83fd510c1cc (diff)
downloadopenttd-7c8e7c6b6e16d4a26259a676db32d8776b99817e.tar.xz
Codechange: Use null pointer literal instead of the NULL macro
Diffstat (limited to 'src/video')
-rw-r--r--src/video/allegro_v.cpp14
-rw-r--r--src/video/dedicated_v.cpp24
-rw-r--r--src/video/null_v.cpp4
-rw-r--r--src/video/sdl_v.cpp62
-rw-r--r--src/video/win32_v.cpp78
5 files changed, 91 insertions, 91 deletions
diff --git a/src/video/allegro_v.cpp b/src/video/allegro_v.cpp
index c21f88d67..47dd92e1e 100644
--- a/src/video/allegro_v.cpp
+++ b/src/video/allegro_v.cpp
@@ -140,7 +140,7 @@ static void GetVideoModes()
set_gfx_mode(_fullscreen ? GFX_AUTODETECT_FULLSCREEN : GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
GFX_MODE_LIST *mode_list = get_gfx_mode_list(gfx_driver->id);
- if (mode_list == NULL) {
+ if (mode_list == nullptr) {
memcpy(_resolutions, default_resolutions, sizeof(default_resolutions));
_num_resolutions = lengthof(default_resolutions);
return;
@@ -243,7 +243,7 @@ static bool CreateMainSurface(uint w, uint h)
bool VideoDriver_Allegro::ClaimMousePointer()
{
select_mouse_cursor(MOUSE_CURSOR_NONE);
- show_mouse(NULL);
+ show_mouse(nullptr);
disable_hardware_cursor();
return true;
}
@@ -424,7 +424,7 @@ int _allegro_instance_count = 0;
const char *VideoDriver_Allegro::Start(const char * const *parm)
{
- if (_allegro_instance_count == 0 && install_allegro(SYSTEM_AUTODETECT, &errno, NULL)) {
+ if (_allegro_instance_count == 0 && install_allegro(SYSTEM_AUTODETECT, &errno, nullptr)) {
DEBUG(driver, 0, "allegro: install_allegro failed '%s'", allegro_error);
return "Failed to set up Allegro";
}
@@ -437,8 +437,8 @@ const char *VideoDriver_Allegro::Start(const char * const *parm)
#if defined _DEBUG
/* Allegro replaces SEGV/ABRT signals meaning that the debugger will never
* be triggered, so rereplace the signals and make the debugger useful. */
- signal(SIGABRT, NULL);
- signal(SIGSEGV, NULL);
+ signal(SIGABRT, nullptr);
+ signal(SIGSEGV, nullptr);
#endif
GetVideoModes();
@@ -448,7 +448,7 @@ const char *VideoDriver_Allegro::Start(const char * const *parm)
MarkWholeScreenDirty();
set_close_button_callback(HandleExitGameRequest);
- return NULL;
+ return nullptr;
}
void VideoDriver_Allegro::Stop()
@@ -463,7 +463,7 @@ static uint32 GetTime()
{
struct timeval tim;
- gettimeofday(&tim, NULL);
+ gettimeofday(&tim, nullptr);
return tim.tv_usec / 1000 + tim.tv_sec * 1000;
}
#else
diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp
index 5af900080..8d767ce4d 100644
--- a/src/video/dedicated_v.cpp
+++ b/src/video/dedicated_v.cpp
@@ -87,7 +87,7 @@ static void WINAPI CheckForConsoleInput()
DWORD nb;
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
for (;;) {
- ReadFile(hStdin, _win_console_thread_buffer, lengthof(_win_console_thread_buffer), &nb, NULL);
+ ReadFile(hStdin, _win_console_thread_buffer, lengthof(_win_console_thread_buffer), &nb, nullptr);
if (nb >= lengthof(_win_console_thread_buffer)) nb = lengthof(_win_console_thread_buffer) - 1;
_win_console_thread_buffer[nb] = '\0';
@@ -102,12 +102,12 @@ static void CreateWindowsConsoleThread()
{
DWORD dwThreadId;
/* Create event to signal when console input is ready */
- _hInputReady = CreateEvent(NULL, false, false, NULL);
- _hWaitForInputHandling = CreateEvent(NULL, false, false, NULL);
- if (_hInputReady == NULL || _hWaitForInputHandling == NULL) usererror("Cannot create console event!");
+ _hInputReady = CreateEvent(nullptr, false, false, nullptr);
+ _hWaitForInputHandling = CreateEvent(nullptr, false, false, nullptr);
+ if (_hInputReady == nullptr || _hWaitForInputHandling == nullptr) usererror("Cannot create console event!");
- _hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)CheckForConsoleInput, NULL, 0, &dwThreadId);
- if (_hThread == NULL) usererror("Cannot create console thread!");
+ _hThread = CreateThread(nullptr, 0, (LPTHREAD_START_ROUTINE)CheckForConsoleInput, nullptr, 0, &dwThreadId);
+ if (_hThread == nullptr) usererror("Cannot create console thread!");
DEBUG(driver, 2, "Windows console thread started");
}
@@ -130,7 +130,7 @@ static void *_dedicated_video_mem;
/* Whether a fork has been done. */
bool _dedicated_forks;
-extern bool SafeLoad(const char *filename, SaveLoadOperation fop, DetailedFileType dft, GameMode newgm, Subdirectory subdir, struct LoadFilter *lf = NULL);
+extern bool SafeLoad(const char *filename, SaveLoadOperation fop, DetailedFileType dft, GameMode newgm, Subdirectory subdir, struct LoadFilter *lf = nullptr);
static FVideoDriver_Dedicated iFVideoDriver_Dedicated;
@@ -138,7 +138,7 @@ static FVideoDriver_Dedicated iFVideoDriver_Dedicated;
const char *VideoDriver_Dedicated::Start(const char * const *parm)
{
int bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth();
- _dedicated_video_mem = (bpp == 0) ? NULL : MallocT<byte>(_cur_resolution.width * _cur_resolution.height * (bpp / 8));
+ _dedicated_video_mem = (bpp == 0) ? nullptr : MallocT<byte>(_cur_resolution.width * _cur_resolution.height * (bpp / 8));
_screen.width = _screen.pitch = _cur_resolution.width;
_screen.height = _cur_resolution.height;
@@ -164,7 +164,7 @@ const char *VideoDriver_Dedicated::Start(const char * const *parm)
#endif
DEBUG(driver, 1, "Loading dedicated server");
- return NULL;
+ return nullptr;
}
void VideoDriver_Dedicated::Stop()
@@ -192,14 +192,14 @@ static bool InputWaiting()
FD_SET(STDIN, &readfds);
/* don't care about writefds and exceptfds: */
- return select(STDIN + 1, &readfds, NULL, NULL, &tv) > 0;
+ return select(STDIN + 1, &readfds, nullptr, nullptr, &tv) > 0;
}
static uint32 GetTime()
{
struct timeval tim;
- gettimeofday(&tim, NULL);
+ gettimeofday(&tim, nullptr);
return tim.tv_usec / 1000 + tim.tv_sec * 1000;
}
@@ -226,7 +226,7 @@ static void DedicatedHandleKeyInput()
if (_exit_game) return;
#if defined(UNIX) || defined(__OS2__)
- if (fgets(input_line, lengthof(input_line), stdin) == NULL) return;
+ if (fgets(input_line, lengthof(input_line), stdin) == nullptr) return;
#else
/* Handle console input, and signal console thread, it can accept input again */
assert_compile(lengthof(_win_console_thread_buffer) <= lengthof(input_line));
diff --git a/src/video/null_v.cpp b/src/video/null_v.cpp
index 5037814e5..4ee2d05ce 100644
--- a/src/video/null_v.cpp
+++ b/src/video/null_v.cpp
@@ -29,13 +29,13 @@ const char *VideoDriver_Null::Start(const char * const *parm)
this->ticks = GetDriverParamInt(parm, "ticks", 1000);
_screen.width = _screen.pitch = _cur_resolution.width;
_screen.height = _cur_resolution.height;
- _screen.dst_ptr = NULL;
+ _screen.dst_ptr = nullptr;
ScreenSizeChanged();
/* Do not render, nor blit */
DEBUG(misc, 1, "Forcing blitter 'null'...");
BlitterFactory::SelectBlitter("null");
- return NULL;
+ return nullptr;
}
void VideoDriver_Null::Stop() { }
diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp
index 5e3fb4552..2f6184e85 100644
--- a/src/video/sdl_v.cpp
+++ b/src/video/sdl_v.cpp
@@ -39,9 +39,9 @@ static bool _all_modes;
/** Whether the drawing is/may be done in a separate thread. */
static bool _draw_threaded;
/** Mutex to keep the access to the shared memory controlled. */
-static std::recursive_mutex *_draw_mutex = NULL;
+static std::recursive_mutex *_draw_mutex = nullptr;
/** Signal to draw the next frame. */
-static std::condition_variable_any *_draw_signal = NULL;
+static std::condition_variable_any *_draw_signal = nullptr;
/** Should we keep continue drawing? */
static volatile bool _draw_continue;
static Palette _local_palette;
@@ -111,7 +111,7 @@ static void UpdatePalette(bool init = false)
* best mapping of shadow palette colors to real palette
* colors from scratch.
*/
- SDL_BlitSurface(_sdl_screen, NULL, _sdl_realscreen, NULL);
+ SDL_BlitSurface(_sdl_screen, nullptr, _sdl_realscreen, nullptr);
SDL_UpdateRect(_sdl_realscreen, 0, 0, 0, 0);
}
}
@@ -158,7 +158,7 @@ static void DrawSurfaceToScreen()
_num_dirty_rects = 0;
if (n > MAX_DIRTY_RECTS) {
if (_sdl_screen != _sdl_realscreen) {
- SDL_BlitSurface(_sdl_screen, NULL, _sdl_realscreen, NULL);
+ SDL_BlitSurface(_sdl_screen, nullptr, _sdl_realscreen, nullptr);
}
SDL_UpdateRect(_sdl_realscreen, 0, 0, 0, 0);
} else {
@@ -204,10 +204,10 @@ static const Dimension _default_resolutions[] = {
static void GetVideoModes()
{
- SDL_Rect **modes = SDL_ListModes(NULL, SDL_SWSURFACE | SDL_FULLSCREEN);
- if (modes == NULL) usererror("sdl: no modes available");
+ SDL_Rect **modes = SDL_ListModes(nullptr, SDL_SWSURFACE | SDL_FULLSCREEN);
+ if (modes == nullptr) usererror("sdl: no modes available");
- _all_modes = (SDL_ListModes(NULL, SDL_SWSURFACE | (_fullscreen ? SDL_FULLSCREEN : 0)) == (void*)-1);
+ _all_modes = (SDL_ListModes(nullptr, SDL_SWSURFACE | (_fullscreen ? SDL_FULLSCREEN : 0)) == (void*)-1);
if (modes == (void*)-1) {
int n = 0;
for (uint i = 0; i < lengthof(_default_resolutions); i++) {
@@ -278,15 +278,15 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
if (bpp == 0) usererror("Can't use a blitter that blits 0 bpp for normal visuals");
char icon_path[MAX_PATH];
- if (FioFindFullPath(icon_path, lastof(icon_path), BASESET_DIR, "openttd.32.bmp") != NULL) {
+ if (FioFindFullPath(icon_path, lastof(icon_path), BASESET_DIR, "openttd.32.bmp") != nullptr) {
/* Give the application an icon */
icon = SDL_LoadBMP(icon_path);
- if (icon != NULL) {
+ if (icon != nullptr) {
/* Get the colourkey, which will be magenta */
uint32 rgbmap = SDL_MapRGB(icon->format, 255, 0, 255);
SDL_SetColorKey(icon, SDL_SRCCOLORKEY, rgbmap);
- SDL_WM_SetIcon(icon, NULL);
+ SDL_WM_SetIcon(icon, nullptr);
SDL_FreeSurface(icon);
}
}
@@ -322,9 +322,9 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
if (want_hwpalette) DEBUG(driver, 1, "SDL: requesting hardware palette");
/* Free any previously allocated shadow surface */
- if (_sdl_screen != NULL && _sdl_screen != _sdl_realscreen) SDL_FreeSurface(_sdl_screen);
+ if (_sdl_screen != nullptr && _sdl_screen != _sdl_realscreen) SDL_FreeSurface(_sdl_screen);
- if (_sdl_realscreen != NULL) {
+ if (_sdl_realscreen != nullptr) {
if (_requested_hwpalette != want_hwpalette) {
/* SDL (at least the X11 driver), reuses the
* same window and palette settings when the bpp
@@ -349,7 +349,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
/* DO NOT CHANGE TO HWSURFACE, IT DOES NOT WORK */
newscreen = SDL_SetVideoMode(w, h, bpp, SDL_SWSURFACE | (want_hwpalette ? SDL_HWPALETTE : 0) | (_fullscreen ? SDL_FULLSCREEN : SDL_RESIZABLE));
- if (newscreen == NULL) {
+ if (newscreen == nullptr) {
DEBUG(driver, 0, "SDL: Couldn't allocate a window to draw on");
return false;
}
@@ -376,7 +376,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
*/
DEBUG(driver, 1, "SDL: using shadow surface");
newscreen = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, bpp, 0, 0, 0, 0);
- if (newscreen == NULL) {
+ if (newscreen == nullptr) {
DEBUG(driver, 0, "SDL: Couldn't allocate a shadow surface to draw on");
return false;
}
@@ -637,9 +637,9 @@ const char *VideoDriver_SDL::Start(const char * const *parm)
MarkWholeScreenDirty();
SetupKeyboard();
- _draw_threaded = GetDriverParam(parm, "no_threads") == NULL && GetDriverParam(parm, "no_thread") == NULL;
+ _draw_threaded = GetDriverParam(parm, "no_threads") == nullptr && GetDriverParam(parm, "no_thread") == nullptr;
- return NULL;
+ return nullptr;
}
void VideoDriver_SDL::SetupKeyboard()
@@ -673,7 +673,7 @@ void VideoDriver_SDL::MainLoop()
/* Initialise the mutex first, because that's the thing we *need*
* directly in the newly created thread. */
_draw_mutex = new std::recursive_mutex();
- if (_draw_mutex == NULL) {
+ if (_draw_mutex == nullptr) {
_draw_threaded = false;
} else {
draw_lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
@@ -688,8 +688,8 @@ void VideoDriver_SDL::MainLoop()
draw_lock.release();
delete _draw_mutex;
delete _draw_signal;
- _draw_mutex = NULL;
- _draw_signal = NULL;
+ _draw_mutex = nullptr;
+ _draw_signal = nullptr;
} else {
/* Wait till the draw mutex has started itself. */
_draw_signal->wait(*_draw_mutex);
@@ -757,26 +757,26 @@ void VideoDriver_SDL::MainLoop()
/* The gameloop is the part that can run asynchronously. The rest
* except sleeping can't. */
- if (_draw_mutex != NULL) draw_lock.unlock();
+ if (_draw_mutex != nullptr) draw_lock.unlock();
GameLoop();
- if (_draw_mutex != NULL) draw_lock.lock();
+ if (_draw_mutex != nullptr) draw_lock.lock();
UpdateWindows();
_local_palette = _cur_palette;
} else {
/* Release the thread while sleeping */
- if (_draw_mutex != NULL) draw_lock.unlock();
+ if (_draw_mutex != nullptr) draw_lock.unlock();
CSleep(1);
- if (_draw_mutex != NULL) draw_lock.lock();
+ if (_draw_mutex != nullptr) draw_lock.lock();
NetworkDrawChatMessage();
DrawMouseCursor();
}
/* End of the critical part. */
- if (_draw_mutex != NULL && !HasModalProgress()) {
+ if (_draw_mutex != nullptr && !HasModalProgress()) {
_draw_signal->notify_one();
} else {
/* Oh, we didn't have threads, then just draw unthreaded */
@@ -785,7 +785,7 @@ void VideoDriver_SDL::MainLoop()
}
}
- if (_draw_mutex != NULL) {
+ if (_draw_mutex != nullptr) {
_draw_continue = false;
/* Sending signal if there is no thread blocked
* is very valid and results in noop */
@@ -797,15 +797,15 @@ void VideoDriver_SDL::MainLoop()
delete _draw_mutex;
delete _draw_signal;
- _draw_mutex = NULL;
- _draw_signal = NULL;
+ _draw_mutex = nullptr;
+ _draw_signal = nullptr;
}
}
bool VideoDriver_SDL::ChangeResolution(int w, int h)
{
std::unique_lock<std::recursive_mutex> lock;
- if (_draw_mutex != NULL) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
+ if (_draw_mutex != nullptr) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
return CreateMainSurface(w, h);
}
@@ -813,7 +813,7 @@ bool VideoDriver_SDL::ChangeResolution(int w, int h)
bool VideoDriver_SDL::ToggleFullscreen(bool fullscreen)
{
std::unique_lock<std::recursive_mutex> lock;
- if (_draw_mutex != NULL) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
+ if (_draw_mutex != nullptr) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
_fullscreen = fullscreen;
GetVideoModes(); // get the list of available video modes
@@ -834,12 +834,12 @@ bool VideoDriver_SDL::AfterBlitterChange()
void VideoDriver_SDL::AcquireBlitterLock()
{
- if (_draw_mutex != NULL) _draw_mutex->lock();
+ if (_draw_mutex != nullptr) _draw_mutex->lock();
}
void VideoDriver_SDL::ReleaseBlitterLock()
{
- if (_draw_mutex != NULL) _draw_mutex->unlock();
+ if (_draw_mutex != nullptr) _draw_mutex->unlock();
}
#endif /* WITH_SDL */
diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp
index 382c0d8fc..7eea4782a 100644
--- a/src/video/win32_v.cpp
+++ b/src/video/win32_v.cpp
@@ -42,7 +42,7 @@
#endif
typedef BOOL (WINAPI *PFNTRACKMOUSEEVENT)(LPTRACKMOUSEEVENT lpEventTrack);
-static PFNTRACKMOUSEEVENT _pTrackMouseEvent = NULL;
+static PFNTRACKMOUSEEVENT _pTrackMouseEvent = nullptr;
static struct {
HWND main_wnd;
@@ -68,9 +68,9 @@ DWORD _imm_props;
/** Whether the drawing is/may be done in a separate thread. */
static bool _draw_threaded;
/** Mutex to keep the access to the shared memory controlled. */
-static std::recursive_mutex *_draw_mutex = NULL;
+static std::recursive_mutex *_draw_mutex = nullptr;
/** Signal to draw the next frame. */
-static std::condition_variable_any *_draw_signal = NULL;
+static std::condition_variable_any *_draw_signal = nullptr;
/** Should we keep continue drawing? */
static volatile bool _draw_continue;
/** Local copy of the palette for use in the drawing thread. */
@@ -91,7 +91,7 @@ static void MakePalette()
}
_wnd.gdi_palette = CreatePalette(pal);
- if (_wnd.gdi_palette == NULL) usererror("CreatePalette failed!\n");
+ if (_wnd.gdi_palette == nullptr) usererror("CreatePalette failed!\n");
_cur_palette.first_dirty = 0;
_cur_palette.count_dirty = 256;
@@ -309,7 +309,7 @@ bool VideoDriver_Win32::MakeWindow(bool full_screen)
}
} else if (_wnd.fullscreen) {
/* restore display? */
- ChangeDisplaySettings(NULL, 0);
+ ChangeDisplaySettings(nullptr, 0);
/* restore the resolution */
_wnd.width = _bck_resolution.width;
_wnd.height = _bck_resolution.height;
@@ -336,7 +336,7 @@ bool VideoDriver_Win32::MakeWindow(bool full_screen)
w = r.right - r.left;
h = r.bottom - r.top;
- if (_wnd.main_wnd != NULL) {
+ if (_wnd.main_wnd != nullptr) {
if (!_window_maximize) SetWindowPos(_wnd.main_wnd, 0, 0, 0, w, h, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOMOVE);
} else {
int x = (GetSystemMetrics(SM_CXSCREEN) - w) / 2;
@@ -345,8 +345,8 @@ bool VideoDriver_Win32::MakeWindow(bool full_screen)
char window_title[64];
seprintf(window_title, lastof(window_title), "OpenTTD %s", _openttd_revision);
- _wnd.main_wnd = CreateWindow(_T("OTTD"), MB_TO_WIDE(window_title), style, x, y, w, h, 0, 0, GetModuleHandle(NULL), 0);
- if (_wnd.main_wnd == NULL) usererror("CreateWindow failed");
+ _wnd.main_wnd = CreateWindow(_T("OTTD"), MB_TO_WIDE(window_title), style, x, y, w, h, 0, 0, GetModuleHandle(nullptr), 0);
+ if (_wnd.main_wnd == nullptr) usererror("CreateWindow failed");
ShowWindow(_wnd.main_wnd, showstyle);
}
}
@@ -559,14 +559,14 @@ static LRESULT HandleIMEComposition(HWND hwnd, WPARAM wParam, LPARAM lParam)
if (hIMC != NULL) {
if (lParam & GCS_RESULTSTR) {
/* Read result string from the IME. */
- LONG len = ImmGetCompositionString(hIMC, GCS_RESULTSTR, NULL, 0); // Length is always in bytes, even in UNICODE build.
+ LONG len = ImmGetCompositionString(hIMC, GCS_RESULTSTR, nullptr, 0); // Length is always in bytes, even in UNICODE build.
TCHAR *str = (TCHAR *)_alloca(len + sizeof(TCHAR));
len = ImmGetCompositionString(hIMC, GCS_RESULTSTR, str, len);
str[len / sizeof(TCHAR)] = '\0';
/* Transmit text to windowing system. */
if (len > 0) {
- HandleTextInput(NULL, true); // Clear marked string.
+ HandleTextInput(nullptr, true); // Clear marked string.
HandleTextInput(FS2OTTD(str));
}
SetCompositionPos(hwnd);
@@ -577,7 +577,7 @@ static LRESULT HandleIMEComposition(HWND hwnd, WPARAM wParam, LPARAM lParam)
if ((lParam & GCS_COMPSTR) && DrawIMECompositionString()) {
/* Read composition string from the IME. */
- LONG len = ImmGetCompositionString(hIMC, GCS_COMPSTR, NULL, 0); // Length is always in bytes, even in UNICODE build.
+ LONG len = ImmGetCompositionString(hIMC, GCS_COMPSTR, nullptr, 0); // Length is always in bytes, even in UNICODE build.
TCHAR *str = (TCHAR *)_alloca(len + sizeof(TCHAR));
len = ImmGetCompositionString(hIMC, GCS_COMPSTR, str, len);
str[len / sizeof(TCHAR)] = '\0';
@@ -587,7 +587,7 @@ static LRESULT HandleIMEComposition(HWND hwnd, WPARAM wParam, LPARAM lParam)
convert_from_fs(str, utf8_buf, lengthof(utf8_buf));
/* Convert caret position from bytes in the input string to a position in the UTF-8 encoded string. */
- LONG caret_bytes = ImmGetCompositionString(hIMC, GCS_CURSORPOS, NULL, 0);
+ LONG caret_bytes = ImmGetCompositionString(hIMC, GCS_CURSORPOS, nullptr, 0);
const char *caret = utf8_buf;
for (const TCHAR *c = str; *c != '\0' && *caret != '\0' && caret_bytes > 0; c++, caret_bytes--) {
/* Skip DBCS lead bytes or leading surrogates. */
@@ -604,7 +604,7 @@ static LRESULT HandleIMEComposition(HWND hwnd, WPARAM wParam, LPARAM lParam)
HandleTextInput(utf8_buf, true, caret);
} else {
- HandleTextInput(NULL, true);
+ HandleTextInput(nullptr, true);
}
lParam &= ~(GCS_COMPSTR | GCS_COMPATTR | GCS_COMPCLAUSE | GCS_CURSORPOS | GCS_DELTASTART);
@@ -622,7 +622,7 @@ static void CancelIMEComposition(HWND hwnd)
if (hIMC != NULL) ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
ImmReleaseContext(hwnd, hIMC);
/* Clear any marked string from the current edit box. */
- HandleTextInput(NULL, true);
+ HandleTextInput(nullptr, true);
}
static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
@@ -647,14 +647,14 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
break;
case WM_PAINT:
- if (!in_sizemove && _draw_mutex != NULL && !HasModalProgress()) {
+ if (!in_sizemove && _draw_mutex != nullptr && !HasModalProgress()) {
/* Get the union of the old update rect and the new update rect. */
RECT r;
GetUpdateRect(hwnd, &r, FALSE);
UnionRect(&_wnd.update_rect, &_wnd.update_rect, &r);
/* Mark the window as updated, otherwise Windows would send more WM_PAINT messages. */
- ValidateRect(hwnd, NULL);
+ ValidateRect(hwnd, nullptr);
_draw_signal->notify_one();
} else {
PAINTSTRUCT ps;
@@ -676,7 +676,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
SelectPalette(hDC, hOldPalette, TRUE);
ReleaseDC(hwnd, hDC);
- if (nChanged != 0) InvalidateRect(hwnd, NULL, FALSE);
+ if (nChanged != 0) InvalidateRect(hwnd, nullptr, FALSE);
return 0;
}
@@ -730,7 +730,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
* tracking the mouse for exiting the window */
if (!_cursor.in_window) {
_cursor.in_window = true;
- if (_pTrackMouseEvent != NULL) {
+ if (_pTrackMouseEvent != nullptr) {
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(tme);
tme.dwFlags = TME_LEAVE;
@@ -783,7 +783,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
case WM_IME_ENDCOMPOSITION:
/* Clear any pending composition string. */
- HandleTextInput(NULL, true);
+ HandleTextInput(nullptr, true);
if (DrawIMECompositionString()) return 0;
break;
@@ -831,7 +831,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
/* Silently drop all messages handled by WM_CHAR. */
MSG msg;
- if (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) {
+ if (PeekMessage(&msg, nullptr, 0, 0, PM_NOREMOVE)) {
if ((msg.message == WM_CHAR || msg.message == WM_DEADCHAR) && GB(lParam, 16, 8) == GB(msg.lParam, 16, 8)) {
return 0;
}
@@ -993,7 +993,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
} else if (!active && !minimized) {
/* Minimise the window and restore desktop */
ShowWindow(hwnd, SW_MINIMIZE);
- ChangeDisplaySettings(NULL, 0);
+ ChangeDisplaySettings(nullptr, 0);
}
}
break;
@@ -1008,7 +1008,7 @@ static void RegisterWndClass()
static bool registered = false;
if (!registered) {
- HINSTANCE hinst = GetModuleHandle(NULL);
+ HINSTANCE hinst = GetModuleHandle(nullptr);
WNDCLASS wnd = {
CS_OWNDC,
WndProcGdi,
@@ -1016,7 +1016,7 @@ static void RegisterWndClass()
0,
hinst,
LoadIcon(hinst, MAKEINTRESOURCE(100)),
- LoadCursor(NULL, IDC_ARROW),
+ LoadCursor(nullptr, IDC_ARROW),
0,
0,
_T("OTTD")
@@ -1057,8 +1057,8 @@ static bool AllocateDibSection(int w, int h, bool force)
if (_wnd.dib_sect) DeleteObject(_wnd.dib_sect);
dc = GetDC(0);
- _wnd.dib_sect = CreateDIBSection(dc, bi, DIB_RGB_COLORS, (VOID**)&_wnd.buffer_bits, NULL, 0);
- if (_wnd.dib_sect == NULL) usererror("CreateDIBSection failed");
+ _wnd.dib_sect = CreateDIBSection(dc, bi, DIB_RGB_COLORS, (VOID**)&_wnd.buffer_bits, nullptr, 0);
+ if (_wnd.dib_sect == nullptr) usererror("CreateDIBSection failed");
ReleaseDC(0, dc);
_screen.width = w;
@@ -1095,7 +1095,7 @@ static void FindResolutions()
/* XXX - EnumDisplaySettingsW crashes with unicows.dll on Windows95
* Doesn't really matter since we don't pass a string anyways, but still
* a letdown */
- for (i = 0; EnumDisplaySettingsA(NULL, i, &dm) != 0; i++) {
+ for (i = 0; EnumDisplaySettingsA(nullptr, i, &dm) != 0; i++) {
if (dm.dmBitsPerPel == bpp &&
dm.dmPelsWidth >= 640 && dm.dmPelsHeight >= 480) {
uint j;
@@ -1149,9 +1149,9 @@ const char *VideoDriver_Win32::Start(const char * const *parm)
MarkWholeScreenDirty();
- _draw_threaded = GetDriverParam(parm, "no_threads") == NULL && GetDriverParam(parm, "no_thread") == NULL && std::thread::hardware_concurrency() > 1;
+ _draw_threaded = GetDriverParam(parm, "no_threads") == nullptr && GetDriverParam(parm, "no_thread") == nullptr && std::thread::hardware_concurrency() > 1;
- return NULL;
+ return nullptr;
}
void VideoDriver_Win32::Stop()
@@ -1160,7 +1160,7 @@ void VideoDriver_Win32::Stop()
DeleteObject(_wnd.dib_sect);
DestroyWindow(_wnd.main_wnd);
- if (_wnd.fullscreen) ChangeDisplaySettings(NULL, 0);
+ if (_wnd.fullscreen) ChangeDisplaySettings(nullptr, 0);
MyShowCursor(true);
}
@@ -1176,7 +1176,7 @@ static void CheckPaletteAnim()
if (_cur_palette.count_dirty == 0) return;
_local_palette = _cur_palette;
- InvalidateRect(_wnd.main_wnd, NULL, FALSE);
+ InvalidateRect(_wnd.main_wnd, nullptr, FALSE);
}
void VideoDriver_Win32::MainLoop()
@@ -1211,8 +1211,8 @@ void VideoDriver_Win32::MainLoop()
draw_lock.release();
delete _draw_mutex;
delete _draw_signal;
- _draw_mutex = NULL;
- _draw_signal = NULL;
+ _draw_mutex = nullptr;
+ _draw_signal = nullptr;
} else {
DEBUG(driver, 1, "Threaded drawing enabled");
/* Wait till the draw thread has started itself. */
@@ -1227,7 +1227,7 @@ void VideoDriver_Win32::MainLoop()
for (;;) {
uint32 prev_cur_ticks = cur_ticks; // to check for wrapping
- while (PeekMessage(&mesg, NULL, 0, 0, PM_REMOVE)) {
+ while (PeekMessage(&mesg, nullptr, 0, 0, PM_REMOVE)) {
InteractiveRandom(); // randomness
/* Convert key messages to char messages if we want text input. */
if (EditBoxInGlobalFocus()) TranslateMessage(&mesg);
@@ -1310,14 +1310,14 @@ void VideoDriver_Win32::MainLoop()
delete _draw_mutex;
delete _draw_signal;
- _draw_mutex = NULL;
+ _draw_mutex = nullptr;
}
}
bool VideoDriver_Win32::ChangeResolution(int w, int h)
{
std::unique_lock<std::recursive_mutex> lock;
- if (_draw_mutex != NULL) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
+ if (_draw_mutex != nullptr) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
if (_window_maximize) ShowWindow(_wnd.main_wnd, SW_SHOWNORMAL);
@@ -1330,7 +1330,7 @@ bool VideoDriver_Win32::ChangeResolution(int w, int h)
bool VideoDriver_Win32::ToggleFullscreen(bool full_screen)
{
std::unique_lock<std::recursive_mutex> lock;
- if (_draw_mutex != NULL) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
+ if (_draw_mutex != nullptr) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
return this->MakeWindow(full_screen);
}
@@ -1342,18 +1342,18 @@ bool VideoDriver_Win32::AfterBlitterChange()
void VideoDriver_Win32::AcquireBlitterLock()
{
- if (_draw_mutex != NULL) _draw_mutex->lock();
+ if (_draw_mutex != nullptr) _draw_mutex->lock();
}
void VideoDriver_Win32::ReleaseBlitterLock()
{
- if (_draw_mutex != NULL) _draw_mutex->unlock();
+ if (_draw_mutex != nullptr) _draw_mutex->unlock();
}
void VideoDriver_Win32::EditBoxLostFocus()
{
std::unique_lock<std::recursive_mutex> lock;
- if (_draw_mutex != NULL) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
+ if (_draw_mutex != nullptr) lock = std::unique_lock<std::recursive_mutex>(*_draw_mutex);
CancelIMEComposition(_wnd.main_wnd);
SetCompositionPos(_wnd.main_wnd);