dhewg
5c3a28e027
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.
2011-12-14 18:19:38 +01:00
dhewg
36c5b05f1f
Remove the unused and ugly HackChkStk()
2011-12-14 02:40:55 +01:00
dhewg
5052f42c9e
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
2011-12-14 02:40:49 +01:00
dhewg
41a1122a82
Remove the unused and useless CallStack code
...
This was never enabled and only implemented for Windows.
2011-12-14 02:39:42 +01:00
dhewg
758a954c0d
Fix -Wdynamic-class-memaccess warning
...
destination for this 'memset' call is a pointer to dynamic class
'idRenderLightLocal'; vtable pointer will be overwritten
The constructor already initializes everything to zero, get rid
of this dangerous memset().
2011-12-13 19:26:16 +01:00
dhewg
09ea2ca819
Fix -Wsizeof-pointer-memaccess warnings
...
argument to 'sizeof' in 'memset' call is the same expression as the
destination; did you mean to dereference it?
2011-12-13 19:26:16 +01:00
dhewg
10e9ef2a52
Fix -Wdelete-non-virtual-dtor warnings
...
delete called on 'idSIMDProcessor' that is abstract but has
non-virtual destructor
2011-12-13 19:26:16 +01:00
dhewg
a3cd1cf54b
Get rid of all #pragma mark
...
Fixes error: stray '\245' in program
2011-12-13 19:26:16 +01:00
dhewg
f81d32918f
Implement Sys_GetProcessorId for x86 and x86_64
...
Detect CPU features at runtime via cpuid - code borrowed from
libavutil.
Availability of cpuid is not checked since pentium3 supports it
and that was the minimum requirement anyway.
Only features enabled at compile time will be available.
Forced MMX/SSE/SSE2/SSE3 and it passed all tests via:
./doom3.x86_64 +disconnect +set s_noSound 1 +testSIMD
2011-12-13 19:26:16 +01:00
dhewg
18762483e6
Change return type of [Sys_]GetProcessorId to int
...
Fixes compile error: invalid conversion from 'int' to 'cpuid_t'
2011-12-13 18:57:30 +01:00
dhewg
8023bc5d56
Always compile all SIMD code
...
Protect all SIMD implementations with the according defines and
let the compiler decide if it supports the intructions.
Linux will still use Simd_Generic because CPU feature runtime
detection is missing.
2011-12-13 18:56:38 +01:00
dhewg
c17b80e950
Fix SIMD pointer casts/offsets for x86_64
...
Get the idDrawVert member offsets directly instead of hardcoding
them and checking them via assert() at runtime.
Fixes compile error:
cast from pointer to smaller type 'int' loses information
2011-12-13 17:26:33 +01:00
dhewg
f751d7e1b8
Protect __m128i intrinsic with __SSE2__
2011-12-13 16:26:38 +01:00
dhewg
798de99dfb
Only include ppc_intrinsics.h when required
2011-12-13 16:26:38 +01:00
dhewg
c15e761bae
Get rid of frustum code specialized for gcc
...
The functions are exactly the same ;)
Maybe splitted into two files because of an ICE on some ancient
gcc?
2011-12-13 16:26:16 +01:00
dhewg
4c38aaae78
Get rid of dmap code specialized for gcc
...
According to the file this existed because of a gcc 3.5.5
optimization bug, which we do not care anymore about.
2011-12-13 16:25:08 +01:00
dhewg
f6fa194044
Don't load EAX sound effects when EAX is disabled
2011-12-11 18:28:18 +01:00
dhewg
74acc03147
Enable OpenAL for all platforms
...
New scons variable 'OPENAL' (defaults to '1') to toggle the
OpenAL sound backend.
Enable via "s_useOpenAL 1".
2011-12-11 17:07:13 +01:00
dhewg
db65f7a61d
Use system OpenAL
2011-12-11 17:07:13 +01:00
dhewg
690967c276
Split EAX usage off OpenAL
...
New define ID_OPENAL_EAX to enable the deprecated EAX on top
of OpenAL.
OpenAL Soft can now be used.
2011-12-11 16:56:11 +01:00
dhewg
f4406290d1
Move efxlib.h to sound/
2011-12-11 16:07:56 +01:00
dhewg
b54bc73532
Move Windows only OpenAL files to sys/win32/
2011-12-11 16:00:31 +01:00
dhewg
bd1fe41b0e
Move the OpenAL stub to sys/stub/
2011-12-11 14:44:30 +01:00
dhewg
26f7a392a8
Add sanity checks for scripting
2011-12-11 12:13:04 +01:00
dhewg
bc07d06307
Use __builtin_trap() for assertions on GCC and derivates
2011-12-11 11:48:51 +01:00
dhewg
1d7d57d1f5
Cleanup endian swap functions
...
There's no need to detect the endianess at runtime.
2011-12-11 11:41:41 +01:00
dhewg
4378246a3a
Check pointer before accessing it
...
Not the other way around.
2011-12-10 20:02:07 +01:00
dhewg
a8b1d3a364
Fix POSIX net code for x86_64
...
Multiplayer working from 32bit dedicated server on FreeBSD with a
64bit Linux client.
2011-12-10 19:24:30 +01:00
dhewg
30850f8d9c
Fix FS hashing for x86_64
2011-12-10 18:51:34 +01:00
dhewg
a957b75bc3
Fix MD5 hashing for x86_64
2011-12-10 18:51:01 +01:00
dhewg
b9435a432d
Fix CRC32 hashing for x86_64
2011-12-10 18:48:09 +01:00
dhewg
d0198cc8b6
Fix R_ClipLineToLight signature
2011-12-10 15:36:17 +01:00
dhewg
bdb21d20c8
Fix wrong usage of memset()
2011-12-10 15:36:17 +01:00
dhewg
8d12d9af4f
Fix wrong usage of loop variables
2011-12-10 15:36:17 +01:00
dhewg
6d03fac378
Fix binary op fail in idTarget_WaitForButton::Think
2011-12-10 15:36:17 +01:00
dhewg
670daf7dd6
Exclude default stdio libvorbisfile callbacks
...
Prevents warnings about those being usused.
2011-12-10 15:36:16 +01:00
dhewg
82aaccc1ad
Use the local OSS headers
2011-12-10 15:36:16 +01:00
dhewg
1b8777a008
Get rid of GL_HARDLINK, always link against libGL
...
This kills the funky GL logging stubs, which unnecessarily
complicates the build process (think future cmake).
As for logging GL calls: Use apitrace for that
https://github.com/apitrace/apitrace
2011-12-10 15:36:16 +01:00
dhewg
9678020677
Fix compilation for *BSD
...
Change most __linux__ defines to __unix__ for all UNIX like systems.
2011-12-10 15:36:16 +01:00
dhewg
56bd47ac43
Fix Sys_FileTimeStamp return type
...
Sync with its header.
2011-12-10 15:36:15 +01:00
dhewg
5ee2e5b564
Fix and cleanup endianess defines
...
Use various defines set by the compiler to determine the
endianess of the target arch.
2011-12-10 15:36:15 +01:00
dhewg
04832863e8
Basic infrastructure to build on *BSD
2011-12-10 15:36:15 +01:00
dhewg
98eed69848
Fix -Wreturn-type warnings in the GL stub
...
no return statement in function returning non-void
2011-12-10 15:36:15 +01:00
dhewg
59ba59c46d
Fix -Wint-to-pointer-cast warning
...
cast to pointer from integer of different size
2011-12-10 15:36:14 +01:00
dhewg
04d1e91d80
Fix -Wformat and -Wformat-extra-args warnings
...
Fix format specifiers and use the C99 %zd for types of size_t and
alike.
2011-12-10 15:36:14 +01:00
dhewg
5c9973773b
Force exit on double segfault
...
All bets are off in this scenario, don't deinit anything.
2011-12-10 15:36:14 +01:00
dhewg
795b77a896
Fix broken forced crash for clang
...
clang discards stores to *0.
Use __builtin_trap() on GCC and derivates, which plays nicely with
gdb.
2011-12-10 15:36:14 +01:00
dhewg
238a21b95f
Fix unqualified lookup into dependent bases of class templates
...
idlib/containers/VectorSet.h:151:2: error: use of undeclared
identifier 'Append'
note: must qualify identifier to find this declaration in dependent
base class
int Append( const type & obj);
int Append( const idList<type> &other );
2011-12-10 15:36:13 +01:00
dhewg
f9dd2f93eb
Fix platform dependent thread function definitions
...
Thread return types are different between platforms, and its
probably not a good idea to return something of a different size,
cast the callback and expect it to not crash.
2011-12-10 15:36:13 +01:00
dhewg
962c0e6032
Fix sound channel saving/restoring for x86_64
...
Let's not store pointers as int to file. The code already allocs
channels on invalid pointers - well, afer fixing it ;)
2011-12-10 15:36:13 +01:00