Commit graph

64 commits

Author SHA1 Message Date
Christoph Oelckers
fb6e4becaa added rudimentary support for DSDA's COMPLVL lumo.
This cannot of course set real complevels, so what it does is set all appropriate compatibility flags from the respective preset.
It does leave out a few flags that are preferably left to the user, like infinitely tall actors or wall running.
2023-11-04 12:36:26 +01:00
Ricardo Luís Vaz Silva
e12f2ce0fe Allow setting the colormap from mapinfo (dsda-doom) 2023-10-29 07:40:56 +01:00
Christoph Oelckers
c94c63110e added a third batch of GetChars call to FStrings. 2023-10-07 23:03:40 +02:00
Christoph Oelckers
be2f9c8660 - added DSDA's passover/nopassover keys to the MAPINFO parser. 2023-08-22 23:15:23 +02:00
Christoph Oelckers
ebb71cebf1 - put the entire filesystem code into a namespace and created some subdirectories. 2023-08-22 22:54:54 +02:00
Professor Hastig
666a99f204 lightmode refactor
* make all legacy light modes except 'Doom' MAPINFO only. A CVAR still exists for testing but its value won't be saved to the config.
* user can only select between "performance', 'software' and 'vanilla'. 'performance' is the old 'Doom' mode which is still needed to speed things up on low end hardware.
* MAPINFO can not enforce any of the two software light modes, as low end users require the option to change this to the 'performance' setting. Selecting one will always revert to the user's light mode selection.
2023-07-17 22:50:05 +02:00
Ricardo Luís Vaz Silva
1589afb46e Add Voodoo Zombie Compatflag 2023-05-14 08:14:47 +02:00
Rachael Alexanderson
4ac76d82d8 - redirected maps need to be defined in order to redirect 2023-02-03 20:21:40 -05:00
Rachael Alexanderson
82b7e93d26 - oops, nullptr check 2023-02-01 10:23:30 -05:00
Rachael Alexanderson
04ea28defc - add RedirectCVAR directive for loading alternate maps based on a Bool CVAR setting 2023-02-01 00:06:01 -05:00
Ricardo Luís Vaz Silva
9468ff85a2 Add missing error for mapinfo tonemap 2023-01-14 11:29:12 -05:00
Ricardo Luís Vaz Silva
1ebd4f0d41 Add Tonemap support for Unclamped lighting mode 2023-01-14 11:29:12 -05:00
Ricardo Luís Vaz Silva
8e7897233e Add Alternate Light Blending Options 2023-01-14 11:29:12 -05:00
Christoph Oelckers
941c0850ba - Backend update from Raze.
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Christoph Oelckers
65a26d6779 - removed the string constructors from FSoundID.
Due to C++ conversion rules this was a bit too volatile. There's really not enough places where being able to pass a string directly into the sound API was beneficial - the two most frequent functions now got overloaded variants.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
160633a4a2 - migrate a large part of the sound code to FSoundIDs.
This has always been a wild mixture of IDs and ints.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
cda6394a95 - added cutscene data parser
This covers:

game start
episode start
cluster start/end
level start/end
2022-05-31 15:02:52 +02:00
Christoph Oelckers
f1d017d0fa - compat_corpsegibs is still needed as a dummy MAPINFO flag. 2022-04-30 23:39:02 +02:00
Christoph Oelckers
c83344f5c2 - removed all remains of the corpsegibs flag and made vileghosts interactive
Ghosts are still off by default, but they will now be enabled when selecting the vanilla (strict) compatibility mode.
2022-04-29 00:28:34 +02:00
Christoph Oelckers
63bba40d7d - expose the ‚attenuatelights‘ map flag. 2022-04-29 00:02:11 +02:00
Christoph Oelckers
c48de5d8d3 - added a 'no MBF21' compatibility flag.
Turns out that there's a few old maps that have the extended line flags set but not the guard bit that forces their clearance.
Astrostein 1's first map is an example for this.
2022-02-14 20:00:06 +01:00
Christoph Oelckers
77d74a11d1 - removed most templates.h includes. 2021-10-30 10:49:12 +02:00
Christoph Oelckers
196a4c0b36 - added a modified version of MBF's stay-on-lift feature.
The reason this was never added was the hard dependency on the line trigger types. This implements some modified logic that does not try to find all potential lifts in the map.
Also moving the MBF flags to compatflags so that they are easier to control by the user as these must be part of compatibility presets.
2021-08-24 11:48:07 +02:00
Christoph Oelckers
d15f450fef - implemented MBF's monsters_avoid_hazards feature.
Both as a map flag for MBF21 support and as an actor flag for better control.
2021-08-21 12:29:24 +02:00
Christoph Oelckers
ff497996a3 - added a per-level AVOIDMELEE flag.
This already existed as a per-actor flag, but for proper MBF support it needs to be settable on a per-map basis as well.
2021-08-21 10:55:22 +02:00
Christoph Oelckers
109069f718 - removed the unused palette parameter from the V_GetColor family of functions. 2021-08-14 09:57:23 +02:00
Christoph Oelckers
0cffeef2c6 - added map option to disable shadowmaps.
Prompted by 'Hurt' which has > 4000 lights and runs into both performance issues and unpredictable light selection for the limited amount of shadowmap slots.
2021-07-13 11:54:25 +02:00
Christoph Oelckers
e2e8ec8b3e - MBF21: implemented thing flags. 2021-06-29 21:08:58 +02:00
Rachael Alexanderson
df4f41f4e8 - Modified commit from @OrdinaryMagician #1261
- Always allow skyboxes by default
- Add option to disable skyboxes through mapinfo
Squashed commit of the following:

