Christoph Oelckers
7e169eb76f
- split out the span generation from most texture classes
...
Until now each subclass of FTexture had to implement the entire span generation itself, presumably so that a few classes can use simpler structures.
This does not work if a texture can have more than one pixel buffer as is needed for alpha textures.
Even though it means that some classes will allocate more data now, it's the only way to do it properly.
In addition this removes a significant amount of mostly redundant code from the texture classes.
- added alpha texture processing to all converted classes
As of now this is not active and not tested.
Note that as part of the conversion even those textures that were working as alphatextures will not look correct until the higher level code gets adjusted.
2018-03-18 12:36:14 +01:00
Christoph Oelckers
0be1ed252b
- rewrote the operator>> methods of FileReader as normal functions for clarity.
2018-03-11 18:20:49 +01:00
Christoph Oelckers
5fa63c396d
- sound code and most of texture code converted to FileRdr.
...
This allowed to remove a lot of bad pointer voodoo in the music loader, because the new class does not allow duplication of the reader object
2018-03-10 18:45:11 +01:00
alexey.lysiuk
9b52c18ef6
Improved layout of FMultiPatchTexture::TexPart structure
...
Removed "gaps" between members (for 64-bit targets) and initialized them in place
2018-01-13 12:44:23 +02:00
alexey.lysiuk
d95ac93376
Fixed crash when resolving multipatches with missing textures
...
https://forum.zdoom.org/viewtopic.php?t=59088
2018-01-13 12:41:19 +02:00
Christoph Oelckers
a1694a79c6
- removed the FGLBitmap class and replaced all uses with the regular FBitmap.
...
The only reason this ever existed is that the GL renderer used RGBA instead of BGRA but there's no reason why this is even necessary.
2017-06-18 09:14:33 +02:00
Rachael Alexanderson
cc9a2e5121
Merge https://github.com/coelckers/gzdoom
2017-03-08 21:25:24 -05:00
Christoph Oelckers
6dee9ff566
- replaced another large batch of homegrown type use.
2017-03-08 18:55:53 +01:00
Christoph Oelckers
3b823fa3eb
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# wadsrc/static/compatibility.txt
2016-12-22 11:29:44 +01:00
Rachael Alexanderson
978152f483
Merge https://github.com/rheit/zdoom
...
# Conflicts:
# wadsrc/static/compatibility.txt
2016-12-19 08:16:41 -05:00
Rachael Alexanderson
5d85990d5f
- Implementing RGB666-to-Palette colormatching for textures.
2016-12-19 13:46:08 +01:00
Rachael Alexanderson
a78b713f4b
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/v_video.cpp
2016-12-06 18:19:08 -05:00
Christoph Oelckers
fbc8d0e83c
Merge branch 'zscript' of https://github.com/rheit/zdoom into gz-zscript
...
# Conflicts:
# wadsrc/static/zscript.txt
2016-12-03 18:51:10 +01:00
Christoph Oelckers
21e3aba1c7
- optionally allow passing a script position object to V_GetColor and subfunctions for better error output. Implemented this for all occurences where this info was available.
2016-12-03 16:27:53 +01:00
Christoph Oelckers
c927aca2a0
Merge branch 'zscript' of https://github.com/rheit/zdoom into gz-zscript
...
# Conflicts:
# wadsrc/static/zscript.txt
2016-11-30 18:46:23 +01:00
Rachael Alexanderson
2e7c512891
Merge branch 'master' of https://github.com/rheit/zdoom
2016-11-23 11:09:46 -05:00
alexey.lysiuk
e138a3ffbc
Fixed infinite recursion with self-referencing multipatch textures
...
See http://forum.zdoom.org/viewtopic.php?t=54355
2016-11-23 14:33:31 +01:00
Christoph Oelckers
7f2350cf64
Merge branch 'master' of https://github.com/rheit/zdoom
2016-10-29 16:08:46 +02:00
Rachael Alexanderson
9ed45c7e03
Merge branch 'master' of http://github.com/rheit/zdoom
2016-10-26 22:06:25 -04:00
Christoph Oelckers
327d4d85a7
- fixed: UseOffsets can only be handled after the patch is has been set up.
2016-10-26 15:02:20 +02:00
Rachael Alexanderson
692a0034b4
Merge http://github.com/rheit/zdoom
2016-10-26 06:10:52 -04:00
Christoph Oelckers
5309209039
- print a developer warning if the texture manager had to resolve a circular reference.
2016-10-26 12:03:28 +02:00
Christoph Oelckers
28fefdabc7
- added a 'listall' option to FTextureManager::ListTextures, so that the multipatchtexture lookup can find multiple older versions with the same use type.
...
This fixes an issue with DUMP 2 which looked for patches of the same name as the texture currently being defined and where the patches had the same use type as the composite texture. The function as implemented would only find the newly added composite and print an error.
2016-10-26 11:56:15 +02:00
alexey.lysiuk
316e3395ad
Fixed crash on loading multipatch texture with height of 256
...
http://forum.zdoom.org/viewtopic.php?t=53953
2016-10-26 12:15:22 +03:00
Rachael Alexanderson
e533bc8234
Merge http://github.com/rheit/zdoom
2016-10-25 23:52:25 -04:00
Christoph Oelckers
fa8e05d56d
- do not allow a multipatch texture to use itself as patch. Instead, look for an older texture with the same name.
2016-10-25 22:40:58 +02:00
Rachael Alexanderson
b460ce31e8
Merge http://github.com/coelckers/gzdoom
2016-10-24 21:02:09 -04:00
Christoph Oelckers
f0ee3e3fa3
Merge branch 'master' of https://github.com/rheit/zdoom
2016-10-25 01:04:43 +02:00
Christoph Oelckers
8368272b4d
- just to be thorough, added a 'sprite' keyword to define a patch to give priority to the TEX_Sprite namespace.
2016-10-24 23:40:37 +02:00
Christoph Oelckers
4e4fd97950
- fixed: Multipatch textures may not set up their patch references until all textures have been loaded.
...
If done earlier they will not be able to detect overrides of sprites and graphics which are not part of the PATCHES lump. There was some fudging code to work around this problem but it was only partially working.
Now these textures only collect the texture name and use type during setup and resolve them after all textures have been created.
2016-10-24 23:35:18 +02:00
raa-eruanna
b0e104d566
Merge http://github.com/coelckers/gzdoom
2016-09-09 11:31:31 -04:00
Christoph Oelckers
b9ca3c85f8
- fixed: translucency detection in multipatch textures did not work.
...
- fixed: The flat drawer never checked if a texture had translucent parts.
2016-09-08 12:18:09 +02:00
Magnus Norddahl
8ba6a4f175
Precache, Unload and FillSimplePoly bug fix
2016-06-13 21:39:55 +02:00
Christoph Oelckers
aec1c85c08
- fixed: alpha for patches needs to be multiplied by 65536, not divided by.
2016-04-11 22:21:17 +02:00
Christoph Oelckers
0c39bdd04c
- floatified texture scale values.
2016-03-26 13:37:44 +01:00
Christoph Oelckers
5bf806e478
- renamed some fixed point stuff in the texture composition code.
2016-03-24 16:16:45 +01:00
Christoph Oelckers
4e60ea0252
- made AActor::alpha a floating point value
...
- replaced some uses of FRACUNIT with OPAQUE when it was about translucency.
- simplified some overly complicated translucency multiplications in the SBARINFO code.
2016-03-21 12:18:46 +01:00
Christoph Oelckers
9b134a78e3
- fixed: The TEXTURES parser wanted a redundant comma after parsing a color.
2016-03-16 22:42:41 +01:00
Randy Heit
8a03b99b9c
Use ScriptMessage to warn about missing patches in a TEXTURES texture
2016-03-12 19:23:49 -06:00
Randy Heit
55142078d8
Normalize line endings
2016-03-01 09:47:10 -06:00
Randy Heit
e259087c19
Change RGB32k to a union of BYTE[32][32][32] and BYTE[32*32*32]
...
- Clang's optional runtime array bounds checking doesn't understand when we
intentionally "overflow" by doing this:
RGB32k[0][0][colorval]
It will warn that it was accessed at an index will past the bounds
of type 'BYTE [32]', which makes it less than useful for catching real
array bounds overflows. So now do this:
RGB32k.All[colorval]
And if you want this:
RGB32k[r][g][b]
Now do this:
RGB32k.RGB[r][g][b]
2015-03-08 18:05:02 -05:00
Edoardo Prezioso
b285cbebe4
- Fixed compiler errors in latest TEXTURES code.
2014-05-25 01:12:16 +02:00
Shawn Walker
582b1990b7
- restore original line endings
2014-05-18 16:00:31 -07:00
Shawn Walker
59885b856d
- remove texture name length limits for udmf maps
2014-05-18 15:38:46 -07:00
Shawn Walker
fdfcb728a9
- make it easier to spot patch definition errors in console log
2014-05-13 22:50:39 -07:00
Christoph Oelckers
ca4179caa3
- allow texture lookup by full path names. Due to technical limitations this may result in double textures if the same graphics lump is also referenced by its short texture name.
2014-05-13 20:51:16 +02:00
Randy Heit
1d4f4b25d7
Don't free replaced textures that are used as patches.
...
- Fixed: If a part of a multipatch texture is replaced by a HIRESTEX
version, the original patch must not be deleted, since the multipatch
texture still needs it for compositing.
2014-02-24 19:01:36 -06:00
Randy Heit
260ce62175
Don't abort for TEXTUREx lumps that define textures with no patches
...
- A texture defined in TEXTUREx without any patches isn't necessarily an
error, so accept. This also means they shouldn't be used for determining
if a TEXTURE directory belongs to Strife instead of Doom.
2013-08-30 23:10:20 -05:00
Randy Heit
fef083f59c
- Use a temporary bitmap when when copying true color pixels of a multipatch texture, the blend
...
operation is not BLEND_NONE, and it doesn't just redirect straight to a direct texture.
SVN r4151 (trunk)
2013-02-20 01:31:41 +00:00
Randy Heit
4ac8f5eae4
- Fixed: FMultiPatchTexture::CopyTrueColorPixels() set up the alpha values backwards for blend mode BLEND_OVERLAY.
...
SVN r3806 (trunk)
2012-08-04 03:01:17 +00:00