diff --git a/CMakeLists.txt b/CMakeLists.txt index 0878c73c3..7a6a9f28d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -169,17 +169,16 @@ add_executable(devilutionx target_include_directories(devilutionx PRIVATE SourceS SourceX 3rdParty/asio/include .) -target_link_libraries(devilution PUBLIC +target_link_libraries(devilution PUBLIC PKWare) + +target_link_libraries(devilutionx PRIVATE + devilution StormLib smacker Radon - PKWare SDL2::SDL2main SDL2::SDL2_ttf - SDL2::SDL2_mixer) - -target_link_libraries(devilutionx PRIVATE - devilution + SDL2::SDL2_mixer sodium) target_compile_definitions(devilution PUBLIC @@ -222,6 +221,6 @@ if(COTIRE) set_target_properties(devilutionx PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE) set_target_properties(devilutionx PROPERTIES COTIRE_PREFIX_HEADER_INCLUDE_PATH "${devilutionX_SOURCE_DIR}" - COTIRE_PREFIX_HEADER_IGNORE_PATH "${devilutionX_SOURCE_DIR}/SourceX") + COTIRE_PREFIX_HEADER_IGNORE_PATH "${devilutionX_SOURCE_DIR}/SourceX") cotire(devilutionx) endif() diff --git a/SourceS/miniwin.h b/SourceS/miniwin.h index bdd174259..7545a542a 100644 --- a/SourceS/miniwin.h +++ b/SourceS/miniwin.h @@ -195,9 +195,14 @@ typedef struct tagMSG { POINT pt; } MSG, *LPMSG; -// sdl wave?!? -#define MAKEFOURCC SDL_FOURCC -typedef uint8_t FOURCC; +#define MAKEFOURCC(x, y, z, w) \ + (((uint32_t)((uint8_t)x)) \ + | (((uint32_t)((uint8_t)y)) << 8) \ + | (((uint32_t)((uint8_t)z)) << 16) \ + | (((uint32_t)((uint8_t)w)) << 24)) + +typedef uint32_t FOURCC; + typedef struct { FOURCC ckid; DWORD cksize; @@ -205,6 +210,7 @@ typedef struct { DWORD dwDataOffset; DWORD dwFlags; } MMCKINFO; + #define FOURCC_RIFF MAKEFOURCC('W', 'A', 'V', 'E') // @@ -578,6 +584,6 @@ extern BOOL __cdecl LoadArtWithPal(char *pszFile, void **pBuffer, int frames, DW #include "miniwin_ddraw.h" #include "miniwin_dsound.h" -#include "miniwin_sdlrender.h" +#include "miniwin_ui.h" #include "miniwin_thread.h" #include "miniwin_rand.h" diff --git a/SourceS/miniwin_thread.h b/SourceS/miniwin_thread.h index 89562d5af..ff2f240d3 100644 --- a/SourceS/miniwin_thread.h +++ b/SourceS/miniwin_thread.h @@ -1,8 +1,6 @@ #pragma once -#include - -typedef SDL_mutex *CRITICAL_SECTION, **LPCRITICAL_SECTION; +typedef void *CRITICAL_SECTION, **LPCRITICAL_SECTION; VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection); VOID WINAPI EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection); VOID WINAPI LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection); diff --git a/SourceS/miniwin_ui.h b/SourceS/miniwin_ui.h new file mode 100644 index 000000000..9d9be2a24 --- /dev/null +++ b/SourceS/miniwin_ui.h @@ -0,0 +1,8 @@ +#pragma once + +BOOL EndDialog(HWND hDlg, INT_PTR nResult); +BOOL SetDlgItemText(HWND hDlg, int nIDDlgItem, LPCSTR lpString); +BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); +DWORD FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, char *lpBuffer, DWORD nSize, va_list *Arguments); +int DialogBoxParam(HINSTANCE hInstance, int msgId, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); +int MAKEINTRESOURCE(int i); diff --git a/SourceS/miniwin_sdlrender.h b/SourceX/DiabloUI/diabloui.h similarity index 84% rename from SourceS/miniwin_sdlrender.h rename to SourceX/DiabloUI/diabloui.h index 07277813c..7cccbd51b 100644 --- a/SourceS/miniwin_sdlrender.h +++ b/SourceX/DiabloUI/diabloui.h @@ -96,13 +96,6 @@ constexpr size_t size(T (&)[N]) extern void(__stdcall *gfnSoundFunction)(char *file); -BOOL EndDialog(HWND hDlg, INT_PTR nResult); -BOOL SetDlgItemText(HWND hDlg, int nIDDlgItem, LPCSTR lpString); -BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); -DWORD FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, char *lpBuffer, DWORD nSize, va_list *Arguments); -int DialogBoxParam(HINSTANCE hInstance, int msgId, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); -int MAKEINTRESOURCE(int i); - bool IsInsideRect(const SDL_Event *event, const SDL_Rect *rect); void UiFadeIn(int steps = 16); bool UiFocusNavigation(SDL_Event *event); diff --git a/SourceX/miniwin_sdl.h b/SourceX/miniwin_sdl.h index 0830617f2..43fd5e703 100644 --- a/SourceX/miniwin_sdl.h +++ b/SourceX/miniwin_sdl.h @@ -1,5 +1,7 @@ #pragma once +#include + #define SDL_CHECK(e) assert(e == 0) extern SDL_Window *window; diff --git a/SourceX/pch.h b/SourceX/pch.h index f61eafcd0..5b686d49b 100644 --- a/SourceX/pch.h +++ b/SourceX/pch.h @@ -12,9 +12,10 @@ #include #include -#include +#include #include #include #include #include "devilution.h" +#include "DiabloUI/diabloui.h"