v1.2.0
Gameplay:
- Wall Climbing and Wall Jumping no longer work on invisible walls (the
Block Everything
linedefs). Please useImpassable
flag if you want players to climb invisible walls. - Players can now climb a ledge when going upward and holding crouch key. The most possible scenario for this is when using a jumppad.
- Added a
start_duel
command for server administrators to force start a duel if both duelers don't start the duel themselves for too long. - Added a Source-like spectator that can freely move thru walls. It is enabled by default and can be configured using
cl_spectsource
variable. - Missiles will now go thru shootthru 3d floors. Previously only hitscan weapons could do that.
- Player's pitch will no longer reset after flight effect is over.
- Throwing Hexen Maulotaur will consider player's pitch
- Hexen Maulotaur will no longer be aggressive to everyone if his master died before Maulotaur spawned
Engine fixes:
- Fixed doors, elevators, pillars and other moving sectors synchronization in multiplayer.
- Fixed changing
compat_no_accurate_crosshair
not making any difference. - Fixed custom missiles not using pitch offset when crosshair accurate weapons are enabled (
compat_no_accurate_crosshair 0
). - Fixed a crash during game initialization.
- Fixed a crash when a rocket explodes.
- Fixed a crash that occurred in the player menu if a derived class was missing the skins of its parent class because it wasn't on the list of available player classes.
- Fixed rail attack angle offset when crosshair accuracy is enabled.
- Fixed landing footstep sound always play at default volume.
- Fixed wall climbing logic in Doom movement.
- Fixed missile spawn Z when crouching.
- Fixed player camera hugging the floor when moving up an elevator in multiplayer.
- Fixed missile translation, scale, fill color, transfer sprite and flags not replicating for newly joined players.
- Items that were created during the match will no longer respawn below 3D floors.
- Linux builds now use SDL sound by default.
- The game will use less resources when not focused in multiplayer (requires using
vid_alwaysrender 0
)
Option changes:
- Added two new options to compat flag menu to configure
compat_disable_wall_friction
andcompat_no_accurate_crosshair
flags. - Sprite billboard mode was changed to
X/Y
by default (gl_billboard_mode
from 0 to 1). - Lowered default announcer volume in half (
snd_announcervolume
from 1 to 0.5).
Movement Modding:
- Modders can now assign ACS script to basic actions like
jump
,fire
,moveleft
,moveright
and so on. The goal for this is to add a way for modders to implement custom movement mechanics without suffering from ping delay in multiplayer. Please go to #################################################################### for details. - All new player movement variables are now available in ACS. Please make sure to download
zdefs.acs
andzspecial.acs
from this release to make use of new it. Please go to ############################################# for details. - The
Player.ForwardMove
andPlayer.SideMove
properties are working again. Also these properties were extended to support crouch running and crouch walking. Default parameters are nowPlayer.ForwardMove 1,1,1,1
andPlayer.SideMove 1,1,1,1
, and values represent walking speed scale, running speed scale, crouch walking speed scale and crouch running speed scale respectively. - Added
Player.FootstepsEnabled 1,1,1,1
property to configure whether footsteps should be played when the player is walking, running, crouch walking or crouch running respectively. - Refactored double jump, wall jump and dash logic into a second jump concept. The
doublejump
,walljump
anddash
are allsecond jumps
and they share a lot of code. All second jumps are activated by pressing the jump key while in the air.- Added
Player.JumpXY
andPlayer.SecondJumpXY
to configure jump and second jump horizontal thrust. - Added
Player.SecondJumpDelay
to configure delay after first jump and between further second jumps. - Added
Player.SecondJumpAmount
to configure how many second jumps a player can do before touching the ground. By default it is equal to 0, thus players can't do second jumps at all. Increasing the value will basically give the player a double jump possibility. You can also set it to -1 for infinite second jumps. - The
+WALLJUMP
flag will remove double jump feature and instead only trigger a second jump if a player is near a wall. - Added
+WALLJUMPV2
flag that does the same as+WALLJUMP
, but will thrust the player to the opposite direction of the wall instead of based on player input direction. - If you want to implement a horizontal dash feature, make sure to configure
Player.SecondJumpXY
property and lower thePlayer.SecondJumpZ
value. - Added
+DOUBLETAPJUMP
flag that will disable second jump trigger using the jump key and instead trigger the second jump by double tapping movement keys. - Added
*rampjump
alias for rampjump sounds.
- Added
- Renamed
*doublejump
and*walljump
sound aliases to*secondjump
. - Removed
Player.WallFrictionEnabled
property and addedcompat_disable_wall_friction
flag. - Renamed
Player.MaxWallClimbTics
toPlayer.WallClimbMaxTics
. - The
Player.WallClimbMaxTics
andPlayer.SlideMaxTics
properties are now float to be more configurable. - Added
Player.WallClimbRegen
andPlayer.SlideRegen
float properties to configure wall climb and slide stamina regeneration. Wall climb stamina only regens when standing on ground, while crouch slide stamina regens as long as the player is not sliding. - Removed
Player.AirThrustZUp
andPlayer.AirThrustZDown
because it is better to implement it using assignable action scripts.
Weapons Modding:
- Added
sv_weaponstayrefill
flag to enable refilling ammo if the player already has the weapon andsv_weaponstay
is TRUE. - Added
Weapon.AmmoDmScale
property to configure how much ammo to give in deathmatch gamemode. - Added
Weapon.AmmoSpRefill
andWeapon.AmmoDmRefill
to configure how much ammo to give when the player's ammo is below Weapon.AmmoGive value. - Added
Weapon.SwaySpeed
property to configure how far and how fast a weapon will sway whencl_weaponsway
is enabled. - Added
+NOPRIMAUTOFIRE
and+NOALTAUTOFIRE
flags. They act the same as+NOAUTOFIRE
, but only affect primary or secondary fire respectively. - Added
+NOEXPLODECEILING
flag. When hitting the ceiling the projectile just stops instead of exploding. - Added
+FBF_QUAKETHRUST
flag to push players vertically inA_FireBullets()
. - Added
+SEEKERMISSILENOZ
flag. Works the same as+SEEKERMISSILE
, but the missile won't follow the target along Z axis.
General Modding:
- Backported the
bool local
argument for ACSPlaySound()
function from GZDoom. Using it will make the sound only play for players that watch the game from specified actor's eyes. - The PlaySound() and PlayActorSound() functions don't play sound for the player that called this function if it is executed on server side. That was done to make it possible to implement unlagged scripts and not play the sound twice. If you need to play the sound on activator's client, then either call this function on both server and client sides, or use the new new bool playclientside argument. It comes right after the backported bool local. Setting this argument to true will make the sound play for the activator player as well.
- Added a second parameter to the Player_SetTeam line special to enable/disable the broadcast message. By default, the message is still printed to the console. (Ported from Zandronum 3.1).
- Backported
+FPF_TRANSFERTRANSLATION
and+FPF_NOAUTOAIM
flags from GZDoom. - Added
+SXF_TRANSFERSPRITE
flag to transfer player's sprite to an item he spawned. - Added new SBARINFO commands: IfSpectator [not] [dead] and IfSpying [not] that execute a sub block if the local player is (not) a (dead) spectator, or (not) spying on another player respectively. Ported from 3.1 by Kaminsky
- The
A_SetScale
function now has thepointer
andusezero
parameters like in GZDoom. - The
A_SetAngle
function now has thepointer
parameter like in GZDoom. - The
A_SetPitch
function now has thepointer
parameter like in GZDoom. - The
A_ChangeVelocity
function now has thepointer
parameter like in GZDoom. - The
A_ScaleVelocity
function now has thepointer
parameter like in GZDoom. - The
A_Teleport
function now has thepointer
parameter like in GZDoom.
Other:
- Players will now have an
in menu
sprite above their head if they opened game menu. Also a similar icon is displayed in scoreboard.