Commit graph

492 commits

Author SHA1 Message Date
Rachael Alexanderson
43a419b318 - lock cvar shader uniforms behind a command line parameter for now 2022-04-16 12:12:40 -04:00
nashmuhandes
1785788bdc - Added 'ScaleWeaponFOV' flag to MODELDEF. Affects weapon models only; will scale the model along with the user's FOV to reduce distortion.
- Additionally, a 'cl_scaleweaponfov' CVar has been added to allow users to further fine-tune the weapon model scale with higher FOVs
2022-03-08 07:43:39 +01:00
Christoph Oelckers
e6184ccb96 - silence some warnings. 2022-02-14 20:05:42 +01:00
Rachael Alexanderson
add4ff12ac - virtualize player landing on thing sound 2022-02-14 08:07:10 +01:00
Rachael Alexanderson
084c4f84bd - another fix 2022-02-09 07:20:34 -05:00
Rachael Alexanderson
1b9148a443 - fix a few glaring issues with cvar uniforms 2022-02-09 07:05:21 -05:00
Rachael Alexanderson
eae2704a9b - allow floats for uniform cvar defaults 2022-02-06 10:33:35 -05:00
Rachael Alexanderson
751f859c7a - fix compile on clang 2022-02-01 12:50:51 -05:00
Rachael Alexanderson
e7e5bd99fc - fix compiling on Linux/et-al 2022-02-01 12:32:44 -05:00
Rachael Alexanderson
267e714bf1 - implement direct cvar linking to custom shader uniforms 2022-02-01 11:42:55 -05:00
nashmuhandes
9b853dd275 - Remove ALightProbe from the engine (light probes are now stored inside a map's LIGHTMAP lump)
- Recognize the new ZDRayInfo UDMF keywords
2021-11-11 19:21:45 +08:00
Magnus Norddahl
5dec391c8c Merge remote-tracking branch 'gzdoom/master' into lightmaps2 2021-11-04 23:59:00 +01:00
Christoph Oelckers
77d74a11d1 - removed most templates.h includes. 2021-10-30 10:49:12 +02:00
Christoph Oelckers
07a181090b - missed some MAX's. 2021-10-30 10:45:58 +02:00
Christoph Oelckers
1d0aed219e - replaced MIN/MAX in all non-common code. 2021-10-30 10:16:52 +02:00
nashmuhandes
1c3e0f1a75 Added 'NoPerPixelLighting' flag to models to force it to not use per-pixel lighting. Main use case is for voxels that have been converted to models. 2021-10-22 07:57:11 +02:00
Magnus Norddahl
adda5dae32 Fix warning that implied destructors might not been called 2021-10-21 23:16:09 +02:00
nashmuhandes
d2b8f1aaff Add light probe actor 2021-09-25 12:00:25 +08:00
Christoph Oelckers
5382e7c17b - fixed compilation 2021-08-21 12:22:53 +02:00
Marisa Kirisame
13bdd324e1 hud models: add nullptr check for psprites without caller. 2021-08-15 08:47:04 +02:00
Christoph Oelckers
109069f718 - removed the unused palette parameter from the V_GetColor family of functions. 2021-08-14 09:57:23 +02:00
Marisa Kirisame
1d96b68e1a Fixed IsHUDModelForPlayerAvailable limitation. 2021-08-11 20:09:25 +02:00
Marisa Kirisame
888eab3063 HUD model tweaks:
- Look up HUD models by referencing the psprite's caller, rather than player's ReadyWeapon.
- Allow Strife hands psprite to be a model.
2021-08-11 20:09:25 +02:00
drfrag
2d0a876ab1 - Fix wrong thiswad check for materials too. 2021-07-18 13:11:57 +03:00
Gaerzi
3f9a3a454b Brightmaps fix
See https://forum.zdoom.org/viewtopic.php?f=2&t=72687 for more information.
2021-07-16 21:14:59 +02:00
alexey.lysiuk
e0f07d7088 - fixed initialization of model frames
Replaced loop arrays initialization and obvious comments with something more readable, I hope

https://forum.zdoom.org/viewtopic.php?t=72523
2021-06-10 11:54:26 +03:00
Christoph Oelckers
ba146ed5e5 - Backend update from Raze 2021-04-19 12:58:35 +02:00
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