Commit graph

259 commits

Author SHA1 Message Date
Rachael Alexanderson
f3b0c3ac5e
- Roll back filesystem changes. These were causing instabilities in the master branch that were interfering with development. 2025-01-04 11:27:21 -05:00
Christoph Oelckers
d1abc3eb8c renamed things in file system to reduce Doom specific terminology. 2024-11-24 18:05:11 +01:00
Christoph Oelckers
634a646c2d take namespace enum out of namespace and added CheckNumForAnyName and CheckNumForFullNameInFile to clarify the meaning of CheckNumForFullName.
This is to take some renaming noise out of the upcoming refactoring.
2024-11-24 17:59:16 +01:00
Christoph Oelckers
ba2800d698 renamed GetFileFullName to GetFileName 2024-11-24 17:59:15 +01:00
RaveYard
702ef493f0 Fix and restrict level postprocessor instance 2024-11-18 08:04:05 -05:00
inkoalawetrust
34dc204517
Re-added sector damage for non-players. (#2773)
* Re-add non-player sector damage.

Reimplements SECMF_HURTMONSTERS and SECMF_HARMINAIR.

* Fixed 3D floor handling for sector damage.

Fixes sector damage to either monsters or players not working on (non-)solid 3D floors.
2024-10-20 07:51:36 -04:00
Rachael Alexanderson
4ba53e34e4
Revert "Added SECMF_HURTMONSTERS, SECMF_HARMINAIR and NOSECTORDAMAGE."
This reverts commit 391f496512.
2024-10-19 10:25:03 -04:00
nashmuhandes
f5c06551e4 Use a light_ prefix for custom ZDRay stuff, and actually parse light_softshadowradius for map things 2024-10-06 11:24:04 -03:00
inkoalawetrust
391f496512 Added SECMF_HURTMONSTERS, SECMF_HARMINAIR and NOSECTORDAMAGE.
- Added SECMF_HURTMONSTERS, which allows monsters in the flagged sector to be hurt with the same behavior as players (i.e damage leaking).
- Added SECMF_HARMINAIR, which allows players (And monsters with SECMF_HURTMONSTERS) to be hurt when they're inside the sector in general, instead of only when they're walking on it. Replicates the behavior of the DAMAGE_IN_AIR flag that SectorDamage() uses.
- Added NOSECTORDAMAGE, which makes actors with the flag immune to any harmful floors.
2024-09-29 18:12:30 -04:00
Rachael Alexanderson
89ce70fd0b - implement SPAC_Walking, mostly useful for teleports or for line crossings that should not happen when the player is falling or flying
- update UDMF spec entry
2024-09-29 16:06:36 -04:00
dileepvr
95b264bdb6
Isometric Mode and Robin (#2618)
* Feature-complete isometric mode fork.

* Dithered transparency condition tweaks.

* Dithered transparency for non-corpse monsters only (and missiles).

* SpectatorCamera vertical shift.

* Including math.h in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in r_utility.cpp also to keep visual studio happy.

* retrigger checks

* Have correct sprite angle-frame face the camera with orthographic projection enabled.

* Dithered Transparency now works properly on 3D floors. Moved that dither-trans flag setting code within hw_bsp.cpp to handle double-processing of linedefs. Added helper functions to FRenderViewpoint class 'bool IsOrtho()' and 'bool IsAllowedOoB()' to clean up checks everywhere in the code.

* Fixed indents. Added bbox property to subsector struct and use it instead of BSP nodes and Clippers (creating a bbox around viewpoint and checking for overlap) in orthographic mode when no fog of war is active. Turns out to be much faster. Though you need really big maps (Winter's Fury MAP01) to see a difference in fps.

* Non-linux checks don't like uint. Changed to unsigned int.

* Small change of a float to camera.zs. Ignore for testing. Should make no difference.

* Update actor.h to remain mergeable

RF2_NOMIPMAP was introduced, so I had to displace RF_ISOMETRICSPRITES to next bit.
2024-08-11 10:04:40 -04:00
nashmuhandes
f671018700 Clean up lightmap stuff in the namedef 2024-07-20 12:56:56 -04:00
Ricardo Luís Vaz Silva
35f66c5cc2 add COMPATF2_NOACSARGCHECK to disable ACS function argument count checks 2024-06-24 17:23:08 -04:00
Christoph Oelckers
370bec6c55 fixed GL nodes loader for maps loaded from mounted folders.
Due to how the reader  is created, READER_NEW will not work for it, it needs to force READER_CACHED.
2024-05-01 17:57:11 +02:00
Christoph Oelckers
81dade9ed5 fixed: for deleting files and folders on Windows we have to call the Unicode variants of these functions. 2024-05-01 09:50:19 +02:00
Christoph Oelckers
f7a15bc5f9 added emulation of Final Doom's teleporter z glitch and activate it for Saturnia MAP10 2024-04-27 10:46:29 +02:00
Rachael Alexanderson
558bd4674d
- handle dsda namespace like zdoom in udmf 2024-04-18 03:18:56 -04:00
Nash Muhandes
6226f03bb4
Update and correct ZDRay-related stuff in the specs and also in the n… (#2503)
* Update and correct ZDRay-related stuff in the specs and also in the namedef table

* Fix compile error
2024-04-17 18:53:46 -04:00
inkoalawetrust
f2451ff44b Made the damage of polyobjects customizable..
The damage done by polyobjects can now be changed by altering the health value of the start spots. A health of 1 (Default) is the default damage of 3, anything above 1 is instant death, and negative health values are the exact damage the polyobject does with every collision with an actor.
2024-01-26 06:59:52 +01:00
Christoph Oelckers
ea65768e0b fixed compile errors. 2024-01-07 12:28:21 +01:00
Christoph Oelckers
f13ae3b706 addressed a few things pointed out by static analysis
* marking move assignments noexcept
* using [[fallthrough]] consistently.
* getting rid of alloca.
2024-01-07 08:46:47 +01:00
Christoph Oelckers
df35d6c7ea fixed MBF21's instant death sector types. 2023-12-24 12:24:55 +01:00
Christoph Oelckers
737e3f22d7 implement the different reader types. 2023-12-14 17:22:32 +01:00
Christoph Oelckers
9bcbdfa09c take OpenDecompressor out of FileReader and fixed exploding decompression 2023-12-14 17:22:32 +01:00
Christoph Oelckers
292705ddc3 fixed OpenDecompressor flag handling. 2023-12-14 17:22:31 +01:00
Christoph Oelckers
ebc808e2a9 did some cleanup of the FResourceFile interface.
* making all members protected (but adding friend overrides for the classes which still need it)
* allowing to read data without retrieving the FResourceLump object.
2023-12-10 10:24:39 +01:00
Christoph Oelckers
fc84579319 let FileReader::Read return an opaque buffer instead of std::vector.
This can later allow returning a pointer to a static buffer from a cache without creating copies.
2023-12-10 09:07:49 +01:00
Christoph Oelckers
ad778b0bcc added DSDA's thrust properties for UDMF 2023-10-29 23:18:06 +01:00
Christoph Oelckers
bdee1f3d34 added per-sector sky UDMF properties.
(Hardware rendering only, the SW renderer is not in a state where this is easily done.)
2023-10-29 17:49:59 +01:00
Christoph Oelckers
9a94472650 added friction and colormap related properties from DSDA. 2023-10-29 16:50:20 +01:00
Christoph Oelckers
4ddffd233a added UDMF wall scrolling properties from DSDA. 2023-10-29 16:07:27 +01:00
Christoph Oelckers
2b0731a5a7 implemented DSDA's sector scrolling properties.
The major new additions are flags to specify which kind of actor is supposed to be scrolled and carrying ceiling scrollers.
2023-10-29 13:51:44 +01:00
Christoph Oelckers
b48caddb96 reworked the skewing properties.
The Eternity-based definitions are currently disabled due to unclear semantics and overall unsatisfying design. They can be re-enabled once their precise working has been established.
New properties were added to replace them with something that will be clearly specified and is fully ortohonal i.e. they will allow to align an upper tier skew with the floor as well and a lower tier's skew with a ceiling.
2023-10-20 18:14:20 +02:00
Professor Hastig
f92f6b8de4 added wall texture skewing.
This uses the same UDMF properties as Eternity recently introduced for the same feature.
2023-10-20 08:23:56 +02:00
Christoph Oelckers
7a5a2858a2 yet even more GetChars calls added. 2023-10-07 23:29:24 +02:00
Christoph Oelckers
c94c63110e added a third batch of GetChars call to FStrings. 2023-10-07 23:03:40 +02:00
Christoph Oelckers
89535b803a Backend update from Raze. 2023-10-07 18:42:24 +02:00
Christoph Oelckers
48ba63c022 added even more explicit GetChars() calls. 2023-10-03 15:55:08 +02:00
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +02:00
Christoph Oelckers
f7c379b720 - fixed: The UDMF loader did not adjust the floor/ceiling overlap state after processing UDMF sector plane properties. 2023-09-16 21:55:35 +02:00
Christoph Oelckers
ea51c92fda - validate partner seg index in LoadGLZSegs before using it
KDiZD Z1M10 has something bogus in there, this case will now trigger a node rebuild.
2023-09-16 09:48:43 +02:00
Christoph Oelckers
6847a9a5c1 - added a nomirrors compatibility handler and applied it to Conf256's CONF55 map.
This is for disabling broken plane reflection setups.
2023-09-14 20:21:35 +02:00
nashmuhandes
99983b37ca Update ZDRay UDMF specs and remove deleted features. 2023-09-11 20:09:16 +02:00
Christoph Oelckers
de770faeb1 - disabled nosectionmerge because it doesn't work right. 2023-09-06 21:47:20 +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
Christoph Oelckers
2c2bf0265f - refactored all places which treated FileData as zero terminated. 2023-08-22 22:54:53 +02:00
Christoph Oelckers
a0d679b84b - FileData cleanup and uncoupling from FString.
Work is still needed to allow this to use the lump cache directly because some decisions in the past made this data padded by a zero byte.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
8a5d3c096b - return a std::string from GetFileFullPath 2023-08-22 22:18:54 +02:00
Christoph Oelckers
25b7b18c3d - got rid of the two copying variants of fileSystem.GetFileShortName. 2023-08-22 22:18:53 +02:00
Christoph Oelckers
21d6eb99eb use std::vector as return value for the FileReader's buffer readers. 2023-08-22 22:18:21 +02:00