diff --git a/SourceX/DiabloUI/credits.cpp b/SourceX/DiabloUI/credits.cpp index 06c8f0454..082e4fad8 100644 --- a/SourceX/DiabloUI/credits.cpp +++ b/SourceX/DiabloUI/credits.cpp @@ -1,7 +1,8 @@ #include "devilution.h" -#include "DiabloUI/diabloui.h" #include "miniwin/ddraw.h" +#include "DiabloUI/diabloui.h" + #define CREDIT_LINES 13 namespace dvl { @@ -523,7 +524,9 @@ void credts_Render() if (text_surface) { SDL_Rect src_rect = { 0, -y, SCREEN_WIDTH, 251 }; SDL_Rect dsc_rect = { 64 + x, 160 + 114, SCREEN_WIDTH, SCREEN_HEIGHT }; - SDL_BlitSurface(text_surface, &src_rect, pal_surface, &dsc_rect); + if (SDL_BlitSurface(text_surface, &src_rect, pal_surface, &dsc_rect) <= -1) { + SDL_Log(SDL_GetError()); + } SDL_FreeSurface(text_surface); } } diff --git a/SourceX/DiabloUI/diabloui.cpp b/SourceX/DiabloUI/diabloui.cpp index d5eddeff9..c686c4024 100644 --- a/SourceX/DiabloUI/diabloui.cpp +++ b/SourceX/DiabloUI/diabloui.cpp @@ -1,10 +1,10 @@ -#include - #include "devilution.h" -#include "DiabloUI/diabloui.h" #include "miniwin/ddraw.h" -#include "utf8.h" #include "stubs.h" +#include "utf8.h" +#include + +#include "DiabloUI/diabloui.h" namespace dvl { @@ -19,10 +19,10 @@ Art ArtBackground; Art ArtCursor; Art ArtHero; -void(*gfnSoundFunction)(char *file); -void(*gfnListFocus)(int value); -void(*gfnListSelect)(int value); -void(*gfnListEsc)(); +void (*gfnSoundFunction)(char *file); +void (*gfnListFocus)(int value); +void (*gfnListSelect)(int value); +void (*gfnListEsc)(); UI_Item *gUiItems; int gUiItemCnt; bool UiItemsWraps; @@ -103,7 +103,12 @@ int DialogBoxParam(HINSTANCE hInstance, LPCSTR msgId, HWND hWndParent, DLGPROC l char text[1024]; snprintf(text, 1024, errorMessages[(intptr_t)msgId], dwInitParam); - return SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, errorTitle[(intptr_t)msgId], text, window) < 0 ? -1 : 0; + if (SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, errorTitle[(intptr_t)msgId], text, window) <= -1) { + SDL_Log(SDL_GetError()); + return -1; + } + + return 0; } BOOL SetDlgItemText(HWND hDlg, int nIDDlgItem, LPCSTR lpString) @@ -133,7 +138,7 @@ void UiDestroy() font = NULL; } -void UiInitList(int min, int max, void(*fnFocus)(int value), void(*fnSelect)(int value), void(*fnEsc)(), UI_Item *items, int itemCnt, bool itemsWraps) +void UiInitList(int min, int max, void (*fnFocus)(int value), void (*fnSelect)(int value), void (*fnEsc)(), UI_Item *items, int itemCnt, bool itemsWraps) { SelectedItem = min; SelectedItemMin = min; @@ -242,7 +247,11 @@ bool UiFocusNavigation(SDL_Event *event) switch (event->key.keysym.sym) { case SDLK_v: if (SDL_GetModState() & KMOD_CTRL) { - selhero_CatToName(SDL_GetClipboardText(), UiTextInput, UiTextInputLen); + char *clipboard = SDL_GetClipboardText(); + if (clipboard == NULL) { + SDL_Log(SDL_GetError()); + } + selhero_CatToName(clipboard, UiTextInput, UiTextInputLen); } return true; case SDLK_BACKSPACE: @@ -688,7 +697,9 @@ void UiRenderItemDebug(UI_Item item) { item.rect.x += 64; // pal_surface is shifted? item.rect.y += 160; - SDL_FillRect(pal_surface, &item.rect, random(0, 255)); + if (SDL_FillRect(pal_surface, &item.rect, random(0, 255)) <= -1) { + SDL_Log(SDL_GetError()); + } } void DrawSelector(UI_Item *item = 0) diff --git a/SourceX/DiabloUI/progress.cpp b/SourceX/DiabloUI/progress.cpp index daca0261e..488f0bc69 100644 --- a/SourceX/DiabloUI/progress.cpp +++ b/SourceX/DiabloUI/progress.cpp @@ -1,7 +1,8 @@ #include "devilution.h" -#include "DiabloUI/diabloui.h" #include "miniwin/ddraw.h" +#include "DiabloUI/diabloui.h" + namespace dvl { Art ArtPopupSm; @@ -63,14 +64,18 @@ void progress_Render(BYTE progress) if (msgSurface) { SDL_Rect dsc_rect = { 64 + x + 50, 160 + y + 8, SCREEN_WIDTH, SCREEN_HEIGHT }; - SDL_BlitSurface(msgSurface, NULL, pal_surface, &dsc_rect); + if (SDL_BlitSurface(msgSurface, NULL, pal_surface, &dsc_rect) <= -1) { + SDL_Log(SDL_GetError()); + } dsc_rect.x = 64 + GetCenterOffset(textWidth) - 1; dsc_rect.y = 160 + y + 99 + 4; - SDL_BlitSurface(cancleSurface, NULL, pal_surface, &dsc_rect); + if (SDL_BlitSurface(cancleSurface, NULL, pal_surface, &dsc_rect) <= -1) { + SDL_Log(SDL_GetError()); + } } } -BOOL UiProgressDialog(HWND window, char *msg, int enable, int(*fnfunc)(), int rate) +BOOL UiProgressDialog(HWND window, char *msg, int enable, int (*fnfunc)(), int rate) { progress_Load(msg); diff --git a/SourceX/miniwin/ddraw.cpp b/SourceX/miniwin/ddraw.cpp index c5c5fb27c..702096ee1 100644 --- a/SourceX/miniwin/ddraw.cpp +++ b/SourceX/miniwin/ddraw.cpp @@ -1,10 +1,9 @@ +#include "devilution.h" #include "miniwin/ddraw.h" - +#include "stubs.h" #include #include "DiabloUI/diabloui.h" -#include "devilution.h" -#include "stubs.h" namespace dvl { @@ -44,7 +43,7 @@ HRESULT StubDraw::CreatePalette(DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDI palette = SDL_AllocPalette(256); if (palette == NULL) { - SDL_Log("SDL_AllocPalette: %s\n", SDL_GetError()); + SDL_Log(SDL_GetError()); return (HRESULT)0x80000002L; //DDERR_OUTOFMEMORY } @@ -62,14 +61,16 @@ HRESULT StubDraw::CreateSurface(LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSUR lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount = 32; if (renderer) { - SDL_GetRendererOutputSize(renderer, (int *)&lpDDSurfaceDesc->dwWidth, (int *)&lpDDSurfaceDesc->dwHeight); + if (SDL_GetRendererOutputSize(renderer, (int *)&lpDDSurfaceDesc->dwWidth, (int *)&lpDDSurfaceDesc->dwHeight) <= -1) { + SDL_Log(SDL_GetError()); + } surface = SDL_CreateRGBSurfaceWithFormat(0, lpDDSurfaceDesc->dwWidth, lpDDSurfaceDesc->dwHeight, lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount, lpDDSurfaceDesc->ddpfPixelFormat.dwFlags); } else { SDL_GetWindowSize(window, (int *)&lpDDSurfaceDesc->dwWidth, (int *)&lpDDSurfaceDesc->dwHeight); surface = SDL_GetWindowSurface(window); } if (surface == NULL) { - SDL_Log("SDL_CreateRGBSurface: %s\n", SDL_GetError()); + SDL_Log(SDL_GetError()); return (HRESULT)0x80000002L; //DDERR_OUTOFMEMORY } lpDDSurfaceDesc->lpSurface = (BYTE *)surface->pixels; @@ -79,7 +80,7 @@ HRESULT StubDraw::CreateSurface(LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSUR pal_surface = SDL_CreateRGBSurfaceWithFormat(0, lpDDSurfaceDesc->dwWidth, lpDDSurfaceDesc->dwHeight, lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount, lpDDSurfaceDesc->ddpfPixelFormat.dwFlags); if (pal_surface == NULL) { - SDL_Log("SDL_CreateRGBSurface: %s\n", SDL_GetError()); + SDL_Log(SDL_GetError()); return (HRESULT)0x80000002L; //DDERR_OUTOFMEMORY } lpDDSurfaceDesc->lpSurface = (BYTE *)surface->pixels; @@ -87,8 +88,8 @@ HRESULT StubDraw::CreateSurface(LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSUR gpBuffer = (BYTE *)pal_surface->pixels; // Hack should happen in dx.cpp, but gives error - if (SDL_SetSurfacePalette(pal_surface, palette) != 0) { - SDL_Log("SDL_SetSurfacePalette: %s\n", SDL_GetError()); + if (SDL_SetSurfacePalette(pal_surface, palette) <= -1) { + SDL_Log(SDL_GetError()); return 1; //MAKE_HRESULT(130);//DVL_MAKE_HRESULT(130); } @@ -144,8 +145,8 @@ HRESULT StubSurface::BltFast(DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE lpDDSrcSu SDL_Rect dst_rect = { (int)dwX, (int)dwY, w, h }; // Convert from 8-bit to 32-bit - if (SDL_BlitSurface(pal_surface, &src_rect, surface, &dst_rect) != 0) { - SDL_Log("SDL_BlitSurface: %s\n", SDL_GetError()); + if (SDL_BlitSurface(pal_surface, &src_rect, surface, &dst_rect) <= -1) { + SDL_Log(SDL_GetError()); return DVL_E_FAIL; } @@ -214,20 +215,27 @@ HRESULT StubSurface::Unlock(LPVOID lpSurfaceData) } if (renderer) { - if (SDL_UpdateTexture(texture, NULL, surface->pixels, surface->pitch) != 0) { //pitch is 2560 - SDL_Log("SDL_UpdateTexture: %s\n", SDL_GetError()); + if (SDL_UpdateTexture(texture, NULL, surface->pixels, surface->pitch) <= -1) { //pitch is 2560 + SDL_Log(SDL_GetError()); } // Clear buffer to avoid artifacts in case the window was resized - SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); // TODO only do this if window was resized - SDL_RenderClear(renderer); + if (SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255) <= -1) { // TODO only do this if window was resized + SDL_Log(SDL_GetError()); + } + + if (SDL_RenderClear(renderer) <= -1) { + SDL_Log(SDL_GetError()); + } - if (SDL_RenderCopy(renderer, texture, NULL, NULL) != 0) { - SDL_Log("SDL_RenderCopy: %s\n", SDL_GetError()); + if (SDL_RenderCopy(renderer, texture, NULL, NULL) <= -1) { + SDL_Log(SDL_GetError()); } SDL_RenderPresent(renderer); } else { - SDL_UpdateWindowSurface(window); + if (SDL_UpdateWindowSurface(window) <= -1) { + SDL_Log(SDL_GetError()); + } } bufferUpdated = false; diff --git a/SourceX/miniwin/dsound.cpp b/SourceX/miniwin/dsound.cpp index 7d6b043f4..f3443486f 100644 --- a/SourceX/miniwin/dsound.cpp +++ b/SourceX/miniwin/dsound.cpp @@ -1,9 +1,7 @@ -#include "miniwin/dsound.h" - -#include - #include "devilution.h" +#include "miniwin/dsound.h" #include "stubs.h" +#include namespace dvl { @@ -116,6 +114,10 @@ HRESULT DirectSoundBuffer::Stop() HRESULT DirectSoundBuffer::Unlock(LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) { SDL_RWops *rw = SDL_RWFromConstMem(pvAudioPtr1, dwAudioBytes1); + if (rw == NULL) { + SDL_Log(SDL_GetError()); + } + chunk = Mix_LoadWAV_RW(rw, 1); free(pvAudioPtr1); @@ -127,4 +129,4 @@ HRESULT DirectSoundBuffer::Restore() return DVL_DS_OK; }; -} // namespace dvl +} // namespace dvl diff --git a/SourceX/miniwin/misc.cpp b/SourceX/miniwin/misc.cpp index fb26054b2..79f860b17 100644 --- a/SourceX/miniwin/misc.cpp +++ b/SourceX/miniwin/misc.cpp @@ -1,10 +1,11 @@ -#include - #include "devilution.h" -#include "DiabloUI/diabloui.h" -#include "stubs.h" #include "miniwin/ddraw.h" +#include "stubs.h" +#include #include + +#include "DiabloUI/diabloui.h" + #ifdef _MSC_VER #define strcasecmp _stricmp #define strncasecmp _strnicmp @@ -198,7 +199,8 @@ BOOL VerQueryValueA(LPCVOID pBlock, LPCSTR lpSubBlock, LPVOID *lplpBuffer, PUINT DWORD GetCurrentDirectory(DWORD nBufferLength, LPTSTR lpBuffer) { char *base_path = SDL_GetBasePath(); - if (!base_path) { + if (base_path == NULL) { + SDL_Log(SDL_GetError()); base_path = SDL_strdup("./"); } eprintf("BasePath: %s\n", base_path); @@ -288,7 +290,9 @@ WINBOOL SetForegroundWindow(HWND hWnd) */ HWND SetFocus(HWND hWnd) { - SDL_SetWindowInputFocus(window); + if (SDL_SetWindowInputFocus(window) <= -1) { + SDL_Log(SDL_GetError()); + } MainWndProc(NULL, DVL_WM_ACTIVATEAPP, true, 0); // SDL_WINDOWEVENT_FOCUS_GAINED return NULL; } @@ -318,8 +322,8 @@ HWND CreateWindowExA( HINSTANCE hInstance, LPVOID lpParam) { - if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { - SDL_Log("SDL_Init: %s\n", SDL_GetError()); + if (SDL_Init(SDL_INIT_EVERYTHING) <= -1) { + SDL_Log(SDL_GetError()); return NULL; } atexit(SDL_Quit); @@ -347,21 +351,24 @@ HWND CreateWindowExA( } window = SDL_CreateWindow(lpWindowName, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, nWidth, nHeight, flags); + if (window == NULL) { + SDL_Log(SDL_GetError()); + } atexit(FakeWMDestroy); if (upscale) { renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED); if (renderer == NULL) { - SDL_Log("SDL_CreateRenderer: %s\n", SDL_GetError()); + SDL_Log(SDL_GetError()); } texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, nWidth, nHeight); if (texture == NULL) { - SDL_Log("SDL_CreateTexture: %s\n", SDL_GetError()); + SDL_Log(SDL_GetError()); } - if (SDL_RenderSetLogicalSize(renderer, nWidth, nHeight) != 0) { - SDL_Log("SDL_RenderSetLogicalSize: %s\n", SDL_GetError()); + if (SDL_RenderSetLogicalSize(renderer, nWidth, nHeight) <= -1) { + SDL_Log(SDL_GetError()); } } @@ -591,8 +598,8 @@ int GetDeviceCaps(HDC hdc, int index) { SDL_DisplayMode current; - if (SDL_GetCurrentDisplayMode(0, ¤t) != 0) { - SDL_Log("SDL_GetCurrentDisplayMode: %s", SDL_GetError()); + if (SDL_GetCurrentDisplayMode(0, ¤t) <= -1) { + SDL_Log(SDL_GetError()); return 0; } @@ -716,7 +723,12 @@ int MessageBoxA(HWND hWnd, const char *Text, const char *Title, UINT Flags) SDLFlags |= SDL_MESSAGEBOX_WARNING; } - return SDL_ShowSimpleMessageBox(SDLFlags, Title, Text, window) < 0 ? -1 : 0; + if (SDL_ShowSimpleMessageBox(SDLFlags, Title, Text, window) <= -1) { + SDL_Log(SDL_GetError()); + return -1; + } + + return 0; } LSTATUS RegOpenKeyExA(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult) diff --git a/SourceX/miniwin/misc_dx.cpp b/SourceX/miniwin/misc_dx.cpp index e49b2d917..92b2da342 100644 --- a/SourceX/miniwin/misc_dx.cpp +++ b/SourceX/miniwin/misc_dx.cpp @@ -1,8 +1,7 @@ -#include - #include "devilution.h" #include "miniwin/ddraw.h" #include "stubs.h" +#include namespace dvl { @@ -28,7 +27,9 @@ WINBOOL SetCursorPos(int X, int Y) int ShowCursor(WINBOOL bShow) { - SDL_ShowCursor(bShow ? SDL_ENABLE : SDL_DISABLE); + if (SDL_ShowCursor(bShow ? SDL_ENABLE : SDL_DISABLE) <= -1) { + SDL_Log(SDL_GetError()); + } return bShow; } diff --git a/SourceX/miniwin/thread.cpp b/SourceX/miniwin/thread.cpp index ffa6ad50a..6655ddbf6 100644 --- a/SourceX/miniwin/thread.cpp +++ b/SourceX/miniwin/thread.cpp @@ -1,8 +1,7 @@ -#include -#include - #include "devilution.h" #include "stubs.h" +#include +#include namespace dvl { @@ -15,19 +14,19 @@ struct event_emul { }; struct func_translate { - unsigned int (*func)(void*); - void* arg; + unsigned int (*func)(void *); + void *arg; }; -static int SDLCALL thread_translate(void* ptr) +static int SDLCALL thread_translate(void *ptr) { - func_translate* ftptr = static_cast(ptr); + func_translate *ftptr = static_cast(ptr); auto ret = ftptr->func(ftptr->arg); delete ftptr; return ret; } -uintptr_t DVL_beginthreadex(void *_Security, unsigned _StackSize, unsigned(*_StartAddress)(void *), +uintptr_t DVL_beginthreadex(void *_Security, unsigned _StackSize, unsigned (*_StartAddress)(void *), void *_ArgList, unsigned _InitFlag, unsigned *_ThrdAddr) { if (_Security != NULL) @@ -36,10 +35,13 @@ uintptr_t DVL_beginthreadex(void *_Security, unsigned _StackSize, unsigned(*_Sta UNIMPLEMENTED(); if (_InitFlag != 0) UNIMPLEMENTED(); - func_translate* ft = new func_translate; + func_translate *ft = new func_translate; ft->func = _StartAddress; ft->arg = _ArgList; SDL_Thread *ret = SDL_CreateThread(thread_translate, NULL, ft); + if (ret == NULL) { + SDL_Log(SDL_GetError()); + } *_ThrdAddr = SDL_GetThreadID(ret); threads.insert((uintptr_t)ret); return (uintptr_t)ret; @@ -67,17 +69,24 @@ WINBOOL SetThreadPriority(HANDLE hThread, int nPriority) void InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection) { SDL_mutex *m = SDL_CreateMutex(); + if (m == NULL) { + SDL_Log(SDL_GetError()); + } *lpCriticalSection = m; } void EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection) { - SDL_LockMutex(*((SDL_mutex **)lpCriticalSection)); + if (SDL_LockMutex(*((SDL_mutex **)lpCriticalSection)) <= -1) { + SDL_Log(SDL_GetError()); + } } void LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection) { - SDL_UnlockMutex(*((SDL_mutex **)lpCriticalSection)); + if (SDL_UnlockMutex(*((SDL_mutex **)lpCriticalSection)) <= -1) { + SDL_Log(SDL_GetError()); + } } void DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection) @@ -105,7 +114,13 @@ HANDLE CreateEventA(LPSECURITY_ATTRIBUTES lpEventAttributes, WINBOOL bManualRese struct event_emul *ret; ret = (struct event_emul *)malloc(sizeof(struct event_emul)); ret->mutex = SDL_CreateMutex(); + if (ret->mutex == NULL) { + SDL_Log(SDL_GetError()); + } ret->cond = SDL_CreateCond(); + if (ret->cond == NULL) { + SDL_Log(SDL_GetError()); + } events.insert((uintptr_t)ret); return ret; } @@ -113,32 +128,37 @@ HANDLE CreateEventA(LPSECURITY_ATTRIBUTES lpEventAttributes, WINBOOL bManualRese BOOL SetEvent(HANDLE hEvent) { struct event_emul *e = (struct event_emul *)hEvent; - SDL_LockMutex(e->mutex); - SDL_CondSignal(e->cond); - SDL_UnlockMutex(e->mutex); + if (SDL_LockMutex(e->mutex) <= -1 || SDL_CondSignal(e->cond) <= -1 || SDL_UnlockMutex(e->mutex) <= -1) { + SDL_Log(SDL_GetError()); + return 0; + } return 1; } BOOL ResetEvent(HANDLE hEvent) { struct event_emul *e = (struct event_emul *)hEvent; - SDL_LockMutex(e->mutex); - SDL_CondWaitTimeout(e->cond, e->mutex, 0); - SDL_UnlockMutex(e->mutex); + if (SDL_LockMutex(e->mutex) <= -1 || SDL_CondWaitTimeout(e->cond, e->mutex, 0) <= -1 || SDL_UnlockMutex(e->mutex) <= -1) { + SDL_Log(SDL_GetError()); + return 0; + } return 1; } static DWORD wait_for_sdl_cond(HANDLE hHandle, DWORD dwMilliseconds) { struct event_emul *e = (struct event_emul *)hHandle; - SDL_LockMutex(e->mutex); + if (SDL_LockMutex(e->mutex) <= -1) { + SDL_Log(SDL_GetError()); + } DWORD ret; if (dwMilliseconds == DVL_INFINITE) ret = SDL_CondWait(e->cond, e->mutex); else ret = SDL_CondWaitTimeout(e->cond, e->mutex, dwMilliseconds); - SDL_CondSignal(e->cond); - SDL_UnlockMutex(e->mutex); + if (ret <= -1 || SDL_CondSignal(e->cond) <= -1 || SDL_UnlockMutex(e->mutex) <= -1) { + SDL_Log(SDL_GetError()); + } return ret; } diff --git a/SourceX/sound.cpp b/SourceX/sound.cpp index 15d9e7ce5..4d8868b2b 100644 --- a/SourceX/sound.cpp +++ b/SourceX/sound.cpp @@ -1,8 +1,7 @@ #include "devilution.h" - -#include - #include "stubs.h" +#include +#include namespace dvl { @@ -414,7 +413,7 @@ HRESULT sound_DirectSoundCreate(LPGUID lpGuid, LPDIRECTSOUND *ppDS, LPUNKNOWN pU if (hDsound_dll == NULL) { } } - + DirectSoundCreate = NULL; if (DirectSoundCreate == NULL) { } @@ -490,6 +489,9 @@ void music_start(int nTrack) SFileReadFile(sgpMusicTrack, musicBuffer, bytestoread, NULL, 0); musicRw = SDL_RWFromConstMem(musicBuffer, bytestoread); + if (musicRw == NULL) { + SDL_Log(SDL_GetError()); + } music = Mix_LoadMUS_RW(musicRw, 1); Mix_VolumeMusic(MIX_MAX_VOLUME - MIX_MAX_VOLUME * sglMusicVolume / VOLUME_MIN); Mix_PlayMusic(music, -1); @@ -531,4 +533,4 @@ int sound_get_or_set_sound_volume(int volume) return sglSoundVolume; } -} // namespace dvl +} // namespace dvl diff --git a/SourceX/storm/storm.cpp b/SourceX/storm/storm.cpp index fdb73c426..b2bc8b3ea 100644 --- a/SourceX/storm/storm.cpp +++ b/SourceX/storm/storm.cpp @@ -1,13 +1,13 @@ +#include "devilution.h" +#include "miniwin/ddraw.h" +#include "stubs.h" +#include #include #include #include -#include #include -#include "devilution.h" -#include "stubs.h" #include "DiabloUI/diabloui.h" -#include "miniwin/ddraw.h" namespace dvl { @@ -56,6 +56,9 @@ BOOL SFileDdaBeginEx(HANDLE hFile, DWORD flags, DWORD mask, unsigned __int32 lDi SFileReadFile(hFile, SFXbuffer, bytestoread, NULL, 0); SDL_RWops *rw = SDL_RWFromConstMem(SFXbuffer, bytestoread); + if (rw == NULL) { + SDL_Log(SDL_GetError()); + } SFileChunk = Mix_LoadWAV_RW(rw, 1); free(SFXbuffer); @@ -125,30 +128,30 @@ BOOL SFileGetFileArchive(HANDLE hFile, HANDLE *archive) // Converts ASCII characters to lowercase // Converts slash (0x2F) / backslash (0x5C) to system file-separator unsigned char AsciiToLowerTable_Path[256] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, #ifdef _WIN32 - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x5C, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x5C, #else - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, #endif - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, - 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, #ifdef _WIN32 - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, #else - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x5B, 0x2F, 0x5D, 0x5E, 0x5F, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x5B, 0x2F, 0x5D, 0x5E, 0x5F, #endif - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, - 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, - 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, - 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, - 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, + 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF }; BOOL SFileOpenFile(const char *filename, HANDLE *phFile) @@ -481,7 +484,7 @@ BOOL SVidPlayBegin(char *filename, int a2, int a3, int a4, int a5, int flags, HA deviceId = SDL_OpenAudioDevice(NULL, 0, &audioFormat, NULL, 0); if (deviceId == 0) { - SDL_Log("SDL_OpenAudioDevice: %s\n", SDL_GetError()); + SDL_Log(SDL_GetError()); return false; } else { SDL_PauseAudioDevice(deviceId, 0); /* start audio playing. */ @@ -498,7 +501,12 @@ BOOL SVidPlayBegin(char *filename, int a2, int a3, int a4, int a5, int flags, HA smk_info_video(SVidSMK, &width, &height, NULL); SDL_DestroyTexture(texture); texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, width, height); - SDL_RenderSetLogicalSize(renderer, width, height); + if (texture == NULL) { + SDL_Log(SDL_GetError()); + } + if (SDL_RenderSetLogicalSize(renderer, width, height) <= -1) { + SDL_Log(SDL_GetError()); + } memcpy(SVidPreviousPalette, orig_palette, 1024); // Copy frame to buffer @@ -509,10 +517,16 @@ BOOL SVidPlayBegin(char *filename, int a2, int a3, int a4, int a5, int flags, HA 8, width, SDL_PIXELFORMAT_INDEX8); + if (SVidSurface == NULL) { + SDL_Log(SDL_GetError()); + } SVidPalette = SDL_AllocPalette(256); - if (SDL_SetSurfacePalette(SVidSurface, SVidPalette) != 0) { - SDL_Log("SDL_SetSurfacePalette: %s\n", SDL_GetError()); + if (SVidSurface == NULL) { + SDL_Log(SDL_GetError()); + } + if (SDL_SetSurfacePalette(SVidSurface, SVidPalette) <= -1) { + SDL_Log(SDL_GetError()); return false; } @@ -555,8 +569,8 @@ BOOL SVidPlayContinue(void) } memcpy(logical_palette, orig_palette, 1024); - if (SDL_SetPaletteColors(SVidPalette, colors, 0, 256) != 0) { - SDL_Log("SDL_SetPaletteColors: %s\n", SDL_GetError()); + if (SDL_SetPaletteColors(SVidPalette, colors, 0, 256) <= -1) { + SDL_Log(SDL_GetError()); return false; } } @@ -565,8 +579,8 @@ BOOL SVidPlayContinue(void) return SVidLoadNextFrame(); // Skip video and audio if the system is to slow } - if (deviceId && SDL_QueueAudio(deviceId, smk_get_audio(SVidSMK, 0), smk_get_audio_size(SVidSMK, 0)) == -1) { - SDL_Log("SDL_QueueAudio: %s\n", SDL_GetError()); + if (deviceId && SDL_QueueAudio(deviceId, smk_get_audio(SVidSMK, 0), smk_get_audio_size(SVidSMK, 0)) <= -1) { + SDL_Log(SDL_GetError()); return false; } @@ -575,8 +589,8 @@ BOOL SVidPlayContinue(void) } SDL_Rect pal_surface_offset = { 64, 160, 0, 0 }; - if (SDL_BlitSurface(SVidSurface, NULL, pal_surface, &pal_surface_offset) != 0) { - SDL_Log("SDL_BlitSurface: %s\n", SDL_GetError()); + if (SDL_BlitSurface(SVidSurface, NULL, pal_surface, &pal_surface_offset) <= -1) { + SDL_Log(SDL_GetError()); return false; } @@ -615,7 +629,12 @@ BOOL SVidPlayEnd(HANDLE video) memcpy(orig_palette, SVidPreviousPalette, 1024); SDL_DestroyTexture(texture); texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, SCREEN_WIDTH, SCREEN_HEIGHT); - SDL_RenderSetLogicalSize(renderer, SCREEN_WIDTH, SCREEN_HEIGHT); + if (texture == NULL) { + SDL_Log(SDL_GetError()); + } + if (SDL_RenderSetLogicalSize(renderer, SCREEN_WIDTH, SCREEN_HEIGHT) <= -1) { + SDL_Log(SDL_GetError()); + } return true; } diff --git a/SourceX/storm/storm_dx.cpp b/SourceX/storm/storm_dx.cpp index 99e9b5c8c..ad39141f7 100644 --- a/SourceX/storm/storm_dx.cpp +++ b/SourceX/storm/storm_dx.cpp @@ -36,8 +36,8 @@ BOOL SDrawUpdatePalette(unsigned int firstentry, unsigned int numentries, PALETT } assert(palette); - if (SDL_SetPaletteColors(palette, colors, firstentry, numentries) != 0) { - SDL_Log("SDL_SetPaletteColors: %s\n", SDL_GetError()); + if (SDL_SetPaletteColors(palette, colors, firstentry, numentries) <= -1) { + SDL_Log(SDL_GetError()); return false; }