Commit graph

9548 commits

Author SHA1 Message Date
Lwmte
d0527bf2dd Remove GetNextLevel, as it is broken 2024-12-25 09:32:34 +01:00
Lwmte
222177f45b
Mirrors (#1519)
* WIP TR4 style mirrors

* Fixed broken previous commit

* Added debris and effects drawing in mirrored rooms;
Some optimizations for early skip non mirrored items;

* Implemented mirrors in file format

* Use default argument value for ReadCount

* Use emplace_back and camera room number

* Fixed items culling in mirror rooms;
Changed file format for having also virtual room;

* Cached reflection matrix of mirrors at load time;
Fixed lighting in mirrored items;
Added bad cull mode after mirrore debrises drawing;
Added mirroring of dynamic lights;

* Fixed ambient occlusion in mirrored rooms

* Fixed random statics positions while shooting

* Added logic for hiding selectively reflecting moveables and statics;
Added enabled flag for disabling mirrros in the future with LUA;

* Simplify renderer code, remove excessive if statements

* Update level.cpp

* Decopypaste more mirror-related code

* More decopypasting, rename inline function, remove unneeded arg

* Remove unnecessary inline, dont reflect room lights

* Fixed billboards, reintroduce ReflectVectorOptionally

* Fixed dynamic lights

* Update RendererDraw.cpp

* Fixed 3D sprites mirroring

* Draw reflections also when Lara is in any of mirrored rooms, not only camera

* Remove unrelated changes

* Remove lambdas

* Rename fields for consistency

* Reorganize renderer code a little

* Rename

* Spawn mirrored dynamic lights in Lara rooms too

* Update RendererDraw.cpp

* Add option to reflect sprites

* Update CHANGELOG.md

* Fixed mirrors on savegame reloading

* Fix Lara not mirroring when using binoculars

* Continuation of previous fix

* Fixed 3D non-sorted sprites mirroring

* Fixed various binocular / lasersight issues

* Fix meshswap, if object is not present

* Don't perform binocular animations if binocular meshswap is not present

* Rename CamOldPos and use more consistent type for it

* Update title.bin

* Fixed #1521

* Fixed #1522

* Interpolate Lara flare light, hide target highlighters in binos

* Fix #1525

* Fixed postprocessing order and precompile shaders to speed-up loading

* Fixed #1524

* Fixed silent crash if several Lara objects are present in level near dynamic light with shadow

* Implement proper soft shadows

* Disable self-shadowing for now, as it's causing visual glitches

* Update RendererInit.cpp

* Update CHANGELOG.md

* Update CHANGELOG.md

* Formatting pass

* Revert "Formatting pass"

This reverts commit 88a8ba24de.

* Reapply "Formatting pass"

This reverts commit becd24da93.

* Update RendererFrame.cpp

* Final formatting pass

---------

Co-authored-by: MontyTRC89 <montyhammet@hotmail.it>
Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
2024-12-25 10:21:07 +02:00
Jakub
4e41bb97de
Update CHANGELOG.md 2024-12-25 00:30:06 +00:00
Lwmte
e3ecc3acdb Update docs, fix savegame formatting, bump version 2024-12-24 23:22:02 +01:00
Lwmte
ee867fb9dc Don't try to draw debug box in non-debug mode 2024-12-24 20:15:12 +01:00
Lwmte
3ea8978c67 Rename traveledDistance to distanceTraveled 2024-12-24 20:04:13 +01:00
Sezz
96f41ef9e8 Draw interaction box in collision stats debug page 2024-12-24 13:13:45 +11:00
Lwmte
c757422f2d Fixed #1526 2024-12-24 01:34:36 +01:00
Lwmte
6d38bb3617 Prevent log spam with fish swarm 2024-12-22 20:42:42 +01:00
Lwmte
b62c8d7c40 Minor changes 2024-12-21 20:01:55 +01:00
Lwmte
04b659b410 Revert joint connection code, fix compass needle 2024-12-21 19:31:24 +01:00
Lwmte
0620e83125 Don't give LDoc warning on compile 2024-12-21 12:40:24 +01:00
Lwmte
0ae3888456 Expose different animation slots to scripting API 2024-12-21 10:09:00 +01:00
Lwmte
d75bba698f Fixed Electricity Wires object not doing instant kill when Lara is in close proximity 2024-12-21 01:02:50 +01:00
Lwmte
13bad20803 Fixed #1514, #1515, #1516 2024-12-21 00:31:10 +01:00
Lwmte
64c1777023 Use level time for volume timestamps, as using GlobalCounter may be inconsistent 2024-12-19 22:34:02 +01:00
Lwmte
625131fbb7 Use O1 optimizations 2024-12-19 01:26:39 +01:00
Lwmte
078a2ab07b Remove unsafe reference usage 2024-12-19 00:58:48 +01:00
Lwmte
88bbe48621 Fixed infinite loop if bridges with zero thickness exist in level 2024-12-17 01:39:11 +01:00
Lwmte
dad63f98c5 Fixed climbable pushables clipping Lara under the bridges when pulled 2024-12-17 01:17:02 +01:00
Lwmte
db717658fc Added references to Type module 2024-12-16 21:33:37 +01:00
davidmarr
e9f057eb64
Add Type module (#1506)
* Update VolumeObject.cpp

fixed Volume:GetActive() method

* Update CHANGELOG.md

* function description LevelFuncs.OnUseItem

* Revert "function description LevelFuncs.OnUseItem"

This reverts commit 2478afca68.

* Add Type module

Allows to check the data type of a variable

* Update Type.lua

update description

* Update Type.lua

* Update Type.lua

* Update Type.lua

* Update Type.lua

* Update Type.lua
2024-12-16 22:25:17 +02:00
Lwmte
0bf151b8cf Update CHANGELOG.md 2024-12-16 21:30:04 +01:00
Lwmte
86161f0922 Update Time.cpp 2024-12-16 21:23:26 +01:00
Lwmte
5ba92095f6 Fixed secrets display 2024-12-16 20:56:10 +01:00
Lwmte
ae79247979 Update docs 2024-12-16 08:10:26 +01:00
Lwmte
117a4962b3 Update WeaponTypes.h 2024-12-16 08:09:55 +01:00
Lwmte
f0ec62b888 Don't pollute native game enum with script-only entries 2024-12-16 07:48:27 +01:00
Sezz
be820cac3d Some cleanup 2024-12-16 15:14:42 +11:00
Lwmte
0abb8981ba Add separate binoculars/lasersight camera types, correct default gunflash ranges 2024-12-16 01:11:33 +01:00
Lwmte
51a6b741db Update CHANGELOG.md 2024-12-16 00:08:07 +01:00
Lwmte
8d08a9feb5 Move statistics back to TEN classes 2024-12-15 23:59:31 +01:00
Lwmte
63a5464d00 Clarify documentation 2024-12-15 23:50:41 +01:00
Lwmte
773c5bb7bb Remove obsolete mirror class, more cleanups in documentation 2024-12-15 23:47:59 +01:00
Lwmte
becadbf046 Fixed time reference 2024-12-15 23:40:58 +01:00
Lwmte
f97d257fd1 Add optics camera type, big enum cleanup and doc formatting 2024-12-15 23:34:33 +01:00
Lwmte
4f66f24bbd Return flyby camera type, if flyby is active 2024-12-15 21:21:55 +01:00
Lwmte
f8dc369ccb Update savegame.cpp 2024-12-15 19:49:10 +01:00
Lwmte
050142d3b6 Save time variables in savegames 2024-12-15 19:45:13 +01:00
Lwmte
f4763bd4a2
Customize global hardcoded parameters (#1495)
* Initial commit

* Update CHANGELOG.md

* Tint flare smoke

* Expose GetCustomizations

* Added lensflare and flicker customization options for flare

* Update LensFlare.cpp

* Remove unnecessary code

* Update lara_flare.cpp

* Massive refactor to merge animations, settings and customizations

* Add HUD customization options

* Customize weapons

* Fixed flare, renamed recoil to interval, fixed lensflare default

* Occlude flare lensflares

* Update Settings.cpp

* Use alternate damage for lasersight mode

* Added hair cust

* Fix comment

* Fix another comment

* Fix link

* Fix placeholder table names

* Reorganize types

* Add missing initializers for hair settings

* Added physics cust

* Clarify description

* Update settings.lua

* Update CHANGELOG.md

* Add gun smoke, gun shells and ammo pickup counts

* Fix naming ambiguity

* Remove missing features from documentation

* Fix comment

* Fix parameter name, change default settings file

* Fixed pitch black

* Rollback DoDistanceFogForVertex

* Add camera cust

* Change binocular/lasersight toggle to color

* Update lara_basic.cpp

* Add time and statistics classes and script API for it

* Fix comment

* Use DoDamage on Lara helpers to register with statistics

* Update Time.cpp

* Fix documentation

* Fix default flare timeout

* Update Settings.lua

* Add flare muzzle offset customization

* Remove young Lara limitations

* Fix lasersight color

* Push full settings.lua

* Update RendererCompatibility.cpp

* Allow to customize root meshes, decopypaste hair and joint init code

* Added sol Time operator overloads

* Some changes to docs, add meaningful error for unknown fields

* Use existing new index template, add gunflash color settings, add shotgun muzzle

* Remove excessive usage of GetSettings()

* Cleanups

* Update Settings.lua

* Clarify parameter name

* Fix InitializeWeaponInfo

* PR review code tidying

* Fix bad merge

* Update FlowHandler.cpp

* Remove tabs for LDoc comments

* Use different comment style to preserve formatting

* Update lara_fire.cpp

* Some cleanups

* Fixed GetTimeUnits

* Fix typo

* Update Time.cpp

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-12-15 18:24:49 +02:00
Sezz
ab7e25aa7a Pass position reference instead of copy when collecting lights 2024-12-15 00:19:57 +11:00
Lwmte
19528ea3bd Fix hair vertices linking incorrectly in some cases 2024-12-14 12:25:50 +01:00
Lwmte
2f6114deba Disable camera interpolation when going from/to binoculars 2024-12-13 09:08:09 +01:00
Lwmte
6198975bea Don't unroll float loops, as they slow down game launch 2024-12-12 01:31:10 +01:00
Lwmte
bddc52f632 Optimize debris drawing 2024-12-11 19:04:41 +01:00
Lwmte
4fe20b2a92 Fix moving bridges again without breaking bridge tilts 2024-12-11 16:50:37 +01:00
Lwmte
e674b85268 Add puzzle/key items in DOZY mode only if shift is held 2024-12-11 01:34:54 +01:00
Lwmte
3e5a3609cc Fix #1508 2024-12-11 01:06:31 +01:00
Lwmte
c7a1440131 Adjust room lighting influence 2024-12-10 22:53:31 +01:00
Lwmte
11d9661d6b
Renderer enhancements (#1507)
* Implement light masking, merge shadow functions, precalculate radians for spotlights

* Update CHANGELOG.md

* Fixed spotlight shadow calculation

* Disable shadow pass if it is disabled in settings

* Move all step functions into appropriate mask blocks
2024-12-10 23:11:53 +02:00