Commit graph

9399 commits

Author SHA1 Message Date
Sezz
8df57a57c7 Add GetBoundingBox() and GetClosestPointOnLinePerp() functions; minor updates to geometry math 2024-01-11 16:43:29 +11:00
Sezz
1635f9048f Update TranslatePoint() overloads 2024-01-11 16:31:29 +11:00
Sezz
1d06a4c9b8 Use AxisAngle in TranslatePoint() overload 2024-01-11 02:50:15 +11:00
hispidence
ba648e1383 Fixed doc comments and regenerated docs. 2024-01-07 13:22:52 +00:00
Kubsy
6633e5512f Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine 2024-01-06 15:24:31 +00:00
Lwmte
d1c0050d8d Update config.ld 2024-01-06 15:26:58 +01:00
Kubsy
94e807a4e6 Merge branch 'develop' 2024-01-06 13:53:29 +00:00
Jakub
657e3fb2ee
merge (#1313)
* Update New_Level.lua

* Revert "Update New_Level.lua"

This reverts commit 90b2d00644.

* Revert "Revert "Update New_Level.lua""

This reverts commit 7fc3191b4d.
2024-01-06 13:52:24 +00:00
Kubsy
6da51210de Revert "Revert "Update New_Level.lua""
This reverts commit 7fc3191b4d.
2024-01-06 13:50:00 +00:00
Kubsy
7fc3191b4d Revert "Update New_Level.lua"
This reverts commit 90b2d00644.
2024-01-06 13:49:21 +00:00
Kubsy
2e0835da2e Merge branch 'develop' 2024-01-06 13:43:55 +00:00
Lwmte
9f38943005 Update scripts structure 2024-01-06 13:36:18 +01:00
Kubsy
28e49094d2 Merge branch 'develop' 2024-01-06 12:33:08 +00:00
Lwmte
860b44223b Update Changes.txt 2024-01-06 13:16:26 +01:00
Lwmte
9192981417 Update Resources.rc 2024-01-06 12:35:29 +01:00
Lwmte
a0a5ee68db Update Changes.txt 2024-01-06 12:33:42 +01:00
Lwmte
4ea26e5de7 Fix several issues with LARA_START_POS 2024-01-06 09:07:16 +01:00
Jakub
e4b286e41d
Update Changes.txt 2024-01-05 22:23:22 +00:00
Jakub
b63cf527bc
Renderer refactor (#1287)
* Fixed vertex effects for statics

* WIP implementing SMAA antialiasing

* Fixed double drawing of additive faces

* SMAA working, need to tune it

* Cleaned SMAA code, ready for test

* Formatting

* Renderer cleaning Tier 1

* Renamed Renderer11 to Renderer;
Forced DX11 hardware support;
Removed m_ from private fields in Renderer class;
Refactored render targets: optional depth buffer creation;
Back buffer now is a RenderTarget2D;

* Converting constexpr and defines to enum classes

* Converting enum to enum classes, tier 2;

* Converting constexpr to enum classes, tier 3

* Cleaned enums and constants; Renamed some files;

* Fixed shaders; Renamed AlphaTestModes;

* Cleaned shaders directory; Reverted hardware version to DX10.1 (we'll upgrade it again in the next releases);

* Renamed private fields;
Refactored quad vertex buffer for sprites;
Refactored HUD renderer structure;
Minor fixes;

* Deleted some files

* Removed reference to RendererQuad.h

* New renderer transparency, for rooms now

* Continue work

* Implemented WOIT for alpha blending;
Started renderer refactoring;

* Removed redundant DirectX api calls

* Added G-Buffer with normals and depth

* Refactored and optimized particle enemies (rats, bats, locusts, beetles);
Extended G-Buffer to effects, rats, bats, locusts, beetles, gunshells, debris;
Extended animated textures sequence to 256;
Fixed normal mapping for items and statics;

* Removed WOIT code;
Removed write to depth map in opaque pass (it's already done in depth pre-pass);
Cleaned debris rendering code;

* Removed legacy render targets;
Added dual paraboloid mapping for ambient light (to finish the light shader):
Minor cleanups;

* Implement additive debug triangles

* Unhardcode value

* Finished room ambient code, commented for now (need to write a gaussian filter);

* Fixed wrong constant buffer slot in SMAA

* Renamed draw effects functions;
Moved prepare sprites function before the draw code;
Restored additive drawing;
Restored alpha blend faces collect;

* Enhance visual debug object API

* Partially restored sprites drawing

* Rename local variables

* Improve spheres

* Update names

* Rename function

* Remove unneeded parameter

* Formatting

* Cleaned and optimized drawing of opaque/additive sprites

* Removed legacy alpha blend code;
Added drawing of alpha blended faces for rooms;

* Completed drawing of non commutative objects;
FIxed compilation;
Removed old files;

* Refactored debug statistics for renderer

* Fixed FPS calculation

* Removed not used render targets and shaders

* Added base post-process framework;
Added monochrome and sepia effects;

* SSAO WIP

* SSAO almost working, needs tuning;
Changes to G-Buffer;

* Removed .cpp files in Graphics directory and moved constructors to headers;
Templatized VertexBuffer class;
New post-process system work in progress;
New blur stage for SSAO;

* SSAO at 1/4 resolution

* Removed FinalPass.fx and moved pixel shader to PostProcess.fx;
Added color to PostProcessVertex;
Rewritten the post-process step using new system;
Tweaked some variables for SSAO;
Fixed drawing of render targets debug thumbnails;

* Rewritten antialiasing techniques with new post-process system;
Made depth target optional when creating render targets using UNKNOWN DXGI format;

* Fix for empty vertex and index buffers

* Encode normals to RGBA8 render target;
Fixed samplers of depth texture;

* Removed legacy hairs shader

* Restored SSAO at fuill res for now;
Fixed shaders structs;

* Optimized G-Buffer shaders for speed and avoid DX log spam;
Renamed updateData to UpdateData in constant buffers;

* Bilateral gaussian filter for SSAO

* Fixed wrong enum

* Cleaning constant buffers tier 1

* Added SSAO setting

* Fixed shaders

* Fixed shaders

* Update SystemStrings.lua

* Refactored initialization code;
Added read and write of ambient occlusion in Windows registry;
Refactored shaders;
Added LUA API for setting color scheme;
Removed some old variables;

* Added effect strength to post-process framework

* Some shaders cleaning;
Don't calculate SSAO if disabled;

* Restored wireframe mode

* Revert "Merge branch 'develop' into renderer_refactor"

This reverts commit 4706f46982, reversing
changes made to bd413d00b2.

* Add negative postprocess effect

* Update PostProcess.fx

* Removed some DX log spam in SMAA shaders;
Fixed crash while drawing alpha blended faces from static objects;

* Fixed alpha blended faces drawing double sided for items and statics

* Fixed flickering of alpha blended faces of rooms

* Fixed gunflashes

* Revert "Revert "Merge branch 'develop' into renderer_refactor""

This reverts commit 536c555b2d.

* Fixed shadow mapping for point lights

* Fixed bad merge in speedometer

* Fix display pickup crash

* Fix SSAO toggle with left key

* Refactoring postprocess effect workflow

- Added exclusion mode
- Separated effect mode and strength to different functions
- Reset postprocess on level start
- Preserve postprocess on savegame reload
- Enum and function renames to maintain consistency

* Fix some comments

* Fix display pickup drawing

* Rename

* Fix for lights not affecting big static objects

* Fixed antialiasing for pickup objects and for inventory scene

* Fixed ghost polygons bug

* Fixed SSAO on surfaces with no or invalid normals

* Fix merge

* Bypass postprocessing if effect strength is set to 0

* Update SystemStrings.lua

* Update Changes.txt

* Update Changes.txt

* Turn on SSAO and target highlighter by default

* Remove duplicated changelog entries

* Implement LARA_START_POS object handling

* Update lara_initialise.cpp

* Update Changes.txt

* Update Changes.txt

* Fixed double sided alpha blend faces again

* Added things to changes.txt

* Update Changes.txt

* Don't use LARA_START_POSes with OCB 0

* Fixed 3D sprites like footprints

* Fixed glow for statics;
Fixed world position for items;

* Per-triangle sorting alpha blend

* Fixed missing last polygons in alpha blending

* Code cleaning

* Added alpha blending to rats, bats, locusts, scarabs

* Restored fast alpha blend

* Fixed AA in title level

* Improved light collector;
Added code for disable statics instancing if needed for debug;

* Fixed rare wrong caustics textures sizes

---------

Co-authored-by: MontyTRC89 <montyhammet@hotmail.it>
Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2024-01-05 22:19:52 +00:00
Adngel
e6c92decf3 ObjectCollisions update
For object collisions with other items that are not Lara. (Like vehicles hitting enemies or colliding with pushables or traps).
2024-01-04 11:06:18 +01:00
Joey Quint
48c2158c42 Fix typo in CalculateHorizontalDistance() 2024-01-01 22:24:38 +01:00
Adngel
0ad626c1d6 Wolf new OCB
- OCB 0: Wolf starts in walking animation, ready to chase Lara.
  - OCB 1: Wolf starts in sleeping animation. (As it was before).
2023-12-30 12:36:53 +01:00
Sezz
07879bc744 Minor formatting 2023-12-29 18:19:52 +11:00
Lwmte
bfc7d1b3d4
Lara start position handling (#1301)
* Implement LARA_START_POS object handling

* Update lara_initialise.cpp

* Update Changes.txt

* Update Changes.txt

* Don't use LARA_START_POSes with OCB 0
2023-12-28 20:36:33 +00:00
Sezz
99f9acbd34 Fix AFK pose for real 2023-12-28 21:33:42 +11:00
Sezz
7a1424b7f8 Remove comment 2023-12-28 15:15:33 +11:00
Sezz
d1573144ba Fix AFK pose 2023-12-27 21:37:25 +11:00
hispidence
a70159d95b Regen docs and fix some doc comments 2023-12-26 20:47:08 +00:00
Lwmte
b22584baf6 Remove unnecessary warning if callback function body is missing 2023-12-26 03:54:19 +01:00
Lwmte
737af2ecbd Update ViewHandler.cpp 2023-12-26 03:20:12 +01:00
Lwmte
9a6837865c Make extension order consistent with TE enumeration 2023-12-26 02:41:31 +01:00
Lwmte
b7ed52c53d Fix playback issues with audio tracks placed in subfolders 2023-12-26 00:56:11 +01:00
Lwmte
72ae2842e7 Bump version to 1.3 2023-12-25 14:10:43 +01:00
Lwmte
b94d21b20d Update FlowHandler.cpp 2023-12-25 09:29:26 +01:00
Lwmte
14fa1d39aa
Pick objects by cursor (#1296)
* Initial Commit
* Move GetRayFrom2DPosition to los.cpp
* Quick formatting
* Reogranize conversions a bit
* Update ViewHandler.cpp
* Remove unued temp variables
* Update Changes.txt

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2023-12-25 10:15:57 +02:00
Lwmte
dacc2c8f6a
Get game status (#1297)
* Initial commit
* Fix issues with getting game status correctly
* Remove wrong test code
* Fix merge
2023-12-25 10:15:39 +02:00
Sezz
fe6ee8ba1c
Bridge refactor (#1277)
* Implement BridgeObject ItemData variant
* Fix merge errors
* Remove destructor
* Update BridgeObject.cpp
* Fix merge

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2023-12-25 10:01:29 +02:00
Lwmte
edce4087c9 Move MoveableStatus enum to Objects namespace 2023-12-21 14:32:23 +01:00
Lwmte
8ba30a102a Also properly show pistol ammo in inventory 2023-12-21 01:56:48 +01:00
Lwmte
16a2358835 Add deprecated controlphase callback enums to maintain backwards compatibility 2023-12-21 01:50:10 +01:00
Lwmte
8cb7ef6418 Fix several issues with limited pistol ammo 2023-12-21 01:19:29 +01:00
Jakub
59187f4db6
Update New_Level.lua 2023-12-20 20:58:51 +00:00
Jakub
90b2d00644
Update New_Level.lua 2023-12-20 20:13:18 +00:00
Lwmte
6a3ede73eb
Rename OnControlPhase to OnLoop, fix bug with post-loop callbacks (#1283) 2023-12-20 20:12:47 +00:00
Sezz
958e56642e Fix busy hand status on crawl 180 turn and monkey swing jump 2023-12-20 13:19:00 +11:00
Lwmte
640cbefed8 Add Room:GetColor lua function 2023-12-20 02:35:18 +01:00
Lwmte
f96922956d Fix ldoc error 2023-12-20 02:26:19 +01:00
Lwmte
c921c0dd62 Add GetCameraPosition and GetCameraTarget lua functions 2023-12-20 02:01:53 +01:00
Jakub
bbee2abc67
Update Changes.txt 2023-12-18 09:44:52 +00:00
Sezz
556c06332f Fix AFK posing 2023-12-18 19:16:40 +11:00