Commit Graph

9735 Commits

Author SHA1 Message Date
Christoph Oelckers 12d4f12da5 - removed the 'experimental' switch for Exhumed.
The game works better than Shadow Warrior so this seems pointless.
2020-01-21 22:08:05 +01:00
Christoph Oelckers 27cc865af7 - null checks in SW. 2020-01-21 22:03:04 +01:00
Christoph Oelckers 493525a58e - consolidation of engine save code.
This had discrepancies between the game modules so now all use the same code to save the common engine state.
2020-01-21 21:51:05 +01:00
Christoph Oelckers acf7f29dbd - moved Exhumed's engine state save code into the common part.
This needs to be save for all games and the discrepancies have already caused problems so engine state saving needs to be unified.
2020-01-21 19:22:38 +01:00
Christoph Oelckers cacbd7d8b6 - reset YAX data before loading a game.
This could cause random lockups when loading a savegame for a game not maintaining the feature. The entire engine state really needs to be handled globally instead of repeating this core 5 times...
2020-01-21 19:14:53 +01:00
Rachael Alexanderson a637ec60c4 - finally - we have a compile on linux! 2020-01-20 05:46:18 -05:00
Rachael Alexanderson bab394b061 Merge remote-tracking branch 'origin/master' into fix-linux-compile 2020-01-20 04:40:28 -05:00
Rachael Alexanderson f28d05753d - almost got it all compiled on linux 2020-01-20 04:09:44 -05:00
Rachael Alexanderson d9563dae73 Merge remote-tracking branch 'origin/master' into fix-linux-compile 2020-01-20 03:00:16 -05:00
Christoph Oelckers e555d15cc7 renamed the swap function in pragmas.h
This conflicts with std::swap on some setups.
2020-01-20 01:32:39 +01:00
Christoph Oelckers ef3ade08d3 - silence debug diagnostics for non-test builds 2020-01-20 00:42:40 +01:00
Christoph Oelckers d7d5da93f6 - properly set up info.plist for macOS 2020-01-20 00:24:25 +01:00
BSzili bd1523ef2d Rednukem: fix building with NETCODE_DISABLE
# Conflicts:
#	source/rr/src/game.cpp
#	source/rr/src/net.h
2020-01-19 23:54:04 +01:00
Christoph Oelckers 6f39b87d5b - actually draw the fullscreen blends. 2020-01-19 23:49:53 +01:00
Christoph Oelckers b066f725d4 - clear the matrix list after rendering the 2D content. 2020-01-19 23:27:59 +01:00
Christoph Oelckers aa1361acbb - make palfadedelta explicitly unsigned 2020-01-19 23:18:38 +01:00
Christoph Oelckers c8fa2443d3 - completely separated view and model matrix.
This way the view matrix will remain constant per scene and an update of the model matrix is only needed for rendering a model or voxel, reducing the total amount of generated matrices to the point where they can be written to a buffer instead of constantly uploading them as uniforms.
2020-01-19 16:07:09 +01:00
Magnus Norddahl 11cbdb9fef Fix some uninitialized variables 2020-01-19 15:52:00 +01:00
Christoph Oelckers b209b1f960 - make sure that the first matrix is always the identity matrix. It was just random luck that it was always put there before.
- let the matrix setters return the previous value for easy restoring without creating yet another matrix.
2020-01-19 14:08:48 +01:00
Christoph Oelckers 57a455d6cb - swapped order of matrix application.
Model rotation must come before view rotation, this just never showed up because EDuke32 doesn't have both non-identity at the same time.
2020-01-19 13:59:45 +01:00
Christoph Oelckers 7a5f60e14d - removed gl_projectionhacks and the SOFTROTMAT code path.
Both were hard coded not to be used.
2020-01-19 13:57:24 +01:00
Christoph Oelckers c4429cf15d - fixed voxel rendering. 2020-01-19 13:50:31 +01:00
Christoph Oelckers 352c099b5a - basics for hardware rendered camera textures. 2020-01-19 08:40:03 +01:00
Jonathan Gray c7ffed4867 Blood: change fallthrough annotations to fix clang build
Remove some fallthrough annotations so clang does not fatally error:

source/blood/src/aiunicult.cpp:1983:13: error: fallthrough annotation does not
      directly precede switch label

source/blood/src/triggers.cpp:1045:33: error: fallthrough annotation does not
      directly precede switch label

