- major overhaul of the static sector damage system:
* consolidated special based damage, Sector_SetDamage and UDMF properties into one set of damage properties. The parallel handling that could lead to double damage infliction was removed. This also means that damage through sector specials can be retroactively changed through Sector_SetDamage.
* all special cases were turned into flags. The new system can switch between Strife's delayed damage and regular damage, and it can also set whether terrain splashes are used or not. It also has access to the special properties of the end-level type (i.e. switching off god mode and ending the level.)
* the damage related flags are accessible through Sector_ChangeFlags, not the damage functions themselves.
Since Eternity got this it's a good candidate for a potential Super-Boom standard, and it's also useful for silencing a sector temporarily without removing the sound sequence.
- moved sector secret information from sector_t::special and secretsector to two flag bits in sector_t::Flags.
This is to get rid of the bit masking madness in the floor/ceiling thinkers which need to preserve this bit when they change a sector's type.
Tags are now handled by a tag manager class which stores sector/tag pairs. This way multiple entries can be added per sector.
Since UDMF does not have any arrays the additional tags are stored as a space separated string as 'MoreIDs'.
the camera is on. Mostly, this means testing the distance of the camera to the plane rather
than computing the plane's Z at the camera and comparing that with the camera's Z.
SVN r4220 (trunk)
- FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.
SVN r3258 (trunk)
- added Sector_SetTranslucent special so set translucency of portal planes at run time.
- added 'additive' information for portal planes. This is no-op at the moment because the flat drawers can't handle additive translucency yet though.
SVN r3149 (trunk)
the sector. Note that this contrasts with sound sequence things in that it takes a name and
not a number. Also, placing a sound sequence thing in a sector will override this property.
SVN r2492 (trunk)
that were changed some time ago.
- fixed: The damage inflictor for a rail attack was the shooter, not the puff.
- Fixed: Floor and ceiling huggers may not change their z-velocity when seeking.
- Fixed: UDMF set the secret sector flag before parsing the sector's properties,
resulting in it always being false.
- Renamed sector's oldspecial variable to secretsector to better reflect its
only use.
- Fixed: A_BrainSpit stored as the SpawnShot's target the intended BossTarget,
not itself contrarily to other projectile spawning functions.
A_SpawnFly then used the target for CopyFriendliness, thinking it'll be the
BossEye when in fact it wasn't.
- Added Gez's submission for a DEHACKED hack introduced by Boom.
(using code pointers of the form 'Pointer 0 (x statenumber)'.
- fixed: Attaching 3DMidtex lines by sector tag did not work because lines
were marked by index in the sector's line list but needed to be marked by
line index in the global array.
- fixed: On Linux ZDoom was creating a directory called "~.zdoom" for
save files because of a missing slash.
- fixed: UDMF was unable to read floating point values in exponential format
because the C Mode scanner was missing a definition for them.
- fixed: The recent changes for removing pointer aliasing got the end sequence
info from an incorrect variable. To make this more robust the sequence index
is now stored as a hexadecimal string to avoid storing binary data in a string.
Also moved end sequence lookup from f_finale.cpp to the calling code so that
the proper end sequences can be retrieved for secret exits, too.
SVN r1777 (trunk)
issues that caused its inclusion. Is an optimized GCC build any faster
for being able to use strict aliasing rules? I dunno. It's still slower
than a VC++ build.
I did run into two cases where TAutoSegIterator caused intractable problems
with breaking strict aliasing rules, so I removed the templating from it,
and the caller is now responsible for casting the probe value from void *.
- Removed #include "autosegs.h" from several files that did not need it
(in particular, dobject.h when not compiling with VC++).
SVN r1743 (trunk)
* scalex_top
* scaley_top
* scalex_mid
* scaley_mid
* scalex_bottom
* scalex_bottom
- Added sidedef versions of the linedef flags wrapmidtex and clipmidtex (via
UDMF; names are the same). If the flag is set on the line, it applies to
both sides. Otherwise, each side can control them individually.
SVN r1645 (trunk)
- Added support for ACS functions that can be defined without recompiling ACC.
- Fixed: The short lump name for embedded files must be cleared so that they
are not found by a normal lump search.
- Added AProp_Notarget actor property.
- Fixed: TraceBleed was missing a NULL pointer check,
- Fixed: P_RandomChaseDir could crash for friendly monsters that belong to
a player which left the game.
- Changed A_PodGrow so that it plays the generator's attack sound instead of
"misc/podgrow".
SVN r1575 (trunk)
replaced it did the check at the center of the area intersected by the
sprite and the drawseg, whereas 2.0.63 only did the check at the location
of the sprite on the map.
SVN r1411 (trunk)
in such a sector. As a workaround for current map formats a new actor
(DoomEdNum 9041) was added that can set the extended sector flags without the
use of ACS and sector tags. The new flag can also be set with Sector_ChangeFlags.
- Fixed: Players ignored MF2_TELESTOMP and always telefragged what was in the way.
- Fixed: Actors with MF5_NOINTERACTION were not affected by the time freezer.
SVN r1315 (trunk)
sounds are handled.
- Why do polyobjects have a 3D start spot? Flattened it to 2D.
- Moved the sector sound origin calculation out of fmodsound.cpp and into
s_sound.cpp so that the near sound limiting will use the correct sound
location for deciding on neighbors.
SVN r1061 (trunk)
arbitrary point. It has been replaced with a variant that takes a polyobject
as a source, since that was the only use that couldn't be rewritten with the
other variants. This also fixes the bug that polyobject sounds were not
successfully saved and caused a crash when reloading the game. Note that
this is a significant change to how equality of sound sources is determined,
so some things may not behave quite the same as before. (Which would be a
bug, but hopefully everything still sounds the same.)
SVN r1059 (trunk)
that animated icons can be done with it.
- Changed FImageCollection to use a TArray to hold its data.
- Fixed: SetChanHeadSettings did an assignment instead of comparing
the channel ID witg CHAN_CEILING.
- Changed sound sequence names for animated doors to FNames.
- Automatically fixed: DCeiling didn't properly serialize its texture id.
- Replaced integers as texture ID representation with a specific new type
to track down all potentially incorrect uses and remaining WORDs used
for texture IDs so that more than 32767 or 65535 textures can be defined.
SVN r1036 (trunk)
consideration the size and shape of the sector producing the sound. See
the lifts on Doom 2 MAP30 and compare with previous versions.
- Fixed: The stop sound for sector-based sound sequences was not played with
the CHAN_AREA flag.
- Removed the distinction between S_Sound() and S_SoundID() functions. Use
S_Sound() for both names and IDs from now on.
SVN r1034 (trunk)
- Grouped the sector plane texture transformation options into a separate
structure and replaced all access to them with wrapper functions.
SVN r1033 (trunk)
were doing some things in their destructor that needed to be done in the
Destroy method.
- Rewrote the interpolation code. Interpolations are no longer some objects
that are separate from the rest of the engine. Instead, they are owned by
the thinkers starting them. Also, polyobjects only spawn a single interpolation
for each polyobject instead of a single one for each vertex.
Also, different types of interpolation objects are used for different types
of interpolation so that they can do some additional work if eventually needed.
SVN r1018 (trunk)