Version 1.11.1 #
This release fixes critical issue with timespan nodes and timers that may have caused incorrect timings in the scripting system. If you are using TEN target and previously updated to 1.11, it is recommended to update your project to this version as soon as possible.
Bug fixes #
- Fixed draw key not always opening doors in fly mode.
- Fixed TEETH_SPIKES with OCB 1 damaging player in fly mode.
- Fixed YETI misaligning with Lara during kill animation.
Lua API changes #
- Fixed
Timerclass not working correctly with single frame intervals. - Fixed
Lara:SetWeaponModeandLara:GetWeaponModereturning weapon modes for unfitting weapons. - Fixed alpha value being ignored for
Flow.Settings.UI.shadowTextColorparameter. - Fixed notification display bug in
CustomDiaryclass
Version 1.11 #
This TEN version is the last major version that supports 32-bit systems. Starting from the next major version, TEN projects will be only playable on 64-bit systems.
New features #
- Overhauled enemy AI with weighted pathfinding, predictive targeting, penalty system, and collision avoidance.
- Optimized pause and options menu handling and apply settings while exiting the menu instead of canceling them.
- Added faster Xorshift32 random number generation method.
- Added explosion decal effects to Atlantean enemy projectiles.
- Added new debug page with memory usage statistics and more verbose logging for memory-related crashes.
- Removed original limits for flyby camera and sequence count.
Bug fixes #
- Fixed incorrect handling of negative timer values in classic triggers.
- Fixed interaction highlighter not working for pushable climbable blocks and underwater switches.
- Fixed pushables being ignored by other collidable objects after savegame reload.
- Fixed pushables not updating their properties while changing OCB on the fly.
- Fixed sector box flags being reset after savegame reload.
- Fixed incorrect BIG_RAT, CLOCKWORK_BEETLE, COBRA, SCUBA_DIVER, HORSEMAN, MONK1/2 and MERCENARY_UZI behaviour.
- Fixed CIVVY crashing the game.
- Fixed missing SHARK final attack animation.
- Fixed SEARCH_OBJECT4 not always collecting pickup items.
- Fixed SHOOT_SWITCH objects not activated with projectile weapons.
- Fixed incorrect HYDRA rotation on activation and keeping its shadow after destroying it.
- Fixed potential issues with PUNA_BOSS, TONY_BOSS, FISH_SWARM and WRAITH objects on savegame reloading.
- Fixed WRAITH not using effects near walls and occasional issues with room transitions.
- Fixed occasional wrong LASER_BEAM collision.
- Fixed several BADDY1/2 issues.
- Fixed original issue with BADDY1/2 with rolling out animation ignoring player on a distance larger than 1 block.
- Fixed OCB calculation for WINGED_MUMMY.
- Fixed teleporting upwards after corner shimmy when another ledge is above.
- Fixed submerging into the floor when picking up items under low-placed static meshes.
- Fixed asymmetrically placed plinth pickups (OCB 3 and 4) and allow plinth pickups without static mesh underneath.
- Fixed broken hardcoded camera when using the TURN_SWITCH.
- Fixed animation bug when Lara dies in a hanging state.
- Fixed weapon unholstering animation when selecting a weapon from the inventory for the first time.
- Fixed original issue with incorrect arm orientation with unholstered weapons.
- Fixed original issue with aiming stutter with targets nearly out of sight.
- Fixed incorrect super grenade projectile orientation.
- Fixed ricochet sparks not being visible at longer distances.
- Fixed blood particles not being visible for stationary enemies.
- Fixed water resurfacing threshold. The player will now resurface when half of the head is above the surface.
- Fixed Lara visibility not restoring after breaking out from a flyby sequence.
- Fixed animated textures appearing incorrectly when also alpha blended faces were involved.
- Fixed random textures appearing on enemy gunflashes.
- Fixed flickering pickup summary item count in high FPS mode.
- Fixed flickering debug page information.
- Fixed linear inventory not fading ammo and combine selectors.
- Fixed crashes on certain GPUs with dynamic memory allocation.
- Fixed loading of level files bigger than 2 GB (only for 64-bit systems).
Lua API changes #
- Added
Collision.Rayclass for raycasting to detect rooms, items, and static meshes. - Added
View.DisplayItemclass that can be used to render 3D items in 2D space. - Added
View.DisplayAnchorsprimitive class andView.DisplaySprite:GetAnchorsfunction. - Added
UIsection toFlow.Settingsclass with several options to customize main menu and system text. - Added several
Inventoryfunctions, includingInventory.UseItemandInventory.ResetToDefault. - Added
Flow.GetGlobalGameTimefunction. - Added
ambientOcclusionparameter toFlow.Settings.Graphicsto force-disable ambient occlusion option. - Added
killPoisonedEnemiesparameter toFlow.Settings.Gameplayto enable or disable killing enemies with poisoned ammo. - Added a safeguard against adding or removing callback functions within the same callback type.
- Added a safeguard for
Moveable:Enablefunction called for already destroyed moveables. - Added
Moveable:HideInteractionHighlight`function. - Added
Strings.DisplayStringOption.VERTICAL_BOTTOMflag. - Added optional type argument for inventory item and interaction type for
LaraObject:Interactfunction. - Added optional type argument for interaction type for
Object:ShowInteractionHighlightfunction. - Added
Vec3:Directionfunction andVec3:Translateoverload. - Added direction vector constructor to
Rotation. - Added overloads for
TEN.Util.PercentToScreen(Vec2(x, y))andTEN.Util.ScreenToPercent(Vec2(x, y)). - Added special tables
LevelVars,GameVarsandLevelFuncto the documentation.
* AddedLogic.CallbackPoint,Logic.EventTypeandLogic.EndReasonenums to the documentation.
* FixedyOffsetargument inFlow.InventoryItemconstructor giving inconsistent results with different screen resolutions.
* FixedEffects.EmitLightcrashing the game if called with zero or near-zero light radius.
* FixedView.SetCineBarsnot working correctly.
Version 1.10.1 #
New Features #
- Added no shake mode for CLASSIC_ROLLINGBALL (OCB 1).
Bug Fixes #
- Fixed FIREROPE and EARTHQUAKE objects not working.
- Fixed FIRE_PENDULUM crashing the game.
- Fixed CLASSIC_ROLLINGBALL continuing to animate when Lara is standing on a trigger for it.
- Fixed BRIDGE objects not clearing collision after disabling them.
- Fixed SMASH_OBJECT objects with very big coordinates sometimes crashing the game.
- Fixed BIG_GUN being stuck while unarming it.
- Fixed original issue that prevented performing vault animations while holding a torch.
- Fixed interaction highlighter not appearing for SEARCH_OBJECT objects.
- Fixed fireflies not interpolating in high framerate mode and not emitting dynamic lights.
- Fixed performance issues with shatterable static meshes.
- Fixed emissive materials not fading into distance fog.
- Fixed subtractive sprites not rendering correctly.
- Fixed dynamic lighting for flat surfaces with miscalculated normals.
- Fixed black screen when camera direction is exactly 90 degrees up or down.
Lua API Changes #
- Added optional type argument for
Sound.IsAudioTrackPlayingfunction. - Fixed
Moveable:AttachObjCameraignoring mesh index argument.
Version 1.10 #
New Features #
- Added material system with support for normal, specular, roughness, emissive, parallax and ambient occlusion maps.
- Added animated textures support for moveables and static meshes.
- Added UVRotate support with arbitrary texture rotation direction.
- Added interaction highlighter.
- Added bullet hole and explosion decals for room geometry.
- Added ability to colorize
FLAME_EMITTERandFLAME_EMITTER2objects and fade them on activation or deactivation. - Added ability to colorize
ROPEobjects. - Added ability to antitrigger
FISH_EMITTER. - Reworked thumbstick camera to act like in FLEP patch.
- Increased renderer performance and reduced GPU memory usage.
- Increased level loading speed by switching to LZ4 compression format.
Bug Fixes #
- Fixed FIRE_PENDULUM light being overblown when explosive weapons are used.
- Fixed POLEROPE object occasionally not being grabbable when placed on bridges.
- Fixed GRENADE object not being activated by triggers and heavy triggers under shatters.
- Fixed FISH_EMITTER fish escape direction when player is nearby.
- Fixed EXPANDING_PLATFORM and RAISING_BLOCK rendering issues in flat state.
- Fixed LOCUST_EMITTER object.
- Fixed SNOWMOBILE not displaying moving tracks (SNOWMOBILE_TRACKS object required).
- Fixed several collision issues for TRAIN object.
- Fixed OCB 4 not working for FLAME_EMITTER2.
- Fixed wall embeddings after jumping on top of hard static meshes aligned to walls.
- Fixed occasional problems with grabbing ledges after doing backjump onto slopes.
- Fixed dying while landing into shallow water after freefall.
- Fixed rapids drowning animation not triggering after freefall.
- Fixed firearm targeting alignment biased to the left side.
- Fixed shotgun wideshot ammo having same accuracy as normal ammo.
- Fixed projectiles sometimes flying through narrow room geometry corners.
- Fixed shatters not activating heavy triggers in rare occasions.
- Fixed room flickering after activating a flipmap in specific portal setups.
- Fixed original game issue with multiple burning torches not working correctly.
- Fixed original game issue where enemies could shoot and be targeted through objects and static meshes.
- Fixed original game issues with vehicle collision near crawlspaces and stacked rooms.
- Fixed motorbike sound going silent while doing jumps.
- Fixed ability to draw weapons on a tightrope.
- Fixed incorrect ladder dismounts onto sloped floors and death sectors.
- Fixed dynamic lights disappearing for a single frame after exiting game menus.
- Fixed controls being stuck when engine window is out of focus.
- Fixed missing “No” sound when player attempts to interact without particular items in the inventory.
- Fixed incorrect draw order of alpha-blended room geometry.
- Fixed rendering issues with some static meshes if same level file is reused for the title.
- Fixed intense GPU usage when engine window is minimized.
- Fixed wrong highlights when sun lights were used in mirror setups.
- Fixed incorrect specular highlight for spotlights.
- Fixed SSAO applied multiple times when additive surfaces are present in scene.
- Fixed vertex effects (glow and move) not being rendered at full framerate.
- Fixed incorrect roll values in flyby cameras.
- Fixed HUD elements being drawn during cinematic flybys or in title level.
Lua API Changes #
- Added detection and recovery of infinite loops and deadlocks caused by mistakes in user scripts.
- Added
Moveable:GetVisibleandMoveable:ShowInteractionHighlightmethods. - Added
DisplaySprite:GetFlagsmethod. - Added alpha value premultiplication for color argument in effect functions, such as
Effects.EmitLightand others. - Added holster mesh update for
Lara:SetWeaponTypemethod and make `activate` parameter false by default. - Added
Type.IsEnumValuehelper function to determine if a particular value belongs to an enumeration. - Added
DisplayStringOption.VERTICAL_CENTERflag for timer labels. - Fixed
Moveable:GetMeshVisiblemethod returning true even if whole moveable is invisible. - Fixed
Moveable:SetOnCollidedWithRoomcallback failing beyond the distance of 32 sectors. - Fixed errors while spawning climbable
Moveableobjects. - Renamed
ObjID.MESHSWAP_HITMANtoObjID.MESHSWAP_CYBORG.
Version 1.9.2 #
New features #
- Added
FIRE_PENDULUM(ID 458) object from TR3. - Added
TURNING_WALL_BLADE(ID 456) andTURNING_CEILING_BLADE(ID 457) objects from TR3. - Added final shot before death for
TROOPSandSASslots, if Lara is in sight. - Added error message and log entry for critical engine errors instead of a silent crash
- Added logging to a separate file for every game launch.
Bug fixes #
- Fixed inability to perform backjumps or grabs after climbing onto a triangular slope.
- Fixed
ROLLINGBALLnot stopped by full walls. - Fixed several
JEEPandMOTORBIKEvehicle collision bugs. - Fixed undead enemies not killed in a proper way by vehicles.
- Fixed smoke emitters crashing the game if placed underwater with OCB 0.
- Fixed puzzle holes losing collision after inserting puzzle items.
- Fixed occasional Lara rotation when grabbing pushable objects.
- Fixed incorrect collision detection with fire particles.
- Fixed incorrect distance checks on very large room coordinates, which could have caused random Lara teleportations.
- Fixed projectile weapon hits not registering in statistics and collision callbacks.
- Fixed firearms bullet range limited to targeting range.
- Fixed significantly worse firearm accuracy compared to the original engines.
- Fixed pistols not allowing to spam fire in untargeted mode.
- Fixed two-handed weapon targeting when locked on enemy.
- Fixed random crashes and visual issues with exploding body part effects.
- Fixed random crashes when spawning or killing enemies.
- Fixed shatterable static meshes not producing shatter sound when hit by projectile weapons.
- Fixed mechanical beetle and waterskin inventory items not appearing in the inventory.
- Fixed HUD bars displaying incorrect update animation after loading savegame.
- Fixed slowdowns and freezes when too many sounds are playing.
- Fixed Doppler effect not applied to sounds.
- Fixed incorrect cropping for video textures.
- Fixed snapping while transitioning between two gliding fixed cameras.
- Fixed overbright ambient light not applied correctly to moveables.
Lua API changes #
- Added log warnings in case callbacks or level functions are being redefined.
- Added
Effects.EmitFogBulbfunction to emit a dynamic fog bulb for a single frame. - Fixed
Moveable:SetOnCollidedWithObjectnot working for Lara and invisible or inactive objects. - Fixed
Input.ActionID.MOUSE_SCROLL_UPandInput.ActionID.MOUSE_SCROLL_DOWNpolling mouse movement instead of scrolling. - Fixed
Strings.ShowStringcalled without last two arguments not showing strings indefinitely.
Version 1.9.1 #
New features #
- Added ability to open doors with DRAW weapon key in dozy mode.
- Added headlight for UPV.
- Use spotlight with shadow casting for motorbike headlight.
Bug fixes #
- Fixed WATERFALL_EMITTER performance and occasional game freezes, and made it work with OCB 0.
- Fixed SENTRY_GUN object not tracking Lara at some angles.
- Fixed ENEMY_JEEP object lifting all other objects in a level one block up.
- Fixed ELECTRIC_CLEANER not following the correct directions.
- Fixed ROLLINGBALL interpolation and collision detection.
- Fixed underwater drifting when using PULLEY object.
- Fixed incorrect hardcoded sounds for the ZIPLINE_HANDLE.
- Fixed JEEP vehicle locking incorrect Lara animation after using reverse.
- Fixed inability to use revolver with lasersight in crouched state.
- Fixed incorrect room collision for negative room coordinates.
- Fixed exclusive video playback not working when triggered at the end of a level.
- Fixed garbage particle positions in high FPS mode.
- Fixed issues with garbage camera movement when switching between fixed cameras.
- Fixed issues with sound initialisation if the sound device list has changed.
Lua API changes #
- Added
weatherClusteringsetting toFlow.Level. - Fixed
Camera:SetPositioninterfering with non-fixed camera position. - Renamed
Camera:PlayCameratoCamera:Play.
Version 1.9 #
Patch notes #
- You must update your LARA object when upgrading to this version. You can find the updated LARA object here
- This release will break compatibility with Lua scripts which utilize negative rotation comparisons. Please review your scripts and convert comparisons to 0-360 degree range, or use
Rotation:Signed()method to convert rotations to signed range.
New features #
- Added skinned meshes support for any object.
- Added video playback and video texture streaming support.
- Added muzzle glow effect for firearms and flares.
- Added weather particle clustering and increase weather particle density and performance.
- Added examine mode text rendering (string key should be in the format like
examine1_text,examine2_text, and so on). - Added breakable wall object with land and underwater modes.
- Added land mode for underwater switches. These have now been renamed to WALL_SWITCH.
- Added land mode for underwater ceiling switches. These have now been renamed to CEILING_SWITCH.
- Added ability to use big push switch (OCB 3) underwater.
- Refactored PULLEY object. Can now be used underwater and OCB is the number of pulls it takes to activate.
- Added extra behaviour for PIERRE and LARSON objects with non-zero OCBs to escape to either AI_AMBUSH with the same OCB, if it exists, or to any other point.
Bug fixes #
- Fixed LASER_BEAM object going through walls.
- Fixed WRAITH objects not working correctly in flipped rooms.
- Fixed SPIKY_CEILING object not having default speed assigned.
- Fixed FISH_EMITTER object missing random targets due to distance.
- Fixed FISH_EMITTER and COMPSOGNATHUS objects not attacking corpses.
- Fixed TELEPORTER object.
- Fixed AI_PATROL and AI_AMBUSH objects to work with suitable enemies.
- Fixed multiple trap objects not emitting blood on collision
- Fixed locked camera flag and glide timer not working for fixed cameras.
- Fixed weapon hotkeys not unholstering the already selected weapon.
- Fixed weapons not hitting non-intelligent objects.
- Fixed collision issues for subsector bridges and bridges moving between rooms.
- Fixed missing step up animation when switching from tread to wade.
- Fixed ledge grabbing on platforms made from lowered ceilings.
- Fixed dozy mode switching to a swim state after special death animation has played.
- Fixed lensflare enabled status and far view not saved in a savegame.
- Fixed HK sound effects.
- Fixed HK and crossbow shots not being registered in statistics.
- Fixed incorrect arm rotation for revolver animations in crouched state.
- Fixed distorted knee and elbow joint vertices.
- Fixed multi-mesh objects not shattering correctly.
- Fixed splash effects remaining in the level after reloading from the savegame.
- Fixed pickup notifier displaying wrong meshes for crossbow and lasersight.
- Fixed caustics not rendered correctly if texture compression was enabled.
- Fixed exclusion blend mode not working correctly.
- Fixed SSAO incorrectly applied through alpha blended textures.
- Fixed hair not rendered correctly if alpha blended textures are present.
- Fixed disappearing Lara when climbing through specific L-shaped portal setups.
- Fixed flickering Lara color when running into static meshes submerged in water.
- Fixed clipping of overlapped rooms during flyby sequences.
- Fixed static meshes not interpolating when dynamically changing their positional data.
- Fixed crashes when shooting, if gunflash or gunshell objects are not present in a level.
- Fixed crashes when activating objects without animations.
- Fixed crashes when Lara is on a vehicle unreachable by friendly NPCs.
- Fixed incorrect conversion of non-Latin characters in the setup dialog.
- Fixed menu option scrolling when input keys are held
- Fixed PUZZLE_HOLE Poseidon statue animation (ID 423).
- Removed legacy TR5 code for SEARCH_OBJECT1 which caused issues with meshswaps.
- Removed excessive HK nerfing in running state.
- Removed mipmapping for point filter rendering mode.
Lua API changes #
- Added
Effects.EmitFlowandEffects.EmitWaterfallMistfunctions. - Added
Flow.ItemActionenum to reconfigure inventory item actions. - Added
Flow.SetIntroVideoPathfunction to specify intro video. - Added
Input.IsKeyPulsed,Input.IsKeyReleased,Input.GetAnalogKeyValue, andInput.GetAnalogAxisValue0functions.
* AddedObjects.IsNameInUsefunction to check if script name is already in use. - Added
View.PlayVideo,View.StopVideo, and other helper functions for the video playback. - Added
Moveable:SwapSkinnedMeshandMoveable:UnswapSkinnedMeshfor skinned mesh management. - Added
Lara:Interactfunction to allow alignment with moveable. - Added
muzzleGlowandmuzzleOffsetparameters to weapon settings. - Added `muzzleGlow` parameter to flare settings.
- Added ability to use gunflash parameters for all weapons in weapon settings.
- Added ability to specify negative priority values for
View.DisplaySpriteto draw it above strings. - Added raw mouse and keyboard input action IDs to
Input.ActionIDenumeration. - Added area parameter for `Strings.DisplayString` for automatic word wrapping.
- Added
Strings.DisplayStringOption.VERTICAL_CENTERflag for vertically centering multiline strings. - Renamed
Input.KeyIsHitandInput.KeyIsHeldtoInput.IsKeyHitandInput.IsKeyHeld. - Updated
Input.IsKeyHeldwith additional parameter indicating key hold delay. - Updated
Effects.MakeExplosionandEffects.EmitBloodto spawn correct effects when used underwater. - Fixed
Rotationclass to use unsigned 0-360 degree range, and provideRotation:Signedmethod to get legacy -180-180 range. - Fixed
Inventory.GiveItemscreen position to start from the side of the screen. - Fixed
Moveable.GetJointPositionnot returning correct results if moveable is invisible or not rendered. - Fixed
Util.PickMoveableByDisplayPosition.
Version 1.8.1 #
Bug fixes #
- Fixed pathfinding for friendly NPCs such as monkeys.
- Fixed particles remaining in the level after reloading from the savegame.
- Fixed particles being canceled by fog bulbs.
- Fixed crash in case hair object is the last object in a level.
- Fixed crash with incorrectly applied animated textures on static meshes.
- Fixed console window not hiding in non-debug mode on Windows 11.
- Fixed key binding settings saving for the current play session after hitting Esc to cancel.
- Fixed lensflare blending formula to avoid screen overbright.
New features #
- Added Firefly Emitter object (ID 1099) with corresponding sprite slot (ID 1379).
- Added live console input to perform Lua commands in realtime.
Lua API changes #
- Added missing constructor for
Collision.Probewithout room number. - Added optional looping argument for
View.GetFlybyPositionandView.GetFlybyRotationfunctions.
Version 1.8 #
Please note that TombEngine and the Tomb Editor suite will now share the same version numbers from this release.
For further information on this see here.
Bug fixes #
- Improved engine performance up to 20%.
- Fixed bridges moving the player when the player is underwater.
- Fixed trigger triggerer not working.
- Fixed display pickup numeric string not being interpolated in high framerate mode.
- Fixed two block platform room portal traversal failing in some cases.
- Fixed incorrect handling of dynamic light shadows.
- Fixed ricochet flashes after using explosive weapons.
- Fixed incorrect flare draw in crawl state.
- Fixed starfield remaining active in the next level if it does not have a starfield specified.
- Fixed underwater dust particles overflowing when camera is underwater.
- Fixed wetness player attribute not being preserved in savegames.
- Fixed invisible HK ammo in the inventory.
- Fixed flickering rat emitter.
- Fixed camera glitch when going into quicksand rooms with weapons drawn.
- Fixed player model submerging into the floor while swimming underwater.
- Fixed custom shatter sounds with custom sound IDs not playing correctly.
- Fixed crashes with sound samples larger than 2 megabytes.
New Features #
- Added multithreading and an option for it to flow system settings.
- Added ability to use floor trapdoors, keys and puzzle items underwater.
- Added a particle based waterfall emitter object and associated sprite slots.
- You must use this version.
- Added TR1 Hammer.
- You must use this version
- Added TR3 Moving Laser.
- Added TR4 Statue Plinth.
Lua API changes #
- Added diary module.
- Added custom bar module.
- Added
Collision.Probeclass for basic room collision detection. - Added
Flow.Horizonclass and two layers of horizons in a `Flow.Level` class. - Added
Effects.EmitAdvancedParticlefunction, allowing animations and other effects. - Added
Effects.EmitAirBubblefunction to spawn air bubbles. - Added
Effects.EmitStreamerfunction to emit streamers. - Added
Flow.GetTotalSecretCountfunction to get total amount of secrets in the game. - Added
View.GetFlyByPositionandView.GetFlyByRotationfunctions to get flyby sequence parameters at a specified time point. - Added
Moveable:GetScaleandMovebale:SetScalemethods to get or set visible scale of moveable. - Added
Static:GetCollidableandStatic:SetCollidablemethods to get or set collision status of static meshes. - Added
Rotation:Lerpfunction to allow linear interpolation between rotations. - Added ability to perform additive and subtractive operations on
Rotationclass and compare oneRotationto another. - Added various
Translatemethods toVec2andVec3script objects. - Added alpha transparency functionality for statics and moveables to be used with
SetColormethod. - Added extra arguments for sprite object slots and starting rotation value for
EmitParticlefunction. - Added ability to dynamically change
Flow.Levelweather and environment parameters and save them to a savegame. - Added pickup count to
Flow.Statisticsclass. - Changed
Flow.StarfieldandFlow.LensFlareprimitive types to use parameters instead of getters and setters. - Fixed medipack level count in
Flow.Statisticsclass.
Version 1.7.1 #
Bug fixes #
- Fixed static meshes with dynamic light mode not accepting room lights.
- Fixed silent crashes if no Visual C++ runtimes are installed and provide a dialog box to download them instead.
- Fixed issues with launching the engine from directories with non-Western characters in the path.
- Fixed rare case of not being able to start a new game or exit game from the main menu on very slow GPUs.
- Fixed occasional crashes with creatures stuck in a sector with no pathfinding set.
- Fixed occasional cases of underwater switch animation not playing, if player spams jump key while pulling the switch.
- Fixed player’s blob shadows not rendering on moveables and static meshes.
- Fixed antialiasing quality not changing after changing it in display settings.
- Fixed endless explosion effect for Puna.
- Fixed diary pick-up item inventory state not preserved in the savegame.
- Fixed gravity being applied underwater when exiting the fly cheat.
- Fixed gravity being applied when vaulting on the same frame as the player lands.
Features/Amendments #
- Added realtime shader reloading in debug mode by pressing F9 key.
- Added load, save, stopwatch and compass as a functional pick-up items with ability to add or remove them from inventory.
- Increased particle limit from 1024 to 4096.
- Added ability for the player to more reliably stop at an edge when running at it while holding Walk.
Lua API Changes #
- Fixed
Flow.FreezeMode.FULLdrawing incorrect background. - Fixed DisplayString scale argument not being optional, as stated in documentation.
Version 1.7 #
Bug fixes #
- Significantly improved renderer performance.
- Improved engine performance around bridges.
- Improved engine performance if weather or bubble effects are active.
- Improved engine start-up time.
- Fixed silent crashes if loaded level is corrupted or in incorrect format.
- Fixed occasional crashes if there are static meshes placed within room border walls.
- Fixed climbable pushables clipping Lara under the bridges when pulled.
- Fixed incorrect clipping of scaled off-centered static meshes.
- Fixed incorrect collision detection for off-centered moveable.
- Fixed incorrect slide directions for sub-click geometry.
- Fixed stutter during jumps between cameras in a flyby sequence.
- Fixed uzi targeting issues after using flycheat.
- Fixed hair object vertices not always linking properly.
- Fixed snow particles not always melting on the ground.
- Fixed enemies not damaging Lara if she is staying on the sector where enemies were triggered.
- Fixed enemy pickups dropping on death sectors.
- Fixed Sarcophagus and Search Object pickup triggers.
- Fixed vehicle transfer not happening for levels which were not previously visited.
- Fixed audio tracks placed in subfolders not restoring after loading savegame.
- Fixed initial position and lack of fade-in for looped audio track on level start.
- Fixed shatter debris spawning on incorrect position for the first frame.
- Fixed scripted input events not registering on the same game frame.
- Fixed incorrect object camera position.
- Fixed incorrect camera movement near walls after leaving look mode.
- Fixed binocular or lasersight camera not switching off correctly after flyby.
- Fixed binocular or lasersight camera transitions.
- Fixed Lara’s Home entry not working.
- Fixed exploding TR3 bosses.
- Fixed original issue with deactivation of Dart Emitter.
- Fixed original issue with weapon hotkeys available in binoculars or lasersight mode.
- Fixed Electricity Wires object not doing instant kill when Lara is in close proximity.
- Fixed Lens Flare object not functioning properly.
- Fixed lens flares not being occluded by static meshes and moveable.
- Fixed spotlight shadows.
- Fixed Skeleton and Mummy not reacting to shotgun hits.
Features/Amendments #
- Added classic mirror effect with ability to reflect moveables and static meshes.
- Added ability to customize many hardcoded parameters, such as flare, weapon, and hair settings.
- Added dynamic shadow casting on objects and static meshes.
- Added fast savegame reloading.
- Added ricochet sounds and make the effect more prominent.
- Allow camera shake during flybys.
- Allow to run the engine without title level.
- Allow more than 1024 objects in a level.
- Allow more than 1000 static mesh slots in a level.
Lua API Changes #
- Added
Flow.Statisticsclass,Flow.GetStatistics()andFlow.SetStatistics()functions. - Added
Flow.GetFreezeMode()andFlow.SetFreezeMode()functions. - Added
Effects.EmitSpotLight()function for directional spotlights. - Added optional cast shadow and name parameters for
Effects.EmitLight()function. - Added
Effects.GetWind()function to get current wind speed vector. - Added
Moveable:GetCollidable()andMoveable:SetCollidable()functions. - Added
Moveable:GetAnimSlot()and optional second argument forMoveable:SetAnim()to access different animation slots. - Added
Rotation:Direction()method to get directional vector. - Added support for transparency value in
Strings.DisplayStringclass. - Added extra argument for
Sound.SetAmbientTrack()function to specify if new ambient track should play from the beginning. - Added new
View.CameraTypeenum entries and return it byView.GetCameraType(), when flyby camera or binoculars/lasersight is active. - Added new primitive Time class, which allows to manipulate and format game time without precision loss.
- Renamed
Flow.WeaponTypeenumeration toObjects.WeaponType, and removed similarObjects.LaraWeaponTypeenumeration for consistency. - Renamed
Objects.PlayerAmmoTypetoObjects.AmmoTypefor consistency. - Fixed
Strings.DisplayStringclass not supporting some Unicode characters and empty lines in multiline strings. - Fixed
Strings.DisplayStringnot being deallocated after showing. - Fixed GameVars not transferring between levels in hub mode.
- Fixed incorrect return value of
Moveable:GetAnim()function, if animation from another slot is currently playing. - Fixed incorrect behaviour of
Moveable:GetJointRotation()function. - Fixed incorrect behaviour of
Logic.EnableEvent()andLogic.DisableEvent()functions. - Fixed
Util.HasLineOfSight()not taking static meshes into consideration. - Fixed collision callbacks not properly clearing after leveljump.
- Fixed
Flow.SetIntroImagePath()not using the correct path.
Version 1.5 #
Bug fixes #
- Fixed original issue with classic switch off trigger incorrectly activating some trigger actions.
- Fixed moveable status after antitriggering.
- Fixed leveljump vehicle transfer.
- Fixed weapons not properly hitting enemies.
- Fixed falling through dynamic bridges that are moving upwards.
- Fixed Laserhead teleporting Lara and making her invisible on death.
- Fixed pick-ups from Sarcophagus objects.
- Fixed issue with Lara not rotating together with bridges while picking up items.
- Fixed ghost collision with objects with zero bounds.
- Fixed several binocular bugs.
- Fixed faulty death sectors.
- Fixed shimmy softlocks around static meshes with soft collision.
- Fixed incorrect swing ledge grabs with steep grab angles.
- Fixed incorrect climbing out of water on bridge objects and in front of static meshes.
- Fixed incorrect diving animation when swandiving from a high place.
- Fixed room clipping when flyby path goes out of room bounds.
- Fixed camera rotating with the player’s hips when climbing out of water.
- Fixed camera behaviour on sloped surfaces after player’s death.
- Fixed camera position after loading a savegame.
- Fixed broken ropes after loading a savegame.
- Fixed AI for TR2 Skidoo driver and Worker with shotgun.
- Fixed Ember Emitter crashing when ocb is between -1 and -10.
- Fixed Electric Cleaner and Squishy Block not detecting collision with certain block heights.
- Fixed Squishy Blocks crashing the level.
- Fixed Larson and Pierre pathfinding.
- Fixed Dart Emitters failing with antitrigger.
- Fixed Homing Dart Emitter spawning darts continuously when player is on its trigger.
- Fixed Four Blade Trap floor and ceiling collision.
- Fixed Joby Spikes collision and deformation.
- Fixed Sentry Gun joint rotation.
- Fixed Teeth Spikes not triggering the player impale animation.
- Fixed TR4 Mine crash with OCB 1 when triggered.
- Fixed cases where Atlantean Mutant’s bombs cause the game to crash.
- Fixed torch flame delay when the player throws or drops a torch.
- Fixed display sprites and display strings rendering in the inventory background.
- Fixed young Lara hair drawing.
Features/Amendments #
- Added high framerate mode (also known as 60 FPS mode).
- Added a customisable global lensflare effect.
- Added a customisable starry sky and meteor effect.
- Added the ability to display “Lara’s Home” entry in the main menu.
- Added the ability to change pickup item count by modifying item hit points.
- Added F12 as alternative to PrtSc for screenshots.
- Added ability to invoke load game dialog after death by pressing any key.
- Added visible mouse pointer in windowed mode.
- Added portal debug mode.
- Added new sound conditions: Quicksand and Underwater.
- Quicksand – sound effect plays when a moveable is in quicksand.
- Underwater – sound plays when the camera is submerged.
- Added TR3 Seal Mutant.
- You must use this version:
- Added TR4 Enemy Jeep.
- You must use this version:
- Changed TR5 Rome Hammer to not hurt player whilst deactivated.
- Changed TR2 Statue with blade damage from 20 to 200.
- Changed sound effect that is triggered when using the
level.rumblefeature in a level (ID 359 in the soundmap). - Changed hardcoded sound for Raising Block 1/2 back to the ID used in TRLE (ID 149).
- Enhanced TR2 Rolling Spindle detection to avoid them going down through pits.
- Enhanced Sentry Guns, with a new ItemFlags[3], to contain the ID of the inventory item that deactivates the sentry guns (Puzzle Item 5 by default).
- Enhanced Dart Emitter, with a new ItemFlags[0], to contain the number of frames between shots (by default 32 in Dart Emitter, and 24 in Homing-Dart Emitter).
- Enhanced Raptor behaviour and handling.
- You must use this version:
- Removed original limit of 32 active Flame Emitters.
Lua API Changes #
- Added
Flow.EnableHomeLevel()function. - Added
Flow.IsStringPresent()function. - Added
Flow.LensFlare()andFlow.Starfield()classes. - Added
Inventory.GetUsedItem(),Inventory.SetUsedItem()andInventory.ClearUsedItem()functions. - Added
Input.KeyClearAll()function. - Added
Moveable.GetJointRotation()and optional ‘offset’ parameter forMoveable.GetJointPosition(). - Added
Moveable.GetTargetState()function. - Added
Room:GetRoomNumber()function. - Removed
anims.monkeyAutoJump. It is now a player menu configuration. - Fixed
Volume:GetActive()method.
Version 1.4 #
Bug Fixes #
- Fixed drawing of display sprites in title level.
- Fixed drawing of smoke sprites and various other sprites.
- Fixed drawing of transparent surfaces when debris are present in scene.
- Fixed player holster state and current vehicle not preserved correctly on level jump.
- Fixed diving when swimming over sinks.
- Fixed fire item effect not extinguishing in water.
- Fixed fade-in and fade-out effects not canceling correctly when next level is loaded.
- Fixed shadows still being visible after shattering a moveable.
- Fixed FOV interpolation at the end of the flyby sequence.
- Fixed sounds resuming in pause mode while switching between apps.
- Fixed slide directions.
- Fixed occasional collision warnings in a log when teeth spikes object was activated.
- Fixed climbable pushables collision during continuous pulling action.
- Fixed collision for solid static meshes with zero collision box.
- Fixed bottom collision for solid static meshes.
- Fixed T-Rex’s head rotation.
Additions and Improvements #
- Auto-switch to a crawl state if player start position is in a crawlspace.
- Allow directional flame emitter (negative OCBs) to be rotated at any angle.
- Revise wall spikes:
- Wall spikes now stop when they touch a pushable, another spike wall or a normal
- Wall spikes will shatter any shatter in its path.
- Wall spikes can be stopped by a normal antitrigger or with a volume.
- Added hub system to preserve level state on level jumps.
- Added ember emitter.
- Added fish emitter.
- Added laser beam object.
- Added TR2 dragon and TR2 Marco Bartolli
- Added TR3 Winston (requires updated TEN .wad2)
- Added TR4 squishy blocks.
- Please use the versions below Horizontal version, Vertical version
Lua API Changes #
- Added resetHub flag to
Flow.Level, which allows to reset hub data. - Added
Flow.GetFlipMapStatus()function to get current flipmap status. - Added
Moveable:GetMeshCount()function to get number of moveable meshes. - Added
Static:GetHP()andStatic:SetHP()functions to change shatterable static mesh. - Fixed
Moveable:SetOnCollidedWithObject()callback.
Version 1.3 #
Bug Fixes #
- Fix crash if title logo is removed from Textures folder.
- Fix crash if unknown player state ID is encountered.
- Fix bug with OCB 2 on pushables, and some other pushable bugs.
- Fix pushable camera bug during edge slip.
- Fix lever switch turn off alignment animation.
- Fix lack of water splash in certain scenarios.
- Fix hydra flame not showing when charging.
- Fix shockwave light for hammer god.
- Fix camera shaking in some cases when the player is in quicksand room.
- Fix certain flame emitter OCBs emitting fire in wrong directions.
- Fix player not being able to pick up a torch when crouching.
- Fix jittery camera when performing crawl-to-hang.
- Fix several issues with limited pistol ammo.
- Fix player not being able to crawl if two-handed weapon is currently equipped.
- Fix playback issues with audio tracks placed in subfolders.
- Fix thin caustics outline on the edge of the blocks.
- Fix big static objects affected wrongly by dynamic lights.
- Fix legacy trigger leveljumps ignoring provided level index.
- Fix Light flicker.
Additions and Improvements #
- Add ambient occlusion (SSAO).
- Add new post-process workflow (monochrome, negative, exclusion).
- Add SMAA antialiasing instead of MSAA.
- Add global events.
- Add previously missing player start position object functionality.
- Add fast speed for fly cheat by holding Sprint input action.
- Add speedometer to vehicles.
- Totally revised transparency handling.
- Fixed normal mapping for rooms, items, and statics.
- Increased the maximum frames for animated sequences from 128 to 256.
- Optimized the renderer.
- Separate underwater wall and ceiling switch objects into two slots each.
- Accurately rotate display sprites around the pivot defined by the align mode.
- Allow walking on slopes when wading in water (similar to quicksand).
- Allow player to pull certain levers with both hands when holding a flare.
- Port twin auto gun from TR3.
- Slightly revise keyhole OCB to account for either keeping or losing the key:
- Positive OCB – play anim number and keep key in inventory.
- Negative OCB – play anim number and loose key in inventory.
- OCB 0 – play default animation and loose the key in inventory
- Revise keyhole OCBs to account for keeping or losing keys:
- Positive OCB: Play anim number and keep key.
- Negative OCB: Play anim number and lose key.
- OCB 0: Play default animation and lose key.
- Revise Wolf OCB:
- OCB 0: Wolf starts in walking animation, ready to chase Lara.
- OCB 1: Wolf starts in sleeping animation.
Lua API Changes #
- Add
Lara:GetInteractedMoveable()which returns currently interacted moveable by Lara. - Add
Moveable:SetStatus()to set the current status of the moveable. - Add
Room:GetColor()to get room’s ambient light color. - Add
Util.PickMoveableByDisplayPosition()andUtil.PickStaticByDisplayPosition()functions. - Add
View.GetCameraPosition(),View.GetCameraTarget()andView.GetCameraRoom()functions. - Add View.SetPostProcessMode(), View.SetPostProcessStrength() and View.SetPostProcessTint() functions.
Version 1.2 #
Bug Fixes #
- Fix burning torch not working properly if there are more than 256 objects in a level.
- Fix grenade and rocket projectiles smoke offset in certain directions.
- Fix projectiles flying through animating objects.
- Fix harpoon gun doing enormous damage on enemies.
- Fix train death animation.
- Fix various camera issues with unique death animations.
- Fix zipline not following correct trajectory.
- Fix TR1 wolf damage value inflicted on a close bite attack.
- Fix TR1 bear various original AI issues.
- Fix TR2 knife thrower AI.
- Fix TR2 doberman crashing the game when killed by explosive weapons.
- Fix random crashes when killing exploding enemies.
- Fix random crashes in battle with more than 8 enemies.
- Fix volume change in settings not affecting voice track.
- Fix several lighting bugs.
- Fix double drawing additive faces.
- Fix savegame count not properly increasing.
- Fix regeneration of non-ammo pickups with OCB 128.
- Fix vault bug preventing the player from climbing onto ledges out of deeper sections of wade-depth water.
- Fix cold exposure status not recovering in non-cold wade-depth water.
- Fix non-elevated combat camera.
- Fix camera snap when disengaging the look-around mode.
- Fix TR4 mapper not being visible.
Additions and Improvements #
- Improve head-on wall collision.
- Overhaul pushables:
– Separate climbable and non-climbable pushable object slots.
– Add new pushable OCB to manipulate pushable properties.
– Add new animations for pushing pushables off edges (TR1-3 and TR4-5 versions).
– Fix pushables not working with raising blocks.
– Fix miscellaneous pushable bugs. - Overhaul look-around feature:
– Allow for more consistent and wider viewing angles while crawling, crouching, and hanging.
– Improve look camera movement and control.
– Re-enable looking while performing up jump, backward jump, or backward crawl.
– Add functionality to rotate slowly when holding Walk while using binoculars or lasersight. - Add target highlighter system with toggle in Sound and Gameplay settings.
- Add sprint slide state 191.
- Add swinging blade.
- Add crumbling platform and add new OCBs for behaviour:
– OCB 0: Default behaviour. When the player steps on the platform, it will shake and crumble after 1.2 seconds.
– OCB > 0: When the player steps on the platform, it will crumble after the number of frames set in the OCB.
– A positive value results in activation via player collision.
– A negative value requires a trigger to activate. - Add basic mouse input handling. Allows for binding of mouse inputs in control settings.
- Add settings for Mouse Sensitivity and Mouse Smoothing (not used in-game yet).
Lua API changes: #
- Split and organize functions in `Misc` namespace to appropriate new namespaces.
- Make Vec2 and Vec3 objects float-based instead of integer-based.
- Add DisplaySprite object.
- Add Flow.EnableLoadSave() function to disable savegames.
- Add Flow.EnablePointFilter() function to disable bilinear filtering.
- Add View.GetAspectRatio() function to get the screen resolution’s aspect ratio.
- Add Logic.HandleEvent() function to call node events.
- Add Input.GetCursorDisplayPosition() function to get the cursor’s position.
- Add functions to load, save, delete and check existence of savegames.
- Add Lara:GetAmmoType() function to read the ammo that player is using.
- Add Moveable:GetEndFrame() function to get the end frame number of a moveable’s current animation.
- Add extra parameter to GiveItem() function to optionally display an inventory item given to the player in the pickup summary.
- Add DisplayStringOption.RIGHT and DisplayStringOption.BLINK flags for DisplayString.
- Add log messages warnings to functions AddCallback and RemoveCallback.
- Add Vec2 and Vec3 arithmetic for division with a number and multiplication with another Vec2 or Vec3.
- Add various Vec2 and Vec3 operators and methods, such as Normalize() and Lerp().
- Fix InventoryItem constructor, now it will accept compound values in Item Action parameter.
- Fix Moveable constructor forcing initial animation to 0 and hit points to 10, even if not specified.
- Fix activation of a flipped room when using SetPos() script command or position change node.
- Fix Sound:PlaySoundEffect() function when used without optional position argument.
- Update DisplayString constructor to take a “scale” parameter, allowing for the resizing of text.
- Make DisplayString constructor’s “color” parameter optional.
- Add DisplayString::SetScale() function to resize text.
- Add DisplayString::GetScale() function to get text scale.
Version 1.1.0 #
Bug fixes #
- Fix enemies shooting Lara through static meshes and moveables.
- Fix skeletons and mummies not being affected by explosive weapons.
- Fix crash on loading if static meshes with IDs above maximum are present.
- Fix various crashes specific to 64-bit build.
- Fix random crashes when playing audio tracks with names longer than 15 symbols.
- Fix crashes when trying to play .wav audio tracks on some Windows 11 systems.
- Fix last selected gun type not preserved after level jump.
- Fix incorrect vertical position after reloading a savegame made while standing on a bridge.
- Fix sprint value going below zero.
- Fix fog bulb density formula.
- Fix clockwork beetle activation crashing the game.
- Fix corrupted vehicle positions after savegame reload.
- Fix default ambience overlapping current one when loading a savegame.
- Fix doppelganger being limited to a single room.
- Fix bat AI, damage value, and incorrect collision after death.
- Fix regeneration for pickups with OCB 128.
- Fix raising blocks still shaking without OCB.
- Fix spiky ceiling, improve collision, and allow setting velocity via OCB.
- Fix TR1 winged mutant pathfinding and damage issues and add new OCBs.
- Fix TR1 Natla facing angle, bomb and shard projectiles, shooting anim in the second phase.
- Fix last inventory item position not being saved.
- Fix some puzzle hole objects crashing the game on item insertion.
- Fix incorrect harpoon bolt speed and angle when shooting vertically.
- Fix black shatter debris.
- Fix Lara’s shadow projecting only her joints on some occasions.
- Fix sun and spot bulbs direction and sheen casts.
- Fix room collector freezing game on some occasions.
- Fix incorrect culling for scaled static meshes.
- Fix normal mapping.
Additions and Improvements #
- Add ability to save screenshot in the “Screenshots” subfolder by pressing the “Print screen” key.
- Implement separate audio track channel for playing voiceovers with subtitles in .srt format.
- Don’t stop ambience when Lara dies.
- Pause all sounds when entering inventory or pause menu.
- Preserve hit points on level jump.
- Improve deflection against slopes.
- Move and rotate Lara and activated pickups together with dynamic bridge objects.
- Reduce camera bounce.
- Improve spiky wall collision accuracy.
- Expand control settings page.
- Allow key bindings for previously hardcoded actions (weapon hotkeys, vehicle controls).
- Add input actions for weapon scroll.
- Add splash effect to rockets and grenades when they enter water.
- Allow multiple doppelgangers by using the same OCB for the origin nullmesh and doppelganger.
- Add TR1 skateboard kid.
- Add TR1 Kold.
Lua API changes: #
- Add soundtrack functions:
- Misc::GetAudioTrackLoudness() for getting current loudness of a given track type.
- Misc::IsAudioTrackPlaying() for checking if a given track type is playing.
- Misc::GetCurrentSubtitle() for getting current subtitle string for the voice track.
Version 1.0.9 #
Bug fixes #
- Fix cold bar triggered in non-water rooms.
- Fix spiky wall speed value and change it via OCB number or Lua (Moveable::SetItemFlags[0]).
- Fix bats emitter crashing the game if the little beetle object does not exist in wad.
- Fix gunflash rendering and position for entities.
- Fix snowmobile driver crashing the game.
- Fix knifethrower not throwing knife.
- Fix classic rollingball rolling in place into some closed doors.
- Fix zipline not working properly.
- Fix missing heavytrigger checks for node events activated from classic triggers.
- Fix death flag burning enemies underwater.
- Fix pickups and object collision not working properly in flipped rooms without portals.
- Fix footprints not being cleared after level change.
- Fix thumbstick camera option sometimes producing jerky camera movements during object interaction.
- Fix soundtrack position not restoring if same track is already playing.
- Fix inventory input interference when entering inventory via puzzle.
- Fix gamepad still vibrating if Lara was poisoned prior to death.
- Fix flare brightness.
- Fix grenade firing angle.
- Fix rendering for static meshes with custom blending modes and alpha transparency.
- Fix inconsistent multiline string spacing on different display modes.
Additions and Improvements #
- Remove search object 4 hardcoded meshswap activated with a flipmap.
- Add TR1 cowboy.
- Add TR3 wall mounted blade.
- Add TR3 claw mutant.
- Add TR5 lasers:
- Choose colour for the lasers via tint menu.
- Laser OCB means width of the laser in sectors.
- Negative OCB laser will trigger heavy trigger.
- Positive OCB kills Lara.
- Add removable puzzles from puzzle holes and puzzle dones:
- Employed by setting the trigger type as “Switch” for either puzzle hole or puzzle done.
- Can be mixed with puzzle done and puzzle holes of the same or different type.
- Add reusable keys for key holes:
- Employed by setting the trigger type as “Switch” for key hole.
- Allow key hole animation to be played via OCB number:
- Default OCB 0 will play Lara use key animation.
- Any positive OCB number will play the animation according to the OCB number.
- Reimplement fog bulbs.
- Add missing gunflash for some entities, also include dynamic light and smoke to all gunflashes.
- Add ability to pick up a single inactive flare as an inventory item.
- Add log reports if title level or other levels don’t exist.
- Add better error handling for missing font, sprites or shaders.
- Add “Reset to defaults” entry to controls menu and automatically bind XBOX gamepad profile if connected.
- Add 64-bit executable and place both 32-bit and 64-bit versions into /Bin subdirectory.
Lua API changes: #
- Add Vec2 class.
- Add function String::SetTranslated().
- Add function Misc::IsStringDisplaying().
- Add the following for use in AddCallback and RemoveCallback:
- PRESTART, POSTSTART
- PREEND, POSTEND
- PRESAVE, POSTSAVE
- PRELOAD, POSTLOAD
Version 1.0.8 #
Bug fixes #
- Fix bubbles phasing through ceilings.
- Fix object camera not clearing at level end.
- Fix hardcoded double-breathing Lara sound effect.
- Fix Lara’s hair twist and rotation.
- Fix harpoon gun triggering water and dry sounds when shooting and holstering.
- Fix Z-fighting in inventory rendering.
- Fix dozy cheat always giving uzi weapons even if not present in wad.
- Fix TR3 Sophia’s charge ring drawing below floor.
Additions and Improvements #
- Add TR5 imp
- Add TR1 slamming doors.
- Add TR3 wasp
- Add TR3 Corpse
- Add the ability to set cold bar in rooms (achieved by setting cold flag to a room in Tomb Editor).
- Add water wakes for vehicles.
- Allow the hair object to have as many or as few hair segments as desired (dynamically adapted by the engine).
- Restored inventory compass.
Lua API changes: #
- Add new function
Misc::IsSoundPlaying()to check if a specific sound is being played.
Version 1.0.7 #
Bug Fixes #
- Fix spark particles not being cleared on level reload.
- Fix visible but inactive enemies (e.g. Shiva or Xian guardians) taking damage.
- Fix blockable LOT type enemies (e.g. T-Rex and Shiva) not being able to step up 1 click or drop 2 clicks.
- Fix valve switch unable to untrigger objects.
- Fix valve and wall hole switches (OCB 5 and 6) not working as a timed switches.
- Fix incorrect Lara alignment on monkeyswing autojump.
- Fix silent crash if hair object or skin joints are missing.
- Fix holster meshes not displaying for Lara’s shadow.
- Fix TR3 Shiva not taking explosive damage (should still block it with the sword).
- Fix TR3 Puna boss not blocking projectiles (grenade, rocket, harpoon, bolt) with the shield.
- Fix TR3 Puna boss and TR5 Roman statue taking fire when shot by explosive ammo.
- Fix TR2 sword and spear guardian:
- Not doing transition from alive to stone and stone to alive.
- Taking damage in stone mode.
- Wrong joint index for rotating the head and torso.
- Spear guardian not using left and right spear attack when walking (had wrong state ID set as target).
- Killing move for spear used wrong value.
- Fix TR3 big gun spawning rocket with 0 life which caused an immediate explosion.
- Fix TR3 Tony and add boss effect for him.
Additions and Improvements #
- Use Lara object’s own meshes if Lara skin object does not exist in level file.
- Add TR3 civvy.
- Add TR3 electric cleaner.
- Add TR3 Sophia Leigh
- Add airlock switch object. Achieved by putting valve switch trigger and door trigger on the same sector (TR5 submarine door setup).
- Add OCB 7 for switches to be used with SetItemFlags Lua commands for customizing on/off animations and reachable distance.
- Add instant headshot to guards.
- Polish the distance position between Lara and switch objects.
- Adjust rocket ammo pickup from 10 to 1.
- Improve behaviour of tiger and lion enemies.
- Implement more realistic water bubble effects.
- Implement a new stacked pickup display inspired by OpenLara.
- Prevent Lara from drawing weapons during parallel bar swinging.
- Further renderer performance optimizations and bugfixes.
Lua API changes: #
- Fix
Camera:SetPositionnot updating camera position when it is played simultaneously. - Add
Moveable:GetAirborneandMoveable:SetAirborne. - Add
Moveable:GetLocationAIandMoveable:SetLocationAI.
Version 1.0.6 #
Bug Fixes #
- Fix major pathfinding bug which could have caused lots of issues with enemy behaviour.
- Fix potential random crashes due to incorrect rendering behaviour.
- Fix savegame crash for disabled enemies with a partially set activation mask.
- Fix certain enemies not damaging Lara if binoculars or lasersight mode is active.
- Fix invisible Lara after starting a new game from title flyby with hidden Lara.
- Fix backholster weapons not updating their sound position together with player.
- Fix black screen bug when there was an obstacle between the fixed camera and the target.
- Fix underwater caustics not appearing without visiting options menu beforehand.
- Fix TR1 ape climbing.
- Fix TR1 rat which crashed the game when it was killed.
- Fix TR2 small spider climbing and pathfinding.
- Fix TR3 Shiva and TR4 baddy 2 not blocking bullets.
- Fix TR4 harpy’s sting attack which was neither hurting nor poisoning Lara.
- Fix TR4 SAS teleporting over the blocks he walks by.
- Fix TR4 seth blades that were doing a double activation when used an OCB different than 0.
- Fix TR4 skeleton spawn when used with OCB 3.
- Fix TR4 sphinx solving his bugged behaviour that happened if it received a lot of damage.
- Fix TR5 Roman statue and its meshswap.
- Fix TR5 twogun laser guard.
- Fix enemy projectile effect colours.
- Fix enemy shadow position.
- Fix sound positions not updated during flybys.
- Fix grenade launcher super ammo emitting too many fragments.
- Fix grenade and rocket launcher lighting.
- Fix ceiling trapdoor and floor trapdoor that Lara couldn’t open manually.
Additions and Improvements #
- Make enemies drop pickups at first available bounding box corner point, not centerpoint.
- Restore original volumetric explosion effects.
- Add TR3 lizard and Puna.
- Add TR3 boss effects in
ID_BOSS_SHIELDandID_BOSS_SHOCKWAVE_EXPLOSIONslots. - Add an option to activate Lua or node events from legacy triggers.
- Add more warnings in logs to enemies which animation or required slot is missing.
- Antitriggering an enemy will now cause it to vanish and pause.
- Re-triggering an enemy will cause it to reappear and unpause.
- Lua Moveable functions Enable and Disable now correctly trigger and antitrigger the moveable.
- Improve level loading speed a lot.
Lua API changes: #
Moveable:SetVisiblehas been added. MakeInvisible is now an alias forSetVisible(false).Moveable:MeshIsVisible->GetMeshVisible.Moveable:SetMeshVisiblehas been added to replaceShowMesh/HideMesh.Moveable:MeshIsSwapped-> GetMeshSwappedCamera:SetPositionnow updates the position if it’s called while it’s being played.- Primitive Classes (Color, Rotation, Vec3) can now be saved via Levelvars and Gamevars variables.
- OnSave function now gets called just before data is saved, rather than just after.
- Add new function CameraObject::PlayCamera()
- Add new function Misc::GetCameraType()
- Add new functions Moveable:GetAirborne() and Moveable:SetAirborne(bool input)
Version 1.0.5 #
Bug Fixes #
- Fix combined items not existing in inventory upon game reload.
- Fix classic rollingball not behaving properly in rooms beyond the distance of 32 blocks.
- Fix rollingball not killing Lara under certain movement angles.
- Fix savegame crashes when rooms with static meshes are flipped.
- Fix discrepancies between statistics and save / load game time units.
- Fix draw key incorrectly working in binoculars / lasersight mode.
- Fix incorrect picking up from plinths concealed by raising blocks.
- Fix reversed grenade rotation.
- Fix flame emitter 3 not burning player.
- Fix TR2 yeti, TR3 civvy and MP with stick vault bugs.
- Fix TR2 worker with flamethrower and TR3 flamethrower baddy attack ranges and aiming issues.
- Fix TR3 tribeman with axe not attacking Lara.
- Fix TR3 tribeman with dart not shooting at Lara’s direction.
- Fix TR3 crow and TR4 harpy death animations not performing correctly.
- Fix TR4 crocodile attack range and joint rotation speed.
- Fix TR4 Von Croy not using animation for 2 and 3 step down vaults.
- Fix TR4 baddies not using animation for 3 step down vaults.
- Fix TR5 laserhead guardian.
- Fix crash, water death and meshswap issues for TR5 cyborg.
- Fix pathfinding problems for first initialized enemy of every slot.
- Fix pathfinding of flying and water creatures (partial).
- Fix rare crash when smash item is inside a wall and add warning log for the scenario.
- Fix bone rotations of some entities.
- Fix Lara’s animation for cog switch release.
Additions and Improvements #
- Added new OCB to cog switch object.
- Allow to freely rotate dart emitter in all directions.
- Customize dart emitter damage with OCB.
- Draw real mesh for darts.
- Added warning log when one slot requires another slot which is missing.
Lua API changes: #
- Add new
Roomclass and several methods for it.
Version 1.0.4 #
Bug Fixes #
- Remove TRC remnant which added HK to inventory if pistols weren’t available.
- Fix choppy camera movement in several cases.
- Fix Lara’s vertical position when shimmying around steep slope corners.
- Fix legacy pickup triggers not working in certain cases.
- Fix crawl pickup not actually doing any pickups.
- Fix demigod and harpy shooting in incorrect directions.
- Fix particle effects for seth and harpy magic attacks.
- Fix lasersight always displaying with HK, revolver and crossbow.
- Fix rapid ammo spending in HK lasersight mode.
- Fix incorrect string IDs for item combine, HK and revolver with lasersight.
- Fix puzzle holes not swapping to puzzle done objects.
- Fix several collision and sound source issues in flipped rooms.
- Fix several pushable sound and object collision bugs.
- Fix original bug with incorrect climb up behaviour on ladders under sloped ceilings.
- Fix original bug with reassigned control keys still triggering default events.
- Fix TR1 centaur bubble targeting.
- Fix TR5 autogun rotation.
- Fix occasional wrong rollingball collision in narrow pits.
- Fix classic rollingball and big rollingball not behaving properly.
- Fix caustics not turning off in display settings.
- Fix windowed mode not using real resolution when DPI scaling is active.
- Fix the control lock not working in flyby sequences.
- Fix empty inventory when using the build and play feature in TE.
- Fix non-pickupable thrown flares.
- Fix throwing flare without drawing any weapons if there are no weapons present.
- Fix several incorrect FOV reset issues.
- Fix the current soundtrack fading into silence if the incoming one doesn’t exist.
- Fix the crash if there is an attempt to display a string with missing characters.
Additions and Improvements #
- Add generic assignable effects for moveables – fire, sparks, smoke and laser / electric ignite.
- Add the ability to burn enemies with
Flame_Emitter1and death blocks. - Add wireframe mode and other visual debug information (switch by F10/F11 debug page scroll hotkeys).
- Activate Lara-bound volume triggers with mounted vehicles.
- Allow multiple individual activators for the same volume at the same time.
- Change the default shatter sound to
TR4_SMASH_ROCK(tomb4 default). - Reduce idle pose time from 30 to 20 seconds.
- Automatically align pickups to the floor surface.
- Minecart enhancements:
- Add landing/jump sound.
- Add fall damage.
- Explode in water below 2-click surface.
- Fix jump.
- Templar Knight enhancements:
- Restored spark effects.
- Can destroy statics in shatter slots.
- Fix the crash when attacking.
- SAS enhancements:
- Fix grenade shooting.
- Fix
AI_MODIFYandAI_GUARDbehaviour.
Lua API changes: #
- Add new Volume class and several methods for it.
- Add new Moveable functions:
GetEffect,SetEffectandSetCustomEffect(for coloured fire). - Add new Lara functions:
GetTarget,GetVehicleandTorchIsLit. - Remove Lara functions: SetOnFire and GetOnFire (replaced with GetEffect and SetEffect).
- Add Gameflow.lua options:
Flow.EnableMassPickupfor mass pickup functionality.Flow.EnableLaraInTitlefor displaying Lara in title flyby.Flow.EnableLevelSelectfor title flyby level selection.level.secretsfor level-specific secret count.
- Fix
level.ambientTrackproperty not working for title flyby. - Fix action key script functions not fully working in some cases.
- Fix mounted vehicles ignoring Disable, Shatter and Explode script commands.
- Fix SetPosition command not updating room number correctly.
- Fix Rotation class using integers under the hood which prevented using fractional rotation values.
- Fix distance tests failing on a very high distances.
Version 1.0.3 #
Bug Fixes #
- Fix going into inventory and load/save dialogs during fade-ins and fade-outs.
- Fix savegames not preserving save number and game timer.
- Fix dodgy weapon lock angle constraints.
- Fix wrong shotgun ammo pickup amount.
- Fix shotgun using 6 units of ammo with each shot.
- Fix rocket explosions near statics.
- Fix explosive crossbow bolts not damaging player.
- Fix poisoned crossbow bolts not damaging enemies.
- Fix TR3 monkey level crash.
- Fix occasional ejections when landing on a slope.
- Fix occasional ejections when climbing up on a ledge under a slope.
- Fix pushables not being pushable on top of bridges and other pushables.
- Fix pushables having incorrect collision when bounding box is bigger than 1 sector.
- Fix grabbing narrow ledges below ceilings.
- Fix slow centaur projectile velocity.
- Fix search animations – allow chest and shelf animations to play properly.
- Fix sarcophagus and its item pickup.
- Fix underwater door and double doors continuing to be interactable after opening.
- Fix underwater door being interactable when underwater switch is on the same square.
- Fix ability to turn when aligning to an object while standing.
- Fix left arm lock while picking up an item with a flare in hand.
- Fix potential crashes when exiting game.
- Fix secret soundtrack (which filename number should be the last) not playing.
- Fix distance fog not applying properly to additive and subtractive surfaces.
- Fix swarm enemies and projectiles occasionally drawn using incorrect meshes.
- Fix single-hand weapons not having a sound on draw and undraw.
- Fix waterfall mist – it can now be disabled with antitrigger.
- Fix underwater lever pull animation playing after interacting with underwater ceiling switch.
- Fix SAS_DRAG_BLOKE object interaction.
- Fix KILLER_STATUE not triggering.
Additions and Improvements #
- Add ledge jumps (Lara object must be updated with new animations to make it work).
- Allow any object slot to be used as a meshswap.
- Add silent mode for Rollingballs.
- Customize waterfall mist colour.
- Implement HK shooting modes from TR5.
- Implement sprite instancing to speed up rendering.
- Enable dynamic lights for swarm enemies (beetles, rats and bats).
- Re-enable underwater caustics.
- Increase amount of maximum secrets per level from 8 to 32.
- Improve game and inventory input handling.
- Adjust sprint jump timing.
- Add DAMOCLES_SWORD from TR1.
Lua API changes: #
- A new class has been added, LaraObject, for Lara-specific functions. The built-in “Lara” variable now uses this class.
- Add functions for Lara object:
GetPoison/SetPoisonGetAir/SetAirGetOnFire/SetOnFireGetSprintEnergy/SetSprintEnergyGetWet/SetWetGetWeaponType/SetWeaponTypeUndrawWeaponGetAmmoCountGetHandStatusThrowAwayTorch
- Add FlipMap and PlayFlyBy script commands and node functions.
- Add
GetMoveablesBySlotandGetStaticsBySlotscript commands to select groups of items. - Add FlyCheat option to gameflow script for disabling dozy mode.
- Add
SetTotalSecretCountoption to gameflow script to set overall amount of secrets. - Raised the maximum value on
Moveable.SetHPto 32767 (its internal numeric maximum).
Version 1.0.2 #
Bug Fixes #
- Fix removing Pistols with TakeItem and SetItemCount.Allow saving and loading of Vec3s in LevelVars and GameVars.
- Fix incorrect pole mounting.
- Fix zeroed forward velocity upon landing.
- Fix incorrect behaviour when falling on statics from the top after monkeyswing.
- Fix missing animcommand calls on first animation frame.
- Fix 1-frame turn rate delays.
- Fix occasional leave event calls when moving closer to volumes.
- Fix incorrect viewport size in windowed mode.
- Fix late landing animation dispatch in rare cases.
- Fix incorrect velocity calculations for death animations.
- Fix horseman’s axe attack using his left foot as the damaging joint.
- Fix stargate blades needlessly pushing the player around while hardly doing any damage.
- Fix weapon hotkeys and add missing crossbow hotkey.
Additions and Improvements #
- Support volume triggers made with node editor.
- Adjust max turn rate of idle state.
- Align Lara on slopes when crouching, crawling, and dying.
- Better slope alignment for large, flat enemies (i.e. big scorpion and crocodile).
- Lock turn rate when automatically aligning Lara to objects.
- Don’t play Lara alignment animations if the interacted object is too close.
- Allow vertical pole mounts only when facing one directly.
- Allow vertical pole mounts while turning, walking, or running.
- Update monkey swing 180 turn animation.
- Update backward monkey swing animations.
- Added standing 180 turn. Activated with WALK+ROLL on dry ground, automatic when in wade-height water or swamp.
- Added crouch turn and crawl turn animations.
- Added new switch OCBs.
Lua API changes #
Util.ShortenTENCallsno longer needs to be called; it is now automatic for both level scripts and Gameflow.lua.Flow.InvIDhas been removed; any function taking a pickup (e.g.GiveItem) now takes anObjects.ObjIDinstead.- Add Enable, Disable,
GetActive,GetSolidandSetSolidfunctions for static meshes. - Add
FadeOutComplete,StopAudioTrackandStopAudioTracksfunctions. - Account for objects in HasLineOfSight tests.
- Move
Timer.lua,EventSequence.luaandUtil.luato a subfolder named “Engine”. - LevelFuncs can now contain tables as well as functions. These tables can contain functions and other tables, and so forth.
- Moveable functions
SetOnHit,SetOnKilled,SetOnCollidedWithObjectandSetOnCollidedWithRoomno longer take strings, and instead take function objects themselves. - Don’t require
EventSequenceandTimerto callTimer.UpdateAllinOnControlPhase. - Add
TEN.Logic.AddCallbackandTEN.Logic.RemoveCallback. - Rework
GiveItem,TakeItem, andSetItemCount(e.g.SetItemCountwith a value of -1 can give infinite ammo/consumables).
Version 1.0.1 #
Bug Fixes #
- Fix some issues with shimmying between diagonal ledges and walls.
- Fix rope transparency.
- Fix objects disappearing under certain angles at the edges of the screen.
- Fix incorrect polerope and jumpswitch grabbing.
- Fix camera behaviour with pushable blocks.
- Fix minecart unduck on inclines.
- Fix quadbike dismount with jump key and allow to shoot big gun with action key.
- Fix static meshes having wrong colors on savegame reload.
- Fix rollingball incorrectly killing Lara in water and in jump.
- Fix resurfacing on underwater death.
- Fix water to ladder animation not activating in all cases.
- Fix ripples not appearing on water connections higher than room bottom.
- Fix several problems with ropes (stumbling, rope length, etc).
- Fix several problems with teeth spikes.
- Fix falling through twoblock platform on room number change.
- Fix falling block breaking too early if placed on a vertical portal.
- Fix crashes when loading image files are missing.
- Disable trigger check for puzzle holes.
- Clear locusts and other swarm enemies on level reload.
- Enhance cobra AI and fix targeting.
- Fully decompile HAMMER object from TR4.
- Prevent title music audio from starting in a random place.
- Update harpoon speed on room change.
- Enable second sky layer rendering.
- Preserve inventory and flare on level jumps.
- Timer.Create now lets you choose the units to display remaining time.
- Fatal script errors now boot you to the title (it will crash if the title itself has these errors).
- SetFarView has been removed, and Flow.Level.farView is now uncapped.
- DisplayString text will now be cleared when a level is exited or reloaded.
- EventSequence.lua has been added and documented.
Additions and Improvements #
- Added antialiasing support.
- Added static mesh scaling support.
- Added free rotation for teeth spikes instead of using OCB codes.
Version 1.0 #
First beta release.