commit d4c4d9310d0157ce575f52989b5b080398cf7629
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Wed Dec 30 09:58:39 2020 +0100

    Disable AO for skybox portals (can be forced back with MAPINFO flag).
2020-12-30 11:08:43 -05:00
alexey.lysiuk
18b5928f49 - eliminate dependency on linking order for autosegs registration 2020-11-13 11:03:16 +02:00
alexey.lysiuk
1959502a0b - clear current levels' snapshots explicitly if saved game loading fails
Levels that are not defined via MAPINFO could keep stalled snapshots data preventing their loading from scratch

https://forum.zdoom.org/viewtopic.php?t=70115
2020-10-10 13:04:08 +03:00
Cacodemon345
e74b9f1955
Add FALLDAMAGE flag and add property to properly apply falling damage… (#1153)
* Add FALLDAMAGE flag and add property to properly apply falling damage to the monsters

* Change name of propermonsterdamage property to propermonsterfallingdamage
2020-09-15 15:38:51 +02:00
Major Cooke
a56177f178 Begin TICRATE conversion.
- Moved TICRATE from Thinker to Object in ZScript so status bars have access to it.
2020-04-12 22:43:33 +02:00
Christoph Oelckers
05d8856fe0 - moved file system implementation to 'common'. 2020-04-11 14:00:20 +02:00
Christoph Oelckers
80c6d5b276 - renamed more stuff and also moved the Strife teaser voice handling out of the file system. 2020-04-11 14:00:19 +02:00
Christoph Oelckers
c1bb7de23a - more file system refactoring.
* moved the sprite renaming out of the file system entirely into a caller-provided callback.
* renamed several functions to closer match the terms of a file system.
* moved the VM interface out of the implementation.
2020-04-11 14:00:19 +02:00
Christoph Oelckers
6bccde3b51 - renamed the file system related classes to actually use the term "FileSystem". 2020-04-11 14:00:18 +02:00
Christoph Oelckers
ace3e29473 - removed the implicit conversion operators from FName.
These were creating dangerous interdependencies. It is better to do explicit conversions when needed.
As an added plus, this means that zstring.h no longer depends on name.h which was very annoying.
2020-04-11 14:00:13 +02:00
alexey.lysiuk
359e7927de - fixed comparison with uninitialized data in MAPINFO parser
This issue was reported by Valgrind
2020-02-23 13:43:47 +02:00
Christoph Oelckers
2e7af1338c - the big cleanup of the exit cleanup is done!
atterm is gone and only a few system-side functions use atexit.
All game side cleanup is performed in D_DoomMain now.
2019-10-07 20:28:55 +02:00
Christoph Oelckers
241a47602b - small fix 2019-10-01 15:24:17 +02: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
ce536485e1
- fixed typo in MAPINFO parser warning 2019-08-18 08:58:18 +03:00
alexey.lysiuk
c95a555f5e - added check for multiple parsing of the same MAPINFO
Warning message is issued when such case is detected
2019-08-17 11:53:29 +03:00
Christoph Oelckers
43041c21d8 - made author names work with title patches.
Most importantly, specifying a patch may optionally disallow showing the autor's name - this is for cases where a styled patch gets used for English but text-based translations of the map name should still be possible.
2019-08-07 12:09:47 +02:00
Christoph Oelckers
3e99216967 - added option to print a map author's name on the summary screen
For now only with font-printed map names. Allowing this with titlepatches will require more work and an option to disable.
2019-08-02 09:11:40 +02:00
Christoph Oelckers
20b6395cf0 - give UMAPINFO the ability to disable cluster-based exit texts. 2019-06-18 20:40:41 +02:00
Christoph Oelckers
2766303cfc - consolidated the 3 atterm implementations.
Each platform had its own copy. Why?
2019-06-10 12:01:01 +02:00
Christoph Oelckers
a8c47408fa - implemented 'deletelumps' feature and add Chex Quest 3 texts.
The episode titles required a workaround because the CQ3 episodes do not contain names in text form: If this is the case, the patch name will be used as a string table identifier to get a matching text for localization.
2019-04-14 22:46:03 +02:00
Christoph Oelckers
f1408bfb5b - allow retroactive substitution of cluster texts
This is needed to localize Harmony without swapping out the MAPINFO.
2019-04-09 00:21:06 +02:00