Commit Graph

10592 Commits

Author SHA1 Message Date
Christoph Oelckers 423f758314 - texture code restructuring. 2020-05-30 21:42:35 +02:00
Christoph Oelckers cdcb25bc1f - use high level textures to render voxels. 2020-05-30 00:30:56 +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 2c94b2bb6d - split texture selection from binding. 2020-05-29 21:53:28 +02:00
Christoph Oelckers 1bc744b77b - moved hictinting data into the lookup tables. 2020-05-29 20:15:42 +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 66809ca9f4 - fixed indexed display of 2D content. 2020-05-29 16:46:36 +02:00
Christoph Oelckers 87a87c155d - moved to GZDoom's gl_hwtexture.cpp. 2020-05-29 01:03:01 +02:00
Christoph Oelckers 381e53017d - some hackery to make the camera textures in DN3D work again.
They depend on a deleted texture not writing to the depth buffer, but other parts in the engine like ROR surfaces depend on them writing a proper depth buffer value, so for now there is a global variable that allows to exclude a single tile from ever getting rendered.
2020-05-29 00:44:13 +02:00
Christoph Oelckers 72889540a5 - use GZDoom's gl_samplers.cpp 2020-05-28 23:48:50 +02:00
Christoph Oelckers 362be65060 - removed FHardwareTexture's mSampler member.
This was a mostly unused relic of early development, the few places using it were static sampler settings.
2020-05-28 21:45:33 +02:00
Christoph Oelckers f6ca5fa650 - fixed writable tiles. 2020-05-28 18:42:26 +02:00
Christoph Oelckers 5e93b8f3e7 - fixed transparent color. 2020-05-28 08:31:08 +02:00
Christoph Oelckers a3e6829817 - fixed Exhumed menu by adding a proper layout mode to the drawer instead of hacking the broken tile offsets. 2020-05-27 23:30:36 +02:00
Christoph Oelckers 4ebe67ba3d - never render the null texture.
Blood's ROR effects won't work if this is not done.
2020-05-27 22:54:39 +02:00
Christoph Oelckers 193b940eef - palette code cleanup. 2020-05-27 22:19:02 +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 143e338d9f - fixed bad console setup. 2020-05-26 21:45:33 +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 b233cc2ea5 - cleaned out some unused code. 2020-05-26 00:10:44 +02:00
Christoph Oelckers e0b2497a56 - backend update. 2020-05-26 00:10:21 +02:00
Christoph Oelckers ebe936f03f - moved platform backend code to 'common'. 2020-05-26 00:09:27 +02:00
Christoph Oelckers 29db3febb8 - updated the platform code to be mostly identical with GZDoom 2020-05-26 00:08:26 +02:00
Christoph Oelckers c4017de12f - updated to GZDoom's new texture management system. 2020-05-25 23:59:07 +02:00
Christoph Oelckers 7a1fda2cc2 - use the 2D drawer's coordinates in the console. 2020-05-25 17:13:26 +02:00
Christoph Oelckers 55a3c62b59 - use GZDoom's 2D drawer.
Console and menu font colors are not ok yet, aside from that it works.
2020-05-25 17:11:32 +02:00
Christoph Oelckers 2f672da7ba - the basics for creating font objects for the in-game bitmap fonts.
Definitions were added to RedNukem frontend for testing, not used yet.
2020-05-25 17:01:56 +02:00
Christoph Oelckers 7c3cac5721 - buildtiles.h cleaned of merge errors. 2020-05-25 16:53:35 +02:00
Christoph Oelckers 1d065085d4 - fixed some palette issues 2020-05-25 00:46:46 +02:00
Christoph Oelckers 94cb36ae53 - removed helper #ifdefs. 2020-05-25 00:33:25 +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 4178d48fb6 - re-enabled GPalette and disabled brightmaps.
In order to finish this I need the switchover, but brightmaps need an update of the texture code which requires merging a few more WIP changes before the code can be fixed.
2020-05-25 00:31:55 +02:00
Christoph Oelckers 6bd4f77c5b - fix compilation. 2020-05-25 00:31:55 +02:00
Christoph Oelckers 72c323cf32 - disabled switch to GPalette because it's not working right yet. 2020-05-25 00:05:26 +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 7b50e2bd8a - initialize the texture manager. 2020-05-24 23:13:08 +02:00
Christoph Oelckers 7225dbd6a4 - disabled the 0<->255 color swap because no support code to handle this exists yet. 2020-05-24 23:08:45 +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 a223535f86 - header cleanup in gl_interface.cpp
# Conflicts:
#	source/common/rendering/gl_load/gl_interface.cpp
2020-05-24 22:38:22 +02:00
Christoph Oelckers 53891004a0 - fixed compilation 2020-05-24 22:37:50 +02:00
Christoph Oelckers bfd11f9cca - give tiles a name
# Conflicts:
#	source/core/textures/buildtiles.cpp
2020-05-24 22:33:52 +02:00
Christoph Oelckers e500db97b1 - v_text updated and moved to 'common'.
# Conflicts:
#	source/CMakeLists.txt
2020-05-24 22:32:05 +02:00
Christoph Oelckers 272d85663a - moving files... 2020-05-24 20:39:40 +02:00
Christoph Oelckers 9bb1e43c9f - picanmbackup must be initialized. 2020-05-24 20:30:02 +02:00
Christoph Oelckers 6007d5dc8f - fixed typo in offset setter. 2020-05-24 20:11:17 +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 71ab8c0b10 - fixed compilation. 2020-05-24 16:56:16 +02:00
Christoph Oelckers 2e8566c6eb - console code fixes from GZDoom. 2020-05-24 16:47:18 +02:00