Commit graph

109 commits

Author SHA1 Message Date
alexey.lysiuk
dca15d56c8 - extended level post-processing with thing IDs
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:23 +01:00
alexey.lysiuk
814483f5b8 - level post-processor cleanup
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:21 +01:00
alexey.lysiuk
7f1166e833 - level post-processor can now add new things
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:18 +01:00
alexey.lysiuk
05f0b76f8e - extended level post-processing with specials and arguments
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:16 +01:00
alexey.lysiuk
09e7fe5fb4 - extended level post-processing with editor numbers and angles
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:13 +01:00
alexey.lysiuk
20098ca90b - 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

# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:11 +01:00
drfrag
91859bc6fa - added generic level post-processing script class
It was extracted from LevelCompatibility class, and native code was moved accordingly
(original patch by _mental_)

# Conflicts:
#	src/compatibility.cpp
2019-11-13 19:33:49 +01:00
drfrag
033f0ca43e Revert "- add 'flipline' function to levelcompatibility"
This reverts commit 1a85206983.

Revert "- implement the following functions under LevelCompatibility:"

This reverts commit 6537eca669.
2019-11-13 19:31:42 +01:00
Rachael Alexanderson
6537eca669 - implement the following functions under LevelCompatibility:
GetNumMapThings, GetMapThingPos, GetMapThingAngle, SetMapThingAngle

# Conflicts:
#	src/maploader/compatibility.cpp
2019-09-28 15:01:23 +02:00
Rachael Alexanderson
1a85206983 - add 'flipline' function to levelcompatibility
# Conflicts:
#	src/maploader/compatibility.cpp
2019-09-28 14:56:12 +02:00
Christoph Oelckers
f95f0257b0 - reinstated the old scriptwait implementation as a compatibility option.
Daedalus's MAP19 needs this.
2019-09-07 12:44:43 +02:00
drfrag
ca9967d13b - Made automatic level compatibility optional.
As Enjay requested and Rachael suggested.
 I don't think i'm opening Pandora's box, what could go wrong?
2019-07-05 14:45:01 +02:00
alexey.lysiuk
f340d411c3 - added validation of LevelCompatibility.Apply() signature
# Conflicts:
#	src/compatibility.cpp
2019-07-03 13:49:36 +02:00
Christoph Oelckers
82fac693d8 - 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.

# Conflicts:
#	src/gamedata/g_mapinfo.h
#	src/gamedata/stringtable.cpp
#	src/maploader/maploader.cpp
#	src/p_map.cpp
#	src/p_udmf.cpp
2019-04-29 19:51:43 +02:00
Christoph Oelckers
a488791add - 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.

# Conflicts:
#	wadsrc/static/language.csv
2019-04-29 19:30:06 +02:00
alexey.lysiuk
9f0eb35b28 - added compatibility flag for buggy CheckSwitchRange behavior
https://forum.zdoom.org/viewtopic.php?t=63008
https://forum.zdoom.org/viewtopic.php?t=63650
2019-04-28 12:03:52 +02:00
Christoph Oelckers
ac68316527 - call level compatibility handlers for all levels and pass the map name as a second parameter.
This is for user-made handlers for which the checksum is rather useless both for deciding whether to call the handler and for identifying the map.

# Conflicts:
#	src/compatibility.cpp
#	wadsrc/static/zscript/level_compatibility.txt
2019-04-27 13:02:58 +02:00
Christoph Oelckers
e2c2837aa5 - allow assignment of line IDs through LevelCompatibility. 2019-04-27 11:38:41 +02:00
drfrag
a6d5e58886 - Partial port of "made some changes to how the compatibility code works" to allow exporting to ZScript. 2019-04-27 11:38:37 +02:00
alexey.lysiuk
70e7f9f853 - added missing range checks to level compatibility handler
# Conflicts:
#	src/compatibility.cpp
2019-04-25 16:50:28 +02:00
alexey.lysiuk
56b0e9627c Fixed walkthrough blocker in Sin City 2 via compatibility entry
It was impossible to complete Sin City 2 The Satan Complex without cheating since ZDoom 2.6.0
Change in applying of DeHackEd patches from 77a4b9a29b broke triggering of important linedef that pushes friendly marine to exit switch

