alexey.lysiuk
8815379e15
- fixed compilation of POSIX targets
...
Making callstack resolving operational will require a little bit more effort
src/scripting/vm/jit_runtime.cpp:900:31: error: use of undeclared identifier 'frames'
src/scripting/vm/jit_runtime.cpp:903:23: error: use of undeclared identifier 'cnt'
2018-12-18 18:42:37 +02:00
drfrag
1ef5becd4f
- Fixed compilation with MinGW-w64 64 bit.
2018-12-18 09:01:56 -05:00
Magnus Norddahl
585058c65e
- add support for writing the native call stack
2018-12-18 14:49:41 +01:00
Magnus Norddahl
27ecae265d
- improve the stack trace when the jit is active
2018-12-18 11:44:51 +01:00
Magnus Norddahl
64bfb1b905
- fix r_multithreaded 0 not working
2018-12-18 00:41:46 +01:00
Magnus Norddahl
efb8e39aa9
- move more of the light calculation code to the drawerargs
2018-12-18 00:37:50 +01:00
Christoph Oelckers
a73c065811
- replaced several explicit allocations with TArrays.
2018-12-17 18:28:04 +01:00
Christoph Oelckers
d68cd3aa80
- fixed: Alpha textures need to use a color's grayscale value, not their red channel.
2018-12-17 17:44:22 +01:00
alexey.lysiuk
fb71563311
- fixed inconsistent dymanic lights setup with UBO
...
https://forum.zdoom.org/viewtopic.php?t=62585
2018-12-17 12:27:35 +02:00
Magnus Norddahl
2ce91ea62f
- delay converting sprite lightlevels to a shade until we hit ColormapLight
2018-12-17 07:54:46 +01:00
Magnus Norddahl
66b5e6e2ee
- delay converting wall lightlevels to a shade until we hit the drawer
2018-12-17 06:47:26 +01:00
Magnus Norddahl
946f657a37
- fix heretic light torch in software renderer and remove some code duplication
2018-12-17 06:13:00 +01:00
Magnus Norddahl
f35aeec6c3
- move visibility calculation to LightVisibility
2018-12-17 05:10:26 +01:00
Magnus Norddahl
9787e32d28
Merge branch 'SoftwareScaling'
2018-12-17 01:33:22 +01:00
Magnus Norddahl
c3477e9197
- softpoly decals were upside down
2018-12-17 01:32:46 +01:00
Magnus Norddahl
9e15f26923
- fix decal upscaling
2018-12-17 01:32:15 +01:00
Christoph Oelckers
4cd745db48
- fixed: Patch rotations were not applied during true color texture composition.
2018-12-17 00:03:36 +01:00
Christoph Oelckers
87953020ba
- fixed: FImageSource::GetCachedBitmap did not pass the translucency information along to the caller.
2018-12-16 19:17:53 +01:00
Christoph Oelckers
cce82e99d6
- fixed: The texture compositor did not use a patch's translation.
2018-12-16 19:03:04 +01:00
Magnus Norddahl
15d599813b
- add support for scaled textures in softpoly
2018-12-16 15:12:45 +01:00
Magnus Norddahl
eaf1c4f1e2
- implement the physical texture scaling at the drawer transition level as the frontend of the software renderers do not even need to know the textures are scaled
2018-12-16 14:34:44 +01:00
Christoph Oelckers
e776dbce55
- use TArrays for MD3 storage.
2018-12-16 13:33:42 +01:00
Magnus Norddahl
57525f1505
Merge remote-tracking branch 'origin/master' into SoftwareScaling
2018-12-16 12:10:53 +01:00
Christoph Oelckers
cc52f89372
- fixed: For non-persistent buffers, sprite vertices need to be recalculated in the splitter code of the translucent sorter.
2018-12-16 12:06:17 +01:00
Magnus Norddahl
6648f4e47f
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-12-16 11:31:18 +01:00
Magnus Norddahl
88751a320c
- fix sky drawers not staying within their numa node
2018-12-16 11:31:05 +01:00
Christoph Oelckers
881fc89fe8
- removed redundant std::move.
2018-12-16 11:29:22 +01:00
Christoph Oelckers
1422a95aa8
Merge branch 'Texture_Cleanup'
...
# Conflicts:
# src/textures/formats/multipatchtexture.cpp
2018-12-16 10:19:58 +01:00
Christoph Oelckers
a38e75db00
- improved error reporting for badly defined translations.
...
This needs to be handled by the caller for all use cases because the translation parser lacks the context to do a proper error report.
2018-12-16 09:56:53 +01:00
Christoph Oelckers
a96b86b13b
- fixed: sidedef-less GLWalls may not apply per-sidedef render properties.
...
These always come from open-sector render hacks where the renderer tries to fill in some gaps
2018-12-16 09:38:22 +01:00
Christoph Oelckers
d0ce021805
- fixed: Both main and worker thread were modifying the portal state.
...
The parts in the main thread have been offloaded to a new worker job to avoid having to use a mutex to protect the portal state.
2018-12-16 09:05:02 +01:00
Christoph Oelckers
51f03c8215
- a few more fixes.
2018-12-16 00:37:34 +01:00
Christoph Oelckers
87b0567cd7
- the font character substitution logic needed more fixes.
...
The ZScript DrawChar function was incomplete and FFont::GetChar did not always return the proper texture.
To make things clearer the OriginalPic is now only used in the few cases where substitution takes place and nothing else.
2018-12-15 23:32:49 +01:00
Christoph Oelckers
c92e6b03ac
- why wasn't this saved?
2018-12-15 21:39:00 +01:00
Christoph Oelckers
39f6489ac5
- two more places where explicit allocations could be replaced.
2018-12-15 20:41:21 +01:00
Christoph Oelckers
091f73b833
- fixed: no sprites were drawn in a sector if it only had ones in its sectorportal_thinglist.
2018-12-15 20:22:42 +01:00
Christoph Oelckers
8e24a50b36
- let FxNop have a value type, even if it's just TypeError.
2018-12-15 20:08:05 +01:00
Christoph Oelckers
e6e4f0f305
- disabled redirection to the original patch for FSpecialFont.
...
Using the same code as for the standard font does not work as intended, the reason still needs to be investigated.
2018-12-15 19:15:05 +01:00
Christoph Oelckers
d1ca2a91f3
- fixed: ThePatchRemap table was only initialized in one of FFont's constructors.
2018-12-15 17:49:12 +01:00
Christoph Oelckers
c105a1f670
- fixed two broken ScriptUtil calls in FraggleScript.
2018-12-15 16:57:20 +01:00
Rachael Alexanderson
14e9e3ac56
- use software mipmaps for truecolor for scaled textures
2018-12-15 10:50:59 -05:00
Christoph Oelckers
74ea9143ee
- added a 'forceworldpanning' map flag.
...
Since unfortunately this cannot be set as a general default, let's at least make it as easy as possible to disable that panning+scaling madness without having to edit the texture data.
2018-12-15 16:29:37 +01:00
Rachael Alexanderson
3fc9dd4144
Merge remote-tracking branch 'origin/Texture_Cleanup' into softwarescaling
2018-12-15 10:18:39 -05:00
Rachael Alexanderson
2e927c7026
- port texture upscaler code to truecolour
2018-12-15 10:13:28 -05:00
Christoph Oelckers
dc9c7afa24
- reimplemented the GetRawTexture redirect.
2018-12-15 16:05:48 +01:00
Rachael Alexanderson
aaabefbfab
Merge branch 'master' into softwarescaling
2018-12-15 09:51:50 -05:00
Christoph Oelckers
1aba33122b
- fixed: The light defaults were not fully deleted on an engine restart.
2018-12-15 15:36:43 +01:00
Christoph Oelckers
faa4bb45c9
- store UnchangedSpriteNames in Dehacked in a less hacky manner.
2018-12-15 15:36:33 +01:00
Christoph Oelckers
d937c50726
- use a TArray in PPUniforms.
...
This makes the vast majority of code in that class just go away
2018-12-15 14:59:49 +01:00
Christoph Oelckers
056b2c3a80
- handle CR_UNTRANSLATED so that it doesn't force CR_UNTRANSLATED to the palette.
...
Since the entire font setup is very much incapable of handling this during rendering, short of a complete rewrite, it was necessary to put the relevant code into the places which process the characters for drawing so that it can disable the translation table (which needs to be passed as raw data to the draw functions) and keep track of both the translatable and the original variant of the character graphics.
2018-12-15 14:51:03 +01:00
Christoph Oelckers
48d87e3dcf
- use TArrays for most buffers being used in the font class.
2018-12-15 11:55:21 +01:00
Christoph Oelckers
cd25b4be4f
- use a TArray to store the particles and remove all 16 bit global variables.
...
This means one less exit function to deal with - and these days 16 bit variables are a pointless attempt at saving space.
2018-12-15 10:04:49 +01:00
Christoph Oelckers
3d0fb6cf90
Merge branch 'master' into Texture_Cleanup
2018-12-15 09:45:26 +01:00
Christoph Oelckers
1187906a61
- use symbolic constants for the light modes.
2018-12-15 09:40:39 +01:00
Christoph Oelckers
15949102da
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-12-15 08:27:32 +01:00
Magnus Norddahl
3af6ae4b37
- add vanilla lightmode that behaves exactly as Doom's original light did
2018-12-15 07:11:28 +01:00
Christoph Oelckers
4d8e8e7741
- enable the texture scalers in software mode.
...
Currently only implemented for 8 bit in the classic renderer.
2018-12-15 00:38:27 +01:00
Christoph Oelckers
656dbc9647
Merge branch 'master' into Texture_Cleanup
...
# Conflicts:
# src/textures/texture.cpp
2018-12-14 22:36:26 +01:00
Christoph Oelckers
013d3e2368
- code simplification.
2018-12-14 22:34:28 +01:00
Christoph Oelckers
f373752b4f
- fixed incorrect alignment of scaled world panned textures combined with per-sidedef scaling in the hardware renderer
...
This particular case incorrectly factored in the sidedef's scaling factor for how to calculate the offset.
Fortunately this is a very rare case - a quick check yielded no maps depending on it.
Should any map surface that depends on this bug a compatibility option may be needed but it doesn't seem likely that this may be the case.
2018-12-14 20:00:44 +01:00
Christoph Oelckers
a19f297ae0
- fixed incorrect alignment of scaled world panned textures combined with per-sidedef scaling in the hardware renderer
...
This particular case incorrectly factored in the sidedef's scaling factor for how to calculate the offset.
Fortunately this is a very rare case - a quick check yielded no maps depending on it.
Should any map surface that depends on this bug a compatibility option may be needed but it doesn't seem likely that this may be the case.
2018-12-14 19:59:19 +01:00
alexey.lysiuk
4a83f4d251
- disable music playback if WinMM stream cannot be opened
...
https://forum.zdoom.org/viewtopic.php?t=62888
2018-12-14 15:58:08 +02:00
Christoph Oelckers
e157e36b43
- the texture still needs to be added to the texture manager.
2018-12-14 01:48:53 +01:00
Christoph Oelckers
bd6ba47d63
- fixed: The multipatch texture builder may not store the texture IDs on assignment.
...
Between creation and resolving the texture manager will resort the textures and after that the old ids are no longer valid. The textures themselves have the correct one, so that should be used.
2018-12-14 01:47:39 +01:00
Christoph Oelckers
1e844336b9
- fixed memory leak with texture creation.
2018-12-14 01:46:26 +01:00
Christoph Oelckers
fc5dd17d77
- fixed 3D floor texture setup.
...
This code really makes zero sense, it looks like the cases for upper and lower texture should never be entered ever.
2018-12-14 01:31:40 +01:00
Christoph Oelckers
7ffc2f1275
- fixed invalid texture accesses in the software renderer.
2018-12-13 23:25:55 +01:00
Christoph Oelckers
134460bae6
- one final fix.
2018-12-12 20:16:02 +01:00
Christoph Oelckers
01e05c9b70
- now it's correct.
2018-12-12 20:11:09 +01:00
Christoph Oelckers
7ea1e8acee
- fixed layer creation.
2018-12-12 20:08:12 +01:00
Christoph Oelckers
173b8beb33
- cleaned out the FHardwareTexture class, now that the translations are finally handled on a higher level.
2018-12-12 18:55:55 +01:00
Christoph Oelckers
c5447f0cdd
- continued work on texture management.
2018-12-12 18:39:38 +01:00
alexey.lysiuk
14094ebeb9
- fixed crash on invoking vid_setsize CCMD with one argument
2018-12-12 10:15:53 +02:00
Christoph Oelckers
fb6ee5046c
- add the hardware texture container to FTexture.
...
Currently it does not use the translated entries yet.
# Conflicts:
# src/hwrenderer/textures/hw_material.cpp
2018-12-12 02:55:11 +01:00
Christoph Oelckers
e6b4c63b99
- More adjustments
2018-12-12 02:52:27 +01:00
Christoph Oelckers
245a8243b0
- separated the savepic texture handler from the regular PNG texture
...
This was leaking memory with being handled like a regular image texture and also would prevent further changes to the in-game texture handling because the savegame picture was imposing some limitations on FPNGTexture's implementation
2018-12-12 02:03:54 +01:00
Christoph Oelckers
2cf6d213e2
- fixed compile bugs
2018-12-12 01:27:04 +01:00
Christoph Oelckers
8fcc170e8f
- add font characters to the texture manager for easier management
...
These were the only non-transient textures not being handled by the texture manager which complicarted operations that require itrer
2018-12-12 01:25:25 +01:00
Christoph Oelckers
368c788789
- added a 'check only' option to CreateTexBuffer.
...
This is meant to calculate the content ID without constructing the texture buffer.
2018-12-12 00:46:58 +01:00
Christoph Oelckers
200188b3a4
- FHardwareTextureContainer.
...
This is essentially a stripped down version of FHardwareTexture, which can exist on the API independent size, and which stores pointers to hardware textures instead of OpenGL texture handles.
2018-12-12 00:34:37 +01:00
Christoph Oelckers
07f87e2542
- changed CreateTexBuffer to return its info in a structure and not as a naked pointer.
2018-12-11 21:06:34 +01:00
Christoph Oelckers
ab624c8c5a
Merge branch 'master' into Texture_Cleanup
...
# Conflicts:
# src/textures/hires/hqresize.cpp
2018-12-11 20:27:24 +01:00
Christoph Oelckers
f01d1ec072
- must merge before continuing...
2018-12-11 20:26:33 +01:00
Christoph Oelckers
86d851bc5c
- minor cleanup and allow FHardwareTexture to restore the old bindings after creating a texture.
2018-12-11 19:56:23 +01:00
alexey.lysiuk
8b46be7686
- print VM stack trace on startup abort exception
...
https://forum.zdoom.org/viewtopic.php?t=62650
2018-12-11 10:46:56 +02:00
Christoph Oelckers
abd6729d39
- fixed deprecation warnings for member functions not checking the version.
2018-12-11 00:35:22 +01:00
Christoph Oelckers
ad8f484836
- fixed: The JIT compiler crashed on missing ArgFlags.
...
For ad-hoc Dehacked state functions no ArgFlags are created, in this case they can just be assumed to not be relevant here, because none of these function produces reference arguments.
2018-12-11 00:22:54 +01:00
Christoph Oelckers
5666e4c805
- made camera textures operational again.
...
Now with proper separation of software rendering logic from the main part of the class.
2018-12-11 00:01:45 +01:00
Rachael Alexanderson
28516c2def
- split gl_texture_hqresize into two variables - one for mode, one for multiplier.
2018-12-10 14:25:29 -05:00
Christoph Oelckers
91a8f5cd04
Merge remote-tracking branch 'remotes/origin/master' into Texture_Cleanup
...
# Conflicts:
# src/polyrenderer/poly_renderthread.cpp
# src/swrenderer/r_renderthread.cpp
2018-12-10 18:47:21 +01:00
drfrag666
cbb5f8a0dc
- Fixed: the vid_rendermode CVAR could get wrong values.
2018-12-10 07:08:48 -05:00
alexey.lysiuk
6362415054
- fixed return value of native call to dynamic array's Reserve()
...
https://forum.zdoom.org/viewtopic.php?t=62841
2018-12-10 11:26:46 +02:00
alexey.lysiuk
8a4b8cc2ca
- server CVARs can be changed only by settings controller
...
Initially, settings controller flag was false by default
It was not touched during construction and destruction of player_t instances though
Now, with all members initialized in class definition, this flag must be saved and restored manually
https://forum.zdoom.org/viewtopic.php?t=62830
2018-12-10 10:36:40 +02:00
Christoph Oelckers
91bb7c0641
Let FSkyboxTexture map to the last defined regular texture of the same name instead of its first face
...
This is normally a better fallback for the software renderer.
2018-12-10 02:56:49 +01:00
Christoph Oelckers
0d07fb2550
Use FImageTexture for thre null texture
...
FDummyTexture had a big problem: Whenever it was accessed by accident it crashed the app because it wasn't fully implemented.
What it should do is return empty pixels of the given size, and an unextended FImageTexture is doing just that.
2018-12-10 02:50:22 +01:00
Christoph Oelckers
b32aa60760
Made SWPaletteTexture an ImageSource and let it be managed by the texture manager.
...
This is a lot easier to manage because the palette is just static data that can easily mimic an image.
2018-12-10 02:43:37 +01:00
Christoph Oelckers
4cd60fbe99
- added caching for true color images as well
2018-12-10 02:35:10 +01:00
Christoph Oelckers
2e7bcf9e41
- implemented a proper texture composition cache.
...
This will mostly ensure that each patch used for composition is only loaded once and automatically unloaded once no longer needed.
So far only for paletted rendering, but the same logic can be used for true color as well.
2018-12-10 01:17:39 +01:00
Christoph Oelckers
796c0fe931
- fixed precaching to consider animations and switches
2018-12-10 01:13:44 +01:00
Magnus Norddahl
f0ce453d47
- workaround pointer truncation bug in asmjit
2018-12-09 17:36:43 +01:00