Commit graph

105 commits

Author SHA1 Message Date
Christoph Oelckers
095a5e2c0a - allocate the sprite positioning info on demand only.
For most textures this is never needed and it can easily be put in the memory arena being used for image sources.
2020-04-19 10:57:50 +02:00
Christoph Oelckers
c5e81c54a2 - Moved the raw texture handling into the texture manager as well. 2020-04-19 10:57:50 +02:00
Christoph Oelckers
5352682697 - moved the front layer hack for Hexen's skies to the texture manager. 2020-04-19 10:57:50 +02:00
Christoph Oelckers
da873ca8d1 - moved the handling for paletted replacements into the texture manager.
This is something the texture should not concern itself with.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
18760d6622 - deleted unused function. 2020-04-19 10:57:49 +02:00
Christoph Oelckers
662fa6e667 - removed the conversion helper code and fixed a few places where FMaterial was only used to access the hardware textures in the FTexture class. 2020-04-19 10:57:49 +02:00
Christoph Oelckers
7bdef7fe9a - cleaned the texture manager's method interface from FTexture references. 2020-04-19 10:57:49 +02:00
Christoph Oelckers
f5d5888c22 - thinned out the Texturemanager interface. 2020-04-19 10:57:49 +02:00
Christoph Oelckers
437d4f8af0 - changed storage in texture manager to FGameTexture. 2020-04-19 10:57:48 +02:00
Christoph Oelckers
c605359b0e - animator transitioned. 2020-04-19 10:57:48 +02:00
Christoph Oelckers
83817080bb - more texture cleanup.
It is now in a state where FTexture really needs to be separated from FGameTexture.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
31035a6cea - cleaned out the coordinate code in FMaterial. 2020-04-19 10:57:48 +02:00
Christoph Oelckers
c178313da5 - got rid of the last remaining FMaterial references in the high level renderer. 2020-04-19 10:57:47 +02:00
Christoph Oelckers
4cbd20e822 - transitioned sky and decal code away from FMaterial. 2020-04-19 10:57:47 +02:00
Christoph Oelckers
cca3f878f5 - removed FMaterial references from other high level renderer data like HWFlat and HWSprite. 2020-04-19 10:57:47 +02:00
Christoph Oelckers
1146cf9e08 - use FGameTexture instead of FMaterial for texture tracking in HWWall.
The FMaterial object is only needed when finally binding the texture to the render state.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
0ce0099e29 - moved the sprite positioning info out of FMaterial back into FTexture.
This cleans out half of FMaterial and brings it closer to being a texture binding descriptor, which is all it really should be.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
9099bc8420 - reworking some lower level texture code. 2020-04-19 10:57:46 +02:00
Christoph Oelckers
72835c5462 - transitioned the GLDEFS parser to FGameTexture. 2020-04-19 10:57:46 +02:00
Christoph Oelckers
54f4267597 - use FGameTexture in the model rendering code. 2020-04-19 10:57:46 +02:00
Christoph Oelckers
b9b6a354c7 - changed all texture access in the play code to use FGameTexture and redid Hexen's front sky layer by adding a new texture instead of hacking the existing one. 2020-04-19 10:57:46 +02:00
Christoph Oelckers
9e7094848c - transitioned the 2D drawer to FGameTexture. 2020-04-19 10:57:45 +02:00
Christoph Oelckers
d9928b51a8 - eliminated all cases of calling DrawTexture with an FTexture.
Everything uses FGameTexture now.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
c7db5b932e - switched the entire status bar code to use FGameTexture.
- scale the automap parchment to clean 320x200 dimensions.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
5d8adb90c4 - made 'supportRemap0' an image property so that later the handling for this can be taken out of the actual texture class by just providing a replacement texture for the skies. 2020-04-19 10:57:45 +02:00
Christoph Oelckers
9593cb56ae - decoupled the software renderer entirely from FTexture - it will only look at FSoftwareTexture now, all access to the texture manager has been wrapped. 2020-04-19 10:57:45 +02:00
Christoph Oelckers
73b4fbe861 - FGameTexture conversion in am_map.cpp 2020-04-19 10:57:44 +02:00
Christoph Oelckers
aeba304715 - texture code refactoring to consolidate multiple textures referencing the same backing image. 2020-04-19 10:57:44 +02:00
Christoph Oelckers
dd5de4ce51 - removed test code that forced all textures being warped. 2020-04-19 10:57:43 +02:00
Christoph Oelckers
8381092cce - major shader rework
* handle brightmaps in the main shader instead of keeping separate instances around.
* added detail and glow layers from Raze.
* fixed material setup which could not guarantee that everything was initialized correctly.
* for warped textures, warp all layers. With this brightmaps finally work on warped textures.