# Conflicts:
#	source/blood/src/aiunicult.cpp
#	source/blood/src/triggers.cpp
2020-01-18 22:48:13 +01:00
Christoph Oelckers 454f796b69 - collect all 3D geometry in a list so that it can be rendered later.
With this out of the way the renderer can now be switched to the core profile.
2020-01-18 22:41:08 +01:00
Christoph Oelckers 2bc1708870 - removed the complete crosshair color hackery.
The code needs to be refactored anyway to allow better crosshair control but this also seemed to affect global render state, considering how poorly it was all implemented.
2020-01-18 16:14:31 +01:00
Christoph Oelckers 8cd9775513 - fixed VP8 video player.
Also do the color space conversion on the CPU to avoid the shader hassle, performance wise it is utterly irrelevant here.
2020-01-18 16:14:30 +01:00
Christoph Oelckers 2e06ccfec6 - draw the screen overlays using the vertex buffer. 2020-01-18 16:14:30 +01:00
Christoph Oelckers 1a916c0a76 - use the vertex buffer to render the post processed screen image. 2020-01-18 16:14:30 +01:00
Rachael Alexanderson c21c7a0670 - fix scaling menu options 2020-01-17 08:13:05 -05:00
Christoph Oelckers 298bbb4c97 - removed some leftover pieces of the original savepic code in RR. 2020-01-15 20:52:36 +01:00
Christoph Oelckers a4d8e68b9f - added an engine credits menu page. 2020-01-15 20:39:41 +01:00
Christoph Oelckers c0c18db7cd - dynamically allocate the large networking buffers.
These waste a whopping 800MB of address space, which on 32 bit could be the deciding factor for exhausting available memory.
2020-01-15 18:36:53 +01:00
Christoph Oelckers 4aacd6d958 - display the savepics.
- fixed level name list in Exhumed.
2020-01-14 22:37:23 +01:00
Christoph Oelckers 5739b4b024 - added savepic generation to Exhumed. 2020-01-14 21:48:01 +01:00
Christoph Oelckers 8db6a4331b - added savepic generation for Blood. 2020-01-14 21:20:46 +01:00
Christoph Oelckers e30975581b - enabled savegame pictures in Shadow Warrior.
Unlike the original game this enables mirrors - no idea why they were disabled, some limitation of the software renderer, maybe?
2020-01-14 20:44:20 +01:00
Christoph Oelckers 6ace2f8bf0 - added savepic generation to RR. 2020-01-14 20:12:08 +01:00
Christoph Oelckers 7b6bd34a58 - create the savepic framebuffer without multisampling.
It didn't work and doesn't need it so let's save that piece of video memory.
2020-01-14 19:50:47 +01:00
Magnus Norddahl e923ef5d3a Add missing M_FinishPNG call 2020-01-14 14:22:03 +01:00
Magnus Norddahl a8614c89dd Fix incorrect pitch size when creating savepic 2020-01-13 19:50:25 +01:00
Christoph Oelckers a0d02f2bea - text fixes. 2020-01-13 18:07:34 +01:00
Christoph Oelckers 45a93fc57e - fixed a few bad or missing string labels. 2020-01-13 18:05:43 +01:00
Evan Ramos 3e3477c414 Fix errors in PR
# Conflicts:
#	source/blood/src/osdcmd.cpp
#	source/blood/src/view.cpp
#	source/build/src/mutex.cpp
2020-01-13 18:00:25 +01:00
NoOneBlood 2b36e53706 - Removed event.causedBy for demo playback compatibility
- Fixed kThingArmedRemote in triggers.cpp (OperateSprite())
- Fixed kTrapFlame in triggers.cpp (OperateSprite())

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/player.h
2020-01-13 17:58:27 +01:00
NoOneBlood 4123a9e14e - gModernMap guard instead of VanillaMode in dudeSpawn
- No sound for player when jumping fix
2020-01-13 17:57:13 +01:00
NoOneBlood 6f3ccdc651 - Combination switches fix (and basically all event commands)
- No sound of jumping when player's jump velocity is too low
2020-01-13 17:57:13 +01:00
Christoph Oelckers dc5b8d27f8 - infrastructure for savegame pics.
Savepic generation implemented for Duke 3D, but results in a black image.
2020-01-12 23:16:21 +01:00
Christoph Oelckers 95f917a408 - added the main vertex buffer and some code to maintain it on systems where persistent mapping is not possible.
All games combined there's 11(!!!) scene render blocks, not counting the sub-blocks for ROR and mirrors.
Does it surprise anyone that most of these sub-blocks do not feature all engine capabilities?
2020-01-12 20:28:07 +01:00
Christoph Oelckers 661431df87 - moved bits of my own code to properly copyrighted files. 2020-01-12 14:54:43 +01:00