Skip to content

Commit c220f4b

Browse files
authored
Merge pull request #68 from oitzujoey/master
SDL2
2 parents f507a7a + 0026cad commit c220f4b

101 files changed

Lines changed: 39695 additions & 48 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 69 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ ifndef DEBUG_CFLAGS
240240
DEBUG_CFLAGS=-g -O0
241241
endif
242242

243+
ifndef SDL_VERSION
244+
SDL_VERSION=2
245+
endif
246+
243247
#############################################################################
244248

245249
BD=$(BUILD_DIR)/debug-$(PLATFORM)-$(ARCH)
@@ -274,7 +278,11 @@ Q3LCCETCDIR=$(MOUNT_DIR)/tools/lcc/etc
274278
Q3LCCSRCDIR=$(MOUNT_DIR)/tools/lcc/src
275279
LOKISETUPDIR=misc/setup
276280
NSISDIR=misc/nsis
277-
SDLHDIR=$(MOUNT_DIR)/SDL12
281+
ifeq ($(SDL_VERSION),2)
282+
SDLHDIR=$(MOUNT_DIR)/SDL2
283+
else
284+
SDLHDIR=$(MOUNT_DIR)/SDL12
285+
endif
278286
LIBSDIR=$(MOUNT_DIR)/libs
279287

280288
bin_path=$(shell which $(1) 2> /dev/null)
@@ -288,15 +296,27 @@ ifneq ($(BUILD_CLIENT),0)
288296
CURL_LIBS=$(shell pkg-config --silence-errors --libs libcurl)
289297
OPENAL_CFLAGS=$(shell pkg-config --silence-errors --cflags openal)
290298
OPENAL_LIBS=$(shell pkg-config --silence-errors --libs openal)
291-
SDL_CFLAGS=$(shell pkg-config --silence-errors --cflags sdl|sed 's/-Dmain=SDL_main//')
292-
SDL_LIBS=$(shell pkg-config --silence-errors --libs sdl)
299+
ifeq ($(SDL_VERSION),2)
300+
SDL_CFLAGS=$(shell pkg-config --silence-errors --cflags sdl2|sed 's/-Dmain=SDL_main//')
301+
SDL_LIBS=$(shell pkg-config --silence-errors --libs sdl2)
302+
else
303+
SDL_CFLAGS=$(shell pkg-config --silence-errors --cflags sdl|sed 's/-Dmain=SDL_main//')
304+
SDL_LIBS=$(shell pkg-config --silence-errors --libs sdl)
305+
endif
293306
FREETYPE_CFLAGS=$(shell pkg-config --silence-errors --cflags freetype2)
294307
endif
295308
# Use sdl-config if all else fails
296309
ifeq ($(SDL_CFLAGS),)
297-
ifneq ($(call bin_path, sdl-config),)
298-
SDL_CFLAGS=$(shell sdl-config --cflags)
299-
SDL_LIBS=$(shell sdl-config --libs)
310+
ifeq ($(SDL_VERSION),2)
311+
ifneq ($(call bin_path, sdl2-config),)
312+
SDL_CFLAGS=$(shell sdl2-config --cflags)
313+
SDL_LIBS=$(shell sdl2-config --libs)
314+
endif
315+
else
316+
ifneq ($(call bin_path, sdl-config),)
317+
SDL_CFLAGS=$(shell sdl-config --cflags)
318+
SDL_LIBS=$(shell sdl-config --libs)
319+
endif
300320
endif
301321
endif
302322
endif
@@ -495,11 +515,17 @@ ifeq ($(PLATFORM),darwin)
495515

496516
# We copy sdlmain before ranlib'ing it so that subversion doesn't think
497517
# the file has been modified by each build.
498-
LIBSDLMAIN=$(B)/libSDLmain.a
499-
LIBSDLMAINSRC=$(LIBSDIR)/macosx/libSDLmain.a
500-
CLIENT_LIBS += -framework IOKit \
501-
$(LIBSDIR)/macosx/libSDL-1.2.0.dylib
502-
RENDERER_LIBS += -framework OpenGL $(LIBSDIR)/macosx/libSDL-1.2.0.dylib
518+
ifeq ($(SDL_VERSION),2)
519+
LIBSDLMAIN=$(B)/libSDL2main.a
520+
LIBSDLMAINSRC=$(LIBSDIR)/macosx/libSDL2main.a
521+
CLIENT_LIBS += -framework IOKit $(LIBSDIR)/macosx/libSDL2-2.0.0.dylib
522+
RENDERER_LIBS += -framework OpenGL $(LIBSDIR)/macosx/libSDL2-2.0.0.dylib
523+
else
524+
LIBSDLMAIN=$(B)/libSDLmain.a
525+
LIBSDLMAINSRC=$(LIBSDIR)/macosx/libSDLmain.a
526+
CLIENT_LIBS += -framework IOKit $(LIBSDIR)/macosx/libSDL-1.2.0.dylib
527+
RENDERER_LIBS += -framework OpenGL $(LIBSDIR)/macosx/libSDL-1.2.0.dylib
528+
endif
503529