Note: Vulkan reports a "device lost" error with this which still needs to be investigated.
2020-04-19 10:57:43 +02:00
Christoph Oelckers
3e02121822 - fixed setup of content ID in CreateTexBuffer. 2020-04-13 14:55:16 +02:00
Christoph Oelckers
e92be97f33 - let FSkybox inherit from FImageTexture to simplify the redirection of the base image for the software renderer. 2020-04-13 14:23:57 +02:00
Christoph Oelckers
9a3b663e04 - fixed text size calculations in the status bar.
To avoid errors, all spacing calculations have been added to FFont::StringWidth which already performs proper escape filtering.
2020-04-13 12:11:14 +02:00
Christoph Oelckers
17df95d69e - fixed startup-time setup of serverinfo CVARs.
Looks I completely forgot this part when refactoring the interface - it must account for the callbacks not doing anything due to the network code not being operational yet.
2020-04-13 11:53:08 +02:00
alexey.lysiuk
d29c6a55eb - fix autoseg registration by moving start/end files back to src directory
Link order was wrong when building via Xcode project because CMake generator sorts files by paths
This made most of classes missing from corresponding segments, and the game crashes right after launch
2020-04-13 10:14:07 +03:00
alexey.lysiuk
9c23c0ac59 - fixed compilation with GCC 5 2020-04-12 11:50:11 +03:00
alexey.lysiuk
2b1ef5f4f2 - common fixes for compilation with GCC and Clang 2020-04-12 11:02:05 +03:00
Christoph Oelckers
07e303f99b - fixed compilation. 2020-04-11 22:23:09 +02:00
Christoph Oelckers
8f8aed5ee3 - moved bitmap.cpp to 'common' and remove the duplicate IceRemap. 2020-04-11 20:23:26 +02:00
Christoph Oelckers
0cb2a1b8e9 - moved gl_load to common. 2020-04-11 20:20:59 +02:00
Christoph Oelckers
1e40b745d5 - added some things from Raze to allow using the same code in both projects. 2020-04-11 20:20:59 +02:00
Christoph Oelckers
5fe22c70b5 - moved the 2D drawer to 'common'. 2020-04-11 20:20:59 +02:00
Christoph Oelckers
ce4c2be3c7 - use the 2d drawer's size where appropriate. 2020-04-11 20:20:58 +02:00
Christoph Oelckers
b18faacab0 - 2D drawer cleanup. 2020-04-11 20:20:58 +02:00
Christoph Oelckers
932f5c64c2 - moved stats.cpp to common. 2020-04-11 20:20:57 +02:00
Christoph Oelckers
3bf7686cfb - moved v_text.cpp to 'common'. 2020-04-11 20:20:56 +02:00
Christoph Oelckers
2e5bc3e962 - moved compiler frontend to 'common'. 2020-04-11 20:20:56 +02:00
Christoph Oelckers
2838f5792c - moved all FString exports from vmthunks to stringformat.cpp. 2020-04-11 20:20:55 +02:00
Christoph Oelckers
a28182fe35 - moved the script compiler's backend to 'common'. 2020-04-11 20:20:55 +02:00
Christoph Oelckers
3454314bb1 - separated the Doom specific parts from the compiler backend into a separate file, these parts now get invoked via callback hooks. 2020-04-11 20:20:55 +02:00