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
Christoph Oelckers
a021b96119
- added the needed parts of GZDoom's render backend to have the postprocessor working.
...
Not hooked up yet.
2019-12-28 18:20:47 +01:00
Christoph Oelckers
1a8f11e01d
Merge branch 'master' into powerslave
...
# Conflicts:
# source/build/src/sdlayer.cpp
# source/common/menu/menu.cpp
# source/sw/src/config.cpp
# source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers
e180d9afd3
Merge commit '40a533402e443a0de1673543642c892ab9c731fd' into powerslave
...
# Conflicts:
# source/audiolib/include/fx_man.h
# source/audiolib/include/multivoc.h
# source/audiolib/src/_multivc.h
# source/audiolib/src/fx_man.cpp
# source/audiolib/src/multivoc.cpp
2019-12-25 19:24:55 +01:00
Christoph Oelckers
43033e830a
- Blood now also starts the first level without leaks.
...
I had to refactor the LoadSave data to allow automatic takedown, the linked list was not the most convenient thing - an array is better.
2019-12-24 19:47:34 +01:00
Christoph Oelckers
a7075bc1b0
- SW sound WIP
...
* removed old sound loading code, which was the last bit to use cacheAllocateBlock which is also gone now.
* cleanup of player sound code. All game side tracking of the sound resources has been removed.
does not compile yet.
2019-12-17 23:25:07 +01:00
Christoph Oelckers
052ed5fff7
Merge branch 'master' into powerslave
2019-12-13 20:43:23 +01:00
Christoph Oelckers
86dc909559
- added detection logic for zipped versions of the Cryptic Passage add-on for Blood and the Route66 add-on for Redneck Rampage.
...
- added command line options to load the original file dump of both mods in the game directory.
- both also require loading additional non-standard-named .art files
2019-12-11 23:41:05 +01:00
Christoph Oelckers
4f04fe66de
- transitioned RR to the new mapinfo
2019-12-10 00:31:55 +01:00
Christoph Oelckers
0342b96335
- cleaned out the remaining wrappers from cache1d.h and use the file system directly instead.
2019-12-07 10:49:23 +01:00
Christoph Oelckers
749eda32c5
- moved kopenfilereader into the FileSystem class.
2019-12-07 10:14:51 +01:00
Christoph Oelckers
8d11990494
- more work on making Exhumed compile.
...
Almost done, down to 20 compile errors.
2019-11-24 13:59:36 +01:00
Christoph Oelckers
5fc81d1bd4
- made brightmaps operational.
...
The logic is not yet optimal but at least it works.
2019-11-10 19:42:26 +01:00