Commit graph

32 commits

Author SHA1 Message Date
Lwmte
cb23823e64
Video playback (#1625)
* Work

* Work

* Update Video.cpp

* Update Video.cpp

* Update Video.cpp

* Update Video.cpp

* Update Video.cpp

* Working playback

* Update Video.cpp

* Cleanups

* Additions

* Update Video.cpp

* Formatting

* Correct pausing/resuming

* Remove .mov extension, as it's not supported

* Use vector instead of array

* Implement SetIntroVideoPath

* Swap intro image and intro video to better reflect original legal sequence

* Update Gameflow.lua

* Simplify synchronization with VLC thread

* Use Vector2i for sizes, only fetch video dimensions once

* Rename callbacks, move logging callback to a class

* Update Video.cpp

* Update CHANGELOG.md

* Removed empty OnDisplayFrame event

* Rename

* Stop video player if user pressed Alt+F4

* Allow background video playback

* Update Video.cpp

* Update Video.cpp

* Fixed init errors

* Restore .mov default extension for video playback

* Update RendererDraw2D.cpp

* Add video streaming for rectangular faces of room geometry

* Remove magic and use normalized UVs instead

* Use VIDEO_SPRITE_ID instead of NO_VALUE

* Added more scripting API functions for video playback

* Correct variable names

* Shorten notification

* Add GetVideoDominantColor

* Do proper cleanup when alt+F4ing during video playback

* Change game loop deinit to avoid several issues with cleaning up

* Organise `VideoHandler` class

* Randomize glow angle

* Update comment

* Update Video.cpp

* Update Video.cpp

* Fix issues with frame drops in exclusive mode

* Optimize CPU usage in exclusive mode

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2025-04-20 22:06:07 +03: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
Lwmte
9f38943005 Update scripts structure 2024-01-06 13:36:18 +01:00
Lwmte
855c46f774 Update Gameflow.lua 2023-11-06 03:59:31 +01:00
Jakub
5f2ba4cdf0
Update Gameflow.lua 2023-10-24 18:37:32 +01:00
Kubsy
473cc96454 add EnableLoadSave to gameflow 2023-09-25 11:10:06 +01:00
Kubsy
420eda464b add EnablePointFilter to gameflow.lua 2023-09-06 12:16:59 +01:00
Lwmte
1882711be4 Enable level select by default 2023-01-29 12:17:50 +02:00
Lwmte
076e989993 Add Flow.EnableLevelSelect option in Gameflow.lua to enable/disable level selection 2022-12-07 18:02:46 +02:00
Anatoly
557b25d9fa
Add option to draw Lara in title flyby (#890)
* Add option to draw Lara in title flyby
* Update Changes.txt
2022-12-06 15:40:38 +02:00
Anatoly
697aea87eb
Enable mass pickup (#859)
* Enable mass pickup
* Update Changes.txt
* Remove getThisItemPlease
* Fix sarcophagus pickups
* Fix legacy pickup triggers not working
* Update Changes.txt
* Align pickups to surfaces
* Update pickup.cpp
* Update pickup.cpp
* Update Changes.txt
2022-11-20 05:29:08 +02:00
Lwmte
64d61afd3e Rename SetNumberOfSecrets to SetTotalSecretCount 2022-11-17 18:01:39 +02:00
Lwmte
0859d0ea11 Dehardcode overall secrets count 2022-11-03 07:43:04 +02:00
Kubsy
f3ac73d5d4 Add EnableFlyCheat to gameflow lua file 2022-10-26 15:34:55 +01:00
hispidence
b7bd4035a2 Update starter scripts in accordance with #742 2022-09-16 14:59:43 +01:00
hispidence
2c2d49cc5d Update scripts in accordance with #701 and #735 2022-09-13 21:28:38 +01:00
Lwmte
8a460e29c2 Clean up scripts 2022-08-16 13:21:57 +03:00
hispidence
d61697e9f2 Uncap levelFarView and remove regular game farView. 2022-08-09 22:59:27 +01:00
hispidence
a45fd03c1b Remove bit of old debug code that prevented all further objects being loaded. 2022-08-07 00:55:40 +01:00
Lwmte
010676983b Update Gameflow.lua 2022-08-06 17:38:35 +03:00
Lwmte
e89ddf4452 Change key check lua command names to more consistent ones 2022-08-06 16:59:43 +03:00
Lwmte
3992e68b33 Clean up scripts more 2022-08-04 20:06:28 +03:00
Lwmte
c519c0029f Remove unused shader, clean up scripts 2022-08-04 05:23:56 +03:00
Stranger1992
4292d0ef39 Fog implemented in default Gameflow.lua
Syntax for fog =

```level.fog = Fog.New(Red Value , Green Value , Blue Value , Distance fog starts (in sectors) , Distance fog ends (in sectors)```
2022-07-05 16:05:33 +01:00
MontyTRC89
45d61b5ba9 Possible fix for levels without statics 2022-05-28 05:54:28 +02:00
Lwmte
0ea0f74222 Change level file extension in script 2022-05-17 13:25:41 +03:00
Sezz
153e0a3d05 Update animation bools and fix Settings.lua; use correct block in monkey idle state 2022-05-06 01:47:54 +10:00
Sezz
e42538aa8d Revert "Update animation bools and fix Settings.lua; use correct block in monkey idle state"
This reverts commit 8305a2581b.
2022-05-06 01:44:15 +10:00
Sezz
8305a2581b Update animation bools and fix Settings.lua; use correct block in monkey idle state 2022-05-05 19:50:52 +10:00
hispidence
48e018f7fb Remove Enums.lua (it's now redundant), update Gameflow.lua and Settings.lua. 2022-02-14 23:10:29 +00:00
hispidence
e2a40fe42e Fix up Gameflow.lua, Settings.lua and Strings.lua. 2022-02-13 20:38:55 +00:00
Lwmte
59263279fe Provide scripts file into repo 2021-12-01 15:31:39 +03:00