Commit Graph

16003 Commits

Author SHA1 Message Date
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
Player701 74ec789d0e - Force node rebuild for Plutonia 2 MAP29 to fix BSP glitches 2018-12-13 14:54:33 -05: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
Rachael Alexanderson 172b4bb846 - added a number of darken2.wad maps to rebuild nodes in compatibility.txt 2018-12-12 11:22:53 -05: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
Player701 eb8614fc71 - Force node rebuild for Plutonia 2 MAP25 to fix BSP glitches 2018-12-11 09:15:05 -05: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 f6aa16947a - re-added PlayerInfo.BringUpWeapon. 2018-12-11 00:35:53 +01: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
Christoph Oelckers 5448874c6e - moved image format detection logic from FTexture to FImageSource. 2018-12-09 17:10:51 +01:00