504530
OPTIMIZEVM += -falign-loops=16
505531
OPTIMIZE = $(OPTIMIZEVM) -ffast-math
@@ -643,24 +669,44 @@ ifeq ($(PLATFORM),mingw32)
643669

644670
ifeq ($(USE_LOCAL_HEADERS),1)
645671
CLIENT_CFLAGS += -I$(SDLHDIR)/include
646-
ifeq ($(ARCH),x86)
647-
CLIENT_LIBS += $(LIBSDIR)/win32/libSDLmain.a \
648-
$(LIBSDIR)/win32/libSDL.dll.a
649-
RENDERER_LIBS += $(LIBSDIR)/win32/libSDLmain.a \
650-
$(LIBSDIR)/win32/libSDL.dll.a
651-
SDLDLL=SDL.dll
672+
ifeq ($(SDL_VERSION),2)
673+
ifeq ($(ARCH),x86)
674+
CLIENT_LIBS += $(LIBSDIR)/win32/libSDL2main.a \
675+
$(LIBSDIR)/win32/libSDL2.dll.a
676+
RENDERER_LIBS += $(LIBSDIR)/win32/libSDL2main.a \
677+
$(LIBSDIR)/win32/libSDL2.dll.a
678+
SDLDLL=SDL2.dll
679+
else
680+
CLIENT_LIBS += $(LIBSDIR)/win64/libSDL264main.a \
681+
$(LIBSDIR)/win64/libSDL264.dll.a
682+
RENDERER_LIBS += $(LIBSDIR)/win64/libSDL264main.a \
683+
$(LIBSDIR)/win64/libSDL264.dll.a
684+
SDLDLL=SDL264.dll
685+
endif
652686
else
653-
CLIENT_LIBS += $(LIBSDIR)/win64/libSDLmain.a \
654-
$(LIBSDIR)/win64/libSDL64.dll.a
655-
RENDERER_LIBS += $(LIBSDIR)/win64/libSDLmain.a \
656-
$(LIBSDIR)/win64/libSDL64.dll.a
657-
SDLDLL=SDL64.dll
687+
ifeq ($(ARCH),x86)
688+
CLIENT_LIBS += $(LIBSDIR)/win32/libSDLmain.a \
689+
$(LIBSDIR)/win32/libSDL.dll.a
690+
RENDERER_LIBS += $(LIBSDIR)/win32/libSDLmain.a \
691+
$(LIBSDIR)/win32/libSDL.dll.a
692+
SDLDLL=SDL.dll
693+
else
694+
CLIENT_LIBS += $(LIBSDIR)/win64/libSDLmain.a \
695+
$(LIBSDIR)/win64/libSDL64.dll.a
696+
RENDERER_LIBS += $(LIBSDIR)/win64/libSDLmain.a \
697+
$(LIBSDIR)/win64/libSDL64.dll.a
698+
SDLDLL=SDL64.dll
699+
endif
658700
endif
659701
else
660702
CLIENT_CFLAGS += $(SDL_CFLAGS)
661703
CLIENT_LIBS += $(SDL_LIBS)
662704
RENDERER_LIBS += $(SDL_LIBS)
663-
SDLDLL=SDL.dll
705+
ifeq ($(SDL_VERSION),2)
706+
SDLDLL=SDL2.dll
707+
else
708+
SDLDLL=SDL.dll
709+
endif
664710
endif
665711

666712
else # ifeq mingw32

Makefile.OpenArena

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ BUILD_RENDERER_OPENGL2=0
3333
# You can disable the renderer libraries and build in the OA renderer by default
3434
USE_RENDERER_DLOPEN=0
3535

36+
# Choose version 1 or 2
37+
SDL_VERSION=2
38+
3639
ifndef USE_CONSOLE_WINDOW
3740
USE_CONSOLE_WINDOW=1 # use an early console window (WIN32 only)
3841
endif

