Commit graph

251 commits

Author SHA1 Message Date
dhewg
f6b6f1df97 Correct the cpu type for 64bit msvc 2018-08-20 01:46:35 +02:00
dhewg
f4f8319316 Disable warning 4267 for msvc
Spams the console due to 32bit data types on 64bit.
2018-08-20 01:46:35 +02:00
dhewg
d832144482 Use _exit() in AssertFailed()
Ensure application exit.
2018-08-20 01:46:35 +02:00
dhewg
575668da57 Replace "__asm int 0x03" with __debugbreak()
Fixes compilation with msvc 64bit.
2018-08-20 01:46:35 +02:00
dhewg
d16d3a5534 Only compile msvc style asm with 32bit msvc
The 64bit compiler doesn't support __asm.
2018-08-20 01:46:35 +02:00
dhewg
5c483d3349 Get rid of sysMemoryStats_t
Unused.
2018-08-20 01:46:35 +02:00
dhewg
d75c2654c0 Get rid of empty sys/linux/dedicated.cpp 2018-08-20 01:46:35 +02:00
dhewg
5db94cb6a0 Get rid of win_cpu.cpp
All unused now.
2018-08-20 01:46:35 +02:00
dhewg
49067a82aa Get rid of Sys_FPU_StackIsEmpty()
Same as with Sys_FPU_GetState().
2018-08-20 01:46:35 +02:00
dhewg
16871256f8 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.
2018-08-20 01:46:35 +02:00
dhewg
763791ab24 Get rid of Sys_FPU_EnableExceptions()
No exceptions were ever enabled.
2018-08-20 01:46:35 +02:00
dhewg
4dc111e63f Use a more modern way to set the fpu precision 2018-08-20 01:46:35 +02:00
dhewg
8e323cb4ff Get rid of Sys_FPU_SetRounding()
Unused.
2018-08-20 01:46:35 +02:00
dhewg
2ecfd21427 Use FILENAME_MAX for MAX_OSPATH
Fixes compilation with fucking MSVC.
2018-08-20 01:46:35 +02:00
Andre d
a6834f2f39 Remove (faulty/outdated) video ram detection 2018-08-20 01:46:35 +02:00
dhewg
04bea1b10f Use system zlib 2018-08-20 01:46:35 +02:00
dhewg
d250bf9262 Initial make install target for *nix
cmake fails it, so *nix only.
2018-08-20 01:46:34 +02:00
dhewg
f9ca9c0119 Bump ASYNC_PROTOCOL_MINOR
Due to changed protocol we're not compatible anymore.
2018-08-20 01:46:34 +02:00
dhewg
e85823f8ce Remove all OS specific gamepak code
Useless since there are no gamepaks.
2018-08-20 01:46:34 +02:00
dhewg
ed099aa128 Remove all gamepak FileSystem<->Async[Client|Server] code 2018-08-20 01:46:34 +02:00
dhewg
5aa122978d Don't try to extract libraries from gamepaks. 2018-08-20 01:46:34 +02:00
dhewg
5adb4810d4 Remove UpdateGamePakChecksums()
Not required anymore.
2018-08-20 01:46:34 +02:00
dhewg
b992d117f0 Remove all client/server gamepak checks
We don't use any gamepaks anymore, remove the related checks.
2018-08-20 01:46:34 +02:00
dhewg
22c8120b56 Overhaul the *nix based BASE path
Try BUILD_DATADIR first (build time setting), then the vanilla
doom3 path.
2018-08-20 01:46:34 +02:00
dhewg
a31bb00e21 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.
2018-08-20 01:46:34 +02:00
dhewg
47672c4592 Add TODO for OSX .dylib's for the bundle 2018-08-20 01:46:34 +02:00
dhewg
e67598eeb5 Introduce CMAKE_INSTALL_PREFIX relative paths
configure style install dirs.
2018-08-20 01:46:34 +02:00
dhewg
c4af9b0ce0 Get the shared library suffix from the build system 2018-08-20 01:46:34 +02:00
dhewg
98791a0ea5 Drop the CPU suffix from libraries on all platforms 2018-08-20 01:46:34 +02:00
dhewg
0025ad6cf7 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.
2018-08-20 01:46:34 +02:00
dhewg
1f17040f0c Unify Sys_*Path() into Sys_GetPath() 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
a97f685132 Use PATH_MAX for MAX_OSPATH on all platforms
The hardcoded 256 doesn't cut it.
2018-08-20 01:46:34 +02:00
dhewg
a385bbeb29 Fixes issues with MacOSX.
- Fixes compiler errors with mismatching types in DoomController.mm
- Adds PPC_INTRINSICS fix to Simd_Altivec.h
2018-08-20 01:46:33 +02:00
dhewg
16657c0ce3 Rename PVS vars to match their type 2018-08-20 01:46:33 +02:00
dhewg
8dfc6df02a s/ReadDeltaLong/ReadDeltaInt/
to match the argument type
2018-08-20 01:46:33 +02:00
dhewg
8cd1580d60 s/WriteDeltaLong/WriteDeltaInt/
to match the return type
2018-08-20 01:46:33 +02:00
dhewg
ae319dbe4a s/ReadDeltaLongCounter/ReadDeltaIntCounter/
to match the return type
2018-08-20 01:46:33 +02:00
dhewg
c971755d98 s/WriteDeltaLongCounter/WriteDeltaIntCounter/
to match the argument type.
2018-08-20 01:46:33 +02:00
dhewg
431415c51c s/ReadLong/ReadInt/ to match the return type 2018-08-20 01:46:33 +02:00
dhewg
814abb55b9 s/WriteLong/WriteInt/ to match the argument type 2018-08-20 01:46:33 +02:00
dhewg
a9ffb336f6 s/BigLong/BigInt/ to match the return type 2018-08-20 01:46:33 +02:00
dhewg
420783b151 s/LittleLong/LittleInt/ to match the return type 2018-08-20 01:46:33 +02:00
Daniel Gibson
a9a6042a04 Remove usage of long type from idlib/
Apart from some minor stuff, this changes the signature of some methods
of Parser and Token classes and of the (unused) Random2 class.
That no problem though, because the calling code uses normal ints
anyway.
2018-08-20 01:46:33 +02:00
Daniel Gibson
ce87a8904c Remove longs from game/ and d3xp/
(Except for handling of longs in TypeInfo and win32-only Maya import stuff).

