Commit Graph

16067 Commits

Author SHA1 Message Date
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
Magnus Norddahl f1fe9a0286 - fix vanilla light mode angle calculation 2018-12-15 10:02:57 +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
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