Skip to content

v1.2.0

Compare
Choose a tag to compare
@IgeNiaI IgeNiaI released this 01 Mar 17:44
· 659 commits to master since this release

Gameplay:

  • Wall Climbing and Wall Jumping no longer work on invisible walls (the Block Everything linedefs). Please use Impassable 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 and compat_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 and zspecial.acs from this release to make use of new it. Please go to ############################################# for details.
  • The Player.ForwardMove and Player.SideMove properties are working again. Also these properties were extended to support crouch running and crouch walking. Default parameters are now Player.ForwardMove 1,1,1,1 and Player.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 and dash are all second 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 and Player.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 the Player.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.
  • Renamed *doublejump and *walljump sound aliases to *secondjump.
  • Removed Player.WallFrictionEnabled property and added compat_disable_wall_friction flag.
  • Renamed Player.MaxWallClimbTics to Player.WallClimbMaxTics.
  • The Player.WallClimbMaxTics and Player.SlideMaxTics properties are now float to be more configurable.
  • Added Player.WallClimbRegen and Player.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 and Player.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 and sv_weaponstay is TRUE.
  • Added Weapon.AmmoDmScale property to configure how much ammo to give in deathmatch gamemode.
  • Added Weapon.AmmoSpRefill and Weapon.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 when cl_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 in A_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 ACS PlaySound() 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 the pointer and usezero parameters like in GZDoom.
  • The A_SetAngle function now has the pointer parameter like in GZDoom.
  • The A_SetPitch function now has the pointer parameter like in GZDoom.
  • The A_ChangeVelocity function now has the pointer parameter like in GZDoom.
  • The A_ScaleVelocity function now has the pointer parameter like in GZDoom.
  • The A_Teleport function now has the pointer 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.