https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/satanx
(cherry picked from commit 6d308ca67e)
2018-05-10 13:56:45 +02:00
alexey.lysiuk
63514823e1 Added ability to set thing position in compatibility layer
(cherry picked from commit 87d164ee59)
2018-05-09 12:31:37 +02:00
Christoph Oelckers
387827555f - added compatibility handler for Alien Vendetta MAP01 to properly display the deep water hack and avoid problems with a node rebuild. 2018-04-11 23:08:59 +02:00
Christoph Oelckers
3aea82797c - removed the parser for complex compatibility settings, now that this can be done via scripting. 2018-04-11 19:21:02 +02:00
Christoph Oelckers
3988e27059 - scriptified the last remaining definition (BTSX MAP12 beta)
- Changes to map geometry must force a node rebuild (SetVertex, SetLineSectorRef.)
- fixed incorrect use of scaling constant in SetWallYScale.
2018-04-11 19:10:15 +02:00
alexey.lysiuk
6631f208b1 Scriptified remaining compatibility entries 2018-04-11 17:01:57 +03:00
alexey.lysiuk
950443683b Scriptified compatibility of more Heretic levels 2018-04-11 12:35:45 +03:00
Christoph Oelckers
0ecbf07769 -ported a large part of compatibility.txt 2018-04-10 23:19:22 +02:00
Christoph Oelckers
9daad477c3 - some improvements to compatibility scripts:
* use names, not strings, to allow use of switch/case.
* avoid creating the checksum a second time per level.
* do an early-out check for maps that do not have scripted compatibility.
2018-04-09 22:09:28 +02:00
alexey.lysiuk
640948703f Level compatibility via ZScript -- PoC 2018-04-09 17:54:12 +03:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
9a8e724761 - added a compatibility setting for Perdition's Gate MAP31 which was having render issues with an unsupported vanilla effect. 2018-02-27 09:53:15 +01:00
alexey.lysiuk
13584b9a9d Fixed applying of compatibility settings for IWADs
https://forum.zdoom.org/viewtopic.php?t=58239
2017-10-21 10:47:13 +03:00
alexey.lysiuk
c22017f981 Made two Hexen maps compatibility options data driven 2017-06-14 16:10:01 +03:00
alexey.lysiuk
5874d01a73 All compatibility options are now applied for IWAD maps
https://forum.zdoom.org/viewtopic.php?t=56867
2017-06-14 15:24:11 +03:00
Rachael Alexanderson
029788976d - fully fix Strife1.wad's MAP10 shooting range.
- added the following compatibility.txt properties: setsectortexture, setsectorlight
2017-05-11 18:56:02 +02:00
Christoph Oelckers
7f7be9e393 - fixed compile errors in last commit. 2017-05-06 20:38:36 +02:00
alexey.lysiuk
85bb5192b3 Replaced sectorflooroffset with more generic compatibility parameter
New parameter setsectoroffset can set offset of floor or ceiling

# Conflicts:
#	src/compatibility.cpp
2017-05-06 19:43:35 +02:00
alexey.lysiuk
de97b753f6 Added compatibility parameter to set wall textures 2017-05-06 19:43:35 +02:00
alexey.lysiuk
cd8aa252ae Added compatibility parameter to set thing skills
# Conflicts:
#	src/compatibility.cpp
2017-05-06 19:43:35 +02:00
Rachael Alexanderson
cc9a2e5121 Merge https://github.com/coelckers/gzdoom 2017-03-08 21:25:24 -05:00
Christoph Oelckers
ba0f5a3f94 - most WORD and SWORD are gone. 2017-03-08 18:55:55 +01:00
Christoph Oelckers
8ab562ef13 - the fourth. 2017-03-08 18:55:54 +01:00
Rachael Alexanderson
d84ba4b953 Merge https://github.com/coelckers/gzdoom 2017-03-02 04:22:32 -05:00
Christoph Oelckers
3c21ca9cb1 - added a compatibility option to move vertices and applied it to E1M6 of Masters of Chaos.
This map has a door/lift combination that could trap the player without any chance to get out because both elements are so close together that it was almost impossible to trigger the lift. Moved two vertices by one map unit to make enough room.
2017-03-01 22:06:39 +01:00
Rachael Alexanderson
10e268ebc0 - Change "clipmidtex" compatflag to be accessible in compatibility.txt only. 2017-02-23 06:32:53 -05:00
Rachael Alexanderson
1a9b1de9a1 - Added "clipmidtex" compatflag and applied it to unloved.pk3 2017-02-23 03:39:04 -05:00
Christoph Oelckers
cd7986b1b1 - refactored global sides array to be more VM friendly.
- moved FLevelLocals to its own header to resolve some circular include conflicts.
2017-01-08 18:46:17 +01:00
Christoph Oelckers
71d1138376 - refactored the global lines array into a more VM friendly form, moved it to FLevelLocals and exported it to ZScript.
- disabled the Build map loader after finding out that it has been completely broken and nonfunctional for a long time. Since this has no real value it will probably removed entirely in an upcoming commit.
2017-01-08 14:39:16 +01:00
Christoph Oelckers
c02281a439 - refactored the global sectors array into a more VM friendly type and moved it into FLevelLocals. 2017-01-07 19:32:24 +01:00