Christoph Oelckers
4f8f85c634
- backend update from GZDoom.
2021-12-30 09:58:46 +01:00
Christoph Oelckers
9e14b168bb
- addressed more shadowed variables in common code.
2021-12-30 09:57:32 +01:00
Christoph Oelckers
c2baa68160
- fixed camera textures breaking in SW when restarting a level.
...
This was caused by attempting to delete the camera textures when cleaning up the mirror array.
The Build tile manager was not prepared for such a use case and left a broken texture behind.
To allow this to function it now resets the texture replacement type when deleting a tile and to avoid creating new camera textures these will now be stored in a cache and recycled later.
2021-12-02 21:40:43 +01:00
Christoph Oelckers
793aaf242c
- make upscaling of sky textures depend on the single tile size, not the entire composite texture.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
448db9c93d
- enable texture upscaling in Polymost, disable it for the movie player's textures.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
01abe7b2ac
- addressed most unused/uninitialized variable warnings from MSVC.
2021-11-29 00:55:30 +01:00
Christoph Oelckers
f7fdc5af41
- address several warnings reported by GCC 11.
2021-11-29 00:55:29 +01:00
Christoph Oelckers
389f760d45
- address C++20 deprecation warnings with enums in floating point arithmetic.
2021-11-02 23:32:31 +01:00
Christoph Oelckers
6e0fbb2043
- removed templates.h includes.
2021-10-30 10:51:03 +02:00
Mitch Richters
b02a6a3ec9
- Replace MIN()
from templates.h
with version provided in STL.
2021-10-30 10:36:15 +02:00
Mitch Richters
9894729fc2
- Replace MAX()
from templates.h
with version provided in STL.
...
# Conflicts:
# source/common/textures/hw_ihwtexture.cpp
# source/common/utility/templates.h
2021-10-30 10:36:02 +02:00
Christoph Oelckers
57b638f26f
- use std::clamp instead of our homegrown version.
2021-10-30 10:35:00 +02:00
Christoph Oelckers
9071949a46
- backend upate from GZDoom
...
* Vulkan SDK and dependencies updated.
* better interface for buffers in the render backend.
2021-10-30 09:34:38 +02:00
Christoph Oelckers
49e0c461c2
- Backend update from GZDoom.
...
This is mainly bringing the GLES backend up to date.
2021-10-07 22:46:45 +02:00
Christoph Oelckers
a3d9cd9a68
- Backend update from GZDoom - mainly for GLES2 support.
2021-09-18 12:20:28 +02:00
Christoph Oelckers
bad2c2e55f
- backend update from GZDoom
...
* replacement of 'long' in string code.
* palette removal in V_GetColor.
* fixes to DShape2D buffer management.
2021-08-14 10:04:45 +02:00
Christoph Oelckers
ccce75667e
Revert "- Remove CVAR_NOINITCALL
bit from gl_texture_hqresize*
CVARs."
...
This reverts commit e03d532670
.
2021-07-24 09:08:29 +02:00
Mitchell Richters
e03d532670
- Remove CVAR_NOINITCALL
bit from gl_texture_hqresize*
CVARs.
...
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=72466 .
2021-07-24 15:58:05 +10:00
Christoph Oelckers
e5cb1976d3
- disable texture name truncation for textures/ directory.
...
Unlike Doom, a similar limit does not exist here and must not be enforced. Any texture from this folder needs to be usable by its full name without extension to be able to replace named tiles.
2021-07-05 22:39:24 +02:00
Christoph Oelckers
5d67987fe1
- don't attempt to decode animation frames at offsets beyond the end of the current page.
...
Copied from EDuke32.
2021-07-02 20:33:53 +02:00
Christoph Oelckers
8b1757eee2
- got rid of most of the font system's baggage that's no longer needed.
...
Mainly this means that it's no longer necessary to reorder the palette to get working translated glyphs, so the FFontChar1 class and the TranslatedPic member and its invasive handling could all be cleaned out.
All font operations now take place on true color data, with the sole execption of FSpecialFont's 'notranslate' handling.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
372d425e01
- use luminosity translations for single lump fonts and let them use their original palette.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
0bab333f36
- redid font translation so that it doesn't need to crush the font characters' color set to the base palette.
...
Right now it creates a special type of luminance translation that can operate on a true color bitmap.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
4739c71b39
- PNG 16 bit support from GZDoom.
2021-05-21 21:06:11 +02:00
Christoph Oelckers
afb2cd3b82
- fixed NoFullbrightRange.
...
Ever since the texture system switchover this only set a dead bit, it has to explicitly mark the texture as not having a brightmap.
2021-04-20 20:02:08 +02:00
Christoph Oelckers
e098e0ca2e
- added VR mode init code as this is actually functional with the new renderer.
...
Also moved a few things out of gl_texture.cpp as this file is scheduled to go away with Polymost.
2021-04-05 20:12:11 +02:00
Christoph Oelckers
869433ee2e
- fixed invalidation of programmatic textures.
...
This is only relevant for Vulkan because it stores the descriptor sets with the material, not the hardware texture.
2021-04-05 19:18:57 +02:00
Christoph Oelckers
ba5ede65b8
- backend update from GZDoom.
2021-02-26 19:06:10 +01:00
Christoph Oelckers
c96e04e6c9
- backend update from GZDoom.
2021-02-12 14:44:54 +01:00
Christoph Oelckers
3558289d70
- give forward declared enum a type.
2020-11-10 21:44:15 +01:00
Christoph Oelckers
bc0a55de41
- backend update.
2020-10-17 16:01:31 +02:00
Christoph Oelckers
197a5f642a
- properly delete backing images in the texture manager.
...
Although the images themselves are automatically taken down, any memory they allocate is not - and some of the special tile classes do need dynamic storage.
2020-10-15 20:22:41 +02:00
Christoph Oelckers
d22bdf9dc7
- use an alias for the menu bar texture in Blood.
...
Direct tile access has been disabled for now, hopefully this can be buried deep in the engine for all eternity.
2020-10-06 20:05:51 +02:00
Christoph Oelckers
55e7e34707
- added texture aliases so that tiles can given real names in the texture manager.
...
Use this to turn Duke's and RR's tile enums into real names, leaving out RRTILExx - the few that are needed were renamed.
2020-10-06 19:26:22 +02:00
Christoph Oelckers
012bccd916
- indexed rendering fixes
...
backported from GZDoom.
2020-09-28 21:26:21 +02:00
Christoph Oelckers
02afa90202
- another backend update from merging several GZDoom PRs.
2020-09-27 16:16:53 +02:00
Christoph Oelckers
0314cdec55
- texture manager fixes from GZDoom
...
* missing null check in FPngTexture.
* ignore identity translations when creating textures.
2020-09-27 16:12:50 +02:00
Christoph Oelckers
8450369a22
- must reset file pointer before reading the size from a patch texture.
2020-09-26 08:42:40 +02:00
Christoph Oelckers
ccfd20e074
- added some quick rejection checks for Doom patch textures.
...
Since the checker reads all lumps completely into memory to check them, this can take quite a while. Reject everything that can be just by looking at the size fields immediately, without loading the rest.
2020-09-25 19:06:19 +02:00
Christoph Oelckers
b23424485a
- re-implemented VP8 support.
...
Since the decoder cannot handle sound, there's two options:
1: Use the same sounds as the video it replaces.
2: If an identifiable streamable sound with the same base name is found, it will be played along with the video.
Fixes #133
2020-09-05 11:58:19 +02:00
Christoph Oelckers
98c064dcbc
- fixed the missing plasma effect in Exhumed's title screen.
2020-08-21 00:13:05 +02:00
Christoph Oelckers
2d545767ef
- completely clear all texture data when setting a frame size.
...
SMK tries to draw a texture from it before the first frame has been rendered. This ensures that it gets a fully black frame.
Fixes #167 .
2020-08-12 01:32:05 +02:00
Christoph Oelckers
070f04093a
- clear the buffer for the cutscene textures when starting a new cutscene.
...
Otherwise the first frame may display garbage.
2020-08-10 22:16:02 +02:00
Christoph Oelckers
928a16983d
- adapted the MVE player.
...
Video appears to work, but has quite severe artifacting I cannot tell if it's the video or the decoder which causes it.
2020-07-23 22:26:07 +02:00
Christoph Oelckers
be9094cb97
Silenced lots of warnings pointed out by XCode.
2020-07-23 17:02:59 +02:00
Christoph Oelckers
e7da8e4bcf
- fixed red font for use with DrawText.
2020-06-29 13:19:36 +02:00
Christoph Oelckers
69d9a98ead
- Duke end of episode animations ported
2020-06-28 21:38:25 +02:00
Christoph Oelckers
2ddec37098
- added a texture format for single frame ANMs so that they can be handled like normal images.
...
The intermission code is doing weird things with them that isn't really portable.
2020-06-28 14:41:44 +02:00
Christoph Oelckers
67fa7f8275
- work on Duke intro sequence.
...
Now without any Build drawing code, it goes directly to DrawTexture now. :)
2020-06-28 00:32:28 +02:00
Christoph Oelckers
b753ea5db7
- preparations for passing palette lookup textures through the low level texture code.
2020-06-17 12:26:01 +02:00
Christoph Oelckers
946da7d622
- moved the textures used for the animations into the texture manager.
...
This is to allow giving them a texture ID so that they can be used from ZScript which has no access to naked textures.
This also consolidates AnimTexture and VpxTexture.
2020-06-14 20:27:13 +02:00
Christoph Oelckers
d4cdb31464
- backend update to make the ZScript compiler work.
2020-06-14 18:58:30 +02:00
Christoph Oelckers
22aad4999c
- use the engine backend to render the scene
2020-06-11 22:26:46 +02:00
Christoph Oelckers
a9141af545
- backend update.
2020-06-11 09:15:44 +02:00
Christoph Oelckers
d7225c1965
- backend update from GZDoom
2020-06-07 15:02:54 +02:00
Christoph Oelckers
b15cc31a38
- transitioned matrix setup to use the backend's uniform buffer implementation.
2020-06-04 20:14:48 +02:00
Christoph Oelckers
783dff41b6
- fixed clamp mode setup.
2020-05-31 23:08:56 +02:00
Christoph Oelckers
c26b6cdf59
- backend sync with GZDoom.
2020-05-31 21:25:52 +02:00
Christoph Oelckers
bd0c8acd46
- replaced detail matrix with a two element scale vector because that is all that is needed.
2020-05-31 12:23:35 +02:00
Christoph Oelckers
9ec66bafa1
- backend update.
...
# Conflicts:
# source/common/textures/animtexture.cpp
# Conflicts:
# source/common/2d/v_2ddrawer.cpp
# source/common/textures/multipatchtexturebuilder.cpp
2020-05-31 10:57:41 +02:00
Christoph Oelckers
edb2cb31ee
- backend update with GZDoom model code.
2020-05-31 08:55:00 +02:00
Christoph Oelckers
5728241c1c
- updated backend from GZDoom.
2020-05-30 23:10:17 +02:00
Christoph Oelckers
423f758314
- texture code restructuring.
2020-05-30 21:42:35 +02:00
Christoph Oelckers
cca4fc609f
- texture code cleanup, mainly cppying layer data into the textures at startup to be able to use a real material system.
2020-05-29 23:33:26 +02:00
Christoph Oelckers
594ec6626c
- transitioned to using GZDoom's texture creation code.
...
Also added support for creating indexed textures directly into CreateTexBuffer, where this functionality can be shared.
As an added plus, brightmaps are working again, this time with less hackery.
2020-05-29 19:21:18 +02:00
Christoph Oelckers
72889540a5
- use GZDoom's gl_samplers.cpp
2020-05-28 23:48:50 +02:00
Christoph Oelckers
d52600663d
- backend sync with GZDoom to pull in a few bugfixes and formatting corrections.
2020-05-26 23:12:04 +02:00
Christoph Oelckers
7109ce4e30
- made some changes to the font and texture system to allow late loading of the palette.
...
The base palette can be set via .def files so that the engine has no access to it until the entire game state is set up.
This means that font translations and PNG palette remap tables cannot be built when the owning objects are created.
For PNGs this has the added advantage that they only get done when really required and not unconditionally - most of the time the remap table isn't even needed here.
Thid fixes the slider graphics in the option menus.
# Conflicts:
# source/core/gamecontrol.cpp
# Conflicts:
# source/core/gamecontrol.cpp
2020-05-26 21:43:32 +02:00
Christoph Oelckers
c4017de12f
- updated to GZDoom's new texture management system.
2020-05-25 23:59:07 +02:00
Christoph Oelckers
758e4ad7cb
- stripped down the palette manager in the GL backend and let it use the data that's managed elsewhere.
...
This class is only needed to manage the palette textures used by the indexed render mode, all the rest is available globally.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
6bd4f77c5b
- fix compilation.
2020-05-25 00:31:55 +02:00
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
a70b7fa698
- use the texture manager to handle texture data.
2020-05-24 23:26:47 +02:00
Christoph Oelckers
6bffdf80a1
- finally managed to merge in the original texture system commit.
...
Game compiles and runs but transparency doesn't work yet.
# Conflicts:
# source/CMakeLists.txt
# source/core/menu/menu.cpp
# source/core/textures/buildtiles.cpp
2020-05-24 22:53:14 +02:00
Christoph Oelckers
0179029ed1
- use image sources, not textures to manage Build tiles.
...
The font manager and texture compositor need this - they cannot work off non-image-backed textures.
2020-05-24 22:51:26 +02:00
Christoph Oelckers
272d85663a
- moving files...
2020-05-24 20:39:40 +02:00
Christoph Oelckers
7a84887fc4
- transitioned FTexture.
...
Mostly working. Note: Brightmaps must be per-translation!
2020-05-24 19:12:22 +02:00
Christoph Oelckers
83e2a342d2
- let the fonts use image sources, not textures as their base class for glyphs.
2020-05-24 16:32:52 +02:00
Christoph Oelckers
be8813f962
- hooked up a few things and re-enabled some code depending on the texture manager.
2020-05-24 16:19:44 +02:00
Christoph Oelckers
e985db3d08
- added GZDoom's texture manager.
...
It doesn't do anything yet, but it can now be used to manage textures.
2020-05-24 16:11:10 +02:00
Christoph Oelckers
da26d1cec4
- more trivial adjustments.
2020-05-24 00:38:10 +02:00
Christoph Oelckers
1954ac0374
- added the other image formats from GZDoom.
2020-05-24 00:15:38 +02:00
Christoph Oelckers
50ab68b53b
- moved filesa to common
2020-05-23 23:53:38 +02:00
Christoph Oelckers
fda4293013
- draw the movie franes outside of the tile system to reduce the palette maintenance.
...
The movie code has always been the part causing the most issues because it alters the palettes - the rest treats them as static data.
2020-04-13 23:58:45 +02:00
Christoph Oelckers
ac07af7028
- m_png.cpp is common.
2020-04-12 08:30:42 +02:00
Christoph Oelckers
2c5d081799
- added the special colormaps for the texture compositor.
2020-04-12 08:30:42 +02:00
Christoph Oelckers
8e87674d4c
- backend code matching with GZDoom
2020-04-12 08:30:40 +02:00
Christoph Oelckers
e2f5e8fe34
- renamed 'common' to 'core'.
...
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00
Christoph Oelckers
621a9338e5
- render camera textures with the hardware renderer.
...
This removes the last active use case for the software renderer and allows rendering the camera views at a higher resolution.
For Shadow Warrior this necessitated a split of JS_DrawMirrors, because it processed cameras and mirrors in the same loop which cannot be done with the hardware renderer.
2020-03-29 14:01:46 +02:00
Christoph Oelckers
c34d9da783
- properly define the BasePalette wrapper.
2020-02-02 07:58:05 +01:00
Christoph Oelckers
0e1eeea037
- use the game palette directly for palette lookups.
...
The setup here is far too messy for having a copy in a better format - it can be changed in some non-obvious places.
2020-02-01 23:05:43 +01:00
Christoph Oelckers
eac1007c56
- automap color fix.
2020-01-30 22:05:18 +01:00
Christoph Oelckers
1f5f7c63fe
- rewrite of tileCopySection
2020-01-28 12:42:17 +01:00
Christoph Oelckers
352c099b5a
- basics for hardware rendered camera textures.
2020-01-19 08:40:03 +01:00
Christoph Oelckers
4aacd6d958
- display the savepics.
...
- fixed level name list in Exhumed.
2020-01-14 22:37:23 +01:00
Christoph Oelckers
fb985d2503
- more macOS compilation fixes
...
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers
134122335b
- first attempt to compile on a Mac
...
This could have gone better, there's far too many warnings here
2020-01-06 02:41:47 +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
6b431cec2c
- fixed: True color texture replacements were set up incorrectly.
...
They incorrectly set themselves up as their own glow and detail textures.
These layers also weren't disabled for the next texture.
2019-12-30 20:44:37 +01:00
Christoph Oelckers
f1891c7750
- fixed compilation.
2019-12-29 22:47:40 +01:00