Skip to content

Releases: ZDoom/Raze

Raze 1.9.1

01 Jan 07:07
Compare
Choose a tag to compare
  • account for resorted directories when accessing the local file path array in file_directory.cpp. This fixes issues with wrong data being loaded from directories.

Changelog from 1.9.0:

  • fixed autoaiming. The WW2GI pistol check was completely wrong. :(
  • perform music volume lookup by lump number instead of name. This way any setting will work for both short and long file names.
  • do music volume adjustment by modifying the raw waveform data to get around the clamping of AL_GAIN.
  • fixed: The generic sound loader for SNDINFO must use S_LookupSound to match the feature set of the game specific code.
  • added missing null check in clipmove. This only very rarely triggered for Blood's projectiles, no other things use this code path.
  • Duke: Fixed statnum for the geisha statues.
  • RR: fixed bad destination name for one Route66 sound
  • Blood: fixed cutscene sound not playing when starting a map from the console.
  • RR: Set Route66's Gator's size explicitly. The CON code for this sets its correct size with 'sizeto' which is an animating instruction so it is clearly visible when they shrink to their proper size.
  • internal FileSystem rewrite.
  • RR: fixed typo in spawn list.
  • RR: fixed secret trigger reporting.
  • fixed: Resource IDs for sounds must be unique. If an ID gets used it must be taken off any other sound that has it.
  • SW: fix vertical spread for the Uzi
  • fixed case mapping for Georgian script.
  • Duke: fixed keycard colors on alt. HUD.
  • Exhumed: fix crash on bad player animation sequence.
  • Duke: remove setting the xflip flag for sprites rendered in a mirror. The new renderer handles this internally so this flag will just un-flip the sprite again.
  • fix ChangeLevel when called for ending the game.
  • reverted some unstable changes from 1.8.x.

Raze 1.9.0

30 Dec 09:19
Compare
Choose a tag to compare

Lots of bugfixes (details to follow)
This also reverts some organizational changes from 1.8 that proved to be too unstable and were causing countless bug reports.

Raze 1.8.1

12 Nov 13:42
Compare
Choose a tag to compare

This is a hotfix correcting the bad zmusic DLL name in 1.8.0. No other changes were made.

Raze 1.8.0

12 Nov 12:42
Compare
Choose a tag to compare
  • Exhumed: do raw serialization of FreeListArray.
  • SW: fixed coolie death animation.
  • Blood: fix ammo count for 2 items.
  • Don't inline M_Calloc() calls because GCC is shit.
  • Duke/RR: fixed player dying when falling from great heights while god mode being on.
  • Duke: Remove incur_damage() from dispatcher.
  • Duke: Use checkp() in ParseState::parse() to remove some duplicated code.
  • gave translations a dedicated scripted type.
  • Exhumed: Return early in movesprite() if the actor's sector is null.
  • Exhumed: fix handling of angles for the queen's eggs when colliding with a wall.
  • Exhumed: Clean up push factor in runlist_CheckRadialDamage() for players.
  • Exhumed: Always perform a range check on a sequence's length.
  • Exhumed: fixed radial damage push factor.
  • Exhumed: sanitize stupid implementation of UpdateEnemy and fixed bad use of it for the queen's eggs.
  • Consolidate Exhumed's nCamerapos and SW's DSWPlayer::si into something inside DCorePlayer.
  • bumped minimum OS version to 10.13 in .plist file
  • Blood: draw the powerup overlay on the alt HUD as well.
  • Duke: fixed breakable ceilings.
  • renamed $conreserve to $resourceid.
  • added some awful hackery to handle the different offsetting of Blood's native voxels vs. those imported via .DEF.
  • Make some utilities in vectors.h available as constexpr.
  • Duke: fixed bad loop index in gamevar init code.
  • cleaner handling of SW's panel sprites
  • Base all player structs on a common base class.
  • initial script exports for Blood, including some static data tables
  • retrieve time in fillSummary.
  • move kill/secret management into the shared code
  • moved all Is***Sprite function to animatesprite.cpp because that's the only place they still get used from.
  • Blood: get rid of the mirror struct and related data. This is a relic of Polymost.
  • renamed atfields in gib.cpp
  • took a hint from Blood-RE and replaced that awful reconstructed sorting function with the qsort call it most likely originally was.
  • consider swvoxfil.txt a known name for SW mods.
  • Duke: Fixed WT fallback for classic sounds in cases the user data does not exist.
  • fixed clipping range of artificially split sectors.
  • Exhumed: fixed sprite positioning issues
  • Vulkan backend updated.
  • zlib replaced with miniz.
  • FileReader is now 64 bit capable.
  • jpeg replaced with stb-image.
  • fix incomplete palette generation for paletted rendering.
  • added new Zoom variants of DukeDC and Vacation add ons.
  • added WebP and QUI image support
  • added missing cyrillic у (small U) for Blood's SmallFont
  • fixed broken character fallback for cyrillic T.
  • consolidated the 4 ReadSound functions.
  • controller handling improvements
  • use stb_sprintf.
  • cleanup on the sound init code.
  • macOS version detection overhaul.
  • SW: remove redundant ; in sector object serializer.
  • RRRA: Mama Jackalope's poison cloud did no damage
  • -fixed: tilenum 0 is a valid image for flat and wall sprites.
  • Blood: fixed bad scaling in viewBurnTime.
  • RR: spawn the correct player class.
  • remove lots of unneeded SAVE_CODE and SAVE_DATA declarations.
  • SW: migrate state functions to the VM.
  • give SW's sounds proper names and move their definition out of the EXE.
  • fix crash in RR when dying with an item-less weapon.
  • NOSHADOW flag.
  • fixed missing handling for BADGUYSTAYPUT flag.
  • fixed: The MVE player ignored the initial sound playing state.
  • Duke: for camera textures, set display_mirror to 2, not 1.
  • Blood: clear gHitInfo when starting a level.
  • Duke: clear resource ID when setting up the original sounds for World Tour.
  • Duke/RR: Use the exact same trajectory for autoaiming and the actual attack hitscan for the pistol.
  • Duke: Allow view tilting for RRRA vehicles on separate CVAR.
  • Duke: Convert RRRA's vehicle HUD tilting to a DAngle.
  • Allow roll input through the packet system, giving us 6DOF for VR usage, etc.
  • check for NOGRAVITY in 'fall'.
  • only declare the weapon gamevars for WW2GI.
  • made fallspecial game independent and eliminated all the wrapping and callback weirdness with fall.
  • clean out RRRA move flags in the CON parser for the other games.
  • added map flags to enable RR's special sector types in Duke as well.
  • use the symbolic constants for ST_160 and ST_161 in the last remaining places where they hadn't been put before.
  • eliminated lots of direct tile references in spawn() calls.
  • Exhumed: Change formula for cl_exviewtilting 2.
  • Exhumed: Move UpdateCreepySounds() into MoveThings() so its processing time can be clocked.
  • Exhumed: Move bobangle global into Player struct.
  • Exhumed: Move updatePlayerTarget() call back to main ticker loop.
  • Exhumed: Setup detection for Steam version.
  • Exhumed: Sequence refactor
  • Duke: fixed hitscan spread for enemies
  • Add more GOG registry search paths
  • Blood: display the charge meter for the dynamite also on the alternative HUD.
  • renamed temp_data[0] to 'counter' and map temp_data[5] to the now free temp_data[0].
  • migrate all script related info to the data stored in the actor classes.
  • added the action, move and ai properties.
  • got rid of the g_t pointer in the CON interpreter.
  • moved actioncounter and curframe to a dedicated variable.
  • refactored AI storage as well to not use ScriptCode anymore.
  • moved 'move' data out of the ScriptCode array as well.
  • moved actions out of the ScriptCode array and gave them a dedicated struct with meaningful member names.
  • Exhumed: don't pass uninitialized data to the sound engine.
  • Duke: fixed pitch calculation for explosion sounds.
  • validate statnum before spawning an actor.
  • Blood: fixed bad damage scaling in ConcussSprite
  • cleaned up Duke's very broken kill count system.
  • fixed swapped language IDs for Norwegian and Dutch.
  • Allow disabling of level start/end cutscenes if a user desires.
  • Update player camera angles right before drawing a frame.
  • Move invertmouse CVARs into common code.
  • Blood: Fix missing input bit in GameInteface::reapplyInputBits().
  • Duke/RRRA: Fix HUD tilting when reversing motorcycle backwards.
  • Ensure GameInput::Clear() clears the entire object.
  • Don't loop through all joystick axes and zero them in I_GetAxes().
  • Only scale the mouse input in GameInput::processMovement(), where it's needed.
  • Remove GameInterface::getConsoleAngles(), it's not needed anymore.
  • Make scaleAdjust a float since it's what's needed anyway.
  • Internalise InputPacket used in movement functions.
  • Move all mouse handling into GameInput class.
  • Initial conversion of game input into class GameInput.
  • Relocate processCrouchToggle().
  • Rearrange bools in processVehicleInput().
  • Move PlayerAngles constants into the class.
  • make RR's ingame thunder effect not depend on having seen one specific texture.
  • Exported all of Duke's actors
  • Exhumed: Backup actor location in BuildAnubis().
  • Exhumed: Rename last argument in seq_MoveSequence() to nFrame.
  • Duke: Ensure we backup player angles and not just pos when loading a save.
  • Blood: Fix potential null actor access in gi->CanSave().
  • Duke: Fix potential null actor access in gi->CanSave().
  • Remove backend crouch toggle solution redeploy with Duke/Exhumed/Blood using new ESyncBit bit.
  • Inline the remainder of InputState methods.
  • Move remaining mouse CVARs from inputstate.cpp to gameinput.cpp.
  • Move HIDInput struct from inputstate.h to gameinput.h.
  • Use an FVector2 inside HIDInput.
  • Eliminate the duplicate mouse storage since we have things in the right spot now.
  • Move all mouse CVARs from inputstate.cpp to gameinput.cpp.
  • Move remaining CCMDs and non-inputstate related items to gameinput.cpp.
  • Stop passing inputBuffer around within gameinput.cpp since everything's local now.
  • Move ApplyGlobalInput() into gameinput.cpp.
  • Make the turbo turn functions static within gameinput.cpp.
  • Move Duke's vehicle input processor into gameinput.cpp.
  • Duke: Make vehicle input code work generically for possible reusage.
  • Duke: Merge vehicle input code into one function.
  • Duke: Move RRRA vehicle tilting out of the input code and into the playsim.
  • Remove the mouse input negation out of the event handler.
  • Remove now-unneeded inline wrapper getHidInput().
  • Recover two ESyncBit values for other uses.

Raze 1.7.1

15 Apr 10:44
Compare
Choose a tag to compare
  • language update, now featuring Italian and Turkish
  • fixed a few bad scaling values.
  • Duke: do not call DukeActor's OnInitialize function for projectiles.
  • Blood: display the charge meter for the dynamite also on the alternative HUD.
  • Exhumed: don't pass uninitialized data to the sound engine.
  • Duke: set clipdist default also for external bad guys.
  • Duke: fixed pitch calculation for explosion sounds.
  • Blood: fixed bad damage scaling in ConcussSprite
  • Duke: apply default scale only to enemies defined in CON. This code does not apply to the Recon!
  • added back WT's fireball's postHitEffect. This somehow got lost during scriptification.
  • Duke: fixed scale default for non-ememies.
  • Blood: Fix missing input bit in GameInteface::reapplyInputBits().
  • Duke: Ensure hard landing check is done after pitch keys.

Raze 1.7.0

02 Apr 08:19
Compare
Choose a tag to compare
  • new language support: Spanish, French, Danish and Norwegian.
  • Duke: fixed weapon spread with non-pistol hitscan weapons.
  • Duke: Add a myriad of pitch recentering CVARs.
  • Duke: fixed potential logic deadlocks with the green slimer.
  • fixed lookup table generation for foggy fades.
  • Duke: Add CVAR to allow disabling pitch reset with pitch input.
  • Duke: Consolidate vehicle code between boat/moto.
  • use GAMENAMELOWERCASE for defining GAME_DIR.
  • Duke: Remove everyothertime global, we can just use PlayClock.
  • fixed STAT_ACTORS must handle actors where scale.X is 0 as 'deleted' and destroy them.
  • Duke: Make vehicle input functions work on floats and not doubles and FAngles.
  • removed the ValidateTarget call from HackSeqCallback to silence warning messages
  • Duke: Ensure spawned player actor has view height baked in up until the first getzrange() call.
  • Null the roll angle used for weapon drawing when looking left/right and with Blood's delirium for now.
  • Blood: Fix state checks when using TNT while diving underwater.
  • Exhumed: Ensure Player::items[] is signed.
  • Blood: Fix palette of actor sprite on 2D automap.
  • Blood: Fix shotgun ammo display when player fires a shell, switches weapons, then switches back.
  • Repair voxel 2D vector adjustment.
  • Blood: Repair velocity scaling in ConcussSprite().
  • Exhumed: major internal cleanup
  • added a font option to have lower case for Latin only.
  • Re-calculate the sector for each eye if it has a shift factor applied.
  • completed all fonts for all European languages.
  • Fix crash in Shadow Warrior when player dies
  • Blood: fixed application of push velocity.
  • Exhumed: avoid shade hacks with palette emulation on.
  • Blood: make sure that tracking condition data is always properly initialized.
  • partially Revert "- pass shade values to sky renderer" Duke never did this.
  • Blood: reverted GetSpriteExtents to integer math.
  • SW: make player sounds always follow the source.
  • allow setting Duke's relevant sound properties through SNDINFO.
  • Duke: fixed incorrect sector in a few sprites of World Tour E5L1.
  • added adaptive layout for RR's summary screen as well. To better handle the spacing for accented characters the text scale was slightly reduced.
  • make layout of Duke's summary screen adapt to text and screen size.
  • RR: stop the bowling pins' tumbling animation when they come to a rest.
  • Duke: added a fully scriptable switch system
  • Change string Ninja Slice Animation to Alternative Ninja Slice to better reflect what it does.
  • Fixed a Mac debug build crash where CallAnimate attempted to pass one too many parameters to the VM.
  • Blood: add all statically stored EventObjects to the GC processor.
  • moved GetReservedScreenSpace function into the scripted status bar where it belongs.
  • split several texture flags off into a surface type value. Using the same field in the TexExtInfo struct as Blood's surfType. This frees up a lot of flags for later use.
  • adapted the breakable stuff interface in Duke to Texture IDs.
  • preparations and annotations for places in SW where textures are stored in tags.
  • tile system refactor. BuildTiles has been replaced with something that better integrates with the underlying texture manager
  • added mapSpawned member to DDukeActor
  • Exhumed: The ObjectList was not properly garbage collected.
  • fixed kill counting in Blood.
  • SW: For single player games, call PlayerDeathReset() from TerminateLevel() and not DoPlayerDeathCheckKeys().
  • SW: Don't call DoSpawnTeleporterEffect() upon death. This causes an air bubble to spawn above the player for a single tic, even while on land until the level truly restarts. Since we're restarting, its better to just not do this.
  • SW: Don't reset player pitch upon death.
  • Duke: Always use tsprite pos/angle when used in conjunction with viewvec or viewang.
  • rewrote drawtile CVAR handling to render the image larger and allow using aliases.
  • SW: do a proper implementation for sprites which do not want texture animations.
  • gave all textures that were accessed with their "#0xxxx" name a descriptive names.
  • disabled the automatic localization feature in the texture manager.
  • rewrote the tile pixel cache to work on texture IDs instead of tile IDs. This allows using the related checking features with other textures as well.
  • SW: fixed camera validation
  • got rid of gotpic. Now everything uses the 'seen' flag in the texture which indicates that the texture was actually used for hardware rendering since the last check.
  • removed canvas hack stuff from Buildtiles after cleaning up the mess in SW.
  • initialize all special tiles to their intended type before starting the game.
  • do the handling of 90° rotated wall textures in the renderer instead of duplicating the texture.
  • Duke: implemented customizable breakable walls and ported all hard coded variants to use this.
  • Duke: implemented breakable walls with external definitions.
  • Duke: removed the limit of 64 on-state switches from the init code.
  • Duke: split the sprite animation code for CON-based actors into a separate function.
  • Duke: moved the shadow creation code out of animatesprites into a common subfunction.
  • Duke: cleaned up the main thinker loops, using a flag to denote actors that are not on STAT_ACTOR but need to run CON code.
  • Duke: gave proper names to ST_160 and ST_161.
  • define Duke's skies by name.
  • Duke: added generic destructibles
  • backported sound volume fix from NBlood.
  • Duke: use a flag for outer space textures.
  • Duke: exported the tile flag setters to RMAPINFO.
  • Change DCoreActor::oang to a DRotator named PrevAngles.
  • Change spritetypebase::angle to a DRotator named Angles.
  • Duke: gave all switch animation phases proper texture names.
  • did a bit of optimization on FGameTexture. Since all material layers except the brightmaps are relatively rare encounters these were taken out of the main texture object and offloaded to a substructure that is only allocated on demand.
  • use a sepate file system filter for 'duke-like' games, i.e. Duke, NAM and WW2GI combined.
  • replace the homegrown hash chain in the sound engine with a TMap.
  • sound system refactor to be based on names instead of indices.
  • Duke/RR: Properly fix movement() so the player's Z always makes it back to floorz.
  • Make stat coord show full floating point values.
  • Blood: Fix gi->WarpToCoords() that messed up the Z.
  • SW: Take full advantage of our floating point work for the wall blood drips.
  • more Duke/RR scriptifications
  • always set the sound listener position to something valid. Otherwise OpenAL throws lots of warning messages.
  • Use the interpolated sine table for tangent instead of Cephis math in TAngle<T>.

Raze 1.6.2

08 Jan 08:47
Compare
Choose a tag to compare
  • FString fixes.
  • call FullGc twice, because once does not seem to be sufficient anymore when the object system is shut down
  • respect i_pauseinbackground setting
  • SW: cleaned up SlopeBounce and fixed some bad math.
  • Exhumed: account for rounding errors in MoveSectorSprites
  • ignore executable files in a zip's main folder when checking for mod content in a subdirectory.
  • Duke: Fix bad setup for stopping Duke's scream when putting the jetpack on.
  • Duke: Additional fixes for alterang().
  • Blood: Fix bad spawned actor angle for actFireMissile().
  • Blood: Ensure actor's XY pos is updated before calling Z slope utils.
  • SW: do not double interpolate sectors that are both part of a sector object but also have a global interpolation attached.
  • Default initialise g_nextskill to -1 so maps loaded directly from the command line load with the game's default skill.
  • fixed autoload setup for the full Duke World Tour version.
  • Fixed custom height and width not saving.
  • Ensure the viewport's aspect ratio is factored into the HUD's aspect ratio.
  • Blood: Fix some nullptr issues in checkHit() and checkFloorHit().
  • SW: Fix tank track velocity.
  • SW: Fix tank tracks not working.
  • SW: Fix issue with RC tank in $seabase.
  • SW: Add inertia correction to PlayerWarpUpdatePos().
  • Add support for Blood: Cryptic Passage via CRYPTIC.SSI file.
  • SW: Repair whoopsie in BunnyCheat().
  • Duke: Ensure that the expander hitscans when autoaim is "hitscan only".
  • SW: Restore two original cheat codes lost long ago.
  • SW: Remove CVAR_SERVERINFO flag from sw_ninjahack and take them out of the global space.
  • SW: Only bring the weapon back up after doing chops if not on a vehicle with a weapon.
  • SW: Fix clipmove call within DoPlayerMoveVehicle().
  • SW: Fix two bad calls to pushmove() where a fixed point adjustment was used.
  • fix math error on ARM architectures
  • Blood: add all statically stored EventObjects to the GC processor.
  • fixed: when deactivating the app, pausing the sound system should not depend on the game's internal pause state.
  • fixed ESC pressing on Duke's monitors.
  • Blood: relax range check in AlignSlopes. This now checks the full range of the wall array and if outside just does nothing. E2M6 has a bogus value for this feature that asserted with the old check.
  • Blood: fixed blood splats being spawned in the wrong place.
  • Blood: fixed 3 places where 3D distance was used but 2D should have been used.

Raze 1.6.1

18 Dec 17:07
Compare
Choose a tag to compare

This is a bugfix release addressing the following issues:

  • Blood: add all statically stored EventObjects to the GC processor.
  • fixed: when deactivating the app, pausing the sound system should not depend on the game's internal pause state.
  • fixed ESC pressing on Duke's monitors.
  • Blood: relax range check in AlignSlopes. This now checks the full range of the wall array and if outside just does nothing. E2M6 has a bogus value for this feature that asserted with the old check.
  • Blood: fixed blood splats being spawned in the wrong place.
  • Blood: fixed 3 places where 3D distance was used but 2D should have been.
  • Fix pitch direction for controller input.
  • added a - sign to FindBestSector' default return. This somehow get lost when the code was moved out of clipmove into a separate utility function.
  • fixed velocity handling in a few enemy swimChase functions. The one for the gill beast was particularly bad.
  • Exhumed: allow Anubis to get out of the walking state if he loses his target.
  • fix initialization issues with a few serializer functions.
  • fixed bad direction setup for vertically moving SE 0. This also adds missing interpolation for this case.
  • Duke/RR: fixed floor alignment of flames in sloped sectors
  • Duke: fixed flames not being floor aligned. The same code was correct in the RR variant, so it just got copied over.
  • Exhumed: The ObjectList was not properly garbage collected.
  • fixed kill counting in Blood.

Raze 1.6.0

11 Dec 16:37
Compare
Choose a tag to compare
  • Attempt to fix #647. I'm guessing the nWalls < -1 is a typo, and it should have been nWalls <= -1 all along. I decided to write nWalls < 0 instead.
  • Fix IWADBoxCallback() and MENUDEF setup for GLES backend.
  • Make crosshairscale slider match GZDoom, including allowing it to slide down to 0 for unscaled.
  • Draw crosshair at 1:1 scale when crosshairscale is 0, just like GZDoom.
  • RR: initialize the bowling lane displays after loading a savegame.
  • try to address some occasional crash with chickens on the bowling lane.
  • Duke: Increase the precision of the angle in handle_se00().
  • Duke: cleanup of weapon draw code.
  • Improved crosshair drawing that factor's in look_ang better I've had stashed away for a little bit.
  • Duke: Call movetransports() before processing any player movement. This simply works much better, transitioning from above water to underwater and vice-versa is interpolated, smooth and seamless.
  • complete transfer of vk_hdr fix from gzdoom (was missing the shader component)
  • Duke: added an ammo check to the chaingun firing loop. With weapon switching disabled it would not stop firing.
  • don't print negative ammo numbers on the Duke HUD.
  • renamed several of RR's sprites, mostly related to the chicken processing plant.
  • unlimized two map resources - cyclers and ambient tags.
  • scriptified the remaining controller sprites.
  • scriptified activators and locators.
  • scriptified the respawn controller.
  • only print texture resolve errors in debug builds.
  • scriptified the sound controller.
  • scriptified canwithsomething, the last internal STAT_STANDABLE item.
  • Duke: fixed long standing problem that pressing Escape or walking backwards does not switch off the camera view.
  • scriptified viewscreen and camera.
  • scriptified touchplate
  • scriptified doorshock
  • scriptified the waterdrip
  • scriptified the bolts.
  • scriptified the trash actor.
  • converted the masterswitch.
  • scriptified OozFilter + Seenine
  • scriptified the fire extinguisher.
  • scriptied the cracks.
  • scriptified the trip bombs.
  • refactored Duke's cactus.
  • scriptified the scraps. The were a Duke-ish mess of epic proportions.
  • flammable actors scriptified.
  • scriptified Dukes water fountain. That's this thingy in the first corridor of E2L1.
  • Duke: scriptified the crane
  • Blood: updated nnexts with the parts not related to the condition rewrite.
  • added 'foreach' loop to ZScript.
  • use a TArrayView to store the wall references in a sector.
  • adding some intrinsics to ZScript.
  • Vector 4 in zscript
  • garbage collector fixes
  • fixed: when deactivating the app, pausing the sound system should not depend on the game's internal pause state.
  • Duke: Use player's pitch sine rather than tangent when throwing a pipebomb while crouched. This maintains the feel of the weapon by having the pipebomb roll along the ground.
  • handle a visual glitch in Duke's E2L1 via compatibility. There is already code to deal with this automatically, but this does not manage to fully eliminate the problem.
  • Add option to (experimentally) unclamp the view pitch for the Duke family of games.
  • Duke/RR/SW: Pitch-adjusted velocity for all player weapons
  • added true level compatibility map processing and deleted all related map hack code.
  • removed the MHK for Route66's coffin.map. This was actually a render bug that was fixed long ago, so the edit is no longer needed.
  • added a MHK for RR E1L1 to fix a render glitch in the barn.
  • added a quick hack to move a misplaced vertex in RR E1L1's barn.
  • renamed getzsofslopeptr to calcSlope and removed one redundant inline.
  • Duke: use player palette only on the foot weapon.
  • Duke: New setup for blood splatters against walls, taking full account of the float precision.
  • renamed RR’s weapon sprites to match their weapons
  • added a GZDoom-style alternative HUD.
  • pushmove rewritten.
  • silenced lots of warnings for deliberate type conversions.
  • rewrote getzrange. Not using any old Build code anymore. Aside from the trivial stuff this uses code from Doom and SW instead.
  • Duke: Move Duke-exclusive code from PlayerHorizon struct into displayweapon_d() and clamp tangent to handle high pitches.
  • allow entering cheats in the chat editor without using '#'.
  • hitscan fully rewritten.
  • added LinePlaneIntersect
  • rewrite from scratch of neartag.
  • replaced try_facespr_intersect with something independently written.
  • Clean up the availability detection of kdialog and gxmessage in POSIX sources.
  • got new CVar system from GZDoom.
  • Fix broken paths in default configuraiton on Unix
  • SW: fixed savegame pic generation corrupting the actor list. This case missed the call to PostDraw which is responsible for cleaning up some temporary data.
  • SW: when an actor is killed, all attached ambient sounds must be deleted. Not only did the sound not stop but what happened here was very much undefined behavior as the ambient sound retained its pointer to now undefined memory.
  • Exhumed: gave local variables in FindWallSprites meaningful names
  • normalize the timer with the app start, not the epoch.
  • un-deprecated the integer MSTime variant. Due to undefined downconversion rules from double to int, there is no way to safely downcast the return from MSTimef, meaning the function is completely useless for retrieving integral time stamps.
  • refactored coordinate display to have a single unified printing function.
  • hack to fix bad door definition in RR E2L7.
  • several backports from NBlood
  • Exhumed: exported a handful of missed messages to the string table
  • unlimited the displayable sprites. Now with Polymost gone this can finally be done properly.
  • do not overwrite a textures sky cap color.
  • animation precaching cleanup. No need to handle animations on the game side. markTileForPrecache already handles this - now also for oscillating animations.
  • rewrote nextsectorneighborzptr with a better parameter interface
  • replaced spriteheightofsptr with a method in DCoreActor.
  • updatesector* cleanup. Got rid of all remaining Build code in here, stripped down the wrapper interface and moved everything into a separate header file.
  • replaced sectordist with a floating point variant with better precision.
  • replaced getclosestpointonwall_internal with a floating point version based on NearestPointLine.
  • cleanup of 3D viewport code. Removes all the hackery that Polymost needed and now uses a sane struct to store the info.
  • made fov change for RRRA's drug mode work.
  • refined wall sprite check so that orthogonally aligned sprites are only aligned to orthogonal walls.
  • Duke: clear all collision flags from generic controller sprites
  • Don't adjust joystick pitch/yaw speeds based on whether autorun is enabled or not.

Raze 1.5.0

22 Jul 18:21
Compare
Choose a tag to compare
  • Blood may not abort on a bogus start position.
  • Fix crash when exiting with no game data
  • fixed render order of non-orthogonal wall sprites.
  • glslang compiler and Vulkan backend update.
  • fixed automap angle in unrotated mode.
  • added workaround to render the crane in WT's 'Docks' map correctly. This one violates engine specifications by creating overlapping walls when the crane is rotated.
  • SW: changed fullscreen HUD to display all 8 keys without gaps ans overlapping.
  • fixed crash in Last Warrior map 9.
  • for Raze hud_aspectscale needs to default to true
  • Support for the DOS end-of-game text screens in Duke and SW on non-Windows systems.
  • Force synchronised input when cl_capfps is true.
  • fixed sky panning. This picked the wrong overload - to make things robust one of the functions was renamed.
  • Duke: Interpolate loogcnt when drawing onscreen.
  • Duke: Change a few return types from int to bool in HUD code.
  • Duke: Interpolate access_incs when drawing onscreen (security card usage).
  • Duke: Interpolate tipincs when drawing onscreen (tipping the dancers).
  • Duke: Interpolate knee_incs when drawing onscreen (stomping on shrunken enemies).
  • Duke: Interpolate fist_incs when drawing onscreen (hitting the nuke detonator at the end of each level).
  • Duke3d: smooth movement of recons.
  • Duke3d: make actors set to move vertically in CON act as if SFLAG_SMOOTHMOVE was explicitly enabled
  • Duke: fixed some crashes with bad map setups
  • fixed level number for RRRA's travel animations. First level is 1001, not 1.
  • ported secret hack for WT's map 11 from SW Redux.
  • removed redundant setting of black shadow color with incorrect data check.
  • Remove m_filter option from the menu. The remainder of the removal will come from a backend sync with GZDoom.
  • Add bool lock to PlayerHorizon::settarget() when setting target from the ticker without having to call setters and resetters.
  • Interpolate FIRELASER trails.
  • fixed wall sprite clipping
  • fixed: FSkyVertexBuffer::RenderBox did not reset the object color after finishing.
  • SW: added interpolation for sine wave floors.
  • SW: fixed shadow positioning.
  • Duke: Add CON support for Duke Nukem 3D 1.1 Shareware.
  • Duke: Fix CON parser to detect shareware scripts.
  • helpers for wall sprite rendering improvement
  • fixed parsing issues in secret hint system.
    -renamed spritetype’s owner field to ‚intowner‘ Mainly for easier searching.
  • function for checking wall sprites’ need for recalculation
  • RR: clear jaildoors array on map start. This was leaving stale data behind which could cause nasty crashes.
  • several more Blood fixes copied from NBlood
  • blood: GetHighestSprite fix
  • blood: fix velCeil calculation
  • blood: SetupGibWallState fix
  • blood: add missing case in OperateSprite
  • dd self check for burning cultist fix
  • Renamed checkFired6or7->checkLitSprayOrTNT
  • Reset thinkTime for kDudeModernCustomDude
  • Set inittype on actSpawnDude()
  • Check enemy type when adding to enemy level count. Fixes count issues with respawning enemies
  • Initialize viewbob members for playerResetPosture()
  • Fix kDudeModernCustomDude may not morphing during specific events
  • Renamed dword_138BB0 -> gCultTeslaFireChance
  • stretch HUD flames in widescreen
  • shadow positioning improvements from NBlood
  • Blood: fix delirium being twice as fast
  • Exhumed: pin death arms to the right side of the screen
  • added wipe transitions to screen job. Mainly to have the crossfade, the other styles are mostly bonus.
  • add proper scoping to the cutscene code, which needs to run in UI scope.
  • music system improvements
  • Zip64 support
  • fixes for menu scaling on ultrawide screens
  • Mac default paths fixed
  • pass shade values to sky renderer
  • fixed bad search path setup on macOS
  • don’t crash on sector-less walls.
  • lock cvar shader uniforms behind a command line parameter for now
  • Duke: set game palette before rendering the automap
  • improved the secret hint management for Blood. This now uses sprite and sector indices directly instead of encoding them into a larger number. Sprite secrets will use a $t prefix instead of $s now.
  • fixed sprite indices for map spawned sprites.
  • optimize fcos and fsin to use the BAM value directly for table lookup.
  • add level names to title bar (and by proxy, to RPC)
  • add gl_satformula == 2 - an optional 'more accurate' desaturation
  • implement discord rich presence, expand window title code. (still wip)
  • copy-paste is simultaneously the most useful feature in the world, and a programmer's greatest curse. use with care.
  • only overwrite rpath if not already defined
  • add $ORIGIN to rpath for Linux
  • Fix tesla cultist prone state
  • Blood: fix crashes when trying to exit from a fatal error during startup. soundEngine can be null here.
  • added script exports for Duke's main structures.
  • added scripting exports for the global map types and a few more actor utilities.
  • do not call tileUpdatePicnum for voxelized tsprites.
  • Blood: fixed bad marker check in OperatePath
  • Exhumed: Properly fix interpolation issues when at the end of the level instead of trying to back up everything.
  • fixed bad assumption about g_visibility == 0 meaning fullbright.
  • avoid pointer arithmetic in feebtag.
  • fixed bad filter name for DukeDC's SSI variant fpr 1.5
  • fixed validation issue with maps that have a wall with nextwall == -1 and nextsector > -1.
  • made DCoreActor's properties functional.
  • SW: remap LIGHT_Tics to the otherwise unused spritetype::detail instead of the Z-coordinate.
  • do not update the sector for sector effectors moving themselves.
  • SW: bumped two hard limits because there's maps out there that exceed them.
  • partial engine floatification.
  • use full precision math for rotating sectors in Blood.
  • Duke: changed animation storage to be independent of the animated values' types.
  • SW: changed sector object interpolation to be independent of the interpolated values' types.
  • use a method for setting wall coordinates when loading a map.
  • use an access function for reading wall positions so that we have a non-modifiable value wherever this is possible.
  • Fix ceiling panning angle