Skip to content

Tomb Engine Changelog

Stranger1992 edited this page Jan 14, 2023 · 8 revisions

Version 1.0.6

  • Fix major pathfinding bug which could have caused lots of issues with enemy behaviour.
  • Fix savegame crash for disabled enemies with 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 double activation of TR4 seth blades when used an OCB different than 0.
  • Fix sting attack of TR4 harpy which was neither hurting nor poisoning 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 BIG_RAT which crashed the game when it was killed.
  • Fix TR4 SKELETON spawn when used with OCB 3
  • Fix TR4 SAS teleporting over the blocks he walks by.
  • Fix enemy projectile effect colours.
  • Restore original volumetric explosion effects.
  • Add undead flag to TR4 sphinx to prevent it from becoming bugged after receiving a lot of damage.
  • Add an option to activate Lua or node events from legacy triggers.
  • 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.

Lua API changes

  • Moveable:SetVisible has been added. MakeInvisible is now an alias for SetVisible(false).
  • Moveable:MeshIsVisible is now GetMeshVisible.
  • Moveable:SetMeshVisible has been added to replace ShowMesh/HideMesh.
  • Moveable:MeshIsSwapped is now GetMeshSwapped
  • Add new function CameraObject::PlayCamera()
  • Add new function Misc::GetCameraType()

Version 1.0.5

  • 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.
  • Added new OCB to cog switch object:
    • Use OCB 0 to have the traditional behaviour.
    • Use any other OCB to can use the Cog Switch without need of any door linked.
  • Allow to freely rotate dart emitter in all directions.
  • Customize dart emitter damage with OCB. Negative number will additionally poison Lara.
  • Draw real mesh for darts.
  • Added warning log when one slot requires another slot which is missing.

Lua API changes:

  • Add new Room class and several methods for it.

Version 1.0.4

  • Add generic assignable effects for moveables - fire, sparks, smoke and laser / electric ignite.
  • Add ability to burn enemies with FLAME_EMITTER_1 and 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.
  • Remove TRC remnant which added HK to inventory if pistols weren't available.
  • Change default shatter sound to TR4_SMASH_ROCK (tomb4 default).
  • Reduce idle pose time from 30 to 20 seconds.
  • Automatically align pickups to floor surface.
  • Minecart enhancements:
    • Add landing / jump sound.
    • Add falldamage.
    • Explode in water below 2 click surface.
    • Fix jump.
  • Templar Knight enhancements:
    • Restored spark effects.
    • Can destroy statics in shatter slots.
    • Fix crash when attacking.
  • SAS enhancements:
    • Fix grenade shooting.
    • Fix AI_MODIFY and AI_GUARD behaviour.
  • 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 control lock not working in flyby sequences.
  • Fix empty inventory when using 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 current soundtrack fading into silence if incoming one doesn't exist.
  • Fix crash if there is an attempt to display a string with missing characters.

Lua API changes:

  • Add new Volume class and several methods for it.

  • Add new Moveable functions: GetEffect, SetEffect and SetCustomEffect (for colored fire).

  • Add new Lara functions: GetTarget, GetVehicle and TorchIsLit.

  • Remove Lara functions: SetOnFire and GetOnFire (replaced with GetEffect and SetEffect).

  • Add Gameflow.lua options:

    • Flow.EnableMassPickup for mass pickup functionality.
    • Flow.EnableLaraInTitle for displaying Lara in title flyby.
    • Flow.EnableLevelSelect for title flyby level selection.
    • level.secrets for level-specific secret count.
  • Fix level.ambientTrack property 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

  • 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 OCB 1 for rollingball to make it silent.
  • Customize waterfall mist colour and OCB (XXYY, where XX is width, and YY is size).
  • 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.
  • Backport DAMOCLES_SWORD from TR1.
  • 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.

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 / SetPoison
    • GetAir / SetAir
    • GetOnFire / SetOnFire
    • GetSprintEnergy / SetSprintEnergy
    • GetWet / SetWet
    • GetWeaponType / SetWeaponType
    • UndrawWeapon
    • GetAmmoCount
    • GetHandStatus
    • ThrowAwayTorch
  • Add FlipMap and PlayFlyBy script commands and node functions.

  • Add GetMoveablesBySlot and GetStaticsBySlot script commands to select groups of items.

  • Add FlyCheat option to gameflow script for disabling dozy mode.

  • Add SetTotalSecretCount option to gameflow script to set overall amount of secrets.

  • Raised the maximum value on Moveable.SetHP to 32767 (its internal numeric maximum).

Version 1.0.2

  • Fix removing Pistols with TakeItem and SetItemCount.

  • Allow saving and loading of Vec3s in LevelVars and GameVars.

  • 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:

    • 0 for wall switch
    • 1 for small wall switch
    • 2 for small button
    • 3 for big button
    • 4 for giant button (sequence switch)
    • 5 for valve turn
    • 6 for hole switch
    • any other OCBs play corresponding switch on anim or OCB+1 switch off anim.
  • 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.

Lua API changes:

  • Util.ShortenTENCalls no longer needs to be called; it is now automatic for both level scripts and Gameflow.lua.
  • Flow.InvID has been removed; any function taking a pickup (e.g. GiveItem) now takes an Objects.ObjID instead.
  • Add Enable, Disable, GetActive, Get/SetSolid functions for static meshes.
  • Add FadeOutComplete, StopAudioTrack and StopAudioTracks functions.
  • Account for objects in HasLineOfSight tests.
  • Move Timer.lua, EventSequence.lua and Util.lua to 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, SetOnCollidedWithObject and SetOnCollidedWithRoom no longer take strings, and instead take function objects themselves.
  • Don't require EventSequence and Timer to call Timer.UpdateAll in OnControlPhase.
  • Add TEN.Logic.AddCallback and TEN.Logic.RemoveCallback.
  • Rework GiveItem, TakeItem, and SetItemCount (e.g. SetItemCount with a value of -1 can give infinite ammo/consumables).

Version 1.0.1

  • Added antialiasing support.
  • Added static mesh scaling support.
  • Added free rotation for teeth spikes instead of using OCB codes.
  • 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.

Version 1.0

First beta release.