Browse Source

Start removing SDL dependency from devilution

pull/25/head
Xadhoom 7 years ago
parent
commit
781ae63ded
  1. 13
      CMakeLists.txt
  2. 14
      SourceS/miniwin.h
  3. 4
      SourceS/miniwin_thread.h
  4. 8
      SourceS/miniwin_ui.h
  5. 7
      SourceX/DiabloUI/diabloui.h
  6. 2
      SourceX/miniwin_sdl.h
  7. 3
      SourceX/pch.h

13
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()

14
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"

4
SourceS/miniwin_thread.h

@ -1,8 +1,6 @@
#pragma once
#include <SDL.h>
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);

8
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);

7
SourceS/miniwin_sdlrender.h → 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);

2
SourceX/miniwin_sdl.h

@ -1,5 +1,7 @@
#pragma once
#include <SDL.h>
#define SDL_CHECK(e) assert(e == 0)
extern SDL_Window *window;

3
SourceX/pch.h

@ -12,9 +12,10 @@
#include <utility>
#include <vector>
#include <SDL2/SDL.h>
#include <SDL.h>
#include <SDL_mixer.h>
#include <SDL_thread.h>
#include <SDL_ttf.h>
#include "devilution.h"
#include "DiabloUI/diabloui.h"

Loading…
Cancel
Save