Christoph Oelckers
ae09ca7a48
- moved EColorManipulation into the backend.
2021-03-13 12:21:07 +01:00
Chernoskill
bb18bbaff4
Update models.cpp
2021-03-06 11:28:13 +01:00
Chernoskill
fa2058004b
The two TArrays of type FTextureID skinIDs and surfaceskinIDs no longer have any null elements. These elements will have a textureid (FTextureID.texnum) of 0.
...
Re-worded error messages which were unprecise or unfitting before (model index below 0 was not acknowledged at all, or grouped together with a "too many models" message).
modelIDs are given a default value of -1.
Important: A MODELDEF's FrameIndex lines can no longer refer to model indices that are beyond the number of models of that MODELDEF entry. There is in fact a check to avoid going beyond the number of an actor's models which would abort program operation at startup, but it never caught any such occurances.
surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]
Used TArray.Alloc to make TArrays have the correct size depending on the number of models.
Also removed MAX_MODELS_PER_FRAME.
Edited skinSurfaceIDs access for one-dimensional TArray
Added MD3_MODELS_MIN
To ensure compatibility with mods, all model-related TArrays (four in total) have a minimum size of 4, defined by MD3_MODELS_MIN.
2021-02-26 22:22:33 +01:00
alexey.lysiuk
6d47d79e22
- removed useless x86.h #include's
2021-02-06 15:01:08 +02:00
Nash Muhandes
7bea14e6b2
- Add A_OverlayTranslation to set PSprite translations ( #1202 )
...
- Added PSPF_PLAYERTRANSLATED support to the software renderer
2020-10-11 17:14:06 -04:00
Player701
ec3cd68c1f
Fixed extra player translations not working in Heretic with predefined color sets
2020-09-22 18:34:06 +02:00
Player701
58f56bbea6
Fixed: extra player translation tables were not fully initialized.
2020-09-22 13:59:33 +02:00
Christoph Oelckers
b06af634e2
- added a flash component to the colormap shader.
...
Its main purpose is for RR's lightning flash in Raze but this looks very useful for manipulating fullscreen colormaps. Currently not exposed, though.
2020-06-07 09:16:56 +02:00
Christoph Oelckers
720853cff8
- made some changes so that material definitions can properly check automatic layers when determining their material type.
...
Most importantly this means that any texture with a custom material definition needs to load its automatic layers before applying the definition.
2020-06-03 21:16:36 +02:00
Christoph Oelckers
fa54afbd08
- addressed a problem with materials depending on automatically added textures.
...
This isn't a fix, it just removes a sanity check that really shouldn't be, but thanks of an underspecification of the material definition it was never possible to do this case properly.
2020-06-03 00:16:25 +02:00
Christoph Oelckers
f118cd78bf
- fixed missing custom shader setup in cases where a shader got used more than once.
2020-06-02 20:20:18 +02:00
Christoph Oelckers
ea0da8533c
- added missing range check to section code.
...
Fixes asserts on some maps in Kama Sutra.
2020-05-25 19:20:51 +02:00
Christoph Oelckers
e3fdf2194e
- moved a few leftover utility classes to 'common'.
2020-04-29 17:51:04 +02:00
Christoph Oelckers
3ee1aa76c3
- moved model code to 'common'.
2020-04-27 20:50:46 +02:00
Christoph Oelckers
d434ce32c8
- split voxels.cpp into a backend and a game dependent part.
2020-04-27 19:46:27 +02:00
Christoph Oelckers
d6dca40cb7
- separated models.cpp as well into engine and game parts.
2020-04-27 01:29:25 +02:00
Christoph Oelckers
46d263b5a8
- header separation of model code.
2020-04-27 01:16:17 +02:00
Christoph Oelckers
8ea0a0c5f8
- took the game dependent model render functions out of the FModelRenderer class.
...
This makes FModelRenderer game independent - the 3 functions in question may just be global functions instead.
2020-04-27 00:25:53 +02:00
Christoph Oelckers
67a50d084a
- started cleanup of model code.
...
* refactored FBoundingBox so that the game dependent members are global functions now.
* changed some methods of the model renderer to take a render style parameter instead of a full actor.
2020-04-27 00:03:23 +02:00
Christoph Oelckers
5611fe0f41
- cleaned up the dependencies in the model rendering code and separated it into game-independent and game-dependent parts.
2020-04-26 13:19:57 +02:00
Christoph Oelckers
61c94c25ed
- more hw_cvars cleanup.
...
Copied several range checks from Raze, moved vid_gamma to hw_cvars.cpp and removed some old and no longer necessary gamma setup code.
2020-04-26 10:58:44 +02:00
Christoph Oelckers
686aa9779d
- moved VR code and IntRect to 'common'
2020-04-26 10:26:29 +02:00
Christoph Oelckers
b6cc31eb0d
- moved around a few more files.
2020-04-25 22:17:41 +02:00
Christoph Oelckers
cedc95c2a5
- split out FGameTexture into its own files.
2020-04-19 10:57:56 +02:00
Christoph Oelckers
718949f74d
- moved the texture name to FGameTexture.
2020-04-19 10:57:53 +02:00
Christoph Oelckers
70ec20c137
- optimization of texture scaling checks.
...
The texture dimension checks can be performed up front when the texture is inserted into the texture manager.
2020-04-19 10:57:51 +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
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
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
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
8f8aed5ee3
- moved bitmap.cpp to 'common' and remove the duplicate IceRemap.
2020-04-11 20:23:26 +02:00
Christoph Oelckers
def123823b
- cleanup of 2D code.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
b18faacab0
- 2D drawer cleanup.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
7b292cca57
- split the serializer in two to keep the Doom specific parts out of the main file.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
f74efcf721
- split the TObjPtr serializers into a separate file to avoid polluting everything that needs to use the serializer.
...
To use these it is necessary to include dobject.h and all its dependencies, so this should not be done unless necessary.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
32300f7d26
- use translation slot 0 for reserved content, like font translations.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
d586ffa79c
- const-ified the palette pointers in the texture creation code.
...
- fixed includes.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
580e463498
- moved texture code to 'common'.
2020-04-11 20:20:38 +02:00
Christoph Oelckers
3e285d2261
- moved renderstyle and colortables code to 'common'.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
f8e9cb8fbc
- major dependency reduction of the texture system.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
ab77416ddc
- set transparent color 0 in the proper place.
2020-04-11 20:20:36 +02:00
Christoph Oelckers
1ed170d955
- moved some data needed by the texture system into palettecontainer.cpp.
2020-04-11 20:20:36 +02:00
Christoph Oelckers
7d192decc7
- some cleanup of the texture code
...
* removed unneeded includes
* moved global brightmap to GPalette
* took Build tile init code out of the FTextureManager class, because this code is not compatible with how real Build games need to go about it, making the texture manager not shareable.
* removed dependency on higher level info from the Image class.
2020-04-11 20:20:35 +02:00
Christoph Oelckers
56f2b2ac56
- reduce backend's dependency on game state by using callbacks.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
721b857e5e
- minor FTexture cleanup.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
b4e9c3f20d
- missed two things that need to be 'common'.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
ac610d87e5
- merged FPalette and PaletteContainer.
2020-04-11 20:19:53 +02:00