Commit graph

27 commits

Author SHA1 Message Date
Christoph Oelckers
524df20d26 - renamed most local picnum variables in shaded code to reduce search noise. 2023-04-23 17:33:35 +02:00
Christoph Oelckers
20edd800f9 - big texture system refactor.
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Christoph Oelckers
3874cf365c - use TEXMAN_ForceLookup where it was missing. 2022-12-11 19:45:38 +01:00
Christoph Oelckers
94b91f6ec3 - build.h cleanup
* moved krand and krandf into the games/duke folder because no other game uses them
* moved CVARS to gamefuncs.h.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
9e14b168bb - addressed more shadowed variables in common code. 2021-12-30 09:57:32 +01:00
Christoph Oelckers
01abe7b2ac - addressed most unused/uninitialized variable warnings from MSVC. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
dfb18ef9a9 - Duke/RR: Call Bowling lane reset code only when playing RR.
This may alter some tile references which will cause problems with hires replacements in Duke .
2021-07-25 12:43:03 +02:00
Mitchell Richters
d77e143ee8 - allow palette emulation for indexed hightiles. 2021-07-17 07:40:13 +10:00
Christoph Oelckers
3e76f71f02 - support for indexed hightiles. 2021-07-17 07:40:05 +10:00
Christoph Oelckers
e3737d3330 - fixed texture lookup for hightile lookup.
Not all commands had the proper flags to also look in the root folder.
2021-07-13 08:38:24 +02:00
Christoph Oelckers
f0d2aef9d9 - fixed hires replacements for colorized font characters. 2021-06-01 11:29:39 +02:00
Christoph Oelckers
454816299e - reorganized loading of textures.
Due to dependencies on initializing some data in app_init it was not possible to cleanly set up the fonts.
This adds a game-side function for loading the entire palettes before starting with the texture data and another one for loading game-side texture data.
This now allows fully setting up the palettes before starting with the textures and to fully set up the textures before reading the .def files.

All this is needed because to properly initialize, the fonts need to be able to access the fully initialized texture state, including replacements and hires substitutions from the .def files.
2021-06-01 11:05:26 +02:00
Christoph Oelckers
af781e0422 - moved all font setup out of the C++ code.
All internal fonts now get defined through FONTDEFS.
Also fixing a few offsets.
2021-05-31 21:20:31 +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
cb2bc7967a - fixed the remaining warnings. 2021-05-12 21:50:01 +02:00
Christoph Oelckers
4d29cd2df2 - I shouldn't have used WT's skies as reference - they got front and back faces swapped. 2021-04-08 13:54:58 +02:00
Christoph Oelckers
38ecfc8fa5 - added handling for cubemapped skyboxes. 2021-04-08 12:47:31 +02:00
Christoph Oelckers
d28d5a5e1f - use real fog, even in palette emulation mode.
Using the palette to apply fog is just far too broken and cannot be kept in check with all the hacks the Build engine allows.
This only works if all elements on screen use the identity translation lookup which is basically never the case.
Real fog, on the other hand, can easily be applied to everything.
2021-02-27 13:30:52 +01:00
Christoph Oelckers
8ffda1c9d1 - Duke: Calculate the true font height of the numbers for alignment in the Statusbar.
The original tiles are all 15 pixels tall, but depending on the games can vary in their true height, so use CheckRealHeight on them to get their true dimensions.
Fixes #250
2021-02-01 00:09:22 +01:00
Christoph Oelckers
7b72fccfa2 - fixed hires replacement code not to destroy the intended translation in case there is no replacement. 2021-01-29 13:08:26 +01:00
Christoph Oelckers
52ba0461bc - fixed hires lookup for tiles using special palettes.
In these cases the palette needs to be ignored and the base version picked. The proper handling for this case was undefined, working in some cases and not in others.
Fixes #247
2021-01-29 11:48:32 +01:00
Christoph Oelckers
483e0b6574 - fixed voxel rendering in palette emulation mode.
The recent changes for replacing fonts with hires versions made the paletted handling kick in, although the voxel textures are not suitable for that.
Fixes #178
2020-11-12 19:26:16 +01:00
Christoph Oelckers
2ee18b3a11 - fixed voxel rendering. 2020-11-11 20:31:27 +01:00
Christoph Oelckers
85edf38eba - do not grayscale all hires tinting. 2020-11-11 07:57:25 +01:00
Christoph Oelckers
e2b6ebec91 - partially fixed colorization for hires replacements. 2020-11-10 23:59:04 +01:00
Christoph Oelckers
96fbfdcf86 - made hires replacements work for untranslated fonts. 2020-11-10 21:34:49 +01:00
Christoph Oelckers
873f4d7c0c - link hires replacements to textures instead of tile numbers.
This is needed to connect them to fonts as well because its glyphs have no tile index.
2020-11-10 20:12:46 +01:00