Commit graph

9883 commits

Author SHA1 Message Date
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
Christoph Oelckers
9ca2819ad1 - added missing validation to S_GetUserFlags functions. 2020-01-12 09:32:30 +01:00
Christoph Oelckers
b57d683938 - added default for nosubdir parameter. 2020-01-12 08:53:11 +01:00