Christoph Oelckers
8b3c03d416
- fixed Doom64 style lighting.
...
The check for the presence of Doom64 style lighting was done too early before the line lists in the sector were created.
2020-01-04 10:45:22 +01:00
Christoph Oelckers
9b9fd35107
- hooked up the colorization feature.
...
It can now be used from UDMF and ZScript.
To avoid clutter it doesn't allow setting the values individually but requires definition of a data record in TEXTURES.
colorization
{
DesaturationFactor <float>
Invert
AddColor <color>
ModulateColor <color>
BlendColor <color>, <mode> [, <alpha>]
}
Mode for BlendColor can be Alpha (normal translucent blending), as well as 3 special values taken from Build engine games: Screen, Overlay and HardLight.
2019-12-29 11:30:37 +01:00
Christoph Oelckers
f9d2dc51d0
- cleanup of new colorization code.
...
- profiling shows that running the code for applying the colorization and the gradients is extremely expensive, apparently this always causes a cache miss, so now the entire thing is enabled by a sidedef flag.
2019-12-29 11:30:36 +01:00
Christoph Oelckers
bb8db9422f
- scaled down the texture colorization feature for easier usability.
...
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
03537e90ff
- linked new properties with the renderer.
...
Support for the softpoly renderer still missing.
2019-12-20 18:56:03 +01:00
Christoph Oelckers
3a249cb06f
- added high level interface to the new properties, i.e. UDMF and ZScript.
2019-12-20 18:02:42 +01:00
Rachael Alexanderson
4d66e9a8bb
- remove SetLineSideRefs - this actually cannot be exported right now, due to the fact that both sides and lines have backreferences to themselves and their ancestry, and that linedefs have forward references to the sectors on their respective sides.
...
- made FlipLineSideRefs native, due to the SetLineSideRefs removal
- fixed a bug with FlipLineSideRefs that rendered upper and lower textures incorrectly due to incorrect sector references
- FlipLineSideRefs now should only work on single-sided lines
2019-11-14 14:32:20 -05:00
Rachael Alexanderson
b0751db552
- add native SetLineSideRefs(line, side1idx, side2idx)
...
- add scripted FlipLineSideRefs(line)
2019-11-14 09:20:16 -05:00
Rachael Alexanderson
37fdf14422
- add calc indices before running level postprocessor
2019-11-12 09:46:14 -05:00
Rachael Alexanderson
21a74dfb13
- new zscript function 'SetLineVertexes(line, v1, v2)'
...
- scriptify 'FlipLine' completely using new function, remove native version
2019-11-12 08:08:35 -05:00
Christoph Oelckers
81753e5ffb
- moved the level postprocessor to its own source file.
2019-11-10 21:28:01 +01:00
Rachael Alexanderson
57eb1a82d6
- oops - add rangecheck to 'FlipLine'
2019-11-10 10:01:17 -05:00
Rachael Alexanderson
1098a13fdb
- add 'FlipLine' to 'LevelPostProcessor'
2019-11-10 09:04:30 -05:00
alexey.lysiuk
82c248854d
- extended level post-processing with special string arguments
2019-11-10 11:37:02 +02:00
alexey.lysiuk
00ff4083d2
- extended level post-processing with thing IDs
2019-11-10 11:37:02 +02:00
alexey.lysiuk
098b1c5973
- level post-processor cleanup
2019-11-10 11:37:02 +02:00
alexey.lysiuk
c5237ce58f
- level post-processor can now add new things
2019-11-10 11:37:02 +02:00
alexey.lysiuk
1e29444152
- extended level post-processing with specials and arguments
2019-11-10 11:37:02 +02:00
alexey.lysiuk
79880b2bd9
- extended level post-processing with editor numbers and angles
2019-11-10 11:37:02 +02:00
alexey.lysiuk
a2a50f34d5
- added things related getters to level post-processing
...
New functions cover existing interface only
Unsigned integers are now used instead signed for indices and bitfields
2019-11-10 11:37:02 +02:00
alexey.lysiuk
59bdebb20a
- added generic level post-processing script class
...
It was extracted from LevelCompatibility class, and native code was moved accordingly
2019-11-10 11:37:02 +02:00
alexey.lysiuk
b40e0ae38d
- made GL nodes loader more resilient to broken data
...
https://forum.zdoom.org/viewtopic.php?t=66086
2019-10-12 12:41:14 +03:00
Christoph Oelckers
cbd4479628
- reinstated the old scriptwait implementation as a compatibility option.
...
Daedalus's MAP19 needs this.
2019-09-07 09:34:50 +02:00
alexey.lysiuk
c3edfdd946
- temporary solution to fix build of non-MSVC targets
...
Precompilation of prefix header for GCC and Clang requires some efforts thanks to CMake which doesn't support this feature out of the box
Existing thirparty solutions must be tuned to our needs, and our configuration should be adjusted to a chosen module
2019-08-22 11:30:40 +03:00
Christoph Oelckers
0abc66dbff
- uncoupled the decompressors from ZDoom's internal error handling.
...
This code made it hard to repurpose this code for other tools, so now the error handler must be passed as a callback to OpenDecompressor.
2019-08-20 23:14:00 +02:00
Christoph Oelckers
3cfda930ea
- removed all Doom specific dependencies from cmdlib.cpp/h.
...
This meant moving CleanseString and ParseHex elsewhere and removing the I_Error call from ScanDirectory.
2019-08-20 23:12:23 +02:00
Rachael Alexanderson
0d2bdfca99
- fix typo
2019-08-15 21:27:11 -04:00
alexey.lysiuk
73f46089cc
- added validation of LevelCompatibility.Apply() signature
2019-07-03 13:11:48 +03:00
alexey.lysiuk
4a8438ebb4
- fixed crash on loading map in Hexen format without any nodes
2019-06-09 12:57:57 +03:00
alexey.lysiuk
c222b24c0a
- removed erroneous assignment of dialog reply
...
https://forum.zdoom.org/viewtopic.php?t=64943
2019-06-07 17:40:36 +03:00
alexey.lysiuk
a54bc61678
- fixed conversation links with pages referenced by name
...
https://forum.zdoom.org/viewtopic.php?t=64177
2019-05-26 15:46:30 +03:00
drfrag
afa644fe47
- Fixed compilation with old gcc and clang.
2019-05-22 18:25:24 -04:00
Rachael Alexanderson
a27990885e
- add some debugging information for GZSDF pagenames feature
2019-05-22 11:50:53 -04:00
alexey.lysiuk
f5d80d0d8b
- made setting actor TID more explicit
...
Now it's no longer possible to manipulate TID hash from arbitrary location
For example, this prevents linking of destroyed object into the hash
TID member is still public but writing to it is limited to a few very specific cases like serialization and player traveling between levels
https://forum.zdoom.org/viewtopic.php?t=64476
2019-05-10 11:49:57 +02:00
Christoph Oelckers
0341a3d75b
- made the gross railing hack for Strife a compatibility option and restricted it to MAP04
...
The side effects here broke other maps and this is really too glitchy to be turned on unless really necesasary.
2019-03-26 00:38:54 +01:00
Christoph Oelckers
04c103811c
- changed Strife dialogue setup so that STRIFE00 is being processed and the random texts explicitly excluded.
...
This fixes the stray "Peasant" in this file.
2019-03-24 12:52:03 +01:00
Christoph Oelckers
dc67355e95
- added A_Explode compatibility options.
...
There are two options here - one only disables the vertical thrust and the other goes back fully to the original non-z-aware code.
Both options are settable through MAPINFO.
For the compatibility presets, the normal ones only disable the vertical thrust, the strict ones force use of the old code entirely.
2019-03-24 12:42:57 +01:00
Christoph Oelckers
5da2ecda66
- fix the compat_pointonline flag.
2019-03-23 15:28:10 +01:00
Christoph Oelckers
8c06a00ee6
- moved all dialogue loading code into the map loader.
2019-02-22 19:07:58 +01:00
Christoph Oelckers
8bdbd2e915
- fixed layout of summary screen.
2019-02-21 00:16:48 +01:00
alexey.lysiuk
d4d010ac32
- added compatibility flag for buggy CheckSwitchRange behavior
...
https://forum.zdoom.org/viewtopic.php?t=63008
https://forum.zdoom.org/viewtopic.php?t=63650
2019-02-11 17:57:03 +01:00
Christoph Oelckers
4cdbc99877
- fixed creation of phased light sequences.
2019-02-07 09:39:36 +01:00
Christoph Oelckers
546d3d1bf5
- allow localization of Hexen's original ACS strings.
...
This way of looking up strings is intentionally limited to content from Hexen.wad and Hexdd.wad.
2019-02-05 11:51:19 +01:00
Christoph Oelckers
e41c898817
Merge branch 'master' into new_level_refactor
2019-02-04 13:11:01 +01:00
Christoph Oelckers
496eba3acb
- fix polyobject init
2019-02-04 13:10:53 +01:00
Christoph Oelckers
af9636b7c3
- fixed glitches with some poorly set up sector stack portals.
2019-02-04 13:08:30 +01:00
Christoph Oelckers
8d83f03138
- changed the linedef translator into a struct and reorganized its storage to allow having different ones at the same time.
...
This was the last piece of data that couldn't be distinct for more than one level.
2019-02-02 01:22:12 +01:00
Christoph Oelckers
f6a91e1722
- moved the I_Error prototypes to doomerrors.h to avoid having to include the low level system header for this.
2019-01-31 19:38:04 +01:00
Christoph Oelckers
1dcdfec733
- Unload behavior with the map, not outside.
2019-01-31 17:58:18 +01:00
Christoph Oelckers
65f3fec283
- copied a few more map information CCMDs to g_ccmd.
2019-01-31 03:03:56 +01:00