sizeof(long) == sizeof(int) on x86 and win64,
but not on 64bit (x86_64) linux/unix/osx/.. so they should be avoided.
2018-08-20 01:46:33 +02:00
Daniel Gibson
5c08cb0140 Fix PVS calculations on 64bit systems
Monsters got stuck in same places of d3xp because PVS calculations
returned that they were not in the players PVS.
This only happened on LP64 systems like Unix/Linux amd64 where
sizeof(long) == 8 - it did not happen on Win64 because it's LLP64, i.e.
sizeof(long) == 4 (like on x86 32bit).

Bit fiddling code in Pvs.cpp seemed to assume that sizeof(long) == 4
like on win32.

Fixes #7.
2018-08-20 01:46:33 +02:00
Daniel Gibson
ca4b20eb08 Fix several bugs from iodoom3 bugtracker
rhyskidd@gmail.com found them (with PVS studio IIRC), reported them and posted
patches.
Some of the patches were incorrect so I rewrote them.
2018-08-20 01:46:33 +02:00
Daniel Gibson
d51c05c768 Fix idMatX::IsOrthonormal()
The original implementation was pretty broken (but not used anyway),
it is now fixed and improved a bit (got rid of one inner loop).
This (at least part of the problem) was detected by PVS-Studio,
see http://www.viva64.com/en/b/0120/ Fragment 3
2018-08-20 01:46:33 +02:00
dhewg
5199d8ea65 Add the build target "Profile" suitable for profiling 2018-08-20 01:46:32 +02:00