Christoph Oelckers
531c68edfe
- use GZDoom's font code to fix the crash issues and moved around some files in the PK3.
...
This pulls in a lot of Doom specific font setup, this can be sorted out later as it won't get into the way.
# Conflicts:
# source/CMakeLists.txt
# Conflicts:
# source/glbackend/hw_draw2d.cpp
# Conflicts:
# source/CMakeLists.txt
# Conflicts:
# source/glbackend/gl_texture.cpp
# Conflicts:
# source/CMakeLists.txt
# Conflicts:
# source/build/src/palette.cpp
# source/core/gamecontrol.cpp
2020-05-24 23:28:44 +02:00
Christoph Oelckers
db4850a028
- added a reverse tile map so that the tile manager can retrieve special info even when a tile texture is passed by object to the render code and not by index.
2020-05-24 10:30:09 +02:00
Christoph Oelckers
f929419a0a
- refactoring of the lookup tables.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
b971bc2717
- avoid using global palette settings when drawing 2D content with a custom palette.
...
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00
Christoph Oelckers
ab3811bac0
- fixed: The 2D drawer must apply the render state before it finishes.
...
Otherwise the global state settings will not be reset.
2020-01-31 22:07:51 +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
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
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
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
4aacd6d958
- display the savepics.
...
- fixed level name list in Exhumed.
2020-01-14 22:37:23 +01:00
Christoph Oelckers
6c6874cb0e
- fixed scissoring with out of range coordinates.
...
Blood's status bar sets such a bogus clipping rectangle.
2020-01-05 10:21:34 +01:00
Christoph Oelckers
d4b32c535a
- moved matrices to render state.
2020-01-03 23:38:50 +01:00
Christoph Oelckers
cfc0ba48cb
- moved render style handling to the render state and simplified its storage to use FRenderStyle instead of its components.
2020-01-03 10:48:22 +01:00
Christoph Oelckers
afb1d7b885
- changed a few licenses of my own code to something more permissive.
2020-01-02 19:38:47 +01:00
Christoph Oelckers
1890df98f9
- process lines through the 2D drawer.
2019-12-31 19:02:55 +01:00
Christoph Oelckers
964e303dd7
- draw the textures on the automap with the 2D drawer.
2019-12-31 15:05:08 +01:00
Christoph Oelckers
ad24a1ce31
- place weapon sprites in a separate render list.
...
They need to be drawn in a different pass than the 2D overlay HUD so the backend must have them separately.
2019-12-30 20:16:51 +01:00
Christoph Oelckers
5830e72ab0
- fixed some rotatesprite issues:
...
* scissor was not applied
* texture coordinates were fetched from the wrong texture, courtesy of using global variables.
2019-12-30 19:37:23 +01:00
Christoph Oelckers
6459f4e532
- refactored rotatesprite to really use the 2D drawer.
...
Mostly working, except clipping and weapon sprites.
2019-12-30 19:37:23 +01:00
Christoph Oelckers
68a3a60d0b
- Exhumed menu tweaks - draw a background and caption for the option menus the game originally did not have.
...
- fixed a crash in the 2D drawer when two consecutively allocated vertex buffers had the same address. Strangely this only occured with Exhumed but not the other games
- fixed Exhumed crashing with sound disabled.
2019-12-26 17:42:45 +01:00
Christoph Oelckers
b3b5ac440a
- fixed Blood fullscreen tinting.
...
The lookup table for blend equations was missing one entry at the start. No idea why this became apparent only now.
2019-11-24 19:07:23 +01:00
Christoph Oelckers
ceb07280cf
- more work on the menu.
...
Duke Nukem's menu title is getting rendered.
2019-11-22 22:52:11 +01:00
Christoph Oelckers
2740913c60
- added a redirection hack for rotatesprite so that it can be transitionally used in the 2D drawer.
2019-11-21 19:30:27 +01:00
Christoph Oelckers
21ac5e87b5
- added blend table translucency estimation instead of using a lame default.
...
- draw fullscreen blends below the console.
- moved all mouse event processing out of the SDL backend to D_PostEvent.
- removed all remaining code for dealing with mouse buttons directly.
2019-11-10 15:15:14 +01:00
Christoph Oelckers
87acd7fef6
- fixed blend mode for the 2D drawer.
2019-11-10 12:12:15 +01:00
Christoph Oelckers
55018aae7e
- fixed mouse scaling
2019-11-10 11:59:22 +01:00
Christoph Oelckers
cae710bd59
- fixed alpha threshold.
...
Not only is this a deprecated feature - it also does not work right when complex lighting is at play, it must be done in the shader to get proper results.
2019-11-10 10:01:31 +01:00
Christoph Oelckers
b6a3a60251
- console output is functional.
2019-11-06 23:40:10 +01:00
Christoph Oelckers
de829128ea
- hooked up the 2D drawer
...
compiles but not tested yet.
2019-11-05 23:35:38 +01:00