dhewg
98791a0ea5
Drop the CPU suffix from libraries on all platforms
2018-08-20 01:46:34 +02:00
dhewg
e632cd030b
Get rid of ID_DEMO_BUILD
...
There are no demo pk4s compatible to this 1.3.1 codebase.
2018-08-20 01:46:34 +02:00
dhewg
2d43892ef3
Get rid of sys_stub.cpp
...
Unused.
2018-08-20 01:46:34 +02:00
dhewg
5199d8ea65
Add the build target "Profile" suitable for profiling
2018-08-20 01:46:32 +02:00
dhewg
9de64efa62
This is dhewm 3
...
Rename project, now at https://github.com/dhewm
2018-08-20 01:46:32 +02:00
dhewg
151288e170
CMake: Use config.h for BUILD_OS and BUILD_CPU
...
This fixes, among others, FreeBSD 64bit builds where the build
system used a "amd64" suffix and runtime "x86_64".
2018-08-20 01:46:32 +02:00
dhewg
a6796cb444
CMake: Detect libcurl and use it when found
...
Move ID_ENABLE_CURL to config.h
2018-08-20 01:46:32 +02:00
dhewg
6dfe95e732
CMake: Create config.h
...
Use config.h for configure time settings.
2018-08-20 01:46:32 +02:00
dhewg
9ee84519fa
CMake: Use CMAKE_SOURCE_DIR
...
Instead of CMAKE_CURRENT_SOURCE_DIR.
2018-08-20 01:46:32 +02:00
dhewg
a5d6a76961
Get rid of ID_MCHECK
...
mcheck() is not thread safe, use MALLOC_CHECK_ or TCMalloc
instead.
2018-08-20 01:46:31 +02:00
spiral
f9af2c0153
Remove hard-wired -framework OpenAL
...
We already link to OPENAL_LIBRARY further down.
Log some debug OpenAL info, mainly so OSX users can check they are not
using Apple's OpenAL. OpenAL Soft is recommended as it fixes many
issues.
I specify it as follows:
cmake -DOPENAL_LIBRARY=/usr/local/lib/libopenal.dylib -DOPENAL_INCLUDE_DIR=/usr/local/include -GXcode ../neo/
(because FindOpenAL.cmake prefers the /System frameworks)
2018-08-20 01:46:31 +02:00
dhewg
4be94a8ff5
Move jpeg_memory_src()
...
Found another copy in renderer/Cinematic.cpp. Move the
newer implementation from renderer/Image_files.cpp in its
own file and use the libjpeg v8c license blob (which is where
this code comes from).
Adapt README too with the v8c license.
2018-08-20 01:46:31 +02:00
dhewg
f5db1e5dcf
Disable a few MSVC warnings
...
These just spam the console. Some are useless, some need to be
looked at at some point.
2018-08-20 01:46:31 +02:00
dhewg
a1430d546f
Add SDL_win32_main.c
...
Don't link against SDLmain.[a|lib], always compile it.
We can use pure C MinGW cross compiled libraries with MSVC, and
this is the only static library used.
2018-08-20 01:46:31 +02:00
dhewg
568ab14658
Add support for the doom3-libs repo
...
Single CMake variable "DOOM3LIBS" to point to the repo of
binaries to make CMake find libraries from there.
2018-08-20 01:46:31 +02:00
spiral
4740b5b2be
Generate an .app bundle for OSX
...
Add missing SDLMain and icon/resource files to generated .xcodeproj
Now builds on Lion in XCode4 with the 10.6 SDK using LLVM-GCC4.2.
Also tested on WinXP in VS 9 2008 Professional, I don't appear to have
broken anything there, stuff like MACOSX_BUNDLE_INFO_PLIST is
effectively ignored.
2018-08-20 01:46:31 +02:00
scottWakeling
0d01f4f90b
Fix semi-colons being inserted into ldflags
...
It is causing clang++ to error when linking game{cpu}.dylib
2018-08-20 01:46:31 +02:00
dhewg
16e2bf160d
OSX .dylib's do not get a CPU suffix
2018-08-20 01:46:31 +02:00
dhewg
eab62d8ef3
Rename game${cpu}-d3xp to d3xp${cpu}
2018-08-20 01:46:31 +02:00
dhewg
8e1fab5a5b
Drop the cpu suffix on binaries
2018-08-20 01:46:31 +02:00
dhewg
11eb754b41
Get rid of Sys_DoPreferences()
...
The OSX backend was the only one utilizing this to set CVars
for the video mode.
Not required anymore since its now based on SDL.
2018-08-20 01:46:31 +02:00
dhewg
f29a3d936f
Don't link against X11 libraries
...
Not required anymore. All backends use SDL based implementations
now.
2018-08-20 01:46:31 +02:00
dhewg
8473a83ae9
Use SDL GLimp and input implementations on OSX
2018-08-20 01:46:31 +02:00
dhewg
0993ec8760
Move OSX ATI_fragment_shader functions
...
Move the software implementation to
sys/glimp_ati_fragment_shader.cpp in preparation to move to
the SDL based GLimp and events.
2018-08-20 01:46:31 +02:00
dhewg
15f23f48ac
Get rid of dead code in the OSX backend
...
Not used by anything.
2018-08-20 01:46:31 +02:00
dhewg
5fa6e06748
Use SDL GLimp and input implementations on Windows
...
The DirectX SDK is not required anymore.
2018-08-20 01:46:30 +02:00
dhewg
3c5c70eba2
Port Linux events to SDL
...
New CVar "in_kbd" to set the layout for the keyboard. SDL 1.2
doesn't offer any way to determine it, and we need this feature
to use the same key for toggling the console independent of the
keyboard layout.
The old "in_nograb" from the Linux backend is still supported.
2018-08-20 01:46:30 +02:00
dhewg
ff36277408
Port Linux GLimp to SDL
...
Use SDL to set video modes, get a GL context and detect the
amount of VRAM.
As with the Linux GLimp implementation, sys_videoRam can be used
in case the SDL detection fails.
2018-08-20 01:46:30 +02:00
dhewg
1597e6c3b3
Always link the Windows binaries against OpenGL
...
Just as with every other platform.
2018-08-20 01:46:30 +02:00
spiral
85a3a7089a
Add ID_GAME_API for dllexport/attribute(visibility)
...
Delete obsolete Game.def exports files
2018-08-20 01:46:30 +02:00
spiral
f07999ecf2
VS Pro doesn't choose the right default like Express, so be explicit
2018-08-20 01:46:30 +02:00
dhewg
22637272dc
Check for jpeg_mem_src()
...
This function only exists starting with libjpeg8.
Check for existence and provide an implementation if necessary.
This allows libjpeg6 to be used.
Code borrowed from libjpeg8, adapt copyright in README
accordingly.
2018-08-20 01:46:29 +02:00
dhewg
444da3574d
Fix compiler checks for newer gcc versions
...
Use CXX instead of C checks - newer gcc versions refuse some
C++ flags when compiling C.
2018-08-20 01:46:29 +02:00
spiral
cceeb88948
CMake support for MSVC
...
Use the WIN32 flag for add_executable.
2018-08-20 01:46:29 +02:00
dhewg
975cda1637
Unify CPUID_FTZ and CPUID_DAZ
...
Get rid of the 2 CPUID flags and combine them with SSE in one
implementation.
SSE flags can now be set on all x86 and x86_64 platforms -
independent of -ffast-math.
Helper defines borrowed from STREFLOP.
2018-08-20 01:46:29 +02:00
dhewg
f1a7b426fe
Port all thread related functions to SDL
...
Setting thread priorities has been dropped (it is not portable).
The background download thread now exits gracefully.
g_threads is not public anymore.
2018-08-20 01:46:29 +02:00
dhewg
efbd47f4bc
Port critical sections and events to SDL
...
Use SDL mutexes and conditions.
One new critical section CRITICAL_SECTION_SYS for events.
2018-08-20 01:46:29 +02:00
dhewg
0a945baff1
Initial SDL setup
...
Use SDL_main on all platforms.
Fix main() for non-const argv so it matches with the SDL
prototype.
Adapt win32 WinMain() to main() and get rid of the win32 special
case in Common::Init().
2018-08-20 01:46:28 +02:00
dhewg
980937db1a
Link MinGW binaries with -mwindows
...
mingw-w64 requires this when linking gui applications.
2018-08-20 01:46:28 +02:00
dhewg
c476c0b168
Get rid of -Wno-unknown-pragmas
...
Not required anymore.
2018-08-20 01:46:28 +02:00
dhewg
11b2cea993
Only compile idlib once
...
Build one static idlib and link the binaries against it.
2018-08-20 01:46:27 +02:00
dhewg
e8965eb6fb
Move the game include directory to the build system
...
Don't include based on a preprocessor symbol, let the build
system make the correct decision.
2018-08-20 01:46:27 +02:00
dhewg
e9c9835bdf
TypeInfoGen is standalone, don't compile/link it
...
Neither the core or the game libraries need it.
2018-08-20 01:46:27 +02:00
dhewg
260ddac543
Fix compilation of demo binaries
...
invalid conversion from ‘const char*’ to ‘char*’
There are no demo pk4 files available compatible to this 1.3.1
codebase. Add a note about it.
2018-08-20 01:46:27 +02:00
dhewg
a7b3b9fb0b
Overwrite CMake default C[XX]FLAGS
...
CMake sets default flags for the standard build types.
We want to replace them, not merge them.
Reported by azalyn.
2018-08-20 01:46:27 +02:00
dhewg
e3f2666f32
Delete redundant files
2018-08-20 01:46:27 +02:00
dhewg
bc5f5c785a
Get rid of all idAudioHardware implementations
2018-08-20 01:46:27 +02:00
dhewg
f21bda7f2a
cmake: Get rid of "-m32" check
...
This doesn't work. Always add -m32 when X86 was set.
2018-08-20 01:46:27 +02:00
dhewg
2b446ddd28
Basic infrastructure to build with MinGW
...
Add WIN32 support to CMake (core and games, no dedicated for now).
Only use MFC when it is available.
2018-08-20 01:46:26 +02:00
dhewg
01e9547049
Add a CMake build system
...
Tested on FreeBSD, Linux, and a ghetto rigged OSX i686 cross
compiler.
Find[OGG|Vorbis|VorbisFile].cmake borrowed from osgAudio
2018-08-20 01:46:26 +02:00