Daniel Gibson
da63c4f41c
print "dhewm 3 1.4.0" in the console, not "dhewm 1.4.0"
...
Thanks for pointing this out, svdijk!
2015-09-27 18:13:42 +02:00
Daniel Gibson
d0e8f3bb55
Prepare for 1.4.0 release, make SDL2 default, update README
...
The version will be 1.4.0 because it's not compatible with
Doom3 1.3.1 mod DLLs.
(Note that this commit doesn't mean 1.4.0 is done, I might do some
minor changes before tagging the Release!)
2015-09-27 03:08:30 +02:00
Tobias Frost
73fa334c2a
Fixing some spelling errors: s/unkown/unknown, s/seperate/separate. ( #107 )
2015-02-25 22:01:00 +01:00
Matthias Treydte
56d53004d5
Fix building with Gentoo's patched zlib.
2013-09-17 21:52:08 +02:00
Daniel Gibson
f19247957d
Merge pull request #76 from bk138/master
...
Enable loading of original DOOM 3 save games (by accepting the original game name "DOOM 3"
2013-08-31 12:25:09 -07:00
Daniel Gibson
40ac4d7c5a
Fix compilation on Gentoo
...
For some reason Gentoo renamed zlibs OF() macro to _Z_OF
Our minizip uses OF(), so add a #define for it in case
_Z_OF is defined.
Thanks to salamanderrake for the fix
2013-08-31 20:07:07 +02:00
Christian Beier
23dc236ed7
Enable loading of original DOOM 3 save games.
...
This makes it possible to use dhwem3 as a drop-in replacement for an existing doom3 installation.
2013-07-30 18:33:12 +02:00
Daniel Gibson
d234bc60e9
Replace custom unzip functions with standard ones
...
unz[SG]etCurrentFileInfoPosition() isn't needed anymore,
because newer minizip versions have unz[SG]etOffset() for
that purpose.
2013-06-12 00:07:09 +02:00
Daniel Gibson
2e47865234
Use updated minizip version for unzip
...
The implementation is now in framework/minizip/*
instead of framework/Unzip.cpp
This was version 0.15beta, now we use 1.1 from
zlib 1.2.7/contrib/minizip
Some code had to be adjusted for this, but it got
cleaner on the way
2013-06-12 00:07:09 +02:00
Daniel Gibson
b13c131e4e
CD-Key check for internet-games can now be disabled
...
with ID_ENFORCE_KEY_CLIENT 0
This patch is from Kot-in-Action Creative Artel
Fixes #55
2012-11-13 23:48:15 +01:00
Daniel Gibson
c7956a1cb5
Fix freeze when quitting the game during timedemo
...
When one tries to quit the game (via quit in console) while a timedemo
is running, the game freezes indefinitely while displaying the timedemo
results.
This happens because the MessageBox used for that waits for a an event
normally triggered by a timer - but it seems like that does not happen
anymore during Shutdown()
The fix makes sure that this message box isn't displayed.
2012-11-13 23:39:38 +01:00
Daniel Gibson
3202f0aa0f
Get rid of some compiler warnings
...
GCC had shitloads of superfluous warnings wherever List.h and Str.h were
included.. get rid of them by using #pragma GCC diagnostic at some places
in List.h and Str.h.
Also add some casts, initialize some variables for other warnings
2012-11-13 23:24:13 +01:00
Daniel Gibson
aedc76b50e
Don't save duplicate consecutive commands to history
...
If the entered command is the same as the last command, don't save
it to history.
2012-11-13 23:21:38 +01:00
Daniel Gibson
04266eee5e
Make console history persistent
...
The console history is saved to a file on quit and restored after
starting the game.
So the commands entered in the console the last times the game was run
are still available in the console-history, just like commands that
were just entered.
2012-11-13 23:21:38 +01:00
Daniel Gibson
768fdb5707
Load base game's gamelib if mod has no own gamelib
...
Some mods/mappacks have their own game dir (fs_game) but no own gamelib.
Doom3 defaulted to the base game dll (I think), so we should do the same.
Fixes #44
2012-11-13 23:14:57 +01:00
dhewg
227e8ee5c9
Add SDL2 support to framework/Common.cpp
2012-07-20 21:02:59 +02:00
dhewg
f120900000
SDL2's SDL_TimerID is not a pointer anymore
2012-07-20 17:34:38 +02:00
dhewg
368bf2819c
Log the SDL version
2012-07-20 17:34:32 +02:00
dhewg
7f3fc825ed
Get rid of GetCardCaps()
...
Useless now.
2012-07-20 00:13:04 +02:00
dhewg
e0fd437ba9
Don't warn about uppercase chars in filenames
...
Only print those in developer mode.
2012-07-20 00:12:56 +02:00
dhewg
2a3d07e174
More logging cleanup
2012-07-20 00:12:55 +02:00
dhewg
2052928433
Fall back to fs_basedir for cd keys
...
The windows cd installer and steam write it to that location.
2012-07-06 19:38:32 +02:00
dhewg
d2b7eac843
Get rid of Sys_SetFatalError()
...
Unnecessary.
2012-07-06 01:24:25 +02:00
dhewg
b58f51dbfa
Get rid of Sys_FPU_StackIsEmpty()
...
Same as with Sys_FPU_GetState().
2012-07-06 01:06:53 +02:00
dhewg
0ccef1eba8
Get rid of Sys_FPU_GetState()
...
This was only implemented with MSVC style asm.
Comments suggest that it was used to help catch invalid FOV calculations,
which were probably only happening with ancient compiler bugs.
2012-07-06 01:06:53 +02:00
dhewg
65b13cb73e
Use a more modern way to set the fpu precision
2012-07-06 01:06:51 +02:00
dhewg
57e964f369
Use FILENAME_MAX for MAX_OSPATH
...
Fixes compilation with fucking MSVC.
2012-07-05 17:25:11 +02:00
Andre d
7a5b8b1ec0
Remove (faulty/outdated) video ram detection
2012-07-04 22:47:38 +02:00
dhewg
6179e855a9
Use system zlib
2012-07-04 18:56:29 +02:00
dhewg
20aaba2c65
Bump ASYNC_PROTOCOL_MINOR
...
Due to changed protocol we're not compatible anymore.
2012-07-04 02:18:50 +02:00
dhewg
7620131b8f
Remove net_serverAllowServerMod cvar
...
Unused.
2012-07-04 02:18:50 +02:00
dhewg
b5fd5b0c9b
Remove remaining binary pak FileSystem code
2012-07-04 02:18:49 +02:00
dhewg
0b08240e02
Remove all OS specific gamepak code
...
Useless since there are no gamepaks.
2012-07-04 02:18:48 +02:00
dhewg
cac32559e7
Remove all gamepak FileSystem<->Async[Client|Server] code
2012-07-04 02:18:48 +02:00
dhewg
b049ea78e9
Don't try to extract libraries from gamepaks.
2012-07-04 02:18:47 +02:00
dhewg
a86cbb1bff
Remove UpdateGamePakChecksums()
...
Not required anymore.
2012-07-04 02:18:46 +02:00
dhewg
72156cb1b4
Remove all client/server gamepak checks
...
We don't use any gamepaks anymore, remove the related checks.
2012-07-04 02:18:46 +02:00
dhewg
3d4be95474
Ignore binary pk4's
...
We only load local game libraries, do not ever load binary pk4's.
2012-07-04 02:18:45 +02:00
dhewg
3e9545fb71
Overhaul the *nix based BASE path
...
Try BUILD_DATADIR first (build time setting), then the vanilla
doom3 path.
2012-07-04 02:18:44 +02:00
dhewg
be37221024
Rename game libraries to the game name
...
Never use "game" as library name, use the game name instead. This
allows d3xp/mods to coexist in a single (installation-)directory.
This paves the way for future `make install` or binary installers.
Additionally, the "mods" menu entry works from within the game gui.
2012-07-04 02:18:43 +02:00
dhewg
822f9d30b5
Always load the game library from known places
...
Never use the virtual filesystem, and never use binaries from
pk4 files. Instead, try the build folder and fall back to the
known installation folder.
2012-07-04 02:18:43 +02:00
dhewg
e55753e626
Introduce fs_configpath
...
Split fs_savepath for config files. This is in preparation for
moving the writable paths on *nix to $XDG_DATA_HOME and
$XDG_CONFIG_HOME.
Affected files: config.spec, *.cfg, doomkey, xpkey.
2012-07-03 21:12:58 +02:00
dhewg
478fa783f6
Unify Sys_*Path() into Sys_GetPath()
2012-07-03 21:12:56 +02:00
dhewg
3256783af1
Get rid of ID_DEMO_BUILD
...
There are no demo pk4s compatible to this 1.3.1 codebase.
2012-07-03 21:12:55 +02:00
dhewg
99864667a7
Use PATH_MAX for MAX_OSPATH on all platforms
...
The hardcoded 256 doesn't cut it.
2012-07-03 21:10:45 +02:00
dhewg
822b0b84af
s/ReadDeltaLongCounter/ReadDeltaIntCounter/
...
to match the return type
2012-06-28 13:52:24 +02:00
dhewg
c51f59cb15
s/WriteDeltaLongCounter/WriteDeltaIntCounter/
...
to match the argument type.
2012-06-28 13:52:24 +02:00
dhewg
9034da11d0
s/ReadLong/ReadInt/ to match the return type
2012-06-28 13:52:24 +02:00
dhewg
94df46637a
s/WriteLong/WriteInt/ to match the argument type
2012-06-28 13:52:23 +02:00
dhewg
49c4d028a5
s/LittleLong/LittleInt/ to match the return type
2012-06-28 13:02:47 +02:00
Daniel Gibson
0eb604c436
Use int instead of long in FS_WriteFloatString()
...
The correct type for %d, %i, %u, ... is int, not long.
Even if FS_WriteFloatString() didn't care about that, sprintf() (which is called
with the same format strings and the corresponding values) does.
2012-06-28 13:02:46 +02:00
Daniel Gibson
e8f047bcb6
Use int instead of long in idCompressor_Arithmetic methods
...
They return int anyway, so using long doesn't make sense (and originally on
win32 it didn't make a difference anyway)
2012-06-28 13:02:46 +02:00
dhewg
6d6c5c8ce7
Fix "unreachable code" warnings
2012-01-15 14:13:44 +01:00
dhewg
898f690fc4
This is dhewm 3
...
Rename project, now at https://github.com/dhewm
2012-01-14 20:06:05 +01:00
dhewg
d472149426
Get rid of unused defines in Licensee.h
2012-01-14 17:59:37 +01:00
dhewg
b7ce0ef149
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".
2012-01-14 15:19:12 +01:00
dhewg
827124431e
CMake: Detect libcurl and use it when found
...
Move ID_ENABLE_CURL to config.h
2012-01-14 15:09:29 +01:00
dhewg
b5c66c088c
Get rid of ID_OPENAL
...
This is always required for clients.
2012-01-14 15:02:26 +01:00
dhewg
ece2adbdcd
Port EAX to EFX
...
First attempt at porting the EAX reverb code to EFX.
This only works when the ALC_EXT_EFX extension is supported by
the OpenAL vendor (which is not the case for the OSX supplied
framework, use OpenAL soft instead).
The current stable version of OpenAL Soft (v1.13 as of this
writing) can barely handle this additional workload, current
master is highly recommended when using this feature.
2012-01-08 22:04:56 +01:00
dhewg
6a1d6cb842
Always allow multiple instances
2012-01-08 12:24:58 +01:00
dhewg
9542663097
Get rid of Sys_DefaultCDPath()
...
Stub on all platforms.
2012-01-08 12:24:58 +01:00
dhewg
82a87863ff
Rename FILE_[EXEC|OPEN] due to conflict
...
Some MinGW versions already define it.
2012-01-07 15:40:18 +01:00
dhewg
1fed72fbb4
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.
2012-01-05 00:24:13 +01:00
dhewg
03d4833aa9
Use memory mapped async mixing on OSX
...
The OSX specific preferences dialog sets com_asyncSound to "1"
when OpenAL is used, do the same.
2012-01-05 00:24:13 +01:00
dhewg
4740a55295
Don't use a console lock on Windows or OSX builds
...
Sync with Linux.
2012-01-02 20:00:11 +01:00
dhewg
6f8bb2dfc3
Remove file logging feature from Common.cpp
...
SDL already redirects stdout and stderr into files, this is not
required anymore.
2012-01-02 15:44:46 -05:00
dhewg
c0d625685d
Gracefully shut down SDL on exit
2012-01-02 15:44:25 -05:00
dhewg
79aea4082f
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.
2012-01-02 15:44:16 -05:00
dhewg
502aaa6fe2
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.
2012-01-02 15:44:09 -05:00
dhewg
475f49dad2
Get rid of the redundant com_shuttingDown
...
Not required anymore since 7865e432
, the timer is stopped
gracefully when shutting down.
2012-01-02 15:43:47 -05:00
dhewg
239b165798
Use com_ticNumber for the async timer
...
This yields much more precise updates and stable fps.
Reported by kaan.
2011-12-27 21:27:27 +01:00
spiral
13bab7a7e5
Remove MWERKS stuff
2011-12-23 13:04:21 +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
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
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
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
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
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
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
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
044f745e0c
Disable sound backend entry in the option menu
...
"Reverse channels", woooo
2011-12-14 19:04:19 +01:00
dhewg
93e5345fbc
Don't use any idAudioHardware implementations
...
OpenAL for everyone.
2011-12-14 18:24:06 +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
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
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
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
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
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
30850f8d9c
Fix FS hashing for x86_64
2011-12-10 18:51:34 +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
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
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
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
0c84e4bff3
Fix shared library loading for x86_64
...
Library handles are "void *" on posix.
2011-12-10 15:36:10 +01:00