dhewg
18526bf4eb
Split Game_local.h
...
New header GameBase.h with all the defines from Game_local.h and
gameError() to reduce header dependencies.
2011-12-19 23:21:41 +01:00
dhewg
cfbed87fa8
Move constants from AsyncNetwork.h
...
Make those defines in BuildDefines.h instead to reduce header
dependencies.
2011-12-19 23:21:41 +01:00
dhewg
da60a2a631
Adapt structs for easy forward declarations
...
Get rid of the tag namespace.
2011-12-19 23:18:15 +01:00
dhewg
966a380793
Move BuildDefines.h include to platform.h
2011-12-19 20:33:09 +01:00
dhewg
5d8d3b726e
Include cstddef for ptrdiff_t in platform.h
2011-12-19 20:33:09 +01:00
dhewg
90a53d0977
Move idlib typedefs to platform.h
2011-12-19 20:33:03 +01:00
dhewg
cf57db42e9
Move common includes from precompiled.h to platform.h
2011-12-19 20:31:32 +01:00
dhewg
96ef0754e2
Split platform specific code from precompiled.h
...
New header sys/platform.h.
2011-12-19 20:31:28 +01:00
dhewg
73008b0691
Only compile idlib once
...
Build one static idlib and link the binaries against it.
2011-12-19 20:20:57 +01:00
dhewg
dbf3b43140
Move the virtual abstract idGame to framework/Game.h
...
This is game independent and code outside of game/ and d3xp/
doesn't need to know about anything game specific.
2011-12-19 20:19:14 +01:00
dhewg
8e34d86f8a
Get rid of ID_ALLOW_D3XP
...
There're no second class citizens.
2011-12-19 20:17:46 +01:00
dhewg
e5ec63ce06
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.
2011-12-19 20:05:20 +01:00
dhewg
8ca99602aa
TypeInfoGen is standalone, don't compile/link it
...
Neither the core or the game libraries need it.
2011-12-16 16:37:58 +01:00
dhewg
6017d8d7a1
Mark unused variable in a non-debug build as such
...
Forgot this one in be40e9d6
2011-12-16 16:01:52 +01:00
dhewg
d0e5555f72
Fix -Wuninitialized warnings in release builds
...
may be used uninitialized in this function
2011-12-16 16:00:28 +01:00
dhewg
506569529a
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.
2011-12-16 00:07:16 +01:00
dhewg
bc3b1c0883
Partly restore behaviour from c17b80e9
...
The subtraction was inverted, but change back the behaviour too:
Hardcode offsets and check via asserts() in Debug builds.
2011-12-15 18:52:34 +01:00
dhewg
b3999a264c
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.
2011-12-15 17:51:56 +01:00
dhewg
76939c6de7
Delete redundant files
2011-12-15 17:51:36 +01:00
dhewg
044f745e0c
Disable sound backend entry in the option menu
...
"Reverse channels", woooo
2011-12-14 19:04:19 +01:00
dhewg
b62b033b88
Get rid of all idAudioHardware implementations
2011-12-14 18:37:03 +01:00
dhewg
18f9793732
Get rid of the intenal useOpenAL
...
Useless now, there is only OpenAL.
2011-12-14 18:24:06 +01:00
dhewg
93e5345fbc
Don't use any idAudioHardware implementations
...
OpenAL for everyone.
2011-12-14 18:24:06 +01:00
dhewg
4e26e1ac6f
Don't use idAudioHardware to get the speaker count
...
Use the CVar s_numberOfSpeakers for that, its already stored
in there.
Add the same (!= 2 && !=6) check as in the audio backends since
the mixer is limited to these 2 values.
2011-12-14 18:24:05 +01:00
dhewg
66141935f5
Use OpenAL per default
...
Deprecate s_libOpenAL and s_useOpenAL for compability and don't
access them anymore.
2011-12-14 18:24:05 +01:00
dhewg
9df3383b61
Remove Sys_LoadOpenAL() and Sys_FreeOpenAL()
...
This is not required anymore, all binaries on all platforms
either link against OpenAL or use the stub.
2011-12-14 18:23:49 +01:00
dhewg
dfdb6b6d4a
Remove the unused win32 exception handler
...
Especially don't send crash reports from this tree to id ;)
2011-12-14 18:20:31 +01:00
dhewg
1dad3d711f
cmake: Get rid of "-m32" check
...
This doesn't work. Always add -m32 when X86 was set.
2011-12-14 18:20:31 +01:00
dhewg
b2ccf9240c
Fix Wwrite-strings warnings in sys/win32
...
deprecated conversion from string constant to ‘char*’
2011-12-14 18:20:31 +01:00
dhewg
3e25cc751a
Always link the win32 binary against OpenAL
...
Just as with OSX and Linux.
2011-12-14 18:20:31 +01:00
dhewg
b6bcd0a9cb
Fix compilation for MinGW
...
Just a few minor hiccups.
2011-12-14 18:20:30 +01:00
dhewg
661e8f453b
Stub out win32 CPU functions for MinGW
...
Most of these use MSVC style asm.
Binaries compiled with MinGW will not use any SIMD code for now.
2011-12-14 18:20:30 +01:00
dhewg
ed349d71cc
Fix Sys_QueMouseEvents for MinGW
...
DIMOFS_[X|Y|Z] can't be used in a switch statement.
2011-12-14 18:20:30 +01:00
dhewg
216c83b130
Undef strcasecmp before redefining it
2011-12-14 18:20:30 +01:00
dhewg
b8dc464dc7
Replace one unnecessary afxwin.h
...
No MFC required in win_taskkeyhook.cpp.
2011-12-14 18:20:30 +01:00
dhewg
f54752c209
Case corrections for includes on case sensitive fs'
2011-12-14 18:20:29 +01:00
dhewg
88d2dc6f33
Only use MSVC style asm with MSVC
2011-12-14 18:20:29 +01:00
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
dhewg
ce976c4701
Fix script interpreter stack for x86_64
...
Alot of stack and event variables are pointers. Align the size of
all script and event variable types to sizeof(intptr_t) so that
the CPU needs only one fetch insn on 64bit archs.
Tested on x86 and x86_64 and found no different script behaviours
compared to the binary from id.
Savegames on x86_64 do work, but are not compatible to x86 and vice
versa (among other issues, the stack is written to file as-is).
x86 builds can still load savegames from the official binary and
vice versa.
2011-12-10 15:36:13 +01:00
dhewg
052021d178
Fix font loading for x86_64
...
Font file sizes are always 20548 bytes, but the sizeof(struct) check
doesn't work on x86_64 because of alignment. Hardcode the expected
file size.
2011-12-10 15:36:12 +01:00
dhewg
04ec1794ba
Fix idCinematics for x86_64
2011-12-10 15:36:11 +01:00
dhewg
545004a04c
Fix ./idlib/math/ for x86_64
...
sizeof(float) != sizeof(long) on this ABI.
2011-12-10 15:36:11 +01:00
dhewg
1d9fd6948a
Fix id[Simple]Window for x86_64
2011-12-10 15:36:11 +01:00
dhewg
eb2faa05f2
Fix MD4 hashing for x86_64
2011-12-10 15:36:11 +01:00
dhewg
87047b7251
Fix BMP loading for x86_64
...
struct is used for file i/o.
2011-12-10 15:36:10 +01:00
dhewg
76334aa41c
Fix DDS texture handling for x86_64
...
struct is used for file i/o.
2011-12-10 15:36:10 +01:00
dhewg
0c84e4bff3
Fix shared library loading for x86_64
...
Library handles are "void *" on posix.
2011-12-10 15:36:10 +01:00
dhewg
2c26f0c52a
Fix Heap class for x86_64
2011-12-10 15:36:10 +01:00
dhewg
506ea7b316
Fix event callbacks for x86_64
...
Fix remaining event related code for the new intptr_t value type.
Regenerated game/gamesys/Callbacks.cpp via CREATE_EVENT_CODE.
2011-12-10 15:36:09 +01:00
dhewg
d92d4ba8b6
Fix idEventArg for x86_64
...
Pointers are passed through events; change the event value type to
intptr_t to provide enough bits.
2011-12-10 15:36:09 +01:00
dhewg
ab201cfc06
Stub Sys_GetClockTicks for x86_64
...
This is only used for debugging/stats.
2011-12-10 15:36:09 +01:00
dhewg
6b1e27b157
Trivial pointer cast fixes for x86_64
2011-12-10 15:36:09 +01:00
dhewg
2995bcab30
Basic infrastructure for native x86_64 builds
...
Let scons link directly in the build folder.
Multiple archs can coexist next to each other.
New scons variable "X86" to cross compile x86 binaries on x86_64.
2011-12-10 15:36:08 +01:00
dhewg
49859d747e
Comment XFlush() to prevent a crash on exit
2011-12-10 15:36:08 +01:00
dhewg
1b0a37392b
scons: Get rid of -fpermissive
...
Not required anymore.
2011-12-10 15:36:08 +01:00
dhewg
618f15cffe
Disable some not yet fixed warnings
...
These spam the console, disable them for now.
Some of these warnings need to be looked at instead of just
adding code to prevent them.
2011-12-10 15:36:08 +01:00
dhewg
be40e9d661
Mark unused variables in a non-debug build as such
...
Variables which are only used in assert().
2011-12-10 15:36:07 +01:00
dhewg
541f8f967a
Fix typo in define
...
Gets rid of the warning:
XTRHEADS not defined -- this libXNVCtrl.a will not be thread safe!
2011-12-10 15:36:07 +01:00
dhewg
5dcf5389fa
Fix warning: left shift count >= width of type
2011-12-10 15:36:07 +01:00
dhewg
6e89dac99e
Fix -Warray-bounds warning
2011-12-10 15:36:06 +01:00
dhewg
e97d328804
Fix -Winvalid-offsetof warnings
2011-12-10 15:36:06 +01:00
dhewg
9ab9bdea8b
Fix -Wparentheses warnings
...
suggest explicit braces to avoid ambiguous ‘else’
suggest parentheses around ‘&&’ within ‘||’
suggest parentheses around ‘-’ in operand of ‘&’
suggest parentheses around arithmetic in operand of ‘|’
equality comparison with extraneous parentheses
Functional change:
Proper HELLTIME check in Playerview due to missing parentheses.
2011-12-10 15:36:06 +01:00
dhewg
926b41f4a5
Fix -Wself-assign warning
...
explicitly assigning a variable of type 'j_decompress_ptr'
(aka 'jpeg_decompress_struct *') to itself
2011-12-10 15:36:06 +01:00
dhewg
50a48cdf6b
Fix -Woverloaded-virtual warnings
...
hides overloaded virtual function
Fix member signatures of deriving classes to its super classes.
Removes the unused idGameBustOutWindow::Activate() and the
useless idMarkerWindow::GetWinVarByName().
2011-12-10 15:36:05 +01:00
dhewg
2556a3923f
Fix -Wunused-result warnings
...
ignoring return value of
Implement some error checking.
Use [put|get]char in the posix tty code for ease of use.
2011-12-10 15:36:05 +01:00
dhewg
09f3aa0568
Fix -Wuninitialized warnings
...
may be used uninitialized in this function
2011-12-10 15:36:05 +01:00
dhewg
ee0996e380
Fix -Wunused-value warnings
...
value computed is not used
left operand of comma operator has no effect
right operand of comma operator has no effect
2011-12-10 15:36:04 +01:00
dhewg
3f5c14ef5f
Fix -Wunused-but-set-variable warnings
...
variable set but not used
Removes some CollisionModel code under _DEBUG which was probably a
leftover, since it was completely useless (its done later anyways).
2011-12-10 15:36:04 +01:00
dhewg
e4771f3a5f
Fix -Wunused-variable warnings
...
unused variable
2011-12-10 15:36:03 +01:00
dhewg
7f4bcf94ca
Fix -Wunused-function warnings
...
defined but not used
2011-12-10 15:36:02 +01:00
dhewg
fc447ec426
Fix -Waddress warning
...
the address of ‘hwparams’ will always evaluate as ‘true’
This was only in idAudioHardwareALSA::Initialize(), add the
missing return statement too while I'm at it.
2011-12-10 15:36:01 +01:00
dhewg
9d0e0d6fbc
Fix -Wsequence-point warning
...
operation on
‘((idFileSystemLocal*)this)->idFileSystemLocal::dir_cache_index’
may be undefined
2011-12-10 15:36:01 +01:00
dhewg
09f03c531a
Fix -Wmissing-braces warnings
...
missing braces around initializer for ‘const char* [2]’
2011-12-10 15:36:01 +01:00
dhewg
783db18c5e
Fix -Wpointer-arith warnings
...
NULL used in arithmetic
2011-12-10 15:36:01 +01:00
dhewg
120d560722
Fix -Wconversion-null warnings
...
converting to non-pointer type ‘int’ from NULL
2011-12-10 15:36:00 +01:00
dhewg
9d97eefb1a
Fix -Wwrite-strings warnings
...
deprecated conversion from string constant to ‘char*’
Constify lots of "char *".
2011-12-10 15:36:00 +01:00
dhewg
14329d47d8
Fix -Wchar-subscripts warnings
...
array subscript has type ‘char’
2011-12-10 15:36:00 +01:00
dhewg
79ad905e05
Fix all whitespace errors
...
Excluding 3rd party files.
2011-12-10 15:35:54 +01:00
dhewg
ff493f6847
Fix quoting in GPL headers
2011-12-10 15:34:48 +01:00
dhewg
adebc145e3
Delete foreign build systems
...
Eventually a cmake based build system will replace all these.
Also, interference with `git grep` can not be tolerated.
2011-12-10 15:34:41 +01:00
dhewg
afcd0a93ea
Use system libvorbisfile
2011-12-10 15:34:41 +01:00
dhewg
e704911fed
Use system libjpeg8
...
The unused WriteLossless() was using libjpeg internals found in
jpegint.h. This header is available with libjpeg8, but not shipped
by most distros. Disable the relevant code - no functional
changes.
2011-12-10 15:33:48 +01:00
dhewg
1b858a774f
Use system libcurl
2011-12-10 11:00:03 +01:00
dhewg
8c80d6c0b8
scons: Allow more than one arg in BASECPPFLAGS
...
scons BASEFLAGS='-DID_FAKE_PURE=1 -DID_ENFORCE_KEY=0'
2011-12-10 11:00:01 +01:00
dhewg
8cbd6167ac
scons: Let scons handle verboseness
...
scons -s
2011-12-10 10:59:33 +01:00
dhewg
86d38f2411
scons: Let scons handle parallel jobs
...
scons -j
2011-12-10 03:46:47 +01:00
Timothee 'TTimo' Besset
15597777fc
towards XCode 4 support - need those converted
2011-11-22 17:32:53 -06:00
Timothee 'TTimo' Besset
fb1609f554
hello world
2011-11-22 15:28:15 -06:00