Commit graph

94 commits

Author SHA1 Message Date
Lwmte
cb73477b90 Added pickups count to Flow.Statistics class 2025-03-09 19:07:28 +01:00
TrainWrack
e0b50439b3
Custom bar module (#1492)
* Update to bug report form

* Update bug_report.yaml

* Update AUTHORS.md

- Tomo (general coding, special FX coding, bug fixing)

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update bug_report.yaml

* Add files via upload

* Update CHANGELOG.md

* Add files via upload

* Update CustomBar.lua

* Fix bugs with bar property setters

* Update CustomBar.lua

* Update documentation

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Nemoel-Tomo <tomo_669@hotmail.com>
Co-authored-by: Jakub <kubabilinski03@gmail.com>
Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-09 06:59:49 +02:00
TrainWrack
f1bb383baa
Horizon Effects (#1583)
* First Commit

* Check

* Check

* Check

* Is it done?

* GetHorizonDone

* Add HorizonSwap

* Fix Interpolation

* Update CHANGELOG.md

* Update EffectsFunctions.cpp

* Update EffectsFunctions.h

* Docs

* Create Horizon Class and implement it.

* Fix Interpolation

* Make HorizonObject part of WeatherController

* Implement horizon fading

* Save horizon parameters

* Update CHANGELOG.md

* Update RendererDraw.cpp

* Update EffectsFunctions.cpp

* Invert current horizon transition value if another transition is queued

* Add missing shader change

* StartPosition

* Cleaup

* Start working on Position

* Code commit

* Fix interpolation checks distance for position.

* Docs

* Update CHANGELOG.md

* SavePosition in savegame

* Major cleanup

* Update weather.cpp

* First commit

* Some fixes

* Reworked horizon workflow

* Update CHANGELOG.md

* Update docs

* Added missing rumble parameter

* String constants; use TypeOrNil; general cleanup

* Fix documentation

* Fix documentation

* Update documentation

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
2025-03-09 06:30:07 +02:00
TrainWrack
e047da7257
Streamer emitter (#1589)
* WIP

* Committ

* LUA DOCS

* Expose Moveable Scale (#1587)

* Done

* Update CHANGELOG.md

* Cleanup

* Minor fixes

* Update CHANGELOG.md

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>

* Cleanup

* Improve streamer effect implementation

* Shorten names

* Update Streamer.h

* Point to Moveable

* Change to Const

* Doc revisions

* Doc revisions

* Update CHANGELOG.md

* Use precise names

* Do things over seconds

* Make tag optional again

* Integrate start and end colour

* Update doc comment

* Regenerate docs; update strings

* Update doc comment

* Update ReservedScriptNames.h

* Update EffectsFunctions.cpp

* Minor fixes

* Update EffectsFunctions.cpp

* Update EffectsFunctions.cpp

* Update EffectsFunctions.cpp

* Rename Item

* Renames

* Add compiled docs

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
2025-03-09 06:19:08 +02:00
TrainWrack
e54fba1e4a
Advanced particles (#1555)
* Update to bug report form

* Update bug_report.yaml

* Update AUTHORS.md

- Tomo (general coding, special FX coding, bug fixing)

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update bug_report.yaml

* Expose ObjectSlot

* Docs

* Code Update

* FinalPush

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Expose startRot

* Expose startRot

* Remove Space.

* FirstCommit

* Cast gameobj to int

* Update

* WIP

* WIP

* wip

* Checks

* WIP

* WIP

* WIP

* Enum

* Enum revision

* Update CHANGELOG.md

* Revisions due to Develop changes

* CodeCleanup

* Revision to Code as per revised structure.

* Add friction and YVel

* Revisions

* LUA Docs

* RevisionDocs

* x

* Revisions

* Docs

* Docs

* Docs

* Docs

* Make wind default

* Light effect

* LightFinish

* Added Sounds

* Add sound docs

* Update particle anim types file

* Update EffectsFunctions.cpp

* Update EffectsFunctions.cpp

* FixAngle

* Fix StartRot

* Cleanup

* Add Savegame fields

* Add loadgame data.

* Fix bug on develop related to save value of xVel

* Address Comments

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Nemoel-Tomo <tomo_669@hotmail.com>
Co-authored-by: Jakub <kubabilinski03@gmail.com>
Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
2025-03-09 05:45:25 +02:00
TrainWrack
d19d56acee
Collision Class (#1579)
* First Commit

* Make ScriptCollision class

* Fix typo

* Return correct types

* Use NO_HEIGHT

* Implement GetSurfaceMaterial

* Add enums

* Added death, climbable wall, monkeybar

* FIx angle

* Revise things

* Make "Collision" script module; add IsOutOfBounds() method

* Rename IsOutOfBounds()

* Allow getting floor or ceiling material type

* Don't need IsWall()

* Update Collision.cpp

* Restore IsWall()

* Rename class to "Probe"; start docs; make steepness inquirers return an optional

* Update Probe.cpp

* Update class name in doc

* Update Probe.cpp

* add GetRoomName

* UpdateEnums

* Update MaterialType enum; make room name getting more local

* Revise constructors; update doc

* Update Probe.cpp

* Generate html docs

* Slightly clearer doc comments

* Convert spaces to tabs

* Update Probe.cpp

* Update Probe.cpp

* Rename parameters

* Update Probe.cpp

* ScriptProbe -> Probe

* ExposeGetRoom

* Register Collision.MaterialType table; Enable ClimbWall again.

* Cleanup

* Docs revision

* Update CHANGELOG.md

* Moved names to script reserved names

* Fixed incorrect namespace for probe

* Use consistent names; cleanup

* Make argument optional; fix doc

* Update Probe.cpp

* Add missing includes

* Add Preview() method; update docs

* Add constant

---------

Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-05 10:13:48 +02:00
Sezz
1715fdb7b0 Update conventions, formatting, docs 2025-02-23 21:59:44 +11:00
Sezz
ca56f62f54
Multithreading (#1541)
* Create Worker class for multithreading

* Update TombEngine.vcxproj

* Rename GetWorkerCount() to GetThreadCount()

* Add ProcessInParallel template for vectors

* Add multiThreaded flag to settings, process sprites in parallel

* Update Flow.Settings.html

* Refine WorkerManager class conventions; deinit threads properly

* Don't require explicit destruction

* Address basic PR notes

* Update Worker.cpp

* Simplify ThreadManager class

* Add method for running single task

* Use singleton pattern; use more appropriate Controller suffix

* Update WorkerController template method

* Revise method

* Handle exception in ~WorkerController()

* Grammar

* Correctly init single-threaded mode

* Update CHANGELOG.md

* Defer thread init until g_GameFlow is valid

* unsigned int -> int

* Rename class

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-02-12 09:59:54 +02:00
TrainWrack
1f81ccf44d
Diary module (TEN side) (#1509)
* Update to bug report form

* Update bug_report.yaml

* Update AUTHORS.md

- Tomo (general coding, special FX coding, bug fixing)

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update bug_report.yaml

* Add files via upload

* Add files via upload

* Add ID_DIARY_SPRITES (1384) and DIARY_ENTRY_SPRITES (1385)

* Delete Scripts/Engine/Diarymodule.lua

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Delete Scripts/Engine/CustomBar.lua

* Add files via upload

* Update CustomDiary.lua

* Add files via upload

* Add files via upload

* Add files via upload

* Update CustomDiary.lua

* Upload

* Update CHANGELOG.md

* Revisions

* Doc revisions

* Remove GameVars.Engine everywhere.

* Added error warnings by integrating type module

* Update bug_report.yaml

* Fixed the bug with GameVars resetting each level.

* Added .Engine back.

* Added missing checks.

* Removed nil from textOptions loop

* Added full TEN name for printlogs.

* LatestChanges

* Added section for import.

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
2025-02-06 23:05:25 +00:00
Sezz
94ede801bc Misc. script doc tidying; move some script classes to namespaces 2025-02-06 16:35:59 +11:00
Sezz
2b41ae743a Tidy up Lua doc for Static class 2025-02-06 02:35:16 +11:00
Sezz
d8c646fabd Start restructuring script Moveable class 2025-02-01 17:47:29 +11:00
Sezz
6ef8a562e5 Update doc comment for moveable 2025-01-28 04:10:12 +11:00
Stranger1992
bfe07f6e21 Bump version in Lua API for development 2025-01-05 16:45:30 +00:00
Lwmte
382f778fa2 Bump version, add runtime checks 2024-12-27 19:45:31 +01:00
Lwmte
e3ecc3acdb Update docs, fix savegame formatting, bump version 2024-12-24 23:22:02 +01:00
Lwmte
3ea8978c67 Rename traveledDistance to distanceTraveled 2024-12-24 20:04:13 +01:00
Lwmte
b62c8d7c40 Minor changes 2024-12-21 20:01:55 +01:00
Lwmte
0ae3888456 Expose different animation slots to scripting API 2024-12-21 10:09:00 +01:00
Lwmte
db717658fc Added references to Type module 2024-12-16 21:33:37 +01:00
Lwmte
8d08a9feb5 Move statistics back to TEN classes 2024-12-15 23:59:31 +01:00
Lwmte
773c5bb7bb Remove obsolete mirror class, more cleanups in documentation 2024-12-15 23:47:59 +01:00
Lwmte
f97d257fd1 Add optics camera type, big enum cleanup and doc formatting 2024-12-15 23:34:33 +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
Lwmte
1f1d3b2aad Delete old documentation when recompiling 2024-12-02 23:57:17 +01:00
Lwmte
c0a93612ae
Dynamic spotlight (#1488)
* Initial commit

* Update CHANGELOG.md

* Provide helper method to convert rotation to directional vector

* Remove unneeded arguments, add missing function registration

* Fixed direction

* Fixed incorrect behaviour of Moveable:GetJointRotation() function

* Add optional castShadow flag to light functions

* Fixed spotlight shadows

* Cleanup

* Fix spotlight shadows again

* Interpolate dynamic lights, if unique ID is given

* Use name instead of unique ID

* Update docs

* Update CHANGELOG.md

* Fix incorrect variable type

* Update CHANGELOG.md
2024-11-28 23:09:29 +02:00
Lwmte
b5fa51b2dc Recompile docs for 1.6, version update 2024-11-21 18:27:42 +01:00
Lwmte
91081c9f0d
Freeze event and OnUseItem callbacks (#1463)
* Add use item callbacks, add menu boilerplate code

* Set up scripting API for game mode

* Use word "break" instead of "menu" everywhere

* Rudimentary implementation of BreakPhase

* More progress

* Doc update

* Always active lensflare

* Update CHANGELOG.md

* Fix hair interpolation for spectator mode

* Update target highlighter and other HUD elements while in break mode

* Fix various problems

* Don't try to update camera in spectator mode

* Cleanup camera code

* Rename break to freeze

* Update FlowHandler.cpp

* Update Flow.html

* Update control.cpp

* Rename method

* Add displaystring owner to differentiate between freeze modes

* Disable triggers and volumes in freeze mode

* Update control.cpp

* Rename enum

* Update CHANGELOG.md

* Implement full freeze, correct callback behaviour

* Update RendererDrawMenu.cpp

* Allow DumpGameScene to do partial pass

* Remove hack

* Introduce render mode enum to render scene without any postprocess

* Tidying

* Fix problems with items or renderer not updating before entering freeze mode

* Fix rebase errors

* Use interpolation factor getter instead of raw value everywhere

* Update documentation

* Fixed setting freeze mode from OnStart

* Fixed freeze mode not working in OnStart event

* Revert "Fixed freeze mode not working in OnStart event"

This reverts commit 87f6fbdc6d.

* Bypass cinematic bars and fades for non-full render modes

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
2024-11-20 20:54:39 +00:00
Sezz
2624c5bed2 Formatting 2024-11-16 22:07:57 +11:00
Stranger1992
3cb6eec261 Add Strings.DisplayString Enum page
Also:

* bumped up engine version with a developers tag.
* Increased margin of the menu to accommodate changes
2024-11-15 00:52:36 +00:00
Lwmte
784f957596
Fast reload (#1445)
* Initial commit
* Fix crash on title
* Update level.cpp
* Update CHANGELOG.md
* Do slight audiotrack fade-ins and fade-outs on leveljumps
* Implement hash checks
* Fixes
* Rename rapid to fast
* Fixed flipmaps and bridge reinit
* Bypass reinitializing renderer for fast reload
* Fix issue when title and last loaded level are the same files
* Update CHANGELOG.md
* Additional fixes
* Wrap savegame loading code into a try-catch
* Update CHANGELOG.md
* Remove door collision on fast reload, restore stopper flag
* Display log message if level file was not found
* Update CHANGELOG.md
* Clear blocked flag for boxes
* Implement fast reload setting
* Add defaults to settings
* Consistent naming
* Smooth level loading audio crossfades
* Stop non-ambience soundtracks early
* Minor formatting
* Update Settings.lua 
---------

Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
2024-11-11 12:55:50 +02:00
Lwmte
f51d499e68 Regenerate documentation 2024-11-03 11:39:16 +01:00
Joey Quint
840b32fb71
Expose moveable's target state to Lua API (#1436) 2024-11-02 14:44:27 +02:00
MontyTRC89
5f974935b4 Fixed black screen and stretched strings after changing display settings in game. 2024-10-29 06:01:03 +01:00
MontyTRC89
1695caa602 Interpolation disable by default on CreateItem();
Interpolation enabled in renderer always after the first frame;
2024-09-06 06:07:12 +02:00
MontyTRC89
d5ed115d50 Fixed wrong positions for transparent faces in moveable items 2024-05-16 11:49:58 +02:00
Sezz
715df20e1f Fix crosshair angle interpolation 2024-05-11 01:51:48 +10:00
Sezz
fa697cc26e Update lens flare Lua API 2024-05-10 22:20:04 +10:00
MontyTRC89
1bd1832037 WIP solution for variable monitor refresh rates 2024-05-09 05:42:36 +02:00
Sezz
2eb2ff877d Starfield and lens flare cleanup 2024-05-08 13:47:47 +10:00
MontyTRC89
1d30d43aac Added color to lens flare;
Added LUA api for starfield and lens flare;
2024-04-28 06:31:59 +02:00
Lwmte
d53b3cf03d Add timeout for Moveable:Enable(), delete output.xml on build, update ldoc version label 2024-04-19 23:39:58 +02:00
Stranger1992
3890f0d224 Update Lua API parameters correctly 2024-04-13 02:05:43 +01:00
Stranger1992
1a94a53c56 Update moveable Lua API 2024-04-13 01:58:58 +01:00
Lwmte
266f1b5b6a
Use real bounding box tests for GetCollidedObjects (#1343)
* Initial commit

* Use DX bboxes for item collision tests

* Update collide_item.cpp

* Update collide_item.cpp

* Update collide_item.cpp

* Code cleanup

* More code cleanup and optimizations

* Remove obsolete radius argument for GetCollidedObjects, mode code cleanups

* Fix ITEM_INVISIBLE typos

* Restore custom radius where needed

* Restore custom radius for polerope

* Function cleanup

* Simplify function

* Remove CollidedItems and CollidedMeshes globals

* Use custom radius for pickups and explosion

* Add changelog, shuffle function order

* Simplify

* fix syntax error

* Rename local variable

* Update collide_item.cpp

---------

Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Jakub <kubabilinski03@gmail.com>
2024-04-12 23:34:30 +10:00
Sezz
369a6dd539 Additionally replace NO_JOINT with NO_VALUE 2024-03-31 23:19:37 +11:00
Sezz
9a98ce04c1 Reorganise script VolumeObject.cpp according to standards 2024-03-31 02:02:48 +11:00
Lwmte
c8cbb73ed9 Expose static mesh hit points to lua API, cleanup script code a bit 2024-03-25 20:31:31 +01:00
Lwmte
6c9f644cd3 Added GetMeshCount script function 2024-03-24 13:38:55 +01:00
Lwmte
5383dc0056
Hub system (#1333)
* Work in progress

* Work in progress 2

* Work

* Fix Lara meshswaps appearing

* Update control.cpp

* Work

* Update lara_initialise.cpp

* Solve some problems with default weapon and holsters

* Implement actual resetHub script command, add comments and safeguards

* Update Changes.txt

* Update Changes.txt

* Additional refactors

* Add logging for hub system

* Add savegame verification, correct size writing method

* Transfer vehicles between levels

* Log vehicle transfer

* Update lara_initialise.cpp

* Move all vehicle transfer code to InitializeLaraLevelJump

* Also move health initialization to appropriate function

* Put all static fields into SaveGame class

* Formatting

* Fix pelvis pistol

* Partially fix hub vehicle loading

* WIP

* Introduce a hack for reinitializing vehicles on a hub

* Fix holsters again

* Update lara_initialise.cpp

* Better way to preserve crawl state on leveljump

* Update lara_initialise.cpp

* Update savegame.cpp

* Add IsOnHub

* Fix disappearing Lara

* Update lara_initialise.cpp

* Move inventory objects init to subfunction

* Fix issues with LevelVars reset and default soundtrack on hub restore

* Update lara_initialise.cpp

* Formatting

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-03-21 09:06:50 +00:00