code/SDL2/include/SDL.h

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
/*
2+
Simple DirectMedia Layer
3+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4+
5+
This software is provided 'as-is', without any express or implied
6+
warranty. In no event will the authors be held liable for any damages
7+
arising from the use of this software.
8+
9+
Permission is granted to anyone to use this software for any purpose,
10+
including commercial applications, and to alter it and redistribute it
11+
freely, subject to the following restrictions:
12+
13+
1. The origin of this software must not be misrepresented; you must not
14+
claim that you wrote the original software. If you use this software
15+
in a product, an acknowledgment in the product documentation would be
16+
appreciated but is not required.
17+
2. Altered source versions must be plainly marked as such, and must not be
18+
misrepresented as being the original software.
19+
3. This notice may not be removed or altered from any source distribution.
20+
*/
21+
22+
/**
23+
* \file SDL.h
24+
*
25+
* Main include header for the SDL library
26+
*/
27+
28+
29+
#ifndef SDL_h_
30+
#define SDL_h_
31+
32+
#include "SDL_main.h"
33+
#include "SDL_stdinc.h"
34+
#include "SDL_assert.h"
35+
#include "SDL_atomic.h"
36+
#include "SDL_audio.h"
37+
#include "SDL_clipboard.h"
38+
#include "SDL_cpuinfo.h"
39+
#include "SDL_endian.h"
40+
#include "SDL_error.h"
41+
#include "SDL_events.h"
42+
#include "SDL_filesystem.h"
43+
#include "SDL_gamecontroller.h"
44+
#include "SDL_haptic.h"
45+
#include "SDL_hints.h"
46+
#include "SDL_joystick.h"
47+
#include "SDL_loadso.h"
48+
#include "SDL_log.h"
49+
#include "SDL_messagebox.h"
50+
#include "SDL_metal.h"
51+
#include "SDL_mutex.h"
52+
#include "SDL_power.h"
53+
#include "SDL_render.h"
54+
#include "SDL_rwops.h"
55+
#include "SDL_sensor.h"
56+
#include "SDL_shape.h"
57+
#include "SDL_system.h"
58+
#include "SDL_thread.h"
59+
#include "SDL_timer.h"
60+
#include "SDL_version.h"
61+
#include "SDL_video.h"
62+
63+
#include "begin_code.h"
64+
/* Set up for C function definitions, even when using C++ */
65+
#ifdef __cplusplus
66+
extern "C" {
67+
#endif
68+
69+
/* As of version 0.5, SDL is loaded dynamically into the application */
70+
71+
/**
72+
* \name SDL_INIT_*
73+
*
74+
* These are the flags which may be passed to SDL_Init(). You should
75+
* specify the subsystems which you will be using in your application.
76+
*/
77+
/* @{ */
78+
#define SDL_INIT_TIMER 0x00000001u
79+
#define SDL_INIT_AUDIO 0x00000010u
80+
#define SDL_INIT_VIDEO 0x00000020u /**< SDL_INIT_VIDEO implies SDL_INIT_EVENTS */
81+
#define SDL_INIT_JOYSTICK 0x00000200u /**< SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS */
82+
#define SDL_INIT_HAPTIC 0x00001000u
83+
#define SDL_INIT_GAMECONTROLLER 0x00002000u /**< SDL_INIT_GAMECONTROLLER implies SDL_INIT_JOYSTICK */
84+
#define SDL_INIT_EVENTS 0x00004000u
85+
#define SDL_INIT_SENSOR 0x00008000u
86+
#define SDL_INIT_NOPARACHUTE 0x00100000u /**< compatibility; this flag is ignored. */
87+
#define SDL_INIT_EVERYTHING ( \
88+
SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \
89+
SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER | SDL_INIT_SENSOR \
90+
)
91+
/* @} */
92+
93+
/**
94+
* This function initializes the subsystems specified by \c flags
95+
*/
96+
extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags);
97+
98+
/**
99+
* This function initializes specific SDL subsystems
100+
*
101+
* Subsystem initialization is ref-counted, you must call
102+
* SDL_QuitSubSystem() for each SDL_InitSubSystem() to correctly
103+
* shutdown a subsystem manually (or call SDL_Quit() to force shutdown).
104+
* If a subsystem is already loaded then this call will
105+
* increase the ref-count and return.
106+
*/
107+
extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags);
108+
109+
/**
110+
* This function cleans up specific SDL subsystems
111+
*/
112+
extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags);
113+
114+
/**
115+
* This function returns a mask of the specified subsystems which have
116+
* previously been initialized.
117+
*
118+
* If \c flags is 0, it returns a mask of all initialized subsystems.
119+
*/
120+
extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags);
121+
122+
/**
123+
* This function cleans up all initialized subsystems. You should
124+
* call it upon all exit conditions.
125+
*/
126+
extern DECLSPEC void SDLCALL SDL_Quit(void);
127+
128+
/* Ends C function definitions when using C++ */
129+
#ifdef __cplusplus
130+
}
131+
#endif
132+
#include "close_code.h"
133+
134+
#endif /* SDL_h_ */
135+
136+
/* vi: set ts=4 sw=4 expandtab: */

0 commit comments

Comments
 (0)