in Engine, FPS

Raze 1.2.0 released

From ZDoom: link to original post

Download (OpenGL 3.3/OpenGL ES 2.0 and higher required)

Visit the new homepage (still under construction)


This new release brings several new features:

  • full internationalized fonts for all games
  • enabled language options for already complete languages (DE, PT, RO)
  • optional advanced weapon interpolation for Blood
  • GLES backend for better low end hardware support
  • enabled the text screens when quitting Duke and SW.
  • update of Blood's 'modern' features to the latest version of NBlood

Details

  • Duke: Use `DeferredGameStart()` instead of `ChangeLevel()` in `cheatLevel()` to instantly warp to the targeted map, matching DOS behaviour.
  • fixed bad serializers for vec2_t and vec3_t.
  • Exhumed: Avoid masking bits into the sector index as well.
  • Exhumed: Avoid masking sound flags into the sprite index.
  • Exhumed: fixed sound origin in DoRegenerates.
  • split off the extended sprite flags into their own word.
  • flag sprites for automapping regardless of the 'automapping' variable's value.
  • Attempt to fix music replacement definitions again. Store per-map music replacements in a TMap, and perform the replacements after parsing the MAPINFO
  • do not crash on badly defined walls where the end point is missing.
  • core shader override block, backported from GZDoom.
  • Blood: fixed super secret notification on the level summary screen.
  • Duke: fixed some incorrect cutscene playback speeds.
  • SW: fixed recursive saving of panel sprites
  • clear pspAsArray at the beginning of a save/load operation, not at the end.
  • SW: avoid crashing when unwinding from a savegame loading error.
  • Duke: fixed a few places using a sprite index where a player index is needed.
  • Duke: don't process input when not in a game.
  • Duke/RR: Fix clearing of weapons for RRRA E2L2 that should only be done for RR.
  • Fixed bug collecting lifeleech with ignited tnt/spray
  • Skip CheckProximityWall when newSectCheckMethod is set
  • Blood: don't abort the INI scanner if it finds a file with resource file index 0.
  • Remove early return from `GrpScan()` that was allowing addons to come through even if they weren't valid.
  • Duke: Correctly mark `Duke: Alien World Tour` as a Duke add-on.
  • fixed: List menus still allowed to select unselectable items with the mouse.
  • Fix issues with self collision on MoveMissile()
  • Add modern map kViewEffectSpotProgress support
  • Blood: Fix handling of QAVs defined as loopable while interpolating.
  • Blood: Implement `defineqav` DEF parser with hookup to game-side code.
  • Blood: Fix teleport triggers not updating player angle
  • Added new cl_bloodvanillaenemies CVAR
  • Improved GetClosestSpriteSectors() detection
  • Blood: removed redundant STAT_Update call in StartLevel.
  • Don't trigger fall scream after player has died
  • Fixed burning cultists switching type in water
  • Fixed glitched burning enemy state
  • Fixed burning Caleb using innocent burning sprite
  • Exhumed: fixed incorrect CD tracks being played through cutscenes
  • Exhumed: fixed crash when ending the game.
  • call ColorMatcher.Pick instead of BestColor when remapping a voxel.
  • avoid calling the node builder to triangulate degenerate sectors.
  • Duke: fixed sound lists for E4 intro cutscene.
  • Exhumed: fixed bad arguments of BuildGameoverScene.
  • Tweaked next/prev weapon behavior underwater
  • flag SW's cutscenes as 'boss death only'.
  • Fix ignited spray/TNT issue when going underwater
  • added means to define resource IDs in all container formats allowing long file names.
  • Blood: Expose legacy 1.0 weapon handling game option as a CVAR.
  • fixed detection of Steam's Duke3D on macOS
  • Blood: Restore originally intended `isRunning` code that never worked behind two CVARs to offer an alternative playing experience.
  • Blood: Perform interpolation of menu's blood dripping.
  • validate 'nextsector' fields on walls.
  • set currentLevel before calling engineLoadBoard. This is needed if the compatibility patcher needs to alter mapinfo data.
  • Blood: fix potential view sprite overflows
  • Blood: fix view sprites overflow in ROR code
  • Blood: fix OOB issue in aiPatrolSetMarker
  • Blood: fixed path validation for cutscene files.
  • fixed bad operator grouping in cheat code.
  • quote argument for sending cheats from the chat editor.
  • fix crash issue with empty VOCs.
  • Duke/RR: Call Bowling lane reset code only when playing RR.
  • adapted the Zip root folder eliminator to deal with archives that do not add proper folder records to their central directory.
  • adapted cheat input handler to treat spaces as '0' when entering parts of numeric fields.
  • Blood: fixed parser for 'mario' cheat to treat a leading space for the level number as 0.
  • Rides Again: Possible array index by -1 in Proj_DoHitscan(). Added check to prevent this.
  • handle newly activated 'unused' fields properly for serialization.
  • Build: Change `MAXSPRITESONSCREEN` from constant of 2560 to 1/4 of MAXSPRITES. Mods like Blood's Eviction are pushing these limits hard. Bumping the onscreen limit resolved recurring crash on `sstation.map` with no apparent ill-effects.
  • Blood: Add some nullptr checks to the `aiPatrol*()` inline bools.
  • Blood: Fix ammo colour for status bar and first fullscreen HUD.
  • Blood: Repair some missing nullptr checks causing a crash upon reloading after dying.
  • fixed initialization pf upscale state properly.
  • Add leading zero to `statFPS()` output (`vid_fps`) so that the text doesn't bounce continually when alternating between 10 ms and <10 ms.
  • Pass the missing fullscreen flag when creating a Vukan window.
  • SW: Remove `gi->FreeGameData()` from game as its inside code wasn't freeing game data but level data already freed in `gi->FreeLevelData()`.
  • Capitalise `CPART07.AR_` and `CPART15.AR_` in `ProcessOptions()`. The original files are in capitals and this is important as POSIX systems are case-sensitive. We can't cater towards every use-case but this should cover most bases.
  • Duke: Ensure `gi->NextLevel()` sets the skill level upon invocation.
  • Ensure `g_nextskill` is used everywhere so that setting skill for next level works properly.
  • Blood: Capitalise `Blood` for 1.0 and 1.1 grpinfo definitions for consistency.
  • Blood: Fixed grpinfo declarations for Blood 1.0 and 1.1 as per wildweasel on the forums: viewtopic.php?f=358&t=67220&start=45#p1149216
  • Blood: Hide `Multiplayer` from the menu.
  • Blood: Lock input after setting angle/horizon targets in nnexts.cpp code, then unlock in `ProcessInput()` where `resetForcedSyncInput()` is called.
  • Allow ticker to lock input to player's angle and horizon without having to force use of synchronised input.
  • Blood: Restore original horizon algorithm in `trPlayerCtrlSetLookAngle()` and adjust to Raze's backend input code.
  • Blood: Make delirium rotscrnang smoother with use of more precision.
  • Blood: Fix angle issues with NHIS.
  • Blood: Add nullptr check for `actor2` in `ProcessTouchObjects()`.
  • Fix menu strings and missing class declaration for `VideoOptions`.
  • added 'endofgame' CCMD. Not really good yet, but it does what's needed, i.e. write out the statistics for the current session.
  • Exhumed: Move key display on `DrawHUD2()` to accommodate larger ammo display for M60 with `cl_showmagamt 1` from 2a8e636066f475681c504dee98662fc04c8e0e3f.
  • Exhumed: Extend 7b8dcde5d24ef60b03b0067fc530d5f65b5da00c by showing the M60's clip/magazine amount available when `cl_showmagamt 1` is set.
  • Exhumed: Move pistol clip/magazine recalculation code that was added in 593bbe10efc429d9615aebce0c38cb0aba03092f from `FillWeapons()` to `CheckClip()`.
  • Exhumed: Change M60's clip/magazine capacity from 99 to 100 to better match the max ammo capacity of the weapon. This does not increase the player's available ammunition.
  • Exhumed: Make `FillWeapons()` fill the ammo count to the maximum allowed by the game for all weapons (300).
  • allow palette emulation for indexed hightiles.
  • support for indexed hightiles.
  • Allow CON-based games to have multiplayer episodes filtered from menu.
  • Exhumed: Ensure `FillWeapons()` recalculates the pistol clip amount after filling.
  • Exhumed: Make use of `cl_showmagamt`.
  • relaxed consistency checks for VOC files. Rampage Warrior contains a few sounds that failed validation so this check does not exist in the original 3D Realms sound code.
  • Blood: fixed order of initialization for voxels. Just like Shadow Warrior it needs to load its voxel table before .def files.
  • fixed texture lookup for hightile lookup. Not all commands had the proper flags to also look in the root folder.
  • SW: Create inline function `pspPresentRetractScale()` to scale the rate at which weapons present and retract based on the current tile's height vs. the original asset's height.
  • fixed crash when parsing malformed .def file
  • Remove some remains of Redneck Deer Huntin'.
  • Use `isWW2GI()` in more places.
  • Use `isNamWW2GI()` in more places.
  • Use `isRR()` in more places.
  • Use the new `isSWALL()` wrapper everywhere.
  • SW: Set default skill level to match original release and what the manual says is default.
  • SW: Ensure `PANEL_SPRITEstruct`'s `ox`/`oy` values are in the save data.
  • SW: Declare and initialise variables in `pWeaponBob()` vs declaring and initialising later on to reduce warnings about variables being uninitialised.
  • Optimise `fFindDistance2D()` to multiply by inverse rather than divide by a constant.
  • SW: Rename `cl_smoothsway` to `cl_swsmoothsway` and enable by default
  • SW: Factor out bob coordinate backups.
  • SW: Factor out panel interpolation backups;
  • SW: Factor out repeated panel coordinate math into inline functions.
  • SW: Remove fixed-point math from panel x/y coordinate updating.
  • allow external replacements of SW's 3D Realms logo to use their own palette.
  • disable texture name truncation for textures/ directory.
  • don't attempt to decode animation frames at offsets beyond the end of the current page.
  • SW: Promote `PANEL_SPRITEstruct`'s `xorig`/`yorig` values from int to double to match `x`/`ox` and `y`/`oy` respectively.
  • zero-terminate the buffer for reading Blood's INI files.
  • dynamically adjust SW's menu spacing based on language.

Statistics: Posted by Graf Zahl — Sun Oct 10, 2021 5:03 am — Replies 0 — Views 107