github ZDoom/Raze 1.0.0
Raze 1.0.0

latest releases: 1.10.2, 1.10.1, 1.10.0...
3 years ago

Raze is finally out of beta!

Major new features in this version:

  • Vulkan backend is finally working.
  • Improved support for starting mods by dragging & dropping them on Raze.exe, primarily for Blood where .inis can now be autodetected.
  • voxel rotation can now be used in all games.

Full changelog:

  • implemented support for paletted textures to Vulkan backend.
  • fixed invalidation of programmatic textures. This is only relevant for Vulkan because it stores the descriptor sets with the material, not the hardware texture.
  • pad out the StreamData buffer to 16 bytes and avoid any form of conditional compilation here. Vulkan does not manage to get the shader properly compiled without this.
  • always ensure that the global index buffer is not empty. This needs to be valid for Vulkan, even if it isn't used.
  • block opening of the menu in the fade out phase of a screenjob and in Exhumed's map/intermission screens. At these places there's some inteference that can bring the engine into an unstable state.
  • RRRA: Sector effector type 156 is not supposed to scroll the floor texture.
  • SW: fixed interpolation for sector object sprites. When checking for an existing interpolation it needs to check the actual sprite, not just the interpolation type.
  • Blood: disable look left and look right in the classic key configuration.
  • strip out macOS resource fork folders because they can contain data that can confuse file detection.
  • allow loading Zips where all content is in a subdirectory.
  • autodetect .inis when loading Blood mods. This will allow dragging & dropping such archives without further user intervention.
  • fixed some swapped parameters in status bar code.
  • Fix undefined behavior/potential OOB access in ST_21_FLOOR_DOOR. g_AnimateGoal does not take a sector number, it takes an animation index, and caps at 1024, not 4096.
  • fixed tileImportFromTexture. The parser read numbers with leading zeros as octal, which is not wanted here and texture lookup by file name must be forced for root directory entries.
  • Duke/RR: Don't delete master switch sprites. The sound system may play sounds on them after their deletion so they have to be retained. Fixes #288.
  • handle voxel rotation in the backend to enable it for all games. This was previously only present in the Blood module and missed in Exhumed from upstream so the entire option was rather pointless. Fixes #290
  • disabled 'isRunning' in Blood entirely. After discovering yet another misbehaving place in the game I think it can be safely concluded that this is better left off unconditionally. Fixes #292
  • fixed music in Blood's menu. This is only supposed to play for the fade-in of the background but needs to stop when the menu appears. Fixes #291
  • added a check for game-side-defined voxels when discarding one-sided wall sprites viewed from the back. Fixes disappearing voxel switches in SW.
  • sethorizon(): Ensure SB_CENTERVIEW bit is always cleared if horizon target is set.
  • gameinput.cpp: Block player input within sethorizon() and applylook() if target for each has been set by the ticker. Stops players having the ability to provide input and fight the system trying to set an input.
  • Further work within PlayerAngle and PlayerHorizon structs following 39fe9ef and bf2d807.
  • Fix Linux GCC 7 continuous integration target.
  • InputState::ClearAllInput(): Only clear crouch_toggle bool if outside of a level, and resend SB_CROUCH sync bit if inside a level and crouch_toggle is true. Fixes #287.
  • Re-arrange swaddons[] const char array so that /gameroot is picked up first following changes in f4b27bb.
  • binaryangle.h: Fix constexpr issue on GCC builds following bf2d807.
  • Duke: DoPlayer(): Ensure SB_CENTERVIEW bit is cleared when setting a horiz target from CON.
  • PlayerHorizon: Replicate changes to settarget() and processhelpers() methods from 39fe9ef.
  • PlayerAngle: Adjust how settarget() methods store angle for unsynchronised angle adjustments and adjust processhelpers() method accordingly.
  • fixed uninitialized clear color variable.
  • updated the earcut.hpp triangulator. The old one wasn't triangulating the bathroom sector in DUKEDC2 properly, the bug got fixed upstream in the mean time.
  • use clamp instead of bit masking to handle out of range interpolation factors for models.
  • fixed: G_BuildTiccmd needs to clear the command struct. This could otherwise pick up some stray data from earlier calls and create bogus input. Fixes #97

Don't miss a new Raze release

NewReleases is sending notifications on new releases.