dhewg
826dfb0e5b
Fix alignment issue with idBlockAlloc::Free()
...
Bug introduced with e97d3288
. This doesn't work with MinGW, since
the struct members might not be aligned to the native pointer
size (in this case idSampleDecoderLocal was aligned to a 8 byte
boundary on win32).
Just switch the two members to avoid ugly code.
2011-12-22 18:51:17 +01:00
dhewg
9e715ba7cc
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.
2011-12-22 14:10:29 +01:00
dhewg
2c1186dc1b
Fix -Woverloaded-virtual warnings
...
We want to use the SIMD functions of the base class if the
deriving class does not implement every overloaded variant.
Added missing idLight::SetColor(idVec3) which is declared in
idEntity.
2011-12-22 12:33:27 +01:00
dhewg
acdfb93552
Fix compiler checks for newer gcc versions
...
Use CXX instead of C checks - newer gcc versions refuse some
C++ flags when compiling C.
2011-12-22 12:33:27 +01:00
dhewg
6997848645
Use HUGE_VAL instead of HUGE
...
This is more portable, and older MinGW versions actually
don't know about HUGE.
Reported by serpentine.
2011-12-22 12:33:21 +01:00
dhewg
d37fe69f85
Change another _WIN32 to _MSC_VER for MinGW
...
Older MinGW versions do not know about __assume().
Change _WIN32 in comments too to match their opening #if.
Reported by serpentine.
2011-12-22 12:32:39 +01:00
dhewg
469031be21
Remove win32 special case in idSession::Frame()
...
Since 1a25b165
not required anymore, all platforms behave the
same.
2011-12-22 11:43:24 +01:00
dhewg
cdf6fa3702
New define IDSTR_NO_REDIRECT
...
The defines in idlib/Str.h won't be set to redirect the low
level c string functions to idStr when IDSTR_NO_REDIRECT is
set.
Fixes compilation for MSVC:
error C2761: 'Cmp' : member function redeclaration not allowed
Reported by spiral.
2011-12-22 11:21:55 +01:00
spiral
540bbae490
CMake support for MSVC
...
Use the WIN32 flag for add_executable.
2011-12-22 11:21:54 +01:00
spiral
7e5795dd56
Add missing includes for MSVC
...
- MSVC doesn't provide C99 headers
- Default to min. req. 64Mb video mem if no COM present
- Move misplaced __attribute__((packed)) from MSVC to MinGW
2011-12-22 11:07:01 +01:00
dhewg
ca04dd36d8
Get rid of the unused Sys_FPU_ClearStack
2011-12-22 11:07:01 +01:00
dhewg
6e0c766d14
Unify all Sys_GetProcessorId()
...
Use SDL functions whenever possible.
2011-12-22 11:07:00 +01:00
dhewg
d4281b56bf
Get rid of Sys_GetProcessorString()
...
This was only used for a printf() and not implemented for all
the platforms we can now run on.
We also don't want to force a CPU type on Windows.
2011-12-22 10:38:40 +01:00
dhewg
4150029322
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.
2011-12-22 10:38:40 +01:00
dhewg
acfe2489e4
Get rid of unused CPUID flags
2011-12-22 10:38:40 +01:00
dhewg
e2b46a5a34
Get rid of Sys_GetClockticks() and Sys_ClockTicksPerSecond()
...
Now unused.
2011-12-22 10:38:39 +01:00
dhewg
2e3653ce9f
Get rid of CPU speed check in SetMachineSpec()
...
This is a non portable x86 and x86_64 check.
2011-12-22 10:38:39 +01:00
dhewg
280c95b52c
Use idSys::GetMilliseconds() for idTimer
...
The class is only used for debugging and statistical purposes.
The precision is now reduced to milliseconds, but that's only
relevant for fine grained debug timings - where the old code
was inaccurate at anyway.
2011-12-22 10:38:39 +01:00
dhewg
a99971f44c
Add GetMilliseconds to idSys
...
To be used for the overhauled idTimer in idlib/.
2011-12-22 10:38:38 +01:00
dhewg
c994974ffc
Port Sys_Milliseconds() to SDL
...
Sync with SDL and use unsigned int as return type.
Code outside of sys/ still uses signed ints to store the result.
2011-12-22 10:38:38 +01:00
dhewg
317e63887c
Port Sys_Sleep() to SDL
2011-12-22 10:38:38 +01:00
dhewg
e7482b4957
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.
2011-12-22 10:38:37 +01:00
dhewg
7865e432a7
Port the async thread to a SDL timer
...
SDL implements timers via threads and it lets us easily aim at
a 60Hz frequency.
2011-12-21 17:50:39 +01:00
dhewg
5a052e846f
Move MAX_THREADS as define to BuildDefines.h
2011-12-21 17:50:39 +01:00
dhewg
1a25b165b0
Port critical sections and events to SDL
...
Use SDL mutexes and conditions.
One new critical section CRITICAL_SECTION_SYS for events.
2011-12-21 17:50:35 +01:00
dhewg
0f3c2ebf52
Use SDL for everything endian
2011-12-21 17:40:38 +01:00
dhewg
005677494f
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().
2011-12-21 17:40:05 +01:00
dhewg
efc71124b1
TypeInfoGen is standalone, don't compile/link it
...
Same change for scons as 8ca99602
for CMake.
2011-12-21 17:39:01 +01:00
dhewg
45566d9727
Fix compilation via scons
...
Add the include path to the root directory, overlooked in
736ec20d
.
2011-12-21 13:53:36 +01:00
dhewg
1358d397e4
Link MinGW binaries with -mwindows
...
mingw-w64 requires this when linking gui applications.
2011-12-20 12:17:45 +01:00
dhewg
278dae9345
Get rid of -Wno-unknown-pragmas
...
Not required anymore.
2011-12-19 23:21:49 +01:00
dhewg
736ec20d4d
Untangle the epic precompiled.h mess
...
Don't include the lazy precompiled.h everywhere, only what's
required for the compilation unit.
platform.h needs to be included instead to provide all essential
defines and types.
All includes use the relative path to the neo or the game
specific root.
Move all idlib related includes from idlib/Lib.h to precompiled.h.
precompiled.h still exists for the MFC stuff in tools/.
Add some missing header guards.
2011-12-19 23:21:47 +01:00
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