- In ZDoom the timer runs a bit too fast because roundoff errors make 35 tics only last 0.98 seconds. None of the internal timing has been changed, only the places where a time value is printed it will get adjusted for this discrepancy.
Hexen did this with a call to A_BridgeRemove in Thing_Destroy which merely set a flag in the bridge object, which cannot be done safely in ZDoom because it's not guaranteed that the ball object calls A_BridgeOrbit and the garbage collector may delete the bridge actor before it can be checked so now the Bridge's Destroy method deletes all balls attached to the bridge object itself.
int SpawnDecal(int tid, str decalname, int flags, fixed angle, int zoffset, int distance)
Traces a line from tid's actor until hitting a wall, then creates a decal there. Returns the
number of decals spawned.
* tid = Which actor(s) to start the trace at.
* decalname = Which decal to spawn.
* flags =
* SDF_ABSANGLE = Angle parameter is an absolute angle. Otherwise, it's relative to the origin actor's angle.
* SDF_PERMANENT = Decal ignores cl_maxdecals. Otherwise, it will eventually disappear.
* angle = Direction in which to search for a wall. Defaults to 0.0.
* zoffset = Offset from the middle of the origin actor for the Z height of the decal. Defaults to 0.
* distance = Maximum distance to search for a wall. Defaults to 64.
SVN r4330 (trunk)
once in the level struct and then use that for sectors with a NULL skybox. This fixes zpack's
E2M3 so that when it removes its sector stacks, you will get the default skybox in their
place, since stacked sectors and skyboxes use the same pointers in a sector.
SVN r4224 (trunk)
TOUCHY flag set, or checking the position of the unmorphed version will kill the morphed
version, since they will both exist in the same place at the same time, and TOUCHY is
really touchy about that.
SVN r4219 (trunk)
whatever spawned the random spawner already took care of this.
- Added a maxdist parameter to P_CheckMissileSpawn() to help ensure that it doesn't completely
move the spawned missile outside of its shooter (and potentially beyond a wall the shooter
might happen to be standing next to).
SVN r4194 (trunk)
can perform based on the amount of damage actually taken after all modifications are done to
it. However, if the damage is canceled away, blood will still spawn for the original damage
amount rather than the modified amount.
SVN r4012 (trunk)
and two new functions, both of which are intended for use in conjunction with SetHUDSize:
* SetHUDClipRect(x, y, width, height[, wrapwidth]) - Set the clipping rectangle for future
HUD messages. If you do not specify <wrapwidth>, the HUD message will be layed out as
normal, but pixels outside the rectangle will not be drawn. If you specify <wrapwidth>,
then the message will be wrapped to that width. Use SetHUDClipRect(0, 0, 0, 0[, 0]) to
reset everything
back to normal.
* SetHUDWrapWidth(wrapwidth) - Sets the wrapping width for future HUD messages without
altering the clipping rectangle. If you set the wrapping width to 0, messages will wrap
to the full width of the HUD, as normal.
* HUDMSG_NOWRAP - A HUDMessage() flag that disables wrapping for one message. It is
functionally equivalent to SetHUDWrapWidth(0x7FFFFFFF), except that it only affects the
message it's attached to.
SVN r3960 (trunk)
that it can't be used as an infinite source of ammo when sv_weaponstay is true).
- Fixed: WeaponGiver should not remember the given weapon after it is picked up (to avoid giving
a weapon owned by one player to a different player when sv_weaponstay is true).
SVN r3886 (trunk)
* HUDMSG_NOTWITH3DVIEW : This message does not appear when the 3D view is active.
* HUDMSG_NOTWITHFULLMAP : This message does not appear when the fullscreen automap is active.
* HUDMSG_NOTWITHOVERLAYMAP : This message does not appear when the overlay automap is active.
These flags may be combined, so for example: HUDMSG_NOTWITHFULLMAP | HUDMSG_NOTWITHOVERLAYMAP
would prevent the message from appearing if any form of automap is active.
- Added HUD message layers, which are ORed into the type field:
* HUDMSG_LAYER_OVERHUD : This is the default and standard behavior. The message appear on
top of most HUD elements. This definition is just included for completeness' sake; you
don't need to explicitly use it.
* HUDMSG_LAYER_UNDERHUD : The message appears underneath other HUD elements, such as the status bar.
* HUDMSG_LAYER_OVERMAP : The message appears on top of the fullscreen automap. At the moment,
this layer is functionally equivalent to using the flags HUDMSG_NOTWITH3DVIEW | HUDMSG_NOTWITHOVERLAYMAP.
However, if Blzut3 decides to implement support for drawing the automap permanently on a
second screen, messages on this layer will move to that screen with the automap and be permanently
visible as long as the map is visible on that other screen.
These are not flags, so for example HUDMSG_LAYER_UNDERHUD | HUDMSG_LAYER_OVERHUD is not valid.
SVN r3821 (trunk)
pickup an item at all. (For instance, normally players in Hexen can still pick up other players'
weapons for ammo. With this flag set, they cannot do that either.)
SVN r3751 (trunk)
DHUDMessageFadeOut::Tick() starts counting from the time the last line was fully displayed, not
from the time its first character was displayed.
SVN r3665 (trunk)
- fixed: The same rules that are used for deciding if a weapon attack took place should be used when checking the PIERCEARMOR flag in P_LineAttack: It should be ignored if the attack doesn't originate from the weapon.
SVN r3649 (trunk)